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

Theorem mo 1432
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 1007 . . . . . 6 |- (x = z -> A.y x = z)
31, 2hbim 1043 . . . . 5 |- ((ph -> x = z) -> A.y(ph -> x = z))
43hbal 1041 . . . 4 |- (A.x(ph -> x = z) -> A.yA.x(ph -> x = z))
5 ax-17 1007 . . . 4 |- (A.x(ph -> x = y) -> A.zA.x(ph -> x = y))
6 equequ2 1172 . . . . . 6 |- (z = y -> (x = z <-> x = y))
76imbi2d 615 . . . . 5 |- (z = y -> ((ph -> x = z) <-> (ph -> x = y)))
87albidv 1316 . . . 4 |- (z = y -> (A.x(ph -> x = z) <-> A.x(ph -> x = y)))
94, 5, 8cbvex 1203 . . 3 |- (E.zA.x(ph -> x = z) <-> E.yA.x(ph -> x = y))
10 hbs1 1371 . . . . . . . . 9 |- ([y / x]ph -> A.x[y / x]ph)
11 ax-17 1007 . . . . . . . . 9 |- (y = z -> A.x y = z)
1210, 11hbim 1043 . . . . . . . 8 |- (([y / x]ph -> y = z) -> A.x([y / x]ph -> y = z))
13 sbequ2 1216 . . . . . . . . 9 |- (x = y -> ([y / x]ph -> ph))
14 ax-8 1000 . . . . . . . . 9 |- (x = y -> (x = z -> y = z))
1513, 14imim12d 29 . . . . . . . 8 |- (x = y -> ((ph -> x = z) -> ([y / x]ph -> y = z)))
163, 12, 15cbv3 1201 . . . . . . 7 |- (A.x(ph -> x = z) -> A.y([y / x]ph -> y = z))
1716ancli 294 . . . . . 6 |- (A.x(ph -> x = z) -> (A.x(ph -> x = z) /\ A.y([y / x]ph -> y = z)))
183, 12aaan 1155 . . . . . 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 198 . . . . 5 |- (A.x(ph -> x = z) -> A.xA.y((ph -> x = z) /\ ([y / x]ph -> y = z)))
20 prth 559 . . . . . . 7 |- (((ph -> x = z) /\ ([y / x]ph -> y = z)) -> ((ph /\ [y / x]ph) -> (x = z /\ y = z)))
21 equtr2 1170 . . . . . . 7 |- ((x = z /\ y = z) -> x = y)
2220, 21syl6 22 . . . . . 6 |- (((ph -> x = z) /\ ([y / x]ph -> y = z)) -> ((ph /\ [y / x]ph) -> x = y))
232219.20i2 1029 . . . . 5 |- (A.xA.y((ph -> x = z) /\ ([y / x]ph -> y = z)) -> A.xA.y((ph /\ [y / x]ph) -> x = y))
2419, 23syl 10 . . . 4 |- (A.x(ph -> x = z) -> A.xA.y((ph /\ [y / x]ph) -> x = y))
252419.23aiv 1333 . . 3 |- (E.zA.x(ph -> x = z) -> A.xA.y((ph /\ [y / x]ph) -> x = y))
269, 25sylbir 199 . 2 |- (E.yA.x(ph -> x = y) -> A.xA.y((ph /\ [y / x]ph) -> x = y))
27 19.20 1030 . . . . . . . 8 |- (A.x([y / x]ph -> (ph -> x = y)) -> (A.x[y / x]ph -> A.x(ph -> x = y)))
282719.20i 1028 . . . . . . 7 |- (A.yA.x([y / x]ph -> (ph -> x = y)) -> A.y(A.x[y / x]ph -> A.x(ph -> x = y)))
2928a7s 1027 . . . . . 6 |- (A.xA.y([y / x]ph -> (ph -> x = y)) -> A.y(A.x[y / x]ph -> A.x(ph -> x = y)))
30 19.22 1075 . . . . . 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 10 . . . . 5 |- (A.xA.y([y / x]ph -> (ph -> x = y)) -> (E.yA.x[y / x]ph -> E.yA.x(ph -> x = y)))
321hbsb3 1243 . . . . . 6 |- ([y / x]ph -> A.x[y / x]ph)
333219.22i 1076 . . . . 5 |- (E.y[y / x]ph -> E.yA.x[y / x]ph)
3431, 33syl5com 52 . . . 4 |- (E.y[y / x]ph -> (A.xA.y([y / x]ph -> (ph -> x = y)) -> E.yA.x(ph -> x = y)))
35 impexp 345 . . . . . 6 |- (((ph /\ [y / x]ph) -> x = y) <-> (ph -> ([y / x]ph -> x = y)))
36 bi2.04 158 . . . . . 6 |- ((ph -> ([y / x]ph -> x = y)) <-> ([y / x]ph -> (ph -> x = y)))
3735, 36bitri 171 . . . . 5 |- (((ph /\ [y / x]ph) -> x = y) <-> ([y / x]ph -> (ph -> x = y)))
38372albii 1036 . . . 4 |- (A.xA.y((ph /\ [y / x]ph) -> x = y) <-> A.xA.y([y / x]ph -> (ph -> x = y)))
3934, 38syl5ib 204 . . 3 |- (E.y[y / x]ph -> (A.xA.y((ph /\ [y / x]ph) -> x = y) -> E.yA.x(ph -> x = y)))
40 alnex 1069 . . . . 5 |- (A.y -. [y / x]ph <-> -. E.y[y / x]ph)
4132hbn 1040 . . . . . . 7 |- (-. [y / x]ph -> A.x -. [y / x]ph)
421hbn 1040 . . . . . . 7 |- (-. ph -> A.y -. ph)
43 sbequ1 1215 . . . . . . . . 9 |- (x = y -> (ph -> [y / x]ph))
4443equcoms 1167 . . . . . . . 8 |- (y = x -> (ph -> [y / x]ph))
4544con3d 95 . . . . . . 7 |- (y = x -> (-. [y / x]ph -> -. ph))
4641, 42, 45cbv3 1201 . . . . . 6 |- (A.y -. [y / x]ph -> A.x -. ph)
47 pm2.21 76 . . . . . . 7 |- (-. ph -> (ph -> x = y))
484719.20i 1028 . . . . . 6 |- (A.x -. ph -> A.x(ph -> x = y))
49 19.8a 1065 . . . . . 6 |- (A.x(ph -> x = y) -> E.yA.x(ph -> x = y))
5046, 48, 493syl 20 . . . . 5 |- (A.y -. [y / x]ph -> E.yA.x(ph -> x = y))
5140, 50sylbir 199 . . . 4 |- (-. E.y[y / x]ph -> E.yA.x(ph -> x = y))
5251a1d 12 . . 3 |- (-. E.y[y / x]ph -> (A.xA.y((ph /\ [y / x]ph) -> x = y) -> E.yA.x(ph -> x = y)))
5339, 52pm2.61i 124 . 2 |- (A.xA.y((ph /\ [y / x]ph) -> x = y) -> E.yA.x(ph -> x = y))
5426, 53impbii 155 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 144   /\ wa 221  A.wal 990   = wceq 992  E.wex 1016  [wsbc 1207
This theorem is referenced by:  eu2 1435  eu3 1436  mo3 1440
This theorem was proved from axioms:  ax-1 4  ax-2 5  ax-3 6  ax-mp 7  ax-7 998  ax-gen 999  ax-8 1000  ax-10 1002  ax-11 1003  ax-12 1004  ax-17 1007  ax-4 1009  ax-5o 1011  ax-6o 1014  ax-9o 1159  ax-10o 1177  ax-16 1247  ax-11o 1255
This theorem depends on definitions:  df-bi 145  df-an 223  df-ex 1017  df-sb 1209
Copyright terms: Public domain