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

Theorem mo 1787
Description: Equivalent definitions of "there exists at most one."
Hypothesis
Ref Expression
mo.1 |- (ph -> A.yph)
Assertion
Ref Expression
mo |- (E.yA.x(ph -> x = y) <-> A.xA.y((ph /\ [y / x]ph) -> x = y))
Distinct variable group:   x,y

Proof of Theorem mo
StepHypRef Expression
1 mo.1 . . . . . 6 |- (ph -> A.yph)
2 ax-17 1317 . . . . . 6 |- (x = z -> A.y x = z)
31, 2hbim 1354 . . . . 5 |- ((ph -> x = z) -> A.y(ph -> x = z))
43hbal 1352 . . . 4 |- (A.x(ph -> x = z) -> A.yA.x(ph -> x = z))
5 ax-17 1317 . . . 4 |- (A.x(ph -> x = y) -> A.zA.x(ph -> x = y))
6 equequ2 1495 . . . . . 6 |- (z = y -> (x = z <-> x = y))
76imbi2d 674 . . . . 5 |- (z = y -> ((ph -> x = z) <-> (ph -> x = y)))
87albidv 1656 . . . 4 |- (z = y -> (A.x(ph -> x = z) <-> A.x(ph -> x = y)))
94, 5, 8cbvex 1529 . . 3 |- (E.zA.x(ph -> x = z) <-> E.yA.x(ph -> x = y))
10 hbs1 1722 . . . . . . . . 9 |- ([y / x]ph -> A.x[y / x]ph)
11 ax-17 1317 . . . . . . . . 9 |- (y = z -> A.x y = z)
1210, 11hbim 1354 . . . . . . . 8 |- (([y / x]ph -> y = z) -> A.x([y / x]ph -> y = z))
13 sbequ2 1543 . . . . . . . . 9 |- (x = y -> ([y / x]ph -> ph))
14 ax-8 1306 . . . . . . . . 9 |- (x = y -> (x = z -> y = z))
1513, 14imim12d 69 . . . . . . . 8 |- (x = y -> ((ph -> x = z) -> ([y / x]ph -> y = z)))
163, 12, 15cbv3 1525 . . . . . . 7 |- (A.x(ph -> x = z) -> A.y([y / x]ph -> y = z))
1716ancli 320 . . . . . 6 |- (A.x(ph -> x = z) -> (A.x(ph -> x = z) /\ A.y([y / x]ph -> y = z)))
183, 12aaan 1477 . . . . . 6 |- (A.xA.y((ph -> x = z) /\ ([y / x]ph -> y = z)) <-> (A.x(ph -> x = z) /\ A.y([y / x]ph -> y = z)))
1917, 18sylibr 217 . . . . 5 |- (A.x(ph -> x = z) -> A.xA.y((ph -> x = z) /\ ([y / x]ph -> y = z)))
20 prth 615 . . . . . . 7 |- (((ph -> x = z) /\ ([y / x]ph -> y = z)) -> ((ph /\ [y / x]ph) -> (x = z /\ y = z)))
21 equtr2 1492 . . . . . . 7 |- ((x = z /\ y = z) -> x = y)
2220, 21syl6 25 . . . . . 6 |- (((ph -> x = z) /\ ([y / x]ph -> y = z)) -> ((ph /\ [y / x]ph) -> x = y))
23222alimi 1339 . . . . 5 |- (A.xA.y((ph -> x = z) /\ ([y / x]ph -> y = z)) -> A.xA.y((ph /\ [y / x]ph) -> x = y))
2419, 23syl 12 . . . 4 |- (A.x(ph -> x = z) -> A.xA.y((ph /\ [y / x]ph) -> x = y))
252419.23aiv 1674 . . 3 |- (E.zA.x(ph -> x = z) -> A.xA.y((ph /\ [y / x]ph) -> x = y))
269, 25sylbir 218 . 2 |- (E.yA.x(ph -> x = y) -> A.xA.y((ph /\ [y / x]ph) -> x = y))
27 alim 1340 . . . . . . . 8 |- (A.x([y / x]ph -> (ph -> x = y)) -> (A.x[y / x]ph -> A.x(ph -> x = y)))
2827alimi 1338 . . . . . . 7 |- (A.yA.x([y / x]ph -> (ph -> x = y)) -> A.y(A.x[y / x]ph -> A.x(ph -> x = y)))
2928a7s 1337 . . . . . 6 |- (A.xA.y([y / x]ph -> (ph -> x = y)) -> A.y(A.x[y / x]ph -> A.x(ph -> x = y)))
30 exim 1386 . . . . . 6 |- (A.y(A.x[y / x]ph -> A.x(ph -> x = y)) -> (E.yA.x[y / x]ph -> E.yA.x(ph -> x = y)))
3129, 30syl 12 . . . . 5 |- (A.xA.y([y / x]ph -> (ph -> x = y)) -> (E.yA.x[y / x]ph -> E.yA.x(ph -> x = y)))
321hbsb3 1575 . . . . . 6 |- ([y / x]ph -> A.x[y / x]ph)
3332eximi 1387 . . . . 5 |- (E.y[y / x]ph -> E.yA.x[y / x]ph)
3431, 33syl5com 63 . . . 4 |- (E.y[y / x]ph -> (A.xA.y([y / x]ph -> (ph -> x = y)) -> E.yA.x(ph -> x = y)))
35 impexp 374 . . . . . 6 |- (((ph /\ [y / x]ph) -> x = y) <-> (ph -> ([y / x]ph -> x = y)))
36 bi2.04 177 . . . . . 6 |- ((ph -> ([y / x]ph -> x = y)) <-> ([y / x]ph -> (ph -> x = y)))
3735, 36bitri 190 . . . . 5 |- (((ph /\ [y / x]ph) -> x = y) <-> ([y / x]ph -> (ph -> x = y)))
38372albii 1347 . . . 4 |- (A.xA.y((ph /\ [y / x]ph) -> x = y) <-> A.xA.y([y / x]ph -> (ph -> x = y)))
3934, 38syl5ib 223 . . 3 |- (E.y[y / x]ph -> (A.xA.y((ph /\ [y / x]ph) -> x = y) -> E.yA.x(ph -> x = y)))
40 alnex 1380 . . . . 5 |- (A.y -. [y / x]ph <-> -. E.y[y / x]ph)
4132hbn 1351 . . . . . . 7 |- (-. [y / x]ph -> A.x -. [y / x]ph)
421hbn 1351 . . . . . . 7 |- (-. ph -> A.y -. ph)
43 sbequ1 1542 . . . . . . . . 9 |- (x = y -> (ph -> [y / x]ph))
4443equcoms 1489 . . . . . . . 8 |- (y = x -> (ph -> [y / x]ph))
4544con3d 111 . . . . . . 7 |- (y = x -> (-. [y / x]ph -> -. ph))
4641, 42, 45cbv3 1525 . . . . . 6 |- (A.y -. [y / x]ph -> A.x -. ph)
47 pm2.21 92 . . . . . . 7 |- (-. ph -> (ph -> x = y))
4847alimi 1338 . . . . . 6 |- (A.x -. ph -> A.x(ph -> x = y))
49 19.8a 1376 . . . . . 6 |- (A.x(ph -> x = y) -> E.yA.x(ph -> x = y))
5046, 48, 493syl 24 . . . . 5 |- (A.y -. [y / x]ph -> E.yA.x(ph -> x = y))
5140, 50sylbir 218 . . . 4 |- (-. E.y[y / x]ph -> E.yA.x(ph -> x = y))
5251a1d 15 . . 3 |- (-. E.y[y / x]ph -> (A.xA.y((ph /\ [y / x]ph) -> x = y) -> E.yA.x(ph -> x = y)))
5339, 52pm2.61i 140 . 2 |- (A.xA.y((ph /\ [y / x]ph) -> x = y) -> E.yA.x(ph -> x = y))
5426, 53impbii 174 1 |- (E.yA.x(ph -> x = y) <-> A.xA.y((ph /\ [y / x]ph) -> x = y))
Colors of variables: wff set class
Syntax hints:  -. wn 2   -> wi 3   <-> wb 163   /\ wa 240  A.wal 1296   = wceq 1298  E.wex 1326  [wsbc 1534
This theorem is referenced by:  eu2 1791  eu3 1792  mo3 1797
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-10 1308  ax-11 1309  ax-12 1310  ax-17 1317  ax-4 1319  ax-5o 1321  ax-6o 1324  ax-9o 1481  ax-10o 1500  ax-16 1580  ax-11o 1588
This theorem depends on definitions:  df-bi 164  df-an 242  df-ex 1327  df-sb 1536
Copyright terms: Public domain