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

Theorem fliftfun 6010
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 1673 . . 3  |-  F/ x ph
2 flift.1 . . . . 5  |-  F  =  ran  ( x  e.  X  |->  <. A ,  B >. )
3 nfmpt1 4386 . . . . . 6  |-  F/_ x
( x  e.  X  |-> 
<. A ,  B >. )
43nfrn 5087 . . . . 5  |-  F/_ x ran  ( x  e.  X  |-> 
<. A ,  B >. )
52, 4nfcxfr 2581 . . . 4  |-  F/_ x F
65nffun 5445 . . 3  |-  F/ x Fun  F
7 fveq2 5696 . . . . . . 7  |-  ( A  =  C  ->  ( F `  A )  =  ( F `  C ) )
8 simplr 754 . . . . . . . . 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 6008 . . . . . . . . . 10  |-  ( (
ph  /\  x  e.  X )  ->  A F B )
1211ad2ant2r 746 . . . . . . . . 9  |-  ( ( ( ph  /\  Fun  F )  /\  ( x  e.  X  /\  y  e.  X ) )  ->  A F B )
13 funbrfv 5735 . . . . . . . . 9  |-  ( Fun 
F  ->  ( A F B  ->  ( F `
 A )  =  B ) )
148, 12, 13sylc 60 . . . . . . . 8  |-  ( ( ( ph  /\  Fun  F )  /\  ( x  e.  X  /\  y  e.  X ) )  -> 
( F `  A
)  =  B )
15 simprr 756 . . . . . . . . . . 11  |-  ( ( ( ph  /\  Fun  F )  /\  ( x  e.  X  /\  y  e.  X ) )  -> 
y  e.  X )
16 eqidd 2444 . . . . . . . . . . 11  |-  ( ( ( ph  /\  Fun  F )  /\  ( x  e.  X  /\  y  e.  X ) )  ->  C  =  C )
17 eqidd 2444 . . . . . . . . . . 11  |-  ( ( ( ph  /\  Fun  F )  /\  ( x  e.  X  /\  y  e.  X ) )  ->  D  =  D )
18 fliftfun.4 . . . . . . . . . . . . . 14  |-  ( x  =  y  ->  A  =  C )
1918eqeq2d 2454 . . . . . . . . . . . . 13  |-  ( x  =  y  ->  ( C  =  A  <->  C  =  C ) )
20 fliftfun.5 . . . . . . . . . . . . . 14  |-  ( x  =  y  ->  B  =  D )
2120eqeq2d 2454 . . . . . . . . . . . . 13  |-  ( x  =  y  ->  ( D  =  B  <->  D  =  D ) )
2219, 21anbi12d 710 . . . . . . . . . . . 12  |-  ( x  =  y  ->  (
( C  =  A  /\  D  =  B )  <->  ( C  =  C  /\  D  =  D ) ) )
2322rspcev 3078 . . . . . . . . . . 11  |-  ( ( y  e.  X  /\  ( C  =  C  /\  D  =  D
) )  ->  E. x  e.  X  ( C  =  A  /\  D  =  B ) )
2415, 16, 17, 23syl12anc 1216 . . . . . . . . . 10  |-  ( ( ( ph  /\  Fun  F )  /\  ( x  e.  X  /\  y  e.  X ) )  ->  E. x  e.  X  ( C  =  A  /\  D  =  B
) )
252, 9, 10fliftel 6007 . . . . . . . . . . 11  |-  ( ph  ->  ( C F D  <->  E. x  e.  X  ( C  =  A  /\  D  =  B
) ) )
2625ad2antrr 725 . . . . . . . . . 10  |-  ( ( ( ph  /\  Fun  F )  /\  ( x  e.  X  /\  y  e.  X ) )  -> 
( C F D  <->  E. x  e.  X  ( C  =  A  /\  D  =  B
) ) )
2724, 26mpbird 232 . . . . . . . . 9  |-  ( ( ( ph  /\  Fun  F )  /\  ( x  e.  X  /\  y  e.  X ) )  ->  C F D )
28 funbrfv 5735 . . . . . . . . 9  |-  ( Fun 
F  ->  ( C F D  ->  ( F `
 C )  =  D ) )
298, 27, 28sylc 60 . . . . . . . 8  |-  ( ( ( ph  /\  Fun  F )  /\  ( x  e.  X  /\  y  e.  X ) )  -> 
( F `  C
)  =  D )
3014, 29eqeq12d 2457 . . . . . . 7  |-  ( ( ( ph  /\  Fun  F )  /\  ( x  e.  X  /\  y  e.  X ) )  -> 
( ( F `  A )  =  ( F `  C )  <-> 
B  =  D ) )
317, 30syl5ib 219 . . . . . 6  |-  ( ( ( ph  /\  Fun  F )  /\  ( x  e.  X  /\  y  e.  X ) )  -> 
( A  =  C  ->  B  =  D ) )
3231anassrs 648 . . . . 5  |-  ( ( ( ( ph  /\  Fun  F )  /\  x  e.  X )  /\  y  e.  X )  ->  ( A  =  C  ->  B  =  D ) )
3332ralrimiva 2804 . . . 4  |-  ( ( ( ph  /\  Fun  F )  /\  x  e.  X )  ->  A. y  e.  X  ( A  =  C  ->  B  =  D ) )
3433exp31 604 . . 3  |-  ( ph  ->  ( Fun  F  -> 
( x  e.  X  ->  A. y  e.  X  ( A  =  C  ->  B  =  D ) ) ) )
351, 6, 34ralrimd 2809 . 2  |-  ( ph  ->  ( Fun  F  ->  A. x  e.  X  A. y  e.  X  ( A  =  C  ->  B  =  D ) ) )
362, 9, 10fliftel 6007 . . . . . . . . 9  |-  ( ph  ->  ( z F u  <->  E. x  e.  X  ( z  =  A  /\  u  =  B ) ) )
372, 9, 10fliftel 6007 . . . . . . . . . 10  |-  ( ph  ->  ( z F v  <->  E. x  e.  X  ( z  =  A  /\  v  =  B ) ) )
3818eqeq2d 2454 . . . . . . . . . . . 12  |-  ( x  =  y  ->  (
z  =  A  <->  z  =  C ) )
3920eqeq2d 2454 . . . . . . . . . . . 12  |-  ( x  =  y  ->  (
v  =  B  <->  v  =  D ) )
4038, 39anbi12d 710 . . . . . . . . . . 11  |-  ( x  =  y  ->  (
( z  =  A  /\  v  =  B )  <->  ( z  =  C  /\  v  =  D ) ) )
4140cbvrexv 2953 . . . . . . . . . 10  |-  ( E. x  e.  X  ( z  =  A  /\  v  =  B )  <->  E. y  e.  X  ( z  =  C  /\  v  =  D )
)
4237, 41syl6bb 261 . . . . . . . . 9  |-  ( ph  ->  ( z F v  <->  E. y  e.  X  ( z  =  C  /\  v  =  D ) ) )
4336, 42anbi12d 710 . . . . . . . 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 207 . . . . . . 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 2893 . . . . . . . 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 2862 . . . . . . . . . 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 2862 . . . . . . . . . . . 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 2461 . . . . . . . . . . . . . . . . 17  |-  ( ( z  =  A  /\  z  =  C )  ->  A  =  C )
4948ad2ant2r 746 . . . . . . . . . . . . . . . 16  |-  ( ( ( z  =  A  /\  u  =  B )  /\  ( z  =  C  /\  v  =  D ) )  ->  A  =  C )
5049imim1i 58 . . . . . . . . . . . . . . 15  |-  ( ( A  =  C  ->  B  =  D )  ->  ( ( ( z  =  A  /\  u  =  B )  /\  (
z  =  C  /\  v  =  D )
)  ->  B  =  D ) )
5150imp 429 . . . . . . . . . . . . . 14  |-  ( ( ( A  =  C  ->  B  =  D )  /\  ( ( z  =  A  /\  u  =  B )  /\  ( z  =  C  /\  v  =  D ) ) )  ->  B  =  D )
52 simprlr 762 . . . . . . . . . . . . . 14  |-  ( ( ( A  =  C  ->  B  =  D )  /\  ( ( z  =  A  /\  u  =  B )  /\  ( z  =  C  /\  v  =  D ) ) )  ->  u  =  B )
53 simprrr 764 . . . . . . . . . . . . . 14  |-  ( ( ( A  =  C  ->  B  =  D )  /\  ( ( z  =  A  /\  u  =  B )  /\  ( z  =  C  /\  v  =  D ) ) )  -> 
v  =  D )
5451, 52, 533eqtr4d 2485 . . . . . . . . . . . . 13  |-  ( ( ( A  =  C  ->  B  =  D )  /\  ( ( z  =  A  /\  u  =  B )  /\  ( z  =  C  /\  v  =  D ) ) )  ->  u  =  v )
5554rexlimivw 2842 . . . . . . . . . . . 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 2842 . . . . . . . . . 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 434 . . . . . . . 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 218 . . . . . . 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 71 . . . . . 6  |-  ( ph  ->  ( A. x  e.  X  A. y  e.  X  ( A  =  C  ->  B  =  D )  ->  (
( z F u  /\  z F v )  ->  u  =  v ) ) )
6261alrimdv 1687 . . . . 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 1687 . . . 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 1687 . . 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 6006 . . . . 5  |-  ( ph  ->  F  C_  ( R  X.  S ) )
66 relxp 4952 . . . . 5  |-  Rel  ( R  X.  S )
67 relss 4932 . . . . 5  |-  ( F 
C_  ( R  X.  S )  ->  ( Rel  ( R  X.  S
)  ->  Rel  F ) )
6865, 66, 67mpisyl 18 . . . 4  |-  ( ph  ->  Rel  F )
69 dffun2 5433 . . . . 5  |-  ( Fun 
F  <->  ( Rel  F  /\  A. z A. u A. v ( ( z F u  /\  z F v )  ->  u  =  v )
) )
7069baib 896 . . . 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 234 . 2  |-  ( ph  ->  ( A. x  e.  X  A. y  e.  X  ( A  =  C  ->  B  =  D )  ->  Fun  F ) )
7335, 72impbid 191 1  |-  ( ph  ->  ( Fun  F  <->  A. x  e.  X  A. y  e.  X  ( A  =  C  ->  B  =  D ) ) )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    <-> wb 184    /\ wa 369   A.wal 1367    = wceq 1369    e. wcel 1756   A.wral 2720   E.wrex 2721    C_ wss 3333   <.cop 3888   class class class wbr 4297    e. cmpt 4355    X. cxp 4843   ran crn 4846   Rel wrel 4850   Fun wfun 5417   ` cfv 5423
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1591  ax-4 1602  ax-5 1670  ax-6 1708  ax-7 1728  ax-9 1760  ax-10 1775  ax-11 1780  ax-12 1792  ax-13 1943  ax-ext 2423  ax-sep 4418  ax-nul 4426  ax-pr 4536
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3an 967  df-tru 1372  df-ex 1587  df-nf 1590  df-sb 1701  df-eu 2257  df-mo 2258  df-clab 2430  df-cleq 2436  df-clel 2439  df-nfc 2573  df-ne 2613  df-ral 2725  df-rex 2726  df-rab 2729  df-v 2979  df-sbc 3192  df-csb 3294  df-dif 3336  df-un 3338  df-in 3340  df-ss 3347  df-nul 3643  df-if 3797  df-sn 3883  df-pr 3885  df-op 3889  df-uni 4097  df-br 4298  df-opab 4356  df-mpt 4357  df-id 4641  df-xp 4851  df-rel 4852  df-cnv 4853  df-co 4854  df-dm 4855  df-rn 4856  df-res 4857  df-ima 4858  df-iota 5386  df-fun 5425  df-fn 5426  df-f 5427  df-fv 5431
This theorem is referenced by:  fliftfund  6011  fliftfuns  6012  qliftfun  7190
  Copyright terms: Public domain W3C validator