Metamath Proof Explorer


Theorem iocinioc2

Description: Intersection between two open-below, closed-above intervals sharing the same upper bound. (Contributed by Thierry Arnoux, 7-Aug-2017)

Ref Expression
Assertion iocinioc2 ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ 𝐴𝐵 ) → ( ( 𝐴 (,] 𝐶 ) ∩ ( 𝐵 (,] 𝐶 ) ) = ( 𝐵 (,] 𝐶 ) )

Proof

Step Hyp Ref Expression
1 elin ( 𝑥 ∈ ( ( 𝐴 (,] 𝐶 ) ∩ ( 𝐵 (,] 𝐶 ) ) ↔ ( 𝑥 ∈ ( 𝐴 (,] 𝐶 ) ∧ 𝑥 ∈ ( 𝐵 (,] 𝐶 ) ) )
2 simpl1 ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ 𝐴𝐵 ) → 𝐴 ∈ ℝ* )
3 simpl3 ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ 𝐴𝐵 ) → 𝐶 ∈ ℝ* )
4 elioc1 ( ( 𝐴 ∈ ℝ*𝐶 ∈ ℝ* ) → ( 𝑥 ∈ ( 𝐴 (,] 𝐶 ) ↔ ( 𝑥 ∈ ℝ*𝐴 < 𝑥𝑥𝐶 ) ) )
5 2 3 4 syl2anc ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ 𝐴𝐵 ) → ( 𝑥 ∈ ( 𝐴 (,] 𝐶 ) ↔ ( 𝑥 ∈ ℝ*𝐴 < 𝑥𝑥𝐶 ) ) )
6 simpl2 ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ 𝐴𝐵 ) → 𝐵 ∈ ℝ* )
7 elioc1 ( ( 𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) → ( 𝑥 ∈ ( 𝐵 (,] 𝐶 ) ↔ ( 𝑥 ∈ ℝ*𝐵 < 𝑥𝑥𝐶 ) ) )
8 6 3 7 syl2anc ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ 𝐴𝐵 ) → ( 𝑥 ∈ ( 𝐵 (,] 𝐶 ) ↔ ( 𝑥 ∈ ℝ*𝐵 < 𝑥𝑥𝐶 ) ) )
9 5 8 anbi12d ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ 𝐴𝐵 ) → ( ( 𝑥 ∈ ( 𝐴 (,] 𝐶 ) ∧ 𝑥 ∈ ( 𝐵 (,] 𝐶 ) ) ↔ ( ( 𝑥 ∈ ℝ*𝐴 < 𝑥𝑥𝐶 ) ∧ ( 𝑥 ∈ ℝ*𝐵 < 𝑥𝑥𝐶 ) ) ) )
10 simp31 ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ 𝐴𝐵 ∧ ( 𝑥 ∈ ℝ*𝐵 < 𝑥𝑥𝐶 ) ) → 𝑥 ∈ ℝ* )
11 2 3adant3 ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ 𝐴𝐵 ∧ ( 𝑥 ∈ ℝ*𝐵 < 𝑥𝑥𝐶 ) ) → 𝐴 ∈ ℝ* )
12 6 3adant3 ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ 𝐴𝐵 ∧ ( 𝑥 ∈ ℝ*𝐵 < 𝑥𝑥𝐶 ) ) → 𝐵 ∈ ℝ* )
13 simp2 ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ 𝐴𝐵 ∧ ( 𝑥 ∈ ℝ*𝐵 < 𝑥𝑥𝐶 ) ) → 𝐴𝐵 )
14 simp32 ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ 𝐴𝐵 ∧ ( 𝑥 ∈ ℝ*𝐵 < 𝑥𝑥𝐶 ) ) → 𝐵 < 𝑥 )
15 11 12 10 13 14 xrlelttrd ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ 𝐴𝐵 ∧ ( 𝑥 ∈ ℝ*𝐵 < 𝑥𝑥𝐶 ) ) → 𝐴 < 𝑥 )
16 simp33 ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ 𝐴𝐵 ∧ ( 𝑥 ∈ ℝ*𝐵 < 𝑥𝑥𝐶 ) ) → 𝑥𝐶 )
17 10 15 16 3jca ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ 𝐴𝐵 ∧ ( 𝑥 ∈ ℝ*𝐵 < 𝑥𝑥𝐶 ) ) → ( 𝑥 ∈ ℝ*𝐴 < 𝑥𝑥𝐶 ) )
18 17 3expia ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ 𝐴𝐵 ) → ( ( 𝑥 ∈ ℝ*𝐵 < 𝑥𝑥𝐶 ) → ( 𝑥 ∈ ℝ*𝐴 < 𝑥𝑥𝐶 ) ) )
19 18 pm4.71rd ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ 𝐴𝐵 ) → ( ( 𝑥 ∈ ℝ*𝐵 < 𝑥𝑥𝐶 ) ↔ ( ( 𝑥 ∈ ℝ*𝐴 < 𝑥𝑥𝐶 ) ∧ ( 𝑥 ∈ ℝ*𝐵 < 𝑥𝑥𝐶 ) ) ) )
20 9 19 bitr4d ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ 𝐴𝐵 ) → ( ( 𝑥 ∈ ( 𝐴 (,] 𝐶 ) ∧ 𝑥 ∈ ( 𝐵 (,] 𝐶 ) ) ↔ ( 𝑥 ∈ ℝ*𝐵 < 𝑥𝑥𝐶 ) ) )
21 1 20 syl5bb ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ 𝐴𝐵 ) → ( 𝑥 ∈ ( ( 𝐴 (,] 𝐶 ) ∩ ( 𝐵 (,] 𝐶 ) ) ↔ ( 𝑥 ∈ ℝ*𝐵 < 𝑥𝑥𝐶 ) ) )
22 21 8 bitr4d ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ 𝐴𝐵 ) → ( 𝑥 ∈ ( ( 𝐴 (,] 𝐶 ) ∩ ( 𝐵 (,] 𝐶 ) ) ↔ 𝑥 ∈ ( 𝐵 (,] 𝐶 ) ) )
23 22 eqrdv ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ 𝐴𝐵 ) → ( ( 𝐴 (,] 𝐶 ) ∩ ( 𝐵 (,] 𝐶 ) ) = ( 𝐵 (,] 𝐶 ) )