Metamath Proof Explorer


Theorem cgsex4g

Description: An implicit substitution inference for 4 general classes. (Contributed by NM, 5-Aug-1995) Avoid ax-10 , ax-11 . (Revised by Gino Giotto, 28-Jun-2024)

Ref Expression
Hypotheses cgsex4g.1 ( ( ( 𝑥 = 𝐴𝑦 = 𝐵 ) ∧ ( 𝑧 = 𝐶𝑤 = 𝐷 ) ) → 𝜒 )
cgsex4g.2 ( 𝜒 → ( 𝜑𝜓 ) )
Assertion cgsex4g ( ( ( 𝐴𝑅𝐵𝑆 ) ∧ ( 𝐶𝑅𝐷𝑆 ) ) → ( ∃ 𝑥𝑦𝑧𝑤 ( 𝜒𝜑 ) ↔ 𝜓 ) )

Proof

Step Hyp Ref Expression
1 cgsex4g.1 ( ( ( 𝑥 = 𝐴𝑦 = 𝐵 ) ∧ ( 𝑧 = 𝐶𝑤 = 𝐷 ) ) → 𝜒 )
2 cgsex4g.2 ( 𝜒 → ( 𝜑𝜓 ) )
3 2 biimpa ( ( 𝜒𝜑 ) → 𝜓 )
4 3 exlimivv ( ∃ 𝑧𝑤 ( 𝜒𝜑 ) → 𝜓 )
5 4 exlimivv ( ∃ 𝑥𝑦𝑧𝑤 ( 𝜒𝜑 ) → 𝜓 )
6 elisset ( 𝐴𝑅 → ∃ 𝑥 𝑥 = 𝐴 )
7 elisset ( 𝐵𝑆 → ∃ 𝑦 𝑦 = 𝐵 )
8 6 7 anim12i ( ( 𝐴𝑅𝐵𝑆 ) → ( ∃ 𝑥 𝑥 = 𝐴 ∧ ∃ 𝑦 𝑦 = 𝐵 ) )
9 exdistrv ( ∃ 𝑥𝑦 ( 𝑥 = 𝐴𝑦 = 𝐵 ) ↔ ( ∃ 𝑥 𝑥 = 𝐴 ∧ ∃ 𝑦 𝑦 = 𝐵 ) )
10 8 9 sylibr ( ( 𝐴𝑅𝐵𝑆 ) → ∃ 𝑥𝑦 ( 𝑥 = 𝐴𝑦 = 𝐵 ) )
11 elisset ( 𝐶𝑅 → ∃ 𝑧 𝑧 = 𝐶 )
12 elisset ( 𝐷𝑆 → ∃ 𝑤 𝑤 = 𝐷 )
13 11 12 anim12i ( ( 𝐶𝑅𝐷𝑆 ) → ( ∃ 𝑧 𝑧 = 𝐶 ∧ ∃ 𝑤 𝑤 = 𝐷 ) )
14 exdistrv ( ∃ 𝑧𝑤 ( 𝑧 = 𝐶𝑤 = 𝐷 ) ↔ ( ∃ 𝑧 𝑧 = 𝐶 ∧ ∃ 𝑤 𝑤 = 𝐷 ) )
15 13 14 sylibr ( ( 𝐶𝑅𝐷𝑆 ) → ∃ 𝑧𝑤 ( 𝑧 = 𝐶𝑤 = 𝐷 ) )
16 10 15 anim12i ( ( ( 𝐴𝑅𝐵𝑆 ) ∧ ( 𝐶𝑅𝐷𝑆 ) ) → ( ∃ 𝑥𝑦 ( 𝑥 = 𝐴𝑦 = 𝐵 ) ∧ ∃ 𝑧𝑤 ( 𝑧 = 𝐶𝑤 = 𝐷 ) ) )
17 eqeq1 ( 𝑧 = 𝑣 → ( 𝑧 = 𝐶𝑣 = 𝐶 ) )
18 17 anbi1d ( 𝑧 = 𝑣 → ( ( 𝑧 = 𝐶𝑤 = 𝐷 ) ↔ ( 𝑣 = 𝐶𝑤 = 𝐷 ) ) )
19 18 anbi2d ( 𝑧 = 𝑣 → ( ( ( 𝑥 = 𝐴𝑦 = 𝐵 ) ∧ ( 𝑧 = 𝐶𝑤 = 𝐷 ) ) ↔ ( ( 𝑥 = 𝐴𝑦 = 𝐵 ) ∧ ( 𝑣 = 𝐶𝑤 = 𝐷 ) ) ) )
20 19 exbidv ( 𝑧 = 𝑣 → ( ∃ 𝑤 ( ( 𝑥 = 𝐴𝑦 = 𝐵 ) ∧ ( 𝑧 = 𝐶𝑤 = 𝐷 ) ) ↔ ∃ 𝑤 ( ( 𝑥 = 𝐴𝑦 = 𝐵 ) ∧ ( 𝑣 = 𝐶𝑤 = 𝐷 ) ) ) )
21 20 notbid ( 𝑧 = 𝑣 → ( ¬ ∃ 𝑤 ( ( 𝑥 = 𝐴𝑦 = 𝐵 ) ∧ ( 𝑧 = 𝐶𝑤 = 𝐷 ) ) ↔ ¬ ∃ 𝑤 ( ( 𝑥 = 𝐴𝑦 = 𝐵 ) ∧ ( 𝑣 = 𝐶𝑤 = 𝐷 ) ) ) )
22 21 alcomiw ( ∀ 𝑦𝑧 ¬ ∃ 𝑤 ( ( 𝑥 = 𝐴𝑦 = 𝐵 ) ∧ ( 𝑧 = 𝐶𝑤 = 𝐷 ) ) → ∀ 𝑧𝑦 ¬ ∃ 𝑤 ( ( 𝑥 = 𝐴𝑦 = 𝐵 ) ∧ ( 𝑧 = 𝐶𝑤 = 𝐷 ) ) )
23 eqeq1 ( 𝑦 = 𝑣 → ( 𝑦 = 𝐵𝑣 = 𝐵 ) )
24 23 anbi2d ( 𝑦 = 𝑣 → ( ( 𝑥 = 𝐴𝑦 = 𝐵 ) ↔ ( 𝑥 = 𝐴𝑣 = 𝐵 ) ) )
25 24 anbi1d ( 𝑦 = 𝑣 → ( ( ( 𝑥 = 𝐴𝑦 = 𝐵 ) ∧ ( 𝑧 = 𝐶𝑤 = 𝐷 ) ) ↔ ( ( 𝑥 = 𝐴𝑣 = 𝐵 ) ∧ ( 𝑧 = 𝐶𝑤 = 𝐷 ) ) ) )
26 25 exbidv ( 𝑦 = 𝑣 → ( ∃ 𝑤 ( ( 𝑥 = 𝐴𝑦 = 𝐵 ) ∧ ( 𝑧 = 𝐶𝑤 = 𝐷 ) ) ↔ ∃ 𝑤 ( ( 𝑥 = 𝐴𝑣 = 𝐵 ) ∧ ( 𝑧 = 𝐶𝑤 = 𝐷 ) ) ) )
27 26 notbid ( 𝑦 = 𝑣 → ( ¬ ∃ 𝑤 ( ( 𝑥 = 𝐴𝑦 = 𝐵 ) ∧ ( 𝑧 = 𝐶𝑤 = 𝐷 ) ) ↔ ¬ ∃ 𝑤 ( ( 𝑥 = 𝐴𝑣 = 𝐵 ) ∧ ( 𝑧 = 𝐶𝑤 = 𝐷 ) ) ) )
28 27 alcomiw ( ∀ 𝑧𝑦 ¬ ∃ 𝑤 ( ( 𝑥 = 𝐴𝑦 = 𝐵 ) ∧ ( 𝑧 = 𝐶𝑤 = 𝐷 ) ) → ∀ 𝑦𝑧 ¬ ∃ 𝑤 ( ( 𝑥 = 𝐴𝑦 = 𝐵 ) ∧ ( 𝑧 = 𝐶𝑤 = 𝐷 ) ) )
29 22 28 impbii ( ∀ 𝑦𝑧 ¬ ∃ 𝑤 ( ( 𝑥 = 𝐴𝑦 = 𝐵 ) ∧ ( 𝑧 = 𝐶𝑤 = 𝐷 ) ) ↔ ∀ 𝑧𝑦 ¬ ∃ 𝑤 ( ( 𝑥 = 𝐴𝑦 = 𝐵 ) ∧ ( 𝑧 = 𝐶𝑤 = 𝐷 ) ) )
30 29 notbii ( ¬ ∀ 𝑦𝑧 ¬ ∃ 𝑤 ( ( 𝑥 = 𝐴𝑦 = 𝐵 ) ∧ ( 𝑧 = 𝐶𝑤 = 𝐷 ) ) ↔ ¬ ∀ 𝑧𝑦 ¬ ∃ 𝑤 ( ( 𝑥 = 𝐴𝑦 = 𝐵 ) ∧ ( 𝑧 = 𝐶𝑤 = 𝐷 ) ) )
31 2exnaln ( ∃ 𝑦𝑧𝑤 ( ( 𝑥 = 𝐴𝑦 = 𝐵 ) ∧ ( 𝑧 = 𝐶𝑤 = 𝐷 ) ) ↔ ¬ ∀ 𝑦𝑧 ¬ ∃ 𝑤 ( ( 𝑥 = 𝐴𝑦 = 𝐵 ) ∧ ( 𝑧 = 𝐶𝑤 = 𝐷 ) ) )
32 2exnaln ( ∃ 𝑧𝑦𝑤 ( ( 𝑥 = 𝐴𝑦 = 𝐵 ) ∧ ( 𝑧 = 𝐶𝑤 = 𝐷 ) ) ↔ ¬ ∀ 𝑧𝑦 ¬ ∃ 𝑤 ( ( 𝑥 = 𝐴𝑦 = 𝐵 ) ∧ ( 𝑧 = 𝐶𝑤 = 𝐷 ) ) )
33 30 31 32 3bitr4i ( ∃ 𝑦𝑧𝑤 ( ( 𝑥 = 𝐴𝑦 = 𝐵 ) ∧ ( 𝑧 = 𝐶𝑤 = 𝐷 ) ) ↔ ∃ 𝑧𝑦𝑤 ( ( 𝑥 = 𝐴𝑦 = 𝐵 ) ∧ ( 𝑧 = 𝐶𝑤 = 𝐷 ) ) )
34 33 exbii ( ∃ 𝑥𝑦𝑧𝑤 ( ( 𝑥 = 𝐴𝑦 = 𝐵 ) ∧ ( 𝑧 = 𝐶𝑤 = 𝐷 ) ) ↔ ∃ 𝑥𝑧𝑦𝑤 ( ( 𝑥 = 𝐴𝑦 = 𝐵 ) ∧ ( 𝑧 = 𝐶𝑤 = 𝐷 ) ) )
35 4exdistrv ( ∃ 𝑥𝑧𝑦𝑤 ( ( 𝑥 = 𝐴𝑦 = 𝐵 ) ∧ ( 𝑧 = 𝐶𝑤 = 𝐷 ) ) ↔ ( ∃ 𝑥𝑦 ( 𝑥 = 𝐴𝑦 = 𝐵 ) ∧ ∃ 𝑧𝑤 ( 𝑧 = 𝐶𝑤 = 𝐷 ) ) )
36 34 35 bitri ( ∃ 𝑥𝑦𝑧𝑤 ( ( 𝑥 = 𝐴𝑦 = 𝐵 ) ∧ ( 𝑧 = 𝐶𝑤 = 𝐷 ) ) ↔ ( ∃ 𝑥𝑦 ( 𝑥 = 𝐴𝑦 = 𝐵 ) ∧ ∃ 𝑧𝑤 ( 𝑧 = 𝐶𝑤 = 𝐷 ) ) )
37 16 36 sylibr ( ( ( 𝐴𝑅𝐵𝑆 ) ∧ ( 𝐶𝑅𝐷𝑆 ) ) → ∃ 𝑥𝑦𝑧𝑤 ( ( 𝑥 = 𝐴𝑦 = 𝐵 ) ∧ ( 𝑧 = 𝐶𝑤 = 𝐷 ) ) )
38 1 2eximi ( ∃ 𝑧𝑤 ( ( 𝑥 = 𝐴𝑦 = 𝐵 ) ∧ ( 𝑧 = 𝐶𝑤 = 𝐷 ) ) → ∃ 𝑧𝑤 𝜒 )
39 38 2eximi ( ∃ 𝑥𝑦𝑧𝑤 ( ( 𝑥 = 𝐴𝑦 = 𝐵 ) ∧ ( 𝑧 = 𝐶𝑤 = 𝐷 ) ) → ∃ 𝑥𝑦𝑧𝑤 𝜒 )
40 37 39 syl ( ( ( 𝐴𝑅𝐵𝑆 ) ∧ ( 𝐶𝑅𝐷𝑆 ) ) → ∃ 𝑥𝑦𝑧𝑤 𝜒 )
41 2 biimprcd ( 𝜓 → ( 𝜒𝜑 ) )
42 41 ancld ( 𝜓 → ( 𝜒 → ( 𝜒𝜑 ) ) )
43 42 2eximdv ( 𝜓 → ( ∃ 𝑧𝑤 𝜒 → ∃ 𝑧𝑤 ( 𝜒𝜑 ) ) )
44 43 2eximdv ( 𝜓 → ( ∃ 𝑥𝑦𝑧𝑤 𝜒 → ∃ 𝑥𝑦𝑧𝑤 ( 𝜒𝜑 ) ) )
45 40 44 syl5com ( ( ( 𝐴𝑅𝐵𝑆 ) ∧ ( 𝐶𝑅𝐷𝑆 ) ) → ( 𝜓 → ∃ 𝑥𝑦𝑧𝑤 ( 𝜒𝜑 ) ) )
46 5 45 impbid2 ( ( ( 𝐴𝑅𝐵𝑆 ) ∧ ( 𝐶𝑅𝐷𝑆 ) ) → ( ∃ 𝑥𝑦𝑧𝑤 ( 𝜒𝜑 ) ↔ 𝜓 ) )