Metamath Proof Explorer


Theorem bj-gabima

Description: Generalized class abstraction as a direct image.

TODO: improve the support lemmas elimag and fvelima to nonfreeness hypothesis (and for the latter, biconditional). (Contributed by BJ, 4-Oct-2024)

Ref Expression
Hypotheses bj-gabima.nf ⊢ φ → ∀ x φ
bj-gabima.nff ⊢ φ → Ⅎ _ x F
bj-gabima.fun ⊢ φ → Fun ⁡ F
bj-gabima.dm ⊢ φ → x | ψ ⊆ dom ⁡ F
Assertion bj-gabima ⊢ φ → F ⁡ x | x | ψ = F x | ψ

Proof

Step Hyp Ref Expression
1 bj-gabima.nf ⊢ φ → ∀ x φ
2 bj-gabima.nff ⊢ φ → Ⅎ _ x F
3 bj-gabima.fun ⊢ φ → Fun ⁡ F
4 bj-gabima.dm ⊢ φ → x | ψ ⊆ dom ⁡ F
5 nfcvd ⊢ φ → Ⅎ _ x y
6 vex ⊢ y ∈ V
7 6 a1i ⊢ φ → y ∈ V
8 df-rex ⊢ ∃ z ∈ x | ψ F ⁡ z = y ↔ ∃ z z ∈ x | ψ ∧ F ⁡ z = y
9 8 a1i ⊢ φ → ∃ z ∈ x | ψ F ⁡ z = y ↔ ∃ z z ∈ x | ψ ∧ F ⁡ z = y
10 eqcom ⊢ y = F ⁡ z ↔ F ⁡ z = y
11 df-clab ⊢ z ∈ x | ψ ↔ z x ψ
12 11 bicomi ⊢ z x ψ ↔ z ∈ x | ψ
13 10 12 anbi12ci ⊢ y = F ⁡ z ∧ z x ψ ↔ z ∈ x | ψ ∧ F ⁡ z = y
14 13 exbii ⊢ ∃ z y = F ⁡ z ∧ z x ψ ↔ ∃ z z ∈ x | ψ ∧ F ⁡ z = y
15 14 a1i ⊢ φ → ∃ z y = F ⁡ z ∧ z x ψ ↔ ∃ z z ∈ x | ψ ∧ F ⁡ z = y
16 1 nf5i ⊢ Ⅎ x φ
17 nfcv ⊢ Ⅎ _ x y
18 17 a1i ⊢ φ → Ⅎ _ x y
19 nfcv ⊢ Ⅎ _ x z
20 19 a1i ⊢ φ → Ⅎ _ x z
21 2 20 nffvd ⊢ φ → Ⅎ _ x F ⁡ z
22 18 21 nfeqd ⊢ φ → Ⅎ x y = F ⁡ z
23 nfs1v ⊢ Ⅎ x z x ψ
24 23 a1i ⊢ φ → Ⅎ x z x ψ
25 22 24 nfand ⊢ φ → Ⅎ x y = F ⁡ z ∧ z x ψ
26 fveq2 ⊢ z = x → F ⁡ z = F ⁡ x
27 26 eqeq2d ⊢ z = x → y = F ⁡ z ↔ y = F ⁡ x
28 sbequ12r ⊢ z = x → z x ψ ↔ ψ
29 27 28 anbi12d ⊢ z = x → y = F ⁡ z ∧ z x ψ ↔ y = F ⁡ x ∧ ψ
30 29 a1i ⊢ φ → z = x → y = F ⁡ z ∧ z x ψ ↔ y = F ⁡ x ∧ ψ
31 16 25 30 cbvexdw ⊢ φ → ∃ z y = F ⁡ z ∧ z x ψ ↔ ∃ x y = F ⁡ x ∧ ψ
32 9 15 31 3bitr2rd ⊢ φ → ∃ x y = F ⁡ x ∧ ψ ↔ ∃ z ∈ x | ψ F ⁡ z = y
33 1 5 7 32 bj-elgab ⊢ φ → y ∈ F ⁡ x | x | ψ ↔ ∃ z ∈ x | ψ F ⁡ z = y
34 3 funfnd ⊢ φ → F Fn dom ⁡ F
35 34 4 fvelimabd ⊢ φ → y ∈ F x | ψ ↔ ∃ z ∈ x | ψ F ⁡ z = y
36 33 35 bitr4d ⊢ φ → y ∈ F ⁡ x | x | ψ ↔ y ∈ F x | ψ
37 36 eqrdv ⊢ φ → F ⁡ x | x | ψ = F x | ψ