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

Theorem uchoice 6230
Description: Principle of unique choice. This is also called non-choice. The name choice results in its similarity to something like acfun 7326 (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 2206 . . . . . . . . 9  |-  { <. x ,  y >.  |  ( x  e.  A  /\  ph ) }  =  { <. x ,  y >.  |  ( x  e.  A  /\  ph ) }
21fnopabg 5405 . . . . . . . 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 5813 . . . . . 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 5627 . . . . . . . . . 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 1552 . . . . . . . . . . . 12  |-  F/ x  u  e.  A
10 nfsbc1v 3018 . . . . . . . . . . . 12  |-  F/ x [. u  /  x ]. ph
119, 10nfan 1589 . . . . . . . . . . 11  |-  F/ x
( u  e.  A  /\  [. u  /  x ]. ph )
12 nfv 1552 . . . . . . . . . . . 12  |-  F/ y  u  e.  A
13 nfsbc1v 3018 . . . . . . . . . . . 12  |-  F/ y
[. v  /  y ]. [. u  /  x ]. ph
1412, 13nfan 1589 . . . . . . . . . . 11  |-  F/ y ( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph )
15 vex 2776 . . . . . . . . . . 11  |-  u  e. 
_V
16 vex 2776 . . . . . . . . . . 11  |-  v  e. 
_V
17 eleq1w 2267 . . . . . . . . . . . 12  |-  ( x  =  u  ->  (
x  e.  A  <->  u  e.  A ) )
18 sbceq1a 3009 . . . . . . . . . . . 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 3009 . . . . . . . . . . . 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 4325 . . . . . . . . . 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 2580 . . . . . . . 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 1898 . . . . . . 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 5367 . . . . . 6  |-  ( f  =  { <. x ,  y >.  |  ( x  e.  A  /\  ph ) }  ->  (
f  Fn  A  <->  { <. x ,  y >.  |  ( x  e.  A  /\  ph ) }  Fn  A
) )
29 fveq1 5582 . . . . . . . . . 10  |-  ( f  =  { <. x ,  y >.  |  ( x  e.  A  /\  ph ) }  ->  (
f `  u )  =  ( { <. x ,  y >.  |  ( x  e.  A  /\  ph ) } `  u
) )
3029eqeq1d 2215 . . . . . . . . 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 2507 . . . . . . 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 1848 . . . . . 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 2919 . . . 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 2795 . . . . . 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 1629 . . . 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 1552 . . . . . . . 8  |-  F/ x
( f `  u
)  =  v
41 nfcv 2349 . . . . . . . . . 10  |-  F/_ x
v
4241, 10nfsbc 3020 . . . . . . . . 9  |-  F/ x [. v  /  y ]. [. u  /  x ]. ph
439, 42nfan 1589 . . . . . . . 8  |-  F/ x
( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph )
4440, 43nfbi 1613 . . . . . . 7  |-  F/ x
( ( f `  u )  =  v  <-> 
( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph ) )
4544nfal 1600 . . . . . 6  |-  F/ x A. v ( ( f `
 u )  =  v  <->  ( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph )
)
46 nfv 1552 . . . . . 6  |-  F/ u A. v ( ( f `
 x )  =  v  <->  ( x  e.  A  /\  [. v  /  y ]. ph )
)
47 fveqeq2 5592 . . . . . . . 8  |-  ( u  =  x  ->  (
( f `  u
)  =  v  <->  ( f `  x )  =  v ) )
48 eleq1w 2267 . . . . . . . . 9  |-  ( u  =  x  ->  (
u  e.  A  <->  x  e.  A ) )
49 sbceq2a 3010 . . . . . . . . . 10  |-  ( u  =  x  ->  ( [. u  /  x ]. ph  <->  ph ) )
5049sbcbidv 3058 . . . . . . . . 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 1848 . . . . . 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 2735 . . . . 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 1629 . . 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 2207 . . . . . . 7  |-  ( A. v ( ( f `
 x )  =  v  <->  ( x  e.  A  /\  [. v  /  y ]. ph )
)  ->  ( f `  x )  =  ( f `  x ) )
59 vex 2776 . . . . . . . . 9  |-  f  e. 
_V
60 vex 2776 . . . . . . . . 9  |-  x  e. 
_V
6159, 60fvex 5603 . . . . . . . 8  |-  ( f `
 x )  e. 
_V
62 eqeq2 2216 . . . . . . . . 9  |-  ( v  =  ( f `  x )  ->  (
( f `  x
)  =  v  <->  ( f `  x )  =  ( f `  x ) ) )
63 dfsbcq 3001 . . . . . . . . . 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 2868 . . . . . . 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 2570 . . . 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 1624 . 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 1371    = wceq 1373   E.wex 1516   E!weu 2055    e. wcel 2177   A.wral 2485   _Vcvv 2773   [.wsbc 2999   <.cop 3637   {copab 4108    Fn wfn 5271   ` cfv 5276
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 711  ax-5 1471  ax-7 1472  ax-gen 1473  ax-ie1 1517  ax-ie2 1518  ax-8 1528  ax-10 1529  ax-11 1530  ax-i12 1531  ax-bndl 1533  ax-4 1534  ax-17 1550  ax-i9 1554  ax-ial 1558  ax-i5r 1559  ax-13 2179  ax-14 2180  ax-ext 2188  ax-coll 4163  ax-sep 4166  ax-pow 4222  ax-pr 4257  ax-un 4484
This theorem depends on definitions:  df-bi 117  df-3an 983  df-tru 1376  df-nf 1485  df-sb 1787  df-eu 2058  df-mo 2059  df-clab 2193  df-cleq 2199  df-clel 2202  df-nfc 2338  df-ral 2490  df-rex 2491  df-reu 2492  df-rab 2494  df-v 2775  df-sbc 3000  df-csb 3095  df-un 3171  df-in 3173  df-ss 3180  df-pw 3619  df-sn 3640  df-pr 3641  df-op 3643  df-uni 3853  df-iun 3931  df-br 4048  df-opab 4110  df-mpt 4111  df-id 4344  df-xp 4685  df-rel 4686  df-cnv 4687  df-co 4688  df-dm 4689  df-rn 4690  df-res 4691  df-ima 4692  df-iota 5237  df-fun 5278  df-fn 5279  df-f 5280  df-f1 5281  df-fo 5282  df-f1o 5283  df-fv 5284
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator