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
∀ k. ∀ n. ∀ A. ∀ B. ∀ C. ∀ D. ∀ u. ∀ E. ∀ F. ∀ G. ∀ H. ∀ v. ∀ Z. ∀ W. JordanTupleEnumeration(k,n,A,B,C,D,u) → JordanTupleEnumeration(k,n,E,F,G,H,v) → (∀ x. Lt(x,u) → ∃ y. BetaAt(Z,W,x,y) ∧ (Lt(y,v) ∧ (∀ z. ∀ m. ∀ i. ∀ j. BetaAt(A,B,x,z) ∧ BetaAt(C,D,x,m) → BetaAt(E,F,y,i) ∧ BetaAt(G,H,y,j) → IntegerVectorZero(z,m,i,j,k)))) → FiniteMatrixSelector(Z,W,u,v)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 161 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 (4)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–17
03Separate the logical casesL18–18
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L18
split
04Fix variables and assumptionsL19–20
05Establish hvL21–24
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hm.
- L21
have hv : ∃ j. BetaAt(Z,W,i,j) ∧ (Lt(j,v) ∧ (∀ x. ∀ y. ∀ z. ∀ n. BetaAt(A,B,i,x) ∧ BetaAt(C,D,i,y) → BetaAt(E,F,j,z) ∧ BetaAt(G,H,j,n) → IntegerVectorZero(x,y,z,n,k)))Definitions: BetaAt(Z,W,i,j)Lt(j,v)BetaAt(A,B,i,x)BetaAt(C,D,i,y)BetaAt(E,F,j,z)BetaAt(G,H,j,n)IntegerVectorZero(x,y,z,n,k)Original native command in the exact edition - L22
specialize hm (i) - L23
apply hm - L24
exact hi
06Separate the logical casesL25–27
07Construct an explicit witnessL28–28
Supply the displayed value, then prove that it has the required property.
- L28
exists x
08Separate the logical casesL29–29
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L29
split
09Use earlier factsL30–31
10Fix variables and assumptionsL32–38
11Establish hmiL39–48
Establish this local claim before using it. It is not an additional assumption.
- L39
have hmi : Lt(r,v) ∧ (∀ x. ∀ y. ∀ z. ∀ n. BetaAt(A,B,i,x) ∧ BetaAt(C,D,i,y) → BetaAt(E,F,r,z) ∧ BetaAt(G,H,r,n) → IntegerVectorZero(x,y,z,n,k))Definitions: Lt(r,v)BetaAt(A,B,i,x)BetaAt(C,D,i,y)BetaAt(E,F,r,z)BetaAt(G,H,r,n)IntegerVectorZero(x,y,z,n,k)Original native command in the exact edition - L40
specialize jordan_enumeration_index_map_entry (k) - L41
specialize jordan_enumeration_index_map_entry (A) - L42
specialize jordan_enumeration_index_map_entry (B) - L43
specialize jordan_enumeration_index_map_entry (C) - L44
specialize jordan_enumeration_index_map_entry (D) - L45
specialize jordan_enumeration_index_map_entry (E) - L46
specialize jordan_enumeration_index_map_entry (F) - L47
specialize jordan_enumeration_index_map_entry (G) - L48
specialize jordan_enumeration_index_map_entry (H)
12Use earlier factsL49–58
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L49
specialize jordan_enumeration_index_map_entry (Z) - L50
specialize jordan_enumeration_index_map_entry (W) - L51
specialize jordan_enumeration_index_map_entry (u) - L52
specialize jordan_enumeration_index_map_entry (v) - L53
specialize jordan_enumeration_index_map_entry (i) - L54
specialize jordan_enumeration_index_map_entry (r) - L55
apply jordan_enumeration_index_map_entry - L56
exact hm - L57
exact hi - L58
exact hat
13Establish hmjL59–68
Establish this local claim before using it. It is not an additional assumption.
- L59
have hmj : Lt(r,v) ∧ (∀ x. ∀ y. ∀ z. ∀ n. BetaAt(A,B,j,x) ∧ BetaAt(C,D,j,y) → BetaAt(E,F,r,z) ∧ BetaAt(G,H,r,n) → IntegerVectorZero(x,y,z,n,k))Definitions: Lt(r,v)BetaAt(A,B,j,x)BetaAt(C,D,j,y)BetaAt(E,F,r,z)BetaAt(G,H,r,n)IntegerVectorZero(x,y,z,n,k)Original native command in the exact edition - L60
specialize jordan_enumeration_index_map_entry (k) - L61
specialize jordan_enumeration_index_map_entry (A) - L62
specialize jordan_enumeration_index_map_entry (B) - L63
specialize jordan_enumeration_index_map_entry (C) - L64
specialize jordan_enumeration_index_map_entry (D) - L65
specialize jordan_enumeration_index_map_entry (E) - L66
specialize jordan_enumeration_index_map_entry (F) - L67
specialize jordan_enumeration_index_map_entry (G) - L68
specialize jordan_enumeration_index_map_entry (H)
14Use earlier factsL69–78
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L69
specialize jordan_enumeration_index_map_entry (Z) - L70
specialize jordan_enumeration_index_map_entry (W) - L71
specialize jordan_enumeration_index_map_entry (u) - L72
specialize jordan_enumeration_index_map_entry (v) - L73
specialize jordan_enumeration_index_map_entry (j) - L74
specialize jordan_enumeration_index_map_entry (r) - L75
apply jordan_enumeration_index_map_entry - L76
exact hm - L77
exact hj - L78
exact hbt
15Separate the logical casesL79–82
16Establish htL83–86
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hr left.
- L83
have ht : ∃ b. ∃ c. BetaAt(E,F,r,b) ∧ BetaAt(G,H,r,c) ∧ (BetaPrefixInto(b,c,k,n) ∧ JordanPrimitiveTuple(n,b,c,k))Definitions: BetaAt(E,F,r,b)BetaAt(G,H,r,c)BetaPrefixInto(b,c,k,n)JordanPrimitiveTuple(n,b,c,k)Original native command in the exact edition - L84
specialize hr_left (r) - L85
apply hr_left - L86
exact hmi_left
17Separate the logical casesL87–90
18Establish haL91–94
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hl left.
- L91
have ha : ∃ b. ∃ c. BetaAt(A,B,i,b) ∧ BetaAt(C,D,i,c) ∧ (BetaPrefixInto(b,c,k,n) ∧ JordanPrimitiveTuple(n,b,c,k))Definitions: BetaAt(A,B,i,b)BetaAt(C,D,i,c)BetaPrefixInto(b,c,k,n)JordanPrimitiveTuple(n,b,c,k)Original native command in the exact edition - L92
specialize hl_left (i) - L93
apply hl_left - L94
exact hi
19Separate the logical casesL95–98
20Establish hbL99–102
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hl left.
- L99
have hb : ∃ b. ∃ c. BetaAt(A,B,j,b) ∧ BetaAt(C,D,j,c) ∧ (BetaPrefixInto(b,c,k,n) ∧ JordanPrimitiveTuple(n,b,c,k))Definitions: BetaAt(A,B,j,b)BetaAt(C,D,j,c)BetaPrefixInto(b,c,k,n)JordanPrimitiveTuple(n,b,c,k)Original native command in the exact edition - L100
specialize hl_left (j) - L101
apply hl_left - L102
exact hj
21Separate the logical casesL103–106
22Establish heaL107–114
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hmi right.
- L107
have hea : IntegerVectorZero(x2,x3,x,x1,k)Definitions: IntegerVectorZero(x2,x3,x,x1,k)Original native command in the exact edition - L108
specialize hmi_right (x2) - L109
specialize hmi_right (x3) - L110
specialize hmi_right (x) - L111
specialize hmi_right (x1) - L112
apply hmi_right - L113
exact ha_witness_witness_left - L114
exact ht_witness_witness_left
23Establish hebL115–122
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hmj right.
- L115
have heb : IntegerVectorZero(x4,x5,x,x1,k)Definitions: IntegerVectorZero(x4,x5,x,x1,k)Original native command in the exact edition - L116
specialize hmj_right (x4) - L117
specialize hmj_right (x5) - L118
specialize hmj_right (x) - L119
specialize hmj_right (x1) - L120
apply hmj_right - L121
exact hb_witness_witness_left - L122
exact ht_witness_witness_left
24Establish hrevL123–130
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply jordan tuple equal symm.
- L123
have hrev : IntegerVectorZero(x,x1,x4,x5,k)Definitions: IntegerVectorZero(x,x1,x4,x5,k)Original native command in the exact edition - L124
specialize jordan_tuple_equal_symm (x4) - L125
specialize jordan_tuple_equal_symm (x5) - L126
specialize jordan_tuple_equal_symm (x) - L127
specialize jordan_tuple_equal_symm (x1) - L128
specialize jordan_tuple_equal_symm (k) - L129
apply jordan_tuple_equal_symm - L130
exact heb
25Establish heqL131–140
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply jordan tuple equal trans.
- L131
have heq : IntegerVectorZero(x2,x3,x4,x5,k)Definitions: IntegerVectorZero(x2,x3,x4,x5,k)Original native command in the exact edition - L132
specialize jordan_tuple_equal_trans (x2) - L133
specialize jordan_tuple_equal_trans (x3) - L134
specialize jordan_tuple_equal_trans (x) - L135
specialize jordan_tuple_equal_trans (x1) - L136
specialize jordan_tuple_equal_trans (x4) - L137
specialize jordan_tuple_equal_trans (x5) - L138
specialize jordan_tuple_equal_trans (k) - L139
apply jordan_tuple_equal_trans - L140
exact hea
26Use earlier factsL141–150
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L141
exact hrev - L142
specialize jordan_enumeration_distinct (k) - L143
specialize jordan_enumeration_distinct (n) - L144
specialize jordan_enumeration_distinct (A) - L145
specialize jordan_enumeration_distinct (B) - L146
specialize jordan_enumeration_distinct (C) - L147
specialize jordan_enumeration_distinct (D) - L148
specialize jordan_enumeration_distinct (u) - L149
specialize jordan_enumeration_distinct (i) - L150
specialize jordan_enumeration_distinct (j)
27Use earlier factsL151–160
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L151
specialize jordan_enumeration_distinct (x2) - L152
specialize jordan_enumeration_distinct (x3) - L153
specialize jordan_enumeration_distinct (x4) - L154
specialize jordan_enumeration_distinct (x5) - L155
apply jordan_enumeration_distinct - L156
exact hl - L157
exact hi - L158
exact hj - L159
exact ha_witness_witness_left - L160
exact hb_witness_witness_left
28Use earlier factsL161–161
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L161
exact heq
Original defined command ledger · 161 lines
- 0001
intro k - 0002
intro n - 0003
intro A - 0004
intro B - 0005
intro C - 0006
intro D - 0007
intro u - 0008
intro E - 0009
intro F - 0010
intro G - 0011
intro H - 0012
intro v - 0013
intro Z - 0014
intro W - 0015
intro hl - 0016
intro hr - 0017
intro hm - 0018
split - 0019
intro i - 0020
intro hi - 0021
have hv : ∃ j. BetaAt(Z,W,i,j) ∧ (Lt(j,v) ∧ (∀ x. ∀ y. ∀ z. ∀ n. BetaAt(A,B,i,x) ∧ BetaAt(C,D,i,y) → BetaAt(E,F,j,z) ∧ BetaAt(G,H,j,n) → IntegerVectorZero(x,y,z,n,k))) - 0022
specialize hm (i) - 0023
apply hm - 0024
exact hi - 0025
cases hv - 0026
cases hv_witness - 0027
cases hv_witness_right - 0028
exists x - 0029
split - 0030
exact hv_witness_left - 0031
exact hv_witness_right_left - 0032
intro i - 0033
intro j - 0034
intro r - 0035
intro hi - 0036
intro hj - 0037
intro hat - 0038
intro hbt - 0039
have hmi : Lt(r,v) ∧ (∀ x. ∀ y. ∀ z. ∀ n. BetaAt(A,B,i,x) ∧ BetaAt(C,D,i,y) → BetaAt(E,F,r,z) ∧ BetaAt(G,H,r,n) → IntegerVectorZero(x,y,z,n,k)) - 0040
specialize jordan_enumeration_index_map_entry (k) - 0041
specialize jordan_enumeration_index_map_entry (A) - 0042
specialize jordan_enumeration_index_map_entry (B) - 0043
specialize jordan_enumeration_index_map_entry (C) - 0044
specialize jordan_enumeration_index_map_entry (D) - 0045
specialize jordan_enumeration_index_map_entry (E) - 0046
specialize jordan_enumeration_index_map_entry (F) - 0047
specialize jordan_enumeration_index_map_entry (G) - 0048
specialize jordan_enumeration_index_map_entry (H) - 0049
specialize jordan_enumeration_index_map_entry (Z) - 0050
specialize jordan_enumeration_index_map_entry (W) - 0051
specialize jordan_enumeration_index_map_entry (u) - 0052
specialize jordan_enumeration_index_map_entry (v) - 0053
specialize jordan_enumeration_index_map_entry (i) - 0054
specialize jordan_enumeration_index_map_entry (r) - 0055
apply jordan_enumeration_index_map_entry - 0056
exact hm - 0057
exact hi - 0058
exact hat - 0059
have hmj : Lt(r,v) ∧ (∀ x. ∀ y. ∀ z. ∀ n. BetaAt(A,B,j,x) ∧ BetaAt(C,D,j,y) → BetaAt(E,F,r,z) ∧ BetaAt(G,H,r,n) → IntegerVectorZero(x,y,z,n,k)) - 0060
specialize jordan_enumeration_index_map_entry (k) - 0061
specialize jordan_enumeration_index_map_entry (A) - 0062
specialize jordan_enumeration_index_map_entry (B) - 0063
specialize jordan_enumeration_index_map_entry (C) - 0064
specialize jordan_enumeration_index_map_entry (D) - 0065
specialize jordan_enumeration_index_map_entry (E) - 0066
specialize jordan_enumeration_index_map_entry (F) - 0067
specialize jordan_enumeration_index_map_entry (G) - 0068
specialize jordan_enumeration_index_map_entry (H) - 0069
specialize jordan_enumeration_index_map_entry (Z) - 0070
specialize jordan_enumeration_index_map_entry (W) - 0071
specialize jordan_enumeration_index_map_entry (u) - 0072
specialize jordan_enumeration_index_map_entry (v) - 0073
specialize jordan_enumeration_index_map_entry (j) - 0074
specialize jordan_enumeration_index_map_entry (r) - 0075
apply jordan_enumeration_index_map_entry - 0076
exact hm - 0077
exact hj - 0078
exact hbt - 0079
cases hmi - 0080
cases hmj - 0081
cases hl - 0082
cases hr - 0083
have ht : ∃ b. ∃ c. BetaAt(E,F,r,b) ∧ BetaAt(G,H,r,c) ∧ (BetaPrefixInto(b,c,k,n) ∧ JordanPrimitiveTuple(n,b,c,k)) - 0084
specialize hr_left (r) - 0085
apply hr_left - 0086
exact hmi_left - 0087
cases ht - 0088
cases ht_witness - 0089
cases ht_witness_witness - 0090
cases ht_witness_witness_right - 0091
have ha : ∃ b. ∃ c. BetaAt(A,B,i,b) ∧ BetaAt(C,D,i,c) ∧ (BetaPrefixInto(b,c,k,n) ∧ JordanPrimitiveTuple(n,b,c,k)) - 0092
specialize hl_left (i) - 0093
apply hl_left - 0094
exact hi - 0095
cases ha - 0096
cases ha_witness - 0097
cases ha_witness_witness - 0098
cases ha_witness_witness_right - 0099
have hb : ∃ b. ∃ c. BetaAt(A,B,j,b) ∧ BetaAt(C,D,j,c) ∧ (BetaPrefixInto(b,c,k,n) ∧ JordanPrimitiveTuple(n,b,c,k)) - 0100
specialize hl_left (j) - 0101
apply hl_left - 0102
exact hj - 0103
cases hb - 0104
cases hb_witness - 0105
cases hb_witness_witness - 0106
cases hb_witness_witness_right - 0107
have hea : IntegerVectorZero(x2,x3,x,x1,k) - 0108
specialize hmi_right (x2) - 0109
specialize hmi_right (x3) - 0110
specialize hmi_right (x) - 0111
specialize hmi_right (x1) - 0112
apply hmi_right - 0113
exact ha_witness_witness_left - 0114
exact ht_witness_witness_left - 0115
have heb : IntegerVectorZero(x4,x5,x,x1,k) - 0116
specialize hmj_right (x4) - 0117
specialize hmj_right (x5) - 0118
specialize hmj_right (x) - 0119
specialize hmj_right (x1) - 0120
apply hmj_right - 0121
exact hb_witness_witness_left - 0122
exact ht_witness_witness_left - 0123
have hrev : IntegerVectorZero(x,x1,x4,x5,k) - 0124
specialize jordan_tuple_equal_symm (x4) - 0125
specialize jordan_tuple_equal_symm (x5) - 0126
specialize jordan_tuple_equal_symm (x) - 0127
specialize jordan_tuple_equal_symm (x1) - 0128
specialize jordan_tuple_equal_symm (k) - 0129
apply jordan_tuple_equal_symm - 0130
exact heb - 0131
have heq : IntegerVectorZero(x2,x3,x4,x5,k) - 0132
specialize jordan_tuple_equal_trans (x2) - 0133
specialize jordan_tuple_equal_trans (x3) - 0134
specialize jordan_tuple_equal_trans (x) - 0135
specialize jordan_tuple_equal_trans (x1) - 0136
specialize jordan_tuple_equal_trans (x4) - 0137
specialize jordan_tuple_equal_trans (x5) - 0138
specialize jordan_tuple_equal_trans (k) - 0139
apply jordan_tuple_equal_trans - 0140
exact hea - 0141
exact hrev - 0142
specialize jordan_enumeration_distinct (k) - 0143
specialize jordan_enumeration_distinct (n) - 0144
specialize jordan_enumeration_distinct (A) - 0145
specialize jordan_enumeration_distinct (B) - 0146
specialize jordan_enumeration_distinct (C) - 0147
specialize jordan_enumeration_distinct (D) - 0148
specialize jordan_enumeration_distinct (u) - 0149
specialize jordan_enumeration_distinct (i) - 0150
specialize jordan_enumeration_distinct (j) - 0151
specialize jordan_enumeration_distinct (x2) - 0152
specialize jordan_enumeration_distinct (x3) - 0153
specialize jordan_enumeration_distinct (x4) - 0154
specialize jordan_enumeration_distinct (x5) - 0155
apply jordan_enumeration_distinct - 0156
exact hl - 0157
exact hi - 0158
exact hj - 0159
exact ha_witness_witness_left - 0160
exact hb_witness_witness_left - 0161
exact heq