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.
G101 was OPEN at this family's Alpha-v22 first admission: its complete anchored trace and actual terminal gcd were proved but its logarithmic bound was not. G101 is now CLOSED in Alpha v23, including the exact first-order bound steps≤2*BitLen(b)+1.
Exact theorem in conservative defined notation
∀ a. ∀ b. ∀ s. ∀ h. ∀ e. ∀ l. ContinuedFractionTrace(a,b,s,h,e,l) → ∃ x. EuclideanStateAt(h,e,0,x,0,0) ∧ IsGCD(x,a,b)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete unchanged native tactic proof
All 25 lines are the exact independently kernel-checked original script.
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–7
02Establish hcopyL8–9
Establish this local claim before using it. It is not an additional assumption.
- L8
have hcopy : ContinuedFractionTrace(a,b,s,h,e,l)Definitions: ContinuedFractionTraceOriginal native command in the exact edition - L9
exact htrace
03Separate the logical casesL10–12
04Construct an explicit witnessL13–13
Supply the displayed value, then prove that it has the required property.
- L13
exists x
05Separate the logical casesL14–14
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L14
split
06Use earlier factsL15–24
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L15
exact htrace_witness_left - L16
specialize euclidean_trace_initial_state_is_gcd a - L17
specialize euclidean_trace_initial_state_is_gcd b - L18
specialize euclidean_trace_initial_state_is_gcd s - L19
specialize euclidean_trace_initial_state_is_gcd h - L20
specialize euclidean_trace_initial_state_is_gcd e - L21
specialize euclidean_trace_initial_state_is_gcd l - L22
specialize euclidean_trace_initial_state_is_gcd x - L23
apply euclidean_trace_initial_state_is_gcd - L24
exact hcopy
07Use earlier factsL25–25
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L25
exact htrace_witness_left
Original defined command ledger · 25 lines
- 0001
intro a - 0002
intro b - 0003
intro s - 0004
intro h - 0005
intro e - 0006
intro l - 0007
intro htrace - 0008
have hcopy : exists cf_gcd_egt_trace. ((((exists ff_h_cf_egt_trace_initial_state. ff_h_cf_egt_trace_initial_state + S (((cf_gcd_egt_trace) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_egt_trace) + (((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_egt_trace_initial_state. h = ff_q_cf_egt_trace_initial_state * S ((S (0)) * e) + (((cf_gcd_egt_trace) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_egt_trace) + (((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_egt_trace_terminal_state. ff_h_cf_egt_trace_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 (l)) * e)) /\ exists ff_q_cf_egt_trace_terminal_state. h = ff_q_cf_egt_trace_terminal_state * S ((S (l)) * 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_egt_trace. (exists ff_lt_cf_egt_trace_index. ff_lt_cf_egt_trace_index + S cf_index_egt_trace = l) -> exists cf_old_a_egt_trace cf_old_b_egt_trace cf_tail_egt_trace cf_new_a_egt_trace cf_new_b_egt_trace cf_head_egt_trace cf_quotient_egt_trace. ((((exists ff_h_cf_egt_trace_previous_state. ff_h_cf_egt_trace_previous_state + S (((cf_old_a_egt_trace) + (((cf_old_b_egt_trace) + (cf_tail_egt_trace)) * S ((cf_old_b_egt_trace) + (cf_tail_egt_trace)) + ((cf_tail_egt_trace) + (cf_tail_egt_trace)))) * S ((cf_old_a_egt_trace) + (((cf_old_b_egt_trace) + (cf_tail_egt_trace)) * S ((cf_old_b_egt_trace) + (cf_tail_egt_trace)) + ((cf_tail_egt_trace) + (cf_tail_egt_trace)))) + ((((cf_old_b_egt_trace) + (cf_tail_egt_trace)) * S ((cf_old_b_egt_trace) + (cf_tail_egt_trace)) + ((cf_tail_egt_trace) + (cf_tail_egt_trace))) + (((cf_old_b_egt_trace) + (cf_tail_egt_trace)) * S ((cf_old_b_egt_trace) + (cf_tail_egt_trace)) + ((cf_tail_egt_trace) + (cf_tail_egt_trace))))) = S ((S (cf_index_egt_trace)) * e)) /\ exists ff_q_cf_egt_trace_previous_state. h = ff_q_cf_egt_trace_previous_state * S ((S (cf_index_egt_trace)) * e) + (((cf_old_a_egt_trace) + (((cf_old_b_egt_trace) + (cf_tail_egt_trace)) * S ((cf_old_b_egt_trace) + (cf_tail_egt_trace)) + ((cf_tail_egt_trace) + (cf_tail_egt_trace)))) * S ((cf_old_a_egt_trace) + (((cf_old_b_egt_trace) + (cf_tail_egt_trace)) * S ((cf_old_b_egt_trace) + (cf_tail_egt_trace)) + ((cf_tail_egt_trace) + (cf_tail_egt_trace)))) + ((((cf_old_b_egt_trace) + (cf_tail_egt_trace)) * S ((cf_old_b_egt_trace) + (cf_tail_egt_trace)) + ((cf_tail_egt_trace) + (cf_tail_egt_trace))) + (((cf_old_b_egt_trace) + (cf_tail_egt_trace)) * S ((cf_old_b_egt_trace) + (cf_tail_egt_trace)) + ((cf_tail_egt_trace) + (cf_tail_egt_trace))))))) /\ ((((exists ff_h_cf_egt_trace_following_state. ff_h_cf_egt_trace_following_state + S (((cf_new_a_egt_trace) + (((cf_new_b_egt_trace) + (cf_head_egt_trace)) * S ((cf_new_b_egt_trace) + (cf_head_egt_trace)) + ((cf_head_egt_trace) + (cf_head_egt_trace)))) * S ((cf_new_a_egt_trace) + (((cf_new_b_egt_trace) + (cf_head_egt_trace)) * S ((cf_new_b_egt_trace) + (cf_head_egt_trace)) + ((cf_head_egt_trace) + (cf_head_egt_trace)))) + ((((cf_new_b_egt_trace) + (cf_head_egt_trace)) * S ((cf_new_b_egt_trace) + (cf_head_egt_trace)) + ((cf_head_egt_trace) + (cf_head_egt_trace))) + (((cf_new_b_egt_trace) + (cf_head_egt_trace)) * S ((cf_new_b_egt_trace) + (cf_head_egt_trace)) + ((cf_head_egt_trace) + (cf_head_egt_trace))))) = S ((S (S cf_index_egt_trace)) * e)) /\ exists ff_q_cf_egt_trace_following_state. h = ff_q_cf_egt_trace_following_state * S ((S (S cf_index_egt_trace)) * e) + (((cf_new_a_egt_trace) + (((cf_new_b_egt_trace) + (cf_head_egt_trace)) * S ((cf_new_b_egt_trace) + (cf_head_egt_trace)) + ((cf_head_egt_trace) + (cf_head_egt_trace)))) * S ((cf_new_a_egt_trace) + (((cf_new_b_egt_trace) + (cf_head_egt_trace)) * S ((cf_new_b_egt_trace) + (cf_head_egt_trace)) + ((cf_head_egt_trace) + (cf_head_egt_trace)))) + ((((cf_new_b_egt_trace) + (cf_head_egt_trace)) * S ((cf_new_b_egt_trace) + (cf_head_egt_trace)) + ((cf_head_egt_trace) + (cf_head_egt_trace))) + (((cf_new_b_egt_trace) + (cf_head_egt_trace)) * S ((cf_new_b_egt_trace) + (cf_head_egt_trace)) + ((cf_head_egt_trace) + (cf_head_egt_trace))))))) /\ (cf_new_b_egt_trace = cf_old_a_egt_trace /\ (cf_new_a_egt_trace = cf_new_b_egt_trace * cf_quotient_egt_trace + cf_old_b_egt_trace /\ ((exists ff_lt_cf_egt_trace_remainder. ff_lt_cf_egt_trace_remainder + S cf_old_b_egt_trace = cf_new_b_egt_trace) /\ (cf_head_egt_trace = S ((cf_quotient_egt_trace + cf_tail_egt_trace) * S (cf_quotient_egt_trace + cf_tail_egt_trace) + (cf_tail_egt_trace + cf_tail_egt_trace)))))))))) - 0009
exact htrace - 0010
cases htrace - 0011
cases htrace_witness - 0012
cases htrace_witness_right - 0013
exists x - 0014
split - 0015
exact htrace_witness_left - 0016
specialize euclidean_trace_initial_state_is_gcd a - 0017
specialize euclidean_trace_initial_state_is_gcd b - 0018
specialize euclidean_trace_initial_state_is_gcd s - 0019
specialize euclidean_trace_initial_state_is_gcd h - 0020
specialize euclidean_trace_initial_state_is_gcd e - 0021
specialize euclidean_trace_initial_state_is_gcd l - 0022
specialize euclidean_trace_initial_state_is_gcd x - 0023
apply euclidean_trace_initial_state_is_gcd - 0024
exact hcopy - 0025
exact htrace_witness_left