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. JordanTupleEnumeration(k,n,A,B,C,D,u) → JordanTupleEnumeration(k,n,E,F,G,H,v) → Le(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 70 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 (2)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–14
03Establish hmL15–24
Establish this local claim before using it. It is not an additional assumption.
- L15
have hm : ∃ Z. ∃ W. ∀ jt_index_cardinality_map. Lt(jt_index_cardinality_map,u) → ∃ x. BetaAt(Z,W,jt_index_cardinality_map,x) ∧ (Lt(x,v) ∧ (∀ y. ∀ z. ∀ n. ∀ m. BetaAt(A,B,jt_index_cardinality_map,y) ∧ BetaAt(C,D,jt_index_cardinality_map,z) → BetaAt(E,F,x,n) ∧ BetaAt(G,H,x,m) → IntegerVectorZero(y,z,n,m,k)))Definitions: Lt(jt_index_cardinality_map,u)BetaAt(Z,W,jt_index_cardinality_map,x)Lt(x,v)BetaAt(A,B,jt_index_cardinality_map,y)BetaAt(C,D,jt_index_cardinality_map,z)BetaAt(E,F,x,n)BetaAt(G,H,x,m)IntegerVectorZero(y,z,n,m,k)Original native command in the exact edition - L16
specialize jordan_enumeration_index_map_exists (u) - L17
specialize jordan_enumeration_index_map_exists (k) - L18
specialize jordan_enumeration_index_map_exists (n) - L19
specialize jordan_enumeration_index_map_exists (A) - L20
specialize jordan_enumeration_index_map_exists (B) - L21
specialize jordan_enumeration_index_map_exists (C) - L22
specialize jordan_enumeration_index_map_exists (D) - L23
specialize jordan_enumeration_index_map_exists (u) - L24
specialize jordan_enumeration_index_map_exists (E)
04Use earlier factsL25–33
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L25
specialize jordan_enumeration_index_map_exists (F) - L26
specialize jordan_enumeration_index_map_exists (G) - L27
specialize jordan_enumeration_index_map_exists (H) - L28
specialize jordan_enumeration_index_map_exists (v) - L29
apply jordan_enumeration_index_map_exists - L30
exact hl - L31
exact hr - L32
specialize le_refl (u) - L33
apply le_refl
05Separate the logical casesL34–35
06Establish hinjL36–45
Establish this local claim before using it. It is not an additional assumption.
- L36
have hinj : FiniteMatrixSelector(x,x1,u,v)Definitions: FiniteMatrixSelector(x,x1,u,v)Original native command in the exact edition - L37
specialize jordan_enumeration_index_map_bounded_injective (k) - L38
specialize jordan_enumeration_index_map_bounded_injective (n) - L39
specialize jordan_enumeration_index_map_bounded_injective (A) - L40
specialize jordan_enumeration_index_map_bounded_injective (B) - L41
specialize jordan_enumeration_index_map_bounded_injective (C) - L42
specialize jordan_enumeration_index_map_bounded_injective (D) - L43
specialize jordan_enumeration_index_map_bounded_injective (u) - L44
specialize jordan_enumeration_index_map_bounded_injective (E) - L45
specialize jordan_enumeration_index_map_bounded_injective (F)
07Use earlier factsL46–54
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L46
specialize jordan_enumeration_index_map_bounded_injective (G) - L47
specialize jordan_enumeration_index_map_bounded_injective (H) - L48
specialize jordan_enumeration_index_map_bounded_injective (v) - L49
specialize jordan_enumeration_index_map_bounded_injective (x) - L50
specialize jordan_enumeration_index_map_bounded_injective (x1) - L51
apply jordan_enumeration_index_map_bounded_injective - L52
exact hl - L53
exact hr - L54
exact hm_witness_witness
08Separate the logical casesL55–55
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L55
cases hinj
09Establish hcL56–59
10Separate the logical casesL60–60
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L60
cases hc
11Use earlier factsL61–61
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L61
exact hc_left
12Separate the logical casesL62–62
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L62
exfalso
13Use earlier factsL63–70
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L63
specialize finite_bounded_into_oversized_not_injective (x) - L64
specialize finite_bounded_into_oversized_not_injective (x1) - L65
specialize finite_bounded_into_oversized_not_injective (u) - L66
specialize finite_bounded_into_oversized_not_injective (v) - L67
apply finite_bounded_into_oversized_not_injective - L68
exact hinj_left - L69
exact hc_right - L70
exact hinj_right
Original defined command ledger · 70 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 hl - 0014
intro hr - 0015
have hm : ∃ Z. ∃ W. ∀ jt_index_cardinality_map. Lt(jt_index_cardinality_map,u) → ∃ x. BetaAt(Z,W,jt_index_cardinality_map,x) ∧ (Lt(x,v) ∧ (∀ y. ∀ z. ∀ n. ∀ m. BetaAt(A,B,jt_index_cardinality_map,y) ∧ BetaAt(C,D,jt_index_cardinality_map,z) → BetaAt(E,F,x,n) ∧ BetaAt(G,H,x,m) → IntegerVectorZero(y,z,n,m,k))) - 0016
specialize jordan_enumeration_index_map_exists (u) - 0017
specialize jordan_enumeration_index_map_exists (k) - 0018
specialize jordan_enumeration_index_map_exists (n) - 0019
specialize jordan_enumeration_index_map_exists (A) - 0020
specialize jordan_enumeration_index_map_exists (B) - 0021
specialize jordan_enumeration_index_map_exists (C) - 0022
specialize jordan_enumeration_index_map_exists (D) - 0023
specialize jordan_enumeration_index_map_exists (u) - 0024
specialize jordan_enumeration_index_map_exists (E) - 0025
specialize jordan_enumeration_index_map_exists (F) - 0026
specialize jordan_enumeration_index_map_exists (G) - 0027
specialize jordan_enumeration_index_map_exists (H) - 0028
specialize jordan_enumeration_index_map_exists (v) - 0029
apply jordan_enumeration_index_map_exists - 0030
exact hl - 0031
exact hr - 0032
specialize le_refl (u) - 0033
apply le_refl - 0034
cases hm - 0035
cases hm_witness - 0036
have hinj : FiniteMatrixSelector(x,x1,u,v) - 0037
specialize jordan_enumeration_index_map_bounded_injective (k) - 0038
specialize jordan_enumeration_index_map_bounded_injective (n) - 0039
specialize jordan_enumeration_index_map_bounded_injective (A) - 0040
specialize jordan_enumeration_index_map_bounded_injective (B) - 0041
specialize jordan_enumeration_index_map_bounded_injective (C) - 0042
specialize jordan_enumeration_index_map_bounded_injective (D) - 0043
specialize jordan_enumeration_index_map_bounded_injective (u) - 0044
specialize jordan_enumeration_index_map_bounded_injective (E) - 0045
specialize jordan_enumeration_index_map_bounded_injective (F) - 0046
specialize jordan_enumeration_index_map_bounded_injective (G) - 0047
specialize jordan_enumeration_index_map_bounded_injective (H) - 0048
specialize jordan_enumeration_index_map_bounded_injective (v) - 0049
specialize jordan_enumeration_index_map_bounded_injective (x) - 0050
specialize jordan_enumeration_index_map_bounded_injective (x1) - 0051
apply jordan_enumeration_index_map_bounded_injective - 0052
exact hl - 0053
exact hr - 0054
exact hm_witness_witness - 0055
cases hinj - 0056
have hc : Le(u,v) ∨ Lt(v,u) - 0057
specialize le_or_lt (u) - 0058
specialize le_or_lt (v) - 0059
apply le_or_lt - 0060
cases hc - 0061
exact hc_left - 0062
exfalso - 0063
specialize finite_bounded_into_oversized_not_injective (x) - 0064
specialize finite_bounded_into_oversized_not_injective (x1) - 0065
specialize finite_bounded_into_oversized_not_injective (u) - 0066
specialize finite_bounded_into_oversized_not_injective (v) - 0067
apply finite_bounded_into_oversized_not_injective - 0068
exact hinj_left - 0069
exact hc_right - 0070
exact hinj_right