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

Theorem fun11 4480
Description: Two ways of stating that A is one-to-one (but not necessarily a function). Each side is equivalent to Definition 6.4(3) of [TakeutiZaring] p. 24, who use the notation "Un2 (A)" for one-to-one (but not necessarily a function).
Assertion
Ref Expression
fun11 |- ((Fun `'`'A /\ Fun `'A) <-> A.xA.yA.zA.w((xAy /\ zAw) -> (x = z <-> y = w)))
Distinct variable group:   x,y,z,w,A

Proof of Theorem fun11
StepHypRef Expression
1 dfbi2 572 . . . . . . . 8 |- ((x = z <-> y = w) <-> ((x = z -> y = w) /\ (y = w -> x = z)))
21imbi2i 202 . . . . . . 7 |- (((xAy /\ zAw) -> (x = z <-> y = w)) <-> ((xAy /\ zAw) -> ((x = z -> y = w) /\ (y = w -> x = z))))
3 pm4.76 660 . . . . . . 7 |- ((((xAy /\ zAw) -> (x = z -> y = w)) /\ ((xAy /\ zAw) -> (y = w -> x = z))) <-> ((xAy /\ zAw) -> ((x = z -> y = w) /\ (y = w -> x = z))))
4 bi2.04 177 . . . . . . . 8 |- (((xAy /\ zAw) -> (x = z -> y = w)) <-> (x = z -> ((xAy /\ zAw) -> y = w)))
5 bi2.04 177 . . . . . . . 8 |- (((xAy /\ zAw) -> (y = w -> x = z)) <-> (y = w -> ((xAy /\ zAw) -> x = z)))
64, 5anbi12i 540 . . . . . . 7 |- ((((xAy /\ zAw) -> (x = z -> y = w)) /\ ((xAy /\ zAw) -> (y = w -> x = z))) <-> ((x = z -> ((xAy /\ zAw) -> y = w)) /\ (y = w -> ((xAy /\ zAw) -> x = z))))
72, 3, 63bitr2i 196 . . . . . 6 |- (((xAy /\ zAw) -> (x = z <-> y = w)) <-> ((x = z -> ((xAy /\ zAw) -> y = w)) /\ (y = w -> ((xAy /\ zAw) -> x = z))))
872albii 1347 . . . . 5 |- (A.xA.y((xAy /\ zAw) -> (x = z <-> y = w)) <-> A.xA.y((x = z -> ((xAy /\ zAw) -> y = w)) /\ (y = w -> ((xAy /\ zAw) -> x = z))))
9 19.26-2 1417 . . . . 5 |- (A.xA.y((x = z -> ((xAy /\ zAw) -> y = w)) /\ (y = w -> ((xAy /\ zAw) -> x = z))) <-> (A.xA.y(x = z -> ((xAy /\ zAw) -> y = w)) /\ A.xA.y(y = w -> ((xAy /\ zAw) -> x = z))))
10 alcom 1379 . . . . . . 7 |- (A.xA.y(x = z -> ((xAy /\ zAw) -> y = w)) <-> A.yA.x(x = z -> ((xAy /\ zAw) -> y = w)))
11 ax-17 1317 . . . . . . . . 9 |- (((zAy /\ zAw) -> y = w) -> A.x((zAy /\ zAw) -> y = w))
12 breq1 3341 . . . . . . . . . . 11 |- (x = z -> (xAy <-> zAy))
1312anbi1d 679 . . . . . . . . . 10 |- (x = z -> ((xAy /\ zAw) <-> (zAy /\ zAw)))
1413imbi1d 675 . . . . . . . . 9 |- (x = z -> (((xAy /\ zAw) -> y = w) <-> ((zAy /\ zAw) -> y = w)))
1511, 14equsal 1511 . . . . . . . 8 |- (A.x(x = z -> ((xAy /\ zAw) -> y = w)) <-> ((zAy /\ zAw) -> y = w))
1615albii 1346 . . . . . . 7 |- (A.yA.x(x = z -> ((xAy /\ zAw) -> y = w)) <-> A.y((zAy /\ zAw) -> y = w))
1710, 16bitri 190 . . . . . 6 |- (A.xA.y(x = z -> ((xAy /\ zAw) -> y = w)) <-> A.y((zAy /\ zAw) -> y = w))
18 ax-17 1317 . . . . . . . 8 |- (((xAw /\ zAw) -> x = z) -> A.y((xAw /\ zAw) -> x = z))
19 breq2 3342 . . . . . . . . . 10 |- (y = w -> (xAy <-> xAw))
2019anbi1d 679 . . . . . . . . 9 |- (y = w -> ((xAy /\ zAw) <-> (xAw /\ zAw)))
2120imbi1d 675 . . . . . . . 8 |- (y = w -> (((xAy /\ zAw) -> x = z) <-> ((xAw /\ zAw) -> x = z)))
2218, 21equsal 1511 . . . . . . 7 |- (A.y(y = w -> ((xAy /\ zAw) -> x = z)) <-> ((xAw /\ zAw) -> x = z))
2322albii 1346 . . . . . 6 |- (A.xA.y(y = w -> ((xAy /\ zAw) -> x = z)) <-> A.x((xAw /\ zAw) -> x = z))
2417, 23anbi12i 540 . . . . 5 |- ((A.xA.y(x = z -> ((xAy /\ zAw) -> y = w)) /\ A.xA.y(y = w -> ((xAy /\ zAw) -> x = z))) <-> (A.y((zAy /\ zAw) -> y = w) /\ A.x((xAw /\ zAw) -> x = z)))
258, 9, 243bitri 194 . . . 4 |- (A.xA.y((xAy /\ zAw) -> (x = z <-> y = w)) <-> (A.y((zAy /\ zAw) -> y = w) /\ A.x((xAw /\ zAw) -> x = z)))
26252albii 1347 . . 3 |- (A.zA.wA.xA.y((xAy /\ zAw) -> (x = z <-> y = w)) <-> A.zA.w(A.y((zAy /\ zAw) -> y = w) /\ A.x((xAw /\ zAw) -> x = z)))
27 19.26-2 1417 . . 3 |- (A.zA.w(A.y((zAy /\ zAw) -> y = w) /\ A.x((xAw /\ zAw) -> x = z)) <-> (A.zA.wA.y((zAy /\ zAw) -> y = w) /\ A.zA.wA.x((xAw /\ zAw) -> x = z)))
2826, 27bitr2i 191 . 2 |- ((A.zA.wA.y((zAy /\ zAw) -> y = w) /\ A.zA.wA.x((xAw /\ zAw) -> x = z)) <-> A.zA.wA.xA.y((xAy /\ zAw) -> (x = z <-> y = w)))
29 fun2cnv 4477 . . . 4 |- (Fun `'`'A <-> A.zE*y zAy)
30 breq2 3342 . . . . . 6 |- (y = w -> (zAy <-> zAw))
3130mo4 1799 . . . . 5 |- (E*y zAy <-> A.yA.w((zAy /\ zAw) -> y = w))
3231albii 1346 . . . 4 |- (A.zE*y zAy <-> A.zA.yA.w((zAy /\ zAw) -> y = w))
33 alcom 1379 . . . . 5 |- (A.yA.w((zAy /\ zAw) -> y = w) <-> A.wA.y((zAy /\ zAw) -> y = w))
3433albii 1346 . . . 4 |- (A.zA.yA.w((zAy /\ zAw) -> y = w) <-> A.zA.wA.y((zAy /\ zAw) -> y = w))
3529, 32, 343bitri 194 . . 3 |- (Fun `'`'A <-> A.zA.wA.y((zAy /\ zAw) -> y = w))
36 funcnv2 4474 . . . 4 |- (Fun `'A <-> A.wE*x xAw)
37 breq1 3341 . . . . . 6 |- (x = z -> (xAw <-> zAw))
3837mo4 1799 . . . . 5 |- (E*x xAw <-> A.xA.z((xAw /\ zAw) -> x = z))
3938albii 1346 . . . 4 |- (A.wE*x xAw <-> A.wA.xA.z((xAw /\ zAw) -> x = z))
40 alcom 1379 . . . . . 6 |- (A.xA.z((xAw /\ zAw) -> x = z) <-> A.zA.x((xAw /\ zAw) -> x = z))
4140albii 1346 . . . . 5 |- (A.wA.xA.z((xAw /\ zAw) -> x = z) <-> A.wA.zA.x((xAw /\ zAw) -> x = z))
42 alcom 1379 . . . . 5 |- (A.wA.zA.x((xAw /\ zAw) -> x = z) <-> A.zA.wA.x((xAw /\ zAw) -> x = z))
4341, 42bitri 190 . . . 4 |- (A.wA.xA.z((xAw /\ zAw) -> x = z) <-> A.zA.wA.x((xAw /\ zAw) -> x = z))
4436, 39, 433bitri 194 . . 3 |- (Fun `'A <-> A.zA.wA.x((xAw /\ zAw) -> x = z))
4535, 44anbi12i 540 . 2 |- ((Fun `'`'A /\ Fun `'A) <-> (A.zA.wA.y((zAy /\ zAw) -> y = w) /\ A.zA.wA.x((xAw /\ zAw) -> x = z)))
46 alrot4 1451 . 2 |- (A.xA.yA.zA.w((xAy /\ zAw) -> (x = z <-> y = w)) <-> A.zA.wA.xA.y((xAy /\ zAw) -> (x = z <-> y = w)))
4728, 45, 463bitr4i 200 1 |- ((Fun `'`'A /\ Fun `'A) <-> A.xA.yA.zA.w((xAy /\ zAw) -> (x = z <-> y = w)))
Colors of variables: wff set class
Syntax hints:   -> wi 3   <-> wb 163   /\ wa 240  A.wal 1296   = wceq 1298  E*wmo 1772   class class class wbr 3338  `'ccnv 3985  Fun wfun 3992
This theorem was proved from axioms:  ax-1 4  ax-2 5  ax-3 6  ax-mp 7  ax-7 1304  ax-gen 1305  ax-8 1306  ax-9 1307  ax-10 1308  ax-11 1309  ax-12 1310  ax-14 1312  ax-17 1317  ax-4 1319  ax-5o 1321  ax-6o 1324  ax-9o 1481  ax-10o 1500  ax-16 1580  ax-11o 1588  ax-ext 1865  ax-sep 3438  ax-nul 3445  ax-pow 3481  ax-pr 3524
This theorem depends on definitions:  df-bi 164  df-or 241  df-an 242  df-ex 1327  df-sb 1536  df-eu 1775  df-mo 1776  df-clab 1872  df-cleq 1877  df-clel 1880  df-ne 2019  df-v 2294  df-dif 2597  df-un 2600  df-in 2603  df-ss 2605  df-nul 2876  df-pw 3035  df-sn 3049  df-pr 3050  df-op 3053  df-br 3339  df-opab 3396  df-id 3586  df-xp 4000  df-rel 4001  df-cnv 4002  df-co 4003  df-fun 4008
Copyright terms: Public domain