Metamath Proof Explorer


Theorem cbvabw

Description: Rule used to change bound variables, using implicit substitution. Version of cbvab with a disjoint variable condition, which does not require ax-10 , ax-13 . (Contributed by Andrew Salmon, 11-Jul-2011) (Revised by Gino Giotto, 23-May-2024)

Ref Expression
Hypotheses cbvabw.1 𝑦 𝜑
cbvabw.2 𝑥 𝜓
cbvabw.3 ( 𝑥 = 𝑦 → ( 𝜑𝜓 ) )
Assertion cbvabw { 𝑥𝜑 } = { 𝑦𝜓 }

Proof

Step Hyp Ref Expression
1 cbvabw.1 𝑦 𝜑
2 cbvabw.2 𝑥 𝜓
3 cbvabw.3 ( 𝑥 = 𝑦 → ( 𝜑𝜓 ) )
4 nfv 𝑦 𝑥 = 𝑤
5 4 1 nfim 𝑦 ( 𝑥 = 𝑤𝜑 )
6 nfv 𝑥 𝑦 = 𝑤
7 6 2 nfim 𝑥 ( 𝑦 = 𝑤𝜓 )
8 equequ1 ( 𝑥 = 𝑦 → ( 𝑥 = 𝑤𝑦 = 𝑤 ) )
9 8 3 imbi12d ( 𝑥 = 𝑦 → ( ( 𝑥 = 𝑤𝜑 ) ↔ ( 𝑦 = 𝑤𝜓 ) ) )
10 5 7 9 cbvalv1 ( ∀ 𝑥 ( 𝑥 = 𝑤𝜑 ) ↔ ∀ 𝑦 ( 𝑦 = 𝑤𝜓 ) )
11 10 imbi2i ( ( 𝑤 = 𝑧 → ∀ 𝑥 ( 𝑥 = 𝑤𝜑 ) ) ↔ ( 𝑤 = 𝑧 → ∀ 𝑦 ( 𝑦 = 𝑤𝜓 ) ) )
12 11 albii ( ∀ 𝑤 ( 𝑤 = 𝑧 → ∀ 𝑥 ( 𝑥 = 𝑤𝜑 ) ) ↔ ∀ 𝑤 ( 𝑤 = 𝑧 → ∀ 𝑦 ( 𝑦 = 𝑤𝜓 ) ) )
13 df-sb ( [ 𝑧 / 𝑥 ] 𝜑 ↔ ∀ 𝑤 ( 𝑤 = 𝑧 → ∀ 𝑥 ( 𝑥 = 𝑤𝜑 ) ) )
14 df-sb ( [ 𝑧 / 𝑦 ] 𝜓 ↔ ∀ 𝑤 ( 𝑤 = 𝑧 → ∀ 𝑦 ( 𝑦 = 𝑤𝜓 ) ) )
15 12 13 14 3bitr4i ( [ 𝑧 / 𝑥 ] 𝜑 ↔ [ 𝑧 / 𝑦 ] 𝜓 )
16 df-clab ( 𝑧 ∈ { 𝑥𝜑 } ↔ [ 𝑧 / 𝑥 ] 𝜑 )
17 df-clab ( 𝑧 ∈ { 𝑦𝜓 } ↔ [ 𝑧 / 𝑦 ] 𝜓 )
18 15 16 17 3bitr4i ( 𝑧 ∈ { 𝑥𝜑 } ↔ 𝑧 ∈ { 𝑦𝜓 } )
19 18 eqriv { 𝑥𝜑 } = { 𝑦𝜓 }