Metamath Proof Explorer


Theorem fparlem4

Description: Lemma for fpar . (Contributed by NM, 22-Dec-2008) (Revised by Mario Carneiro, 28-Apr-2015)

Ref Expression
Assertion fparlem4 ( 𝐺 Fn 𝐵 → ( ( 2nd ↾ ( V × V ) ) ∘ ( 𝐺 ∘ ( 2nd ↾ ( V × V ) ) ) ) = 𝑦𝐵 ( ( V × { 𝑦 } ) × ( V × { ( 𝐺𝑦 ) } ) ) )

Proof

Step Hyp Ref Expression
1 coiun ( ( 2nd ↾ ( V × V ) ) ∘ 𝑦𝐵 ( ( ( 2nd ↾ ( V × V ) ) “ { 𝑦 } ) × ( 𝐺 “ { 𝑦 } ) ) ) = 𝑦𝐵 ( ( 2nd ↾ ( V × V ) ) ∘ ( ( ( 2nd ↾ ( V × V ) ) “ { 𝑦 } ) × ( 𝐺 “ { 𝑦 } ) ) )
2 inss1 ( dom 𝐺 ∩ ran ( 2nd ↾ ( V × V ) ) ) ⊆ dom 𝐺
3 fndm ( 𝐺 Fn 𝐵 → dom 𝐺 = 𝐵 )
4 2 3 sseqtrid ( 𝐺 Fn 𝐵 → ( dom 𝐺 ∩ ran ( 2nd ↾ ( V × V ) ) ) ⊆ 𝐵 )
5 dfco2a ( ( dom 𝐺 ∩ ran ( 2nd ↾ ( V × V ) ) ) ⊆ 𝐵 → ( 𝐺 ∘ ( 2nd ↾ ( V × V ) ) ) = 𝑦𝐵 ( ( ( 2nd ↾ ( V × V ) ) “ { 𝑦 } ) × ( 𝐺 “ { 𝑦 } ) ) )
6 4 5 syl ( 𝐺 Fn 𝐵 → ( 𝐺 ∘ ( 2nd ↾ ( V × V ) ) ) = 𝑦𝐵 ( ( ( 2nd ↾ ( V × V ) ) “ { 𝑦 } ) × ( 𝐺 “ { 𝑦 } ) ) )
7 6 coeq2d ( 𝐺 Fn 𝐵 → ( ( 2nd ↾ ( V × V ) ) ∘ ( 𝐺 ∘ ( 2nd ↾ ( V × V ) ) ) ) = ( ( 2nd ↾ ( V × V ) ) ∘ 𝑦𝐵 ( ( ( 2nd ↾ ( V × V ) ) “ { 𝑦 } ) × ( 𝐺 “ { 𝑦 } ) ) ) )
8 inss1 ( dom ( { ( 𝐺𝑦 ) } × ( V × { 𝑦 } ) ) ∩ ran ( 2nd ↾ ( V × V ) ) ) ⊆ dom ( { ( 𝐺𝑦 ) } × ( V × { 𝑦 } ) )
9 dmxpss dom ( { ( 𝐺𝑦 ) } × ( V × { 𝑦 } ) ) ⊆ { ( 𝐺𝑦 ) }
10 8 9 sstri ( dom ( { ( 𝐺𝑦 ) } × ( V × { 𝑦 } ) ) ∩ ran ( 2nd ↾ ( V × V ) ) ) ⊆ { ( 𝐺𝑦 ) }
11 dfco2a ( ( dom ( { ( 𝐺𝑦 ) } × ( V × { 𝑦 } ) ) ∩ ran ( 2nd ↾ ( V × V ) ) ) ⊆ { ( 𝐺𝑦 ) } → ( ( { ( 𝐺𝑦 ) } × ( V × { 𝑦 } ) ) ∘ ( 2nd ↾ ( V × V ) ) ) = 𝑥 ∈ { ( 𝐺𝑦 ) } ( ( ( 2nd ↾ ( V × V ) ) “ { 𝑥 } ) × ( ( { ( 𝐺𝑦 ) } × ( V × { 𝑦 } ) ) “ { 𝑥 } ) ) )
12 10 11 ax-mp ( ( { ( 𝐺𝑦 ) } × ( V × { 𝑦 } ) ) ∘ ( 2nd ↾ ( V × V ) ) ) = 𝑥 ∈ { ( 𝐺𝑦 ) } ( ( ( 2nd ↾ ( V × V ) ) “ { 𝑥 } ) × ( ( { ( 𝐺𝑦 ) } × ( V × { 𝑦 } ) ) “ { 𝑥 } ) )
13 fvex ( 𝐺𝑦 ) ∈ V
14 fparlem2 ( ( 2nd ↾ ( V × V ) ) “ { 𝑥 } ) = ( V × { 𝑥 } )
15 sneq ( 𝑥 = ( 𝐺𝑦 ) → { 𝑥 } = { ( 𝐺𝑦 ) } )
16 15 xpeq2d ( 𝑥 = ( 𝐺𝑦 ) → ( V × { 𝑥 } ) = ( V × { ( 𝐺𝑦 ) } ) )
17 14 16 eqtrid ( 𝑥 = ( 𝐺𝑦 ) → ( ( 2nd ↾ ( V × V ) ) “ { 𝑥 } ) = ( V × { ( 𝐺𝑦 ) } ) )
18 15 imaeq2d ( 𝑥 = ( 𝐺𝑦 ) → ( ( { ( 𝐺𝑦 ) } × ( V × { 𝑦 } ) ) “ { 𝑥 } ) = ( ( { ( 𝐺𝑦 ) } × ( V × { 𝑦 } ) ) “ { ( 𝐺𝑦 ) } ) )
19 df-ima ( ( { ( 𝐺𝑦 ) } × ( V × { 𝑦 } ) ) “ { ( 𝐺𝑦 ) } ) = ran ( ( { ( 𝐺𝑦 ) } × ( V × { 𝑦 } ) ) ↾ { ( 𝐺𝑦 ) } )
20 ssid { ( 𝐺𝑦 ) } ⊆ { ( 𝐺𝑦 ) }
21 xpssres ( { ( 𝐺𝑦 ) } ⊆ { ( 𝐺𝑦 ) } → ( ( { ( 𝐺𝑦 ) } × ( V × { 𝑦 } ) ) ↾ { ( 𝐺𝑦 ) } ) = ( { ( 𝐺𝑦 ) } × ( V × { 𝑦 } ) ) )
22 20 21 ax-mp ( ( { ( 𝐺𝑦 ) } × ( V × { 𝑦 } ) ) ↾ { ( 𝐺𝑦 ) } ) = ( { ( 𝐺𝑦 ) } × ( V × { 𝑦 } ) )
23 22 rneqi ran ( ( { ( 𝐺𝑦 ) } × ( V × { 𝑦 } ) ) ↾ { ( 𝐺𝑦 ) } ) = ran ( { ( 𝐺𝑦 ) } × ( V × { 𝑦 } ) )
24 13 snnz { ( 𝐺𝑦 ) } ≠ ∅
25 rnxp ( { ( 𝐺𝑦 ) } ≠ ∅ → ran ( { ( 𝐺𝑦 ) } × ( V × { 𝑦 } ) ) = ( V × { 𝑦 } ) )
26 24 25 ax-mp ran ( { ( 𝐺𝑦 ) } × ( V × { 𝑦 } ) ) = ( V × { 𝑦 } )
27 23 26 eqtri ran ( ( { ( 𝐺𝑦 ) } × ( V × { 𝑦 } ) ) ↾ { ( 𝐺𝑦 ) } ) = ( V × { 𝑦 } )
28 19 27 eqtri ( ( { ( 𝐺𝑦 ) } × ( V × { 𝑦 } ) ) “ { ( 𝐺𝑦 ) } ) = ( V × { 𝑦 } )
29 18 28 eqtrdi ( 𝑥 = ( 𝐺𝑦 ) → ( ( { ( 𝐺𝑦 ) } × ( V × { 𝑦 } ) ) “ { 𝑥 } ) = ( V × { 𝑦 } ) )
30 17 29 xpeq12d ( 𝑥 = ( 𝐺𝑦 ) → ( ( ( 2nd ↾ ( V × V ) ) “ { 𝑥 } ) × ( ( { ( 𝐺𝑦 ) } × ( V × { 𝑦 } ) ) “ { 𝑥 } ) ) = ( ( V × { ( 𝐺𝑦 ) } ) × ( V × { 𝑦 } ) ) )
31 13 30 iunxsn 𝑥 ∈ { ( 𝐺𝑦 ) } ( ( ( 2nd ↾ ( V × V ) ) “ { 𝑥 } ) × ( ( { ( 𝐺𝑦 ) } × ( V × { 𝑦 } ) ) “ { 𝑥 } ) ) = ( ( V × { ( 𝐺𝑦 ) } ) × ( V × { 𝑦 } ) )
32 12 31 eqtri ( ( { ( 𝐺𝑦 ) } × ( V × { 𝑦 } ) ) ∘ ( 2nd ↾ ( V × V ) ) ) = ( ( V × { ( 𝐺𝑦 ) } ) × ( V × { 𝑦 } ) )
33 32 cnveqi ( ( { ( 𝐺𝑦 ) } × ( V × { 𝑦 } ) ) ∘ ( 2nd ↾ ( V × V ) ) ) = ( ( V × { ( 𝐺𝑦 ) } ) × ( V × { 𝑦 } ) )
34 cnvco ( ( { ( 𝐺𝑦 ) } × ( V × { 𝑦 } ) ) ∘ ( 2nd ↾ ( V × V ) ) ) = ( ( 2nd ↾ ( V × V ) ) ∘ ( { ( 𝐺𝑦 ) } × ( V × { 𝑦 } ) ) )
35 cnvxp ( ( V × { ( 𝐺𝑦 ) } ) × ( V × { 𝑦 } ) ) = ( ( V × { 𝑦 } ) × ( V × { ( 𝐺𝑦 ) } ) )
36 33 34 35 3eqtr3i ( ( 2nd ↾ ( V × V ) ) ∘ ( { ( 𝐺𝑦 ) } × ( V × { 𝑦 } ) ) ) = ( ( V × { 𝑦 } ) × ( V × { ( 𝐺𝑦 ) } ) )
37 fparlem2 ( ( 2nd ↾ ( V × V ) ) “ { 𝑦 } ) = ( V × { 𝑦 } )
38 37 xpeq2i ( { ( 𝐺𝑦 ) } × ( ( 2nd ↾ ( V × V ) ) “ { 𝑦 } ) ) = ( { ( 𝐺𝑦 ) } × ( V × { 𝑦 } ) )
39 fnsnfv ( ( 𝐺 Fn 𝐵𝑦𝐵 ) → { ( 𝐺𝑦 ) } = ( 𝐺 “ { 𝑦 } ) )
40 39 xpeq1d ( ( 𝐺 Fn 𝐵𝑦𝐵 ) → ( { ( 𝐺𝑦 ) } × ( ( 2nd ↾ ( V × V ) ) “ { 𝑦 } ) ) = ( ( 𝐺 “ { 𝑦 } ) × ( ( 2nd ↾ ( V × V ) ) “ { 𝑦 } ) ) )
41 38 40 eqtr3id ( ( 𝐺 Fn 𝐵𝑦𝐵 ) → ( { ( 𝐺𝑦 ) } × ( V × { 𝑦 } ) ) = ( ( 𝐺 “ { 𝑦 } ) × ( ( 2nd ↾ ( V × V ) ) “ { 𝑦 } ) ) )
42 41 cnveqd ( ( 𝐺 Fn 𝐵𝑦𝐵 ) → ( { ( 𝐺𝑦 ) } × ( V × { 𝑦 } ) ) = ( ( 𝐺 “ { 𝑦 } ) × ( ( 2nd ↾ ( V × V ) ) “ { 𝑦 } ) ) )
43 cnvxp ( ( 𝐺 “ { 𝑦 } ) × ( ( 2nd ↾ ( V × V ) ) “ { 𝑦 } ) ) = ( ( ( 2nd ↾ ( V × V ) ) “ { 𝑦 } ) × ( 𝐺 “ { 𝑦 } ) )
44 42 43 eqtrdi ( ( 𝐺 Fn 𝐵𝑦𝐵 ) → ( { ( 𝐺𝑦 ) } × ( V × { 𝑦 } ) ) = ( ( ( 2nd ↾ ( V × V ) ) “ { 𝑦 } ) × ( 𝐺 “ { 𝑦 } ) ) )
45 44 coeq2d ( ( 𝐺 Fn 𝐵𝑦𝐵 ) → ( ( 2nd ↾ ( V × V ) ) ∘ ( { ( 𝐺𝑦 ) } × ( V × { 𝑦 } ) ) ) = ( ( 2nd ↾ ( V × V ) ) ∘ ( ( ( 2nd ↾ ( V × V ) ) “ { 𝑦 } ) × ( 𝐺 “ { 𝑦 } ) ) ) )
46 36 45 eqtr3id ( ( 𝐺 Fn 𝐵𝑦𝐵 ) → ( ( V × { 𝑦 } ) × ( V × { ( 𝐺𝑦 ) } ) ) = ( ( 2nd ↾ ( V × V ) ) ∘ ( ( ( 2nd ↾ ( V × V ) ) “ { 𝑦 } ) × ( 𝐺 “ { 𝑦 } ) ) ) )
47 46 iuneq2dv ( 𝐺 Fn 𝐵 𝑦𝐵 ( ( V × { 𝑦 } ) × ( V × { ( 𝐺𝑦 ) } ) ) = 𝑦𝐵 ( ( 2nd ↾ ( V × V ) ) ∘ ( ( ( 2nd ↾ ( V × V ) ) “ { 𝑦 } ) × ( 𝐺 “ { 𝑦 } ) ) ) )
48 1 7 47 3eqtr4a ( 𝐺 Fn 𝐵 → ( ( 2nd ↾ ( V × V ) ) ∘ ( 𝐺 ∘ ( 2nd ↾ ( V × V ) ) ) ) = 𝑦𝐵 ( ( V × { 𝑦 } ) × ( V × { ( 𝐺𝑦 ) } ) ) )