Metamath Proof Explorer


Theorem ioorf

Description: Define a function from open intervals to their endpoints. (Contributed by Mario Carneiro, 26-Mar-2015) (Revised by AV, 13-Sep-2020)

Ref Expression
Hypothesis ioorf.1 ⊢ F = x ∈ ran ⁡ . ⟼ if x = ∅ 0 0 inf x ℝ * < sup x ℝ * <
Assertion ioorf ⊢ F : ran ⁡ . ⟶ ≤ ∩ ℝ * × ℝ *

Proof

Step Hyp Ref Expression
1 ioorf.1 ⊢ F = x ∈ ran ⁡ . ⟼ if x = ∅ 0 0 inf x ℝ * < sup x ℝ * <
2 ioof ⊢ . : ℝ * × ℝ * ⟶ 𝒫 ℝ
3 ffn ⊢ . : ℝ * × ℝ * ⟶ 𝒫 ℝ → . Fn ℝ * × ℝ *
4 ovelrn ⊢ . Fn ℝ * × ℝ * → x ∈ ran ⁡ . ↔ ∃ a ∈ ℝ * ∃ b ∈ ℝ * x = a b
5 2 3 4 mp2b ⊢ x ∈ ran ⁡ . ↔ ∃ a ∈ ℝ * ∃ b ∈ ℝ * x = a b
6 0le0 ⊢ 0 ≤ 0
7 df-br ⊢ 0 ≤ 0 ↔ 0 0 ∈ ≤
8 6 7 mpbi ⊢ 0 0 ∈ ≤
9 0xr ⊢ 0 ∈ ℝ *
10 opelxpi ⊢ 0 ∈ ℝ * ∧ 0 ∈ ℝ * → 0 0 ∈ ℝ * × ℝ *
11 9 9 10 mp2an ⊢ 0 0 ∈ ℝ * × ℝ *
12 8 11 elini ⊢ 0 0 ∈ ≤ ∩ ℝ * × ℝ *
13 12 a1i ⊢ a ∈ ℝ * ∧ b ∈ ℝ * ∧ x = a b ∧ x = ∅ → 0 0 ∈ ≤ ∩ ℝ * × ℝ *
14 simplr ⊢ a ∈ ℝ * ∧ b ∈ ℝ * ∧ x = a b ∧ ¬ x = ∅ → x = a b
15 14 infeq1d ⊢ a ∈ ℝ * ∧ b ∈ ℝ * ∧ x = a b ∧ ¬ x = ∅ → inf x ℝ * < = inf a b ℝ * <
16 simplll ⊢ a ∈ ℝ * ∧ b ∈ ℝ * ∧ x = a b ∧ ¬ x = ∅ → a ∈ ℝ *
17 simpllr ⊢ a ∈ ℝ * ∧ b ∈ ℝ * ∧ x = a b ∧ ¬ x = ∅ → b ∈ ℝ *
18 simpr ⊢ a ∈ ℝ * ∧ b ∈ ℝ * ∧ x = a b ∧ ¬ x = ∅ → ¬ x = ∅
19 18 neqned ⊢ a ∈ ℝ * ∧ b ∈ ℝ * ∧ x = a b ∧ ¬ x = ∅ → x ≠ ∅
20 14 19 eqnetrrd ⊢ a ∈ ℝ * ∧ b ∈ ℝ * ∧ x = a b ∧ ¬ x = ∅ → a b ≠ ∅
21 df-ioo ⊢ . = x ∈ ℝ * , y ∈ ℝ * ⟼ z ∈ ℝ * | x < z ∧ z < y
22 idd ⊢ w ∈ ℝ * ∧ b ∈ ℝ * → w < b → w < b
23 xrltle ⊢ w ∈ ℝ * ∧ b ∈ ℝ * → w < b → w ≤ b
24 idd ⊢ a ∈ ℝ * ∧ w ∈ ℝ * → a < w → a < w
25 xrltle ⊢ a ∈ ℝ * ∧ w ∈ ℝ * → a < w → a ≤ w
26 21 22 23 24 25 ixxlb ⊢ a ∈ ℝ * ∧ b ∈ ℝ * ∧ a b ≠ ∅ → inf a b ℝ * < = a
27 16 17 20 26 syl3anc ⊢ a ∈ ℝ * ∧ b ∈ ℝ * ∧ x = a b ∧ ¬ x = ∅ → inf a b ℝ * < = a
28 15 27 eqtrd ⊢ a ∈ ℝ * ∧ b ∈ ℝ * ∧ x = a b ∧ ¬ x = ∅ → inf x ℝ * < = a
29 14 supeq1d ⊢ a ∈ ℝ * ∧ b ∈ ℝ * ∧ x = a b ∧ ¬ x = ∅ → sup x ℝ * < = sup a b ℝ * <
30 21 22 23 24 25 ixxub ⊢ a ∈ ℝ * ∧ b ∈ ℝ * ∧ a b ≠ ∅ → sup a b ℝ * < = b
31 16 17 20 30 syl3anc ⊢ a ∈ ℝ * ∧ b ∈ ℝ * ∧ x = a b ∧ ¬ x = ∅ → sup a b ℝ * < = b
32 29 31 eqtrd ⊢ a ∈ ℝ * ∧ b ∈ ℝ * ∧ x = a b ∧ ¬ x = ∅ → sup x ℝ * < = b
33 28 32 opeq12d ⊢ a ∈ ℝ * ∧ b ∈ ℝ * ∧ x = a b ∧ ¬ x = ∅ → inf x ℝ * < sup x ℝ * < = a b
34 ioon0 ⊢ a ∈ ℝ * ∧ b ∈ ℝ * → a b ≠ ∅ ↔ a < b
35 34 ad2antrr ⊢ a ∈ ℝ * ∧ b ∈ ℝ * ∧ x = a b ∧ ¬ x = ∅ → a b ≠ ∅ ↔ a < b
36 20 35 mpbid ⊢ a ∈ ℝ * ∧ b ∈ ℝ * ∧ x = a b ∧ ¬ x = ∅ → a < b
37 xrltle ⊢ a ∈ ℝ * ∧ b ∈ ℝ * → a < b → a ≤ b
38 37 ad2antrr ⊢ a ∈ ℝ * ∧ b ∈ ℝ * ∧ x = a b ∧ ¬ x = ∅ → a < b → a ≤ b
39 36 38 mpd ⊢ a ∈ ℝ * ∧ b ∈ ℝ * ∧ x = a b ∧ ¬ x = ∅ → a ≤ b
40 df-br ⊢ a ≤ b ↔ a b ∈ ≤
41 39 40 sylib ⊢ a ∈ ℝ * ∧ b ∈ ℝ * ∧ x = a b ∧ ¬ x = ∅ → a b ∈ ≤
42 opelxpi ⊢ a ∈ ℝ * ∧ b ∈ ℝ * → a b ∈ ℝ * × ℝ *
43 42 ad2antrr ⊢ a ∈ ℝ * ∧ b ∈ ℝ * ∧ x = a b ∧ ¬ x = ∅ → a b ∈ ℝ * × ℝ *
44 41 43 elind ⊢ a ∈ ℝ * ∧ b ∈ ℝ * ∧ x = a b ∧ ¬ x = ∅ → a b ∈ ≤ ∩ ℝ * × ℝ *
45 33 44 eqeltrd ⊢ a ∈ ℝ * ∧ b ∈ ℝ * ∧ x = a b ∧ ¬ x = ∅ → inf x ℝ * < sup x ℝ * < ∈ ≤ ∩ ℝ * × ℝ *
46 13 45 ifclda ⊢ a ∈ ℝ * ∧ b ∈ ℝ * ∧ x = a b → if x = ∅ 0 0 inf x ℝ * < sup x ℝ * < ∈ ≤ ∩ ℝ * × ℝ *
47 46 ex ⊢ a ∈ ℝ * ∧ b ∈ ℝ * → x = a b → if x = ∅ 0 0 inf x ℝ * < sup x ℝ * < ∈ ≤ ∩ ℝ * × ℝ *
48 47 rexlimivv ⊢ ∃ a ∈ ℝ * ∃ b ∈ ℝ * x = a b → if x = ∅ 0 0 inf x ℝ * < sup x ℝ * < ∈ ≤ ∩ ℝ * × ℝ *
49 5 48 sylbi ⊢ x ∈ ran ⁡ . → if x = ∅ 0 0 inf x ℝ * < sup x ℝ * < ∈ ≤ ∩ ℝ * × ℝ *
50 1 49 fmpti ⊢ F : ran ⁡ . ⟶ ≤ ∩ ℝ * × ℝ *