Metamath Proof Explorer


Theorem matunitlindf

Description: A matrix over a field is invertible iff the rows are linearly independent. (Contributed by Brendan Leahy, 2-Jun-2021)

Ref Expression
Assertion matunitlindf ⊢ R ∈ Field ∧ M ∈ Base I Mat R → M ∈ Unit ⁡ I Mat R ↔ curry M LIndF R freeLMod I

Proof

Step Hyp Ref Expression
1 fvoveq1 ⊢ I = ∅ → Base I Mat R = Base ∅ Mat R
2 mat0dimbas0 ⊢ R ∈ Field → Base ∅ Mat R = ∅
3 1 2 sylan9eq ⊢ I = ∅ ∧ R ∈ Field → Base I Mat R = ∅
4 3 eleq2d ⊢ I = ∅ ∧ R ∈ Field → M ∈ Base I Mat R ↔ M ∈ ∅
5 elsni ⊢ M ∈ ∅ → M = ∅
6 4 5 biimtrdi ⊢ I = ∅ ∧ R ∈ Field → M ∈ Base I Mat R → M = ∅
7 6 imdistanda ⊢ I = ∅ → R ∈ Field ∧ M ∈ Base I Mat R → R ∈ Field ∧ M = ∅
8 7 impcom ⊢ R ∈ Field ∧ M ∈ Base I Mat R ∧ I = ∅ → R ∈ Field ∧ M = ∅
9 isfld ⊢ R ∈ Field ↔ R ∈ DivRing ∧ R ∈ CRing
10 9 simplbi ⊢ R ∈ Field → R ∈ DivRing
11 drngring ⊢ R ∈ DivRing → R ∈ Ring
12 eqid ⊢ ∅ Mat R = ∅ Mat R
13 12 mat0dimid ⊢ R ∈ Ring → 1 ∅ Mat R = ∅
14 0fi ⊢ ∅ ∈ Fin
15 12 matring ⊢ ∅ ∈ Fin ∧ R ∈ Ring → ∅ Mat R ∈ Ring
16 14 15 mpan ⊢ R ∈ Ring → ∅ Mat R ∈ Ring
17 eqid ⊢ Unit ⁡ ∅ Mat R = Unit ⁡ ∅ Mat R
18 eqid ⊢ 1 ∅ Mat R = 1 ∅ Mat R
19 17 18 1unit ⊢ ∅ Mat R ∈ Ring → 1 ∅ Mat R ∈ Unit ⁡ ∅ Mat R
20 16 19 syl ⊢ R ∈ Ring → 1 ∅ Mat R ∈ Unit ⁡ ∅ Mat R
21 13 20 eqeltrrd ⊢ R ∈ Ring → ∅ ∈ Unit ⁡ ∅ Mat R
22 10 11 21 3syl ⊢ R ∈ Field → ∅ ∈ Unit ⁡ ∅ Mat R
23 f0 ⊢ ∅ : ∅ ⟶ Base R freeLMod ∅
24 dm0 ⊢ dom ⁡ ∅ = ∅
25 24 feq2i ⊢ ∅ : dom ⁡ ∅ ⟶ Base R freeLMod ∅ ↔ ∅ : ∅ ⟶ Base R freeLMod ∅
26 23 25 mpbir ⊢ ∅ : dom ⁡ ∅ ⟶ Base R freeLMod ∅
27 rzal ⊢ dom ⁡ ∅ = ∅ → ∀ x ∈ dom ⁡ ∅ ∀ y ∈ Base Scalar ⁡ R freeLMod ∅ ∖ 0 Scalar ⁡ R freeLMod ∅ ¬ y ⋅ R freeLMod ∅ ∅ ⁡ x ∈ LSpan ⁡ R freeLMod ∅ ⁡ ∅ dom ⁡ ∅ ∖ x
28 24 27 ax-mp ⊢ ∀ x ∈ dom ⁡ ∅ ∀ y ∈ Base Scalar ⁡ R freeLMod ∅ ∖ 0 Scalar ⁡ R freeLMod ∅ ¬ y ⋅ R freeLMod ∅ ∅ ⁡ x ∈ LSpan ⁡ R freeLMod ∅ ⁡ ∅ dom ⁡ ∅ ∖ x
29 ovex ⊢ R freeLMod ∅ ∈ V
30 eqid ⊢ Base R freeLMod ∅ = Base R freeLMod ∅
31 eqid ⊢ ⋅ R freeLMod ∅ = ⋅ R freeLMod ∅
32 eqid ⊢ LSpan ⁡ R freeLMod ∅ = LSpan ⁡ R freeLMod ∅
33 eqid ⊢ Scalar ⁡ R freeLMod ∅ = Scalar ⁡ R freeLMod ∅
34 eqid ⊢ Base Scalar ⁡ R freeLMod ∅ = Base Scalar ⁡ R freeLMod ∅
35 eqid ⊢ 0 Scalar ⁡ R freeLMod ∅ = 0 Scalar ⁡ R freeLMod ∅
36 30 31 32 33 34 35 islindf ⊢ R freeLMod ∅ ∈ V ∧ ∅ ∈ Fin → ∅ LIndF R freeLMod ∅ ↔ ∅ : dom ⁡ ∅ ⟶ Base R freeLMod ∅ ∧ ∀ x ∈ dom ⁡ ∅ ∀ y ∈ Base Scalar ⁡ R freeLMod ∅ ∖ 0 Scalar ⁡ R freeLMod ∅ ¬ y ⋅ R freeLMod ∅ ∅ ⁡ x ∈ LSpan ⁡ R freeLMod ∅ ⁡ ∅ dom ⁡ ∅ ∖ x
37 29 14 36 mp2an ⊢ ∅ LIndF R freeLMod ∅ ↔ ∅ : dom ⁡ ∅ ⟶ Base R freeLMod ∅ ∧ ∀ x ∈ dom ⁡ ∅ ∀ y ∈ Base Scalar ⁡ R freeLMod ∅ ∖ 0 Scalar ⁡ R freeLMod ∅ ¬ y ⋅ R freeLMod ∅ ∅ ⁡ x ∈ LSpan ⁡ R freeLMod ∅ ⁡ ∅ dom ⁡ ∅ ∖ x
38 26 28 37 mpbir2an ⊢ ∅ LIndF R freeLMod ∅
39 38 a1i ⊢ R ∈ Field → ∅ LIndF R freeLMod ∅
40 22 39 2thd ⊢ R ∈ Field → ∅ ∈ Unit ⁡ ∅ Mat R ↔ ∅ LIndF R freeLMod ∅
41 fvoveq1 ⊢ I = ∅ → Unit ⁡ I Mat R = Unit ⁡ ∅ Mat R
42 eleq12 ⊢ M = ∅ ∧ Unit ⁡ I Mat R = Unit ⁡ ∅ Mat R → M ∈ Unit ⁡ I Mat R ↔ ∅ ∈ Unit ⁡ ∅ Mat R
43 41 42 sylan2 ⊢ M = ∅ ∧ I = ∅ → M ∈ Unit ⁡ I Mat R ↔ ∅ ∈ Unit ⁡ ∅ Mat R
44 cureq ⊢ M = ∅ → curry M = curry ∅
45 df-cur ⊢ curry ∅ = x ∈ dom ⁡ dom ⁡ ∅ ⟼ y z | x y ∅ z
46 24 dmeqi ⊢ dom ⁡ dom ⁡ ∅ = dom ⁡ ∅
47 46 24 eqtri ⊢ dom ⁡ dom ⁡ ∅ = ∅
48 mpteq1 ⊢ dom ⁡ dom ⁡ ∅ = ∅ → x ∈ dom ⁡ dom ⁡ ∅ ⟼ y z | x y ∅ z = x ∈ ∅ ⟼ y z | x y ∅ z
49 47 48 ax-mp ⊢ x ∈ dom ⁡ dom ⁡ ∅ ⟼ y z | x y ∅ z = x ∈ ∅ ⟼ y z | x y ∅ z
50 mpt0 ⊢ x ∈ ∅ ⟼ y z | x y ∅ z = ∅
51 45 49 50 3eqtri ⊢ curry ∅ = ∅
52 44 51 eqtrdi ⊢ M = ∅ → curry M = ∅
53 oveq2 ⊢ I = ∅ → R freeLMod I = R freeLMod ∅
54 52 53 breqan12d ⊢ M = ∅ ∧ I = ∅ → curry M LIndF R freeLMod I ↔ ∅ LIndF R freeLMod ∅
55 43 54 bibi12d ⊢ M = ∅ ∧ I = ∅ → M ∈ Unit ⁡ I Mat R ↔ curry M LIndF R freeLMod I ↔ ∅ ∈ Unit ⁡ ∅ Mat R ↔ ∅ LIndF R freeLMod ∅
56 55 biimparc ⊢ ∅ ∈ Unit ⁡ ∅ Mat R ↔ ∅ LIndF R freeLMod ∅ ∧ M = ∅ ∧ I = ∅ → M ∈ Unit ⁡ I Mat R ↔ curry M LIndF R freeLMod I
57 40 56 sylan ⊢ R ∈ Field ∧ M = ∅ ∧ I = ∅ → M ∈ Unit ⁡ I Mat R ↔ curry M LIndF R freeLMod I
58 57 anassrs ⊢ R ∈ Field ∧ M = ∅ ∧ I = ∅ → M ∈ Unit ⁡ I Mat R ↔ curry M LIndF R freeLMod I
59 8 58 sylancom ⊢ R ∈ Field ∧ M ∈ Base I Mat R ∧ I = ∅ → M ∈ Unit ⁡ I Mat R ↔ curry M LIndF R freeLMod I
60 9 simprbi ⊢ R ∈ Field → R ∈ CRing
61 eqid ⊢ I Mat R = I Mat R
62 eqid ⊢ I maDet R = I maDet R
63 eqid ⊢ Base I Mat R = Base I Mat R
64 eqid ⊢ Unit ⁡ I Mat R = Unit ⁡ I Mat R
65 eqid ⊢ Unit ⁡ R = Unit ⁡ R
66 61 62 63 64 65 matunit ⊢ R ∈ CRing ∧ M ∈ Base I Mat R → M ∈ Unit ⁡ I Mat R ↔ I maDet R ⁡ M ∈ Unit ⁡ R
67 60 66 sylan ⊢ R ∈ Field ∧ M ∈ Base I Mat R → M ∈ Unit ⁡ I Mat R ↔ I maDet R ⁡ M ∈ Unit ⁡ R
68 67 adantr ⊢ R ∈ Field ∧ M ∈ Base I Mat R ∧ I ≠ ∅ → M ∈ Unit ⁡ I Mat R ↔ I maDet R ⁡ M ∈ Unit ⁡ R
69 eqid ⊢ Base R = Base R
70 eqid ⊢ 0 R = 0 R
71 69 65 70 drngunit ⊢ R ∈ DivRing → I maDet R ⁡ M ∈ Unit ⁡ R ↔ I maDet R ⁡ M ∈ Base R ∧ I maDet R ⁡ M ≠ 0 R
72 10 71 syl ⊢ R ∈ Field → I maDet R ⁡ M ∈ Unit ⁡ R ↔ I maDet R ⁡ M ∈ Base R ∧ I maDet R ⁡ M ≠ 0 R
73 72 adantr ⊢ R ∈ Field ∧ M ∈ Base I Mat R → I maDet R ⁡ M ∈ Unit ⁡ R ↔ I maDet R ⁡ M ∈ Base R ∧ I maDet R ⁡ M ≠ 0 R
74 62 61 63 69 mdetcl ⊢ R ∈ CRing ∧ M ∈ Base I Mat R → I maDet R ⁡ M ∈ Base R
75 60 74 sylan ⊢ R ∈ Field ∧ M ∈ Base I Mat R → I maDet R ⁡ M ∈ Base R
76 75 biantrurd ⊢ R ∈ Field ∧ M ∈ Base I Mat R → I maDet R ⁡ M ≠ 0 R ↔ I maDet R ⁡ M ∈ Base R ∧ I maDet R ⁡ M ≠ 0 R
77 73 76 bitr4d ⊢ R ∈ Field ∧ M ∈ Base I Mat R → I maDet R ⁡ M ∈ Unit ⁡ R ↔ I maDet R ⁡ M ≠ 0 R
78 77 adantr ⊢ R ∈ Field ∧ M ∈ Base I Mat R ∧ I ≠ ∅ → I maDet R ⁡ M ∈ Unit ⁡ R ↔ I maDet R ⁡ M ≠ 0 R
79 61 63 matrcl ⊢ M ∈ Base I Mat R → I ∈ Fin ∧ R ∈ V
80 79 simpld ⊢ M ∈ Base I Mat R → I ∈ Fin
81 80 pm4.71i ⊢ M ∈ Base I Mat R ↔ M ∈ Base I Mat R ∧ I ∈ Fin
82 xpfi ⊢ I ∈ Fin ∧ I ∈ Fin → I × I ∈ Fin
83 82 anidms ⊢ I ∈ Fin → I × I ∈ Fin
84 eqid ⊢ R freeLMod I × I = R freeLMod I × I
85 84 69 frlmfibas ⊢ R ∈ Field ∧ I × I ∈ Fin → Base R I × I = Base R freeLMod I × I
86 83 85 sylan2 ⊢ R ∈ Field ∧ I ∈ Fin → Base R I × I = Base R freeLMod I × I
87 61 84 matbas ⊢ I ∈ Fin ∧ R ∈ Field → Base R freeLMod I × I = Base I Mat R
88 87 ancoms ⊢ R ∈ Field ∧ I ∈ Fin → Base R freeLMod I × I = Base I Mat R
89 86 88 eqtrd ⊢ R ∈ Field ∧ I ∈ Fin → Base R I × I = Base I Mat R
90 89 eleq2d ⊢ R ∈ Field ∧ I ∈ Fin → M ∈ Base R I × I ↔ M ∈ Base I Mat R
91 fvex ⊢ Base R ∈ V
92 elmapg ⊢ Base R ∈ V ∧ I × I ∈ Fin → M ∈ Base R I × I ↔ M : I × I ⟶ Base R
93 91 83 92 sylancr ⊢ I ∈ Fin → M ∈ Base R I × I ↔ M : I × I ⟶ Base R
94 93 adantl ⊢ R ∈ Field ∧ I ∈ Fin → M ∈ Base R I × I ↔ M : I × I ⟶ Base R
95 90 94 bitr3d ⊢ R ∈ Field ∧ I ∈ Fin → M ∈ Base I Mat R ↔ M : I × I ⟶ Base R
96 95 ex ⊢ R ∈ Field → I ∈ Fin → M ∈ Base I Mat R ↔ M : I × I ⟶ Base R
97 96 pm5.32rd ⊢ R ∈ Field → M ∈ Base I Mat R ∧ I ∈ Fin ↔ M : I × I ⟶ Base R ∧ I ∈ Fin
98 81 97 bitrid ⊢ R ∈ Field → M ∈ Base I Mat R ↔ M : I × I ⟶ Base R ∧ I ∈ Fin
99 98 biimpd ⊢ R ∈ Field → M ∈ Base I Mat R → M : I × I ⟶ Base R ∧ I ∈ Fin
100 99 imdistani ⊢ R ∈ Field ∧ M ∈ Base I Mat R → R ∈ Field ∧ M : I × I ⟶ Base R ∧ I ∈ Fin
101 anass ⊢ R ∈ Field ∧ M : I × I ⟶ Base R ∧ I ∈ Fin ↔ R ∈ Field ∧ M : I × I ⟶ Base R ∧ I ∈ Fin
102 100 101 sylibr ⊢ R ∈ Field ∧ M ∈ Base I Mat R → R ∈ Field ∧ M : I × I ⟶ Base R ∧ I ∈ Fin
103 eldifsn ⊢ I ∈ Fin ∖ ∅ ↔ I ∈ Fin ∧ I ≠ ∅
104 matunitlindflem1 ⊢ R ∈ Field ∧ M : I × I ⟶ Base R ∧ I ∈ Fin ∖ ∅ → ¬ curry M LIndF R freeLMod I → I maDet R ⁡ M = 0 R
105 104 necon1ad ⊢ R ∈ Field ∧ M : I × I ⟶ Base R ∧ I ∈ Fin ∖ ∅ → I maDet R ⁡ M ≠ 0 R → curry M LIndF R freeLMod I
106 103 105 sylan2br ⊢ R ∈ Field ∧ M : I × I ⟶ Base R ∧ I ∈ Fin ∧ I ≠ ∅ → I maDet R ⁡ M ≠ 0 R → curry M LIndF R freeLMod I
107 106 anassrs ⊢ R ∈ Field ∧ M : I × I ⟶ Base R ∧ I ∈ Fin ∧ I ≠ ∅ → I maDet R ⁡ M ≠ 0 R → curry M LIndF R freeLMod I
108 102 107 sylan ⊢ R ∈ Field ∧ M ∈ Base I Mat R ∧ I ≠ ∅ → I maDet R ⁡ M ≠ 0 R → curry M LIndF R freeLMod I
109 78 108 sylbid ⊢ R ∈ Field ∧ M ∈ Base I Mat R ∧ I ≠ ∅ → I maDet R ⁡ M ∈ Unit ⁡ R → curry M LIndF R freeLMod I
110 matunitlindflem2 ⊢ R ∈ Field ∧ M ∈ Base I Mat R ∧ I ≠ ∅ ∧ curry M LIndF R freeLMod I → I maDet R ⁡ M ∈ Unit ⁡ R
111 110 ex ⊢ R ∈ Field ∧ M ∈ Base I Mat R ∧ I ≠ ∅ → curry M LIndF R freeLMod I → I maDet R ⁡ M ∈ Unit ⁡ R
112 109 111 impbid ⊢ R ∈ Field ∧ M ∈ Base I Mat R ∧ I ≠ ∅ → I maDet R ⁡ M ∈ Unit ⁡ R ↔ curry M LIndF R freeLMod I
113 68 112 bitrd ⊢ R ∈ Field ∧ M ∈ Base I Mat R ∧ I ≠ ∅ → M ∈ Unit ⁡ I Mat R ↔ curry M LIndF R freeLMod I
114 59 113 pm2.61dane ⊢ R ∈ Field ∧ M ∈ Base I Mat R → M ∈ Unit ⁡ I Mat R ↔ curry M LIndF R freeLMod I