MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  fliftfun Unicode version

Theorem fliftfun 5975
Description: The function  F is the unique function defined by  F `  A  =  B, provided that the well-definedness condition holds. (Contributed by Mario Carneiro, 23-Dec-2016.)
Hypotheses
Ref Expression
flift.1  |-  F  =  ran  ( x  e.  X  |->  <. A ,  B >. )
flift.2  |-  ( (
ph  /\  x  e.  X )  ->  A  e.  R )
flift.3  |-  ( (
ph  /\  x  e.  X )  ->  B  e.  S )
fliftfun.4  |-  ( x  =  y  ->  A  =  C )
fliftfun.5  |-  ( x  =  y  ->  B  =  D )
Assertion
Ref Expression
fliftfun  |-  ( ph  ->  ( Fun  F  <->  A. x  e.  X  A. y  e.  X  ( A  =  C  ->  B  =  D ) ) )
Distinct variable groups:    y, A    y, B    x, C    x, y, R    x, D    y, F    ph, x, y    x, X, y    x, S, y
Allowed substitution hints:    A( x)    B( x)    C( y)    D( y)    F( x)

Proof of Theorem fliftfun
Dummy variables  v  u  z are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 nfv 1626 . . 3  |-  F/ x ph
2 flift.1 . . . . 5  |-  F  =  ran  ( x  e.  X  |->  <. A ,  B >. )
3 nfmpt1 4241 . . . . . 6  |-  F/_ x
( x  e.  X  |-> 
<. A ,  B >. )
43nfrn 5054 . . . . 5  |-  F/_ x ran  ( x  e.  X  |-> 
<. A ,  B >. )
52, 4nfcxfr 2522 . . . 4  |-  F/_ x F
65nffun 5418 . . 3  |-  F/ x Fun  F
7 fveq2 5670 . . . . . . 7  |-  ( A  =  C  ->  ( F `  A )  =  ( F `  C ) )
8 simplr 732 . . . . . . . . 9  |-  ( ( ( ph  /\  Fun  F )  /\  ( x  e.  X  /\  y  e.  X ) )  ->  Fun  F )
9 flift.2 . . . . . . . . . . 11  |-  ( (
ph  /\  x  e.  X )  ->  A  e.  R )
10 flift.3 . . . . . . . . . . 11  |-  ( (
ph  /\  x  e.  X )  ->  B  e.  S )
112, 9, 10fliftel1 5973 . . . . . . . . . 10  |-  ( (
ph  /\  x  e.  X )  ->  A F B )
1211ad2ant2r 728 . . . . . . . . 9  |-  ( ( ( ph  /\  Fun  F )  /\  ( x  e.  X  /\  y  e.  X ) )  ->  A F B )
13 funbrfv 5706 . . . . . . . . 9  |-  ( Fun 
F  ->  ( A F B  ->  ( F `
 A )  =  B ) )
148, 12, 13sylc 58 . . . . . . . 8  |-  ( ( ( ph  /\  Fun  F )  /\  ( x  e.  X  /\  y  e.  X ) )  -> 
( F `  A
)  =  B )
15 simprr 734 . . . . . . . . . . 11  |-  ( ( ( ph  /\  Fun  F )  /\  ( x  e.  X  /\  y  e.  X ) )  -> 
y  e.  X )
16 eqidd 2390 . . . . . . . . . . 11  |-  ( ( ( ph  /\  Fun  F )  /\  ( x  e.  X  /\  y  e.  X ) )  ->  C  =  C )
17 eqidd 2390 . . . . . . . . . . 11  |-  ( ( ( ph  /\  Fun  F )  /\  ( x  e.  X  /\  y  e.  X ) )  ->  D  =  D )
18 fliftfun.4 . . . . . . . . . . . . . 14  |-  ( x  =  y  ->  A  =  C )
1918eqeq2d 2400 . . . . . . . . . . . . 13  |-  ( x  =  y  ->  ( C  =  A  <->  C  =  C ) )
20 fliftfun.5 . . . . . . . . . . . . . 14  |-  ( x  =  y  ->  B  =  D )
2120eqeq2d 2400 . . . . . . . . . . . . 13  |-  ( x  =  y  ->  ( D  =  B  <->  D  =  D ) )
2219, 21anbi12d 692 . . . . . . . . . . . 12  |-  ( x  =  y  ->  (
( C  =  A  /\  D  =  B )  <->  ( C  =  C  /\  D  =  D ) ) )
2322rspcev 2997 . . . . . . . . . . 11  |-  ( ( y  e.  X  /\  ( C  =  C  /\  D  =  D
) )  ->  E. x  e.  X  ( C  =  A  /\  D  =  B ) )
2415, 16, 17, 23syl12anc 1182 . . . . . . . . . 10  |-  ( ( ( ph  /\  Fun  F )  /\  ( x  e.  X  /\  y  e.  X ) )  ->  E. x  e.  X  ( C  =  A  /\  D  =  B
) )
252, 9, 10fliftel 5972 . . . . . . . . . . 11  |-  ( ph  ->  ( C F D  <->  E. x  e.  X  ( C  =  A  /\  D  =  B
) ) )
2625ad2antrr 707 . . . . . . . . . 10  |-  ( ( ( ph  /\  Fun  F )  /\  ( x  e.  X  /\  y  e.  X ) )  -> 
( C F D  <->  E. x  e.  X  ( C  =  A  /\  D  =  B
) ) )
2724, 26mpbird 224 . . . . . . . . 9  |-  ( ( ( ph  /\  Fun  F )  /\  ( x  e.  X  /\  y  e.  X ) )  ->  C F D )
28 funbrfv 5706 . . . . . . . . 9  |-  ( Fun 
F  ->  ( C F D  ->  ( F `
 C )  =  D ) )
