Metamath Proof Explorer


Theorem rmo3f

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)

Ref Expression
Hypotheses rmo3f.1 ⊢ Ⅎ _ x A
rmo3f.2 ⊢ Ⅎ _ y A
rmo3f.3 ⊢ Ⅎ y φ
Assertion rmo3f ⊢ ∃* x ∈ A φ ↔ ∀ x ∈ A ∀ y ∈ A φ ∧ y x φ → x = y

Proof

Step Hyp Ref Expression
1 rmo3f.1 ⊢ Ⅎ _ x A
2 rmo3f.2 ⊢ Ⅎ _ y A
3 rmo3f.3 ⊢ Ⅎ y φ
4 df-rmo ⊢ ∃* x ∈ A φ ↔ ∃* x x ∈ A ∧ φ
5 sban ⊢ y x x ∈ A ∧ φ ↔ y x x ∈ A ∧ y x φ
6 1 clelsb1fw ⊢ y x x ∈ A ↔ y ∈ A
7 5 6 bianbi ⊢ y x x ∈ A ∧ φ ↔ y ∈ A ∧ y x φ
8 7 anbi2i ⊢ x ∈ A ∧ φ ∧ y x x ∈ A ∧ φ ↔ x ∈ A ∧ φ ∧ y ∈ A ∧ y x φ
9 an4 ⊢ x ∈ A ∧ φ ∧ y ∈ A ∧ y x φ ↔ x ∈ A ∧ y ∈ A ∧ φ ∧ y x φ
10 ancom ⊢ x ∈ A ∧ y ∈ A ↔ y ∈ A ∧ x ∈ A
11 10 anbi1i ⊢ x ∈ A ∧ y ∈ A ∧ φ ∧ y x φ ↔ y ∈ A ∧ x ∈ A ∧ φ ∧ y x φ
12 8 9 11 3bitri ⊢ x ∈ A ∧ φ ∧ y x x ∈ A ∧ φ ↔ y ∈ A ∧ x ∈ A ∧ φ ∧ y x φ
13 12 imbi1i ⊢ x ∈ A ∧ φ ∧ y x x ∈ A ∧ φ → x = y ↔ y ∈ A ∧ x ∈ A ∧ φ ∧ y x φ → x = y
14 impexp ⊢ y ∈ A ∧ x ∈ A ∧ φ ∧ y x φ → x = y ↔ y ∈ A ∧ x ∈ A → φ ∧ y x φ → x = y
15 impexp ⊢ y ∈ A ∧ x ∈ A → φ ∧ y x φ → x = y ↔ y ∈ A → x ∈ A → φ ∧ y x φ → x = y
16 13 14 15 3bitri ⊢ x ∈ A ∧ φ ∧ y x x ∈ A ∧ φ → x = y ↔ y ∈ A → x ∈ A → φ ∧ y x φ → x = y
17 16 albii ⊢ ∀ y x ∈ A ∧ φ ∧ y x x ∈ A ∧ φ → x = y ↔ ∀ y y ∈ A → x ∈ A → φ ∧ y x φ → x = y
18 df-ral ⊢ ∀ y ∈ A x ∈ A → φ ∧ y x φ → x = y ↔ ∀ y y ∈ A → x ∈ A → φ ∧ y x φ → x = y
19 2 nfcri ⊢ Ⅎ y x ∈ A
20 19 r19.21 ⊢ ∀ y ∈ A x ∈ A → φ ∧ y x φ → x = y ↔ x ∈ A → ∀ y ∈ A φ ∧ y x φ → x = y
21 17 18 20 3bitr2i ⊢ ∀ y x ∈ A ∧ φ ∧ y x x ∈ A ∧ φ → x = y ↔ x ∈ A → ∀ y ∈ A φ ∧ y x φ → x = y
22 21 albii ⊢ ∀ x ∀ y x ∈ A ∧ φ ∧ y x x ∈ A ∧ φ → x = y ↔ ∀ x x ∈ A → ∀ y ∈ A φ ∧ y x φ → x = y
23 19 3 nfan ⊢ Ⅎ y x ∈ A ∧ φ
24 23 mo3 ⊢ ∃* x x ∈ A ∧ φ ↔ ∀ x ∀ y x ∈ A ∧ φ ∧ y x x ∈ A ∧ φ → x = y
25 df-ral ⊢ ∀ x ∈ A ∀ y ∈ A φ ∧ y x φ → x = y ↔ ∀ x x ∈ A → ∀ y ∈ A φ ∧ y x φ → x = y
26 22 24 25 3bitr4i ⊢ ∃* x x ∈ A ∧ φ ↔ ∀ x ∈ A ∀ y ∈ A φ ∧ y x φ → x = y
27 4 26 bitri ⊢ ∃* x ∈ A φ ↔ ∀ x ∈ A ∀ y ∈ A φ ∧ y x φ → x = y