<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="../../../xsl/lemmabase.xsl"?>
<LEMMABASE name="Specification matrixops"><LEMMADIR><DIRECTORY><TRUENAME>specs/matrixops/proofs/</TRUENAME></DIRECTORY></LEMMADIR><SAVELEMMASP><F/></SAVELEMMASP><BASEDATE>1623070846000</BASEDATE><MODIFIEDLEMMAS><LIST></LIST></MODIFIEDLEMMAS><ADDEDLEMMAS><LIST></LIST></ADDEDLEMMAS><THELEMMAS><LIST><LE><LEMMAINFO><LEMMANAME>multmx-column</LEMMANAME><LEMMAGOAL><SEQGOAL><GOALSEQ><SEQ> ⊦ &#35;c mx1 = &#35;r mx2 ∧ c &lt; &#35;c mx2 → (mx1 * mx2)[c]c = mx1 * mx2[c]c</SEQ></GOALSEQ></SEQGOAL></LEMMAGOAL><LEMMATYPE><USERLEMMA/></LEMMATYPE><VALIDITY><LIST></LIST></VALIDITY><USEDLEMMAS><LIST><LE>sum-red</LE><LE>multmx-get</LE><LE>multmxvec-get</LE><LE>multmx-rowno</LE><LE>multmxvec-size</LE></LIST></USEDLEMMAS><SMTINFOS><LIST></LIST></SMTINFOS><MAINGOALS><LIST></LIST></MAINGOALS><USERACTIONS>7</USERACTIONS><PROOFSTEPS>12</PROOFSTEPS><PROVEDP><T/></PROVEDP><PROOFEXISTSP><T/></PROOFEXISTSP><PROOFFILENAME>multmx-column-proof</PROOFFILENAME><LEMMAPROOFBAG><NONE/></LEMMAPROOFBAG><SAVETREEP><F/></SAVETREEP><INFOFILENAME>multmx-column-proof-info</INFOFILENAME><LEMMAPROOFINFOBAG><NONE/></LEMMAPROOFINFOBAG><SAVEINFOSP><F/></SAVEINFOSP><SIMPFEATURES><LIST><LE>s</LE><LE>ls</LE></LIST></SIMPFEATURES><HISTINFO><LIST></LIST></HISTINFO></LEMMAINFO></LE><LE><LEMMAINFO><LEMMANAME>sum-add</LEMMANAME><LEMMAGOAL><SEQGOAL><GOALSEQ><SEQ> ⊦ Σ(ns, f1) + Σ(ns, f2) = Σ(ns, λ n. f1(n) + f2(n))</SEQ></GOALSEQ></SEQGOAL></LEMMAGOAL><LEMMATYPE><USERLEMMA/></LEMMATYPE><VALIDITY><LIST></LIST></VALIDITY><USEDLEMMAS><LIST><LE>sum-rec</LE><LE>sum-base</LE></LIST></USEDLEMMAS><SMTINFOS><LIST></LIST></SMTINFOS><MAINGOALS><LIST></LIST></MAINGOALS><USERACTIONS>3</USERACTIONS><PROOFSTEPS>7</PROOFSTEPS><PROVEDP><T/></PROVEDP><PROOFEXISTSP><T/></PROOFEXISTSP><PROOFFILENAME>sum-add-proof</PROOFFILENAME><LEMMAPROOFBAG><NONE/></LEMMAPROOFBAG><SAVETREEP><F/></SAVETREEP><INFOFILENAME>sum-add-proof-info</INFOFILENAME><LEMMAPROOFINFOBAG><NONE/></LEMMAPROOFINFOBAG><SAVEINFOSP><F/></SAVEINFOSP><SIMPFEATURES><LIST></LIST></SIMPFEATURES><HISTINFO><LIST></LIST></HISTINFO></LEMMAINFO></LE><LE><LEMMAINFO><LEMMANAME>multvecmx-get</LEMMANAME><LEMMAGOAL><SEQGOAL><GOALSEQ><SEQ> ⊦ &#35;r mx = &#35; vec ∧ c &lt; &#35;c mx → (vec * mx)[c] = Σ(0 to &#35; vec, λ n. vec[n] * mx[n, c])</SEQ></GOALSEQ></SEQGOAL></LEMMAGOAL><LEMMATYPE><AXIOMLEMMA/></LEMMATYPE><VALIDITY><LIST></LIST></VALIDITY><USEDLEMMAS><LIST></LIST></USEDLEMMAS><SMTINFOS><LIST></LIST></SMTINFOS><MAINGOALS><LIST></LIST></MAINGOALS><USERACTIONS>0</USERACTIONS><PROOFSTEPS>0</PROOFSTEPS><PROVEDP><F/></PROVEDP><PROOFEXISTSP><F/></PROOFEXISTSP><PROOFFILENAME>multvecmx-get-proof</PROOFFILENAME><LEMMAPROOFBAG><NONE/></LEMMAPROOFBAG><SAVETREEP><F/></SAVETREEP><INFOFILENAME>multvecmx-get-proof-info</INFOFILENAME><LEMMAPROOFINFOBAG><NONE/></LEMMAPROOFINFOBAG><SAVEINFOSP><F/></SAVEINFOSP><SIMPFEATURES><LIST><LE>s</LE><LE>ls</LE></LIST></SIMPFEATURES><HISTINFO><LIST></LIST></HISTINFO></LEMMAINFO></LE><LE><LEMMAINFO><LEMMANAME>addmx-assoc</LEMMANAME><LEMMAGOAL><SEQGOAL><GOALSEQ><SEQ> ⊦ &#35;r mx1 = &#35;r mx2 ∧ &#35;r mx2 = &#35;r mx3 ∧ &#35;c mx1 = &#35;c mx2 ∧ &#35;c mx2 = &#35;c mx3 → (mx1 + mx2) + mx3 = mx1 + mx2 + mx3</SEQ></GOALSEQ></SEQGOAL></LEMMAGOAL><LEMMATYPE><USERLEMMA/></LEMMATYPE><VALIDITY><LIST></LIST></VALIDITY><USEDLEMMAS><LIST><LE>addmx-get</LE><LE>addmx-colno</LE><LE>addmx-rowno</LE></LIST></USEDLEMMAS><SMTINFOS><LIST></LIST></SMTINFOS><MAINGOALS><LIST></LIST></MAINGOALS><USERACTIONS>2</USERACTIONS><PROOFSTEPS>4</PROOFSTEPS><PROVEDP><T/></PROVEDP><PROOFEXISTSP><T/></PROOFEXISTSP><PROOFFILENAME>addmx-assoc-proof</PROOFFILENAME><LEMMAPROOFBAG><NONE/></LEMMAPROOFBAG><SAVETREEP><F/></SAVETREEP><INFOFILENAME>addmx-assoc-proof-info</INFOFILENAME><LEMMAPROOFINFOBAG><NONE/></LEMMAPROOFINFOBAG><SAVEINFOSP><F/></SAVEINFOSP><SIMPFEATURES><LIST></LIST></SIMPFEATURES><HISTINFO><LIST></LIST></HISTINFO></LEMMAINFO></LE><LE><LEMMAINFO><LEMMANAME>addvec-com</LEMMANAME><LEMMAGOAL><SEQGOAL><GOALSEQ><SEQ> ⊦ &#35; vec1 = &#35; vec2 → vec1 + vec2 = vec2 + vec1</SEQ></GOALSEQ></SEQGOAL></LEMMAGOAL><LEMMATYPE><USERLEMMA/></LEMMATYPE><VALIDITY><LIST></LIST></VALIDITY><USEDLEMMAS><LIST><LE>addmvec-get</LE><LE>addvec-size</LE></LIST></USEDLEMMAS><SMTINFOS><LIST></LIST></SMTINFOS><MAINGOALS><LIST></LIST></MAINGOALS><USERACTIONS>1</USERACTIONS><PROOFSTEPS>2</PROOFSTEPS><PROVEDP><T/></PROVEDP><PROOFEXISTSP><T/></PROOFEXISTSP><PROOFFILENAME>addvec-com-proof</PROOFFILENAME><LEMMAPROOFBAG><NONE/></LEMMAPROOFBAG><SAVETREEP><F/></SAVETREEP><INFOFILENAME>addvec-com-proof-info</INFOFILENAME><LEMMAPROOFINFOBAG><NONE/></LEMMAPROOFINFOBAG><SAVEINFOSP><F/></SAVEINFOSP><SIMPFEATURES><LIST></LIST></SIMPFEATURES><HISTINFO><LIST></LIST></HISTINFO></LEMMAINFO></LE><LE><LEMMAINFO><LEMMANAME>addmvec-get</LEMMANAME><LEMMAGOAL><SEQGOAL><GOALSEQ><SEQ> ⊦ n &lt; &#35; vec1 → (vec1 + vec2)[n] = vec1[n] + vec2[n]</SEQ></GOALSEQ></SEQGOAL></LEMMAGOAL><LEMMATYPE><AXIOMLEMMA/></LEMMATYPE><VALIDITY><LIST></LIST></VALIDITY><USEDLEMMAS><LIST></LIST></USEDLEMMAS><SMTINFOS><LIST></LIST></SMTINFOS><MAINGOALS><LIST></LIST></MAINGOALS><USERACTIONS>0</USERACTIONS><PROOFSTEPS>0</PROOFSTEPS><PROVEDP><F/></PROVEDP><PROOFEXISTSP><F/></PROOFEXISTSP><PROOFFILENAME>addmvec-get-proof</PROOFFILENAME><LEMMAPROOFBAG><NONE/></LEMMAPROOFBAG><SAVETREEP><F/></SAVETREEP><INFOFILENAME>addmvec-get-proof-info</INFOFILENAME><LEMMAPROOFINFOBAG><NONE/></LEMMAPROOFINFOBAG><SAVEINFOSP><F/></SAVEINFOSP><SIMPFEATURES><LIST><LE>s</LE><LE>ls</LE></LIST></SIMPFEATURES><HISTINFO><LIST></LIST></HISTINFO></LEMMAINFO></LE><LE><LEMMAINFO><LEMMANAME>sum-base</LEMMANAME><LEMMAGOAL><SEQGOAL><GOALSEQ><SEQ> ⊦ Σ(∅, f) = O</SEQ></GOALSEQ></SEQGOAL></LEMMAGOAL><LEMMATYPE><AXIOMLEMMA/></LEMMATYPE><VALIDITY><LIST></LIST></VALIDITY><USEDLEMMAS><LIST></LIST></USEDLEMMAS><SMTINFOS><LIST></LIST></SMTINFOS><MAINGOALS><LIST></LIST></MAINGOALS><USERACTIONS>0</USERACTIONS><PROOFSTEPS>0</PROOFSTEPS><PROVEDP><F/></PROVEDP><PROOFEXISTSP><F/></PROOFEXISTSP><PROOFFILENAME>sum-base-proof</PROOFFILENAME><LEMMAPROOFBAG><NONE/></LEMMAPROOFBAG><SAVETREEP><F/></SAVETREEP><INFOFILENAME>sum-base-proof-info</INFOFILENAME><LEMMAPROOFINFOBAG><NONE/></LEMMAPROOFINFOBAG><SAVEINFOSP><F/></SAVEINFOSP><SIMPFEATURES><LIST><LE>s</LE><LE>ls</LE></LIST></SIMPFEATURES><HISTINFO><LIST></LIST></HISTINFO></LEMMAINFO></LE><LE><LEMMAINFO><LEMMANAME>multmxvec-get</LEMMANAME><LEMMAGOAL><SEQGOAL><GOALSEQ><SEQ> ⊦ &#35;c mx = &#35; vec ∧ r &lt; &#35;r mx → (mx * vec)[r] = Σ(0 to &#35; vec, λ n. mx[r, n] * vec[n])</SEQ></GOALSEQ></SEQGOAL></LEMMAGOAL><LEMMATYPE><AXIOMLEMMA/></LEMMATYPE><VALIDITY><LIST></LIST></VALIDITY><USEDLEMMAS><LIST></LIST></USEDLEMMAS><SMTINFOS><LIST></LIST></SMTINFOS><MAINGOALS><LIST></LIST></MAINGOALS><USERACTIONS>0</USERACTIONS><PROOFSTEPS>0</PROOFSTEPS><PROVEDP><F/></PROVEDP><PROOFEXISTSP><F/></PROOFEXISTSP><PROOFFILENAME>multmxvec-get-proof</PROOFFILENAME><LEMMAPROOFBAG><NONE/></LEMMAPROOFBAG><SAVETREEP><F/></SAVETREEP><INFOFILENAME>multmxvec-get-proof-info</INFOFILENAME><LEMMAPROOFINFOBAG><NONE/></LEMMAPROOFINFOBAG><SAVEINFOSP><F/></SAVEINFOSP><SIMPFEATURES><LIST><LE>s</LE><LE>ls</LE></LIST></SIMPFEATURES><HISTINFO><LIST></LIST></HISTINFO></LEMMAINFO></LE><LE><LEMMAINFO><LEMMANAME>multmx-colno</LEMMANAME><LEMMAGOAL><SEQGOAL><GOALSEQ><SEQ> ⊦ &#35;c mx1 = &#35;r mx2 → &#35;c(mx1 * mx2) = &#35;c mx2</SEQ></GOALSEQ></SEQGOAL></LEMMAGOAL><LEMMATYPE><AXIOMLEMMA/></LEMMATYPE><VALIDITY><LIST></LIST></VALIDITY><USEDLEMMAS><LIST></LIST></USEDLEMMAS><SMTINFOS><LIST></LIST></SMTINFOS><MAINGOALS><LIST></LIST></MAINGOALS><USERACTIONS>0</USERACTIONS><PROOFSTEPS>0</PROOFSTEPS><PROVEDP><F/></PROVEDP><PROOFEXISTSP><F/></PROOFEXISTSP><PROOFFILENAME>multmx-colno-proof</PROOFFILENAME><LEMMAPROOFBAG><NONE/></LEMMAPROOFBAG><SAVETREEP><F/></SAVETREEP><INFOFILENAME>multmx-colno-proof-info</INFOFILENAME><LEMMAPROOFINFOBAG><NONE/></LEMMAPROOFINFOBAG><SAVEINFOSP><F/></SAVEINFOSP><SIMPFEATURES><LIST><LE>s</LE><LE>ls</LE></LIST></SIMPFEATURES><HISTINFO><LIST></LIST></HISTINFO></LEMMAINFO></LE><LE><LEMMAINFO><LEMMANAME>sum-rec</LEMMANAME><LEMMAGOAL><SEQGOAL><GOALSEQ><SEQ> ⊦ ¬ n ∈ ns → Σ(ns ++ n, f) = f(n) + Σ(ns, f)</SEQ></GOALSEQ></SEQGOAL></LEMMAGOAL><LEMMATYPE><AXIOMLEMMA/></LEMMATYPE><VALIDITY><LIST></LIST></VALIDITY><USEDLEMMAS><LIST></LIST></USEDLEMMAS><SMTINFOS><LIST></LIST></SMTINFOS><MAINGOALS><LIST></LIST></MAINGOALS><USERACTIONS>0</USERACTIONS><PROOFSTEPS>0</PROOFSTEPS><PROVEDP><F/></PROVEDP><PROOFEXISTSP><F/></PROOFEXISTSP><PROOFFILENAME>sum-rec-proof</PROOFFILENAME><LEMMAPROOFBAG><NONE/></LEMMAPROOFBAG><SAVETREEP><F/></SAVETREEP><INFOFILENAME>sum-rec-proof-info</INFOFILENAME><LEMMAPROOFINFOBAG><NONE/></LEMMAPROOFINFOBAG><SAVEINFOSP><F/></SAVEINFOSP><SIMPFEATURES><LIST><LE>s</LE><LE>ls</LE></LIST></SIMPFEATURES><HISTINFO><LIST></LIST></HISTINFO></LEMMAINFO></LE><LE><LEMMAINFO><LEMMANAME>multvecmx-size</LEMMANAME><LEMMAGOAL><SEQGOAL><GOALSEQ><SEQ> ⊦ &#35;r mx = &#35; vec → &#35;(vec * mx) = &#35;c mx</SEQ></GOALSEQ></SEQGOAL></LEMMAGOAL><LEMMATYPE><AXIOMLEMMA/></LEMMATYPE><VALIDITY><LIST></LIST></VALIDITY><USEDLEMMAS><LIST></LIST></USEDLEMMAS><SMTINFOS><LIST></LIST></SMTINFOS><MAINGOALS><LIST></LIST></MAINGOALS><USERACTIONS>0</USERACTIONS><PROOFSTEPS>0</PROOFSTEPS><PROVEDP><F/></PROVEDP><PROOFEXISTSP><F/></PROOFEXISTSP><PROOFFILENAME>multvecmx-size-proof</PROOFFILENAME><LEMMAPROOFBAG><NONE/></LEMMAPROOFBAG><SAVETREEP><F/></SAVETREEP><INFOFILENAME>multvecmx-size-proof-info</INFOFILENAME><LEMMAPROOFINFOBAG><NONE/></LEMMAPROOFINFOBAG><SAVEINFOSP><F/></SAVEINFOSP><SIMPFEATURES><LIST><LE>s</LE><LE>ls</LE></LIST></SIMPFEATURES><HISTINFO><LIST></LIST></HISTINFO></LEMMAINFO></LE><LE><LEMMAINFO><LEMMANAME>addinvmx-colno</LEMMANAME><LEMMAGOAL><SEQGOAL><GOALSEQ><SEQ> ⊦ &#35;c O- mx = &#35;c mx</SEQ></GOALSEQ></SEQGOAL></LEMMAGOAL><LEMMATYPE><AXIOMLEMMA/></LEMMATYPE><VALIDITY><LIST></LIST></VALIDITY><USEDLEMMAS><LIST></LIST></USEDLEMMAS><SMTINFOS><LIST></LIST></SMTINFOS><MAINGOALS><LIST></LIST></MAINGOALS><USERACTIONS>0</USERACTIONS><PROOFSTEPS>0</PROOFSTEPS><PROVEDP><F/></PROVEDP><PROOFEXISTSP><F/></PROOFEXISTSP><PROOFFILENAME>addinvmx-colno-proof</PROOFFILENAME><LEMMAPROOFBAG><NONE/></LEMMAPROOFBAG><SAVETREEP><F/></SAVETREEP><INFOFILENAME>addinvmx-colno-proof-info</INFOFILENAME><LEMMAPROOFINFOBAG><NONE/></LEMMAPROOFINFOBAG><SAVEINFOSP><F/></SAVEINFOSP><SIMPFEATURES><LIST><LE>s</LE><LE>ls</LE></LIST></SIMPFEATURES><HISTINFO><LIST></LIST></HISTINFO></LEMMAINFO></LE><LE><LEMMAINFO><LEMMANAME>addmx-colno</LEMMANAME><LEMMAGOAL><SEQGOAL><GOALSEQ><SEQ> ⊦ &#35;c(mx1 + mx2) = &#35;c mx1</SEQ></GOALSEQ></SEQGOAL></LEMMAGOAL><LEMMATYPE><AXIOMLEMMA/></LEMMATYPE><VALIDITY><LIST></LIST></VALIDITY><USEDLEMMAS><LIST></LIST></USEDLEMMAS><SMTINFOS><LIST></LIST></SMTINFOS><MAINGOALS><LIST></LIST></MAINGOALS><USERACTIONS>0</USERACTIONS><PROOFSTEPS>0</PROOFSTEPS><PROVEDP><F/></PROVEDP><PROOFEXISTSP><F/></PROOFEXISTSP><PROOFFILENAME>addmx-colno-proof</PROOFFILENAME><LEMMAPROOFBAG><NONE/></LEMMAPROOFBAG><SAVETREEP><F/></SAVETREEP><INFOFILENAME>addmx-colno-proof-info</INFOFILENAME><LEMMAPROOFINFOBAG><NONE/></LEMMAPROOFINFOBAG><SAVEINFOSP><F/></SAVEINFOSP><SIMPFEATURES><LIST><LE>s</LE><LE>ls</LE></LIST></SIMPFEATURES><HISTINFO><LIST></LIST></HISTINFO></LEMMAINFO></LE><LE><LEMMAINFO><LEMMANAME>distrmxvecvec</LEMMANAME><LEMMAGOAL><SEQGOAL><GOALSEQ><SEQ> ⊦ &#35;c mx = &#35; vec1 ∧ &#35; vec1 = &#35; vec2 → mx * (vec1 + vec2) = mx * vec1 + mx * vec2</SEQ></GOALSEQ></SEQGOAL></LEMMAGOAL><LEMMATYPE><USERLEMMA/></LEMMATYPE><VALIDITY><LIST></LIST></VALIDITY><USEDLEMMAS><LIST><LE>sum-red</LE><LE>sum-add</LE><LE>addmvec-get</LE><LE>multmxvec-get</LE><LE>multmxvec-size</LE><LE>addvec-size</LE></LIST></USEDLEMMAS><SMTINFOS><LIST></LIST></SMTINFOS><MAINGOALS><LIST></LIST></MAINGOALS><USERACTIONS>9</USERACTIONS><PROOFSTEPS>18</PROOFSTEPS><PROVEDP><T/></PROVEDP><PROOFEXISTSP><T/></PROOFEXISTSP><PROOFFILENAME>distrmxvecvec-proof</PROOFFILENAME><LEMMAPROOFBAG><NONE/></LEMMAPROOFBAG><SAVETREEP><F/></SAVETREEP><INFOFILENAME>distrmxvecvec-proof-info</INFOFILENAME><LEMMAPROOFINFOBAG><NONE/></LEMMAPROOFINFOBAG><SAVEINFOSP><F/></SAVEINFOSP><SIMPFEATURES><LIST></LIST></SIMPFEATURES><HISTINFO><LIST></LIST></HISTINFO></LEMMAINFO></LE><LE><LEMMAINFO><LEMMANAME>addinvvec-size</LEMMANAME><LEMMAGOAL><SEQGOAL><GOALSEQ><SEQ> ⊦ &#35; O- vec = &#35; vec</SEQ></GOALSEQ></SEQGOAL></LEMMAGOAL><LEMMATYPE><AXIOMLEMMA/></LEMMATYPE><VALIDITY><LIST></LIST></VALIDITY><USEDLEMMAS><LIST></LIST></USEDLEMMAS><SMTINFOS><LIST></LIST></SMTINFOS><MAINGOALS><LIST></LIST></MAINGOALS><USERACTIONS>0</USERACTIONS><PROOFSTEPS>0</PROOFSTEPS><PROVEDP><F/></PROVEDP><PROOFEXISTSP><F/></PROOFEXISTSP><PROOFFILENAME>addinvvec-size-proof</PROOFFILENAME><LEMMAPROOFBAG><NONE/></LEMMAPROOFBAG><SAVETREEP><F/></SAVETREEP><INFOFILENAME>addinvvec-size-proof-info</INFOFILENAME><LEMMAPROOFINFOBAG><NONE/></LEMMAPROOFINFOBAG><SAVEINFOSP><F/></SAVEINFOSP><SIMPFEATURES><LIST><LE>s</LE><LE>ls</LE></LIST></SIMPFEATURES><HISTINFO><LIST></LIST></HISTINFO></LEMMAINFO></LE><LE><LEMMAINFO><LEMMANAME>addvec-assoc</LEMMANAME><LEMMAGOAL><SEQGOAL><GOALSEQ><SEQ> ⊦ &#35; vec1 = &#35; vec2 ∧ &#35; vec1 = &#35; vec2 → (vec1 + vec2) + vec3 = vec1 + vec2 + vec3</SEQ></GOALSEQ></SEQGOAL></LEMMAGOAL><LEMMATYPE><USERLEMMA/></LEMMATYPE><VALIDITY><LIST></LIST></VALIDITY><USEDLEMMAS><LIST><LE>addmvec-get</LE><LE>addvec-size</LE></LIST></USEDLEMMAS><SMTINFOS><LIST></LIST></SMTINFOS><MAINGOALS><LIST></LIST></MAINGOALS><USERACTIONS>2</USERACTIONS><PROOFSTEPS>4</PROOFSTEPS><PROVEDP><T/></PROVEDP><PROOFEXISTSP><T/></PROOFEXISTSP><PROOFFILENAME>addvec-assoc-proof</PROOFFILENAME><LEMMAPROOFBAG><NONE/></LEMMAPROOFBAG><SAVETREEP><F/></SAVETREEP><INFOFILENAME>addvec-assoc-proof-info</INFOFILENAME><LEMMAPROOFINFOBAG><NONE/></LEMMAPROOFINFOBAG><SAVEINFOSP><F/></SAVEINFOSP><SIMPFEATURES><LIST></LIST></SIMPFEATURES><HISTINFO><LIST></LIST></HISTINFO></LEMMAINFO></LE><LE><LEMMAINFO><LEMMANAME>distrmxmxvec</LEMMANAME><LEMMAGOAL><SEQGOAL><GOALSEQ><SEQ> ⊦ &#35;r mx1 = &#35;r mx2 ∧ &#35;c mx1 = &#35;c mx2 ∧ &#35;c mx1 = &#35; vec → (mx1 + mx2) * vec = mx1 * vec + mx2 * vec</SEQ></GOALSEQ></SEQGOAL></LEMMAGOAL><LEMMATYPE><USERLEMMA/></LEMMATYPE><VALIDITY><LIST></LIST></VALIDITY><USEDLEMMAS><LIST><LE>addmx-get</LE><LE>sum-red</LE><LE>sum-add</LE><LE>addmvec-get</LE><LE>multmxvec-get</LE><LE>addmx-rowno</LE><LE>addmx-colno</LE><LE>multmxvec-size</LE><LE>addvec-size</LE></LIST></USEDLEMMAS><SMTINFOS><LIST></LIST></SMTINFOS><MAINGOALS><LIST></LIST></MAINGOALS><USERACTIONS>8</USERACTIONS><PROOFSTEPS>16</PROOFSTEPS><PROVEDP><T/></PROVEDP><PROOFEXISTSP><T/></PROOFEXISTSP><PROOFFILENAME>distrmxmxvec-proof</PROOFFILENAME><LEMMAPROOFBAG><NONE/></LEMMAPROOFBAG><SAVETREEP><F/></SAVETREEP><INFOFILENAME>distrmxmxvec-proof-info</INFOFILENAME><LEMMAPROOFINFOBAG><NONE/></LEMMAPROOFINFOBAG><SAVEINFOSP><F/></SAVEINFOSP><SIMPFEATURES><LIST></LIST></SIMPFEATURES><HISTINFO><LIST></LIST></HISTINFO></LEMMAINFO></LE><LE><LEMMAINFO><LEMMANAME>mult-assoc</LEMMANAME><LEMMAGOAL><SEQGOAL><GOALSEQ><SEQ> ⊦ &#35;c mx1 = &#35;r mx2 ∧ &#35;c mx2 = &#35;r mx3 → (mx1 * mx2) * mx3 = mx1 * mx2 * mx3</SEQ></GOALSEQ></SEQGOAL></LEMMAGOAL><LEMMATYPE><USERLEMMA/></LEMMATYPE><VALIDITY><LIST></LIST></VALIDITY><USEDLEMMAS><LIST><LE>sum-multr</LE><LE>sum-multl</LE><LE>sum-red</LE><LE>sum-switch</LE><LE>multmx-get</LE><LE>multmx-colno</LE><LE>multmx-rowno</LE></LIST></USEDLEMMAS><SMTINFOS><LIST></LIST></SMTINFOS><MAINGOALS><LIST></LIST></MAINGOALS><USERACTIONS>15</USERACTIONS><PROOFSTEPS>26</PROOFSTEPS><PROVEDP><T/></PROVEDP><PROOFEXISTSP><T/></PROOFEXISTSP><PROOFFILENAME>mult-assoc-proof</PROOFFILENAME><LEMMAPROOFBAG><NONE/></LEMMAPROOFBAG><SAVETREEP><F/></SAVETREEP><INFOFILENAME>mult-assoc-proof-info</INFOFILENAME><LEMMAPROOFINFOBAG><NONE/></LEMMAPROOFINFOBAG><SAVEINFOSP><F/></SAVEINFOSP><SIMPFEATURES><LIST></LIST></SIMPFEATURES><HISTINFO><LIST></LIST></HISTINFO></LEMMAINFO></LE><LE><LEMMAINFO><LEMMANAME>multmx-rowno</LEMMANAME><LEMMAGOAL><SEQGOAL><GOALSEQ><SEQ> ⊦ &#35;c mx1 = &#35;r mx2 → &#35;r(mx1 * mx2) = &#35;r mx1</SEQ></GOALSEQ></SEQGOAL></LEMMAGOAL><LEMMATYPE><AXIOMLEMMA/></LEMMATYPE><VALIDITY><LIST></LIST></VALIDITY><USEDLEMMAS><LIST></LIST></USEDLEMMAS><SMTINFOS><LIST></LIST></SMTINFOS><MAINGOALS><LIST></LIST></MAINGOALS><USERACTIONS>0</USERACTIONS><PROOFSTEPS>0</PROOFSTEPS><PROVEDP><F/></PROVEDP><PROOFEXISTSP><F/></PROOFEXISTSP><PROOFFILENAME>multmx-rowno-proof</PROOFFILENAME><LEMMAPROOFBAG><NONE/></LEMMAPROOFBAG><SAVETREEP><F/></SAVETREEP><INFOFILENAME>multmx-rowno-proof-info</INFOFILENAME><LEMMAPROOFINFOBAG><NONE/></LEMMAPROOFINFOBAG><SAVEINFOSP><F/></SAVEINFOSP><SIMPFEATURES><LIST><LE>s</LE><LE>ls</LE></LIST></SIMPFEATURES><HISTINFO><LIST></LIST></HISTINFO></LEMMAINFO></LE><LE><LEMMAINFO><LEMMANAME>multmx-row</LEMMANAME><LEMMAGOAL><SEQGOAL><GOALSEQ><SEQ> ⊦ &#35;c mx1 = &#35;r mx2 ∧ r &lt; &#35;r mx1 → (mx1 * mx2)[r]r = mx1[r]r * mx2</SEQ></GOALSEQ></SEQGOAL></LEMMAGOAL><LEMMATYPE><USERLEMMA/></LEMMATYPE><VALIDITY><LIST></LIST></VALIDITY><USEDLEMMAS><LIST><LE>multvecmx-get</LE><LE>multmx-get</LE><LE>multvecmx-size</LE><LE>multmx-colno</LE></LIST></USEDLEMMAS><SMTINFOS><LIST></LIST></SMTINFOS><MAINGOALS><LIST></LIST></MAINGOALS><USERACTIONS>4</USERACTIONS><PROOFSTEPS>8</PROOFSTEPS><PROVEDP><T/></PROVEDP><PROOFEXISTSP><T/></PROOFEXISTSP><PROOFFILENAME>multmx-row-proof</PROOFFILENAME><LEMMAPROOFBAG><NONE/></LEMMAPROOFBAG><SAVETREEP><F/></SAVETREEP><INFOFILENAME>multmx-row-proof-info</INFOFILENAME><LEMMAPROOFINFOBAG><NONE/></LEMMAPROOFINFOBAG><SAVEINFOSP><F/></SAVEINFOSP><SIMPFEATURES><LIST><LE>s</LE><LE>ls</LE></LIST></SIMPFEATURES><HISTINFO><LIST></LIST></HISTINFO></LEMMAINFO></LE><LE><LEMMAINFO><LEMMANAME>addinvmx-rowno</LEMMANAME><LEMMAGOAL><SEQGOAL><GOALSEQ><SEQ> ⊦ &#35;r O- mx = &#35;r mx</SEQ></GOALSEQ></SEQGOAL></LEMMAGOAL><LEMMATYPE><AXIOMLEMMA/></LEMMATYPE><VALIDITY><LIST></LIST></VALIDITY><USEDLEMMAS><LIST></LIST></USEDLEMMAS><SMTINFOS><LIST></LIST></SMTINFOS><MAINGOALS><LIST></LIST></MAINGOALS><USERACTIONS>0</USERACTIONS><PROOFSTEPS>0</PROOFSTEPS><PROVEDP><F/></PROVEDP><PROOFEXISTSP><F/></PROOFEXISTSP><PROOFFILENAME>addinvmx-rowno-proof</PROOFFILENAME><LEMMAPROOFBAG><NONE/></LEMMAPROOFBAG><SAVETREEP><F/></SAVETREEP><INFOFILENAME>addinvmx-rowno-proof-info</INFOFILENAME><LEMMAPROOFINFOBAG><NONE/></LEMMAPROOFINFOBAG><SAVEINFOSP><F/></SAVEINFOSP><SIMPFEATURES><LIST><LE>s</LE><LE>ls</LE></LIST></SIMPFEATURES><HISTINFO><LIST></LIST></HISTINFO></LEMMAINFO></LE><LE><LEMMAINFO><LEMMANAME>addmx-rowno</LEMMANAME><LEMMAGOAL><SEQGOAL><GOALSEQ><SEQ> ⊦ &#35;r(mx1 + mx2) = &#35;r mx1</SEQ></GOALSEQ></SEQGOAL></LEMMAGOAL><LEMMATYPE><AXIOMLEMMA/></LEMMATYPE><VALIDITY><LIST></LIST></VALIDITY><USEDLEMMAS><LIST></LIST></USEDLEMMAS><SMTINFOS><LIST></LIST></SMTINFOS><MAINGOALS><LIST></LIST></MAINGOALS><USERACTIONS>0</USERACTIONS><PROOFSTEPS>0</PROOFSTEPS><PROVEDP><F/></PROVEDP><PROOFEXISTSP><F/></PROOFEXISTSP><PROOFFILENAME>addmx-rowno-proof</PROOFFILENAME><LEMMAPROOFBAG><NONE/></LEMMAPROOFBAG><SAVETREEP><F/></SAVETREEP><INFOFILENAME>addmx-rowno-proof-info</INFOFILENAME><LEMMAPROOFINFOBAG><NONE/></LEMMAPROOFINFOBAG><SAVEINFOSP><F/></SAVEINFOSP><SIMPFEATURES><LIST><LE>s</LE><LE>ls</LE></LIST></SIMPFEATURES><HISTINFO><LIST></LIST></HISTINFO></LEMMAINFO></LE><LE><LEMMAINFO><LEMMANAME>sum-union</LEMMANAME><LEMMAGOAL><SEQGOAL><GOALSEQ><SEQ> ⊦ Σ(ns1 ∪ ns2, f) = Σ(ns1, f) + Σ(ns2 \ ns1, f)</SEQ></GOALSEQ></SEQGOAL></LEMMAGOAL><LEMMATYPE><USERLEMMA/></LEMMATYPE><VALIDITY><LIST></LIST></VALIDITY><USEDLEMMAS><LIST><LE>sum-rec</LE><LE>sum-base</LE></LIST></USEDLEMMAS><SMTINFOS><LIST></LIST></SMTINFOS><MAINGOALS><LIST></LIST></MAINGOALS><USERACTIONS>6</USERACTIONS><PROOFSTEPS>11</PROOFSTEPS><PROVEDP><T/></PROVEDP><PROOFEXISTSP><T/></PROOFEXISTSP><PROOFFILENAME>sum-union-proof</PROOFFILENAME><LEMMAPROOFBAG><NONE/></LEMMAPROOFBAG><SAVETREEP><F/></SAVETREEP><INFOFILENAME>sum-union-proof-info</INFOFILENAME><LEMMAPROOFINFOBAG><NONE/></LEMMAPROOFINFOBAG><SAVEINFOSP><F/></SAVEINFOSP><SIMPFEATURES><LIST></LIST></SIMPFEATURES><HISTINFO><LIST></LIST></HISTINFO></LEMMAINFO></LE><LE><LEMMAINFO><LEMMANAME>distrvecmxmx</LEMMANAME><LEMMAGOAL><SEQGOAL><GOALSEQ><SEQ> ⊦ &#35;r mx1 = &#35; vec ∧ &#35;r mx1 = &#35;r mx2 ∧ &#35;c mx1 = &#35;c mx2 → vec * (mx1 + mx2) = vec * mx1 + vec * mx2</SEQ></GOALSEQ></SEQGOAL></LEMMAGOAL><LEMMATYPE><USERLEMMA/></LEMMATYPE><VALIDITY><LIST></LIST></VALIDITY><USEDLEMMAS><LIST><LE>addmx-get</LE><LE>sum-red</LE><LE>sum-add</LE><LE>addmvec-get</LE><LE>multvecmx-get</LE><LE>addmx-colno</LE><LE>addmx-rowno</LE><LE>multvecmx-size</LE><LE>addvec-size</LE></LIST></USEDLEMMAS><SMTINFOS><LIST></LIST></SMTINFOS><MAINGOALS><LIST></LIST></MAINGOALS><USERACTIONS>10</USERACTIONS><PROOFSTEPS>20</PROOFSTEPS><PROVEDP><T/></PROVEDP><PROOFEXISTSP><T/></PROOFEXISTSP><PROOFFILENAME>distrvecmxmx-proof</PROOFFILENAME><LEMMAPROOFBAG><NONE/></LEMMAPROOFBAG><SAVETREEP><F/></SAVETREEP><INFOFILENAME>distrvecmxmx-proof-info</INFOFILENAME><LEMMAPROOFINFOBAG><NONE/></LEMMAPROOFINFOBAG><SAVEINFOSP><F/></SAVEINFOSP><SIMPFEATURES><LIST></LIST></SIMPFEATURES><HISTINFO><LIST></LIST></HISTINFO></LEMMAINFO></LE><LE><LEMMAINFO><LEMMANAME>singletonmxvec-get</LEMMANAME><LEMMAGOAL><SEQGOAL><GOALSEQ><SEQ> ⊦ r &lt; m ∧ c &lt; &#35; vec ∧ n &lt; m → (mkmatrix(m, &#35; vec, O)[r, c, a] * vec)[n] = (n = r ⊃ a * vec[c];O)</SEQ></GOALSEQ></SEQGOAL></LEMMAGOAL><LEMMATYPE><USERLEMMA/></LEMMATYPE><VALIDITY><LIST></LIST></VALIDITY><USEDLEMMAS><LIST><LE>singletonmxvec-get-sum-aux</LE><LE>multmxvec-get</LE></LIST></USEDLEMMAS><SMTINFOS><LIST></LIST></SMTINFOS><MAINGOALS><LIST></LIST></MAINGOALS><USERACTIONS>2</USERACTIONS><PROOFSTEPS>4</PROOFSTEPS><PROVEDP><T/></PROVEDP><PROOFEXISTSP><T/></PROOFEXISTSP><PROOFFILENAME>singletonmxvec-get-proof</PROOFFILENAME><LEMMAPROOFBAG><NONE/></LEMMAPROOFBAG><SAVETREEP><F/></SAVETREEP><INFOFILENAME>singletonmxvec-get-proof-info</INFOFILENAME><LEMMAPROOFINFOBAG><NONE/></LEMMAPROOFINFOBAG><SAVEINFOSP><F/></SAVEINFOSP><SIMPFEATURES><LIST></LIST></SIMPFEATURES><HISTINFO><LIST></LIST></HISTINFO></LEMMAINFO></LE><LE><LEMMAINFO><LEMMANAME>addvec-size</LEMMANAME><LEMMAGOAL><SEQGOAL><GOALSEQ><SEQ> ⊦ &#35;(vec1 + vec2) = &#35; vec1</SEQ></GOALSEQ></SEQGOAL></LEMMAGOAL><LEMMATYPE><AXIOMLEMMA/></LEMMATYPE><VALIDITY><LIST></LIST></VALIDITY><USEDLEMMAS><LIST></LIST></USEDLEMMAS><SMTINFOS><LIST></LIST></SMTINFOS><MAINGOALS><LIST></LIST></MAINGOALS><USERACTIONS>0</USERACTIONS><PROOFSTEPS>0</PROOFSTEPS><PROVEDP><F/></PROVEDP><PROOFEXISTSP><F/></PROOFEXISTSP><PROOFFILENAME>addvec-size-proof</PROOFFILENAME><LEMMAPROOFBAG><NONE/></LEMMAPROOFBAG><SAVETREEP><F/></SAVETREEP><INFOFILENAME>addvec-size-proof-info</INFOFILENAME><LEMMAPROOFINFOBAG><NONE/></LEMMAPROOFINFOBAG><SAVEINFOSP><F/></SAVEINFOSP><SIMPFEATURES><LIST><LE>s</LE><LE>ls</LE></LIST></SIMPFEATURES><HISTINFO><LIST></LIST></HISTINFO></LEMMAINFO></LE><LE><LEMMAINFO><LEMMANAME>addinvmx-get</LEMMANAME><LEMMAGOAL><SEQGOAL><GOALSEQ><SEQ> ⊦ c &lt; &#35;c mx ∧ c &lt; &#35;c mx → (O- mx)[r, c] = O- mx[r, c]</SEQ></GOALSEQ></SEQGOAL></LEMMAGOAL><LEMMATYPE><AXIOMLEMMA/></LEMMATYPE><VALIDITY><LIST></LIST></VALIDITY><USEDLEMMAS><LIST></LIST></USEDLEMMAS><SMTINFOS><LIST></LIST></SMTINFOS><MAINGOALS><LIST></LIST></MAINGOALS><USERACTIONS>0</USERACTIONS><PROOFSTEPS>0</PROOFSTEPS><PROVEDP><F/></PROVEDP><PROOFEXISTSP><F/></PROOFEXISTSP><PROOFFILENAME>addinvmx-get-proof</PROOFFILENAME><LEMMAPROOFBAG><NONE/></LEMMAPROOFBAG><SAVETREEP><F/></SAVETREEP><INFOFILENAME>addinvmx-get-proof-info</INFOFILENAME><LEMMAPROOFINFOBAG><NONE/></LEMMAPROOFINFOBAG><SAVEINFOSP><F/></SAVEINFOSP><SIMPFEATURES><LIST><LE>s</LE><LE>ls</LE></LIST></SIMPFEATURES><HISTINFO><LIST></LIST></HISTINFO></LEMMAINFO></LE><LE><LEMMAINFO><LEMMANAME>sum-multl</LEMMANAME><LEMMAGOAL><SEQGOAL><GOALSEQ><SEQ> ⊦ a * Σ(ns, f) = Σ(ns, λ n. a * f(n))</SEQ></GOALSEQ></SEQGOAL></LEMMAGOAL><LEMMATYPE><USERLEMMA/></LEMMATYPE><VALIDITY><LIST></LIST></VALIDITY><USEDLEMMAS><LIST><LE>sum-rec</LE><LE>sum-base</LE></LIST></USEDLEMMAS><SMTINFOS><LIST></LIST></SMTINFOS><MAINGOALS><LIST></LIST></MAINGOALS><USERACTIONS>4</USERACTIONS><PROOFSTEPS>8</PROOFSTEPS><PROVEDP><T/></PROVEDP><PROOFEXISTSP><T/></PROOFEXISTSP><PROOFFILENAME>sum-multl-proof</PROOFFILENAME><LEMMAPROOFBAG><NONE/></LEMMAPROOFBAG><SAVETREEP><F/></SAVETREEP><INFOFILENAME>sum-multl-proof-info</INFOFILENAME><LEMMAPROOFINFOBAG><NONE/></LEMMAPROOFINFOBAG><SAVEINFOSP><F/></SAVEINFOSP><SIMPFEATURES><LIST></LIST></SIMPFEATURES><HISTINFO><LIST></LIST></HISTINFO></LEMMAINFO></LE><LE><LEMMAINFO><LEMMANAME>sum-switch</LEMMANAME><LEMMAGOAL><SEQGOAL><GOALSEQ><SEQ> ⊦ Σ(ns1, λ m. Σ(ns2, λ n. g(m, n))) = Σ(ns2, λ n. Σ(ns1, λ m. g(m, n)))</SEQ></GOALSEQ></SEQGOAL></LEMMAGOAL><LEMMATYPE><USERLEMMA/></LEMMATYPE><VALIDITY><LIST></LIST></VALIDITY><USEDLEMMAS><LIST><LE>sum-add</LE><LE>sum-rec</LE><LE>sum-base</LE></LIST></USEDLEMMAS><SMTINFOS><LIST></LIST></SMTINFOS><MAINGOALS><LIST></LIST></MAINGOALS><USERACTIONS>7</USERACTIONS><PROOFSTEPS>12</PROOFSTEPS><PROVEDP><T/></PROVEDP><PROOFEXISTSP><T/></PROOFEXISTSP><PROOFFILENAME>sum-switch-proof</PROOFFILENAME><LEMMAPROOFBAG><NONE/></LEMMAPROOFBAG><SAVETREEP><F/></SAVETREEP><INFOFILENAME>sum-switch-proof-info</INFOFILENAME><LEMMAPROOFINFOBAG><NONE/></LEMMAPROOFINFOBAG><SAVEINFOSP><F/></SAVEINFOSP><SIMPFEATURES><LIST></LIST></SIMPFEATURES><HISTINFO><LIST></LIST></HISTINFO></LEMMAINFO></LE><LE><LEMMAINFO><LEMMANAME>addmx-get</LEMMANAME><LEMMAGOAL><SEQGOAL><GOALSEQ><SEQ> ⊦ r &lt; &#35;r mx1 ∧ c &lt; &#35;c mx1 → (mx1 + mx2)[r, c] = mx1[r, c] + mx2[r, c]</SEQ></GOALSEQ></SEQGOAL></LEMMAGOAL><LEMMATYPE><AXIOMLEMMA/></LEMMATYPE><VALIDITY><LIST></LIST></VALIDITY><USEDLEMMAS><LIST></LIST></USEDLEMMAS><SMTINFOS><LIST></LIST></SMTINFOS><MAINGOALS><LIST></LIST></MAINGOALS><USERACTIONS>0</USERACTIONS><PROOFSTEPS>0</PROOFSTEPS><PROVEDP><F/></PROVEDP><PROOFEXISTSP><F/></PROOFEXISTSP><PROOFFILENAME>addmx-get-proof</PROOFFILENAME><LEMMAPROOFBAG><NONE/></LEMMAPROOFBAG><SAVETREEP><F/></SAVETREEP><INFOFILENAME>addmx-get-proof-info</INFOFILENAME><LEMMAPROOFINFOBAG><NONE/></LEMMAPROOFINFOBAG><SAVEINFOSP><F/></SAVEINFOSP><SIMPFEATURES><LIST><LE>s</LE><LE>ls</LE></LIST></SIMPFEATURES><HISTINFO><LIST></LIST></HISTINFO></LEMMAINFO></LE><LE><LEMMAINFO><LEMMANAME>singletonmxvec-get-sum-aux</LEMMANAME><LEMMAGOAL><SEQGOAL><GOALSEQ><SEQ>⊦   n &lt; m ∧ c &lt; &#35; vec ∧ r &lt; m ∧ n1 ≤ &#35; vec
  → Σ(0 to n1, λ n0. mkmatrix(m, &#35; vec, O)[r, c, a][n, n0] * vec[n0]) = (n = r ∧ c &lt; n1 ⊃ a * vec[c];O)</SEQ></GOALSEQ></SEQGOAL></LEMMAGOAL><LEMMATYPE><USERLEMMA/></LEMMATYPE><VALIDITY><LIST></LIST></VALIDITY><USEDLEMMAS><LIST><LE>sum-rec</LE><LE>sum-base</LE></LIST></USEDLEMMAS><SMTINFOS><LIST></LIST></SMTINFOS><MAINGOALS><LIST></LIST></MAINGOALS><USERACTIONS>7</USERACTIONS><PROOFSTEPS>14</PROOFSTEPS><PROVEDP><T/></PROVEDP><PROOFEXISTSP><T/></PROOFEXISTSP><PROOFFILENAME>singletonmxvec-get-sum-aux-proof</PROOFFILENAME><LEMMAPROOFBAG><NONE/></LEMMAPROOFBAG><SAVETREEP><F/></SAVETREEP><INFOFILENAME>singletonmxvec-get-sum-aux-proof-info</INFOFILENAME><LEMMAPROOFINFOBAG><NONE/></LEMMAPROOFINFOBAG><SAVEINFOSP><F/></SAVEINFOSP><SIMPFEATURES><LIST></LIST></SIMPFEATURES><HISTINFO><LIST></LIST></HISTINFO></LEMMAINFO></LE><LE><LEMMAINFO><LEMMANAME>distrvevecmx</LEMMANAME><LEMMAGOAL><SEQGOAL><GOALSEQ><SEQ> ⊦ &#35;r mx = &#35; vec1 ∧ &#35; vec1 = &#35; vec2 → (vec1 + vec2) * mx = vec1 * mx + vec2 * mx</SEQ></GOALSEQ></SEQGOAL></LEMMAGOAL><LEMMATYPE><USERLEMMA/></LEMMATYPE><VALIDITY><LIST></LIST></VALIDITY><USEDLEMMAS><LIST><LE>sum-red</LE><LE>sum-add</LE><LE>addmvec-get</LE><LE>multvecmx-get</LE><LE>multvecmx-size</LE><LE>addvec-size</LE></LIST></USEDLEMMAS><SMTINFOS><LIST></LIST></SMTINFOS><MAINGOALS><LIST></LIST></MAINGOALS><USERACTIONS>10</USERACTIONS><PROOFSTEPS>19</PROOFSTEPS><PROVEDP><T/></PROVEDP><PROOFEXISTSP><T/></PROOFEXISTSP><PROOFFILENAME>distrvevecmx-proof</PROOFFILENAME><LEMMAPROOFBAG><NONE/></LEMMAPROOFBAG><SAVETREEP><F/></SAVETREEP><INFOFILENAME>distrvevecmx-proof-info</INFOFILENAME><LEMMAPROOFINFOBAG><NONE/></LEMMAPROOFINFOBAG><SAVEINFOSP><F/></SAVEINFOSP><SIMPFEATURES><LIST></LIST></SIMPFEATURES><HISTINFO><LIST></LIST></HISTINFO></LEMMAINFO></LE><LE><LEMMAINFO><LEMMANAME>addmx-com</LEMMANAME><LEMMAGOAL><SEQGOAL><GOALSEQ><SEQ> ⊦ &#35;r mx1 = &#35;r mx2 ∧ &#35;c mx1 = &#35;c mx2 → mx1 + mx2 = mx2 + mx1</SEQ></GOALSEQ></SEQGOAL></LEMMAGOAL><LEMMATYPE><USERLEMMA/></LEMMATYPE><VALIDITY><LIST></LIST></VALIDITY><USEDLEMMAS><LIST><LE>addmx-get</LE><LE>addmx-colno</LE><LE>addmx-rowno</LE></LIST></USEDLEMMAS><SMTINFOS><LIST></LIST></SMTINFOS><MAINGOALS><LIST></LIST></MAINGOALS><USERACTIONS>1</USERACTIONS><PROOFSTEPS>2</PROOFSTEPS><PROVEDP><T/></PROVEDP><PROOFEXISTSP><T/></PROOFEXISTSP><PROOFFILENAME>addmx-com-proof</PROOFFILENAME><LEMMAPROOFBAG><NONE/></LEMMAPROOFBAG><SAVETREEP><F/></SAVETREEP><INFOFILENAME>addmx-com-proof-info</INFOFILENAME><LEMMAPROOFINFOBAG><NONE/></LEMMAPROOFINFOBAG><SAVEINFOSP><F/></SAVEINFOSP><SIMPFEATURES><LIST></LIST></SIMPFEATURES><HISTINFO><LIST></LIST></HISTINFO></LEMMAINFO></LE><LE><LEMMAINFO><LEMMANAME>sum-multr</LEMMANAME><LEMMAGOAL><SEQGOAL><GOALSEQ><SEQ> ⊦ Σ(ns, f) * a = Σ(ns, λ n. f(n) * a)</SEQ></GOALSEQ></SEQGOAL></LEMMAGOAL><LEMMATYPE><USERLEMMA/></LEMMATYPE><VALIDITY><LIST></LIST></VALIDITY><USEDLEMMAS><LIST><LE>sum-rec</LE><LE>sum-base</LE></LIST></USEDLEMMAS><SMTINFOS><LIST></LIST></SMTINFOS><MAINGOALS><LIST></LIST></MAINGOALS><USERACTIONS>4</USERACTIONS><PROOFSTEPS>8</PROOFSTEPS><PROVEDP><T/></PROVEDP><PROOFEXISTSP><T/></PROOFEXISTSP><PROOFFILENAME>sum-multr-proof</PROOFFILENAME><LEMMAPROOFBAG><NONE/></LEMMAPROOFBAG><SAVETREEP><F/></SAVETREEP><INFOFILENAME>sum-multr-proof-info</INFOFILENAME><LEMMAPROOFINFOBAG><NONE/></LEMMAPROOFINFOBAG><SAVEINFOSP><F/></SAVEINFOSP><SIMPFEATURES><LIST></LIST></SIMPFEATURES><HISTINFO><LIST></LIST></HISTINFO></LEMMAINFO></LE><LE><LEMMAINFO><LEMMANAME>addinvvec-get</LEMMANAME><LEMMAGOAL><SEQGOAL><GOALSEQ><SEQ> ⊦ n &lt; &#35; vec → (O- vec)[n] = O- vec[n]</SEQ></GOALSEQ></SEQGOAL></LEMMAGOAL><LEMMATYPE><AXIOMLEMMA/></LEMMATYPE><VALIDITY><LIST></LIST></VALIDITY><USEDLEMMAS><LIST></LIST></USEDLEMMAS><SMTINFOS><LIST></LIST></SMTINFOS><MAINGOALS><LIST></LIST></MAINGOALS><USERACTIONS>0</USERACTIONS><PROOFSTEPS>0</PROOFSTEPS><PROVEDP><F/></PROVEDP><PROOFEXISTSP><F/></PROOFEXISTSP><PROOFFILENAME>addinvvec-get-proof</PROOFFILENAME><LEMMAPROOFBAG><NONE/></LEMMAPROOFBAG><SAVETREEP><F/></SAVETREEP><INFOFILENAME>addinvvec-get-proof-info</INFOFILENAME><LEMMAPROOFINFOBAG><NONE/></LEMMAPROOFINFOBAG><SAVEINFOSP><F/></SAVEINFOSP><SIMPFEATURES><LIST><LE>s</LE><LE>ls</LE></LIST></SIMPFEATURES><HISTINFO><LIST></LIST></HISTINFO></LEMMAINFO></LE><LE><LEMMAINFO><LEMMANAME>distrmxmx-l</LEMMANAME><LEMMAGOAL><SEQGOAL><GOALSEQ><SEQ> ⊦ &#35;r mx1 = &#35;r mx2 ∧ &#35;c mx1 = &#35;c mx2 ∧ &#35;c mx1 = &#35;r mx → (mx1 + mx2) * mx = mx1 * mx + mx2 * mx</SEQ></GOALSEQ></SEQGOAL></LEMMAGOAL><LEMMATYPE><USERLEMMA/></LEMMATYPE><VALIDITY><LIST></LIST></VALIDITY><USEDLEMMAS><LIST><LE>sum-red</LE><LE>sum-add</LE><LE>addmx-get</LE><LE>multmx-get</LE><LE>multmx-colno</LE><LE>addmx-colno</LE><LE>multmx-rowno</LE><LE>addmx-rowno</LE></LIST></USEDLEMMAS><SMTINFOS><LIST></LIST></SMTINFOS><MAINGOALS><LIST></LIST></MAINGOALS><USERACTIONS>9</USERACTIONS><PROOFSTEPS>18</PROOFSTEPS><PROVEDP><T/></PROVEDP><PROOFEXISTSP><T/></PROOFEXISTSP><PROOFFILENAME>distrmxmx-l-proof</PROOFFILENAME><LEMMAPROOFBAG><NONE/></LEMMAPROOFBAG><SAVETREEP><F/></SAVETREEP><INFOFILENAME>distrmxmx-l-proof-info</INFOFILENAME><LEMMAPROOFINFOBAG><NONE/></LEMMAPROOFINFOBAG><SAVEINFOSP><F/></SAVEINFOSP><SIMPFEATURES><LIST></LIST></SIMPFEATURES><HISTINFO><LIST></LIST></HISTINFO></LEMMAINFO></LE><LE><LEMMAINFO><LEMMANAME>multmx-get</LEMMANAME><LEMMAGOAL><SEQGOAL><GOALSEQ><SEQ> ⊦ &#35;c mx1 = &#35;r mx2 ∧ r &lt; &#35;r mx1 ∧ c &lt; &#35;c mx2 → (mx1 * mx2)[r, c] = Σ(0 to &#35;c mx1, λ n. mx1[r, n] * mx2[n, c])</SEQ></GOALSEQ></SEQGOAL></LEMMAGOAL><LEMMATYPE><AXIOMLEMMA/></LEMMATYPE><VALIDITY><LIST></LIST></VALIDITY><USEDLEMMAS><LIST></LIST></USEDLEMMAS><SMTINFOS><LIST></LIST></SMTINFOS><MAINGOALS><LIST></LIST></MAINGOALS><USERACTIONS>0</USERACTIONS><PROOFSTEPS>0</PROOFSTEPS><PROVEDP><F/></PROVEDP><PROOFEXISTSP><F/></PROOFEXISTSP><PROOFFILENAME>multmx-get-proof</PROOFFILENAME><LEMMAPROOFBAG><NONE/></LEMMAPROOFBAG><SAVETREEP><F/></SAVETREEP><INFOFILENAME>multmx-get-proof-info</INFOFILENAME><LEMMAPROOFINFOBAG><NONE/></LEMMAPROOFINFOBAG><SAVEINFOSP><F/></SAVEINFOSP><SIMPFEATURES><LIST><LE>s</LE><LE>ls</LE></LIST></SIMPFEATURES><HISTINFO><LIST></LIST></HISTINFO></LEMMAINFO></LE><LE><LEMMAINFO><LEMMANAME>sum-red</LEMMANAME><LEMMAGOAL><SEQGOAL><GOALSEQ><SEQ> ⊦ (∀ n. n ∈ ns → f1(n) = f2(n)) → Σ(ns, f1) = Σ(ns, f2)</SEQ></GOALSEQ></SEQGOAL></LEMMAGOAL><LEMMATYPE><USERLEMMA/></LEMMATYPE><VALIDITY><LIST></LIST></VALIDITY><USEDLEMMAS><LIST><LE>sum-rec</LE><LE>sum-base</LE></LIST></USEDLEMMAS><SMTINFOS><LIST></LIST></SMTINFOS><MAINGOALS><LIST></LIST></MAINGOALS><USERACTIONS>5</USERACTIONS><PROOFSTEPS>11</PROOFSTEPS><PROVEDP><T/></PROVEDP><PROOFEXISTSP><T/></PROOFEXISTSP><PROOFFILENAME>sum-red-proof</PROOFFILENAME><LEMMAPROOFBAG><NONE/></LEMMAPROOFBAG><SAVETREEP><F/></SAVETREEP><INFOFILENAME>sum-red-proof-info</INFOFILENAME><LEMMAPROOFINFOBAG><NONE/></LEMMAPROOFINFOBAG><SAVEINFOSP><F/></SAVEINFOSP><SIMPFEATURES><LIST></LIST></SIMPFEATURES><HISTINFO><LIST></LIST></HISTINFO></LEMMAINFO></LE><LE><LEMMAINFO><LEMMANAME>distrmxmx-r</LEMMANAME><LEMMAGOAL><SEQGOAL><GOALSEQ><SEQ> ⊦ &#35;r mx1 = &#35;r mx2 ∧ &#35;c mx1 = &#35;c mx2 ∧ &#35;c mx = &#35;r mx1 → mx * (mx1 + mx2) = mx * mx1 + mx * mx2</SEQ></GOALSEQ></SEQGOAL></LEMMAGOAL><LEMMATYPE><USERLEMMA/></LEMMATYPE><VALIDITY><LIST></LIST></VALIDITY><USEDLEMMAS><LIST><LE>sum-red</LE><LE>sum-add</LE><LE>addmx-get</LE><LE>multmx-get</LE><LE>multmx-colno</LE><LE>multmx-rowno</LE><LE>addmx-colno</LE><LE>addmx-rowno</LE></LIST></USEDLEMMAS><SMTINFOS><LIST></LIST></SMTINFOS><MAINGOALS><LIST></LIST></MAINGOALS><USERACTIONS>11</USERACTIONS><PROOFSTEPS>21</PROOFSTEPS><PROVEDP><T/></PROVEDP><PROOFEXISTSP><T/></PROOFEXISTSP><PROOFFILENAME>distrmxmx-r-proof</PROOFFILENAME><LEMMAPROOFBAG><NONE/></LEMMAPROOFBAG><SAVETREEP><F/></SAVETREEP><INFOFILENAME>distrmxmx-r-proof-info</INFOFILENAME><LEMMAPROOFINFOBAG><NONE/></LEMMAPROOFINFOBAG><SAVEINFOSP><F/></SAVEINFOSP><SIMPFEATURES><LIST></LIST></SIMPFEATURES><HISTINFO><LIST></LIST></HISTINFO></LEMMAINFO></LE><LE><LEMMAINFO><LEMMANAME>multmxvec-size</LEMMANAME><LEMMAGOAL><SEQGOAL><GOALSEQ><SEQ> ⊦ &#35;c mx = &#35; vec → &#35;(mx * vec) = &#35;r mx</SEQ></GOALSEQ></SEQGOAL></LEMMAGOAL><LEMMATYPE><AXIOMLEMMA/></LEMMATYPE><VALIDITY><LIST></LIST></VALIDITY><USEDLEMMAS><LIST></LIST></USEDLEMMAS><SMTINFOS><LIST></LIST></SMTINFOS><MAINGOALS><LIST></LIST></MAINGOALS><USERACTIONS>0</USERACTIONS><PROOFSTEPS>0</PROOFSTEPS><PROVEDP><F/></PROVEDP><PROOFEXISTSP><F/></PROOFEXISTSP><PROOFFILENAME>multmxvec-size-proof</PROOFFILENAME><LEMMAPROOFBAG><NONE/></LEMMAPROOFBAG><SAVETREEP><F/></SAVETREEP><INFOFILENAME>multmxvec-size-proof-info</INFOFILENAME><LEMMAPROOFINFOBAG><NONE/></LEMMAPROOFINFOBAG><SAVEINFOSP><F/></SAVEINFOSP><SIMPFEATURES><LIST><LE>s</LE><LE>ls</LE></LIST></SIMPFEATURES><HISTINFO><LIST></LIST></HISTINFO></LEMMAINFO></LE></LIST></THELEMMAS><EXTRALEMMABASE><EXTRALEMMABASELIST><EXTRALEMMABASELIST><LIST><LE><SPECHEUINFO><PRDSLOT><LIST></LIST></PRDSLOT><SIZESLOT><LIST></LIST></SIZESLOT><CONSTRSLOT><LIST></LIST></CONSTRSLOT><DONOTUSE>0</DONOTUSE></SPECHEUINFO></LE></LIST></EXTRALEMMABASELIST></EXTRALEMMABASELIST></EXTRALEMMABASE></LEMMABASE>