Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved. Exact original first-admission records.
All displayed hypotheses are required. Powers and positive differences are actual existential outputs. The proof constructs second-order correction identities and iterates the prime step; no binomial expansion or LTE oracle is assumed. The 2-adic variants remain separate open targets.
Exact theorem in conservative defined notation
∀ p. ∀ a. ∀ b. ∀ d. ∀ n. ¬p = 1 ∧ (∀ x. ∀ y. p = x · y → x = 1 ∨ y = 1) → a = b + d → Dvd(p,d) → ¬Dvd(p,b) → ¬Dvd(p,n) → ∃ x. ∃ y. ∃ z. Pow(a,n,x) ∧ (Pow(b,n,y) ∧ (x = y + d · z ∧ ¬Dvd(p,z)))
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 150 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
02Use earlier factsL11–12
03Separate the logical casesL13–13
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L13
cases eq_decidable
04Construct an explicit witnessL14–16
05Separate the logical casesL17–17
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L17
split
06Use earlier factsL18–22
Instantiate or apply named facts and discharge the corresponding proof obligations.
07Calculate and transport equalitiesL23–23
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L23
symm
08Use earlier factsL24–26
09Separate the logical casesL27–27
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L27
split
10Use earlier factsL28–32
Instantiate or apply named facts and discharge the corresponding proof obligations.
11Calculate and transport equalitiesL33–33
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L33
symm
12Use earlier factsL34–36
13Separate the logical casesL37–37
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L37
split
14Calculate and transport equalitiesL38–38
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L38
trans b + d
15Use earlier factsL39–39
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L39
exact ha
16Calculate and transport equalitiesL40–42
17Use earlier factsL43–43
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L43
apply mul_one
18Fix variables and assumptionsL44–44
Work with arbitrary variables or the premises of the current implication.
- L44
intro hdiv1
19Use earlier factsL45–48
20Establish hnzeroL49–55
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply lte nondivisor nonzero.
21Establish hfirstindexL56–59
22Separate the logical casesL60–60
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L60
cases hfirstindex
23Establish hindexzeroL61–67
24Establish hsecondindexL68–71
25Separate the logical casesL72–72
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L72
cases hsecondindex
26Establish hnindexL73–77
27Establish hsecondL78–84
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply lte power difference second order exists.
- L78
have hsecond : ∃ A. ∃ B. ∃ R. ∃ T. ∃ Q. ∃ C. ∃ H. PowerDifferenceSecondOrder(a,b,d,x1,A,B,R,T,Q,C,H)Definitions: PowerDifferenceSecondOrder(a,b,d,x1,A,B,R,T,Q,C,H)Original native command in the exact edition - L79
specialize lte_power_difference_second_order_exists (a) - L80
specialize lte_power_difference_second_order_exists (b) - L81
specialize lte_power_difference_second_order_exists (d) - L82
specialize lte_power_difference_second_order_exists (x1) - L83
apply lte_power_difference_second_order_exists - L84
exact ha
28Separate the logical casesL85–94
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L85
cases hsecond - L86
cases hsecond_witness - L87
cases hsecond_witness_witness - L88
cases hsecond_witness_witness_witness - L89
cases hsecond_witness_witness_witness_witness - L90
cases hsecond_witness_witness_witness_witness_witness - L91
cases hsecond_witness_witness_witness_witness_witness_witness - L92
cases hsecond_witness_witness_witness_witness_witness_witness_witness - L93
cases hsecond_witness_witness_witness_witness_witness_witness_witness_right - L94
cases hsecond_witness_witness_witness_witness_witness_witness_witness_right_right
29Separate the logical casesL95–97
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
30Construct an explicit witnessL98–100
31Separate the logical casesL101–101
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L101
split
32Use earlier factsL102–106
Instantiate or apply named facts and discharge the corresponding proof obligations.
33Calculate and transport equalitiesL107–107
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L107
symm
34Use earlier factsL108–109
35Separate the logical casesL110–110
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L110
split
36Use earlier factsL111–115
Instantiate or apply named facts and discharge the corresponding proof obligations.
37Calculate and transport equalitiesL116–116
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L116
symm
38Use earlier factsL117–118
39Separate the logical casesL119–119
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L119
split
40Use earlier factsL120–120
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L120
exact hsecond_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_left
41Fix variables and assumptionsL121–121
Work with arbitrary variables or the premises of the current implication.
- L121
intro hQdiv
42Establish hfirstL122–131
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply lte nondivisor add multiple.
- L122
have hfirst : x6 = n * x4 + d * x7 - L123
rewrite hnindex - L124
exact hsecond_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_left - L125
rewrite hfirst at hQdiv - L126
specialize lte_nondivisor_add_multiple (p) - L127
specialize lte_nondivisor_add_multiple (n * x4) - L128
specialize lte_nondivisor_add_multiple (d) - L129
specialize lte_nondivisor_add_multiple (x7) - L130
apply lte_nondivisor_add_multiple - L131
intro hproduct
43Use earlier factsL132–137
44Fix variables and assumptionsL138–138
Work with arbitrary variables or the premises of the current implication.
- L138
intro hRdiv
45Use earlier factsL139–148
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L139
specialize lte_nondivisor_power (p) - L140
specialize lte_nondivisor_power (b) - L141
specialize lte_nondivisor_power (S x1) - L142
specialize lte_nondivisor_power (x4) - L143
apply lte_nondivisor_power - L144
exact hp - L145
exact hb - L146
exact hsecond_witness_witness_witness_witness_witness_witness_witness_right_right_left - L147
exact hRdiv - L148
exact hproduct
Original defined command ledger · 150 lines
- 0001
intro p - 0002
intro a - 0003
intro b - 0004
intro d - 0005
intro n - 0006
intro hp - 0007
intro ha - 0008
intro hd - 0009
intro hb - 0010
intro hn - 0011
specialize eq_decidable n - 0012
specialize eq_decidable 1 - 0013
cases eq_decidable - 0014
exists a - 0015
exists b - 0016
exists 1 - 0017
split - 0018
specialize lte_power_exponent_eq_transport (a) - 0019
specialize lte_power_exponent_eq_transport (1) - 0020
specialize lte_power_exponent_eq_transport (n) - 0021
specialize lte_power_exponent_eq_transport (a) - 0022
apply lte_power_exponent_eq_transport - 0023
symm - 0024
exact eq_decidable_left - 0025
specialize lte_power_one_exact (a) - 0026
apply lte_power_one_exact - 0027
split - 0028
specialize lte_power_exponent_eq_transport (b) - 0029
specialize lte_power_exponent_eq_transport (1) - 0030
specialize lte_power_exponent_eq_transport (n) - 0031
specialize lte_power_exponent_eq_transport (b) - 0032
apply lte_power_exponent_eq_transport - 0033
symm - 0034
exact eq_decidable_left - 0035
specialize lte_power_one_exact (b) - 0036
apply lte_power_one_exact - 0037
split - 0038
trans b + d - 0039
exact ha - 0040
congr - 0041
refl - 0042
symm - 0043
apply mul_one - 0044
intro hdiv1 - 0045
specialize lte_prime_nondivisor_one (p) - 0046
apply lte_prime_nondivisor_one - 0047
exact hp - 0048
exact hdiv1 - 0049
have hnzero : ~(n = 0) - 0050
intro hz - 0051
specialize lte_nondivisor_nonzero (p) - 0052
specialize lte_nondivisor_nonzero (n) - 0053
apply lte_nondivisor_nonzero - 0054
exact hn - 0055
exact hz - 0056
have hfirstindex : exists k. n = S k - 0057
specialize nonzero_is_succ (n) - 0058
apply nonzero_is_succ - 0059
exact hnzero - 0060
cases hfirstindex - 0061
have hindexzero : ~(x = 0) - 0062
intro hxzero - 0063
apply eq_decidable_right - 0064
trans S x - 0065
exact hfirstindex_witness - 0066
rewrite hxzero - 0067
refl - 0068
have hsecondindex : exists k. x = S k - 0069
specialize nonzero_is_succ (x) - 0070
apply nonzero_is_succ - 0071
exact hindexzero - 0072
cases hsecondindex - 0073
have hnindex : n = S (S x1) - 0074
trans S x - 0075
exact hfirstindex_witness - 0076
rewrite hsecondindex_witness - 0077
refl - 0078
have hsecond : ∃ A. ∃ B. ∃ R. ∃ T. ∃ Q. ∃ C. ∃ H. PowerDifferenceSecondOrder(a,b,d,x1,A,B,R,T,Q,C,H) - 0079
specialize lte_power_difference_second_order_exists (a) - 0080
specialize lte_power_difference_second_order_exists (b) - 0081
specialize lte_power_difference_second_order_exists (d) - 0082
specialize lte_power_difference_second_order_exists (x1) - 0083
apply lte_power_difference_second_order_exists - 0084
exact ha - 0085
cases hsecond - 0086
cases hsecond_witness - 0087
cases hsecond_witness_witness - 0088
cases hsecond_witness_witness_witness - 0089
cases hsecond_witness_witness_witness_witness - 0090
cases hsecond_witness_witness_witness_witness_witness - 0091
cases hsecond_witness_witness_witness_witness_witness_witness - 0092
cases hsecond_witness_witness_witness_witness_witness_witness_witness - 0093
cases hsecond_witness_witness_witness_witness_witness_witness_witness_right - 0094
cases hsecond_witness_witness_witness_witness_witness_witness_witness_right_right - 0095
cases hsecond_witness_witness_witness_witness_witness_witness_witness_right_right_right - 0096
cases hsecond_witness_witness_witness_witness_witness_witness_witness_right_right_right_right - 0097
cases hsecond_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right - 0098
exists x2 - 0099
exists x3 - 0100
exists x6 - 0101
split - 0102
specialize lte_power_exponent_eq_transport (a) - 0103
specialize lte_power_exponent_eq_transport (S (S x1)) - 0104
specialize lte_power_exponent_eq_transport (n) - 0105
specialize lte_power_exponent_eq_transport (x2) - 0106
apply lte_power_exponent_eq_transport - 0107
symm - 0108
exact hnindex - 0109
exact hsecond_witness_witness_witness_witness_witness_witness_witness_left - 0110
split - 0111
specialize lte_power_exponent_eq_transport (b) - 0112
specialize lte_power_exponent_eq_transport (S (S x1)) - 0113
specialize lte_power_exponent_eq_transport (n) - 0114
specialize lte_power_exponent_eq_transport (x3) - 0115
apply lte_power_exponent_eq_transport - 0116
symm - 0117
exact hnindex - 0118
exact hsecond_witness_witness_witness_witness_witness_witness_witness_right_left - 0119
split - 0120
exact hsecond_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_left - 0121
intro hQdiv - 0122
have hfirst : x6 = n * x4 + d * x7 - 0123
rewrite hnindex - 0124
exact hsecond_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_left - 0125
rewrite hfirst at hQdiv - 0126
specialize lte_nondivisor_add_multiple (p) - 0127
specialize lte_nondivisor_add_multiple (n * x4) - 0128
specialize lte_nondivisor_add_multiple (d) - 0129
specialize lte_nondivisor_add_multiple (x7) - 0130
apply lte_nondivisor_add_multiple - 0131
intro hproduct - 0132
specialize prime_nondivisor_mul (p) - 0133
specialize prime_nondivisor_mul (n) - 0134
specialize prime_nondivisor_mul (x4) - 0135
apply prime_nondivisor_mul - 0136
exact hp - 0137
exact hn - 0138
intro hRdiv - 0139
specialize lte_nondivisor_power (p) - 0140
specialize lte_nondivisor_power (b) - 0141
specialize lte_nondivisor_power (S x1) - 0142
specialize lte_nondivisor_power (x4) - 0143
apply lte_nondivisor_power - 0144
exact hp - 0145
exact hb - 0146
exact hsecond_witness_witness_witness_witness_witness_witness_witness_right_right_left - 0147
exact hRdiv - 0148
exact hproduct - 0149
exact hd - 0150
exact hQdiv