Metamath Proof Explorer


Theorem mdetunilem2

Description: Lemma for mdetuni . (Contributed by SO, 15-Jul-2018)

Ref Expression
Hypotheses mdetuni.a 𝐴 = ( 𝑁 Mat 𝑅 )
mdetuni.b 𝐵 = ( Base ‘ 𝐴 )
mdetuni.k 𝐾 = ( Base ‘ 𝑅 )
mdetuni.0g 0 = ( 0g𝑅 )
mdetuni.1r 1 = ( 1r𝑅 )
mdetuni.pg + = ( +g𝑅 )
mdetuni.tg · = ( .r𝑅 )
mdetuni.n ( 𝜑𝑁 ∈ Fin )
mdetuni.r ( 𝜑𝑅 ∈ Ring )
mdetuni.ff ( 𝜑𝐷 : 𝐵𝐾 )
mdetuni.al ( 𝜑 → ∀ 𝑥𝐵𝑦𝑁𝑧𝑁 ( ( 𝑦𝑧 ∧ ∀ 𝑤𝑁 ( 𝑦 𝑥 𝑤 ) = ( 𝑧 𝑥 𝑤 ) ) → ( 𝐷𝑥 ) = 0 ) )
mdetuni.li ( 𝜑 → ∀ 𝑥𝐵𝑦𝐵𝑧𝐵𝑤𝑁 ( ( ( 𝑥 ↾ ( { 𝑤 } × 𝑁 ) ) = ( ( 𝑦 ↾ ( { 𝑤 } × 𝑁 ) ) ∘f + ( 𝑧 ↾ ( { 𝑤 } × 𝑁 ) ) ) ∧ ( 𝑥 ↾ ( ( 𝑁 ∖ { 𝑤 } ) × 𝑁 ) ) = ( 𝑦 ↾ ( ( 𝑁 ∖ { 𝑤 } ) × 𝑁 ) ) ∧ ( 𝑥 ↾ ( ( 𝑁 ∖ { 𝑤 } ) × 𝑁 ) ) = ( 𝑧 ↾ ( ( 𝑁 ∖ { 𝑤 } ) × 𝑁 ) ) ) → ( 𝐷𝑥 ) = ( ( 𝐷𝑦 ) + ( 𝐷𝑧 ) ) ) )
mdetuni.sc ( 𝜑 → ∀ 𝑥𝐵𝑦𝐾𝑧𝐵𝑤𝑁 ( ( ( 𝑥 ↾ ( { 𝑤 } × 𝑁 ) ) = ( ( ( { 𝑤 } × 𝑁 ) × { 𝑦 } ) ∘f · ( 𝑧 ↾ ( { 𝑤 } × 𝑁 ) ) ) ∧ ( 𝑥 ↾ ( ( 𝑁 ∖ { 𝑤 } ) × 𝑁 ) ) = ( 𝑧 ↾ ( ( 𝑁 ∖ { 𝑤 } ) × 𝑁 ) ) ) → ( 𝐷𝑥 ) = ( 𝑦 · ( 𝐷𝑧 ) ) ) )
mdetunilem2.ph ( 𝜓𝜑 )
mdetunilem2.eg ( 𝜓 → ( 𝐸𝑁𝐺𝑁𝐸𝐺 ) )
mdetunilem2.f ( ( 𝜓𝑏𝑁 ) → 𝐹𝐾 )
mdetunilem2.h ( ( 𝜓𝑎𝑁𝑏𝑁 ) → 𝐻𝐾 )
Assertion mdetunilem2 ( 𝜓 → ( 𝐷 ‘ ( 𝑎𝑁 , 𝑏𝑁 ↦ if ( 𝑎 = 𝐸 , 𝐹 , if ( 𝑎 = 𝐺 , 𝐹 , 𝐻 ) ) ) ) = 0 )

Proof

