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

Theorem uchoice 6305
Description: Principle of unique choice. This is also called non-choice. The name choice results in its similarity to something like acfun 7427 (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 2230 . . . . . . . . 9  |-  { <. x ,  y >.  |  ( x  e.  A  /\  ph ) }  =  { <. x ,  y >.  |  ( x  e.  A  /\  ph ) }
21fnopabg 5458 . . . . . . . 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 5879 . . . . . 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 5688 . . . . . . . . . 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 1576 . . . . . . . . . . . 12  |-  F/ x  u  e.  A
10 nfsbc1v 3049 . . . . . . . . . . . 12  |-  F/ x [. u  /  x ]. ph
119, 10nfan 1613 . . . . . . . . . . 11  |-  F/ x
( u  e.  A  /\  [. u  /  x ]. ph )
12 nfv 1576 . . . . . . . . . . . 12  |-  F/ y  u  e.  A
13 nfsbc1v 3049 . . . . . . . . . . . 12  |-  F/ y
[. v  /  y ]. [. u  /  x ]. ph
1412, 13nfan 1613 . . . . . . . . . . 11  |-  F/ y ( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph )
15 vex 2804 . . . . . . . . . . 11  |-  u  e. 
_V
16 vex 2804 . . . . . . . . . . 11  |-  v  e. 
_V
17 eleq1w 2291 . . . . . . . . . . . 12  |-  ( x  =  u  ->  (
x  e.  A  <->  u  e.  A ) )
18 sbceq1a 3040 . . . . . . . . . . . 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 3040 . . . . . . . . . . . 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 4371 . . . . . . . . . 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 2604 . . . . . . . 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 1921 . . . . . . 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 5420 . . . . . 6  |-  ( f  =  { <. x ,  y >.  |  ( x  e.  A  /\  ph ) }  ->  (
f  Fn  A  <->  { <. x ,  y >.  |  ( x  e.  A  /\  ph ) }  Fn  A
) )
29 fveq1 5641 . . . . . . . . . 10  |-  ( f  =  { <. x ,  y >.  |  ( x  e.  A  /\  ph ) }  ->  (
f `  u )  =  ( { <. x ,  y >.  |  ( x  e.  A  /\  ph ) } `  u
) )
3029eqeq1d 2239 . . . . . . . . 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 2531 . . . . . . 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 1871 . . . . . 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 2950 . . . 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 2824 . . . . . 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 1653 . . . 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 1576 . . . . . . . 8  |-  F/ x
( f `  u
)  =  v
41 nfcv 2373 . . . . . . . . . 10  |-  F/_ x
v
4241, 10nfsbc 3051 . . . . . . . . 9  |-  F/ x [. v  /  y ]. [. u  /  x ]. ph
439, 42nfan 1613 . . . . . . . 8  |-  F/ x
( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph )
4440, 43nfbi 1637 . . . . . . 7  |-  F/ x
( ( f `  u )  =  v  <-> 
( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph ) )
4544nfal 1624 . . . . . 6  |-  F/ x A. v ( ( f `
 u )  =  v  <->  ( u  e.  A  /\  [. v  /  y ]. [. u  /  x ]. ph )
)
46 nfv 1576 . . . . . 6  |-  F/ u A. v ( ( f `
 x )  =  v  <->  ( x  e.  A  /\  [. v  /  y ]. ph )
)
47 fveqeq2 5651 . . . . . . . 8  |-  ( u  =  x  ->  (
( f `  u
)  =  v  <->  ( f `  x )  =  v ) )
48 eleq1w 2291 . . . . . . . . 9  |-  ( u  =  x  ->  (
u  e.  A  <->  x  e.  A ) )
49 sbceq2a 3041 . . . . . . . . . 10  |-  ( u  =  x  ->  ( [. u  /  x ]. ph  <->  ph ) )
5049sbcbidv 3089 . . . . . . . . 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 1871 . . . . . 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 2762 . . . . 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 1653 . . 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 2231 . . . . . . 7  |-  ( A. v ( ( f `
 x )  =  v  <->  ( x  e.  A  /\  [. v  /  y ]. ph )
)  ->  ( f `  x )  =  ( f `  x ) )
59 vex 2804 . . . . . . . . 9  |-  f  e. 
_V
60 vex 2804 . . . . . . . . 9  |-  x  e. 
_V
6159, 60fvex 5662 . . . . . . . 8  |-  ( f `
 x )  e. 
_V
62 eqeq2 2240 . . . . . . . . 9  |-  ( v  =  ( f `  x )  ->  (
( f `  x
)  =  v  <->  ( f `  x )  =  ( f `  x ) ) )
63 dfsbcq 3032 . . . . . . . . . 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 2899 . . . . . . 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 2594 . . . 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 1648 . 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 1395    = wceq 1397   E.wex 1540   E!weu 2078    e. wcel 2201   A.wral 2509   _Vcvv 2801   [.wsbc 3030   <.cop 3673   {copab 4150    Fn wfn 5323   ` cfv 5328
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 716  ax-5 1495  ax-7 1496  ax-gen 1497  ax-ie1 1541  ax-ie2 1542  ax-8 1552  ax-10 1553  ax-11 1554  ax-i12 1555  ax-bndl 1557  ax-4 1558  ax-17 1574  ax-i9 1578  ax-ial 1582  ax-i5r 1583  ax-13 2203  ax-14 2204  ax-ext 2212  ax-coll 4205  ax-sep 4208  ax-pow 4266  ax-pr 4301  ax-un 4532
This theorem depends on definitions:  df-bi 117  df-3an 1006  df-tru 1400  df-nf 1509  df-sb 1810  df-eu 2081  df-mo 2082  df-clab 2217  df-cleq 2223  df-clel 2226  df-nfc 2362  df-ral 2514  df-rex 2515  df-reu 2516  df-rab 2518  df-v 2803  df-sbc 3031  df-csb 3127  df-un 3203  df-in 3205  df-ss 3212  df-pw 3655  df-sn 3676  df-pr 3677  df-op 3679  df-uni 3895  df-iun 3973  df-br 4090  df-opab 4152  df-mpt 4153  df-id 4392  df-xp 4733  df-rel 4734  df-cnv 4735  df-co 4736  df-dm 4737  df-rn 4738  df-res 4739  df-ima 4740  df-iota 5288  df-fun 5330  df-fn 5331  df-f 5332  df-f1 5333  df-fo 5334  df-f1o 5335  df-fv 5336
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator