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. exists g u v. (((((exists hag_left_factor_fsat_gcd. a = g * hag_left_factor_fsat_gcd) /\ (exists hag_right_factor_fsat_gcd. b = g * hag_right_factor_fsat_gcd)) /\ forall hag_divisor_fsat_gcd. (exists hag_common_left_fsat_gcd. a = hag_divisor_fsat_gcd * hag_common_left_fsat_gcd) -> (exists hag_common_right_fsat_gcd. b = hag_divisor_fsat_gcd * hag_common_right_fsat_gcd) -> exists hag_greatest_factor_fsat_gcd. g = hag_divisor_fsat_gcd * hag_greatest_factor_fsat_gcd)) /\ ((exists sbz_xp_fsat_bezout sbz_xn_fsat_bezout sbz_yp_fsat_bezout sbz_yn_fsat_bezout. (((u = 2 * sbz_xp_fsat_bezout /\ sbz_xn_fsat_bezout = 0) \/ exists sd_half_fsat_bezout_x. ((u = 2 * sd_half_fsat_bezout_x + 1 /\ sbz_xp_fsat_bezout = 0) /\ sbz_xn_fsat_bezout = S sd_half_fsat_bezout_x)) /\ (((v = 2 * sbz_yp_fsat_bezout /\ sbz_yn_fsat_bezout = 0) \/ exists sd_half_fsat_bezout_y. ((v = 2 * sd_half_fsat_bezout_y + 1 /\ sbz_yp_fsat_bezout = 0) /\ sbz_yn_fsat_bezout = S sd_half_fsat_bezout_y)) /\ a * sbz_xp_fsat_bezout + b * sbz_yp_fsat_bezout = g + (a * sbz_xn_fsat_bezout + b * sbz_yn_fsat_bezout)))) /\ forall h. ((((exists hag_left_factor_fsat_comparison. a = h * hag_left_factor_fsat_comparison) /\ (exists hag_right_factor_fsat_comparison. b = h * hag_right_factor_fsat_comparison)) /\ forall hag_divisor_fsat_comparison. (exists hag_common_left_fsat_comparison. a = hag_divisor_fsat_comparison * hag_common_left_fsat_comparison) -> (exists hag_common_right_fsat_comparison. b = hag_divisor_fsat_comparison * hag_common_right_fsat_comparison) -> exists hag_greatest_factor_fsat_comparison. h = hag_divisor_fsat_comparison * hag_greatest_factor_fsat_comparison)) -> h = g))Constructive proof overview
Generated structural guide
G002: every pair, including (0,0), has a canonical gcd value and actual signed-natural Bezout coefficient codes. Only the gcd is asserted unique, not its coefficients.
The unchanged tactic script uses 2 declared prerequisites and contains 24 exact native proof lines.
Alpha v34 checked-use · first admitted v28 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
gcd_signed_bezout_exists Alpha theorem; checked-use authorized is_gcd_unique Stable theorem; checked-use authorizedDirect 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.
01Fix variables and assumptionsL1–2
02Use earlier factsL3–4
03Separate the logical casesL5–8
04Construct an explicit witnessL9–11
05Separate the logical casesL12–12
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L12
split
06Use earlier factsL13–13
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L13
exact gcd_signed_bezout_exists_witness_witness_witness_left
07Separate the logical casesL14–14
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L14
split
08Use earlier factsL15–15
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L15
exact gcd_signed_bezout_exists_witness_witness_witness_right
09Fix variables and assumptionsL16–17
10Use earlier factsL18–24
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original exact command ledger · 24 lines
- 0001
intro a - 0002
intro b - 0003
specialize gcd_signed_bezout_exists a - 0004
specialize gcd_signed_bezout_exists b - 0005
cases gcd_signed_bezout_exists - 0006
cases gcd_signed_bezout_exists_witness - 0007
cases gcd_signed_bezout_exists_witness_witness - 0008
cases gcd_signed_bezout_exists_witness_witness_witness - 0009
exists x - 0010
exists x1 - 0011
exists x2 - 0012
split - 0013
exact gcd_signed_bezout_exists_witness_witness_witness_left - 0014
split - 0015
exact gcd_signed_bezout_exists_witness_witness_witness_right - 0016
intro h - 0017
intro hh - 0018
specialize is_gcd_unique (h) - 0019
specialize is_gcd_unique (x) - 0020
specialize is_gcd_unique (a) - 0021
specialize is_gcd_unique (b) - 0022
apply is_gcd_unique - 0023
exact hh - 0024
exact gcd_signed_bezout_exists_witness_witness_witness_left