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

Theorem rmo3f 3692
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 3366 . 2 (∃*𝑥 ∈ 𝐴 𝜑 ↔ ∃*𝑥(𝑥 ∈ 𝐴 ∧ 𝜑))
2 sban 2117 . . . . . . . . . . 11 ([𝑦 / 𝑥](𝑥 ∈ 𝐴 ∧ 𝜑) ↔ ([𝑦 / 𝑥]𝑥 ∈ 𝐴 ∧ [𝑦 / 𝑥]𝜑))
3 rmo3f.1 . . . . . . . . . . . 12 Ⅎ𝑥𝐴
43clelsb1fw 2927 . . . . . . . . . . 11 ([𝑦 / 𝑥]𝑥 ∈ 𝐴 ↔ 𝑦 ∈ 𝐴)
52, 4bianbi 639 . . . . . . . . . 10 ([𝑦 / 𝑥](𝑥 ∈ 𝐴 ∧ 𝜑) ↔ (𝑦 ∈ 𝐴 ∧ [𝑦 / 𝑥]𝜑))
65anbi2i 635 . . . . . . . . 9 (((𝑥 ∈ 𝐴 ∧ 𝜑) ∧ [𝑦 / 𝑥](𝑥 ∈ 𝐴 ∧ 𝜑)) ↔ ((𝑥 ∈ 𝐴 ∧ 𝜑) ∧ (𝑦 ∈ 𝐴 ∧ [𝑦 / 𝑥]𝜑)))
7 an4 669 . . . . . . . . 9 (((𝑥 ∈ 𝐴 ∧ 𝜑) ∧ (𝑦 ∈ 𝐴 ∧ [𝑦 / 𝑥]𝜑)) ↔ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐴) ∧ (𝜑 ∧ [𝑦 / 𝑥]𝜑)))
8 ancom 466 . . . . . . . . . 10 ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐴) ↔ (𝑦 ∈ 𝐴 ∧ 𝑥 ∈ 𝐴))
98anbi1i 636 . . . . . . . . 9 (((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐴) ∧ (𝜑 ∧ [𝑦 / 𝑥]𝜑)) ↔ ((𝑦 ∈ 𝐴 ∧ 𝑥 ∈ 𝐴) ∧ (𝜑 ∧ [𝑦 / 𝑥]𝜑)))
106, 7, 93bitri 300 . . . . . . . 8 (((𝑥 ∈ 𝐴 ∧ 𝜑) ∧ [𝑦 / 𝑥](𝑥 ∈ 𝐴 ∧ 𝜑)) ↔ ((𝑦 ∈ 𝐴 ∧ 𝑥 ∈ 𝐴) ∧ (𝜑 ∧ [𝑦 / 𝑥]𝜑)))
1110imbi1i 352 . . . . . . 7 ((((𝑥 ∈ 𝐴 ∧ 𝜑) ∧ [𝑦 / 𝑥](𝑥 ∈ 𝐴 ∧ 𝜑)) → 𝑥 = 𝑦) ↔ (((𝑦 ∈ 𝐴 ∧ 𝑥 ∈ 𝐴) ∧ (𝜑 ∧ [𝑦 / 𝑥]𝜑)) → 𝑥 = 𝑦))
12 impexp 456 . . . . . . 7 ((((𝑦 ∈ 𝐴 ∧ 𝑥 ∈ 𝐴) ∧ (𝜑 ∧ [𝑦 / 𝑥]𝜑)) → 𝑥 = 𝑦) ↔ ((𝑦 ∈ 𝐴 ∧ 𝑥 ∈ 𝐴) → ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦)))
13 impexp 456 . . . . . . 7 (((𝑦 ∈ 𝐴 ∧ 𝑥 ∈ 𝐴) → ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦)) ↔ (𝑦 ∈ 𝐴 → (𝑥 ∈ 𝐴 → ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦))))
1411, 12, 133bitri 300 . . . . . 6 ((((𝑥 ∈ 𝐴 ∧ 𝜑) ∧ [𝑦 / 𝑥](𝑥 ∈ 𝐴 ∧ 𝜑)) → 𝑥 = 𝑦) ↔ (𝑦 ∈ 𝐴 → (𝑥 ∈ 𝐴 → ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦))))
1514albii 1852 . . . . 5 (∀𝑦(((𝑥 ∈ 𝐴 ∧ 𝜑) ∧ [𝑦 / 𝑥](𝑥 ∈ 𝐴 ∧ 𝜑)) → 𝑥 = 𝑦) ↔ ∀𝑦(𝑦 ∈ 𝐴 → (𝑥 ∈ 𝐴 → ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦))))
16 df-ral 3078 . . . . 5 (∀𝑦 ∈ 𝐴 (𝑥 ∈ 𝐴 → ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦)) ↔ ∀𝑦(𝑦 ∈ 𝐴 → (𝑥 ∈ 𝐴 → ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦))))
17 rmo3f.2 . . . . . . 7 Ⅎ𝑦𝐴
1817nfcri 2915 . . . . . 6 Ⅎ𝑦 𝑥 ∈ 𝐴
1918r19.21 3258 . . . . 5 (∀𝑦 ∈ 𝐴 (𝑥 ∈ 𝐴 → ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦)) ↔ (𝑥 ∈ 𝐴 → ∀𝑦 ∈ 𝐴 ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦)))
2015, 16, 193bitr2i 302 . . . 4 (∀𝑦(((𝑥 ∈ 𝐴 ∧ 𝜑) ∧ [𝑦 / 𝑥](𝑥 ∈ 𝐴 ∧ 𝜑)) → 𝑥 = 𝑦) ↔ (𝑥 ∈ 𝐴 → ∀𝑦 ∈ 𝐴 ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦)))
2120albii 1852 . . 3 (∀𝑥∀𝑦(((𝑥 ∈ 𝐴 ∧ 𝜑) ∧ [𝑦 / 𝑥](𝑥 ∈ 𝐴 ∧ 𝜑)) → 𝑥 = 𝑦) ↔ ∀𝑥(𝑥 ∈ 𝐴 → ∀𝑦 ∈ 𝐴 ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦)))
22 rmo3f.3 . . . . 5 Ⅎ𝑦𝜑
2318, 22nfan 1932 . . . 4 Ⅎ𝑦(𝑥 ∈ 𝐴 ∧ 𝜑)
2423mo3 2590 . . 3 (∃*𝑥(𝑥 ∈ 𝐴 ∧ 𝜑) ↔ ∀𝑥∀𝑦(((𝑥 ∈ 𝐴 ∧ 𝜑) ∧ [𝑦 / 𝑥](𝑥 ∈ 𝐴 ∧ 𝜑)) → 𝑥 = 𝑦))
25 df-ral 3078 . . 3 (∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐴 ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦) ↔ ∀𝑥(𝑥 ∈ 𝐴 → ∀𝑦 ∈ 𝐴 ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦)))
2621, 24, 253bitr4i 306 . 2 (∃*𝑥(𝑥 ∈ 𝐴 ∧ 𝜑) ↔ ∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐴 ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦))
271, 26bitri 278 1 (∃*𝑥 ∈ 𝐴 𝜑 ↔ ∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐴 ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   → wi 4   ↔ wb 209   ∧ wa 401  ∀wal 1568  Ⅎwnf 1816  [wsb 2099   ∈ wcel 2145  ∃*wmo 2563  Ⅎwnfc 2908  ∀wral 3077  ∃*wrmo 3365
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1943  ax-6 2000  ax-7 2041  ax-8 2147  ax-10 2178  ax-11 2194  ax-12 2213
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-tru 1573  df-ex 1813  df-nf 1817  df-sb 2100  df-mo 2565  df-clel 2836  df-nfc 2910  df-ral 3078  df-rmo 3366
This theorem is used by:  rmo4f  3693
  Copyright terms: Public domain W3C validator