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
∀ a. ∀ b. ∀ d. ∀ k. a = b + d → ∃ x. ∃ y. ∃ z. ∃ n. ∃ m. ∃ i. ∃ j. PowerDifferenceSecondOrder(a,b,d,k,x,y,z,n,m,i,j)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 164 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–3
02Induction on kL4–5
03Construct an explicit witnessL6–12
04Separate the logical casesL13–13
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L13
split
05Use earlier factsL14–15
06Separate the logical casesL16–16
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L16
split
07Use earlier factsL17–18
08Separate the logical casesL19–19
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L19
split
09Use earlier factsL20–21
10Separate the logical casesL22–22
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L22
split
11Use earlier factsL23–24
12Separate the logical casesL25–25
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L25
split
13Use earlier factsL26–30
14Separate the logical casesL31–31
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L31
split
15Calculate and transport equalitiesL32–41
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
16Calculate and transport equalitiesL42–44
17Use earlier factsL45–45
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L45
apply add_comm
18Calculate and transport equalitiesL46–55
19Calculate and transport equalitiesL56–58
20Fix variables and assumptionsL59–59
Work with arbitrary variables or the premises of the current implication.
- L59
intro ha
21Establish hprefixL60–62
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply IH.
- L60
have hprefix : ∃ A. ∃ B. ∃ R. ∃ T. ∃ Q. ∃ C. ∃ H. PowerDifferenceSecondOrder(a,b,d,k,A,B,R,T,Q,C,H)Definitions: PowerDifferenceSecondOrder(a,b,d,k,A,B,R,T,Q,C,H)Original native command in the exact edition - L61
apply IH - L62
exact ha
22Separate the logical casesL63–72
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L63
cases hprefix - L64
cases hprefix_witness - L65
cases hprefix_witness_witness - L66
cases hprefix_witness_witness_witness - L67
cases hprefix_witness_witness_witness_witness - L68
cases hprefix_witness_witness_witness_witness_witness - L69
cases hprefix_witness_witness_witness_witness_witness_witness - L70
cases hprefix_witness_witness_witness_witness_witness_witness_witness - L71
cases hprefix_witness_witness_witness_witness_witness_witness_witness_right - L72
cases hprefix_witness_witness_witness_witness_witness_witness_witness_right_right
23Separate the logical casesL73–75
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
24Establish hBL76–85
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow successor pair mul.
- L76
have hB : x1 = b * x2 - L77
trans x2 * b - L78
specialize pow_successor_pair_mul (b) - L79
specialize pow_successor_pair_mul (S k) - L80
specialize pow_successor_pair_mul (S (S k)) - L81
specialize pow_successor_pair_mul (x2) - L82
specialize pow_successor_pair_mul (x1) - L83
apply pow_successor_pair_mul - L84
refl - L85
exact hprefix_witness_witness_witness_witness_witness_witness_witness_right_right_left
25Use earlier factsL86–87
26Establish hRL88–97
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow successor pair mul.
- L88
have hR : x2 = b * x3 - L89
trans x3 * b - L90
specialize pow_successor_pair_mul (b) - L91
specialize pow_successor_pair_mul (k) - L92
specialize pow_successor_pair_mul (S k) - L93
specialize pow_successor_pair_mul (x3) - L94
specialize pow_successor_pair_mul (x2) - L95
apply pow_successor_pair_mul - L96
refl - L97
exact hprefix_witness_witness_witness_witness_witness_witness_witness_right_right_right_left
27Use earlier factsL98–99
28Construct an explicit witnessL100–106
29Separate the logical casesL107–107
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L107
split
30Use earlier factsL108–114
Instantiate or apply named facts and discharge the corresponding proof obligations.
31Separate the logical casesL115–115
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L115
split
32Use earlier factsL116–122
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L116
specialize pow_successor_compose (b) - L117
specialize pow_successor_compose (S (S k)) - L118
specialize pow_successor_compose (x1) - L119
specialize pow_successor_compose (b * x1) - L120
apply pow_successor_compose - L121
exact hprefix_witness_witness_witness_witness_witness_witness_witness_right_left - L122
apply mul_comm
33Separate the logical casesL123–123
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L123
split
34Use earlier factsL124–124
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L124
exact hprefix_witness_witness_witness_witness_witness_witness_witness_right_left
35Separate the logical casesL125–125
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L125
split
36Use earlier factsL126–126
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L126
exact hprefix_witness_witness_witness_witness_witness_witness_witness_right_right_left
37Separate the logical casesL127–127
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L127
split
38Calculate and transport equalitiesL128–128
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L128
rewrite hprefix_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_left
39Use earlier factsL129–135
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L129
specialize lte_natural_difference_successor (a) - L130
specialize lte_natural_difference_successor (b) - L131
specialize lte_natural_difference_successor (d) - L132
specialize lte_natural_difference_successor (x1) - L133
specialize lte_natural_difference_successor (x4) - L134
apply lte_natural_difference_successor - L135
exact ha
40Separate the logical casesL136–136
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L136
split
41Calculate and transport equalitiesL137–138
42Use earlier factsL139–148
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L139
specialize lte_first_correction_successor (a) - L140
specialize lte_first_correction_successor (b) - L141
specialize lte_first_correction_successor (d) - L142
specialize lte_first_correction_successor (S (S k)) - L143
specialize lte_first_correction_successor (x2) - L144
specialize lte_first_correction_successor (x4) - L145
specialize lte_first_correction_successor (x5) - L146
apply lte_first_correction_successor - L147
exact ha - L148
exact hprefix_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_left
43Calculate and transport equalitiesL149–149
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L149
rewrite hR
44Establish hfirstL150–159
Establish this local claim before using it. It is not an additional assumption.
- L150
have hfirst : x4 = S (S k) * (b * x3) + d * x5 - L151
trans S (S k) * x2 + d * x5 - L152
exact hprefix_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_left - L153
rewrite hR - L154
refl - L155
specialize lte_twice_correction_successor (b) - L156
specialize lte_twice_correction_successor (d) - L157
specialize lte_twice_correction_successor (S k) - L158
specialize lte_twice_correction_successor (x3) - L159
specialize lte_twice_correction_successor (x5)
45Use earlier factsL160–164
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original defined command ledger · 164 lines
- 0001
intro a - 0002
intro b - 0003
intro d - 0004
induction k - 0005
intro ha - 0006
exists a * a - 0007
exists b * b - 0008
exists b - 0009
exists 1 - 0010
exists a + b - 0011
exists 1 - 0012
exists 0 - 0013
split - 0014
specialize lte_power_two_exact (a) - 0015
apply lte_power_two_exact - 0016
split - 0017
specialize lte_power_two_exact (b) - 0018
apply lte_power_two_exact - 0019
split - 0020
specialize lte_power_one_exact (b) - 0021
apply lte_power_one_exact - 0022
split - 0023
specialize lte_power_zero_exact (b) - 0024
apply lte_power_zero_exact - 0025
split - 0026
specialize lte_natural_difference_square (a) - 0027
specialize lte_natural_difference_square (b) - 0028
specialize lte_natural_difference_square (d) - 0029
apply lte_natural_difference_square - 0030
exact ha - 0031
split - 0032
rewrite ha - 0033
trans ((b) + ((d) + (b))) - 0034
simp [add_mul, mul_add, mul_assoc, add_assoc, mul_succ_left, mul_zero_left, zero_add, one_mul, mul_one] - 0035
trans ((b) + ((d) + (b))) - 0036
congr - 0037
refl - 0038
congr - 0039
refl - 0040
refl - 0041
trans ((b) + ((b) + (d))) - 0042
congr - 0043
refl - 0044
trans ((b) + (d)) - 0045
apply add_comm - 0046
congr - 0047
refl - 0048
refl - 0049
trans ((b) + ((b) + (d))) - 0050
symm - 0051
congr - 0052
refl - 0053
congr - 0054
refl - 0055
refl - 0056
symm - 0057
simp [add_mul, mul_add, mul_assoc, add_assoc, mul_succ_left, mul_zero_left, zero_add, one_mul, mul_one] - 0058
simp [mul_one] - 0059
intro ha - 0060
have hprefix : ∃ A. ∃ B. ∃ R. ∃ T. ∃ Q. ∃ C. ∃ H. PowerDifferenceSecondOrder(a,b,d,k,A,B,R,T,Q,C,H) - 0061
apply IH - 0062
exact ha - 0063
cases hprefix - 0064
cases hprefix_witness - 0065
cases hprefix_witness_witness - 0066
cases hprefix_witness_witness_witness - 0067
cases hprefix_witness_witness_witness_witness - 0068
cases hprefix_witness_witness_witness_witness_witness - 0069
cases hprefix_witness_witness_witness_witness_witness_witness - 0070
cases hprefix_witness_witness_witness_witness_witness_witness_witness - 0071
cases hprefix_witness_witness_witness_witness_witness_witness_witness_right - 0072
cases hprefix_witness_witness_witness_witness_witness_witness_witness_right_right - 0073
cases hprefix_witness_witness_witness_witness_witness_witness_witness_right_right_right - 0074
cases hprefix_witness_witness_witness_witness_witness_witness_witness_right_right_right_right - 0075
cases hprefix_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right - 0076
have hB : x1 = b * x2 - 0077
trans x2 * b - 0078
specialize pow_successor_pair_mul (b) - 0079
specialize pow_successor_pair_mul (S k) - 0080
specialize pow_successor_pair_mul (S (S k)) - 0081
specialize pow_successor_pair_mul (x2) - 0082
specialize pow_successor_pair_mul (x1) - 0083
apply pow_successor_pair_mul - 0084
refl - 0085
exact hprefix_witness_witness_witness_witness_witness_witness_witness_right_right_left - 0086
exact hprefix_witness_witness_witness_witness_witness_witness_witness_right_left - 0087
apply mul_comm - 0088
have hR : x2 = b * x3 - 0089
trans x3 * b - 0090
specialize pow_successor_pair_mul (b) - 0091
specialize pow_successor_pair_mul (k) - 0092
specialize pow_successor_pair_mul (S k) - 0093
specialize pow_successor_pair_mul (x3) - 0094
specialize pow_successor_pair_mul (x2) - 0095
apply pow_successor_pair_mul - 0096
refl - 0097
exact hprefix_witness_witness_witness_witness_witness_witness_witness_right_right_right_left - 0098
exact hprefix_witness_witness_witness_witness_witness_witness_witness_right_right_left - 0099
apply mul_comm - 0100
exists a * x - 0101
exists b * x1 - 0102
exists x1 - 0103
exists x2 - 0104
exists a * x4 + x1 - 0105
exists b * x5 + x4 - 0106
exists b * x6 + 2 * x5 - 0107
split - 0108
specialize pow_successor_compose (a) - 0109
specialize pow_successor_compose (S (S k)) - 0110
specialize pow_successor_compose (x) - 0111
specialize pow_successor_compose (a * x) - 0112
apply pow_successor_compose - 0113
exact hprefix_witness_witness_witness_witness_witness_witness_witness_left - 0114
apply mul_comm - 0115
split - 0116
specialize pow_successor_compose (b) - 0117
specialize pow_successor_compose (S (S k)) - 0118
specialize pow_successor_compose (x1) - 0119
specialize pow_successor_compose (b * x1) - 0120
apply pow_successor_compose - 0121
exact hprefix_witness_witness_witness_witness_witness_witness_witness_right_left - 0122
apply mul_comm - 0123
split - 0124
exact hprefix_witness_witness_witness_witness_witness_witness_witness_right_left - 0125
split - 0126
exact hprefix_witness_witness_witness_witness_witness_witness_witness_right_right_left - 0127
split - 0128
rewrite hprefix_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_left - 0129
specialize lte_natural_difference_successor (a) - 0130
specialize lte_natural_difference_successor (b) - 0131
specialize lte_natural_difference_successor (d) - 0132
specialize lte_natural_difference_successor (x1) - 0133
specialize lte_natural_difference_successor (x4) - 0134
apply lte_natural_difference_successor - 0135
exact ha - 0136
split - 0137
rewrite hB - 0138
rewrite hB - 0139
specialize lte_first_correction_successor (a) - 0140
specialize lte_first_correction_successor (b) - 0141
specialize lte_first_correction_successor (d) - 0142
specialize lte_first_correction_successor (S (S k)) - 0143
specialize lte_first_correction_successor (x2) - 0144
specialize lte_first_correction_successor (x4) - 0145
specialize lte_first_correction_successor (x5) - 0146
apply lte_first_correction_successor - 0147
exact ha - 0148
exact hprefix_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_left - 0149
rewrite hR - 0150
have hfirst : x4 = S (S k) * (b * x3) + d * x5 - 0151
trans S (S k) * x2 + d * x5 - 0152
exact hprefix_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_left - 0153
rewrite hR - 0154
refl - 0155
specialize lte_twice_correction_successor (b) - 0156
specialize lte_twice_correction_successor (d) - 0157
specialize lte_twice_correction_successor (S k) - 0158
specialize lte_twice_correction_successor (x3) - 0159
specialize lte_twice_correction_successor (x5) - 0160
specialize lte_twice_correction_successor (x4) - 0161
specialize lte_twice_correction_successor (x6) - 0162
apply lte_twice_correction_successor - 0163
exact hfirst - 0164
exact hprefix_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_right