Metamath Proof Explorer


Theorem cramerlem1

Description: Lemma 1 for cramer . (Contributed by AV, 21-Feb-2019) (Revised by AV, 1-Mar-2019)

Ref Expression
Hypotheses cramer.a 𝐴 = ( 𝑁 Mat 𝑅 )
cramer.b 𝐵 = ( Base ‘ 𝐴 )
cramer.v 𝑉 = ( ( Base ‘ 𝑅 ) ↑m 𝑁 )
cramer.d 𝐷 = ( 𝑁 maDet 𝑅 )
cramer.x · = ( 𝑅 maVecMul ⟨ 𝑁 , 𝑁 ⟩ )
cramer.q / = ( /r𝑅 )
Assertion cramerlem1 ( ( 𝑅 ∈ CRing ∧ ( 𝑋𝐵𝑌𝑉 ) ∧ ( ( 𝐷𝑋 ) ∈ ( Unit ‘ 𝑅 ) ∧ 𝑍𝑉 ∧ ( 𝑋 · 𝑍 ) = 𝑌 ) ) → 𝑍 = ( 𝑖𝑁 ↦ ( ( 𝐷 ‘ ( ( 𝑋 ( 𝑁 matRepV 𝑅 ) 𝑌 ) ‘ 𝑖 ) ) / ( 𝐷𝑋 ) ) ) )

Proof

Step Hyp Ref Expression
1 cramer.a 𝐴 = ( 𝑁 Mat 𝑅 )
2 cramer.b 𝐵 = ( Base ‘ 𝐴 )
3 cramer.v 𝑉 = ( ( Base ‘ 𝑅 ) ↑m 𝑁 )
4 cramer.d 𝐷 = ( 𝑁 maDet 𝑅 )
5 cramer.x · = ( 𝑅 maVecMul ⟨ 𝑁 , 𝑁 ⟩ )
6 cramer.q / = ( /r𝑅 )
7 simp1 ( ( 𝑅 ∈ CRing ∧ ( 𝑋𝐵𝑌𝑉 ) ∧ ( ( 𝐷𝑋 ) ∈ ( Unit ‘ 𝑅 ) ∧ 𝑍𝑉 ∧ ( 𝑋 · 𝑍 ) = 𝑌 ) ) → 𝑅 ∈ CRing )
8 7 anim1i ( ( ( 𝑅 ∈ CRing ∧ ( 𝑋𝐵𝑌𝑉 ) ∧ ( ( 𝐷𝑋 ) ∈ ( Unit ‘ 𝑅 ) ∧ 𝑍𝑉 ∧ ( 𝑋 · 𝑍 ) = 𝑌 ) ) ∧ 𝑎𝑁 ) → ( 𝑅 ∈ CRing ∧ 𝑎𝑁 ) )
9 simpl2 ( ( ( 𝑅 ∈ CRing ∧ ( 𝑋𝐵𝑌𝑉 ) ∧ ( ( 𝐷𝑋 ) ∈ ( Unit ‘ 𝑅 ) ∧ 𝑍𝑉 ∧ ( 𝑋 · 𝑍 ) = 𝑌 ) ) ∧ 𝑎𝑁 ) → ( 𝑋𝐵𝑌𝑉 ) )
10 pm3.22 ( ( ( 𝐷𝑋 ) ∈ ( Unit ‘ 𝑅 ) ∧ ( 𝑋 · 𝑍 ) = 𝑌 ) → ( ( 𝑋 · 𝑍 ) = 𝑌 ∧ ( 𝐷𝑋 ) ∈ ( Unit ‘ 𝑅 ) ) )
11 10 3adant2 ( ( ( 𝐷𝑋 ) ∈ ( Unit ‘ 𝑅 ) ∧ 𝑍𝑉 ∧ ( 𝑋 · 𝑍 ) = 𝑌 ) → ( ( 𝑋 · 𝑍 ) = 𝑌 ∧ ( 𝐷𝑋 ) ∈ ( Unit ‘ 𝑅 ) ) )
12 11 3ad2ant3 ( ( 𝑅 ∈ CRing ∧ ( 𝑋𝐵𝑌𝑉 ) ∧ ( ( 𝐷𝑋 ) ∈ ( Unit ‘ 𝑅 ) ∧ 𝑍𝑉 ∧ ( 𝑋 · 𝑍 ) = 𝑌 ) ) → ( ( 𝑋 · 𝑍 ) = 𝑌 ∧ ( 𝐷𝑋 ) ∈ ( Unit ‘ 𝑅 ) ) )
13 12 adantr ( ( ( 𝑅 ∈ CRing ∧ ( 𝑋𝐵𝑌𝑉 ) ∧ ( ( 𝐷𝑋 ) ∈ ( Unit ‘ 𝑅 ) ∧ 𝑍𝑉 ∧ ( 𝑋 · 𝑍 ) = 𝑌 ) ) ∧ 𝑎𝑁 ) → ( ( 𝑋 · 𝑍 ) = 𝑌 ∧ ( 𝐷𝑋 ) ∈ ( Unit ‘ 𝑅 ) ) )
14 eqid ( ( ( 1r𝐴 ) ( 𝑁 matRepV 𝑅 ) 𝑍 ) ‘ 𝑎 ) = ( ( ( 1r𝐴 ) ( 𝑁 matRepV 𝑅 ) 𝑍 ) ‘ 𝑎 )
15 eqid ( ( 𝑋 ( 𝑁 matRepV 𝑅 ) 𝑌 ) ‘ 𝑎 ) = ( ( 𝑋 ( 𝑁 matRepV 𝑅 ) 𝑌 ) ‘ 𝑎 )
16 1 2 3 14 15 5 4 6 cramerimp ( ( ( 𝑅 ∈ CRing ∧ 𝑎𝑁 ) ∧ ( 𝑋𝐵𝑌𝑉 ) ∧ ( ( 𝑋 · 𝑍 ) = 𝑌 ∧ ( 𝐷𝑋 ) ∈ ( Unit ‘ 𝑅 ) ) ) → ( 𝑍𝑎 ) = ( ( 𝐷 ‘ ( ( 𝑋 ( 𝑁 matRepV 𝑅 ) 𝑌 ) ‘ 𝑎 ) ) / ( 𝐷𝑋 ) ) )
17 8 9 13 16 syl3anc ( ( ( 𝑅 ∈ CRing ∧ ( 𝑋𝐵𝑌𝑉 ) ∧ ( ( 𝐷𝑋 ) ∈ ( Unit ‘ 𝑅 ) ∧ 𝑍𝑉 ∧ ( 𝑋 · 𝑍 ) = 𝑌 ) ) ∧ 𝑎𝑁 ) → ( 𝑍𝑎 ) = ( ( 𝐷 ‘ ( ( 𝑋 ( 𝑁 matRepV 𝑅 ) 𝑌 ) ‘ 𝑎 ) ) / ( 𝐷𝑋 ) ) )
18 17 ralrimiva ( ( 𝑅 ∈ CRing ∧ ( 𝑋𝐵𝑌𝑉 ) ∧ ( ( 𝐷𝑋 ) ∈ ( Unit ‘ 𝑅 ) ∧ 𝑍𝑉 ∧ ( 𝑋 · 𝑍 ) = 𝑌 ) ) → ∀ 𝑎𝑁 ( 𝑍𝑎 ) = ( ( 𝐷 ‘ ( ( 𝑋 ( 𝑁 matRepV 𝑅 ) 𝑌 ) ‘ 𝑎 ) ) / ( 𝐷𝑋 ) ) )
19 elmapfn ( 𝑍 ∈ ( ( Base ‘ 𝑅 ) ↑m 𝑁 ) → 𝑍 Fn 𝑁 )
20 19 3 eleq2s ( 𝑍𝑉𝑍 Fn 𝑁 )
21 20 3ad2ant2 ( ( ( 𝐷𝑋 ) ∈ ( Unit ‘ 𝑅 ) ∧ 𝑍𝑉 ∧ ( 𝑋 · 𝑍 ) = 𝑌 ) → 𝑍 Fn 𝑁 )
22 21 3ad2ant3 ( ( 𝑅 ∈ CRing ∧ ( 𝑋𝐵𝑌𝑉 ) ∧ ( ( 𝐷𝑋 ) ∈ ( Unit ‘ 𝑅 ) ∧ 𝑍𝑉 ∧ ( 𝑋 · 𝑍 ) = 𝑌 ) ) → 𝑍 Fn 𝑁 )
23 2fveq3 ( 𝑎 = 𝑖 → ( 𝐷 ‘ ( ( 𝑋 ( 𝑁 matRepV 𝑅 ) 𝑌 ) ‘ 𝑎 ) ) = ( 𝐷 ‘ ( ( 𝑋 ( 𝑁 matRepV 𝑅 ) 𝑌 ) ‘ 𝑖 ) ) )
24 23 oveq1d ( 𝑎 = 𝑖 → ( ( 𝐷 ‘ ( ( 𝑋 ( 𝑁 matRepV 𝑅 ) 𝑌 ) ‘ 𝑎 ) ) / ( 𝐷𝑋 ) ) = ( ( 𝐷 ‘ ( ( 𝑋 ( 𝑁 matRepV 𝑅 ) 𝑌 ) ‘ 𝑖 ) ) / ( 𝐷𝑋 ) ) )
25 ovexd ( ( ( 𝑅 ∈ CRing ∧ ( 𝑋𝐵𝑌𝑉 ) ∧ ( ( 𝐷𝑋 ) ∈ ( Unit ‘ 𝑅 ) ∧ 𝑍𝑉 ∧ ( 𝑋 · 𝑍 ) = 𝑌 ) ) ∧ 𝑎𝑁 ) → ( ( 𝐷 ‘ ( ( 𝑋 ( 𝑁 matRepV 𝑅 ) 𝑌 ) ‘ 𝑎 ) ) / ( 𝐷𝑋 ) ) ∈ V )
26 ovexd ( ( ( 𝑅 ∈ CRing ∧ ( 𝑋𝐵𝑌𝑉 ) ∧ ( ( 𝐷𝑋 ) ∈ ( Unit ‘ 𝑅 ) ∧ 𝑍𝑉 ∧ ( 𝑋 · 𝑍 ) = 𝑌 ) ) ∧ 𝑖𝑁 ) → ( ( 𝐷 ‘ ( ( 𝑋 ( 𝑁 matRepV 𝑅 ) 𝑌 ) ‘ 𝑖 ) ) / ( 𝐷𝑋 ) ) ∈ V )
27 22 24 25 26 fnmptfvd ( ( 𝑅 ∈ CRing ∧ ( 𝑋𝐵𝑌𝑉 ) ∧ ( ( 𝐷𝑋 ) ∈ ( Unit ‘ 𝑅 ) ∧ 𝑍𝑉 ∧ ( 𝑋 · 𝑍 ) = 𝑌 ) ) → ( 𝑍 = ( 𝑖𝑁 ↦ ( ( 𝐷 ‘ ( ( 𝑋 ( 𝑁 matRepV 𝑅 ) 𝑌 ) ‘ 𝑖 ) ) / ( 𝐷𝑋 ) ) ) ↔ ∀ 𝑎𝑁 ( 𝑍𝑎 ) = ( ( 𝐷 ‘ ( ( 𝑋 ( 𝑁 matRepV 𝑅 ) 𝑌 ) ‘ 𝑎 ) ) / ( 𝐷𝑋 ) ) ) )
28 18 27 mpbird ( ( 𝑅 ∈ CRing ∧ ( 𝑋𝐵𝑌𝑉 ) ∧ ( ( 𝐷𝑋 ) ∈ ( Unit ‘ 𝑅 ) ∧ 𝑍𝑉 ∧ ( 𝑋 · 𝑍 ) = 𝑌 ) ) → 𝑍 = ( 𝑖𝑁 ↦ ( ( 𝐷 ‘ ( ( 𝑋 ( 𝑁 matRepV 𝑅 ) 𝑌 ) ‘ 𝑖 ) ) / ( 𝐷𝑋 ) ) ) )