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

Theorem uchoice 6289
Description: Principle of unique choice. This is also called non-choice. The name choice results in its similarity to something like acfun 7397 (with the key difference being the change of  E. to  E!) but unique choice in fact follows from the axiom of collection and our other axioms. This is somewhat similar to Corollary 3.9.2 of [HoTT], p. (varies) but is better described by the paragraph at the end of Section 3.9 which starts "A similar issue arises in set-theoretic mathematics". (Contributed by Jim Kingdon, 13-Sep-2025.)
Assertion
Ref Expression
uchoice  |-  ( ( A  e.  V  /\  A. x  e.  A  E! y ph )  ->  E. f
( f  Fn  A  /\  A. x  e.  A  [. ( f `  x
)  /  y ]. ph ) )
Distinct variable groups:    A, f, x, y    ph, f
Allowed substitution hints:    ph( x, y)    V( x, y, f)

Proof of Theorem uchoice
Dummy variables  u  v are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 eqid 2229 . . . . . . . . 9  |-  { <. x ,  y >.  |  ( x  e.  A  /\  ph ) }  =  { <. x ,  y >.  |  ( x  e.  A  /\  ph ) }
21fnopabg 5447 . . . . . . . 8  |-  ( A. x  e.  A  E! y ph  <->  { <. x ,  y
>.  |  ( x  e.  A  /\  ph ) }  Fn  A )
32biimpi 120 . . . . . . 7  |-  ( A. x  e.  A  E! y ph  ->  { <. x ,  y >.  |  ( x  e.  A  /\  ph ) }  Fn  A
)
43adantl 277 . . . . . 6  |-  ( ( A  e.  V  /\  A. x  e.  A  E! y ph )  ->  { <. x ,  y >.  |  ( x  e.  A  /\  ph ) }  Fn  A
)
5 simpl 109 . . . . . 6  |-  ( ( A  e.  V  /\  A. x  e.  A  E! y ph )  ->  A  e.  V )
6 fnex 5865 . . . . . 6  |-  ( ( { <. x ,  y
>.  |  ( x  e.  A  /\  ph ) }  Fn  A  /\  A  e.  V )  ->  { <. x ,  y
>.  |  ( x  e.  A  /\  ph ) }  e.  _V )
74, 5, 6syl2anc 411 . . . . 5  |-  ( ( A  e.  V  /\  A. x  e.  A  E! y ph )  ->  { <. x ,  y >.  |  ( x  e.  A  /\  ph ) }  e.  _V )
8 fnopfvb 5675 . . . . . . . . . 10  |-  ( ( { <. x ,  y
>.  |  ( x  e.  A  /\  ph ) }  Fn  A  /\  u  e.  A )  ->  ( ( { <. x ,  y >.  |  ( x  e.  A  /\  ph ) } `  u
)  =  v  <->  <. u ,  v >.  e.  { <. x ,  y >.  |  ( x  e.  A  /\  ph ) } ) )
9 nfv 1574 . . . . . . . . . . . 12  |-  F/ x  u  e.  A
10 nfsbc1v 3047 . . . . . . . . . . . 12  |-  F/ x [. u  /  x ]. ph
119, 10nfan 1611 . . . . . . . . . . 11  |-  F/ x
( u  e.  A  /\  [. u  /  x ]. ph )
12 nfv 1574 . . . . . . . . . . . 12  |-  F/ y  u  e.  A
13 nfsbc1v 3047 . . . . . . . . . . . 12  |-  F/ y
[. v  /  y ]. [. u  /  x ]. ph
1412, 13nfan 1611 . . . . . . . . . . 11  |-  F/ y ( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph )
15 vex 2802 . . . . . . . . . . 11  |-  u  e. 
_V
16 vex 2802 . . . . . . . . . . 11  |-  v  e. 
_V
17 eleq1w 2290 . . . . . . . . . . . 12  |-  ( x  =  u  ->  (
x  e.  A  <->  u  e.  A ) )
18 sbceq1a 3038 . . . . . . . . . . . 12  |-  ( x  =  u  ->  ( ph 
<-> 
[. u  /  x ]. ph ) )
1917, 18anbi12d 473 . . . . . . . . . . 11  |-  ( x  =  u  ->  (
( x  e.  A  /\  ph )  <->  ( u  e.  A  /\  [. u  /  x ]. ph )
) )
20 sbceq1a 3038 . . . . . . . . . . . 12  |-  ( y  =  v  ->  ( [. u  /  x ]. ph  <->  [. v  /  y ]. [. u  /  x ]. ph ) )
2120anbi2d 464 . . . . . . . . . . 11  |-  ( y  =  v  ->  (
( u  e.  A  /\  [. u  /  x ]. ph )  <->  ( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph )
) )
2211, 14, 15, 16, 19, 21opelopabf 4363 . . . . . . . . . 10  |-  ( <.
u ,  v >.  e.  { <. x ,  y
>.  |  ( x  e.  A  /\  ph ) } 
<->  ( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph ) )
238, 22bitrdi 196 . . . . . . . . 9  |-  ( ( { <. x ,  y
>.  |  ( x  e.  A  /\  ph ) }  Fn  A  /\  u  e.  A )  ->  ( ( { <. x ,  y >.  |  ( x  e.  A  /\  ph ) } `  u
)  =  v  <->  ( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph )
) )
2423ralrimiva 2603 . . . . . . . 8  |-  ( {
<. x ,  y >.  |  ( x  e.  A  /\  ph ) }  Fn  A  ->  A. u  e.  A  ( ( { <. x ,  y >.  |  ( x  e.  A  /\  ph ) } `  u
)  =  v  <->  ( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph )
) )
2524alrimiv 1920 . . . . . . 7  |-  ( {
<. x ,  y >.  |  ( x  e.  A  /\  ph ) }  Fn  A  ->  A. v A. u  e.  A  ( ( {
<. x ,  y >.  |  ( x  e.  A  /\  ph ) } `  u )  =  v  <->  ( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph )
) )
2625ancli 323 . . . . . 6  |-  ( {
<. x ,  y >.  |  ( x  e.  A  /\  ph ) }  Fn  A  ->  ( { <. x ,  y
>.  |  ( x  e.  A  /\  ph ) }  Fn  A  /\  A. v A. u  e.  A  ( ( {
<. x ,  y >.  |  ( x  e.  A  /\  ph ) } `  u )  =  v  <->  ( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph )
) ) )
274, 26syl 14 . . . . 5  |-  ( ( A  e.  V  /\  A. x  e.  A  E! y ph )  ->  ( { <. x ,  y
>.  |  ( x  e.  A  /\  ph ) }  Fn  A  /\  A. v A. u  e.  A  ( ( {
<. x ,  y >.  |  ( x  e.  A  /\  ph ) } `  u )  =  v  <->  ( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph )
) ) )
28 fneq1 5409 . . . . . 6  |-  ( f  =  { <. x ,  y >.  |  ( x  e.  A  /\  ph ) }  ->  (
f  Fn  A  <->  { <. x ,  y >.  |  ( x  e.  A  /\  ph ) }  Fn  A
) )
29 fveq1 5628 . . . . . . . . . 10  |-  ( f  =  { <. x ,  y >.  |  ( x  e.  A  /\  ph ) }  ->  (
f `  u )  =  ( { <. x ,  y >.  |  ( x  e.  A  /\  ph ) } `  u
) )
3029eqeq1d 2238 . . . . . . . . 9  |-  ( f  =  { <. x ,  y >.  |  ( x  e.  A  /\  ph ) }  ->  (
( f `  u
)  =  v  <->  ( { <. x ,  y >.  |  ( x  e.  A  /\  ph ) } `  u )  =  v ) )
3130bibi1d 233 . . . . . . . 8  |-  ( f  =  { <. x ,  y >.  |  ( x  e.  A  /\  ph ) }  ->  (
( ( f `  u )  =  v  <-> 
( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph ) )  <->  ( ( { <. x ,  y
>.  |  ( x  e.  A  /\  ph ) } `  u )  =  v  <->  ( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph )
) ) )
3231ralbidv 2530 . . . . . . 7  |-  ( f  =  { <. x ,  y >.  |  ( x  e.  A  /\  ph ) }  ->  ( A. u  e.  A  ( ( f `  u )  =  v  <-> 
( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph ) )  <->  A. u  e.  A  ( ( { <. x ,  y
>.  |  ( x  e.  A  /\  ph ) } `  u )  =  v  <->  ( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph )
) ) )
3332albidv 1870 . . . . . 6  |-  ( f  =  { <. x ,  y >.  |  ( x  e.  A  /\  ph ) }  ->  ( A. v A. u  e.  A  ( ( f `
 u )  =  v  <->  ( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph )
)  <->  A. v A. u  e.  A  ( ( { <. x ,  y
>.  |  ( x  e.  A  /\  ph ) } `  u )  =  v  <->  ( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph )
) ) )
3428, 33anbi12d 473 . . . . 5  |-  ( f  =  { <. x ,  y >.  |  ( x  e.  A  /\  ph ) }  ->  (
( f  Fn  A  /\  A. v A. u  e.  A  ( (
f `  u )  =  v  <->  ( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph )
) )  <->  ( { <. x ,  y >.  |  ( x  e.  A  /\  ph ) }  Fn  A  /\  A. v A. u  e.  A  ( ( {
<. x ,  y >.  |  ( x  e.  A  /\  ph ) } `  u )  =  v  <->  ( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph )
) ) ) )
357, 27, 34elabd 2948 . . . 4  |-  ( ( A  e.  V  /\  A. x  e.  A  E! y ph )  ->  E. f
( f  Fn  A  /\  A. v A. u  e.  A  ( (
f `  u )  =  v  <->  ( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph )
) ) )
36 ralcom4 2822 . . . . . 6  |-  ( A. u  e.  A  A. v ( ( f `
 u )  =  v  <->  ( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph )
)  <->  A. v A. u  e.  A  ( (
f `  u )  =  v  <->  ( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph )
) )
3736anbi2i 457 . . . . 5  |-  ( ( f  Fn  A  /\  A. u  e.  A  A. v ( ( f `
 u )  =  v  <->  ( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph )
) )  <->  ( f  Fn  A  /\  A. v A. u  e.  A  ( ( f `  u )  =  v  <-> 
( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph ) ) ) )
3837exbii 1651 . . . 4  |-  ( E. f ( f  Fn  A  /\  A. u  e.  A  A. v
( ( f `  u )  =  v  <-> 
( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph ) ) )  <->  E. f ( f  Fn  A  /\  A. v A. u  e.  A  ( ( f `  u )  =  v  <-> 
( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph ) ) ) )
3935, 38sylibr 134 . . 3  |-  ( ( A  e.  V  /\  A. x  e.  A  E! y ph )  ->  E. f
( f  Fn  A  /\  A. u  e.  A  A. v ( ( f `
 u )  =  v  <->  ( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph )
) ) )
40 nfv 1574 . . . . . . . 8  |-  F/ x
( f `  u
)  =  v
41 nfcv 2372 . . . . . . . . . 10  |-  F/_ x
v
4241, 10nfsbc 3049 . . . . . . . . 9  |-  F/ x [. v  /  y ]. [. u  /  x ]. ph
439, 42nfan 1611 . . . . . . . 8  |-  F/ x
( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph )
4440, 43nfbi 1635 . . . . . . 7  |-  F/ x
( ( f `  u )  =  v  <-> 
( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph ) )
4544nfal 1622 . . . . . 6  |-  F/ x A. v ( ( f `
 u )  =  v  <->  ( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph )
)
46 nfv 1574 . . . . . 6  |-  F/ u A. v ( ( f `
 x )  =  v  <->  ( x  e.  A  /\  [. v  /  y ]. ph )
)
47 fveqeq2 5638 . . . . . . . 8  |-  ( u  =  x  ->  (
( f `  u
)  =  v  <->  ( f `  x )  =  v ) )
48 eleq1w 2290 . . . . . . . . 9  |-  ( u  =  x  ->  (
u  e.  A  <->  x  e.  A ) )
49 sbceq2a 3039 . . . . . . . . . 10  |-  ( u  =  x  ->  ( [. u  /  x ]. ph  <->  ph ) )
5049sbcbidv 3087 . . . . . . . . 9  |-  ( u  =  x  ->  ( [. v  /  y ]. [. u  /  x ]. ph  <->  [. v  /  y ]. ph ) )
5148, 50anbi12d 473 . . . . . . . 8  |-  ( u  =  x  ->  (
( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph )  <->  ( x  e.  A  /\  [. v  /  y ]. ph )
) )
5247, 51bibi12d 235 . . . . . . 7  |-  ( u  =  x  ->  (
( ( f `  u )  =  v  <-> 
( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph ) )  <->  ( (
f `  x )  =  v  <->  ( x  e.  A  /\  [. v  /  y ]. ph )
) ) )
5352albidv 1870 . . . . . 6  |-  ( u  =  x  ->  ( A. v ( ( f `
 u )  =  v  <->  ( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph )
)  <->  A. v ( ( f `  x )  =  v  <->  ( x  e.  A  /\  [. v  /  y ]. ph )
) ) )
5445, 46, 53cbvral 2761 . . . . 5  |-  ( A. u  e.  A  A. v ( ( f `
 u )  =  v  <->  ( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph )
)  <->  A. x  e.  A  A. v ( ( f `
 x )  =  v  <->  ( x  e.  A  /\  [. v  /  y ]. ph )
) )
5554anbi2i 457 . . . 4  |-  ( ( f  Fn  A  /\  A. u  e.  A  A. v ( ( f `
 u )  =  v  <->  ( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph )
) )  <->  ( f  Fn  A  /\  A. x  e.  A  A. v
( ( f `  x )  =  v  <-> 
( x  e.  A  /\  [. v  /  y ]. ph ) ) ) )
5655exbii 1651 . . 3  |-  ( E. f ( f  Fn  A  /\  A. u  e.  A  A. v
( ( f `  u )  =  v  <-> 
( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph ) ) )  <->  E. f ( f  Fn  A  /\  A. x  e.  A  A. v
( ( f `  x )  =  v  <-> 
( x  e.  A  /\  [. v  /  y ]. ph ) ) ) )
5739, 56sylib 122 . 2  |-  ( ( A  e.  V  /\  A. x  e.  A  E! y ph )  ->  E. f
( f  Fn  A  /\  A. x  e.  A  A. v ( ( f `
 x )  =  v  <->  ( x  e.  A  /\  [. v  /  y ]. ph )
) ) )
58 eqidd 2230 . . . . . . 7  |-  ( A. v ( ( f `
 x )  =  v  <->  ( x  e.  A  /\  [. v  /  y ]. ph )
)  ->  ( f `  x )  =  ( f `  x ) )
59 vex 2802 . . . . . . . . 9  |-  f  e. 
_V
60 vex 2802 . . . . . . . . 9  |-  x  e. 
_V
6159, 60fvex 5649 . . . . . . . 8  |-  ( f `
 x )  e. 
_V
62 eqeq2 2239 . . . . . . . . 9  |-  ( v  =  ( f `  x )  ->  (
( f `  x
)  =  v  <->  ( f `  x )  =  ( f `  x ) ) )
63 dfsbcq 3030 . . . . . . . . . 10  |-  ( v  =  ( f `  x )  ->  ( [. v  /  y ]. ph  <->  [. ( f `  x )  /  y ]. ph ) )
6463anbi2d 464 . . . . . . . . 9  |-  ( v  =  ( f `  x )  ->  (
( x  e.  A  /\  [. v  /  y ]. ph )  <->  ( x  e.  A  /\  [. (
f `  x )  /  y ]. ph )
) )
6562, 64bibi12d 235 . . . . . . . 8  |-  ( v  =  ( f `  x )  ->  (
( ( f `  x )  =  v  <-> 
( x  e.  A  /\  [. v  /  y ]. ph ) )  <->  ( (
f `  x )  =  ( f `  x )  <->  ( x  e.  A  /\  [. (
f `  x )  /  y ]. ph )
) ) )
6661, 65spcv 2897 . . . . . . 7  |-  ( A. v ( ( f `
 x )  =  v  <->  ( x  e.  A  /\  [. v  /  y ]. ph )
)  ->  ( (
f `  x )  =  ( f `  x )  <->  ( x  e.  A  /\  [. (
f `  x )  /  y ]. ph )
) )
6758, 66mpbid 147 . . . . . 6  |-  ( A. v ( ( f `
 x )  =  v  <->  ( x  e.  A  /\  [. v  /  y ]. ph )
)  ->  ( x  e.  A  /\  [. (
f `  x )  /  y ]. ph )
)
6867simprd 114 . . . . 5  |-  ( A. v ( ( f `
 x )  =  v  <->  ( x  e.  A  /\  [. v  /  y ]. ph )
)  ->  [. ( f `
 x )  / 
y ]. ph )
6968ralimi 2593 . . . 4  |-  ( A. x  e.  A  A. v ( ( f `
 x )  =  v  <->  ( x  e.  A  /\  [. v  /  y ]. ph )
)  ->  A. x  e.  A  [. ( f `
 x )  / 
y ]. ph )
7069anim2i 342 . . 3  |-  ( ( f  Fn  A  /\  A. x  e.  A  A. v ( ( f `
 x )  =  v  <->  ( x  e.  A  /\  [. v  /  y ]. ph )
) )  ->  (
f  Fn  A  /\  A. x  e.  A  [. ( f `  x
)  /  y ]. ph ) )
7170eximi 1646 . 2  |-  ( E. f ( f  Fn  A  /\  A. x  e.  A  A. v
( ( f `  x )  =  v  <-> 
( x  e.  A  /\  [. v  /  y ]. ph ) ) )  ->  E. f ( f  Fn  A  /\  A. x  e.  A  [. (
f `  x )  /  y ]. ph )
)
7257, 71syl 14 1  |-  ( ( A  e.  V  /\  A. x  e.  A  E! y ph )  ->  E. f
( f  Fn  A  /\  A. x  e.  A  [. ( f `  x
)  /  y ]. ph ) )
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 104    <-> wb 105   A.wal 1393    = wceq 1395   E.wex 1538   E!weu 2077    e. wcel 2200   A.wral 2508   _Vcvv 2799   [.wsbc 3028   <.cop 3669   {copab 4144    Fn wfn 5313   ` cfv 5318
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-13 2202  ax-14 2203  ax-ext 2211  ax-coll 4199  ax-sep 4202  ax-pow 4258  ax-pr 4293  ax-un 4524
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-rex 2514  df-reu 2515  df-rab 2517  df-v 2801  df-sbc 3029  df-csb 3125  df-un 3201  df-in 3203  df-ss 3210  df-pw 3651  df-sn 3672  df-pr 3673  df-op 3675  df-uni 3889  df-iun 3967  df-br 4084  df-opab 4146  df-mpt 4147  df-id 4384  df-xp 4725  df-rel 4726  df-cnv 4727  df-co 4728  df-dm 4729  df-rn 4730  df-res 4731  df-ima 4732  df-iota 5278  df-fun 5320  df-fn 5321  df-f 5322  df-f1 5323  df-fo 5324  df-f1o 5325  df-fv 5326
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator