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
∀ F. ∀ G. ∀ l. ∀ a. ∀ b. ArithNegate(F,G,l) → SignedPrefixSum(F,l,a) → SignedPrefixSum(G,l,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 103 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–8
02Separate the logical casesL9–17
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L9
cases hF - L10
cases hF_witness - L11
cases hF_witness_witness - L12
cases hF_witness_witness_witness - L13
cases hF_witness_witness_witness_witness - L14
cases hF_witness_witness_witness_witness_witness - L15
cases hF_witness_witness_witness_witness_witness_witness - L16
cases hF_witness_witness_witness_witness_witness_witness_right - L17
cases hF_witness_witness_witness_witness_witness_witness_right_right
03Establish hnL18–20
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed negate total.
- L18
have hn : ∃ v. SignedNegate(a,v)Definitions: SignedNegate(a,v)Original native command in the exact edition - L19
specialize signed_negate_total (a) - L20
apply signed_negate_total
04Separate the logical casesL21–21
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L21
cases hn
05Establish hHL22–31
Establish this local claim before using it. It is not an additional assumption.
- L22
have hH : SignedPrefixSum(((x2 + x3) · S (x2 + x3) + (x3 + x3) + ((x + x1) · S (x + x1) + (x1 + x1))) · S ((x2 + x3) · S (x2 + x3) + (x3 + x3) + ((x + x1) · S (x + x1) + (x1 + x1))) + ((x + x1) · S (x + x1) + (x1 + x1) + ((x + x1) · S (x + x1) + (x1 + x1))),l,x6)Definitions: SignedPrefixSum(((x2 + x3) · S (x2 + x3) + (x3 + x3) + ((x + x1) · S (x + x1) + (x1 + x1))) · S ((x2 + x3) · S (x2 + x3) + (x3 + x3) + ((x + x1) · S (x + x1) + (x1 + x1))) + ((x + x1) · S (x + x1) + (x1 + x1) + ((x + x1) · S (x + x1) + (x1 + x1))),l,x6)Original native command in the exact edition - L23
specialize divisor_signed_sum_negation_transport (F) - L24
specialize divisor_signed_sum_negation_transport (((((x2) + (x3)) * S ((x2) + (x3)) + ((x3) + (x3))) + (((x) + (x1)) * S ((x) + (x1)) + ((x1) + (x1)))) * S ((((x2) + (x3)) * S ((x2) + (x3)) + ((x3) + (x3))) + (((x) + (x1)) * S ((x) + (x1)) + ((x1) + (x1)))) + ((((x) + (x1)) * S ((x) + (x1)) + ((x1) + (x1))) + (((x) + (x1)) * S ((x) + (x1)) + ((x1) + (x1))))) - L25
specialize divisor_signed_sum_negation_transport (x) - L26
specialize divisor_signed_sum_negation_transport (x1) - L27
specialize divisor_signed_sum_negation_transport (x2) - L28
specialize divisor_signed_sum_negation_transport (x3) - L29
specialize divisor_signed_sum_negation_transport (l) - L30
specialize divisor_signed_sum_negation_transport (a) - L31
specialize divisor_signed_sum_negation_transport (x6)
06Use earlier factsL32–33
07Calculate and transport equalitiesL34–34
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L34
refl
08Use earlier factsL35–36
09Establish hequalL37–43
Establish this local claim before using it. It is not an additional assumption.
- L37
have hequal : ∀ dst_index_sum_negation_equal. ∀ dst_first_sum_negation_equal. ∀ dst_second_sum_negation_equal. Lt(dst_index_sum_negation_equal,l) → ArithAt(((x2 + x3) · S (x2 + x3) + (x3 + x3) + ((x + x1) · S (x + x1) + (x1 + x1))) · S ((x2 + x3) · S (x2 + x3) + (x3 + x3) + ((x + x1) · S (x + x1) + (x1 + x1))) + ((x + x1) · S (x + x1) + (x1 + x1) + ((x + x1) · S (x + x1) + (x1 + x1))),dst_index_sum_negation_equal,dst_first_sum_negation_equal) → ArithAt(G,dst_index_sum_negation_equal,dst_second_sum_negation_equal) → dst_first_sum_negation_equal = dst_second_sum_negation_equalDefinitions: Lt(dst_index_sum_negation_equal,l)ArithAt(((x2 + x3) · S (x2 + x3) + (x3 + x3) + ((x + x1) · S (x + x1) + (x1 + x1))) · S ((x2 + x3) · S (x2 + x3) + (x3 + x3) + ((x + x1) · S (x + x1) + (x1 + x1))) + ((x + x1) · S (x + x1) + (x1 + x1) + ((x + x1) · S (x + x1) + (x1 + x1))),dst_index_sum_negation_equal,dst_first_sum_negation_equal)ArithAt(G,dst_index_sum_negation_equal,dst_second_sum_negation_equal)Original native command in the exact edition - L38
intro i - L39
intro u - L40
intro v - L41
intro hi - L42
intro hu - L43
intro hv
10Establish heL44–52
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor signed table lookup from components.
- L44
have he : ∃ w. ArithAt(F,i,w)Definitions: ArithAt(F,i,w)Original native command in the exact edition - L45
specialize divisor_signed_table_lookup_from_components (F) - L46
specialize divisor_signed_table_lookup_from_components (x) - L47
specialize divisor_signed_table_lookup_from_components (x1) - L48
specialize divisor_signed_table_lookup_from_components (x2) - L49
specialize divisor_signed_table_lookup_from_components (x3) - L50
specialize divisor_signed_table_lookup_from_components (i) - L51
apply divisor_signed_table_lookup_from_components - L52
exact hF_witness_witness_witness_witness_witness_witness_left
11Separate the logical casesL53–53
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L53
cases he
12Establish heoppL54–56
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed negate total.
- L54
have heopp : ∃ w. SignedNegate(x7,w)Definitions: SignedNegate(x7,w)Original native command in the exact edition - L55
specialize signed_negate_total (x7) - L56
apply signed_negate_total
13Separate the logical casesL57–57
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L57
cases heopp
14Calculate and transport equalitiesL58–58
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L58
trans x8
15Use earlier factsL59–68
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L59
specialize divisor_signed_table_at_functional (((((x2) + (x3)) * S ((x2) + (x3)) + ((x3) + (x3))) + (((x) + (x1)) * S ((x) + (x1)) + ((x1) + (x1)))) * S ((((x2) + (x3)) * S ((x2) + (x3)) + ((x3) + (x3))) + (((x) + (x1)) * S ((x) + (x1)) + ((x1) + (x1)))) + ((((x) + (x1)) * S ((x) + (x1)) + ((x1) + (x1))) + (((x) + (x1)) * S ((x) + (x1)) + ((x1) + (x1))))) - L60
specialize divisor_signed_table_at_functional (i) - L61
specialize divisor_signed_table_at_functional (u) - L62
specialize divisor_signed_table_at_functional (x8) - L63
apply divisor_signed_table_at_functional - L64
exact hu - L65
specialize signed_table_swapped_components_negation_at (F) - L66
specialize signed_table_swapped_components_negation_at (((((x2) + (x3)) * S ((x2) + (x3)) + ((x3) + (x3))) + (((x) + (x1)) * S ((x) + (x1)) + ((x1) + (x1)))) * S ((((x2) + (x3)) * S ((x2) + (x3)) + ((x3) + (x3))) + (((x) + (x1)) * S ((x) + (x1)) + ((x1) + (x1)))) + ((((x) + (x1)) * S ((x) + (x1)) + ((x1) + (x1))) + (((x) + (x1)) * S ((x) + (x1)) + ((x1) + (x1))))) - L67
specialize signed_table_swapped_components_negation_at (x) - L68
specialize signed_table_swapped_components_negation_at (x1)
16Use earlier factsL69–75
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L69
specialize signed_table_swapped_components_negation_at (x2) - L70
specialize signed_table_swapped_components_negation_at (x3) - L71
specialize signed_table_swapped_components_negation_at (i) - L72
specialize signed_table_swapped_components_negation_at (x7) - L73
specialize signed_table_swapped_components_negation_at (x8) - L74
apply signed_table_swapped_components_negation_at - L75
exact hF_witness_witness_witness_witness_witness_witness_left
17Calculate and transport equalitiesL76–76
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L76
refl
18Use earlier factsL77–86
Instantiate or apply named facts and discharge the corresponding proof obligations.
19Use earlier factsL87–90
20Establish hresultL91–100
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor signed sum extensional.
- L91
have hresult : x6=b - L92
specialize divisor_signed_sum_extensional (((((x2) + (x3)) * S ((x2) + (x3)) + ((x3) + (x3))) + (((x) + (x1)) * S ((x) + (x1)) + ((x1) + (x1)))) * S ((((x2) + (x3)) * S ((x2) + (x3)) + ((x3) + (x3))) + (((x) + (x1)) * S ((x) + (x1)) + ((x1) + (x1)))) + ((((x) + (x1)) * S ((x) + (x1)) + ((x1) + (x1))) + (((x) + (x1)) * S ((x) + (x1)) + ((x1) + (x1))))) - L93
specialize divisor_signed_sum_extensional (G) - L94
specialize divisor_signed_sum_extensional (l) - L95
specialize divisor_signed_sum_extensional (x6) - L96
specialize divisor_signed_sum_extensional (b) - L97
apply divisor_signed_sum_extensional - L98
exact hequal - L99
exact hH - L100
exact hG
21Calculate and transport equalitiesL101–102
22Use earlier factsL103–103
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L103
exact hn_witness
Original defined command ledger · 103 lines
- 0001
intro F - 0002
intro G - 0003
intro l - 0004
intro a - 0005
intro b - 0006
intro hpoint - 0007
intro hF - 0008
intro hG - 0009
cases hF - 0010
cases hF_witness - 0011
cases hF_witness_witness - 0012
cases hF_witness_witness_witness - 0013
cases hF_witness_witness_witness_witness - 0014
cases hF_witness_witness_witness_witness_witness - 0015
cases hF_witness_witness_witness_witness_witness_witness - 0016
cases hF_witness_witness_witness_witness_witness_witness_right - 0017
cases hF_witness_witness_witness_witness_witness_witness_right_right - 0018
have hn : ∃ v. SignedNegate(a,v) - 0019
specialize signed_negate_total (a) - 0020
apply signed_negate_total - 0021
cases hn - 0022
have hH : SignedPrefixSum(((x2 + x3) · S (x2 + x3) + (x3 + x3) + ((x + x1) · S (x + x1) + (x1 + x1))) · S ((x2 + x3) · S (x2 + x3) + (x3 + x3) + ((x + x1) · S (x + x1) + (x1 + x1))) + ((x + x1) · S (x + x1) + (x1 + x1) + ((x + x1) · S (x + x1) + (x1 + x1))),l,x6) - 0023
specialize divisor_signed_sum_negation_transport (F) - 0024
specialize divisor_signed_sum_negation_transport (((((x2) + (x3)) * S ((x2) + (x3)) + ((x3) + (x3))) + (((x) + (x1)) * S ((x) + (x1)) + ((x1) + (x1)))) * S ((((x2) + (x3)) * S ((x2) + (x3)) + ((x3) + (x3))) + (((x) + (x1)) * S ((x) + (x1)) + ((x1) + (x1)))) + ((((x) + (x1)) * S ((x) + (x1)) + ((x1) + (x1))) + (((x) + (x1)) * S ((x) + (x1)) + ((x1) + (x1))))) - 0025
specialize divisor_signed_sum_negation_transport (x) - 0026
specialize divisor_signed_sum_negation_transport (x1) - 0027
specialize divisor_signed_sum_negation_transport (x2) - 0028
specialize divisor_signed_sum_negation_transport (x3) - 0029
specialize divisor_signed_sum_negation_transport (l) - 0030
specialize divisor_signed_sum_negation_transport (a) - 0031
specialize divisor_signed_sum_negation_transport (x6) - 0032
apply divisor_signed_sum_negation_transport - 0033
exact hF_witness_witness_witness_witness_witness_witness_left - 0034
refl - 0035
exact hF - 0036
exact hn_witness - 0037
have hequal : ∀ dst_index_sum_negation_equal. ∀ dst_first_sum_negation_equal. ∀ dst_second_sum_negation_equal. Lt(dst_index_sum_negation_equal,l) → ArithAt(((x2 + x3) · S (x2 + x3) + (x3 + x3) + ((x + x1) · S (x + x1) + (x1 + x1))) · S ((x2 + x3) · S (x2 + x3) + (x3 + x3) + ((x + x1) · S (x + x1) + (x1 + x1))) + ((x + x1) · S (x + x1) + (x1 + x1) + ((x + x1) · S (x + x1) + (x1 + x1))),dst_index_sum_negation_equal,dst_first_sum_negation_equal) → ArithAt(G,dst_index_sum_negation_equal,dst_second_sum_negation_equal) → dst_first_sum_negation_equal = dst_second_sum_negation_equal - 0038
intro i - 0039
intro u - 0040
intro v - 0041
intro hi - 0042
intro hu - 0043
intro hv - 0044
have he : ∃ w. ArithAt(F,i,w) - 0045
specialize divisor_signed_table_lookup_from_components (F) - 0046
specialize divisor_signed_table_lookup_from_components (x) - 0047
specialize divisor_signed_table_lookup_from_components (x1) - 0048
specialize divisor_signed_table_lookup_from_components (x2) - 0049
specialize divisor_signed_table_lookup_from_components (x3) - 0050
specialize divisor_signed_table_lookup_from_components (i) - 0051
apply divisor_signed_table_lookup_from_components - 0052
exact hF_witness_witness_witness_witness_witness_witness_left - 0053
cases he - 0054
have heopp : ∃ w. SignedNegate(x7,w) - 0055
specialize signed_negate_total (x7) - 0056
apply signed_negate_total - 0057
cases heopp - 0058
trans x8 - 0059
specialize divisor_signed_table_at_functional (((((x2) + (x3)) * S ((x2) + (x3)) + ((x3) + (x3))) + (((x) + (x1)) * S ((x) + (x1)) + ((x1) + (x1)))) * S ((((x2) + (x3)) * S ((x2) + (x3)) + ((x3) + (x3))) + (((x) + (x1)) * S ((x) + (x1)) + ((x1) + (x1)))) + ((((x) + (x1)) * S ((x) + (x1)) + ((x1) + (x1))) + (((x) + (x1)) * S ((x) + (x1)) + ((x1) + (x1))))) - 0060
specialize divisor_signed_table_at_functional (i) - 0061
specialize divisor_signed_table_at_functional (u) - 0062
specialize divisor_signed_table_at_functional (x8) - 0063
apply divisor_signed_table_at_functional - 0064
exact hu - 0065
specialize signed_table_swapped_components_negation_at (F) - 0066
specialize signed_table_swapped_components_negation_at (((((x2) + (x3)) * S ((x2) + (x3)) + ((x3) + (x3))) + (((x) + (x1)) * S ((x) + (x1)) + ((x1) + (x1)))) * S ((((x2) + (x3)) * S ((x2) + (x3)) + ((x3) + (x3))) + (((x) + (x1)) * S ((x) + (x1)) + ((x1) + (x1)))) + ((((x) + (x1)) * S ((x) + (x1)) + ((x1) + (x1))) + (((x) + (x1)) * S ((x) + (x1)) + ((x1) + (x1))))) - 0067
specialize signed_table_swapped_components_negation_at (x) - 0068
specialize signed_table_swapped_components_negation_at (x1) - 0069
specialize signed_table_swapped_components_negation_at (x2) - 0070
specialize signed_table_swapped_components_negation_at (x3) - 0071
specialize signed_table_swapped_components_negation_at (i) - 0072
specialize signed_table_swapped_components_negation_at (x7) - 0073
specialize signed_table_swapped_components_negation_at (x8) - 0074
apply signed_table_swapped_components_negation_at - 0075
exact hF_witness_witness_witness_witness_witness_witness_left - 0076
refl - 0077
exact he_witness - 0078
exact heopp_witness - 0079
specialize signed_negate_functional (x7) - 0080
specialize signed_negate_functional (x8) - 0081
specialize signed_negate_functional (v) - 0082
apply signed_negate_functional - 0083
exact heopp_witness - 0084
specialize hpoint (i) - 0085
specialize hpoint (x7) - 0086
specialize hpoint (v) - 0087
apply hpoint - 0088
exact hi - 0089
exact he_witness - 0090
exact hv - 0091
have hresult : x6=b - 0092
specialize divisor_signed_sum_extensional (((((x2) + (x3)) * S ((x2) + (x3)) + ((x3) + (x3))) + (((x) + (x1)) * S ((x) + (x1)) + ((x1) + (x1)))) * S ((((x2) + (x3)) * S ((x2) + (x3)) + ((x3) + (x3))) + (((x) + (x1)) * S ((x) + (x1)) + ((x1) + (x1)))) + ((((x) + (x1)) * S ((x) + (x1)) + ((x1) + (x1))) + (((x) + (x1)) * S ((x) + (x1)) + ((x1) + (x1))))) - 0093
specialize divisor_signed_sum_extensional (G) - 0094
specialize divisor_signed_sum_extensional (l) - 0095
specialize divisor_signed_sum_extensional (x6) - 0096
specialize divisor_signed_sum_extensional (b) - 0097
apply divisor_signed_sum_extensional - 0098
exact hequal - 0099
exact hH - 0100
exact hG - 0101
rewrite hresult at hn_witness - 0102
rewrite hresult at hn_witness - 0103
exact hn_witness