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
∀ m. ∀ n. ∀ b. ∀ c. ∀ d. ∀ e. ∀ k. ¬m = 0 → ¬n = 0 → Coprime(m,n) → ∃ x. ∃ y. JordanCanonicalTupleCRT(m,n,b,c,d,e,x,y,k)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 131 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 (7)
01Fix variables and assumptionsL1–10
02Establish hfamilyL11–20
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply jordan crt tuple exists.
- L11
have hfamily : ∀ L. ∃ f. ∃ g. JordanTupleCRT(m,n,b,c,d,e,f,g,L)Definitions: JordanTupleCRT(m,n,b,c,d,e,f,g,L)Original native command in the exact edition - L12
specialize jordan_crt_tuple_exists (m) - L13
specialize jordan_crt_tuple_exists (n) - L14
specialize jordan_crt_tuple_exists (b) - L15
specialize jordan_crt_tuple_exists (c) - L16
specialize jordan_crt_tuple_exists (d) - L17
specialize jordan_crt_tuple_exists (e) - L18
apply jordan_crt_tuple_exists - L19
exact hm - L20
exact hn
03Use earlier factsL21–21
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L21
exact hcop
04Establish hrawL22–24
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hfamily.
- L22
have hraw : ∃ f. ∃ g. JordanTupleCRT(m,n,b,c,d,e,f,g,k)Definitions: JordanTupleCRT(m,n,b,c,d,e,f,g,k)Original native command in the exact edition - L23
specialize hfamily (k) - L24
apply hfamily
05Separate the logical casesL25–26
06Establish hproductL27–34
07Establish hnormL35–41
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply jordan tuple normalize exists.
- L35
have hnorm : ∃ u. ∃ v. BetaPrefixInto(u,v,k,m · n) ∧ JordanTupleCongruence(m · n,x,x1,u,v,k)Definitions: BetaPrefixInto(u,v,k,m · n)JordanTupleCongruence(m · n,x,x1,u,v,k)Original native command in the exact edition - L36
specialize jordan_tuple_normalize_exists (m*n) - L37
specialize jordan_tuple_normalize_exists (x) - L38
specialize jordan_tuple_normalize_exists (x1) - L39
specialize jordan_tuple_normalize_exists (k) - L40
apply jordan_tuple_normalize_exists - L41
exact hproduct
08Separate the logical casesL42–44
09Construct an explicit witnessL45–46
10Separate the logical casesL47–47
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L47
split
11Use earlier factsL48–48
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L48
exact hnorm_witness_witness_left
12Separate the logical casesL49–49
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L49
split
13Establish hsmallL50–58
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply jordan tuple congruence divisor.
- L50
have hsmall : JordanTupleCongruence(m,x,x1,x2,x3,k)Definitions: JordanTupleCongruence(m,x,x1,x2,x3,k)Original native command in the exact edition - L51
specialize jordan_tuple_congruence_divisor (m) - L52
specialize jordan_tuple_congruence_divisor (m*n) - L53
specialize jordan_tuple_congruence_divisor (x) - L54
specialize jordan_tuple_congruence_divisor (x1) - L55
specialize jordan_tuple_congruence_divisor (x2) - L56
specialize jordan_tuple_congruence_divisor (x3) - L57
specialize jordan_tuple_congruence_divisor (k) - L58
apply jordan_tuple_congruence_divisor
14Construct an explicit witnessL59–59
Supply the displayed value, then prove that it has the required property.
- L59
exists n
15Calculate and transport equalitiesL60–60
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L60
refl
16Use earlier factsL61–70
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L61
exact hnorm_witness_witness_right - L62
specialize jordan_tuple_congruence_trans (m) - L63
specialize jordan_tuple_congruence_trans (x2) - L64
specialize jordan_tuple_congruence_trans (x3) - L65
specialize jordan_tuple_congruence_trans (x) - L66
specialize jordan_tuple_congruence_trans (x1) - L67
specialize jordan_tuple_congruence_trans (b) - L68
specialize jordan_tuple_congruence_trans (c) - L69
specialize jordan_tuple_congruence_trans (k) - L70
apply jordan_tuple_congruence_trans
17Use earlier factsL71–80
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L71
specialize jordan_tuple_congruence_symm (m) - L72
specialize jordan_tuple_congruence_symm (x) - L73
specialize jordan_tuple_congruence_symm (x1) - L74
specialize jordan_tuple_congruence_symm (x2) - L75
specialize jordan_tuple_congruence_symm (x3) - L76
specialize jordan_tuple_congruence_symm (k) - L77
apply jordan_tuple_congruence_symm - L78
exact hsmall - L79
specialize jordan_crt_tuple_left (m) - L80
specialize jordan_crt_tuple_left (n)
18Use earlier factsL81–89
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L81
specialize jordan_crt_tuple_left (b) - L82
specialize jordan_crt_tuple_left (c) - L83
specialize jordan_crt_tuple_left (d) - L84
specialize jordan_crt_tuple_left (e) - L85
specialize jordan_crt_tuple_left (x) - L86
specialize jordan_crt_tuple_left (x1) - L87
specialize jordan_crt_tuple_left (k) - L88
apply jordan_crt_tuple_left - L89
exact hraw_witness_witness
19Establish hsmallL90–98
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply jordan tuple congruence divisor.
- L90
have hsmall : JordanTupleCongruence(n,x,x1,x2,x3,k)Definitions: JordanTupleCongruence(n,x,x1,x2,x3,k)Original native command in the exact edition - L91
specialize jordan_tuple_congruence_divisor (n) - L92
specialize jordan_tuple_congruence_divisor (m*n) - L93
specialize jordan_tuple_congruence_divisor (x) - L94
specialize jordan_tuple_congruence_divisor (x1) - L95
specialize jordan_tuple_congruence_divisor (x2) - L96
specialize jordan_tuple_congruence_divisor (x3) - L97
specialize jordan_tuple_congruence_divisor (k) - L98
apply jordan_tuple_congruence_divisor
20Construct an explicit witnessL99–99
Supply the displayed value, then prove that it has the required property.
- L99
exists m
21Use earlier factsL100–109
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L100
specialize mul_comm (m) - L101
specialize mul_comm (n) - L102
apply mul_comm - L103
exact hnorm_witness_witness_right - L104
specialize jordan_tuple_congruence_trans (n) - L105
specialize jordan_tuple_congruence_trans (x2) - L106
specialize jordan_tuple_congruence_trans (x3) - L107
specialize jordan_tuple_congruence_trans (x) - L108
specialize jordan_tuple_congruence_trans (x1) - L109
specialize jordan_tuple_congruence_trans (d)
22Use earlier factsL110–119
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L110
specialize jordan_tuple_congruence_trans (e) - L111
specialize jordan_tuple_congruence_trans (k) - L112
apply jordan_tuple_congruence_trans - L113
specialize jordan_tuple_congruence_symm (n) - L114
specialize jordan_tuple_congruence_symm (x) - L115
specialize jordan_tuple_congruence_symm (x1) - L116
specialize jordan_tuple_congruence_symm (x2) - L117
specialize jordan_tuple_congruence_symm (x3) - L118
specialize jordan_tuple_congruence_symm (k) - L119
apply jordan_tuple_congruence_symm
23Use earlier factsL120–129
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L120
exact hsmall - L121
specialize jordan_crt_tuple_right (m) - L122
specialize jordan_crt_tuple_right (n) - L123
specialize jordan_crt_tuple_right (b) - L124
specialize jordan_crt_tuple_right (c) - L125
specialize jordan_crt_tuple_right (d) - L126
specialize jordan_crt_tuple_right (e) - L127
specialize jordan_crt_tuple_right (x) - L128
specialize jordan_crt_tuple_right (x1) - L129
specialize jordan_crt_tuple_right (k)
Original defined command ledger · 131 lines
- 0001
intro m - 0002
intro n - 0003
intro b - 0004
intro c - 0005
intro d - 0006
intro e - 0007
intro k - 0008
intro hm - 0009
intro hn - 0010
intro hcop - 0011
have hfamily : ∀ L. ∃ f. ∃ g. JordanTupleCRT(m,n,b,c,d,e,f,g,L) - 0012
specialize jordan_crt_tuple_exists (m) - 0013
specialize jordan_crt_tuple_exists (n) - 0014
specialize jordan_crt_tuple_exists (b) - 0015
specialize jordan_crt_tuple_exists (c) - 0016
specialize jordan_crt_tuple_exists (d) - 0017
specialize jordan_crt_tuple_exists (e) - 0018
apply jordan_crt_tuple_exists - 0019
exact hm - 0020
exact hn - 0021
exact hcop - 0022
have hraw : ∃ f. ∃ g. JordanTupleCRT(m,n,b,c,d,e,f,g,k) - 0023
specialize hfamily (k) - 0024
apply hfamily - 0025
cases hraw - 0026
cases hraw_witness - 0027
have hproduct : ~(m*n=0) - 0028
intro hz - 0029
specialize mul_ne_zero (m) - 0030
specialize mul_ne_zero (n) - 0031
apply mul_ne_zero - 0032
exact hm - 0033
exact hn - 0034
exact hz - 0035
have hnorm : ∃ u. ∃ v. BetaPrefixInto(u,v,k,m · n) ∧ JordanTupleCongruence(m · n,x,x1,u,v,k) - 0036
specialize jordan_tuple_normalize_exists (m*n) - 0037
specialize jordan_tuple_normalize_exists (x) - 0038
specialize jordan_tuple_normalize_exists (x1) - 0039
specialize jordan_tuple_normalize_exists (k) - 0040
apply jordan_tuple_normalize_exists - 0041
exact hproduct - 0042
cases hnorm - 0043
cases hnorm_witness - 0044
cases hnorm_witness_witness - 0045
exists x2 - 0046
exists x3 - 0047
split - 0048
exact hnorm_witness_witness_left - 0049
split - 0050
have hsmall : JordanTupleCongruence(m,x,x1,x2,x3,k) - 0051
specialize jordan_tuple_congruence_divisor (m) - 0052
specialize jordan_tuple_congruence_divisor (m*n) - 0053
specialize jordan_tuple_congruence_divisor (x) - 0054
specialize jordan_tuple_congruence_divisor (x1) - 0055
specialize jordan_tuple_congruence_divisor (x2) - 0056
specialize jordan_tuple_congruence_divisor (x3) - 0057
specialize jordan_tuple_congruence_divisor (k) - 0058
apply jordan_tuple_congruence_divisor - 0059
exists n - 0060
refl - 0061
exact hnorm_witness_witness_right - 0062
specialize jordan_tuple_congruence_trans (m) - 0063
specialize jordan_tuple_congruence_trans (x2) - 0064
specialize jordan_tuple_congruence_trans (x3) - 0065
specialize jordan_tuple_congruence_trans (x) - 0066
specialize jordan_tuple_congruence_trans (x1) - 0067
specialize jordan_tuple_congruence_trans (b) - 0068
specialize jordan_tuple_congruence_trans (c) - 0069
specialize jordan_tuple_congruence_trans (k) - 0070
apply jordan_tuple_congruence_trans - 0071
specialize jordan_tuple_congruence_symm (m) - 0072
specialize jordan_tuple_congruence_symm (x) - 0073
specialize jordan_tuple_congruence_symm (x1) - 0074
specialize jordan_tuple_congruence_symm (x2) - 0075
specialize jordan_tuple_congruence_symm (x3) - 0076
specialize jordan_tuple_congruence_symm (k) - 0077
apply jordan_tuple_congruence_symm - 0078
exact hsmall - 0079
specialize jordan_crt_tuple_left (m) - 0080
specialize jordan_crt_tuple_left (n) - 0081
specialize jordan_crt_tuple_left (b) - 0082
specialize jordan_crt_tuple_left (c) - 0083
specialize jordan_crt_tuple_left (d) - 0084
specialize jordan_crt_tuple_left (e) - 0085
specialize jordan_crt_tuple_left (x) - 0086
specialize jordan_crt_tuple_left (x1) - 0087
specialize jordan_crt_tuple_left (k) - 0088
apply jordan_crt_tuple_left - 0089
exact hraw_witness_witness - 0090
have hsmall : JordanTupleCongruence(n,x,x1,x2,x3,k) - 0091
specialize jordan_tuple_congruence_divisor (n) - 0092
specialize jordan_tuple_congruence_divisor (m*n) - 0093
specialize jordan_tuple_congruence_divisor (x) - 0094
specialize jordan_tuple_congruence_divisor (x1) - 0095
specialize jordan_tuple_congruence_divisor (x2) - 0096
specialize jordan_tuple_congruence_divisor (x3) - 0097
specialize jordan_tuple_congruence_divisor (k) - 0098
apply jordan_tuple_congruence_divisor - 0099
exists m - 0100
specialize mul_comm (m) - 0101
specialize mul_comm (n) - 0102
apply mul_comm - 0103
exact hnorm_witness_witness_right - 0104
specialize jordan_tuple_congruence_trans (n) - 0105
specialize jordan_tuple_congruence_trans (x2) - 0106
specialize jordan_tuple_congruence_trans (x3) - 0107
specialize jordan_tuple_congruence_trans (x) - 0108
specialize jordan_tuple_congruence_trans (x1) - 0109
specialize jordan_tuple_congruence_trans (d) - 0110
specialize jordan_tuple_congruence_trans (e) - 0111
specialize jordan_tuple_congruence_trans (k) - 0112
apply jordan_tuple_congruence_trans - 0113
specialize jordan_tuple_congruence_symm (n) - 0114
specialize jordan_tuple_congruence_symm (x) - 0115
specialize jordan_tuple_congruence_symm (x1) - 0116
specialize jordan_tuple_congruence_symm (x2) - 0117
specialize jordan_tuple_congruence_symm (x3) - 0118
specialize jordan_tuple_congruence_symm (k) - 0119
apply jordan_tuple_congruence_symm - 0120
exact hsmall - 0121
specialize jordan_crt_tuple_right (m) - 0122
specialize jordan_crt_tuple_right (n) - 0123
specialize jordan_crt_tuple_right (b) - 0124
specialize jordan_crt_tuple_right (c) - 0125
specialize jordan_crt_tuple_right (d) - 0126
specialize jordan_crt_tuple_right (e) - 0127
specialize jordan_crt_tuple_right (x) - 0128
specialize jordan_crt_tuple_right (x1) - 0129
specialize jordan_crt_tuple_right (k) - 0130
apply jordan_crt_tuple_right - 0131
exact hraw_witness_witness