Step |
Hyp |
Ref |
Expression |
1 |
|
2arymaptf.h |
|- H = ( h e. ( 2 -aryF X ) |-> ( x e. X , y e. X |-> ( h ` { <. 0 , x >. , <. 1 , y >. } ) ) ) |
2 |
|
simplr |
|- ( ( ( X e. V /\ h e. ( 2 -aryF X ) ) /\ z e. ( X X. X ) ) -> h e. ( 2 -aryF X ) ) |
3 |
|
xp1st |
|- ( z e. ( X X. X ) -> ( 1st ` z ) e. X ) |
4 |
3
|
adantl |
|- ( ( ( X e. V /\ h e. ( 2 -aryF X ) ) /\ z e. ( X X. X ) ) -> ( 1st ` z ) e. X ) |
5 |
|
xp2nd |
|- ( z e. ( X X. X ) -> ( 2nd ` z ) e. X ) |
6 |
5
|
adantl |
|- ( ( ( X e. V /\ h e. ( 2 -aryF X ) ) /\ z e. ( X X. X ) ) -> ( 2nd ` z ) e. X ) |
7 |
|
fv2arycl |
|- ( ( h e. ( 2 -aryF X ) /\ ( 1st ` z ) e. X /\ ( 2nd ` z ) e. X ) -> ( h ` { <. 0 , ( 1st ` z ) >. , <. 1 , ( 2nd ` z ) >. } ) e. X ) |
8 |
2 4 6 7
|
syl3anc |
|- ( ( ( X e. V /\ h e. ( 2 -aryF X ) ) /\ z e. ( X X. X ) ) -> ( h ` { <. 0 , ( 1st ` z ) >. , <. 1 , ( 2nd ` z ) >. } ) e. X ) |
9 |
|
vex |
|- x e. _V |
10 |
|
vex |
|- y e. _V |
11 |
9 10
|
op1std |
|- ( z = <. x , y >. -> ( 1st ` z ) = x ) |
12 |
11
|
opeq2d |
|- ( z = <. x , y >. -> <. 0 , ( 1st ` z ) >. = <. 0 , x >. ) |
13 |
9 10
|
op2ndd |
|- ( z = <. x , y >. -> ( 2nd ` z ) = y ) |
14 |
13
|
opeq2d |
|- ( z = <. x , y >. -> <. 1 , ( 2nd ` z ) >. = <. 1 , y >. ) |
15 |
12 14
|
preq12d |
|- ( z = <. x , y >. -> { <. 0 , ( 1st ` z ) >. , <. 1 , ( 2nd ` z ) >. } = { <. 0 , x >. , <. 1 , y >. } ) |
16 |
15
|
fveq2d |
|- ( z = <. x , y >. -> ( h ` { <. 0 , ( 1st ` z ) >. , <. 1 , ( 2nd ` z ) >. } ) = ( h ` { <. 0 , x >. , <. 1 , y >. } ) ) |
17 |
16
|
mpompt |
|- ( z e. ( X X. X ) |-> ( h ` { <. 0 , ( 1st ` z ) >. , <. 1 , ( 2nd ` z ) >. } ) ) = ( x e. X , y e. X |-> ( h ` { <. 0 , x >. , <. 1 , y >. } ) ) |
18 |
17
|
eqcomi |
|- ( x e. X , y e. X |-> ( h ` { <. 0 , x >. , <. 1 , y >. } ) ) = ( z e. ( X X. X ) |-> ( h ` { <. 0 , ( 1st ` z ) >. , <. 1 , ( 2nd ` z ) >. } ) ) |
19 |
8 18
|
fmptd |
|- ( ( X e. V /\ h e. ( 2 -aryF X ) ) -> ( x e. X , y e. X |-> ( h ` { <. 0 , x >. , <. 1 , y >. } ) ) : ( X X. X ) --> X ) |
20 |
|
sqxpexg |
|- ( X e. V -> ( X X. X ) e. _V ) |
21 |
|
elmapg |
|- ( ( X e. V /\ ( X X. X ) e. _V ) -> ( ( x e. X , y e. X |-> ( h ` { <. 0 , x >. , <. 1 , y >. } ) ) e. ( X ^m ( X X. X ) ) <-> ( x e. X , y e. X |-> ( h ` { <. 0 , x >. , <. 1 , y >. } ) ) : ( X X. X ) --> X ) ) |
22 |
20 21
|
mpdan |
|- ( X e. V -> ( ( x e. X , y e. X |-> ( h ` { <. 0 , x >. , <. 1 , y >. } ) ) e. ( X ^m ( X X. X ) ) <-> ( x e. X , y e. X |-> ( h ` { <. 0 , x >. , <. 1 , y >. } ) ) : ( X X. X ) --> X ) ) |
23 |
22
|
adantr |
|- ( ( X e. V /\ h e. ( 2 -aryF X ) ) -> ( ( x e. X , y e. X |-> ( h ` { <. 0 , x >. , <. 1 , y >. } ) ) e. ( X ^m ( X X. X ) ) <-> ( x e. X , y e. X |-> ( h ` { <. 0 , x >. , <. 1 , y >. } ) ) : ( X X. X ) --> X ) ) |
24 |
19 23
|
mpbird |
|- ( ( X e. V /\ h e. ( 2 -aryF X ) ) -> ( x e. X , y e. X |-> ( h ` { <. 0 , x >. , <. 1 , y >. } ) ) e. ( X ^m ( X X. X ) ) ) |
25 |
24 1
|
fmptd |
|- ( X e. V -> H : ( 2 -aryF X ) --> ( X ^m ( X X. X ) ) ) |