Metamath Proof Explorer


Theorem mpoeq123

Description: An equality theorem for the maps-to notation. (Contributed by Mario Carneiro, 16-Dec-2013) (Revised by Mario Carneiro, 19-Mar-2015)

Ref Expression
Assertion mpoeq123
|- ( ( A = D /\ A. x e. A ( B = E /\ A. y e. B C = F ) ) -> ( x e. A , y e. B |-> C ) = ( x e. D , y e. E |-> F ) )

Proof

Step Hyp Ref Expression
1 nfv
 |-  F/ x A = D
2 nfra1
 |-  F/ x A. x e. A ( B = E /\ A. y e. B C = F )
3 1 2 nfan
 |-  F/ x ( A = D /\ A. x e. A ( B = E /\ A. y e. B C = F ) )
4 nfv
 |-  F/ y A = D
5 nfcv
 |-  F/_ y A
6 nfv
 |-  F/ y B = E
7 nfra1
 |-  F/ y A. y e. B C = F
8 6 7 nfan
 |-  F/ y ( B = E /\ A. y e. B C = F )
9 5 8 nfralw
 |-  F/ y A. x e. A ( B = E /\ A. y e. B C = F )
10 4 9 nfan
 |-  F/ y ( A = D /\ A. x e. A ( B = E /\ A. y e. B C = F ) )
11 nfv
 |-  F/ z ( A = D /\ A. x e. A ( B = E /\ A. y e. B C = F ) )
12 rsp
 |-  ( A. x e. A ( B = E /\ A. y e. B C = F ) -> ( x e. A -> ( B = E /\ A. y e. B C = F ) ) )
13 rsp
 |-  ( A. y e. B C = F -> ( y e. B -> C = F ) )
14 eqeq2
 |-  ( C = F -> ( z = C <-> z = F ) )
15 13 14 syl6
 |-  ( A. y e. B C = F -> ( y e. B -> ( z = C <-> z = F ) ) )
16 15 pm5.32d
 |-  ( A. y e. B C = F -> ( ( y e. B /\ z = C ) <-> ( y e. B /\ z = F ) ) )
17 eleq2
 |-  ( B = E -> ( y e. B <-> y e. E ) )
18 17 anbi1d
 |-  ( B = E -> ( ( y e. B /\ z = F ) <-> ( y e. E /\ z = F ) ) )
19 16 18 sylan9bbr
 |-  ( ( B = E /\ A. y e. B C = F ) -> ( ( y e. B /\ z = C ) <-> ( y e. E /\ z = F ) ) )
20 12 19 syl6
 |-  ( A. x e. A ( B = E /\ A. y e. B C = F ) -> ( x e. A -> ( ( y e. B /\ z = C ) <-> ( y e. E /\ z = F ) ) ) )
21 20 pm5.32d
 |-  ( A. x e. A ( B = E /\ A. y e. B C = F ) -> ( ( x e. A /\ ( y e. B /\ z = C ) ) <-> ( x e. A /\ ( y e. E /\ z = F ) ) ) )
22 eleq2
 |-  ( A = D -> ( x e. A <-> x e. D ) )
23 22 anbi1d
 |-  ( A = D -> ( ( x e. A /\ ( y e. E /\ z = F ) ) <-> ( x e. D /\ ( y e. E /\ z = F ) ) ) )
24 21 23 sylan9bbr
 |-  ( ( A = D /\ A. x e. A ( B = E /\ A. y e. B C = F ) ) -> ( ( x e. A /\ ( y e. B /\ z = C ) ) <-> ( x e. D /\ ( y e. E /\ z = F ) ) ) )
25 anass
 |-  ( ( ( x e. A /\ y e. B ) /\ z = C ) <-> ( x e. A /\ ( y e. B /\ z = C ) ) )
26 anass
 |-  ( ( ( x e. D /\ y e. E ) /\ z = F ) <-> ( x e. D /\ ( y e. E /\ z = F ) ) )
27 24 25 26 3bitr4g
 |-  ( ( A = D /\ A. x e. A ( B = E /\ A. y e. B C = F ) ) -> ( ( ( x e. A /\ y e. B ) /\ z = C ) <-> ( ( x e. D /\ y e. E ) /\ z = F ) ) )
28 3 10 11 27 oprabbid
 |-  ( ( A = D /\ A. x e. A ( B = E /\ A. y e. B C = F ) ) -> { <. <. x , y >. , z >. | ( ( x e. A /\ y e. B ) /\ z = C ) } = { <. <. x , y >. , z >. | ( ( x e. D /\ y e. E ) /\ z = F ) } )
29 df-mpo
 |-  ( x e. A , y e. B |-> C ) = { <. <. x , y >. , z >. | ( ( x e. A /\ y e. B ) /\ z = C ) }
30 df-mpo
 |-  ( x e. D , y e. E |-> F ) = { <. <. x , y >. , z >. | ( ( x e. D /\ y e. E ) /\ z = F ) }
31 28 29 30 3eqtr4g
 |-  ( ( A = D /\ A. x e. A ( B = E /\ A. y e. B C = F ) ) -> ( x e. A , y e. B |-> C ) = ( x e. D , y e. E |-> F ) )