Metamath Proof Explorer


Theorem cbvmpo2

Description: Rule to change the second bound variable in a maps-to function, using implicit substitution. (Contributed by Glauco Siliprandi, 26-Jun-2021)

Ref Expression
Hypotheses cbvmpo2.1 𝑦 𝐴
cbvmpo2.2 𝑤 𝐴
cbvmpo2.3 𝑤 𝐶
cbvmpo2.4 𝑦 𝐸
cbvmpo2.5 ( 𝑦 = 𝑤𝐶 = 𝐸 )
Assertion cbvmpo2 ( 𝑥𝐴 , 𝑦𝐵𝐶 ) = ( 𝑥𝐴 , 𝑤𝐵𝐸 )

Proof

Step Hyp Ref Expression
1 cbvmpo2.1 𝑦 𝐴
2 cbvmpo2.2 𝑤 𝐴
3 cbvmpo2.3 𝑤 𝐶
4 cbvmpo2.4 𝑦 𝐸
5 cbvmpo2.5 ( 𝑦 = 𝑤𝐶 = 𝐸 )
6 2 nfcri 𝑤 𝑥𝐴
7 nfcv 𝑤 𝐵
8 7 nfcri 𝑤 𝑦𝐵
9 6 8 nfan 𝑤 ( 𝑥𝐴𝑦𝐵 )
10 3 nfeq2 𝑤 𝑢 = 𝐶
11 9 10 nfan 𝑤 ( ( 𝑥𝐴𝑦𝐵 ) ∧ 𝑢 = 𝐶 )
12 1 nfcri 𝑦 𝑥𝐴
13 nfv 𝑦 𝑤𝐵
14 12 13 nfan 𝑦 ( 𝑥𝐴𝑤𝐵 )
15 4 nfeq2 𝑦 𝑢 = 𝐸
16 14 15 nfan 𝑦 ( ( 𝑥𝐴𝑤𝐵 ) ∧ 𝑢 = 𝐸 )
17 eleq1w ( 𝑦 = 𝑤 → ( 𝑦𝐵𝑤𝐵 ) )
18 17 anbi2d ( 𝑦 = 𝑤 → ( ( 𝑥𝐴𝑦𝐵 ) ↔ ( 𝑥𝐴𝑤𝐵 ) ) )
19 5 eqeq2d ( 𝑦 = 𝑤 → ( 𝑢 = 𝐶𝑢 = 𝐸 ) )
20 18 19 anbi12d ( 𝑦 = 𝑤 → ( ( ( 𝑥𝐴𝑦𝐵 ) ∧ 𝑢 = 𝐶 ) ↔ ( ( 𝑥𝐴𝑤𝐵 ) ∧ 𝑢 = 𝐸 ) ) )
21 11 16 20 cbvoprab2 { ⟨ ⟨ 𝑥 , 𝑦 ⟩ , 𝑢 ⟩ ∣ ( ( 𝑥𝐴𝑦𝐵 ) ∧ 𝑢 = 𝐶 ) } = { ⟨ ⟨ 𝑥 , 𝑤 ⟩ , 𝑢 ⟩ ∣ ( ( 𝑥𝐴𝑤𝐵 ) ∧ 𝑢 = 𝐸 ) }
22 df-mpo ( 𝑥𝐴 , 𝑦𝐵𝐶 ) = { ⟨ ⟨ 𝑥 , 𝑦 ⟩ , 𝑢 ⟩ ∣ ( ( 𝑥𝐴𝑦𝐵 ) ∧ 𝑢 = 𝐶 ) }
23 df-mpo ( 𝑥𝐴 , 𝑤𝐵𝐸 ) = { ⟨ ⟨ 𝑥 , 𝑤 ⟩ , 𝑢 ⟩ ∣ ( ( 𝑥𝐴𝑤𝐵 ) ∧ 𝑢 = 𝐸 ) }
24 21 22 23 3eqtr4i ( 𝑥𝐴 , 𝑦𝐵𝐶 ) = ( 𝑥𝐴 , 𝑤𝐵𝐸 )