Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved. Exact original first-admission records.
Exact expanded first-order arithmetic statement
forall a b s h e. (exists cf_gcd_old_zero. ((((exists ff_h_cf_old_zero_initial_state. ff_h_cf_old_zero_initial_state + S (((cf_gcd_old_zero) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_old_zero) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) + ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0))))) = S ((S (0)) * e)) /\ exists ff_q_cf_old_zero_initial_state. h = ff_q_cf_old_zero_initial_state * S ((S (0)) * e) + (((cf_gcd_old_zero) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_old_zero) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) + ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0))))))) /\ ((((exists ff_h_cf_old_zero_terminal_state. ff_h_cf_old_zero_terminal_state + S (((a) + (((b) + (s)) * S ((b) + (s)) + ((s) + (s)))) * S ((a) + (((b) + (s)) * S ((b) + (s)) + ((s) + (s)))) + ((((b) + (s)) * S ((b) + (s)) + ((s) + (s))) + (((b) + (s)) * S ((b) + (s)) + ((s) + (s))))) = S ((S (0)) * e)) /\ exists ff_q_cf_old_zero_terminal_state. h = ff_q_cf_old_zero_terminal_state * S ((S (0)) * e) + (((a) + (((b) + (s)) * S ((b) + (s)) + ((s) + (s)))) * S ((a) + (((b) + (s)) * S ((b) + (s)) + ((s) + (s)))) + ((((b) + (s)) * S ((b) + (s)) + ((s) + (s))) + (((b) + (s)) * S ((b) + (s)) + ((s) + (s))))))) /\ forall cf_index_old_zero. (exists ff_lt_cf_old_zero_index. ff_lt_cf_old_zero_index + S cf_index_old_zero = 0) -> exists cf_old_a_old_zero cf_old_b_old_zero cf_tail_old_zero cf_new_a_old_zero cf_new_b_old_zero cf_head_old_zero cf_quotient_old_zero. ((((exists ff_h_cf_old_zero_previous_state. ff_h_cf_old_zero_previous_state + S (((cf_old_a_old_zero) + (((cf_old_b_old_zero) + (cf_tail_old_zero)) * S ((cf_old_b_old_zero) + (cf_tail_old_zero)) + ((cf_tail_old_zero) + (cf_tail_old_zero)))) * S ((cf_old_a_old_zero) + (((cf_old_b_old_zero) + (cf_tail_old_zero)) * S ((cf_old_b_old_zero) + (cf_tail_old_zero)) + ((cf_tail_old_zero) + (cf_tail_old_zero)))) + ((((cf_old_b_old_zero) + (cf_tail_old_zero)) * S ((cf_old_b_old_zero) + (cf_tail_old_zero)) + ((cf_tail_old_zero) + (cf_tail_old_zero))) + (((cf_old_b_old_zero) + (cf_tail_old_zero)) * S ((cf_old_b_old_zero) + (cf_tail_old_zero)) + ((cf_tail_old_zero) + (cf_tail_old_zero))))) = S ((S (cf_index_old_zero)) * e)) /\ exists ff_q_cf_old_zero_previous_state. h = ff_q_cf_old_zero_previous_state * S ((S (cf_index_old_zero)) * e) + (((cf_old_a_old_zero) + (((cf_old_b_old_zero) + (cf_tail_old_zero)) * S ((cf_old_b_old_zero) + (cf_tail_old_zero)) + ((cf_tail_old_zero) + (cf_tail_old_zero)))) * S ((cf_old_a_old_zero) + (((cf_old_b_old_zero) + (cf_tail_old_zero)) * S ((cf_old_b_old_zero) + (cf_tail_old_zero)) + ((cf_tail_old_zero) + (cf_tail_old_zero)))) + ((((cf_old_b_old_zero) + (cf_tail_old_zero)) * S ((cf_old_b_old_zero) + (cf_tail_old_zero)) + ((cf_tail_old_zero) + (cf_tail_old_zero))) + (((cf_old_b_old_zero) + (cf_tail_old_zero)) * S ((cf_old_b_old_zero) + (cf_tail_old_zero)) + ((cf_tail_old_zero) + (cf_tail_old_zero))))))) /\ ((((exists ff_h_cf_old_zero_following_state. ff_h_cf_old_zero_following_state + S (((cf_new_a_old_zero) + (((cf_new_b_old_zero) + (cf_head_old_zero)) * S ((cf_new_b_old_zero) + (cf_head_old_zero)) + ((cf_head_old_zero) + (cf_head_old_zero)))) * S ((cf_new_a_old_zero) + (((cf_new_b_old_zero) + (cf_head_old_zero)) * S ((cf_new_b_old_zero) + (cf_head_old_zero)) + ((cf_head_old_zero) + (cf_head_old_zero)))) + ((((cf_new_b_old_zero) + (cf_head_old_zero)) * S ((cf_new_b_old_zero) + (cf_head_old_zero)) + ((cf_head_old_zero) + (cf_head_old_zero))) + (((cf_new_b_old_zero) + (cf_head_old_zero)) * S ((cf_new_b_old_zero) + (cf_head_old_zero)) + ((cf_head_old_zero) + (cf_head_old_zero))))) = S ((S (S cf_index_old_zero)) * e)) /\ exists ff_q_cf_old_zero_following_state. h = ff_q_cf_old_zero_following_state * S ((S (S cf_index_old_zero)) * e) + (((cf_new_a_old_zero) + (((cf_new_b_old_zero) + (cf_head_old_zero)) * S ((cf_new_b_old_zero) + (cf_head_old_zero)) + ((cf_head_old_zero) + (cf_head_old_zero)))) * S ((cf_new_a_old_zero) + (((cf_new_b_old_zero) + (cf_head_old_zero)) * S ((cf_new_b_old_zero) + (cf_head_old_zero)) + ((cf_head_old_zero) + (cf_head_old_zero)))) + ((((cf_new_b_old_zero) + (cf_head_old_zero)) * S ((cf_new_b_old_zero) + (cf_head_old_zero)) + ((cf_head_old_zero) + (cf_head_old_zero))) + (((cf_new_b_old_zero) + (cf_head_old_zero)) * S ((cf_new_b_old_zero) + (cf_head_old_zero)) + ((cf_head_old_zero) + (cf_head_old_zero))))))) /\ (cf_new_b_old_zero = cf_old_a_old_zero /\ (cf_new_a_old_zero = cf_new_b_old_zero * cf_quotient_old_zero + cf_old_b_old_zero /\ ((exists ff_lt_cf_old_zero_remainder. ff_lt_cf_old_zero_remainder + S cf_old_b_old_zero = cf_new_b_old_zero) /\ (cf_head_old_zero = S ((cf_quotient_old_zero + cf_tail_old_zero) * S (cf_quotient_old_zero + cf_tail_old_zero) + (cf_tail_old_zero + cf_tail_old_zero))))))))))) -> b = 0 /\ s = 0Constructive proof overview
Generated structural guide
An empty actual Euclidean history has divisor zero and the empty quotient list, not a spurious convergent.
The unchanged tactic script uses 1 declared prerequisite and contains 24 exact native proof lines.
Alpha v34 checked-use · first admitted v29 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
Direct dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply 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 (1)
01Fix variables and assumptionsL1–6
02Separate the logical casesL7–9
03Establish heqL10–19
Establish this local claim before using it. It is not an additional assumption.
- L10
have heq : ((a = x) /\ ((b = 0) /\ (s = 0))) - L11
specialize cf_convergent_old_history_state_unique (h) - L12
specialize cf_convergent_old_history_state_unique (e) - L13
specialize cf_convergent_old_history_state_unique (0) - L14
specialize cf_convergent_old_history_state_unique (a) - L15
specialize cf_convergent_old_history_state_unique (b) - L16
specialize cf_convergent_old_history_state_unique (s) - L17
specialize cf_convergent_old_history_state_unique (x) - L18
specialize cf_convergent_old_history_state_unique (0) - L19
specialize cf_convergent_old_history_state_unique (0)
04Use earlier factsL20–22
05Separate the logical casesL23–23
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L23
cases heq
06Use earlier factsL24–24
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L24
exact heq_right
Original exact command ledger · 24 lines
- 0001
intro a - 0002
intro b - 0003
intro s - 0004
intro h - 0005
intro e - 0006
intro ht - 0007
cases ht - 0008
cases ht_witness - 0009
cases ht_witness_right - 0010
have heq : ((a = x) /\ ((b = 0) /\ (s = 0))) - 0011
specialize cf_convergent_old_history_state_unique (h) - 0012
specialize cf_convergent_old_history_state_unique (e) - 0013
specialize cf_convergent_old_history_state_unique (0) - 0014
specialize cf_convergent_old_history_state_unique (a) - 0015
specialize cf_convergent_old_history_state_unique (b) - 0016
specialize cf_convergent_old_history_state_unique (s) - 0017
specialize cf_convergent_old_history_state_unique (x) - 0018
specialize cf_convergent_old_history_state_unique (0) - 0019
specialize cf_convergent_old_history_state_unique (0) - 0020
apply cf_convergent_old_history_state_unique - 0021
exact ht_witness_right_left - 0022
exact ht_witness_left - 0023
cases heq - 0024
exact heq_right