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. ¬k = 0 → ¬n = 0 → ∃ x. JordanTotient(k,n,x)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 39 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 (3)
01Fix variables and assumptionsL1–4
02Establish hboxL5–8
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply jordan tuple representatives exists.
- L5
have hbox : ∃ c. ∃ T. JordanTupleRepresentatives(k,n,c,T)Definitions: JordanTupleRepresentatives(k,n,c,T)Original native command in the exact edition - L6
specialize jordan_tuple_representatives_exists (k) - L7
specialize jordan_tuple_representatives_exists (n) - L8
apply jordan_tuple_representatives_exists
03Separate the logical casesL9–10
04Establish hfamilyL11–16
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply jordan tuple scan exists.
- L11
have hfamily : ∀ t. ∃ B. ∃ C. ∃ D. ∃ E. ∃ j. JordanTupleScan(k,n,x,t,B,C,D,E,j)Definitions: JordanTupleScan(k,n,x,t,B,C,D,E,j)Original native command in the exact edition - L12
specialize jordan_tuple_scan_exists (k) - L13
specialize jordan_tuple_scan_exists (n) - L14
specialize jordan_tuple_scan_exists (x) - L15
apply jordan_tuple_scan_exists - L16
exact hn
05Establish hsL17–19
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hfamily.
- L17
have hs : ∃ B. ∃ C. ∃ D. ∃ E. ∃ j. JordanTupleScan(k,n,x,x1,B,C,D,E,j)Definitions: JordanTupleScan(k,n,x,x1,B,C,D,E,j)Original native command in the exact edition - L18
specialize hfamily (x1) - L19
apply hfamily
06Separate the logical casesL20–24
07Construct an explicit witnessL25–25
Supply the displayed value, then prove that it has the required property.
- L25
exists x6
08Use earlier factsL26–35
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L26
specialize jordan_totient_from_complete_scan (k) - L27
specialize jordan_totient_from_complete_scan (n) - L28
specialize jordan_totient_from_complete_scan (x) - L29
specialize jordan_totient_from_complete_scan (x1) - L30
specialize jordan_totient_from_complete_scan (x2) - L31
specialize jordan_totient_from_complete_scan (x3) - L32
specialize jordan_totient_from_complete_scan (x4) - L33
specialize jordan_totient_from_complete_scan (x5) - L34
specialize jordan_totient_from_complete_scan (x6) - L35
apply jordan_totient_from_complete_scan
Original defined command ledger · 39 lines
- 0001
intro k - 0002
intro n - 0003
intro hk - 0004
intro hn - 0005
have hbox : ∃ c. ∃ T. JordanTupleRepresentatives(k,n,c,T) - 0006
specialize jordan_tuple_representatives_exists (k) - 0007
specialize jordan_tuple_representatives_exists (n) - 0008
apply jordan_tuple_representatives_exists - 0009
cases hbox - 0010
cases hbox_witness - 0011
have hfamily : ∀ t. ∃ B. ∃ C. ∃ D. ∃ E. ∃ j. JordanTupleScan(k,n,x,t,B,C,D,E,j) - 0012
specialize jordan_tuple_scan_exists (k) - 0013
specialize jordan_tuple_scan_exists (n) - 0014
specialize jordan_tuple_scan_exists (x) - 0015
apply jordan_tuple_scan_exists - 0016
exact hn - 0017
have hs : ∃ B. ∃ C. ∃ D. ∃ E. ∃ j. JordanTupleScan(k,n,x,x1,B,C,D,E,j) - 0018
specialize hfamily (x1) - 0019
apply hfamily - 0020
cases hs - 0021
cases hs_witness - 0022
cases hs_witness_witness - 0023
cases hs_witness_witness_witness - 0024
cases hs_witness_witness_witness_witness - 0025
exists x6 - 0026
specialize jordan_totient_from_complete_scan (k) - 0027
specialize jordan_totient_from_complete_scan (n) - 0028
specialize jordan_totient_from_complete_scan (x) - 0029
specialize jordan_totient_from_complete_scan (x1) - 0030
specialize jordan_totient_from_complete_scan (x2) - 0031
specialize jordan_totient_from_complete_scan (x3) - 0032
specialize jordan_totient_from_complete_scan (x4) - 0033
specialize jordan_totient_from_complete_scan (x5) - 0034
specialize jordan_totient_from_complete_scan (x6) - 0035
apply jordan_totient_from_complete_scan - 0036
exact hk - 0037
exact hn - 0038
exact hbox_witness_witness - 0039
exact hs_witness_witness_witness_witness_witness