Step Hyp Ref Expression
1 mdetuni.a 𝐴 = ( 𝑁 Mat 𝑅 )
2 mdetuni.b 𝐵 = ( Base ‘ 𝐴 )
3 mdetuni.k 𝐾 = ( Base ‘ 𝑅 )
4 mdetuni.0g 0 = ( 0g𝑅 )
5 mdetuni.1r 1 = ( 1r𝑅 )
6 mdetuni.pg + = ( +g𝑅 )
7 mdetuni.tg · = ( .r𝑅 )
8 mdetuni.n ( 𝜑𝑁 ∈ Fin )
9 mdetuni.r ( 𝜑𝑅 ∈ Ring )
10 mdetuni.ff ( 𝜑𝐷 : 𝐵𝐾 )
11 mdetuni.al ( 𝜑 → ∀ 𝑥𝐵𝑦𝑁𝑧𝑁 ( ( 𝑦𝑧 ∧ ∀ 𝑤𝑁 ( 𝑦 𝑥 𝑤 ) = ( 𝑧 𝑥 𝑤 ) ) → ( 𝐷𝑥 ) = 0 ) )
12 mdetuni.li ( 𝜑 → ∀ 𝑥𝐵𝑦𝐵𝑧𝐵𝑤𝑁 ( ( ( 𝑥 ↾ ( { 𝑤 } × 𝑁 ) ) = ( ( 𝑦 ↾ ( { 𝑤 } × 𝑁 ) ) ∘f + ( 𝑧 ↾ ( { 𝑤 } × 𝑁 ) ) ) ∧ ( 𝑥 ↾ ( ( 𝑁 ∖ { 𝑤 } ) × 𝑁 ) ) = ( 𝑦 ↾ ( ( 𝑁 ∖ { 𝑤 } ) × 𝑁 ) ) ∧ ( 𝑥 ↾ ( ( 𝑁 ∖ { 𝑤 } ) × 𝑁 ) ) = ( 𝑧 ↾ ( ( 𝑁 ∖ { 𝑤 } ) × 𝑁 ) ) ) → ( 𝐷𝑥 ) = ( ( 𝐷𝑦 ) + ( 𝐷𝑧 ) ) ) )
13 mdetuni.sc ( 𝜑 → ∀ 𝑥𝐵𝑦𝐾𝑧𝐵𝑤𝑁 ( ( ( 𝑥 ↾ ( { 𝑤 } × 𝑁 ) ) = ( ( ( { 𝑤 } × 𝑁 ) × { 𝑦 } ) ∘f · ( 𝑧 ↾ ( { 𝑤 } × 𝑁 ) ) ) ∧ ( 𝑥 ↾ ( ( 𝑁 ∖ { 𝑤 } ) × 𝑁 ) ) = ( 𝑧 ↾ ( ( 𝑁 ∖ { 𝑤 } ) × 𝑁 ) ) ) → ( 𝐷𝑥 ) = ( 𝑦 · ( 𝐷𝑧 ) ) ) )
14 mdetunilem2.ph ( 𝜓𝜑 )
15 mdetunilem2.eg ( 𝜓 → ( 𝐸𝑁𝐺𝑁𝐸𝐺 ) )
16 mdetunilem2.f ( ( 𝜓𝑏𝑁 ) → 𝐹𝐾 )
17 mdetunilem2.h ( ( 𝜓𝑎𝑁𝑏𝑁 ) → 𝐻𝐾 )
18 14 8 syl ( 𝜓𝑁 ∈ Fin )
19 14 9 syl ( 𝜓𝑅 ∈ Ring )
20 16 3adant2 ( ( 𝜓𝑎𝑁𝑏𝑁 ) → 𝐹𝐾 )
21 20 17 ifcld ( ( 𝜓𝑎𝑁𝑏𝑁 ) → if ( 𝑎 = 𝐺 , 𝐹 , 𝐻 ) ∈ 𝐾 )
22 20 21 ifcld ( ( 𝜓𝑎𝑁𝑏𝑁 ) → if ( 𝑎 = 𝐸 , 𝐹 , if ( 𝑎 = 𝐺 , 𝐹 , 𝐻 ) ) ∈ 𝐾 )
23 1 3 2 18 19 22 matbas2d ( 𝜓 → ( 𝑎𝑁 , 𝑏𝑁 ↦ if ( 𝑎 = 𝐸 , 𝐹 , if ( 𝑎 = 𝐺 , 𝐹 , 𝐻 ) ) ) ∈ 𝐵 )
24 eqidd ( ( 𝜓𝑤𝑁 ) → ( 𝑎𝑁 , 𝑏𝑁 ↦ if ( 𝑎 = 𝐸 , 𝐹 , if ( 𝑎 = 𝐺 , 𝐹 , 𝐻 ) ) ) = ( 𝑎𝑁 , 𝑏𝑁 ↦ if ( 𝑎 = 𝐸 , 𝐹 , if ( 𝑎 = 𝐺 , 𝐹 , 𝐻 ) ) ) )
25 iftrue ( 𝑎 = 𝐸 → if ( 𝑎 = 𝐸 , 𝐹 , if ( 𝑎 = 𝐺 , 𝐹 , 𝐻 ) ) = 𝐹 )
26 csbeq1a ( 𝑏 = 𝑤𝐹 = 𝑤 / 𝑏 𝐹 )
27 25 26 sylan9eq ( ( 𝑎 = 𝐸𝑏 = 𝑤 ) → if ( 𝑎 = 𝐸 , 𝐹 , if ( 𝑎 = 𝐺 , 𝐹 , 𝐻 ) ) = 𝑤 / 𝑏 𝐹 )
28 27 adantl ( ( ( 𝜓𝑤𝑁 ) ∧ ( 𝑎 = 𝐸𝑏 = 𝑤 ) ) → if ( 𝑎 = 𝐸 , 𝐹 , if ( 𝑎 = 𝐺 , 𝐹 , 𝐻 ) ) = 𝑤 / 𝑏 𝐹 )
29 eqidd ( ( ( 𝜓𝑤𝑁 ) ∧ 𝑎 = 𝐸 ) → 𝑁 = 𝑁 )
30 15 simp1d ( 𝜓𝐸𝑁 )
31 30 adantr ( ( 𝜓𝑤𝑁 ) → 𝐸𝑁 )
32 simpr ( ( 𝜓𝑤𝑁 ) → 𝑤𝑁 )
33 nfv 𝑏 ( 𝜓𝑤𝑁 )
34 nfcsb1v 𝑏 𝑤 / 𝑏 𝐹
35 34 nfel1 𝑏 𝑤 / 𝑏 𝐹𝐾
36 33 35 nfim 𝑏 ( ( 𝜓𝑤𝑁 ) → 𝑤 / 𝑏 𝐹𝐾 )
37 eleq1w ( 𝑏 = 𝑤 → ( 𝑏𝑁𝑤𝑁 ) )
38 37 anbi2d ( 𝑏 = 𝑤 → ( ( 𝜓𝑏𝑁 ) ↔ ( 𝜓𝑤𝑁 ) ) )
39 26 eleq1d ( 𝑏 = 𝑤 → ( 𝐹𝐾 𝑤 / 𝑏 𝐹𝐾 ) )
40 38 39 imbi12d ( 𝑏 = 𝑤 → ( ( ( 𝜓𝑏𝑁 ) → 𝐹𝐾 ) ↔ ( ( 𝜓𝑤𝑁 ) → 𝑤 / 𝑏 𝐹𝐾 ) ) )
41 36 40 16 chvarfv ( ( 𝜓𝑤𝑁 ) → 𝑤 / 𝑏 𝐹𝐾 )
42 nfv 𝑎 ( 𝜓𝑤𝑁 )
43 nfcv 𝑏 𝐸
44 nfcv 𝑎 𝑤
45 nfcv 𝑎 𝑤 / 𝑏 𝐹
46 24 28 29 31 32 41 42 33 43 44 45 34 ovmpodxf ( ( 𝜓𝑤𝑁 ) → ( 𝐸 ( 𝑎𝑁 , 𝑏𝑁 ↦ if ( 𝑎 = 𝐸 , 𝐹 , if ( 𝑎 = 𝐺 , 𝐹 , 𝐻 ) ) ) 𝑤 ) = 𝑤 / 𝑏 𝐹 )
47 15 simp3d ( 𝜓𝐸𝐺 )
48 47 adantr ( ( 𝜓𝑤𝑁 ) → 𝐸𝐺 )
49 neeq2 ( 𝑎 = 𝐺 → ( 𝐸𝑎𝐸𝐺 ) )
50 48 49 syl5ibrcom ( ( 𝜓𝑤𝑁 ) → ( 𝑎 = 𝐺𝐸𝑎 ) )
51 50 imp ( ( ( 𝜓𝑤𝑁 ) ∧ 𝑎 = 𝐺 ) → 𝐸𝑎 )
52 51 necomd ( ( ( 𝜓𝑤𝑁 ) ∧ 𝑎 = 𝐺 ) → 𝑎𝐸 )
53 52 neneqd ( ( ( 𝜓𝑤𝑁 ) ∧ 𝑎 = 𝐺 ) → ¬ 𝑎 = 𝐸 )
54 53 adantrr ( ( ( 𝜓𝑤𝑁 ) ∧ ( 𝑎 = 𝐺𝑏 = 𝑤 ) ) → ¬ 𝑎 = 𝐸 )
55 54 iffalsed ( ( ( 𝜓𝑤𝑁 ) ∧ ( 𝑎 = 𝐺𝑏 = 𝑤 ) ) → if ( 𝑎 = 𝐸 , 𝐹 , if ( 𝑎 = 𝐺 , 𝐹 , 𝐻 ) ) = if ( 𝑎 = 𝐺 , 𝐹 , 𝐻 ) )
56 iftrue ( 𝑎 = 𝐺 → if ( 𝑎 = 𝐺 , 𝐹 , 𝐻 ) = 𝐹 )
57 56 26 sylan9eq ( ( 𝑎 = 𝐺𝑏 = 𝑤 ) → if ( 𝑎 = 𝐺 , 𝐹 , 𝐻 ) = 𝑤 / 𝑏 𝐹 )
58 57 adantl ( ( ( 𝜓𝑤𝑁 ) ∧ ( 𝑎 = 𝐺𝑏 = 𝑤 ) ) → if ( 𝑎 = 𝐺 , 𝐹 , 𝐻 ) = 𝑤 / 𝑏 𝐹 )
59 55 58 eqtrd ( ( ( 𝜓𝑤𝑁 ) ∧ ( 𝑎 = 𝐺𝑏 = 𝑤 ) ) → if ( 𝑎 = 𝐸 , 𝐹 , if ( 𝑎 = 𝐺 , 𝐹 , 𝐻 ) ) = 𝑤 / 𝑏 𝐹 )
60 eqidd ( ( ( 𝜓𝑤𝑁 ) ∧ 𝑎 = 𝐺 ) → 𝑁 = 𝑁 )
61 15 simp2d ( 𝜓𝐺𝑁 )
62 61 adantr ( ( 𝜓𝑤𝑁 ) → 𝐺𝑁 )
63 nfcv 𝑏 𝐺
64 24 59 60 62 32 41 42 33 63 44 45 34 ovmpodxf ( ( 𝜓𝑤𝑁 ) → ( 𝐺 ( 𝑎𝑁 , 𝑏𝑁 ↦ if ( 𝑎 = 𝐸 , 𝐹 , if ( 𝑎 = 𝐺 , 𝐹 , 𝐻 ) ) ) 𝑤 ) = 𝑤 / 𝑏 𝐹 )
65 46 64 eqtr4d ( ( 𝜓𝑤𝑁 ) → ( 𝐸 ( 𝑎𝑁 , 𝑏𝑁 ↦ if ( 𝑎 = 𝐸 , 𝐹 , if ( 𝑎 = 𝐺 , 𝐹 , 𝐻 ) ) ) 𝑤 ) = ( 𝐺 ( 𝑎𝑁 , 𝑏𝑁 ↦ if ( 𝑎 = 𝐸 , 𝐹 , if ( 𝑎 = 𝐺 , 𝐹 , 𝐻 ) ) ) 𝑤 ) )
66 65 ralrimiva ( 𝜓 → ∀ 𝑤𝑁 ( 𝐸 ( 𝑎𝑁 , 𝑏𝑁 ↦ if ( 𝑎 = 𝐸 , 𝐹 , if ( 𝑎 = 𝐺 , 𝐹 , 𝐻 ) ) ) 𝑤 ) = ( 𝐺 ( 𝑎𝑁 , 𝑏𝑁 ↦ if ( 𝑎 = 𝐸 , 𝐹 , if ( 𝑎 = 𝐺 , 𝐹 , 𝐻 ) ) ) 𝑤 ) )
67 1 2 3 4 5 6 7 8 9 10 11 12 13 mdetunilem1 ( ( ( 𝜑 ∧ ( 𝑎𝑁 , 𝑏𝑁 ↦ if ( 𝑎 = 𝐸 , 𝐹 , if ( 𝑎 = 𝐺 , 𝐹 , 𝐻 ) ) ) ∈ 𝐵 ∧ ∀ 𝑤𝑁 ( 𝐸 ( 𝑎𝑁 , 𝑏𝑁 ↦ if ( 𝑎 = 𝐸 , 𝐹 , if ( 𝑎 = 𝐺 , 𝐹 , 𝐻 ) ) ) 𝑤 ) = ( 𝐺 ( 𝑎𝑁 , 𝑏𝑁 ↦ if ( 𝑎 = 𝐸 , 𝐹 , if ( 𝑎 = 𝐺 , 𝐹 , 𝐻 ) ) ) 𝑤 ) ) ∧ ( 𝐸𝑁𝐺𝑁𝐸𝐺 ) ) → ( 𝐷 ‘ ( 𝑎𝑁 , 𝑏𝑁 ↦ if ( 𝑎 = 𝐸 , 𝐹 , if ( 𝑎 = 𝐺 , 𝐹 , 𝐻 ) ) ) ) = 0 )
68 14 23 66 15 67 syl31anc ( 𝜓 → ( 𝐷 ‘ ( 𝑎𝑁 , 𝑏𝑁 ↦ if ( 𝑎 = 𝐸 , 𝐹 , if ( 𝑎 = 𝐺 , 𝐹 , 𝐻 ) ) ) ) = 0 )