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
∀ m. ∀ F. ∀ o. ∀ s. ∀ t. ∀ n. ArithTable(0,F) → ∃ x. ArithRowSums(F,x,o,s,t,m,n)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 75 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 mL1–7
02Construct an explicit witnessL8–8
Supply the displayed value, then prove that it has the required property.
- L8
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 factsL9–18
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L9
specialize signed_rectangular_row_sums_empty (F) - L10
specialize signed_rectangular_row_sums_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))))) - L11
specialize signed_rectangular_row_sums_empty (o) - L12
specialize signed_rectangular_row_sums_empty (s) - L13
specialize signed_rectangular_row_sums_empty (t) - L14
specialize signed_rectangular_row_sums_empty (n) - L15
apply signed_rectangular_row_sums_empty - L16
exact hF - L17
specialize divisor_signed_table_from_components (0) - L18
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)))))
04Use earlier factsL19–23
Instantiate or apply named facts and discharge the corresponding proof obligations.
05Calculate and transport equalitiesL24–24
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L24
refl
06Fix variables and assumptionsL25–30
07Establish hpL31–38
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply IH.
- L31
have hp : ∃ R. ArithRowSums(F,R,o,s,t,m,n)Definitions: ArithRowSums(F,R,o,s,t,m,n)Original native command in the exact edition - L32
specialize IH (F) - L33
specialize IH (o) - L34
specialize IH (s) - L35
specialize IH (t) - L36
specialize IH (n) - L37
apply IH - L38
exact hF
08Separate the logical casesL39–39
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L39
cases hp
09Establish hvL40–46
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed rectangular slice sum exists.
- L40
have hv : ∃ z. SignedSliceSum(F,o + s · m,t,n,z)Definitions: SignedSliceSum(F,o + s · m,t,n,z)Original native command in the exact edition - L41
specialize signed_rectangular_slice_sum_exists (F) - L42
specialize signed_rectangular_slice_sum_exists (((o) + ((s) * (m)))) - L43
specialize signed_rectangular_slice_sum_exists (t) - L44
specialize signed_rectangular_slice_sum_exists (n) - L45
apply signed_rectangular_slice_sum_exists - L46
exact hF
10Separate the logical casesL47–47
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L47
cases hv
11Establish heL48–53
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply arithmetic signed table extend at.
- L48
have he : ∃ Q. ArithExtend(x,Q,m,x1)Definitions: ArithExtend(x,Q,m,x1)Original native command in the exact edition - L49
specialize arithmetic_signed_table_extend_at (m) - L50
specialize arithmetic_signed_table_extend_at (x) - L51
specialize arithmetic_signed_table_extend_at (m) - L52
specialize arithmetic_signed_table_extend_at (x1) - L53
apply arithmetic_signed_table_extend_at
12Separate the logical casesL54–55
13Use earlier factsL56–56
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L56
exact hp_witness_right_left
14Separate the logical casesL57–59
15Construct an explicit witnessL60–60
Supply the displayed value, then prove that it has the required property.
- L60
exists x2
16Use earlier factsL61–70
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L61
specialize signed_rectangular_row_sums_extend (F) - L62
specialize signed_rectangular_row_sums_extend (x) - L63
specialize signed_rectangular_row_sums_extend (x2) - L64
specialize signed_rectangular_row_sums_extend (o) - L65
specialize signed_rectangular_row_sums_extend (s) - L66
specialize signed_rectangular_row_sums_extend (t) - L67
specialize signed_rectangular_row_sums_extend (m) - L68
specialize signed_rectangular_row_sums_extend (n) - L69
specialize signed_rectangular_row_sums_extend (x1) - L70
apply signed_rectangular_row_sums_extend
Original defined command ledger · 75 lines
- 0001
induction m - 0002
intro F - 0003
intro o - 0004
intro s - 0005
intro t - 0006
intro n - 0007
intro hF - 0008
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)))) - 0009
specialize signed_rectangular_row_sums_empty (F) - 0010
specialize signed_rectangular_row_sums_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))))) - 0011
specialize signed_rectangular_row_sums_empty (o) - 0012
specialize signed_rectangular_row_sums_empty (s) - 0013
specialize signed_rectangular_row_sums_empty (t) - 0014
specialize signed_rectangular_row_sums_empty (n) - 0015
apply signed_rectangular_row_sums_empty - 0016
exact hF - 0017
specialize divisor_signed_table_from_components (0) - 0018
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))))) - 0019
specialize divisor_signed_table_from_components (0) - 0020
specialize divisor_signed_table_from_components (0) - 0021
specialize divisor_signed_table_from_components (0) - 0022
specialize divisor_signed_table_from_components (0) - 0023
apply divisor_signed_table_from_components - 0024
refl - 0025
intro F - 0026
intro o - 0027
intro s - 0028
intro t - 0029
intro n - 0030
intro hF - 0031
have hp : ∃ R. ArithRowSums(F,R,o,s,t,m,n) - 0032
specialize IH (F) - 0033
specialize IH (o) - 0034
specialize IH (s) - 0035
specialize IH (t) - 0036
specialize IH (n) - 0037
apply IH - 0038
exact hF - 0039
cases hp - 0040
have hv : ∃ z. SignedSliceSum(F,o + s · m,t,n,z) - 0041
specialize signed_rectangular_slice_sum_exists (F) - 0042
specialize signed_rectangular_slice_sum_exists (((o) + ((s) * (m)))) - 0043
specialize signed_rectangular_slice_sum_exists (t) - 0044
specialize signed_rectangular_slice_sum_exists (n) - 0045
apply signed_rectangular_slice_sum_exists - 0046
exact hF - 0047
cases hv - 0048
have he : ∃ Q. ArithExtend(x,Q,m,x1) - 0049
specialize arithmetic_signed_table_extend_at (m) - 0050
specialize arithmetic_signed_table_extend_at (x) - 0051
specialize arithmetic_signed_table_extend_at (m) - 0052
specialize arithmetic_signed_table_extend_at (x1) - 0053
apply arithmetic_signed_table_extend_at - 0054
cases hp_witness - 0055
cases hp_witness_right - 0056
exact hp_witness_right_left - 0057
cases he - 0058
cases he_witness - 0059
cases he_witness_right - 0060
exists x2 - 0061
specialize signed_rectangular_row_sums_extend (F) - 0062
specialize signed_rectangular_row_sums_extend (x) - 0063
specialize signed_rectangular_row_sums_extend (x2) - 0064
specialize signed_rectangular_row_sums_extend (o) - 0065
specialize signed_rectangular_row_sums_extend (s) - 0066
specialize signed_rectangular_row_sums_extend (t) - 0067
specialize signed_rectangular_row_sums_extend (m) - 0068
specialize signed_rectangular_row_sums_extend (n) - 0069
specialize signed_rectangular_row_sums_extend (x1) - 0070
apply signed_rectangular_row_sums_extend - 0071
exact hp_witness - 0072
exact he_witness_left - 0073
exact he_witness_right_left - 0074
exact he_witness_right_right - 0075
exact hv_witness