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