Metamath Proof Explorer


Theorem prdsinvlem

Description: Characterization of inverses in a structure product. (Contributed by Mario Carneiro, 10-Jan-2015)

Ref Expression
Hypotheses prdsinvlem.y 𝑌 = ( 𝑆 Xs 𝑅 )
prdsinvlem.b 𝐵 = ( Base ‘ 𝑌 )
prdsinvlem.p + = ( +g𝑌 )
prdsinvlem.s ( 𝜑𝑆𝑉 )
prdsinvlem.i ( 𝜑𝐼𝑊 )
prdsinvlem.r ( 𝜑𝑅 : 𝐼 ⟶ Grp )
prdsinvlem.f ( 𝜑𝐹𝐵 )
prdsinvlem.z 0 = ( 0g𝑅 )
prdsinvlem.n 𝑁 = ( 𝑦𝐼 ↦ ( ( invg ‘ ( 𝑅𝑦 ) ) ‘ ( 𝐹𝑦 ) ) )
Assertion prdsinvlem ( 𝜑 → ( 𝑁𝐵 ∧ ( 𝑁 + 𝐹 ) = 0 ) )

Proof

Step Hyp Ref Expression
1 prdsinvlem.y 𝑌 = ( 𝑆 Xs 𝑅 )
2 prdsinvlem.b 𝐵 = ( Base ‘ 𝑌 )
3 prdsinvlem.p + = ( +g𝑌 )
4 prdsinvlem.s ( 𝜑𝑆𝑉 )
5 prdsinvlem.i ( 𝜑𝐼𝑊 )
6 prdsinvlem.r ( 𝜑𝑅 : 𝐼 ⟶ Grp )
7 prdsinvlem.f ( 𝜑𝐹𝐵 )
8 prdsinvlem.z 0 = ( 0g𝑅 )
9 prdsinvlem.n 𝑁 = ( 𝑦𝐼 ↦ ( ( invg ‘ ( 𝑅𝑦 ) ) ‘ ( 𝐹𝑦 ) ) )
10 6 ffvelrnda ( ( 𝜑𝑦𝐼 ) → ( 𝑅𝑦 ) ∈ Grp )
11 4 adantr ( ( 𝜑𝑦𝐼 ) → 𝑆𝑉 )
12 5 adantr ( ( 𝜑𝑦𝐼 ) → 𝐼𝑊 )
13 6 ffnd ( 𝜑𝑅 Fn 𝐼 )
14 13 adantr ( ( 𝜑𝑦𝐼 ) → 𝑅 Fn 𝐼 )
15 7 adantr ( ( 𝜑𝑦𝐼 ) → 𝐹𝐵 )
16 simpr ( ( 𝜑𝑦𝐼 ) → 𝑦𝐼 )
17 1 2 11 12 14 15 16 prdsbasprj ( ( 𝜑𝑦𝐼 ) → ( 𝐹𝑦 ) ∈ ( Base ‘ ( 𝑅𝑦 ) ) )
18 eqid ( Base ‘ ( 𝑅𝑦 ) ) = ( Base ‘ ( 𝑅𝑦 ) )
19 eqid ( invg ‘ ( 𝑅𝑦 ) ) = ( invg ‘ ( 𝑅𝑦 ) )
20 18 19 grpinvcl ( ( ( 𝑅𝑦 ) ∈ Grp ∧ ( 𝐹𝑦 ) ∈ ( Base ‘ ( 𝑅𝑦 ) ) ) → ( ( invg ‘ ( 𝑅𝑦 ) ) ‘ ( 𝐹𝑦 ) ) ∈ ( Base ‘ ( 𝑅𝑦 ) ) )
21 10 17 20 syl2anc ( ( 𝜑𝑦𝐼 ) → ( ( invg ‘ ( 𝑅𝑦 ) ) ‘ ( 𝐹𝑦 ) ) ∈ ( Base ‘ ( 𝑅𝑦 ) ) )
22 21 ralrimiva ( 𝜑 → ∀ 𝑦𝐼 ( ( invg ‘ ( 𝑅𝑦 ) ) ‘ ( 𝐹𝑦 ) ) ∈ ( Base ‘ ( 𝑅𝑦 ) ) )
23 1 2 4 5 13 prdsbasmpt ( 𝜑 → ( ( 𝑦𝐼 ↦ ( ( invg ‘ ( 𝑅𝑦 ) ) ‘ ( 𝐹𝑦 ) ) ) ∈ 𝐵 ↔ ∀ 𝑦𝐼 ( ( invg ‘ ( 𝑅𝑦 ) ) ‘ ( 𝐹𝑦 ) ) ∈ ( Base ‘ ( 𝑅𝑦 ) ) ) )
24 22 23 mpbird ( 𝜑 → ( 𝑦𝐼 ↦ ( ( invg ‘ ( 𝑅𝑦 ) ) ‘ ( 𝐹𝑦 ) ) ) ∈ 𝐵 )
25 9 24 eqeltrid ( 𝜑𝑁𝐵 )
26 6 ffvelrnda ( ( 𝜑𝑥𝐼 ) → ( 𝑅𝑥 ) ∈ Grp )
27 4 adantr ( ( 𝜑𝑥𝐼 ) → 𝑆𝑉 )
28 5 adantr ( ( 𝜑𝑥𝐼 ) → 𝐼𝑊 )
29 13 adantr ( ( 𝜑𝑥𝐼 ) → 𝑅 Fn 𝐼 )
30 7 adantr ( ( 𝜑𝑥𝐼 ) → 𝐹𝐵 )
31 simpr ( ( 𝜑𝑥𝐼 ) → 𝑥𝐼 )
32 1 2 27 28 29 30 31 prdsbasprj ( ( 𝜑𝑥𝐼 ) → ( 𝐹𝑥 ) ∈ ( Base ‘ ( 𝑅𝑥 ) ) )
33 eqid ( Base ‘ ( 𝑅𝑥 ) ) = ( Base ‘ ( 𝑅𝑥 ) )
34 eqid ( +g ‘ ( 𝑅𝑥 ) ) = ( +g ‘ ( 𝑅𝑥 ) )
35 eqid ( 0g ‘ ( 𝑅𝑥 ) ) = ( 0g ‘ ( 𝑅𝑥 ) )
36 eqid ( invg ‘ ( 𝑅𝑥 ) ) = ( invg ‘ ( 𝑅𝑥 ) )
37 33 34 35 36 grplinv ( ( ( 𝑅𝑥 ) ∈ Grp ∧ ( 𝐹𝑥 ) ∈ ( Base ‘ ( 𝑅𝑥 ) ) ) → ( ( ( invg ‘ ( 𝑅𝑥 ) ) ‘ ( 𝐹𝑥 ) ) ( +g ‘ ( 𝑅𝑥 ) ) ( 𝐹𝑥 ) ) = ( 0g ‘ ( 𝑅𝑥 ) ) )
38 26 32 37 syl2anc ( ( 𝜑𝑥𝐼 ) → ( ( ( invg ‘ ( 𝑅𝑥 ) ) ‘ ( 𝐹𝑥 ) ) ( +g ‘ ( 𝑅𝑥 ) ) ( 𝐹𝑥 ) ) = ( 0g ‘ ( 𝑅𝑥 ) ) )
39 2fveq3 ( 𝑦 = 𝑥 → ( invg ‘ ( 𝑅𝑦 ) ) = ( invg ‘ ( 𝑅𝑥 ) ) )
40 fveq2 ( 𝑦 = 𝑥 → ( 𝐹𝑦 ) = ( 𝐹𝑥 ) )
41 39 40 fveq12d ( 𝑦 = 𝑥 → ( ( invg ‘ ( 𝑅𝑦 ) ) ‘ ( 𝐹𝑦 ) ) = ( ( invg ‘ ( 𝑅𝑥 ) ) ‘ ( 𝐹𝑥 ) ) )
42 fvex ( ( invg ‘ ( 𝑅𝑥 ) ) ‘ ( 𝐹𝑥 ) ) ∈ V
43 41 9 42 fvmpt ( 𝑥𝐼 → ( 𝑁𝑥 ) = ( ( invg ‘ ( 𝑅𝑥 ) ) ‘ ( 𝐹𝑥 ) ) )
44 43 adantl ( ( 𝜑𝑥𝐼 ) → ( 𝑁𝑥 ) = ( ( invg ‘ ( 𝑅𝑥 ) ) ‘ ( 𝐹𝑥 ) ) )
45 44 oveq1d ( ( 𝜑𝑥𝐼 ) → ( ( 𝑁𝑥 ) ( +g ‘ ( 𝑅𝑥 ) ) ( 𝐹𝑥 ) ) = ( ( ( invg ‘ ( 𝑅𝑥 ) ) ‘ ( 𝐹𝑥 ) ) ( +g ‘ ( 𝑅𝑥 ) ) ( 𝐹𝑥 ) ) )
46 8 fveq1i ( 0𝑥 ) = ( ( 0g𝑅 ) ‘ 𝑥 )
47 fvco2 ( ( 𝑅 Fn 𝐼𝑥𝐼 ) → ( ( 0g𝑅 ) ‘ 𝑥 ) = ( 0g ‘ ( 𝑅𝑥 ) ) )
48 13 47 sylan ( ( 𝜑𝑥𝐼 ) → ( ( 0g𝑅 ) ‘ 𝑥 ) = ( 0g ‘ ( 𝑅𝑥 ) ) )
49 46 48 eqtrid ( ( 𝜑𝑥𝐼 ) → ( 0𝑥 ) = ( 0g ‘ ( 𝑅𝑥 ) ) )
50 38 45 49 3eqtr4d ( ( 𝜑𝑥𝐼 ) → ( ( 𝑁𝑥 ) ( +g ‘ ( 𝑅𝑥 ) ) ( 𝐹𝑥 ) ) = ( 0𝑥 ) )
51 50 mpteq2dva ( 𝜑 → ( 𝑥𝐼 ↦ ( ( 𝑁𝑥 ) ( +g ‘ ( 𝑅𝑥 ) ) ( 𝐹𝑥 ) ) ) = ( 𝑥𝐼 ↦ ( 0𝑥 ) ) )
52 1 2 4 5 13 25 7 3 prdsplusgval ( 𝜑 → ( 𝑁 + 𝐹 ) = ( 𝑥𝐼 ↦ ( ( 𝑁𝑥 ) ( +g ‘ ( 𝑅𝑥 ) ) ( 𝐹𝑥 ) ) ) )
53 fn0g 0g Fn V
54 ssv ran 𝑅 ⊆ V
55 54 a1i ( 𝜑 → ran 𝑅 ⊆ V )
56 fnco ( ( 0g Fn V ∧ 𝑅 Fn 𝐼 ∧ ran 𝑅 ⊆ V ) → ( 0g𝑅 ) Fn 𝐼 )
57 53 13 55 56 mp3an2i ( 𝜑 → ( 0g𝑅 ) Fn 𝐼 )
58 8 fneq1i ( 0 Fn 𝐼 ↔ ( 0g𝑅 ) Fn 𝐼 )
59 57 58 sylibr ( 𝜑0 Fn 𝐼 )
60 dffn5 ( 0 Fn 𝐼0 = ( 𝑥𝐼 ↦ ( 0𝑥 ) ) )
61 59 60 sylib ( 𝜑0 = ( 𝑥𝐼 ↦ ( 0𝑥 ) ) )
62 51 52 61 3eqtr4d ( 𝜑 → ( 𝑁 + 𝐹 ) = 0 )
63 25 62 jca ( 𝜑 → ( 𝑁𝐵 ∧ ( 𝑁 + 𝐹 ) = 0 ) )