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 zero window is half-open and its order hypothesis is essential. All folds retain actual beta-coded traces. These are support lemmas for the separately verified full inversion endpoint.
Exact theorem in conservative defined notation
∀ F. ∀ k. ∀ l. ∀ a. ∀ b. Le(k,l) → SignedZeroWindow(F,k,l) → SignedPrefixSum(F,k,a) → SignedPrefixSum(F,l,b) → 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–3
02Induction on lL4–10
03Establish hkL11–20
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le zero.
04Use earlier factsL21–27
Instantiate or apply named facts and discharge the corresponding proof obligations.
05Fix variables and assumptionsL28–33
06Establish hcL34–38
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le eq or lt.
07Separate the logical casesL39–39
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L39
cases hc
08Calculate and transport equalitiesL40–45
09Use earlier factsL46–52
Instantiate or apply named facts and discharge the corresponding proof obligations.
10Establish hsmallL53–57
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le of succ le succ.
11Establish hdL58–63
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor signed sum successor decompose.
- L58
have hd : ∃ u. ∃ v. SignedPrefixSum(F,l,u) ∧ (ArithAt(F,l,v) ∧ SignedAdd(u,v,b))Definitions: SignedPrefixSum(F,l,u)ArithAt(F,l,v)SignedAdd(u,v,b)Original native command in the exact edition - L59
specialize divisor_signed_sum_successor_decompose (F) - L60
specialize divisor_signed_sum_successor_decompose (l) - L61
specialize divisor_signed_sum_successor_decompose (b) - L62
apply divisor_signed_sum_successor_decompose - L63
exact hb
12Separate the logical casesL64–67
13Establish hpL68–77
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply IH.
- L68
have hp : a=x - L69
specialize IH (a) - L70
specialize IH (x) - L71
apply IH - L72
exact hsmall - L73
specialize signed_zero_window_restrict (F) - L74
specialize signed_zero_window_restrict (k) - L75
specialize signed_zero_window_restrict (l) - L76
specialize signed_zero_window_restrict (S l) - L77
apply signed_zero_window_restrict
14Use earlier factsL78–82
15Establish hlastL83–92
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hz.
16Calculate and transport equalitiesL93–93
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L93
trans x
17Use earlier factsL94–94
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L94
exact hp
18Calculate and transport equalitiesL95–95
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L95
symm
19Use earlier factsL96–103
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original defined command ledger · 103 lines
- 0001
intro F - 0002
intro k - 0003
intro l - 0004
induction l - 0005
intro a - 0006
intro b - 0007
intro hkl - 0008
intro hz - 0009
intro ha - 0010
intro hb - 0011
have hk : k=0 - 0012
specialize le_zero (k) - 0013
apply le_zero - 0014
exact hkl - 0015
rewrite hk at ha - 0016
rewrite hk at ha - 0017
rewrite hk at ha - 0018
rewrite hk at ha - 0019
rewrite hk at ha - 0020
rewrite hk at ha - 0021
specialize divisor_signed_sum_functional (F) - 0022
specialize divisor_signed_sum_functional (0) - 0023
specialize divisor_signed_sum_functional (a) - 0024
specialize divisor_signed_sum_functional (b) - 0025
apply divisor_signed_sum_functional - 0026
exact ha - 0027
exact hb - 0028
intro a - 0029
intro b - 0030
intro hkl - 0031
intro hz - 0032
intro ha - 0033
intro hb - 0034
have hc : k = S l ∨ Lt(k,S l) - 0035
specialize le_eq_or_lt (k) - 0036
specialize le_eq_or_lt (S l) - 0037
apply le_eq_or_lt - 0038
exact hkl - 0039
cases hc - 0040
rewrite hc_left at ha - 0041
rewrite hc_left at ha - 0042
rewrite hc_left at ha - 0043
rewrite hc_left at ha - 0044
rewrite hc_left at ha - 0045
rewrite hc_left at ha - 0046
specialize divisor_signed_sum_functional (F) - 0047
specialize divisor_signed_sum_functional (S l) - 0048
specialize divisor_signed_sum_functional (a) - 0049
specialize divisor_signed_sum_functional (b) - 0050
apply divisor_signed_sum_functional - 0051
exact ha - 0052
exact hb - 0053
have hsmall : Le(k,l) - 0054
specialize le_of_succ_le_succ (k) - 0055
specialize le_of_succ_le_succ (l) - 0056
apply le_of_succ_le_succ - 0057
exact hc_right - 0058
have hd : ∃ u. ∃ v. SignedPrefixSum(F,l,u) ∧ (ArithAt(F,l,v) ∧ SignedAdd(u,v,b)) - 0059
specialize divisor_signed_sum_successor_decompose (F) - 0060
specialize divisor_signed_sum_successor_decompose (l) - 0061
specialize divisor_signed_sum_successor_decompose (b) - 0062
apply divisor_signed_sum_successor_decompose - 0063
exact hb - 0064
cases hd - 0065
cases hd_witness - 0066
cases hd_witness_witness - 0067
cases hd_witness_witness_right - 0068
have hp : a=x - 0069
specialize IH (a) - 0070
specialize IH (x) - 0071
apply IH - 0072
exact hsmall - 0073
specialize signed_zero_window_restrict (F) - 0074
specialize signed_zero_window_restrict (k) - 0075
specialize signed_zero_window_restrict (l) - 0076
specialize signed_zero_window_restrict (S l) - 0077
apply signed_zero_window_restrict - 0078
specialize le_succ_self (l) - 0079
apply le_succ_self - 0080
exact hz - 0081
exact ha - 0082
exact hd_witness_witness_left - 0083
have hlast : x1=0 - 0084
specialize hz (l) - 0085
specialize hz (x1) - 0086
apply hz - 0087
exact hsmall - 0088
specialize le_refl (S l) - 0089
apply le_refl - 0090
exact hd_witness_witness_right_left - 0091
rewrite hlast at hd_witness_witness_right_right - 0092
rewrite hlast at hd_witness_witness_right_right - 0093
trans x - 0094
exact hp - 0095
symm - 0096
specialize signed_add_functional (x) - 0097
specialize signed_add_functional (0) - 0098
specialize signed_add_functional (b) - 0099
specialize signed_add_functional (x) - 0100
apply signed_add_functional - 0101
exact hd_witness_witness_right_right - 0102
specialize signed_add_zero_right (x) - 0103
apply signed_add_zero_right