Metamath Proof Explorer


Theorem fsnex

Description: Relate a function with a singleton as domain and one variable. (Contributed by Thierry Arnoux, 12-Jul-2020)

Ref Expression
Hypothesis fsnex.1 ⊢ x = f ⁡ A → ψ ↔ φ
Assertion fsnex ⊢ A ∈ V → ∃ f f : A ⟶ D ∧ φ ↔ ∃ x ∈ D ψ

Proof

Step Hyp Ref Expression
1 fsnex.1 ⊢ x = f ⁡ A → ψ ↔ φ
2 fsn2g ⊢ A ∈ V → f : A ⟶ D ↔ f ⁡ A ∈ D ∧ f = A f ⁡ A
3 2 simprbda ⊢ A ∈ V ∧ f : A ⟶ D → f ⁡ A ∈ D
4 3 adantrr ⊢ A ∈ V ∧ f : A ⟶ D ∧ φ → f ⁡ A ∈ D
5 1 adantl ⊢ A ∈ V ∧ f : A ⟶ D ∧ φ ∧ x = f ⁡ A → ψ ↔ φ
6 simprr ⊢ A ∈ V ∧ f : A ⟶ D ∧ φ → φ
7 4 5 6 rspcedvd ⊢ A ∈ V ∧ f : A ⟶ D ∧ φ → ∃ x ∈ D ψ
8 7 ex ⊢ A ∈ V → f : A ⟶ D ∧ φ → ∃ x ∈ D ψ
9 8 exlimdv ⊢ A ∈ V → ∃ f f : A ⟶ D ∧ φ → ∃ x ∈ D ψ
10 9 imp ⊢ A ∈ V ∧ ∃ f f : A ⟶ D ∧ φ → ∃ x ∈ D ψ
11 nfv ⊢ Ⅎ x A ∈ V
12 nfre1 ⊢ Ⅎ x ∃ x ∈ D ψ
13 11 12 nfan ⊢ Ⅎ x A ∈ V ∧ ∃ x ∈ D ψ
14 f1osng ⊢ A ∈ V ∧ x ∈ V → A x : A ⟶ 1-1 onto x
15 14 elvd ⊢ A ∈ V → A x : A ⟶ 1-1 onto x
16 15 ad3antrrr ⊢ A ∈ V ∧ ∃ x ∈ D ψ ∧ x ∈ D ∧ ψ → A x : A ⟶ 1-1 onto x
17 f1of ⊢ A x : A ⟶ 1-1 onto x → A x : A ⟶ x
18 16 17 syl ⊢ A ∈ V ∧ ∃ x ∈ D ψ ∧ x ∈ D ∧ ψ → A x : A ⟶ x
19 simplr ⊢ A ∈ V ∧ ∃ x ∈ D ψ ∧ x ∈ D ∧ ψ → x ∈ D
20 19 snssd ⊢ A ∈ V ∧ ∃ x ∈ D ψ ∧ x ∈ D ∧ ψ → x ⊆ D
21 18 20 fssd ⊢ A ∈ V ∧ ∃ x ∈ D ψ ∧ x ∈ D ∧ ψ → A x : A ⟶ D
22 fvsng ⊢ A ∈ V ∧ x ∈ V → A x ⁡ A = x
23 22 elvd ⊢ A ∈ V → A x ⁡ A = x
24 23 eqcomd ⊢ A ∈ V → x = A x ⁡ A
25 24 ad3antrrr ⊢ A ∈ V ∧ ∃ x ∈ D ψ ∧ x ∈ D ∧ ψ → x = A x ⁡ A
26 snex ⊢ A x ∈ V
27 feq1 ⊢ f = A x → f : A ⟶ D ↔ A x : A ⟶ D
28 fveq1 ⊢ f = A x → f ⁡ A = A x ⁡ A
29 28 eqeq2d ⊢ f = A x → x = f ⁡ A ↔ x = A x ⁡ A
30 27 29 anbi12d ⊢ f = A x → f : A ⟶ D ∧ x = f ⁡ A ↔ A x : A ⟶ D ∧ x = A x ⁡ A
31 26 30 spcev ⊢ A x : A ⟶ D ∧ x = A x ⁡ A → ∃ f f : A ⟶ D ∧ x = f ⁡ A
32 21 25 31 syl2anc ⊢ A ∈ V ∧ ∃ x ∈ D ψ ∧ x ∈ D ∧ ψ → ∃ f f : A ⟶ D ∧ x = f ⁡ A
33 simprl ⊢ A ∈ V ∧ ∃ x ∈ D ψ ∧ x ∈ D ∧ ψ ∧ f : A ⟶ D ∧ x = f ⁡ A → f : A ⟶ D
34 simpllr ⊢ A ∈ V ∧ ∃ x ∈ D ψ ∧ x ∈ D ∧ ψ ∧ f : A ⟶ D ∧ x = f ⁡ A ∧ f : A ⟶ D → ψ
35 simplrr ⊢ A ∈ V ∧ ∃ x ∈ D ψ ∧ x ∈ D ∧ ψ ∧ f : A ⟶ D ∧ x = f ⁡ A ∧ f : A ⟶ D → x = f ⁡ A
36 35 1 syl ⊢ A ∈ V ∧ ∃ x ∈ D ψ ∧ x ∈ D ∧ ψ ∧ f : A ⟶ D ∧ x = f ⁡ A ∧ f : A ⟶ D → ψ ↔ φ
37 34 36 mpbid ⊢ A ∈ V ∧ ∃ x ∈ D ψ ∧ x ∈ D ∧ ψ ∧ f : A ⟶ D ∧ x = f ⁡ A ∧ f : A ⟶ D → φ
38 33 37 mpdan ⊢ A ∈ V ∧ ∃ x ∈ D ψ ∧ x ∈ D ∧ ψ ∧ f : A ⟶ D ∧ x = f ⁡ A → φ
39 33 38 jca ⊢ A ∈ V ∧ ∃ x ∈ D ψ ∧ x ∈ D ∧ ψ ∧ f : A ⟶ D ∧ x = f ⁡ A → f : A ⟶ D ∧ φ
40 39 ex ⊢ A ∈ V ∧ ∃ x ∈ D ψ ∧ x ∈ D ∧ ψ → f : A ⟶ D ∧ x = f ⁡ A → f : A ⟶ D ∧ φ
41 40 eximdv ⊢ A ∈ V ∧ ∃ x ∈ D ψ ∧ x ∈ D ∧ ψ → ∃ f f : A ⟶ D ∧ x = f ⁡ A → ∃ f f : A ⟶ D ∧ φ
42 32 41 mpd ⊢ A ∈ V ∧ ∃ x ∈ D ψ ∧ x ∈ D ∧ ψ → ∃ f f : A ⟶ D ∧ φ
43 simpr ⊢ A ∈ V ∧ ∃ x ∈ D ψ → ∃ x ∈ D ψ
44 13 42 43 r19.29af ⊢ A ∈ V ∧ ∃ x ∈ D ψ → ∃ f f : A ⟶ D ∧ φ
45 10 44 impbida ⊢ A ∈ V → ∃ f f : A ⟶ D ∧ φ ↔ ∃ x ∈ D ψ