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. ∀ a. ∀ F. ∀ G. ∀ b. ∀ c. ArithScale(a,F,G,l) → SignedPrefixSum(F,l,b) → SignedPrefixSum(G,l,c) → SignedMul(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 94 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–9
02Establish hbL10–14
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor signed sum empty value.
03Establish hcL15–24
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor signed sum empty value.
04Use earlier factsL25–25
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L25
apply signed_mul_zero_right
05Fix variables and assumptionsL26–33
06Establish hdFL34–39
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor signed sum successor decompose.
- L34
have hdF : ∃ ssl_prefix_scalar_step_F. ∃ ssl_entry_scalar_step_F. SignedPrefixSum(F,l,ssl_prefix_scalar_step_F) ∧ (ArithAt(F,l,ssl_entry_scalar_step_F) ∧ SignedAdd(ssl_prefix_scalar_step_F,ssl_entry_scalar_step_F,b))Definitions: SignedPrefixSum(F,l,ssl_prefix_scalar_step_F)ArithAt(F,l,ssl_entry_scalar_step_F)SignedAdd(ssl_prefix_scalar_step_F,ssl_entry_scalar_step_F,b)Original native command in the exact edition - L35
specialize divisor_signed_sum_successor_decompose (F) - L36
specialize divisor_signed_sum_successor_decompose (l) - L37
specialize divisor_signed_sum_successor_decompose (b) - L38
apply divisor_signed_sum_successor_decompose - L39
exact hF
07Separate the logical casesL40–43
08Establish hdGL44–49
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor signed sum successor decompose.
- L44
have hdG : ∃ ssl_prefix_scalar_step_G. ∃ ssl_entry_scalar_step_G. SignedPrefixSum(G,l,ssl_prefix_scalar_step_G) ∧ (ArithAt(G,l,ssl_entry_scalar_step_G) ∧ SignedAdd(ssl_prefix_scalar_step_G,ssl_entry_scalar_step_G,c))Definitions: SignedPrefixSum(G,l,ssl_prefix_scalar_step_G)ArithAt(G,l,ssl_entry_scalar_step_G)SignedAdd(ssl_prefix_scalar_step_G,ssl_entry_scalar_step_G,c)Original native command in the exact edition - L45
specialize divisor_signed_sum_successor_decompose (G) - L46
specialize divisor_signed_sum_successor_decompose (l) - L47
specialize divisor_signed_sum_successor_decompose (c) - L48
apply divisor_signed_sum_successor_decompose - L49
exact hG
09Separate the logical casesL50–53
10Establish hpL54–63
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply IH.
- L54
have hp : SignedMul(a,x,x2)Definitions: SignedMul(a,x,x2)Original native command in the exact edition - L55
specialize IH (a) - L56
specialize IH (F) - L57
specialize IH (G) - L58
specialize IH (x) - L59
specialize IH (x2) - L60
apply IH - L61
specialize signed_table_scalar_restrict (a) - L62
specialize signed_table_scalar_restrict (F) - L63
specialize signed_table_scalar_restrict (G)
11Use earlier factsL64–68
12Establish heL69–78
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed table scalar lookup.
- L69
have he : SignedMul(a,x1,x3)Definitions: SignedMul(a,x1,x3)Original native command in the exact edition - L70
specialize signed_table_scalar_lookup (a) - L71
specialize signed_table_scalar_lookup (F) - L72
specialize signed_table_scalar_lookup (G) - L73
specialize signed_table_scalar_lookup (S l) - L74
specialize signed_table_scalar_lookup (l) - L75
specialize signed_table_scalar_lookup (x1) - L76
specialize signed_table_scalar_lookup (x3) - L77
apply signed_table_scalar_lookup - L78
exact hpoint
13Use earlier factsL79–88
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L79
specialize le_refl (S l) - L80
apply le_refl - L81
exact hdF_witness_witness_right_left - L82
exact hdG_witness_witness_right_left - L83
specialize signed_table_scalar_add_intro (a) - L84
specialize signed_table_scalar_add_intro (x) - L85
specialize signed_table_scalar_add_intro (x1) - L86
specialize signed_table_scalar_add_intro (b) - L87
specialize signed_table_scalar_add_intro (x2) - L88
specialize signed_table_scalar_add_intro (x3)
Original defined command ledger · 94 lines
- 0001
induction l - 0002
intro a - 0003
intro F - 0004
intro G - 0005
intro b - 0006
intro c - 0007
intro hpoint - 0008
intro hF - 0009
intro hG - 0010
have hb : b = 0 - 0011
specialize divisor_signed_sum_empty_value (F) - 0012
specialize divisor_signed_sum_empty_value (b) - 0013
apply divisor_signed_sum_empty_value - 0014
exact hF - 0015
have hc : c = 0 - 0016
specialize divisor_signed_sum_empty_value (G) - 0017
specialize divisor_signed_sum_empty_value (c) - 0018
apply divisor_signed_sum_empty_value - 0019
exact hG - 0020
rewrite hb - 0021
rewrite hb - 0022
rewrite hc - 0023
rewrite hc - 0024
specialize signed_mul_zero_right (a) - 0025
apply signed_mul_zero_right - 0026
intro a - 0027
intro F - 0028
intro G - 0029
intro b - 0030
intro c - 0031
intro hpoint - 0032
intro hF - 0033
intro hG - 0034
have hdF : ∃ ssl_prefix_scalar_step_F. ∃ ssl_entry_scalar_step_F. SignedPrefixSum(F,l,ssl_prefix_scalar_step_F) ∧ (ArithAt(F,l,ssl_entry_scalar_step_F) ∧ SignedAdd(ssl_prefix_scalar_step_F,ssl_entry_scalar_step_F,b)) - 0035
specialize divisor_signed_sum_successor_decompose (F) - 0036
specialize divisor_signed_sum_successor_decompose (l) - 0037
specialize divisor_signed_sum_successor_decompose (b) - 0038
apply divisor_signed_sum_successor_decompose - 0039
exact hF - 0040
cases hdF - 0041
cases hdF_witness - 0042
cases hdF_witness_witness - 0043
cases hdF_witness_witness_right - 0044
have hdG : ∃ ssl_prefix_scalar_step_G. ∃ ssl_entry_scalar_step_G. SignedPrefixSum(G,l,ssl_prefix_scalar_step_G) ∧ (ArithAt(G,l,ssl_entry_scalar_step_G) ∧ SignedAdd(ssl_prefix_scalar_step_G,ssl_entry_scalar_step_G,c)) - 0045
specialize divisor_signed_sum_successor_decompose (G) - 0046
specialize divisor_signed_sum_successor_decompose (l) - 0047
specialize divisor_signed_sum_successor_decompose (c) - 0048
apply divisor_signed_sum_successor_decompose - 0049
exact hG - 0050
cases hdG - 0051
cases hdG_witness - 0052
cases hdG_witness_witness - 0053
cases hdG_witness_witness_right - 0054
have hp : SignedMul(a,x,x2) - 0055
specialize IH (a) - 0056
specialize IH (F) - 0057
specialize IH (G) - 0058
specialize IH (x) - 0059
specialize IH (x2) - 0060
apply IH - 0061
specialize signed_table_scalar_restrict (a) - 0062
specialize signed_table_scalar_restrict (F) - 0063
specialize signed_table_scalar_restrict (G) - 0064
specialize signed_table_scalar_restrict (l) - 0065
apply signed_table_scalar_restrict - 0066
exact hpoint - 0067
exact hdF_witness_witness_left - 0068
exact hdG_witness_witness_left - 0069
have he : SignedMul(a,x1,x3) - 0070
specialize signed_table_scalar_lookup (a) - 0071
specialize signed_table_scalar_lookup (F) - 0072
specialize signed_table_scalar_lookup (G) - 0073
specialize signed_table_scalar_lookup (S l) - 0074
specialize signed_table_scalar_lookup (l) - 0075
specialize signed_table_scalar_lookup (x1) - 0076
specialize signed_table_scalar_lookup (x3) - 0077
apply signed_table_scalar_lookup - 0078
exact hpoint - 0079
specialize le_refl (S l) - 0080
apply le_refl - 0081
exact hdF_witness_witness_right_left - 0082
exact hdG_witness_witness_right_left - 0083
specialize signed_table_scalar_add_intro (a) - 0084
specialize signed_table_scalar_add_intro (x) - 0085
specialize signed_table_scalar_add_intro (x1) - 0086
specialize signed_table_scalar_add_intro (b) - 0087
specialize signed_table_scalar_add_intro (x2) - 0088
specialize signed_table_scalar_add_intro (x3) - 0089
specialize signed_table_scalar_add_intro (c) - 0090
apply signed_table_scalar_add_intro - 0091
exact hdF_witness_witness_right_right - 0092
exact hp - 0093
exact he - 0094
exact hdG_witness_witness_right_right