Exact expanded first-order arithmetic statement
forall n a b. ((((exists mv_even_half_successor_sourceeven. (n) = 2 * mv_even_half_successor_sourceeven) /\ ((a) = 2))) \/ (((exists mv_odd_half_successor_sourceodd. (n) = 2 * mv_odd_half_successor_sourceodd + 1) /\ ((a) = 1)))) -> ((((exists mv_even_half_successor_targeteven. (S n) = 2 * mv_even_half_successor_targeteven) /\ ((b) = 2))) \/ (((exists mv_odd_half_successor_targetodd. (S n) = 2 * mv_odd_half_successor_targetodd + 1) /\ ((b) = 1)))) -> (exists mps_positive_successor_negation mps_negative_successor_negation. (((((a) = 2 * (mps_positive_successor_negation) /\ (mps_negative_successor_negation) = 0) \/ exists ge_signed_half_successor_negationsource. (((a) = 2 * ge_signed_half_successor_negationsource + 1 /\ (mps_positive_successor_negation) = 0) /\ (mps_negative_successor_negation) = S ge_signed_half_successor_negationsource))) /\ ((((b) = 2 * (mps_negative_successor_negation) /\ (mps_positive_successor_negation) = 0) \/ exists ge_signed_half_successor_negationtarget. (((b) = 2 * ge_signed_half_successor_negationtarget + 1 /\ (mps_negative_successor_negation) = 0) /\ (mps_positive_successor_negation) = S ge_signed_half_successor_negationtarget)))))Constructive proof overview
Generated structural guide
The alternating unit at the successor exponent is the canonical signed negation, proved by the two constructive parity cases.
The unchanged tactic script uses 5 declared prerequisites and contains 49 exact native proof lines.
Public research checkpoint: original HA and independently compiled Lean verified; not Alpha-enrolled, no Alpha checked-use authority; not Stable
Proof neighborhood
Direct dependencies
successor_odd_of_even Alpha theorem; checked-use authorized successor_even_of_odd Alpha theorem; checked-use authorized MV0002 alternating_signed_unit_functional MV0012 mobius_positive_unit_negates_to_negative_unit signed_negate_symmetric Alpha theorem; checked-use authorizedDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. The literal dependency-closed bundle is checked by original HA and the independently compiled Lean verifier. Public delivery grants no Alpha checked-use authority or Stable membership.
Read the argument
Proof checkpoints
This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.
Named ingredients (2)
01Fix variables and assumptionsL1–5
02Separate the logical casesL6–7
03Establish hsL8–8
Establish this local claim before using it. It is not an additional assumption.
- L8
have hs : (((exists mv_even_half_successor_oddeven. (S n) = 2 * mv_even_half_successor_oddeven) /\ ((1) = 2))) \/ (((exists mv_odd_half_successor_oddodd. (S n) = 2 * mv_odd_half_successor_oddodd + 1) /\ ((1) = 1)))
04Separate the logical casesL9–10
05Use earlier factsL11–13
06Calculate and transport equalitiesL14–14
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L14
refl
07Establish heqL15–24
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply alternating signed unit functional.
- L15
have heq : b = 1 - L16
specialize alternating_signed_unit_functional (S n) - L17
specialize alternating_signed_unit_functional (b) - L18
specialize alternating_signed_unit_functional (1) - L19
apply alternating_signed_unit_functional - L20
exact hb - L21
exact hs - L22
rewrite ha_left_right - L23
rewrite ha_left_right - L24
rewrite heq
08Calculate and transport equalitiesL25–25
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L25
rewrite heq
09Use earlier factsL26–26
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L26
apply mobius_positive_unit_negates_to_negative_unit
10Separate the logical casesL27–27
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L27
cases ha_right
11Establish hsL28–28
Establish this local claim before using it. It is not an additional assumption.
- L28
have hs : (((exists mv_even_half_successor_eveneven. (S n) = 2 * mv_even_half_successor_eveneven) /\ ((2) = 2))) \/ (((exists mv_odd_half_successor_evenodd. (S n) = 2 * mv_odd_half_successor_evenodd + 1) /\ ((2) = 1)))
12Separate the logical casesL29–30
13Use earlier factsL31–33
14Calculate and transport equalitiesL34–34
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L34
refl
15Establish heqL35–44
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply alternating signed unit functional.
- L35
have heq : b = 2 - L36
specialize alternating_signed_unit_functional (S n) - L37
specialize alternating_signed_unit_functional (b) - L38
specialize alternating_signed_unit_functional (2) - L39
apply alternating_signed_unit_functional - L40
exact hb - L41
exact hs - L42
rewrite ha_right_right - L43
rewrite ha_right_right - L44
rewrite heq
16Calculate and transport equalitiesL45–45
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L45
rewrite heq
Original exact command ledger · 49 lines
- 0001
intro n - 0002
intro a - 0003
intro b - 0004
intro ha - 0005
intro hb - 0006
cases ha - 0007
cases ha_left - 0008
have hs : (((exists mv_even_half_successor_oddeven. (S n) = 2 * mv_even_half_successor_oddeven) /\ ((1) = 2))) \/ (((exists mv_odd_half_successor_oddodd. (S n) = 2 * mv_odd_half_successor_oddodd + 1) /\ ((1) = 1))) - 0009
right - 0010
split - 0011
specialize successor_odd_of_even (n) - 0012
apply successor_odd_of_even - 0013
exact ha_left_left - 0014
refl - 0015
have heq : b = 1 - 0016
specialize alternating_signed_unit_functional (S n) - 0017
specialize alternating_signed_unit_functional (b) - 0018
specialize alternating_signed_unit_functional (1) - 0019
apply alternating_signed_unit_functional - 0020
exact hb - 0021
exact hs - 0022
rewrite ha_left_right - 0023
rewrite ha_left_right - 0024
rewrite heq - 0025
rewrite heq - 0026
apply mobius_positive_unit_negates_to_negative_unit - 0027
cases ha_right - 0028
have hs : (((exists mv_even_half_successor_eveneven. (S n) = 2 * mv_even_half_successor_eveneven) /\ ((2) = 2))) \/ (((exists mv_odd_half_successor_evenodd. (S n) = 2 * mv_odd_half_successor_evenodd + 1) /\ ((2) = 1))) - 0029
left - 0030
split - 0031
specialize successor_even_of_odd (n) - 0032
apply successor_even_of_odd - 0033
exact ha_right_left - 0034
refl - 0035
have heq : b = 2 - 0036
specialize alternating_signed_unit_functional (S n) - 0037
specialize alternating_signed_unit_functional (b) - 0038
specialize alternating_signed_unit_functional (2) - 0039
apply alternating_signed_unit_functional - 0040
exact hb - 0041
exact hs - 0042
rewrite ha_right_right - 0043
rewrite ha_right_right - 0044
rewrite heq - 0045
rewrite heq - 0046
specialize signed_negate_symmetric (2) - 0047
specialize signed_negate_symmetric (1) - 0048
apply signed_negate_symmetric - 0049
apply mobius_positive_unit_negates_to_negative_unit