Metamath Proof Explorer


Theorem fntpg

Description: Function with a domain of three different values. (Contributed by Alexander van der Vekens, 5-Dec-2017)

Ref Expression
Assertion fntpg
|- ( ( ( X e. U /\ Y e. V /\ Z e. W ) /\ ( A e. F /\ B e. G /\ C e. H ) /\ ( X =/= Y /\ X =/= Z /\ Y =/= Z ) ) -> { <. X , A >. , <. Y , B >. , <. Z , C >. } Fn { X , Y , Z } )

Proof

Step Hyp Ref Expression
1 funtpg
 |-  ( ( ( X e. U /\ Y e. V /\ Z e. W ) /\ ( A e. F /\ B e. G /\ C e. H ) /\ ( X =/= Y /\ X =/= Z /\ Y =/= Z ) ) -> Fun { <. X , A >. , <. Y , B >. , <. Z , C >. } )
2 dmsnopg
 |-  ( A e. F -> dom { <. X , A >. } = { X } )
3 2 3ad2ant1
 |-  ( ( A e. F /\ B e. G /\ C e. H ) -> dom { <. X , A >. } = { X } )
4 dmsnopg
 |-  ( B e. G -> dom { <. Y , B >. } = { Y } )
5 4 3ad2ant2
 |-  ( ( A e. F /\ B e. G /\ C e. H ) -> dom { <. Y , B >. } = { Y } )
6 3 5 jca
 |-  ( ( A e. F /\ B e. G /\ C e. H ) -> ( dom { <. X , A >. } = { X } /\ dom { <. Y , B >. } = { Y } ) )
7 6 3ad2ant2
 |-  ( ( ( X e. U /\ Y e. V /\ Z e. W ) /\ ( A e. F /\ B e. G /\ C e. H ) /\ ( X =/= Y /\ X =/= Z /\ Y =/= Z ) ) -> ( dom { <. X , A >. } = { X } /\ dom { <. Y , B >. } = { Y } ) )
8 uneq12
 |-  ( ( dom { <. X , A >. } = { X } /\ dom { <. Y , B >. } = { Y } ) -> ( dom { <. X , A >. } u. dom { <. Y , B >. } ) = ( { X } u. { Y } ) )
9 7 8 syl
 |-  ( ( ( X e. U /\ Y e. V /\ Z e. W ) /\ ( A e. F /\ B e. G /\ C e. H ) /\ ( X =/= Y /\ X =/= Z /\ Y =/= Z ) ) -> ( dom { <. X , A >. } u. dom { <. Y , B >. } ) = ( { X } u. { Y } ) )
10 df-pr
 |-  { X , Y } = ( { X } u. { Y } )
11 9 10 eqtr4di
 |-  ( ( ( X e. U /\ Y e. V /\ Z e. W ) /\ ( A e. F /\ B e. G /\ C e. H ) /\ ( X =/= Y /\ X =/= Z /\ Y =/= Z ) ) -> ( dom { <. X , A >. } u. dom { <. Y , B >. } ) = { X , Y } )
12 df-pr
 |-  { <. X , A >. , <. Y , B >. } = ( { <. X , A >. } u. { <. Y , B >. } )
13 12 dmeqi
 |-  dom { <. X , A >. , <. Y , B >. } = dom ( { <. X , A >. } u. { <. Y , B >. } )
14 13 eqeq1i
 |-  ( dom { <. X , A >. , <. Y , B >. } = { X , Y } <-> dom ( { <. X , A >. } u. { <. Y , B >. } ) = { X , Y } )
15 dmun
 |-  dom ( { <. X , A >. } u. { <. Y , B >. } ) = ( dom { <. X , A >. } u. dom { <. Y , B >. } )
16 15 eqeq1i
 |-  ( dom ( { <. X , A >. } u. { <. Y , B >. } ) = { X , Y } <-> ( dom { <. X , A >. } u. dom { <. Y , B >. } ) = { X , Y } )
17 14 16 bitri
 |-  ( dom { <. X , A >. , <. Y , B >. } = { X , Y } <-> ( dom { <. X , A >. } u. dom { <. Y , B >. } ) = { X , Y } )
18 11 17 sylibr
 |-  ( ( ( X e. U /\ Y e. V /\ Z e. W ) /\ ( A e. F /\ B e. G /\ C e. H ) /\ ( X =/= Y /\ X =/= Z /\ Y =/= Z ) ) -> dom { <. X , A >. , <. Y , B >. } = { X , Y } )
19 dmsnopg
 |-  ( C e. H -> dom { <. Z , C >. } = { Z } )
20 19 3ad2ant3
 |-  ( ( A e. F /\ B e. G /\ C e. H ) -> dom { <. Z , C >. } = { Z } )
21 20 3ad2ant2
 |-  ( ( ( X e. U /\ Y e. V /\ Z e. W ) /\ ( A e. F /\ B e. G /\ C e. H ) /\ ( X =/= Y /\ X =/= Z /\ Y =/= Z ) ) -> dom { <. Z , C >. } = { Z } )
22 18 21 uneq12d
 |-  ( ( ( X e. U /\ Y e. V /\ Z e. W ) /\ ( A e. F /\ B e. G /\ C e. H ) /\ ( X =/= Y /\ X =/= Z /\ Y =/= Z ) ) -> ( dom { <. X , A >. , <. Y , B >. } u. dom { <. Z , C >. } ) = ( { X , Y } u. { Z } ) )
23 df-tp
 |-  { <. X , A >. , <. Y , B >. , <. Z , C >. } = ( { <. X , A >. , <. Y , B >. } u. { <. Z , C >. } )
24 23 dmeqi
 |-  dom { <. X , A >. , <. Y , B >. , <. Z , C >. } = dom ( { <. X , A >. , <. Y , B >. } u. { <. Z , C >. } )
25 dmun
 |-  dom ( { <. X , A >. , <. Y , B >. } u. { <. Z , C >. } ) = ( dom { <. X , A >. , <. Y , B >. } u. dom { <. Z , C >. } )
26 24 25 eqtri
 |-  dom { <. X , A >. , <. Y , B >. , <. Z , C >. } = ( dom { <. X , A >. , <. Y , B >. } u. dom { <. Z , C >. } )
27 df-tp
 |-  { X , Y , Z } = ( { X , Y } u. { Z } )
28 22 26 27 3eqtr4g
 |-  ( ( ( X e. U /\ Y e. V /\ Z e. W ) /\ ( A e. F /\ B e. G /\ C e. H ) /\ ( X =/= Y /\ X =/= Z /\ Y =/= Z ) ) -> dom { <. X , A >. , <. Y , B >. , <. Z , C >. } = { X , Y , Z } )
29 df-fn
 |-  ( { <. X , A >. , <. Y , B >. , <. Z , C >. } Fn { X , Y , Z } <-> ( Fun { <. X , A >. , <. Y , B >. , <. Z , C >. } /\ dom { <. X , A >. , <. Y , B >. , <. Z , C >. } = { X , Y , Z } ) )
30 1 28 29 sylanbrc
 |-  ( ( ( X e. U /\ Y e. V /\ Z e. W ) /\ ( A e. F /\ B e. G /\ C e. H ) /\ ( X =/= Y /\ X =/= Z /\ Y =/= Z ) ) -> { <. X , A >. , <. Y , B >. , <. Z , C >. } Fn { X , Y , Z } )