Metamath Proof Explorer


Theorem disjen

Description: A stronger form of pwuninel . We can use pwuninel , 2pwuninel to create one or two sets disjoint from a given set A , but here we show that in fact such constructions exist for arbitrarily large disjoint extensions, which is to say that for any set B we can construct a set x that is equinumerous to it and disjoint from A . (Contributed by Mario Carneiro, 7-Feb-2015)

Ref Expression
Assertion disjen ( ( 𝐴𝑉𝐵𝑊 ) → ( ( 𝐴 ∩ ( 𝐵 × { 𝒫 ran 𝐴 } ) ) = ∅ ∧ ( 𝐵 × { 𝒫 ran 𝐴 } ) ≈ 𝐵 ) )

Proof

Step Hyp Ref Expression
1 1st2nd2 ( 𝑥 ∈ ( 𝐵 × { 𝒫 ran 𝐴 } ) → 𝑥 = ⟨ ( 1st𝑥 ) , ( 2nd𝑥 ) ⟩ )
2 1 ad2antll ( ( ( 𝐴𝑉𝐵𝑊 ) ∧ ( 𝑥𝐴𝑥 ∈ ( 𝐵 × { 𝒫 ran 𝐴 } ) ) ) → 𝑥 = ⟨ ( 1st𝑥 ) , ( 2nd𝑥 ) ⟩ )
3 simprl ( ( ( 𝐴𝑉𝐵𝑊 ) ∧ ( 𝑥𝐴𝑥 ∈ ( 𝐵 × { 𝒫 ran 𝐴 } ) ) ) → 𝑥𝐴 )
4 2 3 eqeltrrd ( ( ( 𝐴𝑉𝐵𝑊 ) ∧ ( 𝑥𝐴𝑥 ∈ ( 𝐵 × { 𝒫 ran 𝐴 } ) ) ) → ⟨ ( 1st𝑥 ) , ( 2nd𝑥 ) ⟩ ∈ 𝐴 )
5 fvex ( 1st𝑥 ) ∈ V
6 fvex ( 2nd𝑥 ) ∈ V
7 5 6 opelrn ( ⟨ ( 1st𝑥 ) , ( 2nd𝑥 ) ⟩ ∈ 𝐴 → ( 2nd𝑥 ) ∈ ran 𝐴 )
8 4 7 syl ( ( ( 𝐴𝑉𝐵𝑊 ) ∧ ( 𝑥𝐴𝑥 ∈ ( 𝐵 × { 𝒫 ran 𝐴 } ) ) ) → ( 2nd𝑥 ) ∈ ran 𝐴 )
9 pwuninel ¬ 𝒫 ran 𝐴 ∈ ran 𝐴
10 xp2nd ( 𝑥 ∈ ( 𝐵 × { 𝒫 ran 𝐴 } ) → ( 2nd𝑥 ) ∈ { 𝒫 ran 𝐴 } )
11 10 ad2antll ( ( ( 𝐴𝑉𝐵𝑊 ) ∧ ( 𝑥𝐴𝑥 ∈ ( 𝐵 × { 𝒫 ran 𝐴 } ) ) ) → ( 2nd𝑥 ) ∈ { 𝒫 ran 𝐴 } )
12 elsni ( ( 2nd𝑥 ) ∈ { 𝒫 ran 𝐴 } → ( 2nd𝑥 ) = 𝒫 ran 𝐴 )
13 11 12 syl ( ( ( 𝐴𝑉𝐵𝑊 ) ∧ ( 𝑥𝐴𝑥 ∈ ( 𝐵 × { 𝒫 ran 𝐴 } ) ) ) → ( 2nd𝑥 ) = 𝒫 ran 𝐴 )
14 13 eleq1d ( ( ( 𝐴𝑉𝐵𝑊 ) ∧ ( 𝑥𝐴𝑥 ∈ ( 𝐵 × { 𝒫 ran 𝐴 } ) ) ) → ( ( 2nd𝑥 ) ∈ ran 𝐴 ↔ 𝒫 ran 𝐴 ∈ ran 𝐴 ) )
15 9 14 mtbiri ( ( ( 𝐴𝑉𝐵𝑊 ) ∧ ( 𝑥𝐴𝑥 ∈ ( 𝐵 × { 𝒫 ran 𝐴 } ) ) ) → ¬ ( 2nd𝑥 ) ∈ ran 𝐴 )
16 8 15 pm2.65da ( ( 𝐴𝑉𝐵𝑊 ) → ¬ ( 𝑥𝐴𝑥 ∈ ( 𝐵 × { 𝒫 ran 𝐴 } ) ) )
17 elin ( 𝑥 ∈ ( 𝐴 ∩ ( 𝐵 × { 𝒫 ran 𝐴 } ) ) ↔ ( 𝑥𝐴𝑥 ∈ ( 𝐵 × { 𝒫 ran 𝐴 } ) ) )
18 16 17 sylnibr ( ( 𝐴𝑉𝐵𝑊 ) → ¬ 𝑥 ∈ ( 𝐴 ∩ ( 𝐵 × { 𝒫 ran 𝐴 } ) ) )
19 18 eq0rdv ( ( 𝐴𝑉𝐵𝑊 ) → ( 𝐴 ∩ ( 𝐵 × { 𝒫 ran 𝐴 } ) ) = ∅ )
20 simpr ( ( 𝐴𝑉𝐵𝑊 ) → 𝐵𝑊 )
21 rnexg ( 𝐴𝑉 → ran 𝐴 ∈ V )
22 21 adantr ( ( 𝐴𝑉𝐵𝑊 ) → ran 𝐴 ∈ V )
23 uniexg ( ran 𝐴 ∈ V → ran 𝐴 ∈ V )
24 pwexg ( ran 𝐴 ∈ V → 𝒫 ran 𝐴 ∈ V )
25 22 23 24 3syl ( ( 𝐴𝑉𝐵𝑊 ) → 𝒫 ran 𝐴 ∈ V )
26 xpsneng ( ( 𝐵𝑊 ∧ 𝒫 ran 𝐴 ∈ V ) → ( 𝐵 × { 𝒫 ran 𝐴 } ) ≈ 𝐵 )
27 20 25 26 syl2anc ( ( 𝐴𝑉𝐵𝑊 ) → ( 𝐵 × { 𝒫 ran 𝐴 } ) ≈ 𝐵 )
28 19 27 jca ( ( 𝐴𝑉𝐵𝑊 ) → ( ( 𝐴 ∩ ( 𝐵 × { 𝒫 ran 𝐴 } ) ) = ∅ ∧ ( 𝐵 × { 𝒫 ran 𝐴 } ) ≈ 𝐵 ) )