Metamath Proof Explorer


Theorem cbvriotaw

Description: Change bound variable in a restricted description binder. Version of cbvriota with a disjoint variable condition, which does not require ax-13 . (Contributed by NM, 18-Mar-2013) (Revised by Gino Giotto, 26-Jan-2024)

Ref Expression
Hypotheses cbvriotaw.1 𝑦 𝜑
cbvriotaw.2 𝑥 𝜓
cbvriotaw.3 ( 𝑥 = 𝑦 → ( 𝜑𝜓 ) )
Assertion cbvriotaw ( 𝑥𝐴 𝜑 ) = ( 𝑦𝐴 𝜓 )

Proof

Step Hyp Ref Expression
1 cbvriotaw.1 𝑦 𝜑
2 cbvriotaw.2 𝑥 𝜓
3 cbvriotaw.3 ( 𝑥 = 𝑦 → ( 𝜑𝜓 ) )
4 eleq1w ( 𝑥 = 𝑧 → ( 𝑥𝐴𝑧𝐴 ) )
5 sbequ12 ( 𝑥 = 𝑧 → ( 𝜑 ↔ [ 𝑧 / 𝑥 ] 𝜑 ) )
6 4 5 anbi12d ( 𝑥 = 𝑧 → ( ( 𝑥𝐴𝜑 ) ↔ ( 𝑧𝐴 ∧ [ 𝑧 / 𝑥 ] 𝜑 ) ) )
7 nfv 𝑧 ( 𝑥𝐴𝜑 )
8 nfv 𝑥 𝑧𝐴
9 nfs1v 𝑥 [ 𝑧 / 𝑥 ] 𝜑
10 8 9 nfan 𝑥 ( 𝑧𝐴 ∧ [ 𝑧 / 𝑥 ] 𝜑 )
11 6 7 10 cbviotaw ( ℩ 𝑥 ( 𝑥𝐴𝜑 ) ) = ( ℩ 𝑧 ( 𝑧𝐴 ∧ [ 𝑧 / 𝑥 ] 𝜑 ) )
12 eleq1w ( 𝑧 = 𝑦 → ( 𝑧𝐴𝑦𝐴 ) )
13 2 3 sbhypf ( 𝑧 = 𝑦 → ( [ 𝑧 / 𝑥 ] 𝜑𝜓 ) )
14 12 13 anbi12d ( 𝑧 = 𝑦 → ( ( 𝑧𝐴 ∧ [ 𝑧 / 𝑥 ] 𝜑 ) ↔ ( 𝑦𝐴𝜓 ) ) )
15 nfv 𝑦 𝑧𝐴
16 1 nfsbv 𝑦 [ 𝑧 / 𝑥 ] 𝜑
17 15 16 nfan 𝑦 ( 𝑧𝐴 ∧ [ 𝑧 / 𝑥 ] 𝜑 )
18 nfv 𝑧 ( 𝑦𝐴𝜓 )
19 14 17 18 cbviotaw ( ℩ 𝑧 ( 𝑧𝐴 ∧ [ 𝑧 / 𝑥 ] 𝜑 ) ) = ( ℩ 𝑦 ( 𝑦𝐴𝜓 ) )
20 11 19 eqtri ( ℩ 𝑥 ( 𝑥𝐴𝜑 ) ) = ( ℩ 𝑦 ( 𝑦𝐴𝜓 ) )
21 df-riota ( 𝑥𝐴 𝜑 ) = ( ℩ 𝑥 ( 𝑥𝐴𝜑 ) )
22 df-riota ( 𝑦𝐴 𝜓 ) = ( ℩ 𝑦 ( 𝑦𝐴𝜓 ) )
23 20 21 22 3eqtr4i ( 𝑥𝐴 𝜑 ) = ( 𝑦𝐴 𝜓 )