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

Theorem 2mo 2282
Description: Two equivalent expressions for double "at most one." (Contributed by NM, 2-Feb-2005.) (Revised by Mario Carneiro, 17-Oct-2016.)
Assertion
Ref Expression
2mo ⊢ (∃z∃w∀x∀y(φ → (x = z ∧ y = w)) ↔ ∀x∀y∀z∀w((φ ∧ [z / x][w / y]φ) → (x = z ∧ y = w)))
Distinct variable groups:   x,y,z,w   φ,z,w
Allowed substitution hints:   φ(x, y)

Proof of Theorem 2mo
Dummy variables v u are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 equequ2 1686 . . . . . . 7 ⊢ (v = z → (x = v ↔ x = z))
2 equequ2 1686 . . . . . . 7 ⊢ (u = w → (y = u ↔ y = w))
31, 2bi2anan9 843 . . . . . 6 ⊢ ((v = z ∧ u = w) → ((x = v ∧ y = u) ↔ (x = z ∧ y = w)))
43imbi2d 307 . . . . 5 ⊢ ((v = z ∧ u = w) → ((φ → (x = v ∧ y = u)) ↔ (φ → (x = z ∧ y = w))))
542albidv 1627 . . . 4 ⊢ ((v = z ∧ u = w) → (∀x∀y(φ → (x = v ∧ y = u)) ↔ ∀x∀y(φ → (x = z ∧ y = w))))
65cbvex2v 2007 . . 3 ⊢ (∃v∃u∀x∀y(φ → (x = v ∧ y = u)) ↔ ∃z∃w∀x∀y(φ → (x = z ∧ y = w)))
7 nfv 1619 . . . . . . . . 9 ⊢ Ⅎz(φ → (x = v ∧ y = u))
8 nfv 1619 . . . . . . . . 9 ⊢ Ⅎw(φ → (x = v ∧ y = u))
9 nfs1v 2106 . . . . . . . . . 10 ⊢ Ⅎx[z / x][w / y]φ
10 nfv 1619 . . . . . . . . . 10 ⊢ Ⅎx(z = v ∧ w = u)
119, 10nfim 1813 . . . . . . . . 9 ⊢ Ⅎx([z / x][w / y]φ → (z = v ∧ w = u))
12 nfs1v 2106 . . . . . . . . . . 11 ⊢ Ⅎy[w / y]φ
1312nfsb 2109 . . . . . . . . . 10 ⊢ Ⅎy[z / x][w / y]φ
14 nfv 1619 . . . . . . . . . 10 ⊢ Ⅎy(z = v ∧ w = u)
1513, 14nfim 1813 . . . . . . . . 9 ⊢ Ⅎy([z / x][w / y]φ → (z = v ∧ w = u))
16 sbequ12 1919 . . . . . . . . . . 11 ⊢ (y = w → (φ ↔ [w / y]φ))
17 sbequ12 1919 . . . . . . . . . . 11 ⊢ (x = z → ([w / y]φ ↔ [z / x][w / y]φ))
1816, 17sylan9bbr 681 . . . . . . . . . 10 ⊢ ((x = z ∧ y = w) → (φ ↔ [z / x][w / y]φ))
19 equequ1 1684 . . . . . . . . . . 11 ⊢ (x = z → (x = v ↔ z = v))
20 equequ1 1684 . . . . . . . . . . 11 ⊢ (y = w → (y = u ↔ w = u))
2119, 20bi2anan9 843 . . . . . . . . . 10 ⊢ ((x = z ∧ y = w) → ((x = v ∧ y = u) ↔ (z = v ∧ w = u)))
2218, 21imbi12d 311 . . . . . . . . 9 ⊢ ((x = z ∧ y = w) → ((φ → (x = v ∧ y = u)) ↔ ([z / x][w / y]φ → (z = v ∧ w = u))))
237, 8, 11, 15, 22cbval2 2004 . . . . . . . 8 ⊢ (∀x∀y(φ → (x = v ∧ y = u)) ↔ ∀z∀w([z / x][w / y]φ → (z = v ∧ w = u)))
2423biimpi 186 . . . . . . 7 ⊢ (∀x∀y(φ → (x = v ∧ y = u)) → ∀z∀w([z / x][w / y]φ → (z = v ∧ w = u)))
2524ancli 534 . . . . . 6 ⊢ (∀x∀y(φ → (x = v ∧ y = u)) → (∀x∀y(φ → (x = v ∧ y = u)) ∧ ∀z∀w([z / x][w / y]φ → (z = v ∧ w = u))))
26 alcom 1737 . . . . . . . . 9 ⊢ (∀y∀z∀w((φ → (x = v ∧ y = u)) ∧ ([z / x][w / y]φ → (z = v ∧ w = u))) ↔ ∀z∀y∀w((φ → (x = v ∧ y = u)) ∧ ([z / x][w / y]φ → (z = v ∧ w = u))))
278, 15aaan 1884 . . . . . . . . . 10 ⊢ (∀y∀w((φ → (x = v ∧ y = u)) ∧ ([z / x][w / y]φ → (z = v ∧ w = u))) ↔ (∀y(φ → (x = v ∧ y = u)) ∧ ∀w([z / x][w / y]φ → (z = v ∧ w = u))))
2827albii 1566 . . . . . . . . 9 ⊢ (∀z∀y∀w((φ → (x = v ∧ y = u)) ∧ ([z / x][w / y]φ → (z = v ∧ w = u))) ↔ ∀z(∀y(φ → (x = v ∧ y = u)) ∧ ∀w([z / x][w / y]φ → (z = v ∧ w = u))))
2926, 28bitri 240 . . . . . . . 8 ⊢ (∀y∀z∀w((φ → (x = v ∧ y = u)) ∧ ([z / x][w / y]φ → (z = v ∧ w = u))) ↔ ∀z(∀y(φ → (x = v ∧ y = u)) ∧ ∀w([z / x][w / y]φ → (z = v ∧ w = u))))
3029albii 1566 . . . . . . 7 ⊢ (∀x∀y∀z∀w((φ → (x = v ∧ y = u)) ∧ ([z / x][w / y]φ → (z = v ∧ w = u))) ↔ ∀x∀z(∀y(φ → (x = v ∧ y = u)) ∧ ∀w([z / x][w / y]φ → (z = v ∧ w = u))))
31 nfv 1619 . . . . . . . 8 ⊢ Ⅎz∀y(φ → (x = v ∧ y = u))
3211nfal 1842 . . . . . . . 8 ⊢ Ⅎx∀w([z / x][w / y]φ → (z = v ∧ w = u))
3331, 32aaan 1884 . . . . . . 7 ⊢ (∀x∀z(∀y(φ → (x = v ∧ y = u)) ∧ ∀w([z / x][w / y]φ → (z = v ∧ w = u))) ↔ (∀x∀y(φ → (x = v ∧ y = u)) ∧ ∀z∀w([z / x][w / y]φ → (z = v ∧ w = u))))
3430, 33bitri 240 . . . . . 6 ⊢ (∀x∀y∀z∀w((φ → (x = v ∧ y = u)) ∧ ([z / x][w / y]φ → (z = v ∧ w = u))) ↔ (∀x∀y(φ → (x = v ∧ y = u)) ∧ ∀z∀w([z / x][w / y]φ → (z = v ∧ w = u))))
3525, 34sylibr 203 . . . . 5 ⊢ (∀x∀y(φ → (x = v ∧ y = u)) → ∀x∀y∀z∀w((φ → (x = v ∧ y = u)) ∧ ([z / x][w / y]φ → (z = v ∧ w = u))))
36 prth 554 . . . . . . . 8 ⊢ (((φ → (x = v ∧ y = u)) ∧ ([z / x][w / y]φ → (z = v ∧ w = u))) → ((φ ∧ [z / x][w / y]φ) → ((x = v ∧ y = u) ∧ (z = v ∧ w = u))))
37 equtr2 1688 . . . . . . . . . 10 ⊢ ((x = v ∧ z = v) → x = z)
38 equtr2 1688 . . . . . . . . . 10 ⊢ ((y = u ∧ w = u) → y = w)
3937, 38anim12i 549 . . . . . . . . 9 ⊢ (((x = v ∧ z = v) ∧ (y = u ∧ w = u)) → (x = z ∧ y = w))
4039an4s 799 . . . . . . . 8 ⊢ (((x = v ∧ y = u) ∧ (z = v ∧ w = u)) → (x = z ∧ y = w))
4136, 40syl6 29 . . . . . . 7 ⊢ (((φ → (x = v ∧ y = u)) ∧ ([z / x][w / y]φ → (z = v ∧ w = u))) → ((φ ∧ [z / x][w / y]φ) → (x = z ∧ y = w)))
42412alimi 1560 . . . . . 6 ⊢ (∀z∀w((φ → (x = v ∧ y = u)) ∧ ([z / x][w / y]φ → (z = v ∧ w = u))) → ∀z∀w((φ ∧ [z / x][w / y]φ) → (x = z ∧ y = w)))
43422alimi 1560 . . . . 5 ⊢ (∀x∀y∀z∀w((φ → (x = v ∧ y = u)) ∧ ([z / x][w / y]φ → (z = v ∧ w = u))) → ∀x∀y∀z∀w((φ ∧ [z / x][w / y]φ) → (x = z ∧ y = w)))
4435, 43syl 15 . . . 4 ⊢ (∀x∀y(φ → (x = v ∧ y = u)) → ∀x∀y∀z∀w((φ ∧ [z / x][w / y]φ) → (x = z ∧ y = w)))
4544exlimivv 1635 . . 3 ⊢ (∃v∃u∀x∀y(φ → (x = v ∧ y = u)) → ∀x∀y∀z∀w((φ ∧ [z / x][w / y]φ) → (x = z ∧ y = w)))
466, 45sylbir 204 . 2 ⊢ (∃z∃w∀x∀y(φ → (x = z ∧ y = w)) → ∀x∀y∀z∀w((φ ∧ [z / x][w / y]φ) → (x = z ∧ y = w)))
47 alrot4 1739 . . . . 5 ⊢ (∀x∀y∀z∀w((φ ∧ [z / x][w / y]φ) → (x = z ∧ y = w)) ↔ ∀z∀w∀x∀y((φ ∧ [z / x][w / y]φ) → (x = z ∧ y = w)))
48 pm3.21 435 . . . . . . . . . . . 12 ⊢ ([z / x][w / y]φ → (φ → (φ ∧ [z / x][w / y]φ)))
4948imim1d 69 . . . . . . . . . . 11 ⊢ ([z / x][w / y]φ → (((φ ∧ [z / x][w / y]φ) → (x = z ∧ y = w)) → (φ → (x = z ∧ y = w))))
5013, 49alimd 1764 . . . . . . . . . 10 ⊢ ([z / x][w / y]φ → (∀y((φ ∧ [z / x][w / y]φ) → (x = z ∧ y = w)) → ∀y(φ → (x = z ∧ y = w))))
519, 50alimd 1764 . . . . . . . . 9 ⊢ ([z / x][w / y]φ → (∀x∀y((φ ∧ [z / x][w / y]φ) → (x = z ∧ y = w)) → ∀x∀y(φ → (x = z ∧ y = w))))
5251com12 27 . . . . . . . 8 ⊢ (∀x∀y((φ ∧ [z / x][w / y]φ) → (x = z ∧ y = w)) → ([z / x][w / y]φ → ∀x∀y(φ → (x = z ∧ y = w))))
5352alimi 1559 . . . . . . 7 ⊢ (∀w∀x∀y((φ ∧ [z / x][w / y]φ) → (x = z ∧ y = w)) → ∀w([z / x][w / y]φ → ∀x∀y(φ → (x = z ∧ y = w))))
54 exim 1575 . . . . . . 7 ⊢ (∀w([z / x][w / y]φ → ∀x∀y(φ → (x = z ∧ y = w))) → (∃w[z / x][w / y]φ → ∃w∀x∀y(φ → (x = z ∧ y = w))))
5553, 54syl 15 . . . . . 6 ⊢ (∀w∀x∀y((φ ∧ [z / x][w / y]φ) → (x = z ∧ y = w)) → (∃w[z / x][w / y]φ → ∃w∀x∀y(φ → (x = z ∧ y = w))))
5655alimi 1559 . . . . 5 ⊢ (∀z∀w∀x∀y((φ ∧ [z / x][w / y]φ) → (x = z ∧ y = w)) → ∀z(∃w[z / x][w / y]φ → ∃w∀x∀y(φ → (x = z ∧ y = w))))
5747, 56sylbi 187 . . . 4 ⊢ (∀x∀y∀z∀w((φ ∧ [z / x][w / y]φ) → (x = z ∧ y = w)) → ∀z(∃w[z / x][w / y]φ → ∃w∀x∀y(φ → (x = z ∧ y = w))))
58 exim 1575 . . . 4 ⊢ (∀z(∃w[z / x][w / y]φ → ∃w∀x∀y(φ → (x = z ∧ y = w))) → (∃z∃w[z / x][w / y]φ → ∃z∃w∀x∀y(φ → (x = z ∧ y = w))))
5957, 58syl 15 . . 3 ⊢ (∀x∀y∀z∀w((φ ∧ [z / x][w / y]φ) → (x = z ∧ y = w)) → (∃z∃w[z / x][w / y]φ → ∃z∃w∀x∀y(φ → (x = z ∧ y = w))))
60 alnex 1543 . . . . . 6 ⊢ (∀w ¬ [z / x][w / y]φ ↔ ¬ ∃w[z / x][w / y]φ)
6160albii 1566 . . . . 5 ⊢ (∀z∀w ¬ [z / x][w / y]φ ↔ ∀z ¬ ∃w[z / x][w / y]φ)
62 alnex 1543 . . . . 5 ⊢ (∀z ¬ ∃w[z / x][w / y]φ ↔ ¬ ∃z∃w[z / x][w / y]φ)
6361, 62bitri 240 . . . 4 ⊢ (∀z∀w ¬ [z / x][w / y]φ ↔ ¬ ∃z∃w[z / x][w / y]φ)
64 nfv 1619 . . . . . . 7 ⊢ Ⅎz ¬ φ
65 nfv 1619 . . . . . . 7 ⊢ Ⅎw ¬ φ
669nfn 1793 . . . . . . 7 ⊢ Ⅎx ¬ [z / x][w / y]φ
6713nfn 1793 . . . . . . 7 ⊢ Ⅎy ¬ [z / x][w / y]φ
6818notbid 285 . . . . . . 7 ⊢ ((x = z ∧ y = w) → (¬ φ ↔ ¬ [z / x][w / y]φ))
6964, 65, 66, 67, 68cbval2 2004 . . . . . 6 ⊢ (∀x∀y ¬ φ ↔ ∀z∀w ¬ [z / x][w / y]φ)
70 pm2.21 100 . . . . . . 7 ⊢ (¬ φ → (φ → (x = z ∧ y = w)))
71702alimi 1560 . . . . . 6 ⊢ (∀x∀y ¬ φ → ∀x∀y(φ → (x = z ∧ y = w)))
7269, 71sylbir 204 . . . . 5 ⊢ (∀z∀w ¬ [z / x][w / y]φ → ∀x∀y(φ → (x = z ∧ y = w)))
73 19.8a 1756 . . . . . 6 ⊢ (∃w∀x∀y(φ → (x = z ∧ y = w)) → ∃z∃w∀x∀y(φ → (x = z ∧ y = w)))
747319.23bi 1759 . . . . 5 ⊢ (∀x∀y(φ → (x = z ∧ y = w)) → ∃z∃w∀x∀y(φ → (x = z ∧ y = w)))
7572, 74syl 15 . . . 4 ⊢ (∀z∀w ¬ [z / x][w / y]φ → ∃z∃w∀x∀y(φ → (x = z ∧ y = w)))
7663, 75sylbir 204 . . 3 ⊢ (¬ ∃z∃w[z / x][w / y]φ → ∃z∃w∀x∀y(φ → (x = z ∧ y = w)))
7759, 76pm2.61d1 151 . 2 ⊢ (∀x∀y∀z∀w((φ ∧ [z / x][w / y]φ) → (x = z ∧ y = w)) → ∃z∃w∀x∀y(φ → (x = z ∧ y = w)))
7846, 77impbii 180 1 ⊢ (∃z∃w∀x∀y(φ → (x = z ∧ y = w)) ↔ ∀x∀y∀z∀w((φ ∧ [z / x][w / y]φ) → (x = z ∧ y = w)))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  ¬ wn 3   → wi 4   ↔ wb 176   ∧ wa 358  ∀wal 1540  ∃wex 1541   = wceq 1642  [wsb 1648
This proof depends on 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 proof depends on definitions:  df-bi 177  df-an 360  df-tru 1319  df-ex 1542  df-nf 1545  df-sb 1649
This theorem is used by:  2mos  2283  2eu6  2289
  Copyright terms: Public domain W3C validator