Metamath Proof Explorer


Theorem wl-dfrabf

Description: Alternate definition of restricted class abstraction ( df-wl-rab ), when x is not free in A . (Contributed by Wolf Lammen, 29-May-2023)

Ref Expression
Assertion wl-dfrabf ( 𝑥 𝐴 → { 𝑥 : 𝐴𝜑 } = { 𝑥 ∣ ( 𝑥𝐴𝜑 ) } )

Proof

Step Hyp Ref Expression
1 wl-dfrabsb { 𝑥 : 𝐴𝜑 } = { 𝑦 ∣ ( 𝑦𝐴 ∧ [ 𝑦 / 𝑥 ] 𝜑 ) }
2 nfnfc1 𝑥 𝑥 𝐴
3 id ( 𝑥 𝐴 𝑥 𝐴 )
4 2 3 wl-clelsb3df ( 𝑥 𝐴 → ( [ 𝑧 / 𝑥 ] 𝑥𝐴𝑧𝐴 ) )
5 clelsb3 ( [ 𝑧 / 𝑦 ] 𝑦𝐴𝑧𝐴 )
6 4 5 syl6rbbr ( 𝑥 𝐴 → ( [ 𝑧 / 𝑦 ] 𝑦𝐴 ↔ [ 𝑧 / 𝑥 ] 𝑥𝐴 ) )
7 sbco2vv ( [ 𝑧 / 𝑦 ] [ 𝑦 / 𝑥 ] 𝜑 ↔ [ 𝑧 / 𝑥 ] 𝜑 )
8 7 a1i ( 𝑥 𝐴 → ( [ 𝑧 / 𝑦 ] [ 𝑦 / 𝑥 ] 𝜑 ↔ [ 𝑧 / 𝑥 ] 𝜑 ) )
9 6 8 anbi12d ( 𝑥 𝐴 → ( ( [ 𝑧 / 𝑦 ] 𝑦𝐴 ∧ [ 𝑧 / 𝑦 ] [ 𝑦 / 𝑥 ] 𝜑 ) ↔ ( [ 𝑧 / 𝑥 ] 𝑥𝐴 ∧ [ 𝑧 / 𝑥 ] 𝜑 ) ) )
10 df-clab ( 𝑧 ∈ { 𝑦 ∣ ( 𝑦𝐴 ∧ [ 𝑦 / 𝑥 ] 𝜑 ) } ↔ [ 𝑧 / 𝑦 ] ( 𝑦𝐴 ∧ [ 𝑦 / 𝑥 ] 𝜑 ) )
11 sban ( [ 𝑧 / 𝑦 ] ( 𝑦𝐴 ∧ [ 𝑦 / 𝑥 ] 𝜑 ) ↔ ( [ 𝑧 / 𝑦 ] 𝑦𝐴 ∧ [ 𝑧 / 𝑦 ] [ 𝑦 / 𝑥 ] 𝜑 ) )
12 10 11 bitri ( 𝑧 ∈ { 𝑦 ∣ ( 𝑦𝐴 ∧ [ 𝑦 / 𝑥 ] 𝜑 ) } ↔ ( [ 𝑧 / 𝑦 ] 𝑦𝐴 ∧ [ 𝑧 / 𝑦 ] [ 𝑦 / 𝑥 ] 𝜑 ) )
13 df-clab ( 𝑧 ∈ { 𝑥 ∣ ( 𝑥𝐴𝜑 ) } ↔ [ 𝑧 / 𝑥 ] ( 𝑥𝐴𝜑 ) )
14 sban ( [ 𝑧 / 𝑥 ] ( 𝑥𝐴𝜑 ) ↔ ( [ 𝑧 / 𝑥 ] 𝑥𝐴 ∧ [ 𝑧 / 𝑥 ] 𝜑 ) )
15 13 14 bitri ( 𝑧 ∈ { 𝑥 ∣ ( 𝑥𝐴𝜑 ) } ↔ ( [ 𝑧 / 𝑥 ] 𝑥𝐴 ∧ [ 𝑧 / 𝑥 ] 𝜑 ) )
16 9 12 15 3bitr4g ( 𝑥 𝐴 → ( 𝑧 ∈ { 𝑦 ∣ ( 𝑦𝐴 ∧ [ 𝑦 / 𝑥 ] 𝜑 ) } ↔ 𝑧 ∈ { 𝑥 ∣ ( 𝑥𝐴𝜑 ) } ) )
17 16 eqrdv ( 𝑥 𝐴 → { 𝑦 ∣ ( 𝑦𝐴 ∧ [ 𝑦 / 𝑥 ] 𝜑 ) } = { 𝑥 ∣ ( 𝑥𝐴𝜑 ) } )
18 1 17 syl5eq ( 𝑥 𝐴 → { 𝑥 : 𝐴𝜑 } = { 𝑥 ∣ ( 𝑥𝐴𝜑 ) } )