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. ∀ G. ∀ L. EuclideanExecution(a,b,g,l) → EuclideanExecution(a,b,G,L) → g = G
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete unchanged native tactic proof
All 28 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.
01Fix variables and assumptionsL1–8
02Establish hgL9–15
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply euclidean execution gcd correct.
- L9
have hg : (((exists hag_left_factor_egt_unique_first. a = g * hag_left_factor_egt_unique_first) /\ (exists hag_right_factor_egt_unique_first. b = g * hag_right_factor_egt_unique_first)) /\ forall hag_divisor_egt_unique_first. (exists hag_common_left_egt_unique_first. a = hag_divisor_egt_unique_first * hag_common_left_egt_unique_first) -> (exists hag_common_right_egt_unique_first. b = hag_divisor_egt_unique_first * hag_common_right_egt_unique_first) -> exists hag_greatest_factor_egt_unique_first. g = hag_divisor_egt_unique_first * hag_greatest_factor_egt_unique_first) - L10
specialize euclidean_execution_gcd_correct a - L11
specialize euclidean_execution_gcd_correct b - L12
specialize euclidean_execution_gcd_correct g - L13
specialize euclidean_execution_gcd_correct l - L14
apply euclidean_execution_gcd_correct - L15
exact hfirst
03Establish hGL16–16
Establish this local claim before using it. It is not an additional assumption.
- L16
have hG : (((exists hag_left_factor_egt_unique_second. a = G * hag_left_factor_egt_unique_second) /\ (exists hag_right_factor_egt_unique_second. b = G * hag_right_factor_egt_unique_second)) /\ forall hag_divisor_egt_unique_second. (exists hag_common_left_egt_unique_second. a = hag_divisor_egt_unique_second * hag_common_left_egt_unique_second) -> (exists hag_common_right_egt_unique_second. b = hag_divisor_egt_unique_second * hag_common_right_egt_unique_second) -> exists hag_greatest_factor_egt_unique_second. G = hag_divisor_egt_unique_second * hag_greatest_factor_egt_unique_second)
04Separate the logical casesL17–20
05Use earlier factsL21–28
Original defined command ledger · 28 lines
- 0001
intro a - 0002
intro b - 0003
intro g - 0004
intro l - 0005
intro G - 0006
intro L - 0007
intro hfirst - 0008
intro hsecond - 0009
have hg : (((exists hag_left_factor_egt_unique_first. a = g * hag_left_factor_egt_unique_first) /\ (exists hag_right_factor_egt_unique_first. b = g * hag_right_factor_egt_unique_first)) /\ forall hag_divisor_egt_unique_first. (exists hag_common_left_egt_unique_first. a = hag_divisor_egt_unique_first * hag_common_left_egt_unique_first) -> (exists hag_common_right_egt_unique_first. b = hag_divisor_egt_unique_first * hag_common_right_egt_unique_first) -> exists hag_greatest_factor_egt_unique_first. g = hag_divisor_egt_unique_first * hag_greatest_factor_egt_unique_first) - 0010
specialize euclidean_execution_gcd_correct a - 0011
specialize euclidean_execution_gcd_correct b - 0012
specialize euclidean_execution_gcd_correct g - 0013
specialize euclidean_execution_gcd_correct l - 0014
apply euclidean_execution_gcd_correct - 0015
exact hfirst - 0016
have hG : (((exists hag_left_factor_egt_unique_second. a = G * hag_left_factor_egt_unique_second) /\ (exists hag_right_factor_egt_unique_second. b = G * hag_right_factor_egt_unique_second)) /\ forall hag_divisor_egt_unique_second. (exists hag_common_left_egt_unique_second. a = hag_divisor_egt_unique_second * hag_common_left_egt_unique_second) -> (exists hag_common_right_egt_unique_second. b = hag_divisor_egt_unique_second * hag_common_right_egt_unique_second) -> exists hag_greatest_factor_egt_unique_second. G = hag_divisor_egt_unique_second * hag_greatest_factor_egt_unique_second) - 0017
cases hsecond - 0018
cases hsecond_witness - 0019
cases hsecond_witness_witness - 0020
cases hsecond_witness_witness_witness - 0021
exact hsecond_witness_witness_witness_right - 0022
specialize is_gcd_unique g - 0023
specialize is_gcd_unique G - 0024
specialize is_gcd_unique a - 0025
specialize is_gcd_unique b - 0026
apply is_gcd_unique - 0027
exact hg - 0028
exact hG