Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.
Operation tables contain actual beta-coded entries and compare represented signed values, not encodings. The strict sum window is i<l and the separately certified endpoint i=l is unused. Rectangular Fubini and full finite signed Möbius inversion are separate, now-admitted families.
Exact theorem in conservative defined notation
∀ l. ∀ F. ∀ G. ∀ H. ∀ a. ∀ b. ∀ c. ArithAdd(F,G,H,l) → SignedPrefixSum(F,l,a) → SignedPrefixSum(G,l,b) → SignedPrefixSum(H,l,c) → SignedAdd(a,b,c)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 122 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 (3)
01Induction on lL1–10
02Fix variables and assumptionsL11–11
Work with arbitrary variables or the premises of the current implication.
- L11
intro hH
03Establish haL12–16
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor signed sum empty value.
04Establish hbL17–21
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor signed sum empty value.
05Establish hcL22–31
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor signed sum empty value.
06Calculate and transport equalitiesL32–32
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L32
rewrite hc
07Use earlier factsL33–34
08Fix variables and assumptionsL35–44
09Establish hdFL45–50
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor signed sum successor decompose.
- L45
have hdF : ∃ ssl_prefix_add_step_F. ∃ ssl_entry_add_step_F. SignedPrefixSum(F,l,ssl_prefix_add_step_F) ∧ (ArithAt(F,l,ssl_entry_add_step_F) ∧ SignedAdd(ssl_prefix_add_step_F,ssl_entry_add_step_F,a))Definitions: SignedPrefixSum(F,l,ssl_prefix_add_step_F)ArithAt(F,l,ssl_entry_add_step_F)SignedAdd(ssl_prefix_add_step_F,ssl_entry_add_step_F,a)Original native command in the exact edition - L46
specialize divisor_signed_sum_successor_decompose (F) - L47
specialize divisor_signed_sum_successor_decompose (l) - L48
specialize divisor_signed_sum_successor_decompose (a) - L49
apply divisor_signed_sum_successor_decompose - L50
exact hF
10Separate the logical casesL51–54
11Establish hdGL55–60
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor signed sum successor decompose.
- L55
have hdG : ∃ ssl_prefix_add_step_G. ∃ ssl_entry_add_step_G. SignedPrefixSum(G,l,ssl_prefix_add_step_G) ∧ (ArithAt(G,l,ssl_entry_add_step_G) ∧ SignedAdd(ssl_prefix_add_step_G,ssl_entry_add_step_G,b))Definitions: SignedPrefixSum(G,l,ssl_prefix_add_step_G)ArithAt(G,l,ssl_entry_add_step_G)SignedAdd(ssl_prefix_add_step_G,ssl_entry_add_step_G,b)Original native command in the exact edition - L56
specialize divisor_signed_sum_successor_decompose (G) - L57
specialize divisor_signed_sum_successor_decompose (l) - L58
specialize divisor_signed_sum_successor_decompose (b) - L59
apply divisor_signed_sum_successor_decompose - L60
exact hG
12Separate the logical casesL61–64
13Establish hdHL65–70
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor signed sum successor decompose.
- L65
have hdH : ∃ ssl_prefix_add_step_H. ∃ ssl_entry_add_step_H. SignedPrefixSum(H,l,ssl_prefix_add_step_H) ∧ (ArithAt(H,l,ssl_entry_add_step_H) ∧ SignedAdd(ssl_prefix_add_step_H,ssl_entry_add_step_H,c))Definitions: SignedPrefixSum(H,l,ssl_prefix_add_step_H)ArithAt(H,l,ssl_entry_add_step_H)SignedAdd(ssl_prefix_add_step_H,ssl_entry_add_step_H,c)Original native command in the exact edition - L66
specialize divisor_signed_sum_successor_decompose (H) - L67
specialize divisor_signed_sum_successor_decompose (l) - L68
specialize divisor_signed_sum_successor_decompose (c) - L69
apply divisor_signed_sum_successor_decompose - L70
exact hH
14Separate the logical casesL71–74
15Establish hpL75–84
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply IH.
- L75
have hp : SignedAdd(x,x2,x4)Definitions: SignedAdd(x,x2,x4)Original native command in the exact edition - L76
specialize IH (F) - L77
specialize IH (G) - L78
specialize IH (H) - L79
specialize IH (x) - L80
specialize IH (x2) - L81
specialize IH (x4) - L82
apply IH - L83
specialize signed_table_add_restrict (F) - L84
specialize signed_table_add_restrict (G)
16Use earlier factsL85–91
Instantiate or apply named facts and discharge the corresponding proof obligations.
17Establish heL92–101
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed table add lookup.
- L92
have he : SignedAdd(x1,x3,x5)Definitions: SignedAdd(x1,x3,x5)Original native command in the exact edition - L93
specialize signed_table_add_lookup (F) - L94
specialize signed_table_add_lookup (G) - L95
specialize signed_table_add_lookup (H) - L96
specialize signed_table_add_lookup (S l) - L97
specialize signed_table_add_lookup (l) - L98
specialize signed_table_add_lookup (x1) - L99
specialize signed_table_add_lookup (x3) - L100
specialize signed_table_add_lookup (x5) - L101
apply signed_table_add_lookup
18Use earlier factsL102–111
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L102
exact hpoint - L103
specialize le_refl (S l) - L104
apply le_refl - L105
exact hdF_witness_witness_right_left - L106
exact hdG_witness_witness_right_left - L107
exact hdH_witness_witness_right_left - L108
specialize signed_table_add_medial (x) - L109
specialize signed_table_add_medial (x1) - L110
specialize signed_table_add_medial (x2) - L111
specialize signed_table_add_medial (x3)
19Use earlier factsL112–121
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L112
specialize signed_table_add_medial (a) - L113
specialize signed_table_add_medial (b) - L114
specialize signed_table_add_medial (x4) - L115
specialize signed_table_add_medial (x5) - L116
specialize signed_table_add_medial (c) - L117
apply signed_table_add_medial - L118
exact hdF_witness_witness_right_right - L119
exact hdG_witness_witness_right_right - L120
exact hp - L121
exact he
20Use earlier factsL122–122
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L122
exact hdH_witness_witness_right_right
Original defined command ledger · 122 lines
- 0001
induction l - 0002
intro F - 0003
intro G - 0004
intro H - 0005
intro a - 0006
intro b - 0007
intro c - 0008
intro hpoint - 0009
intro hF - 0010
intro hG - 0011
intro hH - 0012
have ha : a = 0 - 0013
specialize divisor_signed_sum_empty_value (F) - 0014
specialize divisor_signed_sum_empty_value (a) - 0015
apply divisor_signed_sum_empty_value - 0016
exact hF - 0017
have hb : b = 0 - 0018
specialize divisor_signed_sum_empty_value (G) - 0019
specialize divisor_signed_sum_empty_value (b) - 0020
apply divisor_signed_sum_empty_value - 0021
exact hG - 0022
have hc : c = 0 - 0023
specialize divisor_signed_sum_empty_value (H) - 0024
specialize divisor_signed_sum_empty_value (c) - 0025
apply divisor_signed_sum_empty_value - 0026
exact hH - 0027
rewrite ha - 0028
rewrite ha - 0029
rewrite hb - 0030
rewrite hb - 0031
rewrite hc - 0032
rewrite hc - 0033
specialize signed_add_zero_left (0) - 0034
apply signed_add_zero_left - 0035
intro F - 0036
intro G - 0037
intro H - 0038
intro a - 0039
intro b - 0040
intro c - 0041
intro hpoint - 0042
intro hF - 0043
intro hG - 0044
intro hH - 0045
have hdF : ∃ ssl_prefix_add_step_F. ∃ ssl_entry_add_step_F. SignedPrefixSum(F,l,ssl_prefix_add_step_F) ∧ (ArithAt(F,l,ssl_entry_add_step_F) ∧ SignedAdd(ssl_prefix_add_step_F,ssl_entry_add_step_F,a)) - 0046
specialize divisor_signed_sum_successor_decompose (F) - 0047
specialize divisor_signed_sum_successor_decompose (l) - 0048
specialize divisor_signed_sum_successor_decompose (a) - 0049
apply divisor_signed_sum_successor_decompose - 0050
exact hF - 0051
cases hdF - 0052
cases hdF_witness - 0053
cases hdF_witness_witness - 0054
cases hdF_witness_witness_right - 0055
have hdG : ∃ ssl_prefix_add_step_G. ∃ ssl_entry_add_step_G. SignedPrefixSum(G,l,ssl_prefix_add_step_G) ∧ (ArithAt(G,l,ssl_entry_add_step_G) ∧ SignedAdd(ssl_prefix_add_step_G,ssl_entry_add_step_G,b)) - 0056
specialize divisor_signed_sum_successor_decompose (G) - 0057
specialize divisor_signed_sum_successor_decompose (l) - 0058
specialize divisor_signed_sum_successor_decompose (b) - 0059
apply divisor_signed_sum_successor_decompose - 0060
exact hG - 0061
cases hdG - 0062
cases hdG_witness - 0063
cases hdG_witness_witness - 0064
cases hdG_witness_witness_right - 0065
have hdH : ∃ ssl_prefix_add_step_H. ∃ ssl_entry_add_step_H. SignedPrefixSum(H,l,ssl_prefix_add_step_H) ∧ (ArithAt(H,l,ssl_entry_add_step_H) ∧ SignedAdd(ssl_prefix_add_step_H,ssl_entry_add_step_H,c)) - 0066
specialize divisor_signed_sum_successor_decompose (H) - 0067
specialize divisor_signed_sum_successor_decompose (l) - 0068
specialize divisor_signed_sum_successor_decompose (c) - 0069
apply divisor_signed_sum_successor_decompose - 0070
exact hH - 0071
cases hdH - 0072
cases hdH_witness - 0073
cases hdH_witness_witness - 0074
cases hdH_witness_witness_right - 0075
have hp : SignedAdd(x,x2,x4) - 0076
specialize IH (F) - 0077
specialize IH (G) - 0078
specialize IH (H) - 0079
specialize IH (x) - 0080
specialize IH (x2) - 0081
specialize IH (x4) - 0082
apply IH - 0083
specialize signed_table_add_restrict (F) - 0084
specialize signed_table_add_restrict (G) - 0085
specialize signed_table_add_restrict (H) - 0086
specialize signed_table_add_restrict (l) - 0087
apply signed_table_add_restrict - 0088
exact hpoint - 0089
exact hdF_witness_witness_left - 0090
exact hdG_witness_witness_left - 0091
exact hdH_witness_witness_left - 0092
have he : SignedAdd(x1,x3,x5) - 0093
specialize signed_table_add_lookup (F) - 0094
specialize signed_table_add_lookup (G) - 0095
specialize signed_table_add_lookup (H) - 0096
specialize signed_table_add_lookup (S l) - 0097
specialize signed_table_add_lookup (l) - 0098
specialize signed_table_add_lookup (x1) - 0099
specialize signed_table_add_lookup (x3) - 0100
specialize signed_table_add_lookup (x5) - 0101
apply signed_table_add_lookup - 0102
exact hpoint - 0103
specialize le_refl (S l) - 0104
apply le_refl - 0105
exact hdF_witness_witness_right_left - 0106
exact hdG_witness_witness_right_left - 0107
exact hdH_witness_witness_right_left - 0108
specialize signed_table_add_medial (x) - 0109
specialize signed_table_add_medial (x1) - 0110
specialize signed_table_add_medial (x2) - 0111
specialize signed_table_add_medial (x3) - 0112
specialize signed_table_add_medial (a) - 0113
specialize signed_table_add_medial (b) - 0114
specialize signed_table_add_medial (x4) - 0115
specialize signed_table_add_medial (x5) - 0116
specialize signed_table_add_medial (c) - 0117
apply signed_table_add_medial - 0118
exact hdF_witness_witness_right_right - 0119
exact hdG_witness_witness_right_right - 0120
exact hp - 0121
exact he - 0122
exact hdH_witness_witness_right_right