Metamath Proof Explorer


Theorem ioondisj1

Description: A condition for two open intervals not to be disjoint. (Contributed by Glauco Siliprandi, 11-Dec-2019)

Ref Expression
Assertion ioondisj1 ( ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐴 < 𝐵 ) ∧ ( 𝐶 ∈ ℝ*𝐷 ∈ ℝ*𝐶 < 𝐷 ) ) ∧ ( 𝐴𝐶𝐶 < 𝐵 ) ) → ( ( 𝐴 (,) 𝐵 ) ∩ ( 𝐶 (,) 𝐷 ) ) ≠ ∅ )

Proof

Step Hyp Ref Expression
1 simpll1 ( ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐴 < 𝐵 ) ∧ ( 𝐶 ∈ ℝ*𝐷 ∈ ℝ*𝐶 < 𝐷 ) ) ∧ ( 𝐴𝐶𝐶 < 𝐵 ) ) → 𝐴 ∈ ℝ* )
2 simpll2 ( ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐴 < 𝐵 ) ∧ ( 𝐶 ∈ ℝ*𝐷 ∈ ℝ*𝐶 < 𝐷 ) ) ∧ ( 𝐴𝐶𝐶 < 𝐵 ) ) → 𝐵 ∈ ℝ* )
3 simplr1 ( ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐴 < 𝐵 ) ∧ ( 𝐶 ∈ ℝ*𝐷 ∈ ℝ*𝐶 < 𝐷 ) ) ∧ ( 𝐴𝐶𝐶 < 𝐵 ) ) → 𝐶 ∈ ℝ* )
4 simplr2 ( ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐴 < 𝐵 ) ∧ ( 𝐶 ∈ ℝ*𝐷 ∈ ℝ*𝐶 < 𝐷 ) ) ∧ ( 𝐴𝐶𝐶 < 𝐵 ) ) → 𝐷 ∈ ℝ* )
5 iooin ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ* ) ∧ ( 𝐶 ∈ ℝ*𝐷 ∈ ℝ* ) ) → ( ( 𝐴 (,) 𝐵 ) ∩ ( 𝐶 (,) 𝐷 ) ) = ( if ( 𝐴𝐶 , 𝐶 , 𝐴 ) (,) if ( 𝐵𝐷 , 𝐵 , 𝐷 ) ) )
6 1 2 3 4 5 syl22anc ( ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐴 < 𝐵 ) ∧ ( 𝐶 ∈ ℝ*𝐷 ∈ ℝ*𝐶 < 𝐷 ) ) ∧ ( 𝐴𝐶𝐶 < 𝐵 ) ) → ( ( 𝐴 (,) 𝐵 ) ∩ ( 𝐶 (,) 𝐷 ) ) = ( if ( 𝐴𝐶 , 𝐶 , 𝐴 ) (,) if ( 𝐵𝐷 , 𝐵 , 𝐷 ) ) )
7 simprl ( ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐴 < 𝐵 ) ∧ ( 𝐶 ∈ ℝ*𝐷 ∈ ℝ*𝐶 < 𝐷 ) ) ∧ ( 𝐴𝐶𝐶 < 𝐵 ) ) → 𝐴𝐶 )
8 7 iftrued ( ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐴 < 𝐵 ) ∧ ( 𝐶 ∈ ℝ*𝐷 ∈ ℝ*𝐶 < 𝐷 ) ) ∧ ( 𝐴𝐶𝐶 < 𝐵 ) ) → if ( 𝐴𝐶 , 𝐶 , 𝐴 ) = 𝐶 )
9 8 oveq1d ( ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐴 < 𝐵 ) ∧ ( 𝐶 ∈ ℝ*𝐷 ∈ ℝ*𝐶 < 𝐷 ) ) ∧ ( 𝐴𝐶𝐶 < 𝐵 ) ) → ( if ( 𝐴𝐶 , 𝐶 , 𝐴 ) (,) if ( 𝐵𝐷 , 𝐵 , 𝐷 ) ) = ( 𝐶 (,) if ( 𝐵𝐷 , 𝐵 , 𝐷 ) ) )
10 simprr ( ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐴 < 𝐵 ) ∧ ( 𝐶 ∈ ℝ*𝐷 ∈ ℝ*𝐶 < 𝐷 ) ) ∧ ( 𝐴𝐶𝐶 < 𝐵 ) ) → 𝐶 < 𝐵 )
11 simplr3 ( ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐴 < 𝐵 ) ∧ ( 𝐶 ∈ ℝ*𝐷 ∈ ℝ*𝐶 < 𝐷 ) ) ∧ ( 𝐴𝐶𝐶 < 𝐵 ) ) → 𝐶 < 𝐷 )
12 10 11 jca ( ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐴 < 𝐵 ) ∧ ( 𝐶 ∈ ℝ*𝐷 ∈ ℝ*𝐶 < 𝐷 ) ) ∧ ( 𝐴𝐶𝐶 < 𝐵 ) ) → ( 𝐶 < 𝐵𝐶 < 𝐷 ) )
13 xrltmin ( ( 𝐶 ∈ ℝ*𝐵 ∈ ℝ*𝐷 ∈ ℝ* ) → ( 𝐶 < if ( 𝐵𝐷 , 𝐵 , 𝐷 ) ↔ ( 𝐶 < 𝐵𝐶 < 𝐷 ) ) )
14 3 2 4 13 syl3anc ( ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐴 < 𝐵 ) ∧ ( 𝐶 ∈ ℝ*𝐷 ∈ ℝ*𝐶 < 𝐷 ) ) ∧ ( 𝐴𝐶𝐶 < 𝐵 ) ) → ( 𝐶 < if ( 𝐵𝐷 , 𝐵 , 𝐷 ) ↔ ( 𝐶 < 𝐵𝐶 < 𝐷 ) ) )
15 12 14 mpbird ( ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐴 < 𝐵 ) ∧ ( 𝐶 ∈ ℝ*𝐷 ∈ ℝ*𝐶 < 𝐷 ) ) ∧ ( 𝐴𝐶𝐶 < 𝐵 ) ) → 𝐶 < if ( 𝐵𝐷 , 𝐵 , 𝐷 ) )
16 2 4 ifcld ( ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐴 < 𝐵 ) ∧ ( 𝐶 ∈ ℝ*𝐷 ∈ ℝ*𝐶 < 𝐷 ) ) ∧ ( 𝐴𝐶𝐶 < 𝐵 ) ) → if ( 𝐵𝐷 , 𝐵 , 𝐷 ) ∈ ℝ* )
17 ioon0 ( ( 𝐶 ∈ ℝ* ∧ if ( 𝐵𝐷 , 𝐵 , 𝐷 ) ∈ ℝ* ) → ( ( 𝐶 (,) if ( 𝐵𝐷 , 𝐵 , 𝐷 ) ) ≠ ∅ ↔ 𝐶 < if ( 𝐵𝐷 , 𝐵 , 𝐷 ) ) )
18 3 16 17 syl2anc ( ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐴 < 𝐵 ) ∧ ( 𝐶 ∈ ℝ*𝐷 ∈ ℝ*𝐶 < 𝐷 ) ) ∧ ( 𝐴𝐶𝐶 < 𝐵 ) ) → ( ( 𝐶 (,) if ( 𝐵𝐷 , 𝐵 , 𝐷 ) ) ≠ ∅ ↔ 𝐶 < if ( 𝐵𝐷 , 𝐵 , 𝐷 ) ) )
19 15 18 mpbird ( ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐴 < 𝐵 ) ∧ ( 𝐶 ∈ ℝ*𝐷 ∈ ℝ*𝐶 < 𝐷 ) ) ∧ ( 𝐴𝐶𝐶 < 𝐵 ) ) → ( 𝐶 (,) if ( 𝐵𝐷 , 𝐵 , 𝐷 ) ) ≠ ∅ )
20 9 19 eqnetrd ( ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐴 < 𝐵 ) ∧ ( 𝐶 ∈ ℝ*𝐷 ∈ ℝ*𝐶 < 𝐷 ) ) ∧ ( 𝐴𝐶𝐶 < 𝐵 ) ) → ( if ( 𝐴𝐶 , 𝐶 , 𝐴 ) (,) if ( 𝐵𝐷 , 𝐵 , 𝐷 ) ) ≠ ∅ )
21 6 20 eqnetrd ( ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐴 < 𝐵 ) ∧ ( 𝐶 ∈ ℝ*𝐷 ∈ ℝ*𝐶 < 𝐷 ) ) ∧ ( 𝐴𝐶𝐶 < 𝐵 ) ) → ( ( 𝐴 (,) 𝐵 ) ∩ ( 𝐶 (,) 𝐷 ) ) ≠ ∅ )