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
∀ N. ∀ M. ∀ n. ∀ K. ∀ p. ∀ z. MobiusTable(N,M) → ¬n = 0 → Le(n,N) → Prime(p) → Dvd(p,n) → DivisorMask(M,n,n,K) → SignedPrefixSum(K,S n,z) → z = 0
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 133 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 (4)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–13
03Establish hmapL14–20
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor prime toggle permutation exists.
- L14
have hmap : ∃ r. ∃ s. DivisorPrimeTogglePrefix(n,p,r,s,S n) ∧ PermutationPrefix(r,s,S n)Definitions: DivisorPrimeTogglePrefix(n,p,r,s,S n)PermutationPrefix(r,s,S n)Original native command in the exact edition - L15
specialize divisor_prime_toggle_permutation_exists (n) - L16
specialize divisor_prime_toggle_permutation_exists (p) - L17
apply divisor_prime_toggle_permutation_exists - L18
exact hn - L19
exact hp - L20
exact hpn
04Separate the logical casesL21–26
05Establish hGL27–34
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor signed table reindex exists.
- L27
have hG : ∃ G. ArithTable(S n,G) ∧ ArithReindex(K,G,x,x1,S n)Definitions: ArithTable(S n,G)ArithReindex(K,G,x,x1,S n)Original native command in the exact edition - L28
specialize divisor_signed_table_reindex_exists (n) - L29
specialize divisor_signed_table_reindex_exists (K) - L30
specialize divisor_signed_table_reindex_exists (x) - L31
specialize divisor_signed_table_reindex_exists (x1) - L32
specialize divisor_signed_table_reindex_exists (S n) - L33
apply divisor_signed_table_reindex_exists - L34
exact hmask_left
06Separate the logical casesL35–36
07Establish hsumL37–42
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply arithmetic signed sum exists.
- L37
have hsum : ∃ w. SignedPrefixSum(x2,S n,w)Definitions: SignedPrefixSum(x2,S n,w)Original native command in the exact edition - L38
specialize arithmetic_signed_sum_exists (S n) - L39
specialize arithmetic_signed_sum_exists (x2) - L40
specialize arithmetic_signed_sum_exists (S n) - L41
apply arithmetic_signed_sum_exists - L42
exact hG_witness_left
08Separate the logical casesL43–43
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L43
cases hsum
09Establish hpointL44–50
Establish this local claim before using it. It is not an additional assumption.
- L44
have hpoint : ArithNegate(K,x2,S n)Definitions: ArithNegate(K,x2,S n)Original native command in the exact edition - L45
intro i - L46
intro a - L47
intro b - L48
intro hi - L49
intro ha - L50
intro hb
10Establish hiimageL51–54
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hmap witness witness left.
- L51
have hiimage : ∃ q. BetaAt(x,x1,i,q) ∧ DivisorPrimeToggle(n,p,i,q)Definitions: BetaAt(x,x1,i,q)DivisorPrimeToggle(n,p,i,q)Original native command in the exact edition - L52
specialize hmap_witness_witness_left (i) - L53
apply hmap_witness_witness_left - L54
exact hi
11Separate the logical casesL55–56
12Establish hqboundL57–66
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor prime toggle bounded.
13Use earlier factsL67–70
14Establish hvalueL71–77
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor signed table lookup.
- L71
have hvalue : ∃ v. ArithAt(K,x4,v)Definitions: ArithAt(K,x4,v)Original native command in the exact edition - L72
specialize divisor_signed_table_lookup (n) - L73
specialize divisor_signed_table_lookup (K) - L74
specialize divisor_signed_table_lookup (x4) - L75
apply divisor_signed_table_lookup - L76
exact hmask_left - L77
exact hqbound
15Separate the logical casesL78–78
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L78
cases hvalue
16Establish heqL79–88
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor signed table at functional.
- L79
have heq : x5=b - L80
specialize divisor_signed_table_at_functional (x2) - L81
specialize divisor_signed_table_at_functional (i) - L82
specialize divisor_signed_table_at_functional (x5) - L83
specialize divisor_signed_table_at_functional (b) - L84
apply divisor_signed_table_at_functional - L85
specialize hG_witness_right (i) - L86
specialize hG_witness_right (x4) - L87
specialize hG_witness_right (x5) - L88
apply hG_witness_right
17Use earlier factsL89–92
18Establish hnegL93–102
Establish this local claim before using it. It is not an additional assumption.
- L93
have hneg : SignedNegate(a,x5)Definitions: SignedNegate(a,x5)Original native command in the exact edition - L94
specialize mobius_divisor_mask_prime_toggle_negates (N) - L95
specialize mobius_divisor_mask_prime_toggle_negates (M) - L96
specialize mobius_divisor_mask_prime_toggle_negates (n) - L97
specialize mobius_divisor_mask_prime_toggle_negates (K) - L98
specialize mobius_divisor_mask_prime_toggle_negates (p) - L99
specialize mobius_divisor_mask_prime_toggle_negates (i) - L100
specialize mobius_divisor_mask_prime_toggle_negates (x4) - L101
specialize mobius_divisor_mask_prime_toggle_negates (a) - L102
specialize mobius_divisor_mask_prime_toggle_negates (x5)
19Use earlier factsL103–112
Instantiate or apply named facts and discharge the corresponding proof obligations.
20Use earlier factsL113–116
21Calculate and transport equalitiesL117–118
22Use earlier factsL119–128
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L119
exact hneg - L120
specialize anti_invariant_signed_permutation_sum_zero (K) - L121
specialize anti_invariant_signed_permutation_sum_zero (x2) - L122
specialize anti_invariant_signed_permutation_sum_zero (x) - L123
specialize anti_invariant_signed_permutation_sum_zero (x1) - L124
specialize anti_invariant_signed_permutation_sum_zero (S n) - L125
specialize anti_invariant_signed_permutation_sum_zero (z) - L126
specialize anti_invariant_signed_permutation_sum_zero (x3) - L127
apply anti_invariant_signed_permutation_sum_zero - L128
exact hmap_witness_witness_right_left
Original defined command ledger · 133 lines
- 0001
intro N - 0002
intro M - 0003
intro n - 0004
intro K - 0005
intro p - 0006
intro z - 0007
intro hmu - 0008
intro hn - 0009
intro hN - 0010
intro hp - 0011
intro hpn - 0012
intro hmask - 0013
intro hz - 0014
have hmap : ∃ r. ∃ s. DivisorPrimeTogglePrefix(n,p,r,s,S n) ∧ PermutationPrefix(r,s,S n) - 0015
specialize divisor_prime_toggle_permutation_exists (n) - 0016
specialize divisor_prime_toggle_permutation_exists (p) - 0017
apply divisor_prime_toggle_permutation_exists - 0018
exact hn - 0019
exact hp - 0020
exact hpn - 0021
cases hmap - 0022
cases hmap_witness - 0023
cases hmap_witness_witness - 0024
cases hmap_witness_witness_right - 0025
cases hmap_witness_witness_right_right - 0026
cases hmask - 0027
have hG : ∃ G. ArithTable(S n,G) ∧ ArithReindex(K,G,x,x1,S n) - 0028
specialize divisor_signed_table_reindex_exists (n) - 0029
specialize divisor_signed_table_reindex_exists (K) - 0030
specialize divisor_signed_table_reindex_exists (x) - 0031
specialize divisor_signed_table_reindex_exists (x1) - 0032
specialize divisor_signed_table_reindex_exists (S n) - 0033
apply divisor_signed_table_reindex_exists - 0034
exact hmask_left - 0035
cases hG - 0036
cases hG_witness - 0037
have hsum : ∃ w. SignedPrefixSum(x2,S n,w) - 0038
specialize arithmetic_signed_sum_exists (S n) - 0039
specialize arithmetic_signed_sum_exists (x2) - 0040
specialize arithmetic_signed_sum_exists (S n) - 0041
apply arithmetic_signed_sum_exists - 0042
exact hG_witness_left - 0043
cases hsum - 0044
have hpoint : ArithNegate(K,x2,S n) - 0045
intro i - 0046
intro a - 0047
intro b - 0048
intro hi - 0049
intro ha - 0050
intro hb - 0051
have hiimage : ∃ q. BetaAt(x,x1,i,q) ∧ DivisorPrimeToggle(n,p,i,q) - 0052
specialize hmap_witness_witness_left (i) - 0053
apply hmap_witness_witness_left - 0054
exact hi - 0055
cases hiimage - 0056
cases hiimage_witness - 0057
have hqbound : Le(x4,n) - 0058
specialize divisor_prime_toggle_bounded (n) - 0059
specialize divisor_prime_toggle_bounded (p) - 0060
specialize divisor_prime_toggle_bounded (i) - 0061
specialize divisor_prime_toggle_bounded (x4) - 0062
apply divisor_prime_toggle_bounded - 0063
exact hn - 0064
exact hp - 0065
exact hpn - 0066
specialize le_of_succ_le_succ (i) - 0067
specialize le_of_succ_le_succ (n) - 0068
apply le_of_succ_le_succ - 0069
exact hi - 0070
exact hiimage_witness_right - 0071
have hvalue : ∃ v. ArithAt(K,x4,v) - 0072
specialize divisor_signed_table_lookup (n) - 0073
specialize divisor_signed_table_lookup (K) - 0074
specialize divisor_signed_table_lookup (x4) - 0075
apply divisor_signed_table_lookup - 0076
exact hmask_left - 0077
exact hqbound - 0078
cases hvalue - 0079
have heq : x5=b - 0080
specialize divisor_signed_table_at_functional (x2) - 0081
specialize divisor_signed_table_at_functional (i) - 0082
specialize divisor_signed_table_at_functional (x5) - 0083
specialize divisor_signed_table_at_functional (b) - 0084
apply divisor_signed_table_at_functional - 0085
specialize hG_witness_right (i) - 0086
specialize hG_witness_right (x4) - 0087
specialize hG_witness_right (x5) - 0088
apply hG_witness_right - 0089
exact hi - 0090
exact hiimage_witness_left - 0091
exact hvalue_witness - 0092
exact hb - 0093
have hneg : SignedNegate(a,x5) - 0094
specialize mobius_divisor_mask_prime_toggle_negates (N) - 0095
specialize mobius_divisor_mask_prime_toggle_negates (M) - 0096
specialize mobius_divisor_mask_prime_toggle_negates (n) - 0097
specialize mobius_divisor_mask_prime_toggle_negates (K) - 0098
specialize mobius_divisor_mask_prime_toggle_negates (p) - 0099
specialize mobius_divisor_mask_prime_toggle_negates (i) - 0100
specialize mobius_divisor_mask_prime_toggle_negates (x4) - 0101
specialize mobius_divisor_mask_prime_toggle_negates (a) - 0102
specialize mobius_divisor_mask_prime_toggle_negates (x5) - 0103
apply mobius_divisor_mask_prime_toggle_negates - 0104
exact hmu - 0105
exact hn - 0106
exact hN - 0107
exact hp - 0108
exact hpn - 0109
exact hmask - 0110
specialize le_of_succ_le_succ (i) - 0111
specialize le_of_succ_le_succ (n) - 0112
apply le_of_succ_le_succ - 0113
exact hi - 0114
exact hiimage_witness_right - 0115
exact ha - 0116
exact hvalue_witness - 0117
rewrite heq at hneg - 0118
rewrite heq at hneg - 0119
exact hneg - 0120
specialize anti_invariant_signed_permutation_sum_zero (K) - 0121
specialize anti_invariant_signed_permutation_sum_zero (x2) - 0122
specialize anti_invariant_signed_permutation_sum_zero (x) - 0123
specialize anti_invariant_signed_permutation_sum_zero (x1) - 0124
specialize anti_invariant_signed_permutation_sum_zero (S n) - 0125
specialize anti_invariant_signed_permutation_sum_zero (z) - 0126
specialize anti_invariant_signed_permutation_sum_zero (x3) - 0127
apply anti_invariant_signed_permutation_sum_zero - 0128
exact hmap_witness_witness_right_left - 0129
exact hmap_witness_witness_right_right_left - 0130
exact hG_witness_right - 0131
exact hpoint - 0132
exact hz - 0133
exact hsum_witness