| Step |
Hyp |
Ref |
Expression |
| 1 |
|
lmatfval.m |
⊢ 𝑀 = ( litMat ‘ 𝑊 ) |
| 2 |
|
lmatfval.n |
⊢ ( 𝜑 → 𝑁 ∈ ℕ ) |
| 3 |
|
lmatfval.w |
⊢ ( 𝜑 → 𝑊 ∈ Word Word 𝑉 ) |
| 4 |
|
lmatfval.1 |
⊢ ( 𝜑 → ( ♯ ‘ 𝑊 ) = 𝑁 ) |
| 5 |
|
lmatfval.2 |
⊢ ( ( 𝜑 ∧ 𝑖 ∈ ( 0 ..^ 𝑁 ) ) → ( ♯ ‘ ( 𝑊 ‘ 𝑖 ) ) = 𝑁 ) |
| 6 |
|
lmatcl.b |
⊢ 𝑉 = ( Base ‘ 𝑅 ) |
| 7 |
|
lmatcl.1 |
⊢ 𝑂 = ( ( 1 ... 𝑁 ) Mat 𝑅 ) |
| 8 |
|
lmatcl.2 |
⊢ 𝑃 = ( Base ‘ 𝑂 ) |
| 9 |
|
lmatcl.r |
⊢ ( 𝜑 → 𝑅 ∈ 𝑋 ) |
| 10 |
|
lmatval |
⊢ ( 𝑊 ∈ Word Word 𝑉 → ( litMat ‘ 𝑊 ) = ( 𝑘 ∈ ( 1 ... ( ♯ ‘ 𝑊 ) ) , 𝑗 ∈ ( 1 ... ( ♯ ‘ ( 𝑊 ‘ 0 ) ) ) ↦ ( ( 𝑊 ‘ ( 𝑘 − 1 ) ) ‘ ( 𝑗 − 1 ) ) ) ) |
| 11 |
3 10
|
syl |
⊢ ( 𝜑 → ( litMat ‘ 𝑊 ) = ( 𝑘 ∈ ( 1 ... ( ♯ ‘ 𝑊 ) ) , 𝑗 ∈ ( 1 ... ( ♯ ‘ ( 𝑊 ‘ 0 ) ) ) ↦ ( ( 𝑊 ‘ ( 𝑘 − 1 ) ) ‘ ( 𝑗 − 1 ) ) ) ) |
| 12 |
1 11
|
eqtrid |
⊢ ( 𝜑 → 𝑀 = ( 𝑘 ∈ ( 1 ... ( ♯ ‘ 𝑊 ) ) , 𝑗 ∈ ( 1 ... ( ♯ ‘ ( 𝑊 ‘ 0 ) ) ) ↦ ( ( 𝑊 ‘ ( 𝑘 − 1 ) ) ‘ ( 𝑗 − 1 ) ) ) ) |
| 13 |
4
|
oveq2d |
⊢ ( 𝜑 → ( 1 ... ( ♯ ‘ 𝑊 ) ) = ( 1 ... 𝑁 ) ) |
| 14 |
|
lbfzo0 |
⊢ ( 0 ∈ ( 0 ..^ 𝑁 ) ↔ 𝑁 ∈ ℕ ) |
| 15 |
2 14
|
sylibr |
⊢ ( 𝜑 → 0 ∈ ( 0 ..^ 𝑁 ) ) |
| 16 |
|
0nn0 |
⊢ 0 ∈ ℕ0 |
| 17 |
16
|
a1i |
⊢ ( 𝜑 → 0 ∈ ℕ0 ) |
| 18 |
|
simpr |
⊢ ( ( 𝜑 ∧ 𝑖 = 0 ) → 𝑖 = 0 ) |
| 19 |
18
|
eleq1d |
⊢ ( ( 𝜑 ∧ 𝑖 = 0 ) → ( 𝑖 ∈ ( 0 ..^ 𝑁 ) ↔ 0 ∈ ( 0 ..^ 𝑁 ) ) ) |
| 20 |
18
|
fveq2d |
⊢ ( ( 𝜑 ∧ 𝑖 = 0 ) → ( 𝑊 ‘ 𝑖 ) = ( 𝑊 ‘ 0 ) ) |
| 21 |
20
|
fveqeq2d |
⊢ ( ( 𝜑 ∧ 𝑖 = 0 ) → ( ( ♯ ‘ ( 𝑊 ‘ 𝑖 ) ) = 𝑁 ↔ ( ♯ ‘ ( 𝑊 ‘ 0 ) ) = 𝑁 ) ) |
| 22 |
19 21
|
imbi12d |
⊢ ( ( 𝜑 ∧ 𝑖 = 0 ) → ( ( 𝑖 ∈ ( 0 ..^ 𝑁 ) → ( ♯ ‘ ( 𝑊 ‘ 𝑖 ) ) = 𝑁 ) ↔ ( 0 ∈ ( 0 ..^ 𝑁 ) → ( ♯ ‘ ( 𝑊 ‘ 0 ) ) = 𝑁 ) ) ) |
| 23 |
5
|
ex |
⊢ ( 𝜑 → ( 𝑖 ∈ ( 0 ..^ 𝑁 ) → ( ♯ ‘ ( 𝑊 ‘ 𝑖 ) ) = 𝑁 ) ) |
| 24 |
17 22 23
|
vtocld |
⊢ ( 𝜑 → ( 0 ∈ ( 0 ..^ 𝑁 ) → ( ♯ ‘ ( 𝑊 ‘ 0 ) ) = 𝑁 ) ) |
| 25 |
15 24
|
mpd |
⊢ ( 𝜑 → ( ♯ ‘ ( 𝑊 ‘ 0 ) ) = 𝑁 ) |
| 26 |
25
|
oveq2d |
⊢ ( 𝜑 → ( 1 ... ( ♯ ‘ ( 𝑊 ‘ 0 ) ) ) = ( 1 ... 𝑁 ) ) |
| 27 |
|
eqidd |
⊢ ( 𝜑 → ( ( 𝑊 ‘ ( 𝑘 − 1 ) ) ‘ ( 𝑗 − 1 ) ) = ( ( 𝑊 ‘ ( 𝑘 − 1 ) ) ‘ ( 𝑗 − 1 ) ) ) |
| 28 |
13 26 27
|
mpoeq123dv |
⊢ ( 𝜑 → ( 𝑘 ∈ ( 1 ... ( ♯ ‘ 𝑊 ) ) , 𝑗 ∈ ( 1 ... ( ♯ ‘ ( 𝑊 ‘ 0 ) ) ) ↦ ( ( 𝑊 ‘ ( 𝑘 − 1 ) ) ‘ ( 𝑗 − 1 ) ) ) = ( 𝑘 ∈ ( 1 ... 𝑁 ) , 𝑗 ∈ ( 1 ... 𝑁 ) ↦ ( ( 𝑊 ‘ ( 𝑘 − 1 ) ) ‘ ( 𝑗 − 1 ) ) ) ) |
| 29 |
12 28
|
eqtrd |
⊢ ( 𝜑 → 𝑀 = ( 𝑘 ∈ ( 1 ... 𝑁 ) , 𝑗 ∈ ( 1 ... 𝑁 ) ↦ ( ( 𝑊 ‘ ( 𝑘 − 1 ) ) ‘ ( 𝑗 − 1 ) ) ) ) |
| 30 |
|
fzfid |
⊢ ( 𝜑 → ( 1 ... 𝑁 ) ∈ Fin ) |
| 31 |
3
|
3ad2ant1 |
⊢ ( ( 𝜑 ∧ 𝑘 ∈ ( 1 ... 𝑁 ) ∧ 𝑗 ∈ ( 1 ... 𝑁 ) ) → 𝑊 ∈ Word Word 𝑉 ) |
| 32 |
|
simp2 |
⊢ ( ( 𝜑 ∧ 𝑘 ∈ ( 1 ... 𝑁 ) ∧ 𝑗 ∈ ( 1 ... 𝑁 ) ) → 𝑘 ∈ ( 1 ... 𝑁 ) ) |
| 33 |
|
fz1fzo0m1 |
⊢ ( 𝑘 ∈ ( 1 ... 𝑁 ) → ( 𝑘 − 1 ) ∈ ( 0 ..^ 𝑁 ) ) |
| 34 |
32 33
|
syl |
⊢ ( ( 𝜑 ∧ 𝑘 ∈ ( 1 ... 𝑁 ) ∧ 𝑗 ∈ ( 1 ... 𝑁 ) ) → ( 𝑘 − 1 ) ∈ ( 0 ..^ 𝑁 ) ) |
| 35 |
4
|
3ad2ant1 |
⊢ ( ( 𝜑 ∧ 𝑘 ∈ ( 1 ... 𝑁 ) ∧ 𝑗 ∈ ( 1 ... 𝑁 ) ) → ( ♯ ‘ 𝑊 ) = 𝑁 ) |
| 36 |
35
|
oveq2d |
⊢ ( ( 𝜑 ∧ 𝑘 ∈ ( 1 ... 𝑁 ) ∧ 𝑗 ∈ ( 1 ... 𝑁 ) ) → ( 0 ..^ ( ♯ ‘ 𝑊 ) ) = ( 0 ..^ 𝑁 ) ) |
| 37 |
34 36
|
eleqtrrd |
⊢ ( ( 𝜑 ∧ 𝑘 ∈ ( 1 ... 𝑁 ) ∧ 𝑗 ∈ ( 1 ... 𝑁 ) ) → ( 𝑘 − 1 ) ∈ ( 0 ..^ ( ♯ ‘ 𝑊 ) ) ) |
| 38 |
|
wrdsymbcl |
⊢ ( ( 𝑊 ∈ Word Word 𝑉 ∧ ( 𝑘 − 1 ) ∈ ( 0 ..^ ( ♯ ‘ 𝑊 ) ) ) → ( 𝑊 ‘ ( 𝑘 − 1 ) ) ∈ Word 𝑉 ) |
| 39 |
31 37 38
|
syl2anc |
⊢ ( ( 𝜑 ∧ 𝑘 ∈ ( 1 ... 𝑁 ) ∧ 𝑗 ∈ ( 1 ... 𝑁 ) ) → ( 𝑊 ‘ ( 𝑘 − 1 ) ) ∈ Word 𝑉 ) |
| 40 |
|
simp3 |
⊢ ( ( 𝜑 ∧ 𝑘 ∈ ( 1 ... 𝑁 ) ∧ 𝑗 ∈ ( 1 ... 𝑁 ) ) → 𝑗 ∈ ( 1 ... 𝑁 ) ) |
| 41 |
|
fz1fzo0m1 |
⊢ ( 𝑗 ∈ ( 1 ... 𝑁 ) → ( 𝑗 − 1 ) ∈ ( 0 ..^ 𝑁 ) ) |
| 42 |
40 41
|
syl |
⊢ ( ( 𝜑 ∧ 𝑘 ∈ ( 1 ... 𝑁 ) ∧ 𝑗 ∈ ( 1 ... 𝑁 ) ) → ( 𝑗 − 1 ) ∈ ( 0 ..^ 𝑁 ) ) |
| 43 |
|
ovexd |
⊢ ( 𝜑 → ( 𝑘 − 1 ) ∈ V ) |
| 44 |
|
simpr |
⊢ ( ( 𝜑 ∧ 𝑖 = ( 𝑘 − 1 ) ) → 𝑖 = ( 𝑘 − 1 ) ) |
| 45 |
|
eqidd |
⊢ ( ( 𝜑 ∧ 𝑖 = ( 𝑘 − 1 ) ) → ( 0 ..^ 𝑁 ) = ( 0 ..^ 𝑁 ) ) |
| 46 |
44 45
|
eleq12d |
⊢ ( ( 𝜑 ∧ 𝑖 = ( 𝑘 − 1 ) ) → ( 𝑖 ∈ ( 0 ..^ 𝑁 ) ↔ ( 𝑘 − 1 ) ∈ ( 0 ..^ 𝑁 ) ) ) |
| 47 |
44
|
fveq2d |
⊢ ( ( 𝜑 ∧ 𝑖 = ( 𝑘 − 1 ) ) → ( 𝑊 ‘ 𝑖 ) = ( 𝑊 ‘ ( 𝑘 − 1 ) ) ) |
| 48 |
47
|
fveqeq2d |
⊢ ( ( 𝜑 ∧ 𝑖 = ( 𝑘 − 1 ) ) → ( ( ♯ ‘ ( 𝑊 ‘ 𝑖 ) ) = 𝑁 ↔ ( ♯ ‘ ( 𝑊 ‘ ( 𝑘 − 1 ) ) ) = 𝑁 ) ) |
| 49 |
46 48
|
imbi12d |
⊢ ( ( 𝜑 ∧ 𝑖 = ( 𝑘 − 1 ) ) → ( ( 𝑖 ∈ ( 0 ..^ 𝑁 ) → ( ♯ ‘ ( 𝑊 ‘ 𝑖 ) ) = 𝑁 ) ↔ ( ( 𝑘 − 1 ) ∈ ( 0 ..^ 𝑁 ) → ( ♯ ‘ ( 𝑊 ‘ ( 𝑘 − 1 ) ) ) = 𝑁 ) ) ) |
| 50 |
43 49 23
|
vtocld |
⊢ ( 𝜑 → ( ( 𝑘 − 1 ) ∈ ( 0 ..^ 𝑁 ) → ( ♯ ‘ ( 𝑊 ‘ ( 𝑘 − 1 ) ) ) = 𝑁 ) ) |
| 51 |
50
|
imp |
⊢ ( ( 𝜑 ∧ ( 𝑘 − 1 ) ∈ ( 0 ..^ 𝑁 ) ) → ( ♯ ‘ ( 𝑊 ‘ ( 𝑘 − 1 ) ) ) = 𝑁 ) |
| 52 |
33 51
|
sylan2 |
⊢ ( ( 𝜑 ∧ 𝑘 ∈ ( 1 ... 𝑁 ) ) → ( ♯ ‘ ( 𝑊 ‘ ( 𝑘 − 1 ) ) ) = 𝑁 ) |
| 53 |
52
|
3adant3 |
⊢ ( ( 𝜑 ∧ 𝑘 ∈ ( 1 ... 𝑁 ) ∧ 𝑗 ∈ ( 1 ... 𝑁 ) ) → ( ♯ ‘ ( 𝑊 ‘ ( 𝑘 − 1 ) ) ) = 𝑁 ) |
| 54 |
53
|
oveq2d |
⊢ ( ( 𝜑 ∧ 𝑘 ∈ ( 1 ... 𝑁 ) ∧ 𝑗 ∈ ( 1 ... 𝑁 ) ) → ( 0 ..^ ( ♯ ‘ ( 𝑊 ‘ ( 𝑘 − 1 ) ) ) ) = ( 0 ..^ 𝑁 ) ) |
| 55 |
42 54
|
eleqtrrd |
⊢ ( ( 𝜑 ∧ 𝑘 ∈ ( 1 ... 𝑁 ) ∧ 𝑗 ∈ ( 1 ... 𝑁 ) ) → ( 𝑗 − 1 ) ∈ ( 0 ..^ ( ♯ ‘ ( 𝑊 ‘ ( 𝑘 − 1 ) ) ) ) ) |
| 56 |
|
wrdsymbcl |
⊢ ( ( ( 𝑊 ‘ ( 𝑘 − 1 ) ) ∈ Word 𝑉 ∧ ( 𝑗 − 1 ) ∈ ( 0 ..^ ( ♯ ‘ ( 𝑊 ‘ ( 𝑘 − 1 ) ) ) ) ) → ( ( 𝑊 ‘ ( 𝑘 − 1 ) ) ‘ ( 𝑗 − 1 ) ) ∈ 𝑉 ) |
| 57 |
39 55 56
|
syl2anc |
⊢ ( ( 𝜑 ∧ 𝑘 ∈ ( 1 ... 𝑁 ) ∧ 𝑗 ∈ ( 1 ... 𝑁 ) ) → ( ( 𝑊 ‘ ( 𝑘 − 1 ) ) ‘ ( 𝑗 − 1 ) ) ∈ 𝑉 ) |
| 58 |
7 6 8 30 9 57
|
matbas2d |
⊢ ( 𝜑 → ( 𝑘 ∈ ( 1 ... 𝑁 ) , 𝑗 ∈ ( 1 ... 𝑁 ) ↦ ( ( 𝑊 ‘ ( 𝑘 − 1 ) ) ‘ ( 𝑗 − 1 ) ) ) ∈ 𝑃 ) |
| 59 |
29 58
|
eqeltrd |
⊢ ( 𝜑 → 𝑀 ∈ 𝑃 ) |