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. ∀ a. ∀ b. Prime(p) → PrimeFactorToggle(p,d,e) → Mobius(d,a) → Mobius(e,b) → SignedNegate(a,b)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 80 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.
01Fix variables and assumptionsL1–9
02Separate the logical casesL10–11
03Calculate and transport equalitiesL12–19
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
04Use earlier factsL20–28
Instantiate or apply named facts and discharge the corresponding proof obligations.
05Separate the logical casesL29–30
06Calculate and transport equalitiesL31–38
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
07Use earlier factsL39–48
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L39
specialize signed_negate_symmetric (b) - L40
specialize signed_negate_symmetric (a) - L41
apply signed_negate_symmetric - L42
specialize mobius_fresh_prime_negates (p) - L43
specialize mobius_fresh_prime_negates (e) - L44
specialize mobius_fresh_prime_negates (b) - L45
specialize mobius_fresh_prime_negates (a) - L46
apply mobius_fresh_prime_negates - L47
exact hp - L48
exact ht_right_left_right
08Use earlier factsL49–50
09Separate the logical casesL51–51
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L51
cases ht_right_right
10Establish hzeroaL52–59
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mobius prime square value zero.
11Establish hzerobL60–69
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mobius prime square value zero.
- L60
have hzerob : b=0 - L61
specialize mobius_prime_square_value_zero (d) - L62
specialize mobius_prime_square_value_zero (p) - L63
specialize mobius_prime_square_value_zero (b) - L64
apply mobius_prime_square_value_zero - L65
exact hp - L66
exact ht_right_right_left - L67
rewrite ht_right_right_right at hb - L68
rewrite ht_right_right_right at hb - L69
rewrite ht_right_right_right at hb
12Calculate and transport equalitiesL70–74
13Use earlier factsL75–75
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L75
exact hb
14Calculate and transport equalitiesL76–79
15Use earlier factsL80–80
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L80
apply signed_negate_zero
Original defined command ledger · 80 lines
- 0001
intro p - 0002
intro d - 0003
intro e - 0004
intro a - 0005
intro b - 0006
intro hp - 0007
intro ht - 0008
intro ha - 0009
intro hb - 0010
cases ht - 0011
cases ht_left - 0012
rewrite ht_left_right at hb - 0013
rewrite ht_left_right at hb - 0014
rewrite ht_left_right at hb - 0015
rewrite ht_left_right at hb - 0016
rewrite ht_left_right at hb - 0017
rewrite ht_left_right at hb - 0018
rewrite ht_left_right at hb - 0019
rewrite ht_left_right at hb - 0020
specialize mobius_fresh_prime_negates (p) - 0021
specialize mobius_fresh_prime_negates (d) - 0022
specialize mobius_fresh_prime_negates (a) - 0023
specialize mobius_fresh_prime_negates (b) - 0024
apply mobius_fresh_prime_negates - 0025
exact hp - 0026
exact ht_left_left - 0027
exact ha - 0028
exact hb - 0029
cases ht_right - 0030
cases ht_right_left - 0031
rewrite ht_right_left_left at ha - 0032
rewrite ht_right_left_left at ha - 0033
rewrite ht_right_left_left at ha - 0034
rewrite ht_right_left_left at ha - 0035
rewrite ht_right_left_left at ha - 0036
rewrite ht_right_left_left at ha - 0037
rewrite ht_right_left_left at ha - 0038
rewrite ht_right_left_left at ha - 0039
specialize signed_negate_symmetric (b) - 0040
specialize signed_negate_symmetric (a) - 0041
apply signed_negate_symmetric - 0042
specialize mobius_fresh_prime_negates (p) - 0043
specialize mobius_fresh_prime_negates (e) - 0044
specialize mobius_fresh_prime_negates (b) - 0045
specialize mobius_fresh_prime_negates (a) - 0046
apply mobius_fresh_prime_negates - 0047
exact hp - 0048
exact ht_right_left_right - 0049
exact hb - 0050
exact ha - 0051
cases ht_right_right - 0052
have hzeroa : a=0 - 0053
specialize mobius_prime_square_value_zero (d) - 0054
specialize mobius_prime_square_value_zero (p) - 0055
specialize mobius_prime_square_value_zero (a) - 0056
apply mobius_prime_square_value_zero - 0057
exact hp - 0058
exact ht_right_right_left - 0059
exact ha - 0060
have hzerob : b=0 - 0061
specialize mobius_prime_square_value_zero (d) - 0062
specialize mobius_prime_square_value_zero (p) - 0063
specialize mobius_prime_square_value_zero (b) - 0064
apply mobius_prime_square_value_zero - 0065
exact hp - 0066
exact ht_right_right_left - 0067
rewrite ht_right_right_right at hb - 0068
rewrite ht_right_right_right at hb - 0069
rewrite ht_right_right_right at hb - 0070
rewrite ht_right_right_right at hb - 0071
rewrite ht_right_right_right at hb - 0072
rewrite ht_right_right_right at hb - 0073
rewrite ht_right_right_right at hb - 0074
rewrite ht_right_right_right at hb - 0075
exact hb - 0076
rewrite hzeroa - 0077
rewrite hzeroa - 0078
rewrite hzerob - 0079
rewrite hzerob - 0080
apply signed_negate_zero