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. ∀ g. ContinuedFractionTrace(a,b,s,h,e,l) → EuclideanStateAt(h,e,0,g,0,0) → IsGCD(g,a,b)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete unchanged native tactic proof
All 52 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 (2)
01Fix variables and assumptionsL1–9
02Establish hinvariantL10–17
Establish this local claim before using it. It is not an additional assumption.
- L10
have hinvariant : ∃ egt_left_terminal. ∃ egt_right_terminal. ∃ egt_list_terminal. EuclideanStateAt(h,e,l,egt_left_terminal,egt_right_terminal,egt_list_terminal) ∧ IsGCD(g,egt_left_terminal,egt_right_terminal)Definitions: EuclideanStateAtIsGCDOriginal native command in the exact edition - L11
specialize euclidean_trace_prefix_gcd_invariant a - L12
specialize euclidean_trace_prefix_gcd_invariant b - L13
specialize euclidean_trace_prefix_gcd_invariant s - L14
specialize euclidean_trace_prefix_gcd_invariant h - L15
specialize euclidean_trace_prefix_gcd_invariant e - L16
specialize euclidean_trace_prefix_gcd_invariant l - L17
specialize euclidean_trace_prefix_gcd_invariant g
03Establish hallL18–25
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply euclidean trace prefix gcd invariant.
- L18
have hall : ∀ i. Le(i,l) → ∃ x. ∃ y. ∃ z. EuclideanStateAt(h,e,i,x,y,z) ∧ IsGCD(g,x,y)Definitions: EuclideanStateAtLeIsGCDOriginal native command in the exact edition - L19
apply euclidean_trace_prefix_gcd_invariant - L20
exact htrace - L21
exact hstart - L22
specialize hall l - L23
apply hall - L24
specialize le_refl l - L25
exact le_refl
04Separate the logical casesL26–32
05Establish halignL33–42
Establish this local claim before using it. It is not an additional assumption.
- L33
have halign : x = a /\ (x1 = b /\ x2 = s) - L34
specialize euclidean_beta_state_functional h - L35
specialize euclidean_beta_state_functional e - L36
specialize euclidean_beta_state_functional l - L37
specialize euclidean_beta_state_functional x - L38
specialize euclidean_beta_state_functional x1 - L39
specialize euclidean_beta_state_functional x2 - L40
specialize euclidean_beta_state_functional a - L41
specialize euclidean_beta_state_functional b - L42
specialize euclidean_beta_state_functional s
06Use earlier factsL43–45
07Separate the logical casesL46–47
08Calculate and transport equalitiesL48–51
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
09Use earlier factsL52–52
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L52
exact hinvariant_witness_witness_witness_right
Original defined command ledger · 52 lines
- 0001
intro a - 0002
intro b - 0003
intro s - 0004
intro h - 0005
intro e - 0006
intro l - 0007
intro g - 0008
intro htrace - 0009
intro hstart - 0010
have hinvariant : exists egt_left_terminal egt_right_terminal egt_list_terminal. ((((exists ff_h_cf_egt_terminal_state_state. ff_h_cf_egt_terminal_state_state + S (((egt_left_terminal) + (((egt_right_terminal) + (egt_list_terminal)) * S ((egt_right_terminal) + (egt_list_terminal)) + ((egt_list_terminal) + (egt_list_terminal)))) * S ((egt_left_terminal) + (((egt_right_terminal) + (egt_list_terminal)) * S ((egt_right_terminal) + (egt_list_terminal)) + ((egt_list_terminal) + (egt_list_terminal)))) + ((((egt_right_terminal) + (egt_list_terminal)) * S ((egt_right_terminal) + (egt_list_terminal)) + ((egt_list_terminal) + (egt_list_terminal))) + (((egt_right_terminal) + (egt_list_terminal)) * S ((egt_right_terminal) + (egt_list_terminal)) + ((egt_list_terminal) + (egt_list_terminal))))) = S ((S (l)) * e)) /\ exists ff_q_cf_egt_terminal_state_state. h = ff_q_cf_egt_terminal_state_state * S ((S (l)) * e) + (((egt_left_terminal) + (((egt_right_terminal) + (egt_list_terminal)) * S ((egt_right_terminal) + (egt_list_terminal)) + ((egt_list_terminal) + (egt_list_terminal)))) * S ((egt_left_terminal) + (((egt_right_terminal) + (egt_list_terminal)) * S ((egt_right_terminal) + (egt_list_terminal)) + ((egt_list_terminal) + (egt_list_terminal)))) + ((((egt_right_terminal) + (egt_list_terminal)) * S ((egt_right_terminal) + (egt_list_terminal)) + ((egt_list_terminal) + (egt_list_terminal))) + (((egt_right_terminal) + (egt_list_terminal)) * S ((egt_right_terminal) + (egt_list_terminal)) + ((egt_list_terminal) + (egt_list_terminal))))))) /\ ((((exists ec_gcd_left_egt_terminal_gcd. egt_left_terminal = g * ec_gcd_left_egt_terminal_gcd) /\ (exists ec_gcd_right_egt_terminal_gcd. egt_right_terminal = g * ec_gcd_right_egt_terminal_gcd)) /\ forall ec_gcd_common_egt_terminal_gcd. (exists ec_gcd_common_left_egt_terminal_gcd. egt_left_terminal = ec_gcd_common_egt_terminal_gcd * ec_gcd_common_left_egt_terminal_gcd) -> (exists ec_gcd_common_right_egt_terminal_gcd. egt_right_terminal = ec_gcd_common_egt_terminal_gcd * ec_gcd_common_right_egt_terminal_gcd) -> exists ec_gcd_greatest_egt_terminal_gcd. g = ec_gcd_common_egt_terminal_gcd * ec_gcd_greatest_egt_terminal_gcd))) - 0011
specialize euclidean_trace_prefix_gcd_invariant a - 0012
specialize euclidean_trace_prefix_gcd_invariant b - 0013
specialize euclidean_trace_prefix_gcd_invariant s - 0014
specialize euclidean_trace_prefix_gcd_invariant h - 0015
specialize euclidean_trace_prefix_gcd_invariant e - 0016
specialize euclidean_trace_prefix_gcd_invariant l - 0017
specialize euclidean_trace_prefix_gcd_invariant g - 0018
have hall : forall i. (exists gap. gap + i = l) -> (exists egt_left_terminal_all egt_right_terminal_all egt_list_terminal_all. ((((exists ff_h_cf_egt_terminal_all_state_state. ff_h_cf_egt_terminal_all_state_state + S (((egt_left_terminal_all) + (((egt_right_terminal_all) + (egt_list_terminal_all)) * S ((egt_right_terminal_all) + (egt_list_terminal_all)) + ((egt_list_terminal_all) + (egt_list_terminal_all)))) * S ((egt_left_terminal_all) + (((egt_right_terminal_all) + (egt_list_terminal_all)) * S ((egt_right_terminal_all) + (egt_list_terminal_all)) + ((egt_list_terminal_all) + (egt_list_terminal_all)))) + ((((egt_right_terminal_all) + (egt_list_terminal_all)) * S ((egt_right_terminal_all) + (egt_list_terminal_all)) + ((egt_list_terminal_all) + (egt_list_terminal_all))) + (((egt_right_terminal_all) + (egt_list_terminal_all)) * S ((egt_right_terminal_all) + (egt_list_terminal_all)) + ((egt_list_terminal_all) + (egt_list_terminal_all))))) = S ((S (i)) * e)) /\ exists ff_q_cf_egt_terminal_all_state_state. h = ff_q_cf_egt_terminal_all_state_state * S ((S (i)) * e) + (((egt_left_terminal_all) + (((egt_right_terminal_all) + (egt_list_terminal_all)) * S ((egt_right_terminal_all) + (egt_list_terminal_all)) + ((egt_list_terminal_all) + (egt_list_terminal_all)))) * S ((egt_left_terminal_all) + (((egt_right_terminal_all) + (egt_list_terminal_all)) * S ((egt_right_terminal_all) + (egt_list_terminal_all)) + ((egt_list_terminal_all) + (egt_list_terminal_all)))) + ((((egt_right_terminal_all) + (egt_list_terminal_all)) * S ((egt_right_terminal_all) + (egt_list_terminal_all)) + ((egt_list_terminal_all) + (egt_list_terminal_all))) + (((egt_right_terminal_all) + (egt_list_terminal_all)) * S ((egt_right_terminal_all) + (egt_list_terminal_all)) + ((egt_list_terminal_all) + (egt_list_terminal_all))))))) /\ ((((exists ec_gcd_left_egt_terminal_all_gcd. egt_left_terminal_all = g * ec_gcd_left_egt_terminal_all_gcd) /\ (exists ec_gcd_right_egt_terminal_all_gcd. egt_right_terminal_all = g * ec_gcd_right_egt_terminal_all_gcd)) /\ forall ec_gcd_common_egt_terminal_all_gcd. (exists ec_gcd_common_left_egt_terminal_all_gcd. egt_left_terminal_all = ec_gcd_common_egt_terminal_all_gcd * ec_gcd_common_left_egt_terminal_all_gcd) -> (exists ec_gcd_common_right_egt_terminal_all_gcd. egt_right_terminal_all = ec_gcd_common_egt_terminal_all_gcd * ec_gcd_common_right_egt_terminal_all_gcd) -> exists ec_gcd_greatest_egt_terminal_all_gcd. g = ec_gcd_common_egt_terminal_all_gcd * ec_gcd_greatest_egt_terminal_all_gcd)))) - 0019
apply euclidean_trace_prefix_gcd_invariant - 0020
exact htrace - 0021
exact hstart - 0022
specialize hall l - 0023
apply hall - 0024
specialize le_refl l - 0025
exact le_refl - 0026
cases hinvariant - 0027
cases hinvariant_witness - 0028
cases hinvariant_witness_witness - 0029
cases hinvariant_witness_witness_witness - 0030
cases htrace - 0031
cases htrace_witness - 0032
cases htrace_witness_right - 0033
have halign : x = a /\ (x1 = b /\ x2 = s) - 0034
specialize euclidean_beta_state_functional h - 0035
specialize euclidean_beta_state_functional e - 0036
specialize euclidean_beta_state_functional l - 0037
specialize euclidean_beta_state_functional x - 0038
specialize euclidean_beta_state_functional x1 - 0039
specialize euclidean_beta_state_functional x2 - 0040
specialize euclidean_beta_state_functional a - 0041
specialize euclidean_beta_state_functional b - 0042
specialize euclidean_beta_state_functional s - 0043
apply euclidean_beta_state_functional - 0044
exact hinvariant_witness_witness_witness_left - 0045
exact htrace_witness_right_left - 0046
cases halign - 0047
cases halign_right - 0048
rewrite halign_left at hinvariant_witness_witness_witness_right - 0049
rewrite halign_left at hinvariant_witness_witness_witness_right - 0050
rewrite halign_right_left at hinvariant_witness_witness_witness_right - 0051
rewrite halign_right_left at hinvariant_witness_witness_witness_right - 0052
exact hinvariant_witness_witness_witness_right