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.
Historical partial components only: this chapter proves canonical solutions under successive-merge compatibility and in the pairwise-compatible dominating-last case. G011 is now closed in the separate Alpha-v27 generalized-crt branch for arbitrary pairwise-compatible finite lists, including noncoprime moduli. Full G011 proof · Alpha v27
Exact theorem in conservative defined notation
∀ k. ∀ a. ∀ b. ∀ g. ∀ A. ∀ B. ∀ G. A = k · a → B = k · b → G = k · g → IsGCD(g,a,b) → 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 87 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–10
02Fix variables and assumptionsL11–11
Work with arbitrary variables or the premises of the current implication.
- L11
intro hg
03Establish hleftL12–17
04Separate the logical casesL18–18
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L18
cases hleft
05Establish hrightL19–24
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply is gcd dvd right.
06Separate the logical casesL25–25
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L25
cases hright
07Use earlier factsL26–27
08Separate the logical casesL28–29
09Establish heqL30–37
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply is gcd unique.
10Separate the logical casesL38–41
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
11Calculate and transport equalitiesL42–42
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L42
rewrite heq at gcd_balanced_bezout_exists_witness_right_witness_witness_witness_witness
12Establish hscaledL43–52
Establish this local claim before using it. It is not an additional assumption.
13Use earlier factsL53–58
Instantiate or apply named facts and discharge the corresponding proof obligations.
14Separate the logical casesL59–60
15Construct an explicit witnessL61–61
Supply the displayed value, then prove that it has the required property.
- L61
exists x
16Calculate and transport equalitiesL62–65
17Use earlier factsL66–66
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L66
apply mul_assoc
18Construct an explicit witnessL67–67
Supply the displayed value, then prove that it has the required property.
- L67
exists x1
19Calculate and transport equalitiesL68–71
20Use earlier factsL72–72
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L72
apply mul_assoc
21Fix variables and assumptionsL73–75
22Use earlier factsL76–85
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L76
specialize common_divisor_divides_balanced_result d - L77
specialize common_divisor_divides_balanced_result A - L78
specialize common_divisor_divides_balanced_result B - L79
specialize common_divisor_divides_balanced_result G - L80
specialize common_divisor_divides_balanced_result x3 - L81
specialize common_divisor_divides_balanced_result x4 - L82
specialize common_divisor_divides_balanced_result x5 - L83
specialize common_divisor_divides_balanced_result x6 - L84
apply common_divisor_divides_balanced_result - L85
exact hdA
Original defined command ledger · 87 lines
- 0001
intro k - 0002
intro a - 0003
intro b - 0004
intro g - 0005
intro A - 0006
intro B - 0007
intro G - 0008
intro hA - 0009
intro hB - 0010
intro hG - 0011
intro hg - 0012
have hleft : exists q. a = g * q - 0013
specialize is_gcd_dvd_left g - 0014
specialize is_gcd_dvd_left a - 0015
specialize is_gcd_dvd_left b - 0016
apply is_gcd_dvd_left - 0017
exact hg - 0018
cases hleft - 0019
have hright : exists q. b = g * q - 0020
specialize is_gcd_dvd_right g - 0021
specialize is_gcd_dvd_right a - 0022
specialize is_gcd_dvd_right b - 0023
apply is_gcd_dvd_right - 0024
exact hg - 0025
cases hright - 0026
specialize gcd_balanced_bezout_exists a - 0027
specialize gcd_balanced_bezout_exists b - 0028
cases gcd_balanced_bezout_exists - 0029
cases gcd_balanced_bezout_exists_witness - 0030
have heq : x2 = g - 0031
specialize is_gcd_unique x2 - 0032
specialize is_gcd_unique g - 0033
specialize is_gcd_unique a - 0034
specialize is_gcd_unique b - 0035
apply is_gcd_unique - 0036
exact gcd_balanced_bezout_exists_witness_left - 0037
exact hg - 0038
cases gcd_balanced_bezout_exists_witness_right - 0039
cases gcd_balanced_bezout_exists_witness_right_witness - 0040
cases gcd_balanced_bezout_exists_witness_right_witness_witness - 0041
cases gcd_balanced_bezout_exists_witness_right_witness_witness_witness - 0042
rewrite heq at gcd_balanced_bezout_exists_witness_right_witness_witness_witness_witness - 0043
have hscaled : A * x3 + B * x4 = G + (A * x5 + B * x6) - 0044
rewrite hA - 0045
rewrite hA - 0046
rewrite hB - 0047
rewrite hB - 0048
rewrite hG - 0049
specialize crt_balanced_bezout_scale k - 0050
specialize crt_balanced_bezout_scale a - 0051
specialize crt_balanced_bezout_scale b - 0052
specialize crt_balanced_bezout_scale g - 0053
specialize crt_balanced_bezout_scale x3 - 0054
specialize crt_balanced_bezout_scale x4 - 0055
specialize crt_balanced_bezout_scale x5 - 0056
specialize crt_balanced_bezout_scale x6 - 0057
apply crt_balanced_bezout_scale - 0058
exact gcd_balanced_bezout_exists_witness_right_witness_witness_witness_witness - 0059
split - 0060
split - 0061
exists x - 0062
rewrite hA - 0063
rewrite hG - 0064
rewrite hleft_witness - 0065
symm - 0066
apply mul_assoc - 0067
exists x1 - 0068
rewrite hB - 0069
rewrite hG - 0070
rewrite hright_witness - 0071
symm - 0072
apply mul_assoc - 0073
intro d - 0074
intro hdA - 0075
intro hdB - 0076
specialize common_divisor_divides_balanced_result d - 0077
specialize common_divisor_divides_balanced_result A - 0078
specialize common_divisor_divides_balanced_result B - 0079
specialize common_divisor_divides_balanced_result G - 0080
specialize common_divisor_divides_balanced_result x3 - 0081
specialize common_divisor_divides_balanced_result x4 - 0082
specialize common_divisor_divides_balanced_result x5 - 0083
specialize common_divisor_divides_balanced_result x6 - 0084
apply common_divisor_divides_balanced_result - 0085
exact hdA - 0086
exact hdB - 0087
exact hscaled