Metamath Proof Explorer


Theorem uniinqs

Description: Class union distributes over the intersection of two subclasses of a quotient space. Compare uniin . (Contributed by FL, 25-May-2007) (Proof shortened by Mario Carneiro, 11-Jul-2014)

Ref Expression
Hypothesis uniinqs.1 𝑅 Er 𝑋
Assertion uniinqs ( ( 𝐵 ⊆ ( 𝐴 / 𝑅 ) ∧ 𝐶 ⊆ ( 𝐴 / 𝑅 ) ) → ( 𝐵𝐶 ) = ( 𝐵 𝐶 ) )

Proof

Step Hyp Ref Expression
1 uniinqs.1 𝑅 Er 𝑋
2 uniin ( 𝐵𝐶 ) ⊆ ( 𝐵 𝐶 )
3 2 a1i ( ( 𝐵 ⊆ ( 𝐴 / 𝑅 ) ∧ 𝐶 ⊆ ( 𝐴 / 𝑅 ) ) → ( 𝐵𝐶 ) ⊆ ( 𝐵 𝐶 ) )
4 eluni2 ( 𝑥 𝐵 ↔ ∃ 𝑏𝐵 𝑥𝑏 )
5 eluni2 ( 𝑥 𝐶 ↔ ∃ 𝑐𝐶 𝑥𝑐 )
6 4 5 anbi12i ( ( 𝑥 𝐵𝑥 𝐶 ) ↔ ( ∃ 𝑏𝐵 𝑥𝑏 ∧ ∃ 𝑐𝐶 𝑥𝑐 ) )
7 elin ( 𝑥 ∈ ( 𝐵 𝐶 ) ↔ ( 𝑥 𝐵𝑥 𝐶 ) )
8 reeanv ( ∃ 𝑏𝐵𝑐𝐶 ( 𝑥𝑏𝑥𝑐 ) ↔ ( ∃ 𝑏𝐵 𝑥𝑏 ∧ ∃ 𝑐𝐶 𝑥𝑐 ) )
9 6 7 8 3bitr4i ( 𝑥 ∈ ( 𝐵 𝐶 ) ↔ ∃ 𝑏𝐵𝑐𝐶 ( 𝑥𝑏𝑥𝑐 ) )
10 simp3l ( ( ( 𝐵 ⊆ ( 𝐴 / 𝑅 ) ∧ 𝐶 ⊆ ( 𝐴 / 𝑅 ) ) ∧ ( 𝑏𝐵𝑐𝐶 ) ∧ ( 𝑥𝑏𝑥𝑐 ) ) → 𝑥𝑏 )
11 simp2l ( ( ( 𝐵 ⊆ ( 𝐴 / 𝑅 ) ∧ 𝐶 ⊆ ( 𝐴 / 𝑅 ) ) ∧ ( 𝑏𝐵𝑐𝐶 ) ∧ ( 𝑥𝑏𝑥𝑐 ) ) → 𝑏𝐵 )
12 inelcm ( ( 𝑥𝑏𝑥𝑐 ) → ( 𝑏𝑐 ) ≠ ∅ )
13 12 3ad2ant3 ( ( ( 𝐵 ⊆ ( 𝐴 / 𝑅 ) ∧ 𝐶 ⊆ ( 𝐴 / 𝑅 ) ) ∧ ( 𝑏𝐵𝑐𝐶 ) ∧ ( 𝑥𝑏𝑥𝑐 ) ) → ( 𝑏𝑐 ) ≠ ∅ )
14 1 a1i ( ( ( 𝐵 ⊆ ( 𝐴 / 𝑅 ) ∧ 𝐶 ⊆ ( 𝐴 / 𝑅 ) ) ∧ ( 𝑏𝐵𝑐𝐶 ) ∧ ( 𝑥𝑏𝑥𝑐 ) ) → 𝑅 Er 𝑋 )
15 simp1l ( ( ( 𝐵 ⊆ ( 𝐴 / 𝑅 ) ∧ 𝐶 ⊆ ( 𝐴 / 𝑅 ) ) ∧ ( 𝑏𝐵𝑐𝐶 ) ∧ ( 𝑥𝑏𝑥𝑐 ) ) → 𝐵 ⊆ ( 𝐴 / 𝑅 ) )
16 15 11 sseldd ( ( ( 𝐵 ⊆ ( 𝐴 / 𝑅 ) ∧ 𝐶 ⊆ ( 𝐴 / 𝑅 ) ) ∧ ( 𝑏𝐵𝑐𝐶 ) ∧ ( 𝑥𝑏𝑥𝑐 ) ) → 𝑏 ∈ ( 𝐴 / 𝑅 ) )
17 simp1r ( ( ( 𝐵 ⊆ ( 𝐴 / 𝑅 ) ∧ 𝐶 ⊆ ( 𝐴 / 𝑅 ) ) ∧ ( 𝑏𝐵𝑐𝐶 ) ∧ ( 𝑥𝑏𝑥𝑐 ) ) → 𝐶 ⊆ ( 𝐴 / 𝑅 ) )
18 simp2r ( ( ( 𝐵 ⊆ ( 𝐴 / 𝑅 ) ∧ 𝐶 ⊆ ( 𝐴 / 𝑅 ) ) ∧ ( 𝑏𝐵𝑐𝐶 ) ∧ ( 𝑥𝑏𝑥𝑐 ) ) → 𝑐𝐶 )
19 17 18 sseldd ( ( ( 𝐵 ⊆ ( 𝐴 / 𝑅 ) ∧ 𝐶 ⊆ ( 𝐴 / 𝑅 ) ) ∧ ( 𝑏𝐵𝑐𝐶 ) ∧ ( 𝑥𝑏𝑥𝑐 ) ) → 𝑐 ∈ ( 𝐴 / 𝑅 ) )
20 14 16 19 qsdisj ( ( ( 𝐵 ⊆ ( 𝐴 / 𝑅 ) ∧ 𝐶 ⊆ ( 𝐴 / 𝑅 ) ) ∧ ( 𝑏𝐵𝑐𝐶 ) ∧ ( 𝑥𝑏𝑥𝑐 ) ) → ( 𝑏 = 𝑐 ∨ ( 𝑏𝑐 ) = ∅ ) )
21 20 ord ( ( ( 𝐵 ⊆ ( 𝐴 / 𝑅 ) ∧ 𝐶 ⊆ ( 𝐴 / 𝑅 ) ) ∧ ( 𝑏𝐵𝑐𝐶 ) ∧ ( 𝑥𝑏𝑥𝑐 ) ) → ( ¬ 𝑏 = 𝑐 → ( 𝑏𝑐 ) = ∅ ) )
22 21 necon1ad ( ( ( 𝐵 ⊆ ( 𝐴 / 𝑅 ) ∧ 𝐶 ⊆ ( 𝐴 / 𝑅 ) ) ∧ ( 𝑏𝐵𝑐𝐶 ) ∧ ( 𝑥𝑏𝑥𝑐 ) ) → ( ( 𝑏𝑐 ) ≠ ∅ → 𝑏 = 𝑐 ) )
23 13 22 mpd ( ( ( 𝐵 ⊆ ( 𝐴 / 𝑅 ) ∧ 𝐶 ⊆ ( 𝐴 / 𝑅 ) ) ∧ ( 𝑏𝐵𝑐𝐶 ) ∧ ( 𝑥𝑏𝑥𝑐 ) ) → 𝑏 = 𝑐 )
24 23 18 eqeltrd ( ( ( 𝐵 ⊆ ( 𝐴 / 𝑅 ) ∧ 𝐶 ⊆ ( 𝐴 / 𝑅 ) ) ∧ ( 𝑏𝐵𝑐𝐶 ) ∧ ( 𝑥𝑏𝑥𝑐 ) ) → 𝑏𝐶 )
25 11 24 elind ( ( ( 𝐵 ⊆ ( 𝐴 / 𝑅 ) ∧ 𝐶 ⊆ ( 𝐴 / 𝑅 ) ) ∧ ( 𝑏𝐵𝑐𝐶 ) ∧ ( 𝑥𝑏𝑥𝑐 ) ) → 𝑏 ∈ ( 𝐵𝐶 ) )
26 elunii ( ( 𝑥𝑏𝑏 ∈ ( 𝐵𝐶 ) ) → 𝑥 ( 𝐵𝐶 ) )
27 10 25 26 syl2anc ( ( ( 𝐵 ⊆ ( 𝐴 / 𝑅 ) ∧ 𝐶 ⊆ ( 𝐴 / 𝑅 ) ) ∧ ( 𝑏𝐵𝑐𝐶 ) ∧ ( 𝑥𝑏𝑥𝑐 ) ) → 𝑥 ( 𝐵𝐶 ) )
28 27 3expia ( ( ( 𝐵 ⊆ ( 𝐴 / 𝑅 ) ∧ 𝐶 ⊆ ( 𝐴 / 𝑅 ) ) ∧ ( 𝑏𝐵𝑐𝐶 ) ) → ( ( 𝑥𝑏𝑥𝑐 ) → 𝑥 ( 𝐵𝐶 ) ) )
29 28 rexlimdvva ( ( 𝐵 ⊆ ( 𝐴 / 𝑅 ) ∧ 𝐶 ⊆ ( 𝐴 / 𝑅 ) ) → ( ∃ 𝑏𝐵𝑐𝐶 ( 𝑥𝑏𝑥𝑐 ) → 𝑥 ( 𝐵𝐶 ) ) )
30 9 29 syl5bi ( ( 𝐵 ⊆ ( 𝐴 / 𝑅 ) ∧ 𝐶 ⊆ ( 𝐴 / 𝑅 ) ) → ( 𝑥 ∈ ( 𝐵 𝐶 ) → 𝑥 ( 𝐵𝐶 ) ) )
31 30 ssrdv ( ( 𝐵 ⊆ ( 𝐴 / 𝑅 ) ∧ 𝐶 ⊆ ( 𝐴 / 𝑅 ) ) → ( 𝐵 𝐶 ) ⊆ ( 𝐵𝐶 ) )
32 3 31 eqssd ( ( 𝐵 ⊆ ( 𝐴 / 𝑅 ) ∧ 𝐶 ⊆ ( 𝐴 / 𝑅 ) ) → ( 𝐵𝐶 ) = ( 𝐵 𝐶 ) )