ILE Home Intuitionistic Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >  funopsn Unicode version

Theorem funopsn 5816
Description: If a function is an ordered pair then it is a singleton of an ordered pair. (Contributed by AV, 20-Sep-2020.) (Proof shortened by AV, 15-Jul-2021.) A function is a class of ordered pairs, so the fact that an ordered pair may sometimes be itself a function is an "accident" depending on the specific encoding of ordered pairs as classes (in set.mm, the Kuratowski encoding). A more meaningful statement is funsng 5366, as relsnopg 4822 is to relop 4871. (New usage is discouraged.)
Hypotheses
Ref Expression
funopsn.x  |-  X  e. 
_V
funopsn.y  |-  Y  e. 
_V
Assertion
Ref Expression
funopsn  |-  ( ( Fun  F  /\  F  =  <. X ,  Y >. )  ->  E. a
( X  =  {
a }  /\  F  =  { <. a ,  a
>. } ) )
Distinct variable groups:    F, a    X, a    Y, a

Proof of Theorem funopsn
Dummy variables  b  c  d are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 funopsn.x . . 3  |-  X  e. 
_V
2 funopsn.y . . 3  |-  Y  e. 
_V
3 opm 4319 . . 3  |-  ( E. b  b  e.  <. X ,  Y >.  <->  ( X  e.  _V  /\  Y  e. 
_V ) )
41, 2, 3mpbir2an 948 . 2  |-  E. b 
b  e.  <. X ,  Y >.
5 funrel 5334 . . . . . . 7  |-  ( Fun 
F  ->  Rel  F )
65ad2antrr 488 . . . . . 6  |-  ( ( ( Fun  F  /\  F  =  <. X ,  Y >. )  /\  b  e.  <. X ,  Y >. )  ->  Rel  F )
7 simpr 110 . . . . . . 7  |-  ( ( ( Fun  F  /\  F  =  <. X ,  Y >. )  /\  b  e.  <. X ,  Y >. )  ->  b  e.  <. X ,  Y >. )
8 simplr 528 . . . . . . 7  |-  ( ( ( Fun  F  /\  F  =  <. X ,  Y >. )  /\  b  e.  <. X ,  Y >. )  ->  F  =  <. X ,  Y >. )
97, 8eleqtrrd 2309 . . . . . 6  |-  ( ( ( Fun  F  /\  F  =  <. X ,  Y >. )  /\  b  e.  <. X ,  Y >. )  ->  b  e.  F )
10 elrel 4820 . . . . . 6  |-  ( ( Rel  F  /\  b  e.  F )  ->  E. c E. d  b  =  <. c ,  d >.
)
116, 9, 10syl2anc 411 . . . . 5  |-  ( ( ( Fun  F  /\  F  =  <. X ,  Y >. )  /\  b  e.  <. X ,  Y >. )  ->  E. c E. d  b  =  <. c ,  d >.
)
12 vex 2802 . . . . . . . . . . . . . . . 16  |-  c  e. 
_V
13 vex 2802 . . . . . . . . . . . . . . . 16  |-  d  e. 
_V
1412, 13dfop 3855 . . . . . . . . . . . . . . 15  |-  <. c ,  d >.  =  { { c } ,  { c ,  d } }
1514eqeq2i 2240 . . . . . . . . . . . . . 14  |-  ( b  =  <. c ,  d
>. 
<->  b  =  { {
c } ,  {
c ,  d } } )
1615biimpi 120 . . . . . . . . . . . . 13  |-  ( b  =  <. c ,  d
>.  ->  b  =  { { c } ,  { c ,  d } } )
1716adantl 277 . . . . . . . . . . . 12  |-  ( ( ( ( Fun  F  /\  F  =  <. X ,  Y >. )  /\  b  e.  <. X ,  Y >. )  /\  b  =  <. c ,  d
>. )  ->  b  =  { { c } ,  { c ,  d } } )
18 vex 2802 . . . . . . . . . . . . . . . . 17  |-  b  e. 
_V
1918, 1, 2elop 4316 . . . . . . . . . . . . . . . 16  |-  ( b  e.  <. X ,  Y >.  <-> 
( b  =  { X }  \/  b  =  { X ,  Y } ) )
207, 19sylib 122 . . . . . . . . . . . . . . 15  |-  ( ( ( Fun  F  /\  F  =  <. X ,  Y >. )  /\  b  e.  <. X ,  Y >. )  ->  ( b  =  { X }  \/  b  =  { X ,  Y } ) )
21 dfsn2 3680 . . . . . . . . . . . . . . . . . . 19  |-  { X }  =  { X ,  X }
22 simpl 109 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( Fun  F  /\  F  =  <. X ,  Y >. )  ->  Fun  F )
23 simpr 110 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( Fun  F  /\  F  =  <. X ,  Y >. )  ->  F  =  <. X ,  Y >. )
2423funeqd 5339 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( Fun  F  /\  F  =  <. X ,  Y >. )  ->  ( Fun  F  <->  Fun  <. X ,  Y >. ) )
2522, 24mpbid 147 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( Fun  F  /\  F  =  <. X ,  Y >. )  ->  Fun  <. X ,  Y >. )
26 funopg 5351 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( X  e.  _V  /\  Y  e.  _V  /\  Fun  <. X ,  Y >. )  ->  X  =  Y )
271, 2, 25, 26mp3an12i 1375 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( Fun  F  /\  F  =  <. X ,  Y >. )  ->  X  =  Y )
2827preq2d 3750 . . . . . . . . . . . . . . . . . . 19  |-  ( ( Fun  F  /\  F  =  <. X ,  Y >. )  ->  { X ,  X }  =  { X ,  Y }
)
2921, 28eqtrid 2274 . . . . . . . . . . . . . . . . . 18  |-  ( ( Fun  F  /\  F  =  <. X ,  Y >. )  ->  { X }  =  { X ,  Y } )
3029eqeq2d 2241 . . . . . . . . . . . . . . . . 17  |-  ( ( Fun  F  /\  F  =  <. X ,  Y >. )  ->  ( b  =  { X }  <->  b  =  { X ,  Y }
) )
3130orbi2d 795 . . . . . . . . . . . . . . . 16  |-  ( ( Fun  F  /\  F  =  <. X ,  Y >. )  ->  ( (
b  =  { X }  \/  b  =  { X } )  <->  ( b  =  { X }  \/  b  =  { X ,  Y } ) ) )
3231adantr 276 . . . . . . . . . . . . . . 15  |-  ( ( ( Fun  F  /\  F  =  <. X ,  Y >. )  /\  b  e.  <. X ,  Y >. )  ->  ( (
b  =  { X }  \/  b  =  { X } )  <->  ( b  =  { X }  \/  b  =  { X ,  Y } ) ) )
3320, 32mpbird 167 . . . . . . . . . . . . . 14  |-  ( ( ( Fun  F  /\  F  =  <. X ,  Y >. )  /\  b  e.  <. X ,  Y >. )  ->  ( b  =  { X }  \/  b  =  { X } ) )
34 oridm 762 . . . . . . . . . . . . . 14  |-  ( ( b  =  { X }  \/  b  =  { X } )  <->  b  =  { X } )
3533, 34sylib 122 . . . . . . . . . . . . 13  |-  ( ( ( Fun  F  /\  F  =  <. X ,  Y >. )  /\  b  e.  <. X ,  Y >. )  ->  b  =  { X } )
3635adantr 276 . . . . . . . . . . . 12  |-  ( ( ( ( Fun  F  /\  F  =  <. X ,  Y >. )  /\  b  e.  <. X ,  Y >. )  /\  b  =  <. c ,  d
>. )  ->  b  =  { X } )
3717, 36eqtr3d 2264 . . . . . . . . . . 11  |-  ( ( ( ( Fun  F  /\  F  =  <. X ,  Y >. )  /\  b  e.  <. X ,  Y >. )  /\  b  =  <. c ,  d
>. )  ->  { {
c } ,  {
c ,  d } }  =  { X } )
3812snex 4268 . . . . . . . . . . . 12  |-  { c }  e.  _V
39 zfpair2 4293 . . . . . . . . . . . 12  |-  { c ,  d }  e.  _V
4038, 39, 1preqsn 3852 . . . . . . . . . . 11  |-  ( { { c } ,  { c ,  d } }  =  { X }  <->  ( { c }  =  { c ,  d }  /\  { c ,  d }  =  X ) )
4137, 40sylib 122 . . . . . . . . . 10  |-  ( ( ( ( Fun  F  /\  F  =  <. X ,  Y >. )  /\  b  e.  <. X ,  Y >. )  /\  b  =  <. c ,  d
>. )  ->  ( { c }  =  {
c ,  d }  /\  { c ,  d }  =  X ) )
4241simpld 112 . . . . . . . . 9  |-  ( ( ( ( Fun  F  /\  F  =  <. X ,  Y >. )  /\  b  e.  <. X ,  Y >. )  /\  b  =  <. c ,  d
>. )  ->  { c }  =  { c ,  d } )
4341simprd 114 . . . . . . . . 9  |-  ( ( ( ( Fun  F  /\  F  =  <. X ,  Y >. )  /\  b  e.  <. X ,  Y >. )  /\  b  =  <. c ,  d
>. )  ->  { c ,  d }  =  X )
4442, 43eqtr2d 2263 . . . . . . . 8  |-  ( ( ( ( Fun  F  /\  F  =  <. X ,  Y >. )  /\  b  e.  <. X ,  Y >. )  /\  b  =  <. c ,  d
>. )  ->  X  =  { c } )
451, 2dfop 3855 . . . . . . . . . . 11  |-  <. X ,  Y >.  =  { { X } ,  { X ,  Y } }
46 dfsn2 3680 . . . . . . . . . . . 12  |-  { { X } }  =  { { X } ,  { X } }
4729preq2d 3750 . . . . . . . . . . . 12  |-  ( ( Fun  F  /\  F  =  <. X ,  Y >. )  ->  { { X } ,  { X } }  =  { { X } ,  { X ,  Y } } )
4846, 47eqtrid 2274 . . . . . . . . . . 11  |-  ( ( Fun  F  /\  F  =  <. X ,  Y >. )  ->  { { X } }  =  { { X } ,  { X ,  Y } } )
4945, 23, 483eqtr4a 2288 . . . . . . . . . 10  |-  ( ( Fun  F  /\  F  =  <. X ,  Y >. )  ->  F  =  { { X } }
)
5049ad2antrr 488 . . . . . . . . 9  |-  ( ( ( ( Fun  F  /\  F  =  <. X ,  Y >. )  /\  b  e.  <. X ,  Y >. )  /\  b  =  <. c ,  d
>. )  ->  F  =  { { X } } )
5144sneqd 3679 . . . . . . . . . . 11  |-  ( ( ( ( Fun  F  /\  F  =  <. X ,  Y >. )  /\  b  e.  <. X ,  Y >. )  /\  b  =  <. c ,  d
>. )  ->  { X }  =  { { c } } )
5251sneqd 3679 . . . . . . . . . 10  |-  ( ( ( ( Fun  F  /\  F  =  <. X ,  Y >. )  /\  b  e.  <. X ,  Y >. )  /\  b  =  <. c ,  d
>. )  ->  { { X } }  =  { { { c } } } )
5312opid 3874 . . . . . . . . . . 11  |-  <. c ,  c >.  =  { { c } }
5453sneqi 3678 . . . . . . . . . 10  |-  { <. c ,  c >. }  =  { { { c } } }
5552, 54eqtr4di 2280 . . . . . . . . 9  |-  ( ( ( ( Fun  F  /\  F  =  <. X ,  Y >. )  /\  b  e.  <. X ,  Y >. )  /\  b  =  <. c ,  d
>. )  ->  { { X } }  =  { <. c ,  c >. } )
5650, 55eqtrd 2262 . . . . . . . 8  |-  ( ( ( ( Fun  F  /\  F  =  <. X ,  Y >. )  /\  b  e.  <. X ,  Y >. )  /\  b  =  <. c ,  d
>. )  ->  F  =  { <. c ,  c
>. } )
57 sneq 3677 . . . . . . . . . . 11  |-  ( a  =  c  ->  { a }  =  { c } )
5857eqeq2d 2241 . . . . . . . . . 10  |-  ( a  =  c  ->  ( X  =  { a } 
<->  X  =  { c } ) )
59 id 19 . . . . . . . . . . . . 13  |-  ( a  =  c  ->  a  =  c )
6059, 59opeq12d 3864 . . . . . . . . . . . 12  |-  ( a  =  c  ->  <. a ,  a >.  =  <. c ,  c >. )
6160sneqd 3679 . . . . . . . . . . 11  |-  ( a  =  c  ->  { <. a ,  a >. }  =  { <. c ,  c
>. } )
6261eqeq2d 2241 . . . . . . . . . 10  |-  ( a  =  c  ->  ( F  =  { <. a ,  a >. }  <->  F  =  { <. c ,  c
>. } ) )
6358, 62anbi12d 473 . . . . . . . . 9  |-  ( a  =  c  ->  (
( X  =  {
a }  /\  F  =  { <. a ,  a
>. } )  <->  ( X  =  { c }  /\  F  =  { <. c ,  c >. } ) ) )
6412, 63spcev 2898 . . . . . . . 8  |-  ( ( X  =  { c }  /\  F  =  { <. c ,  c
>. } )  ->  E. a
( X  =  {
a }  /\  F  =  { <. a ,  a
>. } ) )
6544, 56, 64syl2anc 411 . . . . . . 7  |-  ( ( ( ( Fun  F  /\  F  =  <. X ,  Y >. )  /\  b  e.  <. X ,  Y >. )  /\  b  =  <. c ,  d
>. )  ->  E. a
( X  =  {
a }  /\  F  =  { <. a ,  a
>. } ) )
6665ex 115 . . . . . 6  |-  ( ( ( Fun  F  /\  F  =  <. X ,  Y >. )  /\  b  e.  <. X ,  Y >. )  ->  ( b  =  <. c ,  d
>.  ->  E. a ( X  =  { a }  /\  F  =  { <. a ,  a >. } ) ) )
6766exlimdvv 1944 . . . . 5  |-  ( ( ( Fun  F  /\  F  =  <. X ,  Y >. )  /\  b  e.  <. X ,  Y >. )  ->  ( E. c E. d  b  = 
<. c ,  d >.  ->  E. a ( X  =  { a }  /\  F  =  { <. a ,  a >. } ) ) )
6811, 67mpd 13 . . . 4  |-  ( ( ( Fun  F  /\  F  =  <. X ,  Y >. )  /\  b  e.  <. X ,  Y >. )  ->  E. a
( X  =  {
a }  /\  F  =  { <. a ,  a
>. } ) )
6968expcom 116 . . 3  |-  ( b  e.  <. X ,  Y >.  ->  ( ( Fun 
F  /\  F  =  <. X ,  Y >. )  ->  E. a ( X  =  { a }  /\  F  =  { <. a ,  a >. } ) ) )
7069exlimiv 1644 . 2  |-  ( E. b  b  e.  <. X ,  Y >.  ->  (
( Fun  F  /\  F  =  <. X ,  Y >. )  ->  E. a
( X  =  {
a }  /\  F  =  { <. a ,  a
>. } ) ) )
714, 70ax-mp 5 1  |-  ( ( Fun  F  /\  F  =  <. X ,  Y >. )  ->  E. a
( X  =  {
a }  /\  F  =  { <. a ,  a
>. } ) )
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 104    <-> wb 105    \/ wo 713    = wceq 1395   E.wex 1538    e. wcel 2200   _Vcvv 2799   {csn 3666   {cpr 3667   <.cop 3669   Rel wrel 4723   Fun wfun 5311
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 106  ax-ia2 107  ax-ia3 108  ax-io 714  ax-5 1493  ax-7 1494  ax-gen 1495  ax-ie1 1539  ax-ie2 1540  ax-8 1550  ax-10 1551  ax-11 1552  ax-i12 1553  ax-bndl 1555  ax-4 1556  ax-17 1572  ax-i9 1576  ax-ial 1580  ax-i5r 1581  ax-14 2203  ax-ext 2211  ax-sep 4201  ax-pow 4257  ax-pr 4292
This theorem depends on definitions:  df-bi 117  df-3an 1004  df-tru 1398  df-nf 1507  df-sb 1809  df-eu 2080  df-mo 2081  df-clab 2216  df-cleq 2222  df-clel 2225  df-nfc 2361  df-ral 2513  df-v 2801  df-un 3201  df-in 3203  df-ss 3210  df-pw 3651  df-sn 3672  df-pr 3673  df-op 3675  df-br 4083  df-opab 4145  df-id 4383  df-xp 4724  df-rel 4725  df-cnv 4726  df-co 4727  df-fun 5319
This theorem is referenced by:  funop  5817
  Copyright terms: Public domain W3C validator