This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Relate intersection of two open-below, closed-above intervals with the same upper bound with a conditional construct. (Contributed by Thierry Arnoux, 7-Aug-2017)
| Ref | Expression | ||
|---|---|---|---|
| Assertion | iocinif | ⊢ ( ( 𝐴 ∈ ℝ* ∧ 𝐵 ∈ ℝ* ∧ 𝐶 ∈ ℝ* ) → ( ( 𝐴 (,] 𝐶 ) ∩ ( 𝐵 (,] 𝐶 ) ) = if ( 𝐴 < 𝐵 , ( 𝐵 (,] 𝐶 ) , ( 𝐴 (,] 𝐶 ) ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | exmid | ⊢ ( 𝐴 < 𝐵 ∨ ¬ 𝐴 < 𝐵 ) | |
| 2 | xrltle | ⊢ ( ( 𝐴 ∈ ℝ* ∧ 𝐵 ∈ ℝ* ) → ( 𝐴 < 𝐵 → 𝐴 ≤ 𝐵 ) ) | |
| 3 | 2 | imp | ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐵 ∈ ℝ* ) ∧ 𝐴 < 𝐵 ) → 𝐴 ≤ 𝐵 ) |
| 4 | 3 | 3adantl3 | ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐵 ∈ ℝ* ∧ 𝐶 ∈ ℝ* ) ∧ 𝐴 < 𝐵 ) → 𝐴 ≤ 𝐵 ) |
| 5 | iocinioc2 | ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐵 ∈ ℝ* ∧ 𝐶 ∈ ℝ* ) ∧ 𝐴 ≤ 𝐵 ) → ( ( 𝐴 (,] 𝐶 ) ∩ ( 𝐵 (,] 𝐶 ) ) = ( 𝐵 (,] 𝐶 ) ) | |
| 6 | 4 5 | syldan | ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐵 ∈ ℝ* ∧ 𝐶 ∈ ℝ* ) ∧ 𝐴 < 𝐵 ) → ( ( 𝐴 (,] 𝐶 ) ∩ ( 𝐵 (,] 𝐶 ) ) = ( 𝐵 (,] 𝐶 ) ) |
| 7 | 6 | ex | ⊢ ( ( 𝐴 ∈ ℝ* ∧ 𝐵 ∈ ℝ* ∧ 𝐶 ∈ ℝ* ) → ( 𝐴 < 𝐵 → ( ( 𝐴 (,] 𝐶 ) ∩ ( 𝐵 (,] 𝐶 ) ) = ( 𝐵 (,] 𝐶 ) ) ) |
| 8 | 7 | ancld | ⊢ ( ( 𝐴 ∈ ℝ* ∧ 𝐵 ∈ ℝ* ∧ 𝐶 ∈ ℝ* ) → ( 𝐴 < 𝐵 → ( 𝐴 < 𝐵 ∧ ( ( 𝐴 (,] 𝐶 ) ∩ ( 𝐵 (,] 𝐶 ) ) = ( 𝐵 (,] 𝐶 ) ) ) ) |
| 9 | simpl2 | ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐵 ∈ ℝ* ∧ 𝐶 ∈ ℝ* ) ∧ ¬ 𝐴 < 𝐵 ) → 𝐵 ∈ ℝ* ) | |
| 10 | simpl1 | ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐵 ∈ ℝ* ∧ 𝐶 ∈ ℝ* ) ∧ ¬ 𝐴 < 𝐵 ) → 𝐴 ∈ ℝ* ) | |
| 11 | simpr | ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐵 ∈ ℝ* ∧ 𝐶 ∈ ℝ* ) ∧ ¬ 𝐴 < 𝐵 ) → ¬ 𝐴 < 𝐵 ) | |
| 12 | xrlenlt | ⊢ ( ( 𝐵 ∈ ℝ* ∧ 𝐴 ∈ ℝ* ) → ( 𝐵 ≤ 𝐴 ↔ ¬ 𝐴 < 𝐵 ) ) | |
| 13 | 12 | biimpar | ⊢ ( ( ( 𝐵 ∈ ℝ* ∧ 𝐴 ∈ ℝ* ) ∧ ¬ 𝐴 < 𝐵 ) → 𝐵 ≤ 𝐴 ) |
| 14 | 9 10 11 13 | syl21anc | ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐵 ∈ ℝ* ∧ 𝐶 ∈ ℝ* ) ∧ ¬ 𝐴 < 𝐵 ) → 𝐵 ≤ 𝐴 ) |
| 15 | 3ancoma | ⊢ ( ( 𝐵 ∈ ℝ* ∧ 𝐴 ∈ ℝ* ∧ 𝐶 ∈ ℝ* ) ↔ ( 𝐴 ∈ ℝ* ∧ 𝐵 ∈ ℝ* ∧ 𝐶 ∈ ℝ* ) ) | |
| 16 | incom | ⊢ ( ( 𝐵 (,] 𝐶 ) ∩ ( 𝐴 (,] 𝐶 ) ) = ( ( 𝐴 (,] 𝐶 ) ∩ ( 𝐵 (,] 𝐶 ) ) | |
| 17 | iocinioc2 | ⊢ ( ( ( 𝐵 ∈ ℝ* ∧ 𝐴 ∈ ℝ* ∧ 𝐶 ∈ ℝ* ) ∧ 𝐵 ≤ 𝐴 ) → ( ( 𝐵 (,] 𝐶 ) ∩ ( 𝐴 (,] 𝐶 ) ) = ( 𝐴 (,] 𝐶 ) ) | |
| 18 | 16 17 | eqtr3id | ⊢ ( ( ( 𝐵 ∈ ℝ* ∧ 𝐴 ∈ ℝ* ∧ 𝐶 ∈ ℝ* ) ∧ 𝐵 ≤ 𝐴 ) → ( ( 𝐴 (,] 𝐶 ) ∩ ( 𝐵 (,] 𝐶 ) ) = ( 𝐴 (,] 𝐶 ) ) |
| 19 | 15 18 | sylanbr | ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐵 ∈ ℝ* ∧ 𝐶 ∈ ℝ* ) ∧ 𝐵 ≤ 𝐴 ) → ( ( 𝐴 (,] 𝐶 ) ∩ ( 𝐵 (,] 𝐶 ) ) = ( 𝐴 (,] 𝐶 ) ) |
| 20 | 14 19 | syldan | ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐵 ∈ ℝ* ∧ 𝐶 ∈ ℝ* ) ∧ ¬ 𝐴 < 𝐵 ) → ( ( 𝐴 (,] 𝐶 ) ∩ ( 𝐵 (,] 𝐶 ) ) = ( 𝐴 (,] 𝐶 ) ) |
| 21 | 20 | ex | ⊢ ( ( 𝐴 ∈ ℝ* ∧ 𝐵 ∈ ℝ* ∧ 𝐶 ∈ ℝ* ) → ( ¬ 𝐴 < 𝐵 → ( ( 𝐴 (,] 𝐶 ) ∩ ( 𝐵 (,] 𝐶 ) ) = ( 𝐴 (,] 𝐶 ) ) ) |
| 22 | 21 | ancld | ⊢ ( ( 𝐴 ∈ ℝ* ∧ 𝐵 ∈ ℝ* ∧ 𝐶 ∈ ℝ* ) → ( ¬ 𝐴 < 𝐵 → ( ¬ 𝐴 < 𝐵 ∧ ( ( 𝐴 (,] 𝐶 ) ∩ ( 𝐵 (,] 𝐶 ) ) = ( 𝐴 (,] 𝐶 ) ) ) ) |
| 23 | 8 22 | orim12d | ⊢ ( ( 𝐴 ∈ ℝ* ∧ 𝐵 ∈ ℝ* ∧ 𝐶 ∈ ℝ* ) → ( ( 𝐴 < 𝐵 ∨ ¬ 𝐴 < 𝐵 ) → ( ( 𝐴 < 𝐵 ∧ ( ( 𝐴 (,] 𝐶 ) ∩ ( 𝐵 (,] 𝐶 ) ) = ( 𝐵 (,] 𝐶 ) ) ∨ ( ¬ 𝐴 < 𝐵 ∧ ( ( 𝐴 (,] 𝐶 ) ∩ ( 𝐵 (,] 𝐶 ) ) = ( 𝐴 (,] 𝐶 ) ) ) ) ) |
| 24 | 1 23 | mpi | ⊢ ( ( 𝐴 ∈ ℝ* ∧ 𝐵 ∈ ℝ* ∧ 𝐶 ∈ ℝ* ) → ( ( 𝐴 < 𝐵 ∧ ( ( 𝐴 (,] 𝐶 ) ∩ ( 𝐵 (,] 𝐶 ) ) = ( 𝐵 (,] 𝐶 ) ) ∨ ( ¬ 𝐴 < 𝐵 ∧ ( ( 𝐴 (,] 𝐶 ) ∩ ( 𝐵 (,] 𝐶 ) ) = ( 𝐴 (,] 𝐶 ) ) ) ) |
| 25 | eqif | ⊢ ( ( ( 𝐴 (,] 𝐶 ) ∩ ( 𝐵 (,] 𝐶 ) ) = if ( 𝐴 < 𝐵 , ( 𝐵 (,] 𝐶 ) , ( 𝐴 (,] 𝐶 ) ) ↔ ( ( 𝐴 < 𝐵 ∧ ( ( 𝐴 (,] 𝐶 ) ∩ ( 𝐵 (,] 𝐶 ) ) = ( 𝐵 (,] 𝐶 ) ) ∨ ( ¬ 𝐴 < 𝐵 ∧ ( ( 𝐴 (,] 𝐶 ) ∩ ( 𝐵 (,] 𝐶 ) ) = ( 𝐴 (,] 𝐶 ) ) ) ) | |
| 26 | 24 25 | sylibr | ⊢ ( ( 𝐴 ∈ ℝ* ∧ 𝐵 ∈ ℝ* ∧ 𝐶 ∈ ℝ* ) → ( ( 𝐴 (,] 𝐶 ) ∩ ( 𝐵 (,] 𝐶 ) ) = if ( 𝐴 < 𝐵 , ( 𝐵 (,] 𝐶 ) , ( 𝐴 (,] 𝐶 ) ) ) |