298, 27, 28sylc 58 . . . . . . . 8  |-  ( ( ( ph  /\  Fun  F )  /\  ( x  e.  X  /\  y  e.  X ) )  -> 
( F `  C
)  =  D )
3014, 29eqeq12d 2403 . . . . . . 7  |-  ( ( ( ph  /\  Fun  F )  /\  ( x  e.  X  /\  y  e.  X ) )  -> 
( ( F `  A )  =  ( F `  C )  <-> 
B  =  D ) )
317, 30syl5ib 211 . . . . . 6  |-  ( ( ( ph  /\  Fun  F )  /\  ( x  e.  X  /\  y  e.  X ) )  -> 
( A  =  C  ->  B  =  D ) )
3231anassrs 630 . . . . 5  |-  ( ( ( ( ph  /\  Fun  F )  /\  x  e.  X )  /\  y  e.  X )  ->  ( A  =  C  ->  B  =  D ) )
3332ralrimiva 2734 . . . 4  |-  ( ( ( ph  /\  Fun  F )  /\  x  e.  X )  ->  A. y  e.  X  ( A  =  C  ->  B  =  D ) )
3433exp31 588 . . 3  |-  ( ph  ->  ( Fun  F  -> 
( x  e.  X  ->  A. y  e.  X  ( A  =  C  ->  B  =  D ) ) ) )
351, 6, 34ralrimd 2739 . 2  |-  ( ph  ->  ( Fun  F  ->  A. x  e.  X  A. y  e.  X  ( A  =  C  ->  B  =  D ) ) )
362, 9, 10fliftel 5972 . . . . . . . . 9  |-  ( ph  ->  ( z F u  <->  E. x  e.  X  ( z  =  A  /\  u  =  B ) ) )
372, 9, 10fliftel 5972 . . . . . . . . . 10  |-  ( ph  ->  ( z F v  <->  E. x  e.  X  ( z  =  A  /\  v  =  B ) ) )
3818eqeq2d 2400 . . . . . . . . . . . 12  |-  ( x  =  y  ->  (
z  =  A  <->  z  =  C ) )
3920eqeq2d 2400 . . . . . . . . . . . 12  |-  ( x  =  y  ->  (
v  =  B  <->  v  =  D ) )
4038, 39anbi12d 692 . . . . . . . . . . 11  |-  ( x  =  y  ->  (
( z  =  A  /\  v  =  B )  <->  ( z  =  C  /\  v  =  D ) ) )
4140cbvrexv 2878 . . . . . . . . . 10  |-  ( E. x  e.  X  ( z  =  A  /\  v  =  B )  <->  E. y  e.  X  ( z  =  C  /\  v  =  D )
)
4237, 41syl6bb 253 . . . . . . . . 9  |-  ( ph  ->  ( z F v  <->  E. y  e.  X  ( z  =  C  /\  v  =  D ) ) )
4336, 42anbi12d 692 . . . . . . . 8  |-  ( ph  ->  ( ( z F u  /\  z F v )  <->  ( E. x  e.  X  (
z  =  A  /\  u  =  B )  /\  E. y  e.  X  ( z  =  C  /\  v  =  D ) ) ) )
4443biimpd 199 . . . . . . 7  |-  ( ph  ->  ( ( z F u  /\  z F v )  ->  ( E. x  e.  X  ( z  =  A  /\  u  =  B )  /\  E. y  e.  X  ( z  =  C  /\  v  =  D ) ) ) )
45 reeanv 2820 . . . . . . . 8  |-  ( E. x  e.  X  E. y  e.  X  (
( z  =  A  /\  u  =  B )  /\  ( z  =  C  /\  v  =  D ) )  <->  ( E. x  e.  X  (
z  =  A  /\  u  =  B )  /\  E. y  e.  X  ( z  =  C  /\  v  =  D ) ) )
46 r19.29 2791 . . . . . . . . . 10  |-  ( ( A. x  e.  X  A. y  e.  X  ( A  =  C  ->  B  =  D )  /\  E. x  e.  X  E. y  e.  X  ( ( z  =  A  /\  u  =  B )  /\  (
z  =  C  /\  v  =  D )
) )  ->  E. x  e.  X  ( A. y  e.  X  ( A  =  C  ->  B  =  D )  /\  E. y  e.  X  ( ( z  =  A  /\  u  =  B )  /\  ( z  =  C  /\  v  =  D ) ) ) )
47 r19.29 2791 . . . . . . . . . . . 12  |-  ( ( A. y  e.  X  ( A  =  C  ->  B  =  D )  /\  E. y  e.  X  ( ( z  =  A  /\  u  =  B )  /\  (
z  =  C  /\  v  =  D )
) )  ->  E. y  e.  X  ( ( A  =  C  ->  B  =  D )  /\  ( ( z  =  A  /\  u  =  B )  /\  (
z  =  C  /\  v  =  D )
) ) )
48 eqtr2 2407 . . . . . . . . . . . . . . . . 17  |-  ( ( z  =  A  /\  z  =  C )  ->  A  =  C )
4948ad2ant2r 728 . . . . . . . . . . . . . . . 16  |-  ( ( ( z  =  A  /\  u  =  B )  /\  ( z  =  C  /\  v  =  D ) )  ->  A  =  C )
5049imim1i 56 . . . . . . . . . . . . . . 15  |-  ( ( A  =  C  ->  B  =  D )  ->  ( ( ( z  =  A  /\  u  =  B )  /\  (
z  =  C  /\  v  =  D )
)  ->  B  =  D ) )
5150imp 419 . . . . . . . . . . . . . 14  |-  ( ( ( A  =  C  ->  B  =  D )  /\  ( ( z  =  A  /\  u  =  B )  /\  ( z  =  C  /\  v  =  D ) ) )  ->  B  =  D )
52 simprlr 740 . . . . . . . . . . . . . 14  |-  ( ( ( A  =  C  ->  B  =  D )  /\  ( ( z  =  A  /\  u  =  B )  /\  ( z  =  C  /\  v  =  D ) ) )  ->  u  =  B )
53 simprrr 742 . . . . . . . . . . . . . 14  |-  ( ( ( A  =  C  ->  B  =  D )  /\  ( ( z  =  A  /\  u  =  B )  /\  ( z  =  C  /\  v  =  D ) ) )  -> 
v  =  D )
5451, 52, 533eqtr4d 2431 . . . . . . . . . . . . 13  |-  ( ( ( A  =  C  ->  B  =  D )  /\  ( ( z  =  A  /\  u  =  B )  /\  ( z  =  C  /\  v  =  D ) ) )  ->  u  =  v )
5554rexlimivw 2771 . . . . . . . . . . . 12  |-  ( E. y  e.  X  ( ( A  =  C  ->  B  =  D )  /\  ( ( z  =  A  /\  u  =  B )  /\  ( z  =  C  /\  v  =  D ) ) )  ->  u  =  v )
5647, 55syl 16 . . . . . . . . . . 11  |-  ( ( A. y  e.  X  ( A  =  C  ->  B  =  D )  /\  E. y  e.  X  ( ( z  =  A  /\  u  =  B )  /\  (
z  =  C  /\  v  =  D )
) )  ->  u  =  v )
5756rexlimivw 2771 . . . . . . . . . 10  |-  ( E. x  e.  X  ( A. y  e.  X  ( A  =  C  ->  B  =  D )  /\  E. y  e.  X  ( ( z  =  A  /\  u  =  B )  /\  (
z  =  C  /\  v  =  D )
) )  ->  u  =  v )
5846, 57syl 16 . . . . . . . . 9  |-  ( ( A. x  e.  X  A. y  e.  X  ( A  =  C  ->  B  =  D )  /\  E. x  e.  X  E. y  e.  X  ( ( z  =  A  /\  u  =  B )  /\  (
z  =  C  /\  v  =  D )
) )  ->  u  =  v )
5958ex 424 . . . . . . . 8  |-  ( A. x  e.  X  A. y  e.  X  ( A  =  C  ->  B  =  D )  -> 
( E. x  e.  X  E. y  e.  X  ( ( z  =  A  /\  u  =  B )  /\  (
z  =  C  /\  v  =  D )
)  ->  u  =  v ) )
6045, 59syl5bir 210 . . . . . . 7  |-  ( A. x  e.  X  A. y  e.  X  ( A  =  C  ->  B  =  D )  -> 
( ( E. x  e.  X  ( z  =  A  /\  u  =  B )  /\  E. y  e.  X  (
z  =  C  /\  v  =  D )
)  ->  u  =  v ) )
6144, 60syl9 68 . . . . . 6  |-  ( ph  ->  ( A. x  e.  X  A. y  e.  X  ( A  =  C  ->  B  =  D )  ->  (
( z F u  /\  z F v )  ->  u  =  v ) ) )
6261alrimdv 1640 . . . . 5  |-  ( ph  ->  ( A. x  e.  X  A. y  e.  X  ( A  =  C  ->  B  =  D )  ->  A. v
( ( z F u  /\  z F v )  ->  u  =  v ) ) )
6362alrimdv 1640 . . . 4  |-  ( ph  ->  ( A. x  e.  X  A. y  e.  X  ( A  =  C  ->  B  =  D )  ->  A. u A. v ( ( z F u  /\  z F v )  ->  u  =  v )
) )
6463alrimdv 1640 . . 3  |-  ( ph  ->  ( A. x  e.  X  A. y  e.  X  ( A  =  C  ->  B  =  D )  ->  A. z A. u A. v ( ( z F u  /\  z F v )  ->  u  =  v ) ) )
652, 9, 10fliftrel 5971 . . . . 5  |-  ( ph  ->  F  C_  ( R  X.  S ) )
66 relxp 4925 . . . . 5  |-  Rel  ( R  X.  S )
67 relss 4905 . . . . 5  |-  ( F 
C_  ( R  X.  S )  ->  ( Rel  ( R  X.  S
)  ->  Rel  F ) )
6865, 66, 67ee10 1382 . . . 4  |-  ( ph  ->  Rel  F )
69 dffun2 5406 . . . . 5  |-  ( Fun 
F  <->  ( Rel  F  /\  A. z A. u A. v ( ( z F u  /\  z F v )  ->  u  =  v )
) )
7069baib 872 . . . 4  |-  ( Rel 
F  ->  ( Fun  F  <->  A. z A. u A. v ( ( z F u  /\  z F v )  ->  u  =  v )
) )
7168, 70syl 16 . . 3  |-  ( ph  ->  ( Fun  F  <->  A. z A. u A. v ( ( z F u  /\  z F v )  ->  u  =  v ) ) )
7264, 71sylibrd 226 . 2  |-  ( ph  ->  ( A. x  e.  X  A. y  e.  X  ( A  =  C  ->  B  =  D )  ->  Fun  F ) )
7335, 72impbid 184 1  |-  ( ph  ->  ( Fun  F  <->  A. x  e.  X  A. y  e.  X  ( A  =  C  ->  B  =  D ) ) )
Colors of variables: wff set class
Syntax hints:    -> wi 4    <-> wb 177    /\ wa 359   A.wal 1546    = wceq 1649    e. wcel 1717   A.wral 2651   E.wrex 2652    C_ wss 3265   <.cop 3762   class class class wbr 4155    e. cmpt 4209    X. cxp 4818   ran crn 4821   Rel wrel 4825   Fun wfun 5390   ` cfv 5396
This theorem is referenced by:  fliftfund  5976  fliftfuns  5977  qliftfun  6927
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1552  ax-5 1563  ax-17 1623  ax-9 1661  ax-8 1682  ax-14 1721  ax-6 1736  ax-7 1741  ax-11 1753  ax-12 1939  ax-ext 2370  ax-sep 4273  ax-nul 4281  ax-pr 4346
This theorem depends on definitions:  df-bi 178  df-or 360  df-an 361  df-3an 938  df-tru 1325  df-ex 1548  df-nf 1551  df-sb 1656  df-eu 2244  df-mo 2245  df-clab 2376  df-cleq 2382  df-clel 2385  df-nfc 2514  df-ne 2554  df-ral 2656  df-rex 2657  df-rab 2660  df-v 2903  df-sbc 3107  df-csb 3197  df-dif 3268  df-un 3270  df-in 3272  df-ss 3279  df-nul 3574  df-if 3685  df-sn 3765  df-pr 3766  df-op 3768  df-uni 3960  df-br 4156  df-opab 4210  df-mpt 4211  df-id 4441  df-xp 4826  df-rel 4827  df-cnv 4828  df-co 4829  df-dm 4830  df-rn 4831  df-res 4832  df-ima 4833  df-iota 5360  df-fun 5398  df-fn 5399  df-f 5400  df-fv 5404
  Copyright terms: Public domain W3C validator