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. ∃ g. ∃ l. EuclideanAnchoredExecution(a,b,g,l) ∧ Le(l,b)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete unchanged native tactic proof
All 34 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–2
02Use earlier factsL3–4
03Separate the logical casesL5–7
04Establish hidentifiedL8–14
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply euclidean execution terminal identified.
- L8
have hidentified : ∃ s. ∃ h. ∃ e. ContinuedFractionTrace(a,b,s,h,e,x1) ∧ EuclideanStateAt(h,e,0,x,0,0)Definitions: ContinuedFractionTraceEuclideanStateAtOriginal native command in the exact edition - L9
specialize euclidean_execution_terminal_identified a - L10
specialize euclidean_execution_terminal_identified b - L11
specialize euclidean_execution_terminal_identified x - L12
specialize euclidean_execution_terminal_identified x1 - L13
apply euclidean_execution_terminal_identified - L14
exact euclidean_gcd_execution_linear_bound_witness_witness_left
05Separate the logical casesL15–22
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L15
cases hidentified - L16
cases hidentified_witness - L17
cases hidentified_witness_witness - L18
cases hidentified_witness_witness_witness - L19
cases euclidean_gcd_execution_linear_bound_witness_witness_left - L20
cases euclidean_gcd_execution_linear_bound_witness_witness_left_witness - L21
cases euclidean_gcd_execution_linear_bound_witness_witness_left_witness_witness - L22
cases euclidean_gcd_execution_linear_bound_witness_witness_left_witness_witness_witness
06Construct an explicit witnessL23–24
07Separate the logical casesL25–25
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L25
split
08Construct an explicit witnessL26–28
09Separate the logical casesL29–29
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L29
split
10Use earlier factsL30–30
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L30
exact hidentified_witness_witness_witness_left
11Separate the logical casesL31–31
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L31
split
12Use earlier factsL32–34
Original defined command ledger · 34 lines
- 0001
intro a - 0002
intro b - 0003
specialize euclidean_gcd_execution_linear_bound a - 0004
specialize euclidean_gcd_execution_linear_bound b - 0005
cases euclidean_gcd_execution_linear_bound - 0006
cases euclidean_gcd_execution_linear_bound_witness - 0007
cases euclidean_gcd_execution_linear_bound_witness_witness - 0008
have hidentified : exists s h e. ((exists cf_gcd_egt_linear_trace. ((((exists ff_h_cf_egt_linear_trace_initial_state. ff_h_cf_egt_linear_trace_initial_state + S (((cf_gcd_egt_linear_trace) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_egt_linear_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_linear_trace_initial_state. h = ff_q_cf_egt_linear_trace_initial_state * S ((S (0)) * e) + (((cf_gcd_egt_linear_trace) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_egt_linear_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_linear_trace_terminal_state. ff_h_cf_egt_linear_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 (x1)) * e)) /\ exists ff_q_cf_egt_linear_trace_terminal_state. h = ff_q_cf_egt_linear_trace_terminal_state * S ((S (x1)) * 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_linear_trace. (exists ff_lt_cf_egt_linear_trace_index. ff_lt_cf_egt_linear_trace_index + S cf_index_egt_linear_trace = x1) -> exists cf_old_a_egt_linear_trace cf_old_b_egt_linear_trace cf_tail_egt_linear_trace cf_new_a_egt_linear_trace cf_new_b_egt_linear_trace cf_head_egt_linear_trace cf_quotient_egt_linear_trace. ((((exists ff_h_cf_egt_linear_trace_previous_state. ff_h_cf_egt_linear_trace_previous_state + S (((cf_old_a_egt_linear_trace) + (((cf_old_b_egt_linear_trace) + (cf_tail_egt_linear_trace)) * S ((cf_old_b_egt_linear_trace) + (cf_tail_egt_linear_trace)) + ((cf_tail_egt_linear_trace) + (cf_tail_egt_linear_trace)))) * S ((cf_old_a_egt_linear_trace) + (((cf_old_b_egt_linear_trace) + (cf_tail_egt_linear_trace)) * S ((cf_old_b_egt_linear_trace) + (cf_tail_egt_linear_trace)) + ((cf_tail_egt_linear_trace) + (cf_tail_egt_linear_trace)))) + ((((cf_old_b_egt_linear_trace) + (cf_tail_egt_linear_trace)) * S ((cf_old_b_egt_linear_trace) + (cf_tail_egt_linear_trace)) + ((cf_tail_egt_linear_trace) + (cf_tail_egt_linear_trace))) + (((cf_old_b_egt_linear_trace) + (cf_tail_egt_linear_trace)) * S ((cf_old_b_egt_linear_trace) + (cf_tail_egt_linear_trace)) + ((cf_tail_egt_linear_trace) + (cf_tail_egt_linear_trace))))) = S ((S (cf_index_egt_linear_trace)) * e)) /\ exists ff_q_cf_egt_linear_trace_previous_state. h = ff_q_cf_egt_linear_trace_previous_state * S ((S (cf_index_egt_linear_trace)) * e) + (((cf_old_a_egt_linear_trace) + (((cf_old_b_egt_linear_trace) + (cf_tail_egt_linear_trace)) * S ((cf_old_b_egt_linear_trace) + (cf_tail_egt_linear_trace)) + ((cf_tail_egt_linear_trace) + (cf_tail_egt_linear_trace)))) * S ((cf_old_a_egt_linear_trace) + (((cf_old_b_egt_linear_trace) + (cf_tail_egt_linear_trace)) * S ((cf_old_b_egt_linear_trace) + (cf_tail_egt_linear_trace)) + ((cf_tail_egt_linear_trace) + (cf_tail_egt_linear_trace)))) + ((((cf_old_b_egt_linear_trace) + (cf_tail_egt_linear_trace)) * S ((cf_old_b_egt_linear_trace) + (cf_tail_egt_linear_trace)) + ((cf_tail_egt_linear_trace) + (cf_tail_egt_linear_trace))) + (((cf_old_b_egt_linear_trace) + (cf_tail_egt_linear_trace)) * S ((cf_old_b_egt_linear_trace) + (cf_tail_egt_linear_trace)) + ((cf_tail_egt_linear_trace) + (cf_tail_egt_linear_trace))))))) /\ ((((exists ff_h_cf_egt_linear_trace_following_state. ff_h_cf_egt_linear_trace_following_state + S (((cf_new_a_egt_linear_trace) + (((cf_new_b_egt_linear_trace) + (cf_head_egt_linear_trace)) * S ((cf_new_b_egt_linear_trace) + (cf_head_egt_linear_trace)) + ((cf_head_egt_linear_trace) + (cf_head_egt_linear_trace)))) * S ((cf_new_a_egt_linear_trace) + (((cf_new_b_egt_linear_trace) + (cf_head_egt_linear_trace)) * S ((cf_new_b_egt_linear_trace) + (cf_head_egt_linear_trace)) + ((cf_head_egt_linear_trace) + (cf_head_egt_linear_trace)))) + ((((cf_new_b_egt_linear_trace) + (cf_head_egt_linear_trace)) * S ((cf_new_b_egt_linear_trace) + (cf_head_egt_linear_trace)) + ((cf_head_egt_linear_trace) + (cf_head_egt_linear_trace))) + (((cf_new_b_egt_linear_trace) + (cf_head_egt_linear_trace)) * S ((cf_new_b_egt_linear_trace) + (cf_head_egt_linear_trace)) + ((cf_head_egt_linear_trace) + (cf_head_egt_linear_trace))))) = S ((S (S cf_index_egt_linear_trace)) * e)) /\ exists ff_q_cf_egt_linear_trace_following_state. h = ff_q_cf_egt_linear_trace_following_state * S ((S (S cf_index_egt_linear_trace)) * e) + (((cf_new_a_egt_linear_trace) + (((cf_new_b_egt_linear_trace) + (cf_head_egt_linear_trace)) * S ((cf_new_b_egt_linear_trace) + (cf_head_egt_linear_trace)) + ((cf_head_egt_linear_trace) + (cf_head_egt_linear_trace)))) * S ((cf_new_a_egt_linear_trace) + (((cf_new_b_egt_linear_trace) + (cf_head_egt_linear_trace)) * S ((cf_new_b_egt_linear_trace) + (cf_head_egt_linear_trace)) + ((cf_head_egt_linear_trace) + (cf_head_egt_linear_trace)))) + ((((cf_new_b_egt_linear_trace) + (cf_head_egt_linear_trace)) * S ((cf_new_b_egt_linear_trace) + (cf_head_egt_linear_trace)) + ((cf_head_egt_linear_trace) + (cf_head_egt_linear_trace))) + (((cf_new_b_egt_linear_trace) + (cf_head_egt_linear_trace)) * S ((cf_new_b_egt_linear_trace) + (cf_head_egt_linear_trace)) + ((cf_head_egt_linear_trace) + (cf_head_egt_linear_trace))))))) /\ (cf_new_b_egt_linear_trace = cf_old_a_egt_linear_trace /\ (cf_new_a_egt_linear_trace = cf_new_b_egt_linear_trace * cf_quotient_egt_linear_trace + cf_old_b_egt_linear_trace /\ ((exists ff_lt_cf_egt_linear_trace_remainder. ff_lt_cf_egt_linear_trace_remainder + S cf_old_b_egt_linear_trace = cf_new_b_egt_linear_trace) /\ (cf_head_egt_linear_trace = S ((cf_quotient_egt_linear_trace + cf_tail_egt_linear_trace) * S (cf_quotient_egt_linear_trace + cf_tail_egt_linear_trace) + (cf_tail_egt_linear_trace + cf_tail_egt_linear_trace))))))))))) /\ (((exists ff_h_cf_egt_linear_state_state. ff_h_cf_egt_linear_state_state + S (((x) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((x) + (((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_linear_state_state. h = ff_q_cf_egt_linear_state_state * S ((S (0)) * e) + (((x) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((x) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) + ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))))))) - 0009
specialize euclidean_execution_terminal_identified a - 0010
specialize euclidean_execution_terminal_identified b - 0011
specialize euclidean_execution_terminal_identified x - 0012
specialize euclidean_execution_terminal_identified x1 - 0013
apply euclidean_execution_terminal_identified - 0014
exact euclidean_gcd_execution_linear_bound_witness_witness_left - 0015
cases hidentified - 0016
cases hidentified_witness - 0017
cases hidentified_witness_witness - 0018
cases hidentified_witness_witness_witness - 0019
cases euclidean_gcd_execution_linear_bound_witness_witness_left - 0020
cases euclidean_gcd_execution_linear_bound_witness_witness_left_witness - 0021
cases euclidean_gcd_execution_linear_bound_witness_witness_left_witness_witness - 0022
cases euclidean_gcd_execution_linear_bound_witness_witness_left_witness_witness_witness - 0023
exists x - 0024
exists x1 - 0025
split - 0026
exists x2 - 0027
exists x3 - 0028
exists x4 - 0029
split - 0030
exact hidentified_witness_witness_witness_left - 0031
split - 0032
exact hidentified_witness_witness_witness_right - 0033
exact euclidean_gcd_execution_linear_bound_witness_witness_left_witness_witness_witness_right - 0034
exact euclidean_gcd_execution_linear_bound_witness_witness_right