Metamath Proof Explorer


Theorem unielss

Description: Two ways to say the union of a class is an element of a subclass. (Contributed by RP, 29-Jan-2025)

Ref Expression
Assertion unielss ( 𝐴𝐵 → ( 𝐵𝐴 ↔ ∃ 𝑥𝐴𝑦𝐵 𝑦𝑥 ) )

Proof

Step Hyp Ref Expression
1 uniel ( 𝐵𝐴 ↔ ∃ 𝑥𝐴𝑧 ( 𝑧𝑥 ↔ ∃ 𝑦𝐵 𝑧𝑦 ) )
2 df-ss ( 𝑦𝑥 ↔ ∀ 𝑧 ( 𝑧𝑦𝑧𝑥 ) )
3 2 ralbii ( ∀ 𝑦𝐵 𝑦𝑥 ↔ ∀ 𝑦𝐵𝑧 ( 𝑧𝑦𝑧𝑥 ) )
4 df-ral ( ∀ 𝑦𝐵𝑧 ( 𝑧𝑦𝑧𝑥 ) ↔ ∀ 𝑦 ( 𝑦𝐵 → ∀ 𝑧 ( 𝑧𝑦𝑧𝑥 ) ) )
5 19.21v ( ∀ 𝑧 ( 𝑦𝐵 → ( 𝑧𝑦𝑧𝑥 ) ) ↔ ( 𝑦𝐵 → ∀ 𝑧 ( 𝑧𝑦𝑧𝑥 ) ) )
6 5 albii ( ∀ 𝑦𝑧 ( 𝑦𝐵 → ( 𝑧𝑦𝑧𝑥 ) ) ↔ ∀ 𝑦 ( 𝑦𝐵 → ∀ 𝑧 ( 𝑧𝑦𝑧𝑥 ) ) )
7 alcom ( ∀ 𝑦𝑧 ( 𝑦𝐵 → ( 𝑧𝑦𝑧𝑥 ) ) ↔ ∀ 𝑧𝑦 ( 𝑦𝐵 → ( 𝑧𝑦𝑧𝑥 ) ) )
8 4 6 7 3bitr2i ( ∀ 𝑦𝐵𝑧 ( 𝑧𝑦𝑧𝑥 ) ↔ ∀ 𝑧𝑦 ( 𝑦𝐵 → ( 𝑧𝑦𝑧𝑥 ) ) )
9 3 8 bitri ( ∀ 𝑦𝐵 𝑦𝑥 ↔ ∀ 𝑧𝑦 ( 𝑦𝐵 → ( 𝑧𝑦𝑧𝑥 ) ) )
10 ssel2 ( ( 𝐴𝐵𝑥𝐴 ) → 𝑥𝐵 )
11 pm2.27 ( 𝑧𝑥 → ( ( 𝑧𝑥𝑧𝑥 ) → 𝑧𝑥 ) )
12 elequ2 ( 𝑦 = 𝑥 → ( 𝑧𝑦𝑧𝑥 ) )
13 12 imbi1d ( 𝑦 = 𝑥 → ( ( 𝑧𝑦𝑧𝑥 ) ↔ ( 𝑧𝑥𝑧𝑥 ) ) )
14 13 12 imbi12d ( 𝑦 = 𝑥 → ( ( ( 𝑧𝑦𝑧𝑥 ) → 𝑧𝑦 ) ↔ ( ( 𝑧𝑥𝑧𝑥 ) → 𝑧𝑥 ) ) )
15 14 rspcev ( ( 𝑥𝐵 ∧ ( ( 𝑧𝑥𝑧𝑥 ) → 𝑧𝑥 ) ) → ∃ 𝑦𝐵 ( ( 𝑧𝑦𝑧𝑥 ) → 𝑧𝑦 ) )
16 10 11 15 syl2an ( ( ( 𝐴𝐵𝑥𝐴 ) ∧ 𝑧𝑥 ) → ∃ 𝑦𝐵 ( ( 𝑧𝑦𝑧𝑥 ) → 𝑧𝑦 ) )
17 r19.35 ( ∃ 𝑦𝐵 ( ( 𝑧𝑦𝑧𝑥 ) → 𝑧𝑦 ) ↔ ( ∀ 𝑦𝐵 ( 𝑧𝑦𝑧𝑥 ) → ∃ 𝑦𝐵 𝑧𝑦 ) )
18 df-ral ( ∀ 𝑦𝐵 ( 𝑧𝑦𝑧𝑥 ) ↔ ∀ 𝑦 ( 𝑦𝐵 → ( 𝑧𝑦𝑧𝑥 ) ) )
19 18 imbi1i ( ( ∀ 𝑦𝐵 ( 𝑧𝑦𝑧𝑥 ) → ∃ 𝑦𝐵 𝑧𝑦 ) ↔ ( ∀ 𝑦 ( 𝑦𝐵 → ( 𝑧𝑦𝑧𝑥 ) ) → ∃ 𝑦𝐵 𝑧𝑦 ) )
20 17 19 bitri ( ∃ 𝑦𝐵 ( ( 𝑧𝑦𝑧𝑥 ) → 𝑧𝑦 ) ↔ ( ∀ 𝑦 ( 𝑦𝐵 → ( 𝑧𝑦𝑧𝑥 ) ) → ∃ 𝑦𝐵 𝑧𝑦 ) )
21 16 20 sylib ( ( ( 𝐴𝐵𝑥𝐴 ) ∧ 𝑧𝑥 ) → ( ∀ 𝑦 ( 𝑦𝐵 → ( 𝑧𝑦𝑧𝑥 ) ) → ∃ 𝑦𝐵 𝑧𝑦 ) )
22 21 impancom ( ( ( 𝐴𝐵𝑥𝐴 ) ∧ ∀ 𝑦 ( 𝑦𝐵 → ( 𝑧𝑦𝑧𝑥 ) ) ) → ( 𝑧𝑥 → ∃ 𝑦𝐵 𝑧𝑦 ) )
23 nfv 𝑦 ( 𝐴𝐵𝑥𝐴 )
24 nfa1 𝑦𝑦 ( 𝑦𝐵 → ( 𝑧𝑦𝑧𝑥 ) )
25 23 24 nfan 𝑦 ( ( 𝐴𝐵𝑥𝐴 ) ∧ ∀ 𝑦 ( 𝑦𝐵 → ( 𝑧𝑦𝑧𝑥 ) ) )
26 nfv 𝑦 𝑧𝑥
27 sp ( ∀ 𝑦 ( 𝑦𝐵 → ( 𝑧𝑦𝑧𝑥 ) ) → ( 𝑦𝐵 → ( 𝑧𝑦𝑧𝑥 ) ) )
28 27 adantl ( ( ( 𝐴𝐵𝑥𝐴 ) ∧ ∀ 𝑦 ( 𝑦𝐵 → ( 𝑧𝑦𝑧𝑥 ) ) ) → ( 𝑦𝐵 → ( 𝑧𝑦𝑧𝑥 ) ) )
29 25 26 28 rexlimd ( ( ( 𝐴𝐵𝑥𝐴 ) ∧ ∀ 𝑦 ( 𝑦𝐵 → ( 𝑧𝑦𝑧𝑥 ) ) ) → ( ∃ 𝑦𝐵 𝑧𝑦𝑧𝑥 ) )
30 22 29 impbid ( ( ( 𝐴𝐵𝑥𝐴 ) ∧ ∀ 𝑦 ( 𝑦𝐵 → ( 𝑧𝑦𝑧𝑥 ) ) ) → ( 𝑧𝑥 ↔ ∃ 𝑦𝐵 𝑧𝑦 ) )
31 rspe ( ( 𝑦𝐵𝑧𝑦 ) → ∃ 𝑦𝐵 𝑧𝑦 )
32 31 ex ( 𝑦𝐵 → ( 𝑧𝑦 → ∃ 𝑦𝐵 𝑧𝑦 ) )
33 32 ax-gen 𝑦 ( 𝑦𝐵 → ( 𝑧𝑦 → ∃ 𝑦𝐵 𝑧𝑦 ) )
34 nfre1 𝑦𝑦𝐵 𝑧𝑦
35 26 34 nfbi 𝑦 ( 𝑧𝑥 ↔ ∃ 𝑦𝐵 𝑧𝑦 )
36 imbi2 ( ( 𝑧𝑥 ↔ ∃ 𝑦𝐵 𝑧𝑦 ) → ( ( 𝑧𝑦𝑧𝑥 ) ↔ ( 𝑧𝑦 → ∃ 𝑦𝐵 𝑧𝑦 ) ) )
37 36 imbi2d ( ( 𝑧𝑥 ↔ ∃ 𝑦𝐵 𝑧𝑦 ) → ( ( 𝑦𝐵 → ( 𝑧𝑦𝑧𝑥 ) ) ↔ ( 𝑦𝐵 → ( 𝑧𝑦 → ∃ 𝑦𝐵 𝑧𝑦 ) ) ) )
38 35 37 albid ( ( 𝑧𝑥 ↔ ∃ 𝑦𝐵 𝑧𝑦 ) → ( ∀ 𝑦 ( 𝑦𝐵 → ( 𝑧𝑦𝑧𝑥 ) ) ↔ ∀ 𝑦 ( 𝑦𝐵 → ( 𝑧𝑦 → ∃ 𝑦𝐵 𝑧𝑦 ) ) ) )
39 38 adantl ( ( ( 𝐴𝐵𝑥𝐴 ) ∧ ( 𝑧𝑥 ↔ ∃ 𝑦𝐵 𝑧𝑦 ) ) → ( ∀ 𝑦 ( 𝑦𝐵 → ( 𝑧𝑦𝑧𝑥 ) ) ↔ ∀ 𝑦 ( 𝑦𝐵 → ( 𝑧𝑦 → ∃ 𝑦𝐵 𝑧𝑦 ) ) ) )
40 33 39 mpbiri ( ( ( 𝐴𝐵𝑥𝐴 ) ∧ ( 𝑧𝑥 ↔ ∃ 𝑦𝐵 𝑧𝑦 ) ) → ∀ 𝑦 ( 𝑦𝐵 → ( 𝑧𝑦𝑧𝑥 ) ) )
41 30 40 impbida ( ( 𝐴𝐵𝑥𝐴 ) → ( ∀ 𝑦 ( 𝑦𝐵 → ( 𝑧𝑦𝑧𝑥 ) ) ↔ ( 𝑧𝑥 ↔ ∃ 𝑦𝐵 𝑧𝑦 ) ) )
42 41 albidv ( ( 𝐴𝐵𝑥𝐴 ) → ( ∀ 𝑧𝑦 ( 𝑦𝐵 → ( 𝑧𝑦𝑧𝑥 ) ) ↔ ∀ 𝑧 ( 𝑧𝑥 ↔ ∃ 𝑦𝐵 𝑧𝑦 ) ) )
43 9 42 bitrid ( ( 𝐴𝐵𝑥𝐴 ) → ( ∀ 𝑦𝐵 𝑦𝑥 ↔ ∀ 𝑧 ( 𝑧𝑥 ↔ ∃ 𝑦𝐵 𝑧𝑦 ) ) )
44 43 rexbidva ( 𝐴𝐵 → ( ∃ 𝑥𝐴𝑦𝐵 𝑦𝑥 ↔ ∃ 𝑥𝐴𝑧 ( 𝑧𝑥 ↔ ∃ 𝑦𝐵 𝑧𝑦 ) ) )
45 1 44 bitr4id ( 𝐴𝐵 → ( 𝐵𝐴 ↔ ∃ 𝑥𝐴𝑦𝐵 𝑦𝑥 ) )