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

Theorem reu3 1902
Description: A way to express restricted uniqueness.
Assertion
Ref Expression
reu3 |- (E!x e. A ph <-> E.y e. A A.x e. A (ph <-> x = y))
Distinct variable groups:   x,y,A   ph,y

Proof of Theorem reu3
StepHypRef Expression
1 df-reu 1627 . 2 |- (E!x e. A ph <-> E!x(x e. A /\ ph))
2 df-eu 1359 . 2 |- (E!x(x e. A /\ ph) <-> E.yA.x((x e. A /\ ph) <-> x = y))
3 19.28v 1281 . . . . 5 |- (A.x(y e. A /\ (x e. A -> (ph <-> x = y))) <-> (y e. A /\ A.x(x e. A -> (ph <-> x = y))))
4 eleq1 1510 . . . . . . . . . . . 12 |- (x = y -> (x e. A <-> y e. A))
5 sbequ12 1164 . . . . . . . . . . . 12 |- (x = y -> (ph <-> [y / x]ph))
64, 5anbi12d 626 . . . . . . . . . . 11 |- (x = y -> ((x e. A /\ ph) <-> (y e. A /\ [y / x]ph)))
7 eqeq1 1457 . . . . . . . . . . 11 |- (x = y -> (x = y <-> y = y))
86, 7bibi12d 627 . . . . . . . . . 10 |- (x = y -> (((x e. A /\ ph) <-> x = y) <-> ((y e. A /\ [y / x]ph) <-> y = y)))
9 eqid 1452 . . . . . . . . . . . 12 |- y = y
109tbt 717 . . . . . . . . . . 11 |- ((y e. A /\ [y / x]ph) <-> ((y e. A /\ [y / x]ph) <-> y = y))
11 pm3.26 319 . . . . . . . . . . 11 |- ((y e. A /\ [y / x]ph) -> y e. A)
1210, 11sylbir 201 . . . . . . . . . 10 |- (((y e. A /\ [y / x]ph) <-> y = y) -> y e. A)
138, 12syl6bi 214 . . . . . . . . 9 |- (x = y -> (((x e. A /\ ph) <-> x = y) -> y e. A))
1413a4b 1191 . . . . . . . 8 |- (A.x((x e. A /\ ph) <-> x = y) -> y e. A)
15 bi1 148 . . . . . . . . . . . . 13 |- (((x e. A /\ ph) <-> x = y) -> ((x e. A /\ ph) -> x = y))
1615exp3a 375 . . . . . . . . . . . 12 |- (((x e. A /\ ph) <-> x = y) -> (x e. A -> (ph -> x = y)))
1716imp 350 . . . . . . . . . . 11 |- ((((x e. A /\ ph) <-> x = y) /\ x e. A) -> (ph -> x = y))
18 bi2 149 . . . . . . . . . . . . 13 |- (((x e. A /\ ph) <-> x = y) -> (x = y -> (x e. A /\ ph)))
19 pm3.27 323 . . . . . . . . . . . . 13 |- ((x e. A /\ ph) -> ph)
2018, 19syl6 22 . . . . . . . . . . . 12 |- (((x e. A /\ ph) <-> x = y) -> (x = y -> ph))
2120adantr 389 . . . . . . . . . . 11 |- ((((x e. A /\ ph) <-> x = y) /\ x e. A) -> (x = y -> ph))
2217, 21impbid 514 . . . . . . . . . 10 |- ((((x e. A /\ ph) <-> x = y) /\ x e. A) -> (ph <-> x = y))
2322ex 373 . . . . . . . . 9 |- (((x e. A /\ ph) <-> x = y) -> (x e. A -> (ph <-> x = y)))
2423a4s 960 . . . . . . . 8 |- (A.x((x e. A /\ ph) <-> x = y) -> (x e. A -> (ph <-> x = y)))
2514, 24jca 288 . . . . . . 7 |- (A.x((x e. A /\ ph) <-> x = y) -> (y e. A /\ (x e. A -> (ph <-> x = y))))
2625a5i 965 . . . . . 6 |- (A.x((x e. A /\ ph) <-> x = y) -> A.x(y e. A /\ (x e. A -> (ph <-> x = y))))
27 bi1 148 . . . . . . . . . . 11 |- ((ph <-> x = y) -> (ph -> x = y))
2827imim2i 17 . . . . . . . . . 10 |- ((x e. A -> (ph <-> x = y)) -> (x e. A -> (ph -> x = y)))
2928imp3a 361 . . . . . . . . 9 |- ((x e. A -> (ph <-> x = y)) -> ((x e. A /\ ph) -> x = y))
3029adantl 388 . . . . . . . 8 |- ((y e. A /\ (x e. A -> (ph <-> x = y))) -> ((x e. A /\ ph) -> x = y))
31 eleq1a 1519 . . . . . . . . . . . 12 |- (y e. A -> (x = y -> x e. A))
3231adantr 389 . . . . . . . . . . 11 |- ((y e. A /\ (x e. A -> (ph <-> x = y))) -> (x = y -> x e. A))
3332imp 350 . . . . . . . . . 10 |- (((y e. A /\ (x e. A -> (ph <-> x = y))) /\ x = y) -> x e. A)
34 bi2 149 . . . . . . . . . . . . . 14 |- ((ph <-> x = y) -> (x = y -> ph))
3534imim2i 17 . . . . . . . . . . . . 13 |- ((x e. A -> (ph <-> x = y)) -> (x e. A -> (x = y -> ph)))
3635com23 32 . . . . . . . . . . . 12 |- ((x e. A -> (ph <-> x = y)) -> (x = y -> (x e. A -> ph)))
3736imp 350 . . . . . . . . . . 11 |- (((x e. A -> (ph <-> x = y)) /\ x = y) -> (x e. A -> ph))
3837adantll 392 . . . . . . . . . 10 |- (((y e. A /\ (x e. A -> (ph <-> x = y))) /\ x = y) -> (x e. A -> ph))
3933, 38jcai 289 . . . . . . . . 9 |- (((y e. A /\ (x e. A -> (ph <-> x = y))) /\ x = y) -> (x e. A /\ ph))
4039ex 373 . . . . . . . 8 |- ((y e. A /\ (x e. A -> (ph <-> x = y))) -> (x = y -> (x e. A /\ ph)))
4130, 40impbid 514 . . . . . . 7 |- ((y e. A /\ (x e. A -> (ph <-> x = y))) -> ((x e. A /\ ph) <-> x = y))
424119.20i 968 . . . . . 6 |- (A.x(y e. A /\ (x e. A -> (ph <-> x = y))) -> A.x((x e. A /\ ph) <-> x = y))
4326, 42impbi 157 . . . . 5 |- (A.x((x e. A /\ ph) <-> x = y) <-> A.x(y e. A /\ (x e. A -> (ph <-> x = y))))
44 df-ral 1625 . . . . . 6 |- (A.x e. A (ph <-> x = y) <-> A.x(x e. A -> (ph <-> x = y)))
4544anbi2i 479 . . . . 5 |- ((y e. A /\ A.x e. A (ph <-> x = y)) <-> (y e. A /\ A.x(x e. A -> (ph <-> x = y))))
463, 43, 453bitr4 183 . . . 4 |- (A.x((x e. A /\ ph) <-> x = y) <-> (y e. A /\ A.x e. A (ph <-> x = y)))
4746exbii 1027 . . 3 |- (E.yA.x((x e. A /\ ph) <-> x = y) <-> E.y(y e. A /\ A.x e. A (ph <-> x = y)))
48 df-rex 1626 . . 3 |- (E.y e. A A.x e. A (ph <-> x = y) <-> E.y(y e. A /\ A.x e. A (ph <-> x = y)))
4947, 48bitr4 176 . 2 |- (E.yA.x((x e. A /\ ph) <-> x = y) <-> E.y e. A A.x e. A (ph <-> x = y))
501, 2, 493bitr 177 1 |- (E!x e. A ph <-> E.y e. A A.x e. A (ph <-> x = y))
Colors of variables: wff set class
Syntax hints:   -> wi 3   <-> wb 146   /\ wa 223  A.wal 950  E.wex 956   = wceq 1099   e. wcel 1105  [wsbc 1153  E!weu 1357  A.wral 1621  E.wrex 1622  E!wreu 1623
This theorem is referenced by:  reu6 1903  reu8 1907
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-gen 955  ax-9 1102  ax-17 1190  ax-ext 1436
This theorem depends on definitions:  df-bi 147  df-an 225  df-ex 957  df-sb 1155  df-eu 1359  df-cleq 1446  df-clel 1449  df-ral 1625  df-rex 1626  df-reu 1627
Copyright terms: Public domain