Metamath Proof Explorer


Theorem vtocl2gaf

Description: Implicit substitution of 2 classes for 2 setvar variables. (Contributed by NM, 10-Aug-2013)

Ref Expression
Hypotheses vtocl2gaf.a 𝑥 𝐴
vtocl2gaf.b 𝑦 𝐴
vtocl2gaf.c 𝑦 𝐵
vtocl2gaf.1 𝑥 𝜓
vtocl2gaf.2 𝑦 𝜒
vtocl2gaf.3 ( 𝑥 = 𝐴 → ( 𝜑𝜓 ) )
vtocl2gaf.4 ( 𝑦 = 𝐵 → ( 𝜓𝜒 ) )
vtocl2gaf.5 ( ( 𝑥𝐶𝑦𝐷 ) → 𝜑 )
Assertion vtocl2gaf ( ( 𝐴𝐶𝐵𝐷 ) → 𝜒 )

Proof

Step Hyp Ref Expression
1 vtocl2gaf.a 𝑥 𝐴
2 vtocl2gaf.b 𝑦 𝐴
3 vtocl2gaf.c 𝑦 𝐵
4 vtocl2gaf.1 𝑥 𝜓
5 vtocl2gaf.2 𝑦 𝜒
6 vtocl2gaf.3 ( 𝑥 = 𝐴 → ( 𝜑𝜓 ) )
7 vtocl2gaf.4 ( 𝑦 = 𝐵 → ( 𝜓𝜒 ) )
8 vtocl2gaf.5 ( ( 𝑥𝐶𝑦𝐷 ) → 𝜑 )
9 1 nfel1 𝑥 𝐴𝐶
10 nfv 𝑥 𝑦𝐷
11 9 10 nfan 𝑥 ( 𝐴𝐶𝑦𝐷 )
12 11 4 nfim 𝑥 ( ( 𝐴𝐶𝑦𝐷 ) → 𝜓 )
13 2 nfel1 𝑦 𝐴𝐶
14 3 nfel1 𝑦 𝐵𝐷
15 13 14 nfan 𝑦 ( 𝐴𝐶𝐵𝐷 )
16 15 5 nfim 𝑦 ( ( 𝐴𝐶𝐵𝐷 ) → 𝜒 )
17 eleq1 ( 𝑥 = 𝐴 → ( 𝑥𝐶𝐴𝐶 ) )
18 17 anbi1d ( 𝑥 = 𝐴 → ( ( 𝑥𝐶𝑦𝐷 ) ↔ ( 𝐴𝐶𝑦𝐷 ) ) )
19 18 6 imbi12d ( 𝑥 = 𝐴 → ( ( ( 𝑥𝐶𝑦𝐷 ) → 𝜑 ) ↔ ( ( 𝐴𝐶𝑦𝐷 ) → 𝜓 ) ) )
20 eleq1 ( 𝑦 = 𝐵 → ( 𝑦𝐷𝐵𝐷 ) )
21 20 anbi2d ( 𝑦 = 𝐵 → ( ( 𝐴𝐶𝑦𝐷 ) ↔ ( 𝐴𝐶𝐵𝐷 ) ) )
22 21 7 imbi12d ( 𝑦 = 𝐵 → ( ( ( 𝐴𝐶𝑦𝐷 ) → 𝜓 ) ↔ ( ( 𝐴𝐶𝐵𝐷 ) → 𝜒 ) ) )
23 1 2 3 12 16 19 22 8 vtocl2gf ( ( 𝐴𝐶𝐵𝐷 ) → ( ( 𝐴𝐶𝐵𝐷 ) → 𝜒 ) )
24 23 pm2.43i ( ( 𝐴𝐶𝐵𝐷 ) → 𝜒 )