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

Theorem rmo3f 3639
Description: Restricted "at most one" using explicit substitution. (Contributed by NM, 4-Nov-2012.) (Revised by NM, 16-Jun-2017.) (Revised by Thierry Arnoux, 8-Oct-2017.)
Hypotheses
Ref Expression
rmo3f.1 𝑥𝐴
rmo3f.2 𝑦𝐴
rmo3f.3 𝑦𝜑
Assertion
Ref Expression
rmo3f (∃*𝑥𝐴 𝜑 ↔ ∀𝑥𝐴𝑦𝐴 ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦))
Distinct variable group:   𝑥,𝑦
Allowed substitution hints:   𝜑(𝑥,𝑦)   𝐴(𝑥,𝑦)

Proof of Theorem rmo3f
StepHypRef Expression
1 df-rmo 3096 . 2 (∃*𝑥𝐴 𝜑 ↔ ∃*𝑥(𝑥𝐴𝜑))
2 sban 2031 . . . . . . . . . . 11 ([𝑦 / 𝑥](𝑥𝐴𝜑) ↔ ([𝑦 / 𝑥]𝑥𝐴 ∧ [𝑦 / 𝑥]𝜑))
3 rmo3f.1 . . . . . . . . . . . . 13 𝑥𝐴
43clelsb3f 2936 . . . . . . . . . . . 12 ([𝑦 / 𝑥]𝑥𝐴𝑦𝐴)
54anbi1i 614 . . . . . . . . . . 11 (([𝑦 / 𝑥]𝑥𝐴 ∧ [𝑦 / 𝑥]𝜑) ↔ (𝑦𝐴 ∧ [𝑦 / 𝑥]𝜑))
62, 5bitri 267 . . . . . . . . . 10 ([𝑦 / 𝑥](𝑥𝐴𝜑) ↔ (𝑦𝐴 ∧ [𝑦 / 𝑥]𝜑))
76anbi2i 613 . . . . . . . . 9 (((𝑥𝐴𝜑) ∧ [𝑦 / 𝑥](𝑥𝐴𝜑)) ↔ ((𝑥𝐴𝜑) ∧ (𝑦𝐴 ∧ [𝑦 / 𝑥]𝜑)))
8 an4 643 . . . . . . . . 9 (((𝑥𝐴𝜑) ∧ (𝑦𝐴 ∧ [𝑦 / 𝑥]𝜑)) ↔ ((𝑥𝐴𝑦𝐴) ∧ (𝜑 ∧ [𝑦 / 𝑥]𝜑)))
9 ancom 453 . . . . . . . . . 10 ((𝑥𝐴𝑦𝐴) ↔ (𝑦𝐴𝑥𝐴))
109anbi1i 614 . . . . . . . . 9 (((𝑥𝐴𝑦𝐴) ∧ (𝜑 ∧ [𝑦 / 𝑥]𝜑)) ↔ ((𝑦𝐴𝑥𝐴) ∧ (𝜑 ∧ [𝑦 / 𝑥]𝜑)))
117, 8, 103bitri 289 . . . . . . . 8 (((𝑥𝐴𝜑) ∧ [𝑦 / 𝑥](𝑥𝐴𝜑)) ↔ ((𝑦𝐴𝑥𝐴) ∧ (𝜑 ∧ [𝑦 / 𝑥]𝜑)))
1211imbi1i 342 . . . . . . 7 ((((𝑥𝐴𝜑) ∧ [𝑦 / 𝑥](𝑥𝐴𝜑)) → 𝑥 = 𝑦) ↔ (((𝑦𝐴𝑥𝐴) ∧ (𝜑 ∧ [𝑦 / 𝑥]𝜑)) → 𝑥 = 𝑦))
13 impexp 443 . . . . . . 7 ((((𝑦𝐴𝑥𝐴) ∧ (𝜑 ∧ [𝑦 / 𝑥]𝜑)) → 𝑥 = 𝑦) ↔ ((𝑦𝐴𝑥𝐴) → ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦)))
14 impexp 443 . . . . . . 7 (((𝑦𝐴𝑥𝐴) → ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦)) ↔ (𝑦𝐴 → (𝑥𝐴 → ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦))))
1512, 13, 143bitri 289 . . . . . 6 ((((𝑥𝐴𝜑) ∧ [𝑦 / 𝑥](𝑥𝐴𝜑)) → 𝑥 = 𝑦) ↔ (𝑦𝐴 → (𝑥𝐴 → ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦))))
1615albii 1782 . . . . 5 (∀𝑦(((𝑥𝐴𝜑) ∧ [𝑦 / 𝑥](𝑥𝐴𝜑)) → 𝑥 = 𝑦) ↔ ∀𝑦(𝑦𝐴 → (𝑥𝐴 → ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦))))
17 df-ral 3093 . . . . 5 (∀𝑦𝐴 (𝑥𝐴 → ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦)) ↔ ∀𝑦(𝑦𝐴 → (𝑥𝐴 → ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦))))
18 rmo3f.2 . . . . . . 7 𝑦𝐴
1918nfcri 2926 . . . . . 6 𝑦 𝑥𝐴
2019r19.21 3165 . . . . 5 (∀𝑦𝐴 (𝑥𝐴 → ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦)) ↔ (𝑥𝐴 → ∀𝑦𝐴 ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦)))
2116, 17, 203bitr2i 291 . . . 4 (∀𝑦(((𝑥𝐴𝜑) ∧ [𝑦 / 𝑥](𝑥𝐴𝜑)) → 𝑥 = 𝑦) ↔ (𝑥𝐴 → ∀𝑦𝐴 ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦)))
2221albii 1782 . . 3 (∀𝑥𝑦(((𝑥𝐴𝜑) ∧ [𝑦 / 𝑥](𝑥𝐴𝜑)) → 𝑥 = 𝑦) ↔ ∀𝑥(𝑥𝐴 → ∀𝑦𝐴 ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦)))
23 rmo3f.3 . . . . 5 𝑦𝜑
2419, 23nfan 1862 . . . 4 𝑦(𝑥𝐴𝜑)
2524mo3 2576 . . 3 (∃*𝑥(𝑥𝐴𝜑) ↔ ∀𝑥𝑦(((𝑥𝐴𝜑) ∧ [𝑦 / 𝑥](𝑥𝐴𝜑)) → 𝑥 = 𝑦))
26 df-ral 3093 . . 3 (∀𝑥𝐴𝑦𝐴 ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦) ↔ ∀𝑥(𝑥𝐴 → ∀𝑦𝐴 ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦)))
2722, 25, 263bitr4i 295 . 2 (∃*𝑥(𝑥𝐴𝜑) ↔ ∀𝑥𝐴𝑦𝐴 ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦))
281, 27bitri 267 1 (∃*𝑥𝐴 𝜑 ↔ ∀𝑥𝐴𝑦𝐴 ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 198  wa 387  wal 1505  wnf 1746  [wsb 2015  wcel 2050  ∃*wmo 2545  wnfc 2916  wral 3088  ∃*wrmo 3091
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1758  ax-4 1772  ax-5 1869  ax-6 1928  ax-7 1965  ax-8 2052  ax-10 2079  ax-11 2093  ax-12 2106  ax-13 2301
This theorem depends on definitions:  df-bi 199  df-an 388  df-or 834  df-tru 1510  df-ex 1743  df-nf 1747  df-sb 2016  df-mo 2547  df-clel 2846  df-nfc 2918  df-ral 3093  df-rmo 3096
This theorem is referenced by:  rmo4f  3640
  Copyright terms: Public domain W3C validator