Metamath Proof Explorer


Theorem iocopnst

Description: A half-open interval ending at B is open in the closed interval from A to B . (Contributed by Jeff Madsen, 2-Sep-2009) (Revised by Mario Carneiro, 15-Dec-2013)

Ref Expression
Hypothesis iocopnst.1 ⊢ J = MetOpen ⁡ abs ∘ − ↾ A B × A B
Assertion iocopnst ⊢ A ∈ ℝ ∧ B ∈ ℝ → C ∈ A B → C B ∈ J

Proof

Step Hyp Ref Expression
1 iocopnst.1 ⊢ J = MetOpen ⁡ abs ∘ − ↾ A B × A B
2 iooretop ⊢ C B + 1 ∈ topGen ⁡ ran ⁡ .
3 simp1 ⊢ v ∈ ℝ ∧ C < v ∧ v ≤ B → v ∈ ℝ
4 3 a1i ⊢ A ∈ ℝ ∧ B ∈ ℝ ∧ C ∈ A B → v ∈ ℝ ∧ C < v ∧ v ≤ B → v ∈ ℝ
5 simp2 ⊢ v ∈ ℝ ∧ C < v ∧ v ≤ B → C < v
6 5 a1i ⊢ A ∈ ℝ ∧ B ∈ ℝ ∧ C ∈ A B → v ∈ ℝ ∧ C < v ∧ v ≤ B → C < v
7 ltp1 ⊢ B ∈ ℝ → B < B + 1
8 7 adantr ⊢ B ∈ ℝ ∧ v ∈ ℝ → B < B + 1
9 peano2re ⊢ B ∈ ℝ → B + 1 ∈ ℝ
10 lelttr ⊢ v ∈ ℝ ∧ B ∈ ℝ ∧ B + 1 ∈ ℝ → v ≤ B ∧ B < B + 1 → v < B + 1
11 10 3expa ⊢ v ∈ ℝ ∧ B ∈ ℝ ∧ B + 1 ∈ ℝ → v ≤ B ∧ B < B + 1 → v < B + 1
12 11 ancom1s ⊢ B ∈ ℝ ∧ v ∈ ℝ ∧ B + 1 ∈ ℝ → v ≤ B ∧ B < B + 1 → v < B + 1
13 12 ancomsd ⊢ B ∈ ℝ ∧ v ∈ ℝ ∧ B + 1 ∈ ℝ → B < B + 1 ∧ v ≤ B → v < B + 1
14 9 13 mpidan ⊢ B ∈ ℝ ∧ v ∈ ℝ → B < B + 1 ∧ v ≤ B → v < B + 1
15 8 14 mpand ⊢ B ∈ ℝ ∧ v ∈ ℝ → v ≤ B → v < B + 1
16 15 impr ⊢ B ∈ ℝ ∧ v ∈ ℝ ∧ v ≤ B → v < B + 1
17 16 3adantr2 ⊢ B ∈ ℝ ∧ v ∈ ℝ ∧ C < v ∧ v ≤ B → v < B + 1
18 17 ex ⊢ B ∈ ℝ → v ∈ ℝ ∧ C < v ∧ v ≤ B → v < B + 1
19 18 ad2antlr ⊢ A ∈ ℝ ∧ B ∈ ℝ ∧ C ∈ A B → v ∈ ℝ ∧ C < v ∧ v ≤ B → v < B + 1
20 4 6 19 3jcad ⊢ A ∈ ℝ ∧ B ∈ ℝ ∧ C ∈ A B → v ∈ ℝ ∧ C < v ∧ v ≤ B → v ∈ ℝ ∧ C < v ∧ v < B + 1
21 rexr ⊢ B ∈ ℝ → B ∈ ℝ *
22 elico2 ⊢ A ∈ ℝ ∧ B ∈ ℝ * → C ∈ A B ↔ C ∈ ℝ ∧ A ≤ C ∧ C < B
23 21 22 sylan2 ⊢ A ∈ ℝ ∧ B ∈ ℝ → C ∈ A B ↔ C ∈ ℝ ∧ A ≤ C ∧ C < B
24 23 biimpa ⊢ A ∈ ℝ ∧ B ∈ ℝ ∧ C ∈ A B → C ∈ ℝ ∧ A ≤ C ∧ C < B
25 lelttr ⊢ A ∈ ℝ ∧ C ∈ ℝ ∧ v ∈ ℝ → A ≤ C ∧ C < v → A < v
26 ltle ⊢ A ∈ ℝ ∧ v ∈ ℝ → A < v → A ≤ v
27 26 3adant2 ⊢ A ∈ ℝ ∧ C ∈ ℝ ∧ v ∈ ℝ → A < v → A ≤ v
28 25 27 syld ⊢ A ∈ ℝ ∧ C ∈ ℝ ∧ v ∈ ℝ → A ≤ C ∧ C < v → A ≤ v
29 28 3expa ⊢ A ∈ ℝ ∧ C ∈ ℝ ∧ v ∈ ℝ → A ≤ C ∧ C < v → A ≤ v
30 29 imp ⊢ A ∈ ℝ ∧ C ∈ ℝ ∧ v ∈ ℝ ∧ A ≤ C ∧ C < v → A ≤ v
31 30 an4s ⊢ A ∈ ℝ ∧ C ∈ ℝ ∧ A ≤ C ∧ v ∈ ℝ ∧ C < v → A ≤ v
32 31 3adantr3 ⊢ A ∈ ℝ ∧ C ∈ ℝ ∧ A ≤ C ∧ v ∈ ℝ ∧ C < v ∧ v ≤ B → A ≤ v
33 32 ex ⊢ A ∈ ℝ ∧ C ∈ ℝ ∧ A ≤ C → v ∈ ℝ ∧ C < v ∧ v ≤ B → A ≤ v
34 33 anasss ⊢ A ∈ ℝ ∧ C ∈ ℝ ∧ A ≤ C → v ∈ ℝ ∧ C < v ∧ v ≤ B → A ≤ v
35 34 3adantr3 ⊢ A ∈ ℝ ∧ C ∈ ℝ ∧ A ≤ C ∧ C < B → v ∈ ℝ ∧ C < v ∧ v ≤ B → A ≤ v
36 35 adantlr ⊢ A ∈ ℝ ∧ B ∈ ℝ ∧ C ∈ ℝ ∧ A ≤ C ∧ C < B → v ∈ ℝ ∧ C < v ∧ v ≤ B → A ≤ v
37 24 36 syldan ⊢ A ∈ ℝ ∧ B ∈ ℝ ∧ C ∈ A B → v ∈ ℝ ∧ C < v ∧ v ≤ B → A ≤ v
38 simp3 ⊢ v ∈ ℝ ∧ C < v ∧ v ≤ B → v ≤ B
39 38 a1i ⊢ A ∈ ℝ ∧ B ∈ ℝ ∧ C ∈ A B → v ∈ ℝ ∧ C < v ∧ v ≤ B → v ≤ B
40 4 37 39 3jcad ⊢ A ∈ ℝ ∧ B ∈ ℝ ∧ C ∈ A B → v ∈ ℝ ∧ C < v ∧ v ≤ B → v ∈ ℝ ∧ A ≤ v ∧ v ≤ B
41 20 40 jcad ⊢ A ∈ ℝ ∧ B ∈ ℝ ∧ C ∈ A B → v ∈ ℝ ∧ C < v ∧ v ≤ B → v ∈ ℝ ∧ C < v ∧ v < B + 1 ∧ v ∈ ℝ ∧ A ≤ v ∧ v ≤ B
42 simpl1 ⊢ v ∈ ℝ ∧ C < v ∧ v < B + 1 ∧ v ∈ ℝ ∧ A ≤ v ∧ v ≤ B → v ∈ ℝ
43 simpl2 ⊢ v ∈ ℝ ∧ C < v ∧ v < B + 1 ∧ v ∈ ℝ ∧ A ≤ v ∧ v ≤ B → C < v
44 simpr3 ⊢ v ∈ ℝ ∧ C < v ∧ v < B + 1 ∧ v ∈ ℝ ∧ A ≤ v ∧ v ≤ B → v ≤ B
45 42 43 44 3jca ⊢ v ∈ ℝ ∧ C < v ∧ v < B + 1 ∧ v ∈ ℝ ∧ A ≤ v ∧ v ≤ B → v ∈ ℝ ∧ C < v ∧ v ≤ B
46 41 45 impbid1 ⊢ A ∈ ℝ ∧ B ∈ ℝ ∧ C ∈ A B → v ∈ ℝ ∧ C < v ∧ v ≤ B ↔ v ∈ ℝ ∧ C < v ∧ v < B + 1 ∧ v ∈ ℝ ∧ A ≤ v ∧ v ≤ B
47 24 simp1d ⊢ A ∈ ℝ ∧ B ∈ ℝ ∧ C ∈ A B → C ∈ ℝ
48 47 rexrd ⊢ A ∈ ℝ ∧ B ∈ ℝ ∧ C ∈ A B → C ∈ ℝ *
49 simplr ⊢ A ∈ ℝ ∧ B ∈ ℝ ∧ C ∈ A B → B ∈ ℝ
50 elioc2 ⊢ C ∈ ℝ * ∧ B ∈ ℝ → v ∈ C B ↔ v ∈ ℝ ∧ C < v ∧ v ≤ B
51 48 49 50 syl2anc ⊢ A ∈ ℝ ∧ B ∈ ℝ ∧ C ∈ A B → v ∈ C B ↔ v ∈ ℝ ∧ C < v ∧ v ≤ B
52 elin ⊢ v ∈ C B + 1 ∩ A B ↔ v ∈ C B + 1 ∧ v ∈ A B
53 9 rexrd ⊢ B ∈ ℝ → B + 1 ∈ ℝ *
54 53 ad2antlr ⊢ A ∈ ℝ ∧ B ∈ ℝ ∧ C ∈ A B → B + 1 ∈ ℝ *
55 elioo2 ⊢ C ∈ ℝ * ∧ B + 1 ∈ ℝ * → v ∈ C B + 1 ↔ v ∈ ℝ ∧ C < v ∧ v < B + 1
56 48 54 55 syl2anc ⊢ A ∈ ℝ ∧ B ∈ ℝ ∧ C ∈ A B → v ∈ C B + 1 ↔ v ∈ ℝ ∧ C < v ∧ v < B + 1
57 elicc2 ⊢ A ∈ ℝ ∧ B ∈ ℝ → v ∈ A B ↔ v ∈ ℝ ∧ A ≤ v ∧ v ≤ B
58 57 adantr ⊢ A ∈ ℝ ∧ B ∈ ℝ ∧ C ∈ A B → v ∈ A B ↔ v ∈ ℝ ∧ A ≤ v ∧ v ≤ B
59 56 58 anbi12d ⊢ A ∈ ℝ ∧ B ∈ ℝ ∧ C ∈ A B → v ∈ C B + 1 ∧ v ∈ A B ↔ v ∈ ℝ ∧ C < v ∧ v < B + 1 ∧ v ∈ ℝ ∧ A ≤ v ∧ v ≤ B
60 52 59 bitrid ⊢ A ∈ ℝ ∧ B ∈ ℝ ∧ C ∈ A B → v ∈ C B + 1 ∩ A B ↔ v ∈ ℝ ∧ C < v ∧ v < B + 1 ∧ v ∈ ℝ ∧ A ≤ v ∧ v ≤ B
61 46 51 60 3bitr4d ⊢ A ∈ ℝ ∧ B ∈ ℝ ∧ C ∈ A B → v ∈ C B ↔ v ∈ C B + 1 ∩ A B
62 61 eqrdv ⊢ A ∈ ℝ ∧ B ∈ ℝ ∧ C ∈ A B → C B = C B + 1 ∩ A B
63 ineq1 ⊢ v = C B + 1 → v ∩ A B = C B + 1 ∩ A B
64 63 rspceeqv ⊢ C B + 1 ∈ topGen ⁡ ran ⁡ . ∧ C B = C B + 1 ∩ A B → ∃ v ∈ topGen ⁡ ran ⁡ . C B = v ∩ A B
65 2 62 64 sylancr ⊢ A ∈ ℝ ∧ B ∈ ℝ ∧ C ∈ A B → ∃ v ∈ topGen ⁡ ran ⁡ . C B = v ∩ A B
66 retop ⊢ topGen ⁡ ran ⁡ . ∈ Top
67 ovex ⊢ A B ∈ V
68 elrest ⊢ topGen ⁡ ran ⁡ . ∈ Top ∧ A B ∈ V → C B ∈ topGen ⁡ ran ⁡ . ↾ 𝑡 A B ↔ ∃ v ∈ topGen ⁡ ran ⁡ . C B = v ∩ A B
69 66 67 68 mp2an ⊢ C B ∈ topGen ⁡ ran ⁡ . ↾ 𝑡 A B ↔ ∃ v ∈ topGen ⁡ ran ⁡ . C B = v ∩ A B
70 65 69 sylibr ⊢ A ∈ ℝ ∧ B ∈ ℝ ∧ C ∈ A B → C B ∈ topGen ⁡ ran ⁡ . ↾ 𝑡 A B
71 iccssre ⊢ A ∈ ℝ ∧ B ∈ ℝ → A B ⊆ ℝ
72 71 adantr ⊢ A ∈ ℝ ∧ B ∈ ℝ ∧ C ∈ A B → A B ⊆ ℝ
73 eqid ⊢ topGen ⁡ ran ⁡ . = topGen ⁡ ran ⁡ .
74 73 1 resubmet ⊢ A B ⊆ ℝ → J = topGen ⁡ ran ⁡ . ↾ 𝑡 A B
75 72 74 syl ⊢ A ∈ ℝ ∧ B ∈ ℝ ∧ C ∈ A B → J = topGen ⁡ ran ⁡ . ↾ 𝑡 A B
76 70 75 eleqtrrd ⊢ A ∈ ℝ ∧ B ∈ ℝ ∧ C ∈ A B → C B ∈ J
77 76 ex ⊢ A ∈ ℝ ∧ B ∈ ℝ → C ∈ A B → C B ∈ J