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

Theorem mo 1386
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 968 . . . . . 6 |- (x = z -> A.y x = z)
31, 2hbim 1004 . . . . 5 |- ((ph -> x = z) -> A.y(ph -> x = z))
43hbal 1002 . . . 4 |- (A.x(ph -> x = z) -> A.yA.x(ph -> x = z))
5 ax-17 968 . . . 4 |- (A.x(ph -> x = y) -> A.zA.x(ph -> x = y))
6 equequ2 1131 . . . . . 6 |- (z = y -> (x = z <-> x = y))
76imbi2d 610 . . . . 5 |- (z = y -> ((ph -> x = z) <-> (ph -> x = y)))
87albidv 1273 . . . 4 |- (z = y -> (A.x(ph -> x = z) <-> A.x(ph -> x = y)))
94, 5, 8cbvex 1162 . . 3 |- (E.zA.x(ph -> x = z) <-> E.yA.x(ph -> x = y))
10 hbs1 1327 . . . . . . . . 9 |- ([y / x]ph -> A.x[y / x]ph)
11 ax-17 968 . . . . . . . . 9 |- (y = z -> A.x y = z)
1210, 11hbim 1004 . . . . . . . 8 |- (([y / x]ph -> y = z) -> A.x([y / x]ph -> y = z))
13 sbequ2 1175 . . . . . . . . 9 |- (x = y -> ([y / x]ph -> ph))
14 ax-8 961 . . . . . . . . 9 |- (x = y -> (x = z -> y = z))
1513, 14imim12d 29 . . . . . . . 8 |- (x = y -> ((ph -> x = z) -> ([y / x]ph -> y = z)))
163, 12, 15cbv3 1160 . . . . . . 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 1115 . . . . . 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 1129 . . . . . . 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 990 . . . . 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 1290 . . 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 991 . . . . . . . 8 |- (A.x([y / x]ph -> (ph -> x = y)) -> (A.x[y / x]ph -> A.x(ph -> x = y)))
282719.20i 989 . . . . . . 7 |- (A.yA.x([y / x]ph -> (ph -> x = y)) -> A.y(A.x[y / x]ph -> A.x(ph -> x = y)))
2928a7s 988 . . . . . 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 1035 . . . . . 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 1202 . . . . . 6 |- ([y / x]ph -> A.x[y / x]ph)
333219.22i 1036 . . . . 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 997 . . . 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 1029 . . . . 5 |- (A.y -. [y / x]ph <-> -. E.y[y / x]ph)
4132hbn 1001 . . . . . . 7 |- (-. [y / x]ph -> A.x -. [y / x]ph)
421hbn 1001 . . . . . . 7 |- (-. ph -> A.y -. ph)
43 sbequ1 1174 . . . . . . . . 9 |- (x = y -> (ph -> [y / x]ph))
4443equcoms 1126 . . . . . . . 8 |- (y = x -> (ph -> [y / x]ph))
4544con3d 95 . . . . . . 7 |- (y = x -> (-. [y / x]ph -> -. ph))
4641, 42, 45cbv3 1160 . . . . . 6 |- (A.y -. [y / x]ph -> A.x -. ph)
47 pm2.21 76 . . . . . . 7 |- (-. ph -> (ph -> x = y))
484719.20i 989 . . . . . 6 |- (A.x -. ph -> A.x(ph -> x = y))
49 19.8a 1025 . . . . . 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 951   = wceq 953  E.wex 977  [wsbc 1166
This theorem is referenced by:  eu2 1389  eu3 1390  mo3 1394
This theorem was proved from axioms:  ax-1 4  ax-2 5  ax-3 6  ax-mp 7  ax-7 959  ax-gen 960  ax-8 961  ax-10 963  ax-11 964  ax-12 965  ax-17 968  ax-4 970  ax-5o 972  ax-6o 975  ax-9o 1119  ax-10o 1136  ax-16 1206  ax-11o 1213
This theorem depends on definitions:  df-bi 147  df-an 225  df-ex 978  df-sb 1168
Copyright terms: Public domain