Metamath Proof Explorer


Theorem prdsidlem

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

Ref Expression
Hypotheses prdsplusgcl.y 𝑌 = ( 𝑆 Xs 𝑅 )
prdsplusgcl.b 𝐵 = ( Base ‘ 𝑌 )
prdsplusgcl.p + = ( +g𝑌 )
prdsplusgcl.s ( 𝜑𝑆𝑉 )
prdsplusgcl.i ( 𝜑𝐼𝑊 )
prdsplusgcl.r ( 𝜑𝑅 : 𝐼 ⟶ Mnd )
prdsidlem.z 0 = ( 0g𝑅 )
Assertion prdsidlem ( 𝜑 → ( 0𝐵 ∧ ∀ 𝑥𝐵 ( ( 0 + 𝑥 ) = 𝑥 ∧ ( 𝑥 + 0 ) = 𝑥 ) ) )

Proof

Step Hyp Ref Expression
1 prdsplusgcl.y 𝑌 = ( 𝑆 Xs 𝑅 )
2 prdsplusgcl.b 𝐵 = ( Base ‘ 𝑌 )
3 prdsplusgcl.p + = ( +g𝑌 )
4 prdsplusgcl.s ( 𝜑𝑆𝑉 )
5 prdsplusgcl.i ( 𝜑𝐼𝑊 )
6 prdsplusgcl.r ( 𝜑𝑅 : 𝐼 ⟶ Mnd )
7 prdsidlem.z 0 = ( 0g𝑅 )
8 fvexd ( ( 𝜑𝑦𝐼 ) → ( 𝑅𝑦 ) ∈ V )
9 6 feqmptd ( 𝜑𝑅 = ( 𝑦𝐼 ↦ ( 𝑅𝑦 ) ) )
10 fn0g 0g Fn V
11 10 a1i ( 𝜑 → 0g Fn V )
12 dffn5 ( 0g Fn V ↔ 0g = ( 𝑥 ∈ V ↦ ( 0g𝑥 ) ) )
13 11 12 sylib ( 𝜑 → 0g = ( 𝑥 ∈ V ↦ ( 0g𝑥 ) ) )
14 fveq2 ( 𝑥 = ( 𝑅𝑦 ) → ( 0g𝑥 ) = ( 0g ‘ ( 𝑅𝑦 ) ) )
15 8 9 13 14 fmptco ( 𝜑 → ( 0g𝑅 ) = ( 𝑦𝐼 ↦ ( 0g ‘ ( 𝑅𝑦 ) ) ) )
16 7 15 eqtrid ( 𝜑0 = ( 𝑦𝐼 ↦ ( 0g ‘ ( 𝑅𝑦 ) ) ) )
17 6 ffvelrnda ( ( 𝜑𝑦𝐼 ) → ( 𝑅𝑦 ) ∈ Mnd )
18 eqid ( Base ‘ ( 𝑅𝑦 ) ) = ( Base ‘ ( 𝑅𝑦 ) )
19 eqid ( 0g ‘ ( 𝑅𝑦 ) ) = ( 0g ‘ ( 𝑅𝑦 ) )
20 18 19 mndidcl ( ( 𝑅𝑦 ) ∈ Mnd → ( 0g ‘ ( 𝑅𝑦 ) ) ∈ ( Base ‘ ( 𝑅𝑦 ) ) )
21 17 20 syl ( ( 𝜑𝑦𝐼 ) → ( 0g ‘ ( 𝑅𝑦 ) ) ∈ ( Base ‘ ( 𝑅𝑦 ) ) )
22 21 ralrimiva ( 𝜑 → ∀ 𝑦𝐼 ( 0g ‘ ( 𝑅𝑦 ) ) ∈ ( Base ‘ ( 𝑅𝑦 ) ) )
23 6 ffnd ( 𝜑𝑅 Fn 𝐼 )
24 1 2 4 5 23 prdsbasmpt ( 𝜑 → ( ( 𝑦𝐼 ↦ ( 0g ‘ ( 𝑅𝑦 ) ) ) ∈ 𝐵 ↔ ∀ 𝑦𝐼 ( 0g ‘ ( 𝑅𝑦 ) ) ∈ ( Base ‘ ( 𝑅𝑦 ) ) ) )
25 22 24 mpbird ( 𝜑 → ( 𝑦𝐼 ↦ ( 0g ‘ ( 𝑅𝑦 ) ) ) ∈ 𝐵 )
26 16 25 eqeltrd ( 𝜑0𝐵 )
27 7 fveq1i ( 0𝑦 ) = ( ( 0g𝑅 ) ‘ 𝑦 )
28 fvco2 ( ( 𝑅 Fn 𝐼𝑦𝐼 ) → ( ( 0g𝑅 ) ‘ 𝑦 ) = ( 0g ‘ ( 𝑅𝑦 ) ) )
29 23 28 sylan ( ( 𝜑𝑦𝐼 ) → ( ( 0g𝑅 ) ‘ 𝑦 ) = ( 0g ‘ ( 𝑅𝑦 ) ) )
30 27 29 eqtrid ( ( 𝜑𝑦𝐼 ) → ( 0𝑦 ) = ( 0g ‘ ( 𝑅𝑦 ) ) )
31 30 adantlr ( ( ( 𝜑𝑥𝐵 ) ∧ 𝑦𝐼 ) → ( 0𝑦 ) = ( 0g ‘ ( 𝑅𝑦 ) ) )
32 31 oveq1d ( ( ( 𝜑𝑥𝐵 ) ∧ 𝑦𝐼 ) → ( ( 0𝑦 ) ( +g ‘ ( 𝑅𝑦 ) ) ( 𝑥𝑦 ) ) = ( ( 0g ‘ ( 𝑅𝑦 ) ) ( +g ‘ ( 𝑅𝑦 ) ) ( 𝑥𝑦 ) ) )
33 6 adantr ( ( 𝜑𝑥𝐵 ) → 𝑅 : 𝐼 ⟶ Mnd )
34 33 ffvelrnda ( ( ( 𝜑𝑥𝐵 ) ∧ 𝑦𝐼 ) → ( 𝑅𝑦 ) ∈ Mnd )
35 4 ad2antrr ( ( ( 𝜑𝑥𝐵 ) ∧ 𝑦𝐼 ) → 𝑆𝑉 )
36 5 ad2antrr ( ( ( 𝜑𝑥𝐵 ) ∧ 𝑦𝐼 ) → 𝐼𝑊 )
37 23 ad2antrr ( ( ( 𝜑𝑥𝐵 ) ∧ 𝑦𝐼 ) → 𝑅 Fn 𝐼 )
38 simplr ( ( ( 𝜑𝑥𝐵 ) ∧ 𝑦𝐼 ) → 𝑥𝐵 )
39 simpr ( ( ( 𝜑𝑥𝐵 ) ∧ 𝑦𝐼 ) → 𝑦𝐼 )
40 1 2 35 36 37 38 39 prdsbasprj ( ( ( 𝜑𝑥𝐵 ) ∧ 𝑦𝐼 ) → ( 𝑥𝑦 ) ∈ ( Base ‘ ( 𝑅𝑦 ) ) )
41 eqid ( +g ‘ ( 𝑅𝑦 ) ) = ( +g ‘ ( 𝑅𝑦 ) )
42 18 41 19 mndlid ( ( ( 𝑅𝑦 ) ∈ Mnd ∧ ( 𝑥𝑦 ) ∈ ( Base ‘ ( 𝑅𝑦 ) ) ) → ( ( 0g ‘ ( 𝑅𝑦 ) ) ( +g ‘ ( 𝑅𝑦 ) ) ( 𝑥𝑦 ) ) = ( 𝑥𝑦 ) )
43 34 40 42 syl2anc ( ( ( 𝜑𝑥𝐵 ) ∧ 𝑦𝐼 ) → ( ( 0g ‘ ( 𝑅𝑦 ) ) ( +g ‘ ( 𝑅𝑦 ) ) ( 𝑥𝑦 ) ) = ( 𝑥𝑦 ) )
44 32 43 eqtrd ( ( ( 𝜑𝑥𝐵 ) ∧ 𝑦𝐼 ) → ( ( 0𝑦 ) ( +g ‘ ( 𝑅𝑦 ) ) ( 𝑥𝑦 ) ) = ( 𝑥𝑦 ) )
45 44 mpteq2dva ( ( 𝜑𝑥𝐵 ) → ( 𝑦𝐼 ↦ ( ( 0𝑦 ) ( +g ‘ ( 𝑅𝑦 ) ) ( 𝑥𝑦 ) ) ) = ( 𝑦𝐼 ↦ ( 𝑥𝑦 ) ) )
46 4 adantr ( ( 𝜑𝑥𝐵 ) → 𝑆𝑉 )
47 5 adantr ( ( 𝜑𝑥𝐵 ) → 𝐼𝑊 )
48 23 adantr ( ( 𝜑𝑥𝐵 ) → 𝑅 Fn 𝐼 )
49 26 adantr ( ( 𝜑𝑥𝐵 ) → 0𝐵 )
50 simpr ( ( 𝜑𝑥𝐵 ) → 𝑥𝐵 )
51 1 2 46 47 48 49 50 3 prdsplusgval ( ( 𝜑𝑥𝐵 ) → ( 0 + 𝑥 ) = ( 𝑦𝐼 ↦ ( ( 0𝑦 ) ( +g ‘ ( 𝑅𝑦 ) ) ( 𝑥𝑦 ) ) ) )
52 1 2 46 47 48 50 prdsbasfn ( ( 𝜑𝑥𝐵 ) → 𝑥 Fn 𝐼 )
53 dffn5 ( 𝑥 Fn 𝐼𝑥 = ( 𝑦𝐼 ↦ ( 𝑥𝑦 ) ) )
54 52 53 sylib ( ( 𝜑𝑥𝐵 ) → 𝑥 = ( 𝑦𝐼 ↦ ( 𝑥𝑦 ) ) )
55 45 51 54 3eqtr4d ( ( 𝜑𝑥𝐵 ) → ( 0 + 𝑥 ) = 𝑥 )
56 31 oveq2d ( ( ( 𝜑𝑥𝐵 ) ∧ 𝑦𝐼 ) → ( ( 𝑥𝑦 ) ( +g ‘ ( 𝑅𝑦 ) ) ( 0𝑦 ) ) = ( ( 𝑥𝑦 ) ( +g ‘ ( 𝑅𝑦 ) ) ( 0g ‘ ( 𝑅𝑦 ) ) ) )
57 18 41 19 mndrid ( ( ( 𝑅𝑦 ) ∈ Mnd ∧ ( 𝑥𝑦 ) ∈ ( Base ‘ ( 𝑅𝑦 ) ) ) → ( ( 𝑥𝑦 ) ( +g ‘ ( 𝑅𝑦 ) ) ( 0g ‘ ( 𝑅𝑦 ) ) ) = ( 𝑥𝑦 ) )
58 34 40 57 syl2anc ( ( ( 𝜑𝑥𝐵 ) ∧ 𝑦𝐼 ) → ( ( 𝑥𝑦 ) ( +g ‘ ( 𝑅𝑦 ) ) ( 0g ‘ ( 𝑅𝑦 ) ) ) = ( 𝑥𝑦 ) )
59 56 58 eqtrd ( ( ( 𝜑𝑥𝐵 ) ∧ 𝑦𝐼 ) → ( ( 𝑥𝑦 ) ( +g ‘ ( 𝑅𝑦 ) ) ( 0𝑦 ) ) = ( 𝑥𝑦 ) )
60 59 mpteq2dva ( ( 𝜑𝑥𝐵 ) → ( 𝑦𝐼 ↦ ( ( 𝑥𝑦 ) ( +g ‘ ( 𝑅𝑦 ) ) ( 0𝑦 ) ) ) = ( 𝑦𝐼 ↦ ( 𝑥𝑦 ) ) )
61 1 2 46 47 48 50 49 3 prdsplusgval ( ( 𝜑𝑥𝐵 ) → ( 𝑥 + 0 ) = ( 𝑦𝐼 ↦ ( ( 𝑥𝑦 ) ( +g ‘ ( 𝑅𝑦 ) ) ( 0𝑦 ) ) ) )
62 60 61 54 3eqtr4d ( ( 𝜑𝑥𝐵 ) → ( 𝑥 + 0 ) = 𝑥 )
63 55 62 jca ( ( 𝜑𝑥𝐵 ) → ( ( 0 + 𝑥 ) = 𝑥 ∧ ( 𝑥 + 0 ) = 𝑥 ) )
64 63 ralrimiva ( 𝜑 → ∀ 𝑥𝐵 ( ( 0 + 𝑥 ) = 𝑥 ∧ ( 𝑥 + 0 ) = 𝑥 ) )
65 26 64 jca ( 𝜑 → ( 0𝐵 ∧ ∀ 𝑥𝐵 ( ( 0 + 𝑥 ) = 𝑥 ∧ ( 𝑥 + 0 ) = 𝑥 ) ) )