Metamath Proof Explorer


Theorem iocinico

Description: The intersection of two sets that meet at a point is that point. (Contributed by Jon Pennant, 12-Jun-2019)

Ref Expression
Assertion iocinico ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ ( 𝐴 < 𝐵𝐵 < 𝐶 ) ) → ( ( 𝐴 (,] 𝐵 ) ∩ ( 𝐵 [,) 𝐶 ) ) = { 𝐵 } )

Proof

Step Hyp Ref Expression
1 df-in ( ( 𝐴 (,] 𝐵 ) ∩ ( 𝐵 [,) 𝐶 ) ) = { 𝑥 ∣ ( 𝑥 ∈ ( 𝐴 (,] 𝐵 ) ∧ 𝑥 ∈ ( 𝐵 [,) 𝐶 ) ) }
2 elioc1 ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ* ) → ( 𝑥 ∈ ( 𝐴 (,] 𝐵 ) ↔ ( 𝑥 ∈ ℝ*𝐴 < 𝑥𝑥𝐵 ) ) )
3 2 3adant3 ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) → ( 𝑥 ∈ ( 𝐴 (,] 𝐵 ) ↔ ( 𝑥 ∈ ℝ*𝐴 < 𝑥𝑥𝐵 ) ) )
4 3simpb ( ( 𝑥 ∈ ℝ*𝐴 < 𝑥𝑥𝐵 ) → ( 𝑥 ∈ ℝ*𝑥𝐵 ) )
5 3 4 syl6bi ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) → ( 𝑥 ∈ ( 𝐴 (,] 𝐵 ) → ( 𝑥 ∈ ℝ*𝑥𝐵 ) ) )
6 elico1 ( ( 𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) → ( 𝑥 ∈ ( 𝐵 [,) 𝐶 ) ↔ ( 𝑥 ∈ ℝ*𝐵𝑥𝑥 < 𝐶 ) ) )
7 6 3adant1 ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) → ( 𝑥 ∈ ( 𝐵 [,) 𝐶 ) ↔ ( 𝑥 ∈ ℝ*𝐵𝑥𝑥 < 𝐶 ) ) )
8 3simpa ( ( 𝑥 ∈ ℝ*𝐵𝑥𝑥 < 𝐶 ) → ( 𝑥 ∈ ℝ*𝐵𝑥 ) )
9 7 8 syl6bi ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) → ( 𝑥 ∈ ( 𝐵 [,) 𝐶 ) → ( 𝑥 ∈ ℝ*𝐵𝑥 ) ) )
10 5 9 anim12d ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) → ( ( 𝑥 ∈ ( 𝐴 (,] 𝐵 ) ∧ 𝑥 ∈ ( 𝐵 [,) 𝐶 ) ) → ( ( 𝑥 ∈ ℝ*𝑥𝐵 ) ∧ ( 𝑥 ∈ ℝ*𝐵𝑥 ) ) ) )
11 simpll ( ( ( 𝑥 ∈ ℝ*𝑥𝐵 ) ∧ ( 𝑥 ∈ ℝ*𝐵𝑥 ) ) → 𝑥 ∈ ℝ* )
12 simprr ( ( ( 𝑥 ∈ ℝ*𝑥𝐵 ) ∧ ( 𝑥 ∈ ℝ*𝐵𝑥 ) ) → 𝐵𝑥 )
13 simplr ( ( ( 𝑥 ∈ ℝ*𝑥𝐵 ) ∧ ( 𝑥 ∈ ℝ*𝐵𝑥 ) ) → 𝑥𝐵 )
14 11 12 13 3jca ( ( ( 𝑥 ∈ ℝ*𝑥𝐵 ) ∧ ( 𝑥 ∈ ℝ*𝐵𝑥 ) ) → ( 𝑥 ∈ ℝ*𝐵𝑥𝑥𝐵 ) )
15 10 14 syl6 ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) → ( ( 𝑥 ∈ ( 𝐴 (,] 𝐵 ) ∧ 𝑥 ∈ ( 𝐵 [,) 𝐶 ) ) → ( 𝑥 ∈ ℝ*𝐵𝑥𝑥𝐵 ) ) )
16 elicc1 ( ( 𝐵 ∈ ℝ*𝐵 ∈ ℝ* ) → ( 𝑥 ∈ ( 𝐵 [,] 𝐵 ) ↔ ( 𝑥 ∈ ℝ*𝐵𝑥𝑥𝐵 ) ) )
17 16 anidms ( 𝐵 ∈ ℝ* → ( 𝑥 ∈ ( 𝐵 [,] 𝐵 ) ↔ ( 𝑥 ∈ ℝ*𝐵𝑥𝑥𝐵 ) ) )
18 17 3ad2ant2 ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) → ( 𝑥 ∈ ( 𝐵 [,] 𝐵 ) ↔ ( 𝑥 ∈ ℝ*𝐵𝑥𝑥𝐵 ) ) )
19 15 18 sylibrd ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) → ( ( 𝑥 ∈ ( 𝐴 (,] 𝐵 ) ∧ 𝑥 ∈ ( 𝐵 [,) 𝐶 ) ) → 𝑥 ∈ ( 𝐵 [,] 𝐵 ) ) )
20 19 ss2abdv ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) → { 𝑥 ∣ ( 𝑥 ∈ ( 𝐴 (,] 𝐵 ) ∧ 𝑥 ∈ ( 𝐵 [,) 𝐶 ) ) } ⊆ { 𝑥𝑥 ∈ ( 𝐵 [,] 𝐵 ) } )
21 1 20 eqsstrid ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) → ( ( 𝐴 (,] 𝐵 ) ∩ ( 𝐵 [,) 𝐶 ) ) ⊆ { 𝑥𝑥 ∈ ( 𝐵 [,] 𝐵 ) } )
22 abid2 { 𝑥𝑥 ∈ ( 𝐵 [,] 𝐵 ) } = ( 𝐵 [,] 𝐵 )
23 21 22 sseqtrdi ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) → ( ( 𝐴 (,] 𝐵 ) ∩ ( 𝐵 [,) 𝐶 ) ) ⊆ ( 𝐵 [,] 𝐵 ) )
24 23 adantr ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ ( 𝐴 < 𝐵𝐵 < 𝐶 ) ) → ( ( 𝐴 (,] 𝐵 ) ∩ ( 𝐵 [,) 𝐶 ) ) ⊆ ( 𝐵 [,] 𝐵 ) )
25 iccid ( 𝐵 ∈ ℝ* → ( 𝐵 [,] 𝐵 ) = { 𝐵 } )
26 25 3ad2ant2 ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) → ( 𝐵 [,] 𝐵 ) = { 𝐵 } )
27 26 adantr ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ ( 𝐴 < 𝐵𝐵 < 𝐶 ) ) → ( 𝐵 [,] 𝐵 ) = { 𝐵 } )
28 24 27 sseqtrd ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ ( 𝐴 < 𝐵𝐵 < 𝐶 ) ) → ( ( 𝐴 (,] 𝐵 ) ∩ ( 𝐵 [,) 𝐶 ) ) ⊆ { 𝐵 } )
29 simpl2 ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ ( 𝐴 < 𝐵𝐵 < 𝐶 ) ) → 𝐵 ∈ ℝ* )
30 simprl ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ ( 𝐴 < 𝐵𝐵 < 𝐶 ) ) → 𝐴 < 𝐵 )
31 29 xrleidd ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ ( 𝐴 < 𝐵𝐵 < 𝐶 ) ) → 𝐵𝐵 )
32 elioc1 ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ* ) → ( 𝐵 ∈ ( 𝐴 (,] 𝐵 ) ↔ ( 𝐵 ∈ ℝ*𝐴 < 𝐵𝐵𝐵 ) ) )
33 32 3adant3 ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) → ( 𝐵 ∈ ( 𝐴 (,] 𝐵 ) ↔ ( 𝐵 ∈ ℝ*𝐴 < 𝐵𝐵𝐵 ) ) )
34 33 adantr ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ ( 𝐴 < 𝐵𝐵 < 𝐶 ) ) → ( 𝐵 ∈ ( 𝐴 (,] 𝐵 ) ↔ ( 𝐵 ∈ ℝ*𝐴 < 𝐵𝐵𝐵 ) ) )
35 29 30 31 34 mpbir3and ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ ( 𝐴 < 𝐵𝐵 < 𝐶 ) ) → 𝐵 ∈ ( 𝐴 (,] 𝐵 ) )
36 simprr ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ ( 𝐴 < 𝐵𝐵 < 𝐶 ) ) → 𝐵 < 𝐶 )
37 elico1 ( ( 𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) → ( 𝐵 ∈ ( 𝐵 [,) 𝐶 ) ↔ ( 𝐵 ∈ ℝ*𝐵𝐵𝐵 < 𝐶 ) ) )
38 37 3adant1 ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) → ( 𝐵 ∈ ( 𝐵 [,) 𝐶 ) ↔ ( 𝐵 ∈ ℝ*𝐵𝐵𝐵 < 𝐶 ) ) )
39 38 adantr ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ ( 𝐴 < 𝐵𝐵 < 𝐶 ) ) → ( 𝐵 ∈ ( 𝐵 [,) 𝐶 ) ↔ ( 𝐵 ∈ ℝ*𝐵𝐵𝐵 < 𝐶 ) ) )
40 29 31 36 39 mpbir3and ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ ( 𝐴 < 𝐵𝐵 < 𝐶 ) ) → 𝐵 ∈ ( 𝐵 [,) 𝐶 ) )
41 35 40 elind ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ ( 𝐴 < 𝐵𝐵 < 𝐶 ) ) → 𝐵 ∈ ( ( 𝐴 (,] 𝐵 ) ∩ ( 𝐵 [,) 𝐶 ) ) )
42 41 snssd ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ ( 𝐴 < 𝐵𝐵 < 𝐶 ) ) → { 𝐵 } ⊆ ( ( 𝐴 (,] 𝐵 ) ∩ ( 𝐵 [,) 𝐶 ) ) )
43 28 42 eqssd ( ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐶 ∈ ℝ* ) ∧ ( 𝐴 < 𝐵𝐵 < 𝐶 ) ) → ( ( 𝐴 (,] 𝐵 ) ∩ ( 𝐵 [,) 𝐶 ) ) = { 𝐵 } )