Metamath Proof Explorer


Theorem cbviuneq12df

Description: Rule used to change the bound variables and classes in an indexed union, with the substitution specified implicitly by the hypothesis. (Contributed by RP, 17-Jul-2020)

Ref Expression
Hypotheses cbviuneq12df.xph 𝑥 𝜑
cbviuneq12df.yph 𝑦 𝜑
cbviuneq12df.x 𝑥 𝑋
cbviuneq12df.y 𝑦 𝑌
cbviuneq12df.xa 𝑥 𝐴
cbviuneq12df.ya 𝑦 𝐴
cbviuneq12df.b 𝑦 𝐵
cbviuneq12df.xc 𝑥 𝐶
cbviuneq12df.yc 𝑦 𝐶
cbviuneq12df.d 𝑥 𝐷
cbviuneq12df.f 𝑥 𝐹
cbviuneq12df.g 𝑦 𝐺
cbviuneq12df.xel ( ( 𝜑𝑦𝐶 ) → 𝑋𝐴 )
cbviuneq12df.yel ( ( 𝜑𝑥𝐴 ) → 𝑌𝐶 )
cbviuneq12df.xsub ( ( 𝜑𝑦𝐶𝑥 = 𝑋 ) → 𝐵 = 𝐹 )
cbviuneq12df.ysub ( ( 𝜑𝑥𝐴𝑦 = 𝑌 ) → 𝐷 = 𝐺 )
cbviuneq12df.eq1 ( ( 𝜑𝑥𝐴 ) → 𝐵 = 𝐺 )
cbviuneq12df.eq2 ( ( 𝜑𝑦𝐶 ) → 𝐷 = 𝐹 )
Assertion cbviuneq12df ( 𝜑 𝑥𝐴 𝐵 = 𝑦𝐶 𝐷 )

Proof

Step Hyp Ref Expression
1 cbviuneq12df.xph 𝑥 𝜑
2 cbviuneq12df.yph 𝑦 𝜑
3 cbviuneq12df.x 𝑥 𝑋
4 cbviuneq12df.y 𝑦 𝑌
5 cbviuneq12df.xa 𝑥 𝐴
6 cbviuneq12df.ya 𝑦 𝐴
7 cbviuneq12df.b 𝑦 𝐵
8 cbviuneq12df.xc 𝑥 𝐶
9 cbviuneq12df.yc 𝑦 𝐶
10 cbviuneq12df.d 𝑥 𝐷
11 cbviuneq12df.f 𝑥 𝐹
12 cbviuneq12df.g 𝑦 𝐺
13 cbviuneq12df.xel ( ( 𝜑𝑦𝐶 ) → 𝑋𝐴 )
14 cbviuneq12df.yel ( ( 𝜑𝑥𝐴 ) → 𝑌𝐶 )
15 cbviuneq12df.xsub ( ( 𝜑𝑦𝐶𝑥 = 𝑋 ) → 𝐵 = 𝐹 )
16 cbviuneq12df.ysub ( ( 𝜑𝑥𝐴𝑦 = 𝑌 ) → 𝐷 = 𝐺 )
17 cbviuneq12df.eq1 ( ( 𝜑𝑥𝐴 ) → 𝐵 = 𝐺 )
18 cbviuneq12df.eq2 ( ( 𝜑𝑦𝐶 ) → 𝐷 = 𝐹 )
19 eqimss ( 𝐵 = 𝐺𝐵𝐺 )
20 17 19 syl ( ( 𝜑𝑥𝐴 ) → 𝐵𝐺 )
21 1 2 4 6 7 8 9 10 12 14 16 20 ss2iundf ( 𝜑 𝑥𝐴 𝐵 𝑦𝐶 𝐷 )
22 eqimss ( 𝐷 = 𝐹𝐷𝐹 )
23 18 22 syl ( ( 𝜑𝑦𝐶 ) → 𝐷𝐹 )
24 2 1 3 8 10 6 5 7 11 13 15 23 ss2iundf ( 𝜑 𝑦𝐶 𝐷 𝑥𝐴 𝐵 )
25 21 24 eqssd ( 𝜑 𝑥𝐴 𝐵 = 𝑦𝐶 𝐷 )