Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.
Every slice, row table, column table and signed sum is an actual beta-coded witness. Entries are F((o+s*i)+t*j), for i<m and j<n. Zero dimensions and zero strides are allowed; separately certified endpoints are unused. Table uniqueness concerns values, not codes. No infinite-sum assertion is made.
Exact theorem in conservative defined notation
∀ l. ∀ F. ∀ o. ∀ s. ArithTable(0,F) → ∃ x. ArithSlice(F,x,o,s,l)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 64 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 (2)
01Induction on lL1–5
02Construct an explicit witnessL6–6
Supply the displayed value, then prove that it has the required property.
- L6
exists ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) + ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0))))
03Use earlier factsL7–16
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L7
specialize signed_rectangular_slice_empty (F) - L8
specialize signed_rectangular_slice_empty (((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) + ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0))))) - L9
specialize signed_rectangular_slice_empty (o) - L10
specialize signed_rectangular_slice_empty (s) - L11
apply signed_rectangular_slice_empty - L12
exact hF - L13
specialize divisor_signed_table_from_components (0) - L14
specialize divisor_signed_table_from_components (((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) + ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0))))) - L15
specialize divisor_signed_table_from_components (0) - L16
specialize divisor_signed_table_from_components (0)
04Use earlier factsL17–19
05Calculate and transport equalitiesL20–20
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L20
refl
06Fix variables and assumptionsL21–24
07Establish hpL25–30
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply IH.
- L25
have hp : ∃ G. ArithSlice(F,G,o,s,l)Definitions: ArithSlice(F,G,o,s,l)Original native command in the exact edition - L26
specialize IH (F) - L27
specialize IH (o) - L28
specialize IH (s) - L29
apply IH - L30
exact hF
08Separate the logical casesL31–31
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L31
cases hp
09Establish hvL32–37
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed table lookup any.
- L32
have hv : ∃ z. ArithAt(F,o + s · l,z)Definitions: ArithAt(F,o + s · l,z)Original native command in the exact edition - L33
specialize signed_table_lookup_any (0) - L34
specialize signed_table_lookup_any (F) - L35
specialize signed_table_lookup_any (((o) + ((s) * (l)))) - L36
apply signed_table_lookup_any - L37
exact hF
10Separate the logical casesL38–38
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L38
cases hv
11Establish heL39–44
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply arithmetic signed table extend at.
- L39
have he : ∃ H. ArithExtend(x,H,l,x1)Definitions: ArithExtend(x,H,l,x1)Original native command in the exact edition - L40
specialize arithmetic_signed_table_extend_at (l) - L41
specialize arithmetic_signed_table_extend_at (x) - L42
specialize arithmetic_signed_table_extend_at (l) - L43
specialize arithmetic_signed_table_extend_at (x1) - L44
apply arithmetic_signed_table_extend_at
12Separate the logical casesL45–46
13Use earlier factsL47–47
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L47
exact hp_witness_right_left
14Separate the logical casesL48–50
15Construct an explicit witnessL51–51
Supply the displayed value, then prove that it has the required property.
- L51
exists x2
16Use earlier factsL52–61
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L52
specialize signed_rectangular_slice_extend (F) - L53
specialize signed_rectangular_slice_extend (x) - L54
specialize signed_rectangular_slice_extend (x2) - L55
specialize signed_rectangular_slice_extend (o) - L56
specialize signed_rectangular_slice_extend (s) - L57
specialize signed_rectangular_slice_extend (l) - L58
specialize signed_rectangular_slice_extend (x1) - L59
apply signed_rectangular_slice_extend - L60
exact hp_witness - L61
exact he_witness_left
Original defined command ledger · 64 lines
- 0001
induction l - 0002
intro F - 0003
intro o - 0004
intro s - 0005
intro hF - 0006
exists ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) + ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) - 0007
specialize signed_rectangular_slice_empty (F) - 0008
specialize signed_rectangular_slice_empty (((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) + ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0))))) - 0009
specialize signed_rectangular_slice_empty (o) - 0010
specialize signed_rectangular_slice_empty (s) - 0011
apply signed_rectangular_slice_empty - 0012
exact hF - 0013
specialize divisor_signed_table_from_components (0) - 0014
specialize divisor_signed_table_from_components (((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) + ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0))))) - 0015
specialize divisor_signed_table_from_components (0) - 0016
specialize divisor_signed_table_from_components (0) - 0017
specialize divisor_signed_table_from_components (0) - 0018
specialize divisor_signed_table_from_components (0) - 0019
apply divisor_signed_table_from_components - 0020
refl - 0021
intro F - 0022
intro o - 0023
intro s - 0024
intro hF - 0025
have hp : ∃ G. ArithSlice(F,G,o,s,l) - 0026
specialize IH (F) - 0027
specialize IH (o) - 0028
specialize IH (s) - 0029
apply IH - 0030
exact hF - 0031
cases hp - 0032
have hv : ∃ z. ArithAt(F,o + s · l,z) - 0033
specialize signed_table_lookup_any (0) - 0034
specialize signed_table_lookup_any (F) - 0035
specialize signed_table_lookup_any (((o) + ((s) * (l)))) - 0036
apply signed_table_lookup_any - 0037
exact hF - 0038
cases hv - 0039
have he : ∃ H. ArithExtend(x,H,l,x1) - 0040
specialize arithmetic_signed_table_extend_at (l) - 0041
specialize arithmetic_signed_table_extend_at (x) - 0042
specialize arithmetic_signed_table_extend_at (l) - 0043
specialize arithmetic_signed_table_extend_at (x1) - 0044
apply arithmetic_signed_table_extend_at - 0045
cases hp_witness - 0046
cases hp_witness_right - 0047
exact hp_witness_right_left - 0048
cases he - 0049
cases he_witness - 0050
cases he_witness_right - 0051
exists x2 - 0052
specialize signed_rectangular_slice_extend (F) - 0053
specialize signed_rectangular_slice_extend (x) - 0054
specialize signed_rectangular_slice_extend (x2) - 0055
specialize signed_rectangular_slice_extend (o) - 0056
specialize signed_rectangular_slice_extend (s) - 0057
specialize signed_rectangular_slice_extend (l) - 0058
specialize signed_rectangular_slice_extend (x1) - 0059
apply signed_rectangular_slice_extend - 0060
exact hp_witness - 0061
exact he_witness_left - 0062
exact he_witness_right_left - 0063
exact hv_witness - 0064
exact he_witness_right_right