HomeHome Metamath Proof Explorer < Previous   Next >
Related theorems
Unicode version

Theorem xpmapenlem5 4486
Description: Lemma for xpmapen 4487.
Hypotheses
Ref Expression
xpmapen.1 |- A e. V
xpmapen.2 |- B e. V
xpmapen.3 |- C e. V
xpmapenlem.4 |- D = {<.z, w>. | (z e. C /\ w = U.dom {(x` z)})}
xpmapenlem.5 |- R = {<.z, w>. | (z e. C /\ w = U.ran {(x` z)})}
xpmapenlem.6 |- S = {<.z, w>. | (z e. C /\ w = <.(U.dom { y}` z), (U.ran { y}` z)>.)}
Assertion
Ref Expression
xpmapenlem5 |- ((A X. B) ^m C) ~~ ((A ^m C) X. (B ^m C))
Distinct variable groups:   x,y,z,w,A   x,B,y,z,w   x,C,y,z,w   y,D   y,R   x,S

Proof of Theorem xpmapenlem5
StepHypRef Expression
1 oprex 3974 . 2 |- ((A X. B) ^m C) e. V
2 opex 2777 . . 3 |- <.D, R>. e. V
32a1i 8 . 2 |- (x e. ((A X. B) ^m C) -> <.D, R>. e. V)
4 xpmapen.3 . . . 4 |- C e. V
5 xpmapenlem.6 . . . 4 |- S = {<.z, w>. | (z e. C /\ w = <.(U.dom { y}` z), (U.ran { y}` z)>.)}
64, 5fopabex2 3604 . . 3 |- S e. V
76a1i 8 . 2 |- (y e. ((A ^m C) X. (B ^m C)) -> S e. V)
8 xpmapenlem.5 . . . . . . . . . . . 12 |- R = {<.z, w>. | (z e. C /\ w = U.ran {(x` z)})}
94, 8fopabex2 3604 . . . . . . . . . . 11 |- R e. V
109opelxp 3209 . . . . . . . . . 10 |- (<.D, R>. e. (V X. V) <-> (D e. V /\ R e. V))
11 xpmapenlem.4 . . . . . . . . . . 11 |- D = {<.z, w>. | (z e. C /\ w = U.dom {(x` z)})}
124, 11fopabex2 3604 . . . . . . . . . 10 |- D e. V
1310, 12, 9mpbir2an 729 . . . . . . . . 9 |- <.D, R>. e. (V X. V)
14 eleq1 1531 . . . . . . . . 9 |- (y = <.D, R>. -> (y e. (V X. V) <-> <.D, R>. e. (V X. V)))
1513, 14mpbiri 194 . . . . . . . 8 |- (y = <.D, R>. -> y e. (V X. V))
1615adantl 388 . . . . . . 7 |- ((x:C-->(A X. B) /\ y = <.D, R>.) -> y e. (V X. V))
17 elxp4 3445 . . . . . . . 8 |- (y e. (V X. V) <-> (y = <.U.dom { y}, U.ran { y}>. /\ (U.dom { y} e. V /\ U.ran { y} e. V)))
1817pm3.26bi 322 . . . . . . 7 |- (y e. (V X. V) -> y = <.U.dom { y}, U.ran { y}>.)
1916, 18syl 10 . . . . . 6 |- ((x:C-->(A X. B) /\ y = <.D, R>.) -> y = <.U.dom { y}, U.ran { y}>.)
2012op1sta 3440 . . . . . . . . . . 11 |- U.dom {<.D, R>.} = D
21 sneq 2413 . . . . . . . . . . . . 13 |- (y = <.D, R>. -> {y} = {<.D, R>.})
2221dmeqd 3308 . . . . . . . . . . . 12 |- (y = <.D, R>. -> dom { y} = dom {<.D, R>.})
2322unieqd 2507 . . . . . . . . . . 11 |- (y = <.D, R>. -> U.dom { y} = U.dom {<.D, R>.})
24 xpmapen.1 . . . . . . . . . . . . . . 15 |- A e. V
25 xpmapen.2 . . . . . . . . . . . . . . 15 |- B e. V
2624, 25, 4, 11, 8, 5xpmapenlem1 4482 . . . . . . . . . . . . . 14 |- ((y = <.D, R>. -> A.z y = <.D, R>.) /\ (y = <.D, R>. -> A.w y = <.D, R>.))
2726pm3.26i 320 . . . . . . . . . . . . 13 |- (y = <.D, R>. -> A.z y = <.D, R>.)
2826pm3.27i 324 . . . . . . . . . . . . 13 |- (y = <.D, R>. -> A.w y = <.D, R>.)
2924, 25, 4, 11, 8, 5xpmapenlem2 4483 . . . . . . . . . . . . . . . 16 |- ((y = <.D, R>. /\ z e. C) -> ((U.dom { y}` z) = U.dom {(x` z)} /\ (U.ran { y}` z) = U.ran {(x` z)}))
3029pm3.26d 321 . . . . . . . . . . . . . . 15 |- ((y = <.D, R>. /\ z e. C) -> (U.dom { y}` z) = U.dom {(x` z)})
3130eqeq2d 1483 . . . . . . . . . . . . . 14 |- ((y = <.D, R>. /\ z e. C) -> (w = (U.dom { y}` z) <-> w = U.dom {(x` z)}))
3231pm5.32da 648 . . . . . . . . . . . . 13 |- (y = <.D, R>. -> ((z e. C /\ w = (U.dom { y}` z)) <-> (z e. C /\ w = U.dom {(x` z)})))
3327, 28, 32opabbid 2664 . . . . . . . . . . . 12 |- (y = <.D, R>. -> {<.z, w>. | (z e. C /\ w = (U.dom { y}` z))} = {<.z, w>. | (z e. C /\ w = U.dom {(x` z)})})
3433, 11syl6eqr 1522 . . . . . . . . . . 11 |- (y = <.D, R>. -> {<.z, w>. | (z e. C /\ w = (U.dom { y}` z))} = D)
3520, 23, 343eqtr4a 1529 . . . . . . . . . 10 |- (y = <.D, R>. -> U.dom { y} = {<.z, w>. | (z e. C /\ w = (U.dom { y}` z))})
3612, 9op2nda 3444 . . . . . . . . . . 11 |- U.ran {<.D, R>.} = R
3721rneqd 3336 . . . . . . . . . . . 12 |- (y = <.D, R>. -> ran { y} = ran {<.D, R>.})
3837unieqd 2507 . . . . . . . . . . 11 |- (y = <.D, R>. -> U.ran { y} = U.ran {<.D, R>.})
3929pm3.27d 325 . . . . . . . . . . . . . . 15 |- ((y = <.D, R>. /\ z e. C) -> (U.ran { y}` z) = U.ran {(x` z)})
4039eqeq2d 1483 . . . . . . . . . . . . . 14 |- ((y = <.D, R>. /\ z e. C) -> (w = (U.ran { y}` z) <-> w = U.ran {(x` z)}))
4140pm5.32da 648 . . . . . . . . . . . . 13 |- (y = <.D, R>. -> ((z e. C /\ w = (U.ran { y}` z)) <-> (z e. C /\ w = U.ran {(x` z)})))
4227, 28, 41opabbid 2664 . . . . . . . . . . . 12 |- (y = <.D, R>. -> {<.z, w>. | (z e. C /\ w = (U.ran { y}` z))} = {<.z, w>. | (z e. C /\ w = U.ran {(x` z)})})
4342, 8syl6eqr 1522 . . . . . . . . . . 11 |- (y = <.D, R>. -> {<.z, w>. | (z e. C /\ w = (U.ran { y}` z))} = R)
4436, 38, 433eqtr4a 1529 . . . . . . . . . 10 |- (y = <.D, R>. -> U.ran { y} = {<.z, w>. | (z e. C /\ w = (U.ran { y}` z))})
4535, 44jca 288 . . . . . . . . 9 |- (y = <.D, R>. -> (U.dom { y} = {<.z, w>. | (z e. C /\ w = (U.dom { y}` z))} /\ U.ran { y} = {<.z, w>. | (z e. C /\ w = (U.ran { y}` z))}))
4645adantl 388 . . . . . . . 8 |- ((x:C-->(A X. B) /\ y = <.D, R>.) -> (U.dom { y} = {<.z, w>. | (z e. C /\ w = (U.dom { y}` z))} /\ U.ran { y} = {<.z, w>. | (z e. C /\ w = (U.ran { y}` z))}))
47 ffvelrn 3805 . . . . . . . . . . 11 |- ((x:C-->(A X. B) /\ z e. C) -> (x` z) e. (A X. B))
4847r19.21aiva 1711 . . . . . . . . . 10 |- (x:C-->(A X. B) -> A.z e. C (x` z) e. (A X. B))
4948adantr 389 . . . . . . . . 9 |- ((x:C-->(A X. B) /\ y = <.D, R>.) -> A.z e. C (x` z) e. (A X. B))
50 ax-17 969 . . . . . . . . . . . 12 |- (x:C-->(A X. B) -> A.z x:C-->(A X. B))
5150, 27hban 1007 . . . . . . . . . . 11 |- ((x:C-->(A X. B) /\ y = <.D, R>.) -> A.z(x:C-->(A X. B) /\ y = <.D, R>.))
5224, 25, 4, 11, 8, 5xpmapenlem3 4484 . . . . . . . . . . . . . . 15 |- ((x:C-->(A X. B) /\ y = <.D, R>.) -> x = S)
5352fveq1d 3717 . . . . . . . . . . . . . 14 |- ((x:C-->(A X. B) /\ y = <.D, R>.) -> (x` z) = (S` z))
54 opex 2777 . . . . . . . . . . . . . . . 16 |- <.(U.dom { y}` z), (U.ran { y}` z)>. e. V
55 fvopab2 3782 . . . . . . . . . . . . . . . 16 |- ((z e. C /\ <.(U.dom { y}` z), (U.ran { y}` z)>. e. V) -> ({<.z, w>. | (z e. C /\ w = <.(U.dom { y}` z), (U.ran { y}` z)>.)}` z) = <.(U.dom { y}` z), (U.ran { y}` z)>.)
5654, 55mpan2 695 . . . . . . . . . . . . . . 15 |- (z e. C -> ({<.z, w>. | (z e. C /\ w = <.(U.dom { y}` z), (U.ran { y}` z)>.)}` z) = <.(U.dom { y}` z), (U.ran { y}` z)>.)
575fveq1i 3716 . . . . . . . . . . . . . . 15 |- (S` z) = ({<.z, w>. | (z e. C /\ w = <.(U.dom { y