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

Theorem rmo3 3874
Description: Restricted "at most one" using explicit substitution. (Contributed by NM, 4-Nov-2012.) (Revised by NM, 16-Jun-2017.) Avoid ax-13 2390. (Revised by Wolf Lammen, 30-Apr-2023.)
Hypothesis
Ref Expression
rmo2.1 𝑦𝜑
Assertion
Ref Expression
rmo3 (∃*𝑥𝐴 𝜑 ↔ ∀𝑥𝐴𝑦𝐴 ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦))
Distinct variable group:   𝑥,𝑦,𝐴
Allowed substitution hints:   𝜑(𝑥,𝑦)

Proof of Theorem rmo3
StepHypRef Expression
1 df-rmo 3148 . 2 (∃*𝑥𝐴 𝜑 ↔ ∃*𝑥(𝑥𝐴𝜑))
2 sban 2086 . . . . . . . . . . 11 ([𝑦 / 𝑥](𝑥𝐴𝜑) ↔ ([𝑦 / 𝑥]𝑥𝐴 ∧ [𝑦 / 𝑥]𝜑))
3 clelsb3 2942 . . . . . . . . . . . 12 ([𝑦 / 𝑥]𝑥𝐴𝑦𝐴)
43anbi1i 625 . . . . . . . . . . 11 (([𝑦 / 𝑥]𝑥𝐴 ∧ [𝑦 / 𝑥]𝜑) ↔ (𝑦𝐴 ∧ [𝑦 / 𝑥]𝜑))
52, 4bitri 277 . . . . . . . . . 10 ([𝑦 / 𝑥](𝑥𝐴𝜑) ↔ (𝑦𝐴 ∧ [𝑦 / 𝑥]𝜑))
65anbi2i 624 . . . . . . . . 9 (((𝑥𝐴𝜑) ∧ [𝑦 / 𝑥](𝑥𝐴𝜑)) ↔ ((𝑥𝐴𝜑) ∧ (𝑦𝐴 ∧ [𝑦 / 𝑥]𝜑)))
7 an4 654 . . . . . . . . 9 (((𝑥𝐴𝜑) ∧ (𝑦𝐴 ∧ [𝑦 / 𝑥]𝜑)) ↔ ((𝑥𝐴𝑦𝐴) ∧ (𝜑 ∧ [𝑦 / 𝑥]𝜑)))
8 ancom 463 . . . . . . . . . 10 ((𝑥𝐴𝑦𝐴) ↔ (𝑦𝐴𝑥𝐴))
98anbi1i 625 . . . . . . . . 9 (((𝑥𝐴𝑦𝐴) ∧ (𝜑 ∧ [𝑦 / 𝑥]𝜑)) ↔ ((𝑦𝐴𝑥𝐴) ∧ (𝜑 ∧ [𝑦 / 𝑥]𝜑)))
106, 7, 93bitri 299 . . . . . . . 8 (((𝑥𝐴𝜑) ∧ [𝑦 / 𝑥](𝑥𝐴𝜑)) ↔ ((𝑦𝐴𝑥𝐴) ∧ (𝜑 ∧ [𝑦 / 𝑥]𝜑)))
1110imbi1i 352 . . . . . . 7 ((((𝑥𝐴𝜑) ∧ [𝑦 / 𝑥](𝑥𝐴𝜑)) → 𝑥 = 𝑦) ↔ (((𝑦𝐴𝑥𝐴) ∧ (𝜑 ∧ [𝑦 / 𝑥]𝜑)) → 𝑥 = 𝑦))
12 impexp 453 . . . . . . 7 ((((𝑦𝐴𝑥𝐴) ∧ (𝜑 ∧ [𝑦 / 𝑥]𝜑)) → 𝑥 = 𝑦) ↔ ((𝑦𝐴𝑥𝐴) → ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦)))
13 impexp 453 . . . . . . 7 (((𝑦𝐴𝑥𝐴) → ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦)) ↔ (𝑦𝐴 → (𝑥𝐴 → ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦))))
1411, 12, 133bitri 299 . . . . . 6 ((((𝑥𝐴𝜑) ∧ [𝑦 / 𝑥](𝑥𝐴𝜑)) → 𝑥 = 𝑦) ↔ (𝑦𝐴 → (𝑥𝐴 → ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦))))
1514albii 1820 . . . . 5 (∀𝑦(((𝑥𝐴𝜑) ∧ [𝑦 / 𝑥](𝑥𝐴𝜑)) → 𝑥 = 𝑦) ↔ ∀𝑦(𝑦𝐴 → (𝑥𝐴 → ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦))))
16 df-ral 3145 . . . . 5 (∀𝑦𝐴 (𝑥𝐴 → ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦)) ↔ ∀𝑦(𝑦𝐴 → (𝑥𝐴 → ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦))))
17 r19.21v 3177 . . . . 5 (∀𝑦𝐴 (𝑥𝐴 → ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦)) ↔ (𝑥𝐴 → ∀𝑦𝐴 ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦)))
1815, 16, 173bitr2i 301 . . . 4 (∀𝑦(((𝑥𝐴𝜑) ∧ [𝑦 / 𝑥](𝑥𝐴𝜑)) → 𝑥 = 𝑦) ↔ (𝑥𝐴 → ∀𝑦𝐴 ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦)))
1918albii 1820 . . 3 (∀𝑥𝑦(((𝑥𝐴𝜑) ∧ [𝑦 / 𝑥](𝑥𝐴𝜑)) → 𝑥 = 𝑦) ↔ ∀𝑥(𝑥𝐴 → ∀𝑦𝐴 ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦)))
20 nfv 1915 . . . . 5 𝑦 𝑥𝐴
21 rmo2.1 . . . . 5 𝑦𝜑
2220, 21nfan 1900 . . . 4 𝑦(𝑥𝐴𝜑)
2322mo3 2648 . . 3 (∃*𝑥(𝑥𝐴𝜑) ↔ ∀𝑥𝑦(((𝑥𝐴𝜑) ∧ [𝑦 / 𝑥](𝑥𝐴𝜑)) → 𝑥 = 𝑦))
24 df-ral 3145 . . 3 (∀𝑥𝐴𝑦𝐴 ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦) ↔ ∀𝑥(𝑥𝐴 → ∀𝑦𝐴 ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦)))
2519, 23, 243bitr4i 305 . 2 (∃*𝑥(𝑥𝐴𝜑) ↔ ∀𝑥𝐴𝑦𝐴 ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦))
261, 25bitri 277 1 (∃*𝑥𝐴 𝜑 ↔ ∀𝑥𝐴𝑦𝐴 ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 208  wa 398  wal 1535  wnf 1784  [wsb 2069  wcel 2114  ∃*wmo 2620  wral 3140  ∃*wrmo 3143
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1796  ax-4 1810  ax-5 1911  ax-6 1970  ax-7 2015  ax-8 2116  ax-10 2145  ax-11 2161  ax-12 2177
This theorem depends on definitions:  df-bi 209  df-an 399  df-or 844  df-tru 1540  df-ex 1781  df-nf 1785  df-sb 2070  df-mo 2622  df-clel 2895  df-ral 3145  df-rmo 3148
This theorem is referenced by:  poimirlem25  34919  poimirlem26  34920
  Copyright terms: Public domain W3C validator