[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 matrixops

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:
multmx-column ⊦ #c mx1 = #r mx2 ∧ c < #c mx2 → (mx1 * mx2)[c]c = mx1 * mx2[c]c A User Theorem
sum-add ⊦ Σ(ns, f1) + Σ(ns, f2) = Σ(ns, λ n. f1(n) + f2(n)) A User Theorem
multvecmx-get ⊦ #r mx = # vec ∧ c < #c mx → (vec * mx)[c] = Σ(0 to # vec, λ n. vec[n] * mx[n, c]) An Axiom
addmx-assoc ⊦ #r mx1 = #r mx2 ∧ #r mx2 = #r mx3 ∧ #c mx1 = #c mx2 ∧ #c mx2 = #c mx3 → (mx1 + mx2) + mx3 = mx1 + mx2 + mx3 A User Theorem
addvec-com ⊦ # vec1 = # vec2 → vec1 + vec2 = vec2 + vec1 A User Theorem
addmvec-get ⊦ n < # vec1 → (vec1 + vec2)[n] = vec1[n] + vec2[n] An Axiom
sum-base ⊦ Σ(∅, f) = O An Axiom
multmxvec-get ⊦ #c mx = # vec ∧ r < #r mx → (mx * vec)[r] = Σ(0 to # vec, λ n. mx[r, n] * vec[n]) An Axiom
multmx-colno ⊦ #c mx1 = #r mx2 → #c(mx1 * mx2) = #c mx2 An Axiom
sum-rec ⊦ ¬ n ∈ ns → Σ(ns ++ n, f) = f(n) + Σ(ns, f) An Axiom
multvecmx-size ⊦ #r mx = # vec → #(vec * mx) = #c mx An Axiom
addinvmx-colno ⊦ #c O- mx = #c mx An Axiom
addmx-colno ⊦ #c(mx1 + mx2) = #c mx1 An Axiom
distrmxvecvec ⊦ #c mx = # vec1 ∧ # vec1 = # vec2 → mx * (vec1 + vec2) = mx * vec1 + mx * vec2 A User Theorem
addinvvec-size ⊦ # O- vec = # vec An Axiom
addvec-assoc ⊦ # vec1 = # vec2 ∧ # vec1 = # vec2 → (vec1 + vec2) + vec3 = vec1 + vec2 + vec3 A User Theorem
distrmxmxvec ⊦ #r mx1 = #r mx2 ∧ #c mx1 = #c mx2 ∧ #c mx1 = # vec → (mx1 + mx2) * vec = mx1 * vec + mx2 * vec A User Theorem
mult-assoc ⊦ #c mx1 = #r mx2 ∧ #c mx2 = #r mx3 → (mx1 * mx2) * mx3 = mx1 * mx2 * mx3 A User Theorem
multmx-rowno ⊦ #c mx1 = #r mx2 → #r(mx1 * mx2) = #r mx1 An Axiom
multmx-row ⊦ #c mx1 = #r mx2 ∧ r < #r mx1 → (mx1 * mx2)[r]r = mx1[r]r * mx2 A User Theorem
addinvmx-rowno ⊦ #r O- mx = #r mx An Axiom
addmx-rowno ⊦ #r(mx1 + mx2) = #r mx1 An Axiom
sum-union ⊦ Σ(ns1 ∪ ns2, f) = Σ(ns1, f) + Σ(ns2 \ ns1, f) A User Theorem
distrvecmxmx ⊦ #r mx1 = # vec ∧ #r mx1 = #r mx2 ∧ #c mx1 = #c mx2 → vec * (mx1 + mx2) = vec * mx1 + vec * mx2 A User Theorem
singletonmxvec-get ⊦ r < m ∧ c < # vec ∧ n < m → (mkmatrix(m, # vec, O)[r, c, a] * vec)[n] = (n = r ⊃ a * vec[c];O) A User Theorem
addvec-size ⊦ #(vec1 + vec2) = # vec1 An Axiom
addinvmx-get ⊦ c < #c mx ∧ c < #c mx → (O- mx)[r, c] = O- mx[r, c] An Axiom
sum-multl ⊦ a * Σ(ns, f) = Σ(ns, λ n. a * f(n)) A User Theorem
sum-switch ⊦ Σ(ns1, λ m. Σ(ns2, λ n. g(m, n))) = Σ(ns2, λ n. Σ(ns1, λ m. g(m, n))) A User Theorem
addmx-get ⊦ r < #r mx1 ∧ c < #c mx1 → (mx1 + mx2)[r, c] = mx1[r, c] + mx2[r, c] An Axiom
singletonmxvec-get-sum-aux⊦ n < m ∧ c < # vec ∧ r < m ∧ n1 ≤ # vec → Σ(0 to n1, λ n0. mkmatrix(m, # vec, O)[r, c, a][n, n0] * vec[n0]) = (n = r ∧ c < n1 ⊃ a * vec[c];O) A User Theorem
distrvevecmx ⊦ #r mx = # vec1 ∧ # vec1 = # vec2 → (vec1 + vec2) * mx = vec1 * mx + vec2 * mx A User Theorem
addmx-com ⊦ #r mx1 = #r mx2 ∧ #c mx1 = #c mx2 → mx1 + mx2 = mx2 + mx1 A User Theorem
sum-multr ⊦ Σ(ns, f) * a = Σ(ns, λ n. f(n) * a) A User Theorem
addinvvec-get ⊦ n < # vec → (O- vec)[n] = O- vec[n] An Axiom
distrmxmx-l ⊦ #r mx1 = #r mx2 ∧ #c mx1 = #c mx2 ∧ #c mx1 = #r mx → (mx1 + mx2) * mx = mx1 * mx + mx2 * mx A User Theorem
multmx-get ⊦ #c mx1 = #r mx2 ∧ r < #r mx1 ∧ c < #c mx2 → (mx1 * mx2)[r, c] = Σ(0 to #c mx1, λ n. mx1[r, n] * mx2[n, c]) An Axiom
sum-red ⊦ (∀ n. n ∈ ns → f1(n) = f2(n)) → Σ(ns, f1) = Σ(ns, f2) A User Theorem
distrmxmx-r ⊦ #r mx1 = #r mx2 ∧ #c mx1 = #c mx2 ∧ #c mx = #r mx1 → mx * (mx1 + mx2) = mx * mx1 + mx * mx2 A User Theorem
multmxvec-size ⊦ #c mx = # vec → #(mx * vec) = #r mx An Axiom