NFE Home New Foundations Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  NFE Home  >  Th. List  >  2eu6 GIF version

Theorem 2eu6 2289
Description: Two equivalent expressions for double existential uniqueness. (Contributed by NM, 2-Feb-2005.) (Revised by Mario Carneiro, 17-Oct-2016.)
Assertion
Ref Expression
2eu6 ((∃!xyφ ∃!yxφ) ↔ zwxy(φ ↔ (x = z y = w)))
Distinct variable groups:   x,y,z,w   φ,z,w
Allowed substitution hints:   φ(x,y)

Proof of Theorem 2eu6
Dummy variables v u are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 2eu4 2287 . 2 ((∃!xyφ ∃!yxφ) ↔ (xyφ zwxy(φ → (x = z y = w))))
2 nfv 1619 . . . . . 6 zφ
3 nfv 1619 . . . . . 6 wφ
4 nfs1v 2106 . . . . . 6 x[z / x][w / y]φ
5 nfs1v 2106 . . . . . . 7 y[w / y]φ
65nfsb 2109 . . . . . 6 y[z / x][w / y]φ
7 sbequ12 1919 . . . . . . 7 (y = w → (φ ↔ [w / y]φ))
8 sbequ12 1919 . . . . . . 7 (x = z → ([w / y]φ ↔ [z / x][w / y]φ))
97, 8sylan9bbr 681 . . . . . 6 ((x = z y = w) → (φ ↔ [z / x][w / y]φ))
102, 3, 4, 6, 9cbvex2 2005 . . . . 5 (xyφzw[z / x][w / y]φ)
11 equequ2 1686 . . . . . . . . . 10 (z = v → (x = zx = v))
12 equequ2 1686 . . . . . . . . . 10 (w = u → (y = wy = u))
1311, 12bi2anan9 843 . . . . . . . . 9 ((z = v w = u) → ((x = z y = w) ↔ (x = v y = u)))
1413imbi2d 307 . . . . . . . 8 ((z = v w = u) → ((φ → (x = z y = w)) ↔ (φ → (x = v y = u))))
15142albidv 1627 . . . . . . 7 ((z = v w = u) → (xy(φ → (x = z y = w)) ↔ xy(φ → (x = v y = u))))
1615cbvex2v 2007 . . . . . 6 (zwxy(φ → (x = z y = w)) ↔ vuxy(φ → (x = v y = u)))
17 nfv 1619 . . . . . . . . 9 z(φ → (x = v y = u))
18 nfv 1619 . . . . . . . . 9 w(φ → (x = v y = u))
19 nfv 1619 . . . . . . . . . 10 x(z = v w = u)
204, 19nfim 1813 . . . . . . . . 9 x([z / x][w / y]φ → (z = v w = u))
21 nfv 1619 . . . . . . . . . 10 y(z = v w = u)
226, 21nfim 1813 . . . . . . . . 9 y([z / x][w / y]φ → (z = v w = u))
23 equequ1 1684 . . . . . . . . . . 11 (x = z → (x = vz = v))
24 equequ1 1684 . . . . . . . . . . 11 (y = w → (y = uw = u))
2523, 24bi2anan9 843 . . . . . . . . . 10 ((x = z y = w) → ((x = v y = u) ↔ (z = v w = u)))
269, 25imbi12d 311 . . . . . . . . 9 ((x = z y = w) → ((φ → (x = v y = u)) ↔ ([z / x][w / y]φ → (z = v w = u))))
2717, 18, 20, 22, 26cbval2 2004 . . . . . . . 8 (xy(φ → (x = v y = u)) ↔ zw([z / x][w / y]φ → (z = v w = u)))
28272exbii 1583 . . . . . . 7 (vuxy(φ → (x = v y = u)) ↔ vuzw([z / x][w / y]φ → (z = v w = u)))
29 2mo 2282 . . . . . . 7 (vuzw([z / x][w / y]φ → (z = v w = u)) ↔ zwvu(([z / x][w / y]φ [v / z][u / w][z / x][w / y]φ) → (z = v w = u)))
3028, 29bitri 240 . . . . . 6 (vuxy(φ → (x = v y = u)) ↔ zwvu(([z / x][w / y]φ [v / z][u / w][z / x][w / y]φ) → (z = v w = u)))
3116, 30bitri 240 . . . . 5 (zwxy(φ → (x = z y = w)) ↔ zwvu(([z / x][w / y]φ [v / z][u / w][z / x][w / y]φ) → (z = v w = u)))
32 19.29r2 1598 . . . . 5 ((zw[z / x][w / y]φ zwvu(([z / x][w / y]φ [v / z][u / w][z / x][w / y]φ) → (z = v w = u))) → zw([z / x][w / y]φ vu(([z / x][w / y]φ [v / z][u / w][z / x][w / y]φ) → (z = v w = u))))
3310, 31, 32syl2anb 465 . . . 4 ((xyφ zwxy(φ → (x = z y = w))) → zw([z / x][w / y]φ vu(([z / x][w / y]φ [v / z][u / w][z / x][w / y]φ) → (z = v w = u))))
34 2albiim 1612 . . . . . . 7 (xy(φ ↔ (x = z y = w)) ↔ (xy(φ → (x = z y = w)) xy((x = z y = w) → φ)))
35 ancom 437 . . . . . . 7 ((xy(φ → (x = z y = w)) xy((x = z y = w) → φ)) ↔ (xy((x = z y = w) → φ) xy(φ → (x = z y = w))))
3634, 35bitri 240 . . . . . 6 (xy(φ ↔ (x = z y = w)) ↔ (xy((x = z y = w) → φ) xy(φ → (x = z y = w))))
37362exbii 1583 . . . . 5 (zwxy(φ ↔ (x = z y = w)) ↔ zw(xy((x = z y = w) → φ) xy(φ → (x = z y = w))))
38 nfv 1619 . . . . . . . . . . . 12 v(([z / x][w / y]φ φ) → (z = x w = y))
39 nfv 1619 . . . . . . . . . . . 12 u(([z / x][w / y]φ φ) → (z = x w = y))
404nfsb 2109 . . . . . . . . . . . . . . 15 x[u / w][z / x][w / y]φ
4140nfsb 2109 . . . . . . . . . . . . . 14 x[v / z][u / w][z / x][w / y]φ
424, 41nfan 1824 . . . . . . . . . . . . 13 x([z / x][w / y]φ [v / z][u / w][z / x][w / y]φ)
4342, 19nfim 1813 . . . . . . . . . . . 12 x(([z / x][w / y]φ [v / z][u / w][z / x][w / y]φ) → (z = v w = u))
446nfsb 2109 . . . . . . . . . . . . . . 15 y[u / w][z / x][w / y]φ
4544nfsb 2109 . . . . . . . . . . . . . 14 y[v / z][u / w][z / x][w / y]φ
466, 45nfan 1824 . . . . . . . . . . . . 13 y([z / x][w / y]φ [v / z][u / w][z / x][w / y]φ)
4746, 21nfim 1813 . . . . . . . . . . . 12 y(([z / x][w / y]φ [v / z][u / w][z / x][w / y]φ) → (z = v w = u))
48 sbequ12 1919 . . . . . . . . . . . . . . . 16 (y = u → (φ ↔ [u / y]φ))
49 sbequ12 1919 . . . . . . . . . . . . . . . 16 (x = v → ([u / y]φ ↔ [v / x][u / y]φ))
5048, 49sylan9bbr 681 . . . . . . . . . . . . . . 15 ((x = v y = u) → (φ ↔ [v / x][u / y]φ))
513sbco2 2086 . . . . . . . . . . . . . . . . 17 ([u / w][w / y]φ ↔ [u / y]φ)
5251sbbii 1653 . . . . . . . . . . . . . . . 16 ([v / x][u / w][w / y]φ ↔ [v / x][u / y]φ)
53 nfv 1619 . . . . . . . . . . . . . . . . . 18 z[u / w][w / y]φ
5453sbco2 2086 . . . . . . . . . . . . . . . . 17 ([v / z][z / x][u / w][w / y]φ ↔ [v / x][u / w][w / y]φ)
55 sbcom2 2114 . . . . . . . . . . . . . . . . . 18 ([z / x][u / w][w / y]φ ↔ [u / w][z / x][w / y]φ)
5655sbbii 1653 . . . . . . . . . . . . . . . . 17 ([v / z][z / x][u / w][w / y]φ ↔ [v / z][u / w][z / x][w / y]φ)
5754, 56bitr3i 242 . . . . . . . . . . . . . . . 16 ([v / x][u / w][w / y]φ ↔ [v / z][u / w][z / x][w / y]φ)
5852, 57bitr3i 242 . . . . . . . . . . . . . . 15 ([v / x][u / y]φ ↔ [v / z][u / w][z / x][w / y]φ)
5950, 58syl6bb 252 . . . . . . . . . . . . . 14 ((x = v y = u) → (φ ↔ [v / z][u / w][z / x][w / y]φ))
6059anbi2d 684 . . . . . . . . . . . . 13 ((x = v y = u) → (([z / x][w / y]φ φ) ↔ ([z / x][w / y]φ [v / z][u / w][z / x][w / y]φ)))
61 equequ2 1686 . . . . . . . . . . . . . 14 (x = v → (z = xz = v))
62 equequ2 1686 . . . . . . . . . . . . . 14 (y = u → (w = yw = u))
6361, 62bi2anan9 843 . . . . . . . . . . . . 13 ((x = v y = u) → ((z = x w = y) ↔ (z = v w = u)))
6460, 63imbi12d 311 . . . . . . . . . . . 12 ((x = v y = u) → ((([z / x][w / y]φ φ) → (z = x w = y)) ↔ (([z / x][w / y]φ [v / z][u / w][z / x][w / y]φ) → (z = v w = u))))
6538, 39, 43, 47, 64cbval2 2004 . . . . . . . . . . 11 (xy(([z / x][w / y]φ φ) → (z = x w = y)) ↔ vu(([z / x][w / y]φ [v / z][u / w][z / x][w / y]φ) → (z = v w = u)))
66 equcom 1680 . . . . . . . . . . . . . . 15 (z = xx = z)
67 equcom 1680 . . . . . . . . . . . . . . 15 (w = yy = w)
6866, 67anbi12i 678 . . . . . . . . . . . . . 14 ((z = x w = y) ↔ (x = z y = w))
6968imbi2i 303 . . . . . . . . . . . . 13 ((([z / x][w / y]φ φ) → (z = x w = y)) ↔ (([z / x][w / y]φ φ) → (x = z y = w)))
70 impexp 433 . . . . . . . . . . . . 13 ((([z / x][w / y]φ φ) → (x = z y = w)) ↔ ([z / x][w / y]φ → (φ → (x = z y = w))))
7169, 70bitri 240 . . . . . . . . . . . 12 ((([z / x][w / y]φ φ) → (z = x w = y)) ↔ ([z / x][w / y]φ → (φ → (x = z y = w))))
72712albii 1567 . . . . . . . . . . 11 (xy(([z / x][w / y]φ φ) → (z = x w = y)) ↔ xy([z / x][w / y]φ → (φ → (x = z y = w))))
7365, 72bitr3i 242 . . . . . . . . . 10 (vu(([z / x][w / y]φ [v / z][u / w][z / x][w / y]φ) → (z = v w = u)) ↔ xy([z / x][w / y]φ → (φ → (x = z y = w))))
744, 619.21-2 1864 . . . . . . . . . 10 (xy([z / x][w / y]φ → (φ → (x = z y = w))) ↔ ([z / x][w / y]φxy(φ → (x = z y = w))))
7573, 74bitri 240 . . . . . . . . 9 (vu(([z / x][w / y]φ [v / z][u / w][z / x][w / y]φ) → (z = v w = u)) ↔ ([z / x][w / y]φxy(φ → (x = z y = w))))
7675anbi2i 675 . . . . . . . 8 (([z / x][w / y]φ vu(([z / x][w / y]φ [v / z][u / w][z / x][w / y]φ) → (z = v w = u))) ↔ ([z / x][w / y]φ ([z / x][w / y]φxy(φ → (x = z y = w)))))
77 abai 770 . . . . . . . 8 (([z / x][w / y]φ xy(φ → (x = z y = w))) ↔ ([z / x][w / y]φ ([z / x][w / y]φxy(φ → (x = z y = w)))))
7876, 77bitr4i 243 . . . . . . 7 (([z / x][w / y]φ vu(([z / x][w / y]φ [v / z][u / w][z / x][w / y]φ) → (z = v w = u))) ↔ ([z / x][w / y]φ xy(φ → (x = z y = w))))
79 2sb6 2113 . . . . . . . 8 ([z / x][w / y]φxy((x = z y = w) → φ))
8079anbi1i 676 . . . . . . 7 (([z / x][w / y]φ xy(φ → (x = z y = w))) ↔ (xy((x = z y = w) → φ) xy(φ → (x = z y = w))))
8178, 80bitri 240 . . . . . 6 (([z / x][w / y]φ vu(([z / x][w / y]φ [v / z][u / w][z / x][w / y]φ) → (z = v w = u))) ↔ (xy((x = z y = w) → φ) xy(φ → (x = z y = w))))
82812exbii 1583 . . . . 5 (zw([z / x][w / y]φ vu(([z / x][w / y]φ [v / z][u / w][z / x][w / y]φ) → (z = v w = u))) ↔ zw(xy((x = z y = w) → φ) xy(φ → (x = z y = w))))
8337, 82bitr4i 243 . . . 4 (zwxy(φ ↔ (x = z y = w)) ↔ zw([z / x][w / y]φ vu(([z / x][w / y]φ [v / z][u / w][z / x][w / y]φ) → (z = v w = u))))
8433, 83sylibr 203 . . 3 ((xyφ zwxy(φ → (x = z y = w))) → zwxy(φ ↔ (x = z y = w)))
85 bi2 189 . . . . . . 7 ((φ ↔ (x = z y = w)) → ((x = z y = w) → φ))
86852alimi 1560 . . . . . 6 (xy(φ ↔ (x = z y = w)) → xy((x = z y = w) → φ))
87862eximi 1577 . . . . 5 (zwxy(φ ↔ (x = z y = w)) → zwxy((x = z y = w) → φ))
88 2exsb 2132 . . . . 5 (xyφzwxy((x = z y = w) → φ))
8987, 88sylibr 203 . . . 4 (zwxy(φ ↔ (x = z y = w)) → xyφ)
90 bi1 178 . . . . . 6 ((φ ↔ (x = z y = w)) → (φ → (x = z y = w)))
91902alimi 1560 . . . . 5 (xy(φ ↔ (x = z y = w)) → xy(φ → (x = z y = w)))
92912eximi 1577 . . . 4 (zwxy(φ ↔ (x = z y = w)) → zwxy(φ → (x = z y = w)))
9389, 92jca 518 . . 3 (zwxy(φ ↔ (x = z y = w)) → (xyφ zwxy(φ → (x = z y = w))))
9484, 93impbii 180 . 2 ((xyφ zwxy(φ → (x = z y = w))) ↔ zwxy(φ ↔ (x = z y = w)))
951, 94bitri 240 1 ((∃!xyφ ∃!yxφ) ↔ zwxy(φ ↔ (x = z y = w)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 176   wa 358  wal 1540  wex 1541   = wceq 1642  [wsb 1648  ∃!weu 2204
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1546  ax-5 1557  ax-17 1616  ax-9 1654  ax-8 1675  ax-6 1729  ax-7 1734  ax-11 1746  ax-12 1925
This theorem depends on definitions:  df-bi 177  df-or 359  df-an 360  df-tru 1319  df-ex 1542  df-nf 1545  df-sb 1649  df-eu 2208
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator