MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  mo4 Structured version   Visualization version   GIF version

Theorem mo4 2594
Description: At-most-one quantifier expressed using implicit substitution. This theorem is also a direct consequence of mo4f 2595, but this proof is based on fewer axioms.

Note: Swapping both 𝑥, 𝑦 and 𝜑, 𝜓 preserves the hypothesis and DV conditions, so we also have the conclusion (∃*𝑦𝜓 ↔ ∀𝑦∀𝑥((𝜓 ∧ 𝜑) → 𝑦 = 𝑥)). But under the hypothesis and DV condition, we also have (∃*𝑥𝜑 ↔ ∃*𝑦𝜓) (that is a proof step). Therefore, since ((𝜑 ∧ 𝜓) ↔ (𝜓 ↔ 𝜑)) (ancom 466) and (𝑥 = 𝑦 ↔ 𝑦 = 𝑥) (equcom 2052) , we obtain, still under the hypothesis and DV condition, (∀𝑥∀𝑦((𝜑 ∧ 𝜓) → 𝑥 = 𝑦) ↔ ∀𝑦∀𝑥((𝜑 ∧ 𝜓) → 𝑥 = 𝑦)); in other words, in this special case we can swap universal quantifiers as in alcom 2198 without requiring ax-11 2196. (Contributed by NM, 26-Jul-1995.) Reduce axiom usage. (Revised by Wolf Lammen, 18-Oct-2023.)

Hypothesis
Ref Expression
mo4.1 (𝑥 = 𝑦 → (𝜑 ↔ 𝜓))
Assertion
Ref Expression
mo4 (∃*𝑥𝜑 ↔ ∀𝑥∀𝑦((𝜑 ∧ 𝜓) → 𝑥 = 𝑦))
Distinct variable groups:   𝑥,𝑦   𝜑,𝑦   𝜓,𝑥
Allowed substitution hints:   𝜑(𝑥)   𝜓(𝑦)

Proof of Theorem mo4
Dummy variable 𝑧 is distinct from all other variables.
StepHypRef Expression
1 dfmo 2568 . . 3 (∃*𝑥𝜑 ↔ ∃𝑧∀𝑥(𝜑 → 𝑥 = 𝑧))
2 mo4.1 . . . . . . . 8 (𝑥 = 𝑦 → (𝜑 ↔ 𝜓))
3 equequ1 2059 . . . . . . . 8 (𝑥 = 𝑦 → (𝑥 = 𝑧 ↔ 𝑦 = 𝑧))
42, 3imbi12d 347 . . . . . . 7 (𝑥 = 𝑦 → ((𝜑 → 𝑥 = 𝑧) ↔ (𝜓 → 𝑦 = 𝑧)))
54cbvalvw 2070 . . . . . 6 (∀𝑥(𝜑 → 𝑥 = 𝑧) ↔ ∀𝑦(𝜓 → 𝑦 = 𝑧))
65biimpi 219 . . . . 5 (∀𝑥(𝜑 → 𝑥 = 𝑧) → ∀𝑦(𝜓 → 𝑦 = 𝑧))
7 pm2.27 43 . . . . . . . . . . 11 (𝜑 → ((𝜑 → 𝑥 = 𝑧) → 𝑥 = 𝑧))
8 pm2.27 43 . . . . . . . . . . 11 (𝜓 → ((𝜓 → 𝑦 = 𝑧) → 𝑦 = 𝑧))
97, 8im2anan9 632 . . . . . . . . . 10 ((𝜑 ∧ 𝜓) → (((𝜑 → 𝑥 = 𝑧) ∧ (𝜓 → 𝑦 = 𝑧)) → (𝑥 = 𝑧 ∧ 𝑦 = 𝑧)))
10 equtr2 2061 . . . . . . . . . 10 ((𝑥 = 𝑧 ∧ 𝑦 = 𝑧) → 𝑥 = 𝑦)
119, 10syl6com 38 . . . . . . . . 9 (((𝜑 → 𝑥 = 𝑧) ∧ (𝜓 → 𝑦 = 𝑧)) → ((𝜑 ∧ 𝜓) → 𝑥 = 𝑦))
1211ex 418 . . . . . . . 8 ((𝜑 → 𝑥 = 𝑧) → ((𝜓 → 𝑦 = 𝑧) → ((𝜑 ∧ 𝜓) → 𝑥 = 𝑦)))
1312alimdv 1950 . . . . . . 7 ((𝜑 → 𝑥 = 𝑧) → (∀𝑦(𝜓 → 𝑦 = 𝑧) → ∀𝑦((𝜑 ∧ 𝜓) → 𝑥 = 𝑦)))
1413com12 33 . . . . . 6 (∀𝑦(𝜓 → 𝑦 = 𝑧) → ((𝜑 → 𝑥 = 𝑧) → ∀𝑦((𝜑 ∧ 𝜓) → 𝑥 = 𝑦)))
1514alimdv 1950 . . . . 5 (∀𝑦(𝜓 → 𝑦 = 𝑧) → (∀𝑥(𝜑 → 𝑥 = 𝑧) → ∀𝑥∀𝑦((𝜑 ∧ 𝜓) → 𝑥 = 𝑦)))
166, 15mpcom 39 . . . 4 (∀𝑥(𝜑 → 𝑥 = 𝑧) → ∀𝑥∀𝑦((𝜑 ∧ 𝜓) → 𝑥 = 𝑦))
1716exlimiv 1964 . . 3 (∃𝑧∀𝑥(𝜑 → 𝑥 = 𝑧) → ∀𝑥∀𝑦((𝜑 ∧ 𝜓) → 𝑥 = 𝑦))
181, 17sylbi 220 . 2 (∃*𝑥𝜑 → ∀𝑥∀𝑦((𝜑 ∧ 𝜓) → 𝑥 = 𝑦))
192cbvexvw 2071 . . . . 5 (∃𝑥𝜑 ↔ ∃𝑦𝜓)
2019biimpri 231 . . . 4 (∃𝑦𝜓 → ∃𝑥𝜑)
21 ax6evr 2049 . . . . . . . 8 ∃𝑧 𝑥 = 𝑧
22 pm3.2 475 . . . . . . . . . . . . . . 15 (𝜑 → (𝜓 → (𝜑 ∧ 𝜓)))
2322imim1d 83 . . . . . . . . . . . . . 14 (𝜑 → (((𝜑 ∧ 𝜓) → 𝑥 = 𝑦) → (𝜓 → 𝑥 = 𝑦)))
24 ax7 2050 . . . . . . . . . . . . . 14 (𝑥 = 𝑦 → (𝑥 = 𝑧 → 𝑦 = 𝑧))
2523, 24syl8 77 . . . . . . . . . . . . 13 (𝜑 → (((𝜑 ∧ 𝜓) → 𝑥 = 𝑦) → (𝜓 → (𝑥 = 𝑧 → 𝑦 = 𝑧))))
2625com4r 95 . . . . . . . . . . . 12 (𝑥 = 𝑧 → (𝜑 → (((𝜑 ∧ 𝜓) → 𝑥 = 𝑦) → (𝜓 → 𝑦 = 𝑧))))
2726impcom 413 . . . . . . . . . . 11 ((𝜑 ∧ 𝑥 = 𝑧) → (((𝜑 ∧ 𝜓) → 𝑥 = 𝑦) → (𝜓 → 𝑦 = 𝑧)))
2827alimdv 1950 . . . . . . . . . 10 ((𝜑 ∧ 𝑥 = 𝑧) → (∀𝑦((𝜑 ∧ 𝜓) → 𝑥 = 𝑦) → ∀𝑦(𝜓 → 𝑦 = 𝑧)))
2928impancom 457 . . . . . . . . 9 ((𝜑 ∧ ∀𝑦((𝜑 ∧ 𝜓) → 𝑥 = 𝑦)) → (𝑥 = 𝑧 → ∀𝑦(𝜓 → 𝑦 = 𝑧)))
3029eximdv 1951 . . . . . . . 8 ((𝜑 ∧ ∀𝑦((𝜑 ∧ 𝜓) → 𝑥 = 𝑦)) → (∃𝑧 𝑥 = 𝑧 → ∃𝑧∀𝑦(𝜓 → 𝑦 = 𝑧)))
3121, 30mpi 21 . . . . . . 7 ((𝜑 ∧ ∀𝑦((𝜑 ∧ 𝜓) → 𝑥 = 𝑦)) → ∃𝑧∀𝑦(𝜓 → 𝑦 = 𝑧))
32 dfmo 2568 . . . . . . 7 (∃*𝑦𝜓 ↔ ∃𝑧∀𝑦(𝜓 → 𝑦 = 𝑧))
3331, 32sylibr 237 . . . . . 6 ((𝜑 ∧ ∀𝑦((𝜑 ∧ 𝜓) → 𝑥 = 𝑦)) → ∃*𝑦𝜓)
3433expcom 419 . . . . 5 (∀𝑦((𝜑 ∧ 𝜓) → 𝑥 = 𝑦) → (𝜑 → ∃*𝑦𝜓))
3534aleximi 1864 . . . 4 (∀𝑥∀𝑦((𝜑 ∧ 𝜓) → 𝑥 = 𝑦) → (∃𝑥𝜑 → ∃𝑥∃*𝑦𝜓))
36 ax5e 1946 . . . 4 (∃𝑥∃*𝑦𝜓 → ∃*𝑦𝜓)
3720, 35, 36syl56 37 . . 3 (∀𝑥∀𝑦((𝜑 ∧ 𝜓) → 𝑥 = 𝑦) → (∃𝑦𝜓 → ∃*𝑦𝜓))
385exbii 1880 . . . . 5 (∃𝑧∀𝑥(𝜑 → 𝑥 = 𝑧) ↔ ∃𝑧∀𝑦(𝜓 → 𝑦 = 𝑧))
3938, 1, 323bitr4i 306 . . . 4 (∃*𝑥𝜑 ↔ ∃*𝑦𝜓)
40 moabs 2571 . . . 4 (∃*𝑦𝜓 ↔ (∃𝑦𝜓 → ∃*𝑦𝜓))
4139, 40bitri 278 . . 3 (∃*𝑥𝜑 ↔ (∃𝑦𝜓 → ∃*𝑦𝜓))
4237, 41sylibr 237 . 2 (∀𝑥∀𝑦((𝜑 ∧ 𝜓) → 𝑥 = 𝑦) → ∃*𝑥𝜑)
4318, 42impbii 212 1 (∃*𝑥𝜑 ↔ ∀𝑥∀𝑦((𝜑 ∧ 𝜓) → 𝑥 = 𝑦))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   → wi 4   ↔ wb 209   ∧ wa 401  ∀wal 1567  ∃wex 1811  ∃*wmo 2565
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1827  ax-4 1841  ax-5 1944  ax-6 2001  ax-7 2042
This proof depends on definitions:  df-bi 210  df-an 402  df-ex 1812  df-mo 2567
This theorem is used by:  eu4  2643  moel  3389  moeq  3668  rmo4  3691  mosneq  4800  dffun6  6558  fun11  6625  brprcneu  6886  brprcneuALT  6887  dff13  7268  caovmo  7668  wemoiso  7995  wemoiso2  7996  addsrmo  11171  mulsrmo  11172  summo  15898  prodmo  16118  hausflimi  24314  vitalilem3  25946  plyexmo  26651  nosupprefixmo  28072  noinfprefixmo  28073  tglineintmo  29125  ajmoi  31475  pjhthmo  31919  adjmo  32449  satfv0  36247  satfv0fun  36260  satffunlem1lem1  36291  satffunlem2lem1  36293  funtransport  36926  funray  37035  funline  37037  lineintmo  37052  mopre  39546  cossssid4  39635  dffrege115  45121  mof0ALT  50093  mofsn  50097  f1omoOLD  50150  thincmo  50705  euendfunc  50803
  Copyright terms: Public domain W3C validator