HomeHome Metamath Proof Explorer < Previous   Next >
Related theorems
Unicode version

Theorem dffun2 2674
Description: Alternate definition of a function.
Assertion
Ref Expression
dffun2 |- (Fun A <-> (Rel A /\ A.xA.yA.z((xAy /\ xAz) -> y = z)))
Distinct variable group(s):   x,y,z,A

Proof of Theorem dffun2
StepHypRef Expression
1 df-fun 2432 . 2 |- (Fun A <-> (Rel A /\ (A o. `'A) (_ I))
2 df-id 2125 . . . . . 6 |- I = {<.y, z>. | y = z}
32sseq2i 1525 . . . . 5 |- ((A o. `'A) (_ I <-> (A o. `'A) (_ {<.y, z>. | y = z})
4 df-co 2427 . . . . . 6 |- (A o. `'A) = {<.y, z>. | E.x(y`'Ax /\ xAz)}
54sseq1i 1524 . . . . 5 |- ((A o. `'A) (_ {<.y, z>. | y = z} <-> {<.y, z>. | E.x(y`'Ax /\ xAz)} (_ {<.y, z>. | y = z})
6 ssopab2 2119 . . . . 5 |- ({<.y, z>. | E.x(y`'Ax /\ xAz)} (_ {<.y, z>. | y = z} <-> A.yA.z(E.x(y`'Ax /\ xAz) -> y = z))
73, 5, 63bitr 155 . . . 4 |- ((A o. `'A) (_ I <-> A.yA.z(E.x(y`'Ax /\ xAz) -> y = z))
8 visset 1350 . . . . . . . . . . . 12 |- y e. V
9 visset 1350 . . . . . . . . . . . 12 |- x e. V
108, 9brcnv 2519 . . . . . . . . . . 11 |- (y`'Ax <-> xAy)
1110anbi1i 368 . . . . . . . . . 10 |- ((y`'Ax /\ xAz) <-> (xAy /\ xAz))
1211biex 733 . . . . . . . . 9 |- (E.x(y`'Ax /\ xAz) <-> E.x(xAy /\ xAz))
1312imbi1i 161 . . . . . . . 8 |- ((E.x(y`'Ax /\ xAz) -> y = z) <-> (E.x(xAy /\ xAz) -> y = z))
14 19.23v 950 . . . . . . . 8 |- (A.x((xAy /\ xAz) -> y = z) <-> (E.x(xAy /\ xAz) -> y = z))
1513, 14bitr4 154 . . . . . . 7 |- ((E.x(y`'Ax /\ xAz) -> y = z) <-> A.x((xAy /\ xAz) -> y = z))
1615bial 695 . . . . . 6 |- (A.z(E.x(y`'Ax /\ xAz) -> y = z) <-> A.zA.x((xAy /\ xAz) -> y = z))
17 alcom 715 . . . . . 6 |- (A.zA.x((xAy /\ xAz) -> y = z) <-> A.xA.z((xAy /\ xAz) -> y = z))
1816, 17bitr 151 . . . . 5 |- (A.z(E.x(y`'Ax /\ xAz) -> y = z) <-> A.xA.z((xAy /\ xAz) -> y = z))
1918bial 695 . . . 4 |- (A.yA.z(E.x(y`'Ax /\ xAz) -> y = z) <-> A.yA.xA.z((xAy /\ xAz) -> y = z))
20 alcom 715 . . . 4 |- (A.yA.xA.z((xAy /\ xAz) -> y = z) <-> A.xA.yA.z((xAy /\ xAz) -> y = z))
217, 19, 203bitr 155 . . 3 |- ((A o. `'A) (_ I <-> A.xA.yA.z((xAy /\ xAz) -> y = z))
2221anbi2i 367 . 2 |- ((Rel A /\ (A o. `'A) (_ I) <-> (Rel A /\ A.xA.yA.z((xAy /\ xAz) -> y = z)))
231, 22bitr 151 1 |- (Fun A <-> (Rel A /\ A.xA.yA.z((xAy /\ xAz) -> y = z)))
Colors of variables: wff set class
Syntax hints:   -> wi 2   <-> wb 127   /\ wa 196  A.wal 672  E.wex 678   = weq 797   (_ wss 1487   class class class wbr 2054  {copab 2055  Icid 2057  `'ccnv 2409   o. ccom 2414  Rel wrel 2415  Fun wfun 2416
This theorem is referenced by:  dffun3 2675  dffun4 2676
This theorem was proved from axioms:  ax-1 3  ax-2 4  ax-3 5  ax-mp 6  ax-4 673  ax-5 674  ax-6 675  ax-7 676  ax-gen 677  ax-8 798  ax-9 799  ax-10 800  ax-11 801  ax-12 802  ax-13 804  ax-14 805  ax-16 922  ax-17 925  ax-ext 1074  ax-rep 1075  ax-pow 1077
This theorem depends on definitions:  df-bi 128  df-or 197  df-an 198  df-ex 679  df-sb 853  df-clab 1093  df-cleq 1097  df-clel 1099  df-v 1349  df-dif 1489  df-un 1490  df-in 1491  df-ss 1492  df-nul 1708  df-pw 1799  df-sn 1811  df-pr 1812  df-op 1815  df-br 2063  df-opab 2098  df-id 2125  df-cnv 2426  df-co 2427  df-fun 2432
metamath.org