逐步主鏈
S01 · definition
操作前
M\in\mathbb{R}^{m\times n}操作後
M(i,j)\ (1\le i\le m,\ 1\le j\le n);\ (A+B)(i,j)=A(i,j)+B(i,j);\ M^{\mathsf T}(j,i)=M(i,j)條件:m,n\ge 1
規則:mko_matrix_def · 依賴:G1
葉節點依據:mko_matrix_def + def_unfold
寫出 MKO 的定義:矩陣是由兩個索引指定的實數表,第一個索引是行(row)、第二個是列(column),都從 1 開始。加法只對同尺寸矩陣定義,逐項相加;轉置 Mᵀ 是 n×m,把 M(i,j) 放到位置 (j,i)。
S02 · implies
操作前
M=\begin{pmatrix}2&-1&0\\5&3&7\end{pmatrix},\ N=\begin{pmatrix}1&4&-2\\0&-3&6\end{pmatrix}操作後
M,N\in\mathbb{R}^{2\times 3}條件:無
規則:mko_matrix_def · 依賴:S01, G2
葉節點依據:mko_matrix_def + numeric_evaluation
M 有 2 行,每行都有 3 個元素(各行等長、非空),所以 M 是 2×3,共 2·3=6 個元素;N 同樣是 2×3。尺寸先寫行數再寫列數,2×3 與 3×2 是不同尺寸。
S03 · equivalent
操作前
M(1,2),\ M(2,3),\ M(2,1)
操作後
M(1,2)=-1,\ M(2,3)=7,\ M(2,1)=5
條件:1\le i\le 2; 1\le j\le 3
規則:def_unfold · 依賴:S01, S02
葉節點依據:def_unfold + mko_matrix_def
M(1,2) 是第 1 行第 2 個元素 −1;M(2,3) 是第 2 行第 3 個元素 7;M(2,1) 是第 2 行第 1 個元素 5。M(1,2)≠M(2,1):兩個索引的次序有意義,先行後列。
S04 · implies
操作前
M(3,1)
操作後
(3,1)\ \text{is not a legal index of } M條件:無
規則:mko_matrix_def · 依賴:S01, S02
葉節點依據:mko_matrix_def + order_basics
M 只有 2 行,合法的行索引是 1≤i≤2。3>2,所以 M(3,1) 沒有定義;它不是 0,也不是「最後一行」。取元素前兩個索引都必須落在合法範圍(MKO 第二段)。
S05 · implies
操作前
M,N\in\mathbb{R}^{2\times 3}操作後
M+N\ \text{defined},\ M+N\in\mathbb{R}^{2\times 3}條件:\dim M=\dim N
規則:mko_matrix_def · 依賴:S01, S02
葉節點依據:mko_matrix_def
加法前先驗尺寸(MKO 假設 a3):M 與 N 都是 2×3,所以 M+N 有定義,而且也是 2×3。
S06 · equivalent
操作前
M+N
操作後
\begin{pmatrix}2+1&-1+4&0+(-2)\\5+0&3+(-3)&7+6\end{pmatrix}=\begin{pmatrix}3&3&-2\\5&0&13\end{pmatrix}條件:無
規則:mko_matrix_def · 依賴:S05, G2
葉節點依據:mko_matrix_def + numeric_evaluation + matrix_eq
逐項相加:同一位置 (i,j) 的兩個元素相加,共 6 個位置。例如 (M+N)(2,3)=7+6=13,(M+N)(2,2)=3+(−3)=0。
S07 · equivalent
操作前
M^{\mathsf T}操作後
\begin{pmatrix}2&5\\-1&3\\0&7\end{pmatrix}\in\mathbb{R}^{3\times 2}條件:無
規則:mko_matrix_def · 依賴:S01, S02, S03
葉節點依據:mko_matrix_def + matrix_eq
Mᵀ 是 3×2,Mᵀ(j,i)=M(i,j):Mᵀ 的第 j 行就是 M 的第 j 列。M 的三列是 (2,5)、(−1,3)、(0,7),所以 Mᵀ 的三行就是它們。核對:Mᵀ(3,2)=M(2,3)=7,Mᵀ(2,1)=M(1,2)=−1。
S08 · equivalent
操作前
N^{\mathsf T}操作後
\begin{pmatrix}1&0\\4&-3\\-2&6\end{pmatrix}\in\mathbb{R}^{3\times 2}條件:無
規則:mko_matrix_def · 依賴:S01, S02, G2
葉節點依據:mko_matrix_def + matrix_eq
同理,Nᵀ 的三行是 N 的三列 (1,0)、(4,−3)、(−2,6)。
S09 · theorem_application
操作前
(M+N)^{\mathsf T}操作後
M^{\mathsf T}+N^{\mathsf T}條件:M,N\in\mathbb{R}^{2\times 3}
規則:L_transpose_sum · 依賴:S05, L_transpose_sum
葉節點依據:L_transpose_sum
M、N 同為 2×3,依引理 L_transpose_sum(A=M、B=N),(M+N)ᵀ=Mᵀ+Nᵀ。引理對所有同尺寸實矩陣在 S09.1、S09.2 證明;S10 再以數字核對本例。
S10 · implies
操作前
(M+N)^{\mathsf T},\ M^{\mathsf T}+N^{\mathsf T}操作後
\begin{pmatrix}3&5\\3&0\\-2&13\end{pmatrix}=\begin{pmatrix}2+1&5+0\\-1+4&3+(-3)\\0+(-2)&7+6\end{pmatrix}條件:無
規則:numeric_evaluation · 依賴:S06, S07, S08, S09
葉節點依據:numeric_evaluation + matrix_eq
直接轉置 S06 的 M+N,三行是 (3,5)、(3,0)、(−2,13);把 S07、S08 逐項相加也得到同樣的 3×2 矩陣。這是對本例的數值核對,與 S09 的一般結論一致;一般結論的根據是 S09.2,不是這次計算。
S11 · theorem_application
操作前
(M^{\mathsf T})^{\mathsf T}操作後
M
條件:無
規則:L_double_transpose · 依賴:S07, L_double_transpose
葉節點依據:L_double_transpose
依引理 L_double_transpose,(Mᵀ)ᵀ=M:把 S07 的 3×2 矩陣再轉置,三行 (2,5)、(−1,3)、(0,7) 變回三列,得到原本的 2×3 矩陣 M。引理在 S11.1 證明。
S12 · implies
操作前
M+M^{\mathsf T},\ M\in\mathbb{R}^{2\times 3},\ M^{\mathsf T}\in\mathbb{R}^{3\times 2}操作後
M+M^{\mathsf T}\ \text{undefined}條件:2\neq 3
規則:mko_matrix_def · 依賴:S02, S07, S05
葉節點依據:mko_matrix_def + numeric_evaluation
M 是 2×3,Mᵀ 是 3×2;因為 2≠3,兩者尺寸不同,逐項加法無法讓所有位置完整配對(例如 M(1,3) 存在,但 Mᵀ(1,3) 不存在),所以 M+Mᵀ 沒有定義。只有方陣(m=n)的轉置才保持尺寸。
S13 · implies
操作前
R=\begin{pmatrix}5&3&7\\2&-1&0\end{pmatrix}\ \text{(rows of } M\text{ reversed)}操作後
R\in\mathbb{R}^{2\times 3},\ M^{\mathsf T}\in\mathbb{R}^{3\times 2}\ \Rightarrow\ R\neq M^{\mathsf T}條件:無
規則:matrix_eq · 依賴:S07, G2, matrix_eq
葉節點依據:matrix_eq
把 M 的兩行倒序得到 R,R 仍是 2×3;Mᵀ 是 3×2。尺寸不同,依 matrix_eq,R≠Mᵀ。轉置交換的是行與列的角色,不是行的先後次序(MKO 假設 a3)。
S14 · implies
操作前
S=\begin{pmatrix}1&2\\3&4\end{pmatrix},\ S^{\mathsf T}=\begin{pmatrix}1&3\\2&4\end{pmatrix}操作後
SS^{\mathsf T}=\begin{pmatrix}5&11\\11&25\end{pmatrix}\neq I條件:無
規則:matrix_product_def · 依賴:G3, matrix_product_def, matrix_eq
葉節點依據:matrix_product_def + matrix_eq + numeric_evaluation
若 Sᵀ 是 S 的反矩陣,SSᵀ 必須是單位矩陣 I。依矩陣乘法定義:(SSᵀ)(1,1)=1·1+2·2=5,(SSᵀ)(1,2)=1·3+2·4=11,(SSᵀ)(2,1)=3·1+4·2=11,(SSᵀ)(2,2)=3·3+4·4=25。左上角 5≠1,所以 SSᵀ≠I,Sᵀ 不是 S 的反矩陣。轉置只搬動元素,對每個矩陣都有定義;反矩陣是另一個概念。
S15 · implies
操作前
a[i][j],\ 0\le i\le 1,\ 0\le j\le 2
操作後
a[i][j]=M(i+1,\,j+1);\ a[1][2]=M(2,3)=7
條件:無
規則:function_def · 依賴:G3, S03, function_def
葉節點依據:function_def + numeric_evaluation
零起算陣列逐行儲存 M,所以陣列位置 (i,j) 對應外部索引 (i+1, j+1);這是兩個索引範圍之間的雙射。a[1][2] 因此是 M(2,3)=7,而不是 M(1,2)=−1。外部敘述一律用一起算索引(MKO 假設 a1),程式內部的零起算索引必須先加一再對應。
S16 · implies
操作前
\text{tasks of the goal}操作後
M,N\in\mathbb{R}^{2\times 3},\ M^{\mathsf T}\in\mathbb{R}^{3\times 2},\ (M+N)^{\mathsf T}=M^{\mathsf T}+N^{\mathsf T}條件:無
規則:and_intro_elim · 依賴:S02, S03, S04, S06, S07, S09, S10, S11, S12, S13, S14, S15
葉節點依據:and_intro_elim
合併各步:尺寸 2×3,M(1,2)=−1、M(2,3)=7,M(3,1) 不存在;M+N、Mᵀ、Nᵀ 如上;(A+B)ᵀ=Aᵀ+Bᵀ 與 (Aᵀ)ᵀ=A 對所有同尺寸實矩陣已證並在本例核對;M+Mᵀ 無定義;轉置不是倒序也不是反矩陣;a[1][2]=M(2,3)。
局部子步與引理
S09.1 · implies
操作前
A,B\in\mathbb{R}^{m\times n}操作後
(A+B)^{\mathsf T},\ A^{\mathsf T}+B^{\mathsf T}\in\mathbb{R}^{n\times m}條件:無
規則:mko_matrix_def · 依賴:mko_matrix_def
葉節點依據:mko_matrix_def
A+B 是 m×n,所以 (A+B)ᵀ 是 n×m。Aᵀ、Bᵀ 都是 n×m,尺寸相同,所以 Aᵀ+Bᵀ 有定義且是 n×m。兩邊尺寸一致。
S09.2 · implies
操作前
(A+B)^{\mathsf T}(j,i)操作後
(A+B)(i,j)=A(i,j)+B(i,j)=A^{\mathsf T}(j,i)+B^{\mathsf T}(j,i)=(A^{\mathsf T}+B^{\mathsf T})(j,i)條件:1\le j\le n; 1\le i\le m
規則:matrix_eq · 依賴:S09.1, matrix_eq, forall_intro
葉節點依據:matrix_eq + mko_matrix_def + forall_intro + eq_refl_symm_trans
取任意合法位置 (j,i)。依轉置定義、加法定義、再用一次轉置定義(兩次)與加法定義,得到等式鏈。這個位置是任意的,沒有其他假設,依 forall_intro 對所有位置成立;配合 S09.1 的尺寸相同,依 matrix_eq 得 (A+B)ᵀ=Aᵀ+Bᵀ。S09.1 與 S09.2 合起來證得引理 L_transpose_sum。
S11.1 · implies
操作前
A\in\mathbb{R}^{m\times n}操作後
(A^{\mathsf T})^{\mathsf T}\in\mathbb{R}^{m\times n},\ (A^{\mathsf T})^{\mathsf T}(i,j)=A^{\mathsf T}(j,i)=A(i,j)條件:無
規則:matrix_eq · 依賴:mko_matrix_def, matrix_eq
葉節點依據:matrix_eq + mko_matrix_def + forall_intro
Aᵀ 是 n×m,所以 (Aᵀ)ᵀ 是 m×n,與 A 同尺寸。對任意合法 (i,j),兩次使用轉置定義得 (Aᵀ)ᵀ(i,j)=Aᵀ(j,i)=A(i,j)。依 matrix_eq,(Aᵀ)ᵀ=A。這證得引理 L_double_transpose。