Metamath Proof Explorer


Theorem ss2iundf

Description: Subclass theorem for indexed union. (Contributed by RP, 17-Jul-2020)

Ref Expression
Hypotheses ss2iundf.xph 𝑥 𝜑
ss2iundf.yph 𝑦 𝜑
ss2iundf.y 𝑦 𝑌
ss2iundf.a 𝑦 𝐴
ss2iundf.b 𝑦 𝐵
ss2iundf.xc 𝑥 𝐶
ss2iundf.yc 𝑦 𝐶
ss2iundf.d 𝑥 𝐷
ss2iundf.g 𝑦 𝐺
ss2iundf.el ( ( 𝜑𝑥𝐴 ) → 𝑌𝐶 )
ss2iundf.sub ( ( 𝜑𝑥𝐴𝑦 = 𝑌 ) → 𝐷 = 𝐺 )
ss2iundf.ss ( ( 𝜑𝑥𝐴 ) → 𝐵𝐺 )
Assertion ss2iundf ( 𝜑 𝑥𝐴 𝐵 𝑦𝐶 𝐷 )

Proof

Step Hyp Ref Expression
1 ss2iundf.xph 𝑥 𝜑
2 ss2iundf.yph 𝑦 𝜑
3 ss2iundf.y 𝑦 𝑌
4 ss2iundf.a 𝑦 𝐴
5 ss2iundf.b 𝑦 𝐵
6 ss2iundf.xc 𝑥 𝐶
7 ss2iundf.yc 𝑦 𝐶
8 ss2iundf.d 𝑥 𝐷
9 ss2iundf.g 𝑦 𝐺
10 ss2iundf.el ( ( 𝜑𝑥𝐴 ) → 𝑌𝐶 )
11 ss2iundf.sub ( ( 𝜑𝑥𝐴𝑦 = 𝑌 ) → 𝐷 = 𝐺 )
12 ss2iundf.ss ( ( 𝜑𝑥𝐴 ) → 𝐵𝐺 )
13 df-ral ( ∀ 𝑦𝐶 ¬ 𝐵𝐷 ↔ ∀ 𝑦 ( 𝑦𝐶 → ¬ 𝐵𝐷 ) )
14 4 nfcri 𝑦 𝑥𝐴
15 2 14 nfan 𝑦 ( 𝜑𝑥𝐴 )
16 simpr ( ( ( 𝜑𝑥𝐴 ) ∧ 𝑦 = 𝑌 ) → 𝑦 = 𝑌 )
17 16 eleq1d ( ( ( 𝜑𝑥𝐴 ) ∧ 𝑦 = 𝑌 ) → ( 𝑦𝐶𝑌𝐶 ) )
18 17 biimprd ( ( ( 𝜑𝑥𝐴 ) ∧ 𝑦 = 𝑌 ) → ( 𝑌𝐶𝑦𝐶 ) )
19 11 sseq2d ( ( 𝜑𝑥𝐴𝑦 = 𝑌 ) → ( 𝐵𝐷𝐵𝐺 ) )
20 19 3expa ( ( ( 𝜑𝑥𝐴 ) ∧ 𝑦 = 𝑌 ) → ( 𝐵𝐷𝐵𝐺 ) )
21 20 notbid ( ( ( 𝜑𝑥𝐴 ) ∧ 𝑦 = 𝑌 ) → ( ¬ 𝐵𝐷 ↔ ¬ 𝐵𝐺 ) )
22 21 biimpd ( ( ( 𝜑𝑥𝐴 ) ∧ 𝑦 = 𝑌 ) → ( ¬ 𝐵𝐷 → ¬ 𝐵𝐺 ) )
23 18 22 imim12d ( ( ( 𝜑𝑥𝐴 ) ∧ 𝑦 = 𝑌 ) → ( ( 𝑦𝐶 → ¬ 𝐵𝐷 ) → ( 𝑌𝐶 → ¬ 𝐵𝐺 ) ) )
24 23 ex ( ( 𝜑𝑥𝐴 ) → ( 𝑦 = 𝑌 → ( ( 𝑦𝐶 → ¬ 𝐵𝐷 ) → ( 𝑌𝐶 → ¬ 𝐵𝐺 ) ) ) )
25 15 24 alrimi ( ( 𝜑𝑥𝐴 ) → ∀ 𝑦 ( 𝑦 = 𝑌 → ( ( 𝑦𝐶 → ¬ 𝐵𝐷 ) → ( 𝑌𝐶 → ¬ 𝐵𝐺 ) ) ) )
26 3 7 nfel 𝑦 𝑌𝐶
27 5 9 nfss 𝑦 𝐵𝐺
28 27 nfn 𝑦 ¬ 𝐵𝐺
29 26 28 nfim 𝑦 ( 𝑌𝐶 → ¬ 𝐵𝐺 )
30 29 3 spcimgft ( ∀ 𝑦 ( 𝑦 = 𝑌 → ( ( 𝑦𝐶 → ¬ 𝐵𝐷 ) → ( 𝑌𝐶 → ¬ 𝐵𝐺 ) ) ) → ( 𝑌𝐶 → ( ∀ 𝑦 ( 𝑦𝐶 → ¬ 𝐵𝐷 ) → ( 𝑌𝐶 → ¬ 𝐵𝐺 ) ) ) )
31 25 10 30 sylc ( ( 𝜑𝑥𝐴 ) → ( ∀ 𝑦 ( 𝑦𝐶 → ¬ 𝐵𝐷 ) → ( 𝑌𝐶 → ¬ 𝐵𝐺 ) ) )
32 10 31 mpid ( ( 𝜑𝑥𝐴 ) → ( ∀ 𝑦 ( 𝑦𝐶 → ¬ 𝐵𝐷 ) → ¬ 𝐵𝐺 ) )
33 13 32 syl5bi ( ( 𝜑𝑥𝐴 ) → ( ∀ 𝑦𝐶 ¬ 𝐵𝐷 → ¬ 𝐵𝐺 ) )
34 33 con2d ( ( 𝜑𝑥𝐴 ) → ( 𝐵𝐺 → ¬ ∀ 𝑦𝐶 ¬ 𝐵𝐷 ) )
35 dfrex2 ( ∃ 𝑦𝐶 𝐵𝐷 ↔ ¬ ∀ 𝑦𝐶 ¬ 𝐵𝐷 )
36 34 35 syl6ibr ( ( 𝜑𝑥𝐴 ) → ( 𝐵𝐺 → ∃ 𝑦𝐶 𝐵𝐷 ) )
37 12 36 mpd ( ( 𝜑𝑥𝐴 ) → ∃ 𝑦𝐶 𝐵𝐷 )
38 37 ex ( 𝜑 → ( 𝑥𝐴 → ∃ 𝑦𝐶 𝐵𝐷 ) )
39 1 38 ralrimi ( 𝜑 → ∀ 𝑥𝐴𝑦𝐶 𝐵𝐷 )
40 ssel ( 𝐵𝐷 → ( 𝑧𝐵𝑧𝐷 ) )
41 40 reximi ( ∃ 𝑦𝐶 𝐵𝐷 → ∃ 𝑦𝐶 ( 𝑧𝐵𝑧𝐷 ) )
42 5 nfcri 𝑦 𝑧𝐵
43 42 r19.37 ( ∃ 𝑦𝐶 ( 𝑧𝐵𝑧𝐷 ) → ( 𝑧𝐵 → ∃ 𝑦𝐶 𝑧𝐷 ) )
44 41 43 syl ( ∃ 𝑦𝐶 𝐵𝐷 → ( 𝑧𝐵 → ∃ 𝑦𝐶 𝑧𝐷 ) )
45 eliun ( 𝑧 𝑦𝐶 𝐷 ↔ ∃ 𝑦𝐶 𝑧𝐷 )
46 44 45 syl6ibr ( ∃ 𝑦𝐶 𝐵𝐷 → ( 𝑧𝐵𝑧 𝑦𝐶 𝐷 ) )
47 46 ssrdv ( ∃ 𝑦𝐶 𝐵𝐷𝐵 𝑦𝐶 𝐷 )
48 47 ralimi ( ∀ 𝑥𝐴𝑦𝐶 𝐵𝐷 → ∀ 𝑥𝐴 𝐵 𝑦𝐶 𝐷 )
49 df-iun 𝑥𝐴 𝐵 = { 𝑧 ∣ ∃ 𝑥𝐴 𝑧𝐵 }
50 49 sseq1i ( 𝑥𝐴 𝐵 𝑦𝐶 𝐷 ↔ { 𝑧 ∣ ∃ 𝑥𝐴 𝑧𝐵 } ⊆ 𝑦𝐶 𝐷 )
51 abss ( { 𝑧 ∣ ∃ 𝑥𝐴 𝑧𝐵 } ⊆ 𝑦𝐶 𝐷 ↔ ∀ 𝑧 ( ∃ 𝑥𝐴 𝑧𝐵𝑧 𝑦𝐶 𝐷 ) )
52 dfss2 ( 𝐵 𝑦𝐶 𝐷 ↔ ∀ 𝑧 ( 𝑧𝐵𝑧 𝑦𝐶 𝐷 ) )
53 52 ralbii ( ∀ 𝑥𝐴 𝐵 𝑦𝐶 𝐷 ↔ ∀ 𝑥𝐴𝑧 ( 𝑧𝐵𝑧 𝑦𝐶 𝐷 ) )
54 ralcom4 ( ∀ 𝑥𝐴𝑧 ( 𝑧𝐵𝑧 𝑦𝐶 𝐷 ) ↔ ∀ 𝑧𝑥𝐴 ( 𝑧𝐵𝑧 𝑦𝐶 𝐷 ) )
55 6 8 nfiun 𝑥 𝑦𝐶 𝐷
56 55 nfcri 𝑥 𝑧 𝑦𝐶 𝐷
57 56 r19.23 ( ∀ 𝑥𝐴 ( 𝑧𝐵𝑧 𝑦𝐶 𝐷 ) ↔ ( ∃ 𝑥𝐴 𝑧𝐵𝑧 𝑦𝐶 𝐷 ) )
58 57 albii ( ∀ 𝑧𝑥𝐴 ( 𝑧𝐵𝑧 𝑦𝐶 𝐷 ) ↔ ∀ 𝑧 ( ∃ 𝑥𝐴 𝑧𝐵𝑧 𝑦𝐶 𝐷 ) )
59 53 54 58 3bitrri ( ∀ 𝑧 ( ∃ 𝑥𝐴 𝑧𝐵𝑧 𝑦𝐶 𝐷 ) ↔ ∀ 𝑥𝐴 𝐵 𝑦𝐶 𝐷 )
60 50 51 59 3bitri ( 𝑥𝐴 𝐵 𝑦𝐶 𝐷 ↔ ∀ 𝑥𝐴 𝐵 𝑦𝐶 𝐷 )
61 48 60 sylibr ( ∀ 𝑥𝐴𝑦𝐶 𝐵𝐷 𝑥𝐴 𝐵 𝑦𝐶 𝐷 )
62 39 61 syl ( 𝜑 𝑥𝐴 𝐵 𝑦𝐶 𝐷 )