This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: A matrix is a unit in the ring of matrices iff its determinant is a unit in the underlying ring. (Contributed by Stefan O'Rear, 17-Jul-2018)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | matunit.a | ⊢ 𝐴 = ( 𝑁 Mat 𝑅 ) | |
| matunit.d | ⊢ 𝐷 = ( 𝑁 maDet 𝑅 ) | ||
| matunit.b | ⊢ 𝐵 = ( Base ‘ 𝐴 ) | ||
| matunit.u | ⊢ 𝑈 = ( Unit ‘ 𝐴 ) | ||
| matunit.v | ⊢ 𝑉 = ( Unit ‘ 𝑅 ) | ||
| Assertion | matunit | ⊢ ( ( 𝑅 ∈ CRing ∧ 𝑀 ∈ 𝐵 ) → ( 𝑀 ∈ 𝑈 ↔ ( 𝐷 ‘ 𝑀 ) ∈ 𝑉 ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | matunit.a | ⊢ 𝐴 = ( 𝑁 Mat 𝑅 ) | |
| 2 | matunit.d | ⊢ 𝐷 = ( 𝑁 maDet 𝑅 ) | |
| 3 | matunit.b | ⊢ 𝐵 = ( Base ‘ 𝐴 ) | |
| 4 | matunit.u | ⊢ 𝑈 = ( Unit ‘ 𝐴 ) | |
| 5 | matunit.v | ⊢ 𝑉 = ( Unit ‘ 𝑅 ) | |
| 6 | eqid | ⊢ ( Base ‘ 𝑅 ) = ( Base ‘ 𝑅 ) | |
| 7 | eqid | ⊢ ( .r ‘ 𝑅 ) = ( .r ‘ 𝑅 ) | |
| 8 | eqid | ⊢ ( 1r ‘ 𝑅 ) = ( 1r ‘ 𝑅 ) | |
| 9 | eqid | ⊢ ( invr ‘ 𝑅 ) = ( invr ‘ 𝑅 ) | |
| 10 | crngring | ⊢ ( 𝑅 ∈ CRing → 𝑅 ∈ Ring ) | |
| 11 | 10 | ad2antrr | ⊢ ( ( ( 𝑅 ∈ CRing ∧ 𝑀 ∈ 𝐵 ) ∧ 𝑀 ∈ 𝑈 ) → 𝑅 ∈ Ring ) |
| 12 | 2 1 3 6 | mdetcl | ⊢ ( ( 𝑅 ∈ CRing ∧ 𝑀 ∈ 𝐵 ) → ( 𝐷 ‘ 𝑀 ) ∈ ( Base ‘ 𝑅 ) ) |
| 13 | 12 | adantr | ⊢ ( ( ( 𝑅 ∈ CRing ∧ 𝑀 ∈ 𝐵 ) ∧ 𝑀 ∈ 𝑈 ) → ( 𝐷 ‘ 𝑀 ) ∈ ( Base ‘ 𝑅 ) ) |
| 14 | 2 1 3 6 | mdetf | ⊢ ( 𝑅 ∈ CRing → 𝐷 : 𝐵 ⟶ ( Base ‘ 𝑅 ) ) |
| 15 | 14 | ad2antrr | ⊢ ( ( ( 𝑅 ∈ CRing ∧ 𝑀 ∈ 𝐵 ) ∧ 𝑀 ∈ 𝑈 ) → 𝐷 : 𝐵 ⟶ ( Base ‘ 𝑅 ) ) |
| 16 | 1 3 | matrcl | ⊢ ( 𝑀 ∈ 𝐵 → ( 𝑁 ∈ Fin ∧ 𝑅 ∈ V ) ) |
| 17 | 16 | simpld | ⊢ ( 𝑀 ∈ 𝐵 → 𝑁 ∈ Fin ) |
| 18 | 17 | ad2antlr | ⊢ ( ( ( 𝑅 ∈ CRing ∧ 𝑀 ∈ 𝐵 ) ∧ 𝑀 ∈ 𝑈 ) → 𝑁 ∈ Fin ) |
| 19 | 1 | matring | ⊢ ( ( 𝑁 ∈ Fin ∧ 𝑅 ∈ Ring ) → 𝐴 ∈ Ring ) |
| 20 | 18 11 19 | syl2anc | ⊢ ( ( ( 𝑅 ∈ CRing ∧ 𝑀 ∈ 𝐵 ) ∧ 𝑀 ∈ 𝑈 ) → 𝐴 ∈ Ring ) |
| 21 | eqid | ⊢ ( invr ‘ 𝐴 ) = ( invr ‘ 𝐴 ) | |
| 22 | 4 21 3 | ringinvcl | ⊢ ( ( 𝐴 ∈ Ring ∧ 𝑀 ∈ 𝑈 ) → ( ( invr ‘ 𝐴 ) ‘ 𝑀 ) ∈ 𝐵 ) |
| 23 | 20 22 | sylancom | ⊢ ( ( ( 𝑅 ∈ CRing ∧ 𝑀 ∈ 𝐵 ) ∧ 𝑀 ∈ 𝑈 ) → ( ( invr ‘ 𝐴 ) ‘ 𝑀 ) ∈ 𝐵 ) |
| 24 | 15 23 | ffvelcdmd | ⊢ ( ( ( 𝑅 ∈ CRing ∧ 𝑀 ∈ 𝐵 ) ∧ 𝑀 ∈ 𝑈 ) → ( 𝐷 ‘ ( ( invr ‘ 𝐴 ) ‘ 𝑀 ) ) ∈ ( Base ‘ 𝑅 ) ) |
| 25 | eqid | ⊢ ( .r ‘ 𝐴 ) = ( .r ‘ 𝐴 ) | |
| 26 | eqid | ⊢ ( 1r ‘ 𝐴 ) = ( 1r ‘ 𝐴 ) | |
| 27 | 4 21 25 26 | unitrinv | ⊢ ( ( 𝐴 ∈ Ring ∧ 𝑀 ∈ 𝑈 ) → ( 𝑀 ( .r ‘ 𝐴 ) ( ( invr ‘ 𝐴 ) ‘ 𝑀 ) ) = ( 1r ‘ 𝐴 ) ) |
| 28 | 20 27 | sylancom | ⊢ ( ( ( 𝑅 ∈ CRing ∧ 𝑀 ∈ 𝐵 ) ∧ 𝑀 ∈ 𝑈 ) → ( 𝑀 ( .r ‘ 𝐴 ) ( ( invr ‘ 𝐴 ) ‘ 𝑀 ) ) = ( 1r ‘ 𝐴 ) ) |
| 29 | 28 | fveq2d | ⊢ ( ( ( 𝑅 ∈ CRing ∧ 𝑀 ∈ 𝐵 ) ∧ 𝑀 ∈ 𝑈 ) → ( 𝐷 ‘ ( 𝑀 ( .r ‘ 𝐴 ) ( ( invr ‘ 𝐴 ) ‘ 𝑀 ) ) ) = ( 𝐷 ‘ ( 1r ‘ 𝐴 ) ) ) |
| 30 | simpll | ⊢ ( ( ( 𝑅 ∈ CRing ∧ 𝑀 ∈ 𝐵 ) ∧ 𝑀 ∈ 𝑈 ) → 𝑅 ∈ CRing ) | |
| 31 | simplr | ⊢ ( ( ( 𝑅 ∈ CRing ∧ 𝑀 ∈ 𝐵 ) ∧ 𝑀 ∈ 𝑈 ) → 𝑀 ∈ 𝐵 ) | |
| 32 | 1 3 2 7 25 | mdetmul | ⊢ ( ( 𝑅 ∈ CRing ∧ 𝑀 ∈ 𝐵 ∧ ( ( invr ‘ 𝐴 ) ‘ 𝑀 ) ∈ 𝐵 ) → ( 𝐷 ‘ ( 𝑀 ( .r ‘ 𝐴 ) ( ( invr ‘ 𝐴 ) ‘ 𝑀 ) ) ) = ( ( 𝐷 ‘ 𝑀 ) ( .r ‘ 𝑅 ) ( 𝐷 ‘ ( ( invr ‘ 𝐴 ) ‘ 𝑀 ) ) ) ) |
| 33 | 30 31 23 32 | syl3anc | ⊢ ( ( ( 𝑅 ∈ CRing ∧ 𝑀 ∈ 𝐵 ) ∧ 𝑀 ∈ 𝑈 ) → ( 𝐷 ‘ ( 𝑀 ( .r ‘ 𝐴 ) ( ( invr ‘ 𝐴 ) ‘ 𝑀 ) ) ) = ( ( 𝐷 ‘ 𝑀 ) ( .r ‘ 𝑅 ) ( 𝐷 ‘ ( ( invr ‘ 𝐴 ) ‘ 𝑀 ) ) ) ) |
| 34 | 2 1 26 8 | mdet1 | ⊢ ( ( 𝑅 ∈ CRing ∧ 𝑁 ∈ Fin ) → ( 𝐷 ‘ ( 1r ‘ 𝐴 ) ) = ( 1r ‘ 𝑅 ) ) |
| 35 | 30 18 34 | syl2anc | ⊢ ( ( ( 𝑅 ∈ CRing ∧ 𝑀 ∈ 𝐵 ) ∧ 𝑀 ∈ 𝑈 ) → ( 𝐷 ‘ ( 1r ‘ 𝐴 ) ) = ( 1r ‘ 𝑅 ) ) |
| 36 | 29 33 35 | 3eqtr3d | ⊢ ( ( ( 𝑅 ∈ CRing ∧ 𝑀 ∈ 𝐵 ) ∧ 𝑀 ∈ 𝑈 ) → ( ( 𝐷 ‘ 𝑀 ) ( .r ‘ 𝑅 ) ( 𝐷 ‘ ( ( invr ‘ 𝐴 ) ‘ 𝑀 ) ) ) = ( 1r ‘ 𝑅 ) ) |
| 37 | 4 21 25 26 | unitlinv | ⊢ ( ( 𝐴 ∈ Ring ∧ 𝑀 ∈ 𝑈 ) → ( ( ( invr ‘ 𝐴 ) ‘ 𝑀 ) ( .r ‘ 𝐴 ) 𝑀 ) = ( 1r ‘ 𝐴 ) ) |
| 38 | 20 37 | sylancom | ⊢ ( ( ( 𝑅 ∈ CRing ∧ 𝑀 ∈ 𝐵 ) ∧ 𝑀 ∈ 𝑈 ) → ( ( ( invr ‘ 𝐴 ) ‘ 𝑀 ) ( .r ‘ 𝐴 ) 𝑀 ) = ( 1r ‘ 𝐴 ) ) |
| 39 | 38 | fveq2d | ⊢ ( ( ( 𝑅 ∈ CRing ∧ 𝑀 ∈ 𝐵 ) ∧ 𝑀 ∈ 𝑈 ) → ( 𝐷 ‘ ( ( ( invr ‘ 𝐴 ) ‘ 𝑀 ) ( .r ‘ 𝐴 ) 𝑀 ) ) = ( 𝐷 ‘ ( 1r ‘ 𝐴 ) ) ) |
| 40 | 1 3 2 7 25 | mdetmul | ⊢ ( ( 𝑅 ∈ CRing ∧ ( ( invr ‘ 𝐴 ) ‘ 𝑀 ) ∈ 𝐵 ∧ 𝑀 ∈ 𝐵 ) → ( 𝐷 ‘ ( ( ( invr ‘ 𝐴 ) ‘ 𝑀 ) ( .r ‘ 𝐴 ) 𝑀 ) ) = ( ( 𝐷 ‘ ( ( invr ‘ 𝐴 ) ‘ 𝑀 ) ) ( .r ‘ 𝑅 ) ( 𝐷 ‘ 𝑀 ) ) ) |
| 41 | 30 23 31 40 | syl3anc | ⊢ ( ( ( 𝑅 ∈ CRing ∧ 𝑀 ∈ 𝐵 ) ∧ 𝑀 ∈ 𝑈 ) → ( 𝐷 ‘ ( ( ( invr ‘ 𝐴 ) ‘ 𝑀 ) ( .r ‘ 𝐴 ) 𝑀 ) ) = ( ( 𝐷 ‘ ( ( invr ‘ 𝐴 ) ‘ 𝑀 ) ) ( .r ‘ 𝑅 ) ( 𝐷 ‘ 𝑀 ) ) ) |
| 42 | 39 41 35 | 3eqtr3d | ⊢ ( ( ( 𝑅 ∈ CRing ∧ 𝑀 ∈ 𝐵 ) ∧ 𝑀 ∈ 𝑈 ) → ( ( 𝐷 ‘ ( ( invr ‘ 𝐴 ) ‘ 𝑀 ) ) ( .r ‘ 𝑅 ) ( 𝐷 ‘ 𝑀 ) ) = ( 1r ‘ 𝑅 ) ) |
| 43 | 6 7 8 5 9 11 13 24 36 42 | invrvald | ⊢ ( ( ( 𝑅 ∈ CRing ∧ 𝑀 ∈ 𝐵 ) ∧ 𝑀 ∈ 𝑈 ) → ( ( 𝐷 ‘ 𝑀 ) ∈ 𝑉 ∧ ( ( invr ‘ 𝑅 ) ‘ ( 𝐷 ‘ 𝑀 ) ) = ( 𝐷 ‘ ( ( invr ‘ 𝐴 ) ‘ 𝑀 ) ) ) ) |
| 44 | 43 | simpld | ⊢ ( ( ( 𝑅 ∈ CRing ∧ 𝑀 ∈ 𝐵 ) ∧ 𝑀 ∈ 𝑈 ) → ( 𝐷 ‘ 𝑀 ) ∈ 𝑉 ) |
| 45 | eqid | ⊢ ( 𝑁 maAdju 𝑅 ) = ( 𝑁 maAdju 𝑅 ) | |
| 46 | eqid | ⊢ ( ·𝑠 ‘ 𝐴 ) = ( ·𝑠 ‘ 𝐴 ) | |
| 47 | 1 45 2 3 4 5 9 21 46 | matinv | ⊢ ( ( 𝑅 ∈ CRing ∧ 𝑀 ∈ 𝐵 ∧ ( 𝐷 ‘ 𝑀 ) ∈ 𝑉 ) → ( 𝑀 ∈ 𝑈 ∧ ( ( invr ‘ 𝐴 ) ‘ 𝑀 ) = ( ( ( invr ‘ 𝑅 ) ‘ ( 𝐷 ‘ 𝑀 ) ) ( ·𝑠 ‘ 𝐴 ) ( ( 𝑁 maAdju 𝑅 ) ‘ 𝑀 ) ) ) ) |
| 48 | 47 | simpld | ⊢ ( ( 𝑅 ∈ CRing ∧ 𝑀 ∈ 𝐵 ∧ ( 𝐷 ‘ 𝑀 ) ∈ 𝑉 ) → 𝑀 ∈ 𝑈 ) |
| 49 | 48 | 3expa | ⊢ ( ( ( 𝑅 ∈ CRing ∧ 𝑀 ∈ 𝐵 ) ∧ ( 𝐷 ‘ 𝑀 ) ∈ 𝑉 ) → 𝑀 ∈ 𝑈 ) |
| 50 | 44 49 | impbida | ⊢ ( ( 𝑅 ∈ CRing ∧ 𝑀 ∈ 𝐵 ) → ( 𝑀 ∈ 𝑈 ↔ ( 𝐷 ‘ 𝑀 ) ∈ 𝑉 ) ) |