[Imprint][Data Privacy Statement][E-Mail]

Back to main index. View the specification. View theorem base summary, View theorem base listing, the used properties by spec, the dependency list, the symbol table,

Theorem base for Specification VerifyThis3-sequential

This is a listing of all goals defined over the current specification. Axioms are marked yellow, proved theorems green and unproved theorems blue. Click on individual names to get more information on the proof.

Name: Sequent: Type:
toMatrix-rowno ⊦ #r spmx.toMatrix(r, c) = r An Axiom
toMatrix-colno ⊦ #c spmx.toMatrix(r, c) = c An Axiom
toMatrix-get ⊦ m < r ∧ n < c → spmx.toMatrix(r, c)[m, n] = (m × n ∈ spmx ⊃ spmx[m × n];O) An Axiom
init ⊦ m < n → mkvector(n)[m] = O An Axiom
MULTMULT#(spmx, r, x; ; y) {y := mkvector(r); while spmx ≠ ∅ do {/* _:invariant y + spmx.toMatrix(r, # x) * x = (spmx`).toMatrix(r, # x) * x ∧ spmx ⊆ spmx` ∧ # y = r wfbound # spmx; */; choose np with np ∈ spmx in {y[np.r] := y[np.r] + spmx[np] * x[np.c]; spmx := spmx -- np}} } An Axiom
okspmx-def ⊦ okspmx(spmx, r, c) ↔ (∀ np. np ∈ spmx → np.r < r ∧ np.c < c) An Axiom
correctokspmx(spmx, r, # x) ⊦ ⟪MULT#(spmx, r, x; ; y)⟫ (y = spmx.toMatrix(r, # x) * x) A Proof Obligation
addzero ⊦ # x = n → mkvector(n) + x = x A User Theorem
main-lemma⊦ r × c ∈ spmx ∧ c < # x ∧ r < # y → y[r, y[r] + spmx[r × c] * x[c]] + (spmx -- (r × c)).toMatrix(# y, # x) * x = y + spmx.toMatrix(# y, # x) * x A User Theorem
mult-emptymx-ind ⊦ n < m ∧ n1 ≤ # x → Σ(0 to n1, λ n0. ∅.toMatrix(m, # x)[n, n0] * x[n0]) = O A User Theorem
multzero ⊦ # x = n → ∅.toMatrix(m, n) * x = mkvector(m) A User Theorem
toMatrix-add ⊦ r < m ∧ c < n ∧ ¬ r × c ∈ spmx → spmx[r × c, a].toMatrix(m, n) = spmx.toMatrix(m, n) + mkmatrix(m, n, O)[r, c, a] A User Theorem