95 new Alpha admissions come from 96 source lemmas: tuple equality reflexivity reuses an already-admitted theorem and is not counted twice. All counts use actual finite beta-coded enumerations. G008 multiplicativity is proved; the general prime-power count and distinct-prime product formula are further goals. General prime-power fields (G091) remain open. Stable is unchanged.
Exact theorem in conservative defined notation
∀ a. ∀ b. ∀ B. ∀ C. ∀ k. ¬a = 0 → ¬b = 0 → Coprime(a,b) → JordanPrimitiveTuple(a,B,C,k) → JordanPrimitiveTuple(b,B,C,k) → JordanPrimitiveTuple(a · b,B,C,k)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 84 original proof lines are preserved. Only local proposition formulas are abbreviated; every abbreviation has an exact binder-safe expansion check. The linked exact edition contains the unchanged replay 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–13
03Establish hnL14–21
04Establish hdposL22–24
05Separate the logical casesL25–25
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L25
cases hd
06Establish hzeroL26–32
07Establish hpL33–40
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply coprime divisor factor pair exists.
- L33
have hp : ∃ r. ∃ s. DivisorFactorPair(a,b,d,r,s)Definitions: DivisorFactorPair(a,b,d,r,s)Original native command in the exact edition - L34
specialize coprime_divisor_factor_pair_exists (a) - L35
specialize coprime_divisor_factor_pair_exists (b) - L36
specialize coprime_divisor_factor_pair_exists (d) - L37
apply coprime_divisor_factor_pair_exists - L38
exact hdpos - L39
exact hc - L40
exact hd
08Separate the logical casesL41–46
09Establish hrL47–56
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hpa.
- L47
have hr : x=1 - L48
specialize hpa (x) - L49
apply hpa - L50
exact hp_witness_witness_right_right_left - L51
specialize jordan_tuple_divisor_downward (x) - L52
specialize jordan_tuple_divisor_downward (d) - L53
specialize jordan_tuple_divisor_downward (B) - L54
specialize jordan_tuple_divisor_downward (C) - L55
specialize jordan_tuple_divisor_downward (k) - L56
apply jordan_tuple_divisor_downward
10Construct an explicit witnessL57–57
Supply the displayed value, then prove that it has the required property.
- L57
exists x1
11Use earlier factsL58–59
12Establish hsL60–69
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hpb.
- L60
have hs : x1=1 - L61
specialize hpb (x1) - L62
apply hpb - L63
exact hp_witness_witness_right_right_right_left - L64
specialize jordan_tuple_divisor_downward (x1) - L65
specialize jordan_tuple_divisor_downward (d) - L66
specialize jordan_tuple_divisor_downward (B) - L67
specialize jordan_tuple_divisor_downward (C) - L68
specialize jordan_tuple_divisor_downward (k) - L69
apply jordan_tuple_divisor_downward
13Construct an explicit witnessL70–70
Supply the displayed value, then prove that it has the required property.
- L70
exists x
14Establish hcommL71–80
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mul comm.
15Calculate and transport equalitiesL81–82
Original defined command ledger · 84 lines
- 0001
intro a - 0002
intro b - 0003
intro B - 0004
intro C - 0005
intro k - 0006
intro ha - 0007
intro hb - 0008
intro hc - 0009
intro hpa - 0010
intro hpb - 0011
intro d - 0012
intro hd - 0013
intro hall - 0014
have hn : ~(a*b=0) - 0015
intro hproductzero - 0016
specialize mul_ne_zero (a) - 0017
specialize mul_ne_zero (b) - 0018
apply mul_ne_zero - 0019
exact ha - 0020
exact hb - 0021
exact hproductzero - 0022
have hdpos : ~(d=0) - 0023
intro hz - 0024
apply hn - 0025
cases hd - 0026
have hzero : d*x=0 - 0027
rewrite hz - 0028
specialize mul_zero_left (x) - 0029
apply mul_zero_left - 0030
trans d*x - 0031
exact hd_witness - 0032
exact hzero - 0033
have hp : ∃ r. ∃ s. DivisorFactorPair(a,b,d,r,s) - 0034
specialize coprime_divisor_factor_pair_exists (a) - 0035
specialize coprime_divisor_factor_pair_exists (b) - 0036
specialize coprime_divisor_factor_pair_exists (d) - 0037
apply coprime_divisor_factor_pair_exists - 0038
exact hdpos - 0039
exact hc - 0040
exact hd - 0041
cases hp - 0042
cases hp_witness - 0043
cases hp_witness_witness - 0044
cases hp_witness_witness_right - 0045
cases hp_witness_witness_right_right - 0046
cases hp_witness_witness_right_right_right - 0047
have hr : x=1 - 0048
specialize hpa (x) - 0049
apply hpa - 0050
exact hp_witness_witness_right_right_left - 0051
specialize jordan_tuple_divisor_downward (x) - 0052
specialize jordan_tuple_divisor_downward (d) - 0053
specialize jordan_tuple_divisor_downward (B) - 0054
specialize jordan_tuple_divisor_downward (C) - 0055
specialize jordan_tuple_divisor_downward (k) - 0056
apply jordan_tuple_divisor_downward - 0057
exists x1 - 0058
exact hp_witness_witness_right_right_right_right - 0059
exact hall - 0060
have hs : x1=1 - 0061
specialize hpb (x1) - 0062
apply hpb - 0063
exact hp_witness_witness_right_right_right_left - 0064
specialize jordan_tuple_divisor_downward (x1) - 0065
specialize jordan_tuple_divisor_downward (d) - 0066
specialize jordan_tuple_divisor_downward (B) - 0067
specialize jordan_tuple_divisor_downward (C) - 0068
specialize jordan_tuple_divisor_downward (k) - 0069
apply jordan_tuple_divisor_downward - 0070
exists x - 0071
have hcomm : x*x1=x1*x - 0072
specialize mul_comm (x) - 0073
specialize mul_comm (x1) - 0074
apply mul_comm - 0075
trans x*x1 - 0076
exact hp_witness_witness_right_right_right_right - 0077
exact hcomm - 0078
exact hall - 0079
trans x*x1 - 0080
exact hp_witness_witness_right_right_right_right - 0081
rewrite hr - 0082
rewrite hs - 0083
specialize one_mul (1) - 0084
apply one_mul