Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.
The input n is positive. Signed code 2 denotes +1, so the actual sum is +1 at n=1 and zero for n>1. The positive-values result permits arbitrary F(0), which the divisor mask excludes. Prime-square multiples contribute zero. Full G007 inversion is established in its separate family.
Exact theorem in conservative defined notation
∀ p. ∀ d. ∀ e. ∀ f. ¬p = 0 → PrimeFactorToggle(p,d,e) → PrimeFactorToggle(p,d,f) → e = f
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 88 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 (1)
01Fix variables and assumptionsL1–7
02Separate the logical casesL8–11
03Calculate and transport equalitiesL12–12
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L12
trans p*d
04Use earlier factsL13–13
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L13
exact he_left_right
05Calculate and transport equalitiesL14–14
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L14
symm
06Use earlier factsL15–15
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L15
exact hf_left_right
07Separate the logical casesL16–18
08Use earlier factsL19–19
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L19
apply he_left_left
09Construct an explicit witnessL20–20
Supply the displayed value, then prove that it has the required property.
- L20
exists f
10Use earlier factsL21–21
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L21
exact hf_right_left_left
11Separate the logical casesL22–23
12Use earlier factsL24–29
13Construct an explicit witnessL30–30
Supply the displayed value, then prove that it has the required property.
- L30
exists p
14Calculate and transport equalitiesL31–31
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L31
refl
15Separate the logical casesL32–36
16Use earlier factsL37–37
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L37
apply hf_left_left
17Construct an explicit witnessL38–38
Supply the displayed value, then prove that it has the required property.
- L38
exists e
18Use earlier factsL39–39
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L39
exact he_right_left_left
19Separate the logical casesL40–41
20Use earlier factsL42–46
21Calculate and transport equalitiesL47–48
22Use earlier factsL49–50
23Separate the logical casesL51–52
24Use earlier factsL53–60
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L53
apply he_right_left_right - L54
specialize prime_toggle_square_quotient_divides (p) - L55
specialize prime_toggle_square_quotient_divides (d) - L56
specialize prime_toggle_square_quotient_divides (e) - L57
apply prime_toggle_square_quotient_divides - L58
exact hp - L59
exact he_right_left_left - L60
exact hf_right_right_left
25Separate the logical casesL61–64
26Use earlier factsL65–70
27Construct an explicit witnessL71–71
Supply the displayed value, then prove that it has the required property.
- L71
exists p
28Calculate and transport equalitiesL72–72
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L72
refl
29Separate the logical casesL73–75
30Use earlier factsL76–83
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L76
apply hf_right_left_right - L77
specialize prime_toggle_square_quotient_divides (p) - L78
specialize prime_toggle_square_quotient_divides (d) - L79
specialize prime_toggle_square_quotient_divides (f) - L80
apply prime_toggle_square_quotient_divides - L81
exact hp - L82
exact hf_right_left_left - L83
exact he_right_right_left
31Separate the logical casesL84–84
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L84
cases hf_right_right
32Calculate and transport equalitiesL85–85
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L85
trans d
33Use earlier factsL86–86
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L86
exact he_right_right_right
34Calculate and transport equalitiesL87–87
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L87
symm
35Use earlier factsL88–88
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L88
exact hf_right_right_right
Original defined command ledger · 88 lines
- 0001
intro p - 0002
intro d - 0003
intro e - 0004
intro f - 0005
intro hp - 0006
intro he - 0007
intro hf - 0008
cases he - 0009
cases he_left - 0010
cases hf - 0011
cases hf_left - 0012
trans p*d - 0013
exact he_left_right - 0014
symm - 0015
exact hf_left_right - 0016
cases hf_right - 0017
cases hf_right_left - 0018
exfalso - 0019
apply he_left_left - 0020
exists f - 0021
exact hf_right_left_left - 0022
cases hf_right_right - 0023
exfalso - 0024
apply he_left_left - 0025
specialize multiple_trans (p*p) - 0026
specialize multiple_trans (p) - 0027
specialize multiple_trans (d) - 0028
apply multiple_trans - 0029
exact hf_right_right_left - 0030
exists p - 0031
refl - 0032
cases he_right - 0033
cases he_right_left - 0034
cases hf - 0035
cases hf_left - 0036
exfalso - 0037
apply hf_left_left - 0038
exists e - 0039
exact he_right_left_left - 0040
cases hf_right - 0041
cases hf_right_left - 0042
specialize mul_left_cancel_nonzero (p) - 0043
specialize mul_left_cancel_nonzero (e) - 0044
specialize mul_left_cancel_nonzero (f) - 0045
apply mul_left_cancel_nonzero - 0046
exact hp - 0047
trans d - 0048
symm - 0049
exact he_right_left_left - 0050
exact hf_right_left_left - 0051
cases hf_right_right - 0052
exfalso - 0053
apply he_right_left_right - 0054
specialize prime_toggle_square_quotient_divides (p) - 0055
specialize prime_toggle_square_quotient_divides (d) - 0056
specialize prime_toggle_square_quotient_divides (e) - 0057
apply prime_toggle_square_quotient_divides - 0058
exact hp - 0059
exact he_right_left_left - 0060
exact hf_right_right_left - 0061
cases he_right_right - 0062
cases hf - 0063
cases hf_left - 0064
exfalso - 0065
apply hf_left_left - 0066
specialize multiple_trans (p*p) - 0067
specialize multiple_trans (p) - 0068
specialize multiple_trans (d) - 0069
apply multiple_trans - 0070
exact he_right_right_left - 0071
exists p - 0072
refl - 0073
cases hf_right - 0074
cases hf_right_left - 0075
exfalso - 0076
apply hf_right_left_right - 0077
specialize prime_toggle_square_quotient_divides (p) - 0078
specialize prime_toggle_square_quotient_divides (d) - 0079
specialize prime_toggle_square_quotient_divides (f) - 0080
apply prime_toggle_square_quotient_divides - 0081
exact hp - 0082
exact hf_right_left_left - 0083
exact he_right_right_left - 0084
cases hf_right_right - 0085
trans d - 0086
exact he_right_right_right - 0087
symm - 0088
exact hf_right_right_right