Metamath Proof Explorer


Theorem ioojoin

Description: Join two open intervals to create a third. (Contributed by NM, 11-Aug-2008) (Proof shortened by Mario Carneiro, 16-Jun-2014)

Ref Expression
Assertion ioojoin ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ ( 𝐴 < 𝐵𝐵 < 𝐶 ) ) → ( ( ( 𝐴 (,) 𝐵 ) ∪ { 𝐵 } ) ∪ ( 𝐵 (,) 𝐶 ) ) = ( 𝐴 (,) 𝐶 ) )

Proof

Step Hyp Ref Expression
1 unass ( ( ( 𝐴 (,) 𝐵 ) ∪ { 𝐵 } ) ∪ ( 𝐵 (,) 𝐶 ) ) = ( ( 𝐴 (,) 𝐵 ) ∪ ( { 𝐵 } ∪ ( 𝐵 (,) 𝐶 ) ) )
2 snunioo ( ( 𝐵 ∈ ℝ*𝐶 ∈ ℝ*𝐵 < 𝐶 ) → ( { 𝐵 } ∪ ( 𝐵 (,) 𝐶 ) ) = ( 𝐵 [,) 𝐶 ) )
3 2 3expa ( ( ( 𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ 𝐵 < 𝐶 ) → ( { 𝐵 } ∪ ( 𝐵 (,) 𝐶 ) ) = ( 𝐵 [,) 𝐶 ) )
4 3 3adantl1 ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ 𝐵 < 𝐶 ) → ( { 𝐵 } ∪ ( 𝐵 (,) 𝐶 ) ) = ( 𝐵 [,) 𝐶 ) )
5 4 adantrl ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ ( 𝐴 < 𝐵𝐵 < 𝐶 ) ) → ( { 𝐵 } ∪ ( 𝐵 (,) 𝐶 ) ) = ( 𝐵 [,) 𝐶 ) )
6 5 uneq2d ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ ( 𝐴 < 𝐵𝐵 < 𝐶 ) ) → ( ( 𝐴 (,) 𝐵 ) ∪ ( { 𝐵 } ∪ ( 𝐵 (,) 𝐶 ) ) ) = ( ( 𝐴 (,) 𝐵 ) ∪ ( 𝐵 [,) 𝐶 ) ) )
7 df-ioo (,) = ( 𝑥 ∈ ℝ* , 𝑦 ∈ ℝ* ↦ { 𝑧 ∈ ℝ* ∣ ( 𝑥 < 𝑧𝑧 < 𝑦 ) } )
8 df-ico [,) = ( 𝑥 ∈ ℝ* , 𝑦 ∈ ℝ* ↦ { 𝑧 ∈ ℝ* ∣ ( 𝑥𝑧𝑧 < 𝑦 ) } )
9 xrlenlt ( ( 𝐵 ∈ ℝ*𝑤 ∈ ℝ* ) → ( 𝐵𝑤 ↔ ¬ 𝑤 < 𝐵 ) )
10 xrlttr ( ( 𝑤 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) → ( ( 𝑤 < 𝐵𝐵 < 𝐶 ) → 𝑤 < 𝐶 ) )
11 xrltletr ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝑤 ∈ ℝ* ) → ( ( 𝐴 < 𝐵𝐵𝑤 ) → 𝐴 < 𝑤 ) )
12 7 8 9 7 10 11 ixxun ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ ( 𝐴 < 𝐵𝐵 < 𝐶 ) ) → ( ( 𝐴 (,) 𝐵 ) ∪ ( 𝐵 [,) 𝐶 ) ) = ( 𝐴 (,) 𝐶 ) )
13 6 12 eqtrd ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ ( 𝐴 < 𝐵𝐵 < 𝐶 ) ) → ( ( 𝐴 (,) 𝐵 ) ∪ ( { 𝐵 } ∪ ( 𝐵 (,) 𝐶 ) ) ) = ( 𝐴 (,) 𝐶 ) )
14 1 13 eqtrid ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ ( 𝐴 < 𝐵𝐵 < 𝐶 ) ) → ( ( ( 𝐴 (,) 𝐵 ) ∪ { 𝐵 } ) ∪ ( 𝐵 (,) 𝐶 ) ) = ( 𝐴 (,) 𝐶 ) )