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

Theorem mo 1370
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 1190 . . . . . 6 |- (x = z -> A.y x = z)
31, 2hbim 983 . . . . 5 |- ((ph -> x = z) -> A.y(ph -> x = z))
43hbal 981 . . . 4 |- (A.x(ph -> x = z) -> A.yA.x(ph -> x = z))
5 ax-17 1190 . . . 4 |- (A.x(ph -> x = y) -> A.zA.x(ph -> x = y))
6 equequ2 1122 . . . . . 6 |- (z = y -> (x = z <-> x = y))
76imbi2d 610 . . . . 5 |- (z = y -> ((ph -> x = z) <-> (ph -> x = y)))
87albidv 1260 . . . 4 |- (z = y -> (A.x(ph -> x = z) <-> A.x(ph -> x = y)))
94, 5, 8cbvex 1149 . . 3 |- (E.zA.x(ph -> x = z) <-> E.yA.x(ph -> x = y))
10 hbs1 1314 . . . . . . . . 9 |- ([y / x]ph -> A.x[y / x]ph)
11 ax-17 1190 . . . . . . . . 9 |- (y = z -> A.x y = z)
1210, 11hbim 983 . . . . . . . 8 |- (([y / x]ph -> y = z) -> A.x([y / x]ph -> y = z))
13 sbequ2 1162 . . . . . . . . 9 |- (x = y -> ([y / x]ph -> ph))
14 ax-8 1101 . . . . . . . . 9 |- (x = y -> (x = z -> y = z))
1513, 14imim12d 29 . . . . . . . 8 |- (x = y -> ((ph -> x = z) -> ([y / x]ph -> y = z)))
163, 12, 15cbv3 1147 . . . . . . 7 |- (A.x(ph -> x = z) -> A.y([y / x]ph -> y = z))
1716ancli 296 . . . . . 6 |- (A.x(ph -> x = z) -> (A.x(ph -> x = z) /\ A.y([y / x]ph -> y = z)))
183, 12aaan 1095 . . . . . 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 200 . . . . 5 |- (A.x(ph -> x = z) -> A.xA.y((ph -> x = z) /\ ([y / x]ph -> y = z)))
20 prth 554 . . . . . . 7 |- (((ph -> x = z) /\ ([y / x]ph -> y = z)) -> ((ph /\ [y / x]ph) -> (x = z /\ y = z)))
21 equtr2 1120 . . . . . . 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 969 . . . . 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 1277 . . 3 |- (E.zA.x(ph -> x = z) -> A.xA.y((ph /\ [y / x]ph) -> x = y))
269, 25sylbir 201 . 2 |- (E.yA.x(ph -> x = y) -> A.xA.y((ph /\ [y / x]ph) -> x = y))
27 19.20 970 . . . . . . . 8 |- (A.x([y / x]ph -> (ph -> x = y)) -> (A.x[y / x]ph -> A.x(ph -> x = y)))
282719.20i 968 . . . . . . 7 |- (A.yA.x([y / x]ph -> (ph -> x = y)) -> A.y(A.x[y / x]ph -> A.x(ph -> x = y)))
2928a7s 967 . . . . . 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 1015 . . . . . 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 1189 . . . . . 6 |- ([y / x]ph -> A.x[y / x]ph)
333219.22i 1016 . . . . 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 347 . . . . . 6 |- (((ph /\ [y / x]ph) -> x = y) <-> (ph -> ([y / x]ph -> x = y)))
36 bi2.04 160 . . . . . 6 |- ((ph -> ([y / x]ph -> x = y)) <-> ([y / x]ph -> (ph -> x = y)))
3735, 36bitr 173 . . . . 5 |- (((ph /\ [y / x]ph) -> x = y) <-> ([y / x]ph -> (ph -> x = y)))
38372albii 976 . . . 4 |- (A.xA.y((ph /\ [y / x]ph) -> x = y) <-> A.xA.y([y / x]ph -> (ph -> x = y)))
3934, 38syl5ib 206 . . 3 |- (E.y[y / x]ph -> (A.xA.y((ph /\ [y / x]ph) -> x = y) -> E.yA.x(ph -> x = y)))
40 alnex 1009 . . . . 5 |- (A.y -. [y / x]ph <-> -. E.y[y / x]ph)
4132hbn 980 . . . . . . 7 |- (-. [y / x]ph -> A.x -. [y / x]ph)
421hbn 980 . . . . . . 7 |- (-. ph -> A.y -. ph)
43 sbequ1 1161 . . . . . . . . 9 |- (x = y -> (ph -> [y / x]ph))
4443equcoms 1117 . . . . . . . 8 |- (y = x -> (ph -> [y / x]ph))
4544con3d 95 . . . . . . 7 |- (y = x -> (-. [y / x]ph -> -. ph))
4641, 42, 45cbv3 1147 . . . . . 6 |- (A.y -. [y / x]ph -> A.x -. ph)
47 pm2.21 76 . . . . . . 7 |- (-. ph -> (ph -> x = y))
484719.20i 968 . . . . . 6 |- (A.x -. ph -> A.x(ph -> x = y))
49 19.8a 1005 . . . . . 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 201 . . . 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 126 . 2 |- (A.xA.y((ph /\ [y / x]ph) -> x = y) -> E.yA.x(ph -> x = y))
5426, 53impbi 157 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 146   /\ wa 223  A.wal 950  E.wex 956   = wceq 1099  [wsbc 1153
This theorem is referenced by:  eu2 1373  eu3 1374  mo3 1378
This theorem was proved from axioms:  ax-1 4  ax-2 5  ax-3 6  ax-mp 7  ax-4 951  ax-5 952  ax-6 953  ax-7 954  ax-gen 955  ax-8 1101  ax-9 1102  ax-10 1103  ax-12 1104  ax-11 1180  ax-17 1190  ax-16 1194  ax-11o 1202
This theorem depends on definitions:  df-bi 147  df-an 225  df-ex 957  df-sb 1155
Copyright terms: Public domain