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

Theorem uchoice 6333
Description: Principle of unique choice. This is also called non-choice. The name choice results in its similarity to something like acfun 7516 (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 2234 . . . . . . . . 9  |-  { <. x ,  y >.  |  ( x  e.  A  /\  ph ) }  =  { <. x ,  y >.  |  ( x  e.  A  /\  ph ) }
21fnopabg 5484 . . . . . . . 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 5908 . . . . . 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 5718 . . . . . . . . . 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 1577 . . . . . . . . . . . 12  |-  F/ x  u  e.  A
10 nfsbc1v 3063 . . . . . . . . . . . 12  |-  F/ x [. u  /  x ]. ph
119, 10nfan 1614 . . . . . . . . . . 11  |-  F/ x
( u  e.  A  /\  [. u  /  x ]. ph )
12 nfv 1577 . . . . . . . . . . . 12  |-  F/ y  u  e.  A
13 nfsbc1v 3063 . . . . . . . . . . . 12  |-  F/ y
[. v  /  y ]. [. u  /  x ]. ph
1412, 13nfan 1614 . . . . . . . . . . 11  |-  F/ y ( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph )
15 vex 2818 . . . . . . . . . . 11  |-  u  e. 
_V
16 vex 2818 . . . . . . . . . . 11  |-  v  e. 
_V
17 eleq1w 2295 . . . . . . . . . . . 12  |-  ( x  =  u  ->  (
x  e.  A  <->  u  e.  A ) )
18 sbceq1a 3054 . . . . . . . . . . . 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 3054 . . . . . . . . . . . 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 4395 . . . . . . . . . 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 2617 . . . . . . . 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 1923 . . . . . . 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 5446 . . . . . 6  |-  ( f  =  { <. x ,  y >.  |  ( x  e.  A  /\  ph ) }  ->  (
f  Fn  A  <->  { <. x ,  y >.  |  ( x  e.  A  /\  ph ) }  Fn  A
) )
29 fveq1 5671 . . . . . . . . . 10  |-  ( f  =  { <. x ,  y >.  |  ( x  e.  A  /\  ph ) }  ->  (
f `  u )  =  ( { <. x ,  y >.  |  ( x  e.  A  /\  ph ) } `  u
) )
3029eqeq1d 2243 . . . . . . . . 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 2544 . . . . . . 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 1873 . . . . . 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 2964 . . . 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 2838 . . . . . 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 1654 . . . 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 1577 . . . . . . . 8  |-  F/ x
( f `  u
)  =  v
41 nfcv 2386 . . . . . . . . . 10  |-  F/_ x
v
4241, 10nfsbc 3065 . . . . . . . . 9  |-  F/ x [. v  /  y ]. [. u  /  x ]. ph
439, 42nfan 1614 . . . . . . . 8  |-  F/ x
( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph )
4440, 43nfbi 1638 . . . . . . 7  |-  F/ x
( ( f `  u )  =  v  <-> 
( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph ) )
4544nfal 1625 . . . . . 6  |-  F/ x A. v ( ( f `
 u )  =  v  <->  ( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph )
)
46 nfv 1577 . . . . . 6  |-  F/ u A. v ( ( f `
 x )  =  v  <->  ( x  e.  A  /\  [. v  /  y ]. ph )
)
47 fveqeq2 5681 . . . . . . . 8  |-  ( u  =  x  ->  (
( f `  u
)  =  v  <->  ( f `  x )  =  v ) )
48 eleq1w 2295 . . . . . . . . 9  |-  ( u  =  x  ->  (
u  e.  A  <->  x  e.  A ) )
49 sbceq2a 3055 . . . . . . . . . 10  |-  ( u  =  x  ->  ( [. u  /  x ]. ph  <->  ph ) )
5049sbcbidv 3103 . . . . . . . . 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 1873 . . . . . 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 2776 . . . . 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 1654 . . 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 2235 . . . . . . 7  |-  ( A. v ( ( f `
 x )  =  v  <->  ( x  e.  A  /\  [. v  /  y ]. ph )
)  ->  ( f `  x )  =  ( f `  x ) )
59 vex 2818 . . . . . . . . 9  |-  f  e. 
_V
60 vex 2818 . . . . . . . . 9  |-  x  e. 
_V
6159, 60fvex 5692 . . . . . . . 8  |-  ( f `
 x )  e. 
_V
62 eqeq2 2244 . . . . . . . . 9  |-  ( v  =  ( f `  x )  ->  (
( f `  x
)  =  v  <->  ( f `  x )  =  ( f `  x ) ) )
63 dfsbcq 3046 . . . . . . . . . 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 2913 . . . . . . 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 2607 . . . 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 1649 . 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 1396    = wceq 1398   E.wex 1541   E!weu 2082    e. wcel 2205   A.wral 2522   _Vcvv 2815   [.wsbc 3044   <.cop 3694   {copab 4172    Fn wfn 5349   ` cfv 5354
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 717  ax-5 1496  ax-7 1497  ax-gen 1498  ax-ie1 1542  ax-ie2 1543  ax-8 1553  ax-10 1554  ax-11 1555  ax-i12 1556  ax-bndl 1558  ax-4 1559  ax-17 1575  ax-i9 1579  ax-ial 1583  ax-i5r 1584  ax-13 2207  ax-14 2208  ax-ext 2216  ax-coll 4227  ax-sep 4230  ax-pow 4289  ax-pr 4324  ax-un 4556
This theorem depends on definitions:  df-bi 117  df-3an 1007  df-tru 1401  df-nf 1510  df-sb 1812  df-eu 2085  df-mo 2086  df-clab 2221  df-cleq 2227  df-clel 2230  df-nfc 2375  df-ral 2527  df-rex 2528  df-reu 2529  df-rab 2531  df-v 2817  df-sbc 3045  df-csb 3141  df-un 3217  df-in 3219  df-ss 3226  df-pw 3673  df-sn 3697  df-pr 3698  df-op 3700  df-uni 3917  df-iun 3995  df-br 4112  df-opab 4174  df-mpt 4175  df-id 4416  df-xp 4757  df-rel 4758  df-cnv 4759  df-co 4760  df-dm 4761  df-rn 4762  df-res 4763  df-ima 4764  df-iota 5314  df-fun 5356  df-fn 5357  df-f 5358  df-f1 5359  df-fo 5360  df-f1o 5361  df-fv 5362
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator