This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: The function F is an "inverse" of sorts to the open interval function. (Contributed by Mario Carneiro, 26-Mar-2015) (Revised by AV, 13-Sep-2020)
| Ref | Expression | ||
|---|---|---|---|
| Hypothesis | ioorf.1 | ⊢ 𝐹 = ( 𝑥 ∈ ran (,) ↦ if ( 𝑥 = ∅ , 〈 0 , 0 〉 , 〈 inf ( 𝑥 , ℝ* , < ) , sup ( 𝑥 , ℝ* , < ) 〉 ) ) | |
| Assertion | ioorinv | ⊢ ( 𝐴 ∈ ran (,) → ( (,) ‘ ( 𝐹 ‘ 𝐴 ) ) = 𝐴 ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | ioorf.1 | ⊢ 𝐹 = ( 𝑥 ∈ ran (,) ↦ if ( 𝑥 = ∅ , 〈 0 , 0 〉 , 〈 inf ( 𝑥 , ℝ* , < ) , sup ( 𝑥 , ℝ* , < ) 〉 ) ) | |
| 2 | ioof | ⊢ (,) : ( ℝ* × ℝ* ) ⟶ 𝒫 ℝ | |
| 3 | ffn | ⊢ ( (,) : ( ℝ* × ℝ* ) ⟶ 𝒫 ℝ → (,) Fn ( ℝ* × ℝ* ) ) | |
| 4 | ovelrn | ⊢ ( (,) Fn ( ℝ* × ℝ* ) → ( 𝐴 ∈ ran (,) ↔ ∃ 𝑎 ∈ ℝ* ∃ 𝑏 ∈ ℝ* 𝐴 = ( 𝑎 (,) 𝑏 ) ) ) | |
| 5 | 2 3 4 | mp2b | ⊢ ( 𝐴 ∈ ran (,) ↔ ∃ 𝑎 ∈ ℝ* ∃ 𝑏 ∈ ℝ* 𝐴 = ( 𝑎 (,) 𝑏 ) ) |
| 6 | 1 | ioorinv2 | ⊢ ( ( 𝑎 (,) 𝑏 ) ≠ ∅ → ( 𝐹 ‘ ( 𝑎 (,) 𝑏 ) ) = 〈 𝑎 , 𝑏 〉 ) |
| 7 | 6 | fveq2d | ⊢ ( ( 𝑎 (,) 𝑏 ) ≠ ∅ → ( (,) ‘ ( 𝐹 ‘ ( 𝑎 (,) 𝑏 ) ) ) = ( (,) ‘ 〈 𝑎 , 𝑏 〉 ) ) |
| 8 | df-ov | ⊢ ( 𝑎 (,) 𝑏 ) = ( (,) ‘ 〈 𝑎 , 𝑏 〉 ) | |
| 9 | 7 8 | eqtr4di | ⊢ ( ( 𝑎 (,) 𝑏 ) ≠ ∅ → ( (,) ‘ ( 𝐹 ‘ ( 𝑎 (,) 𝑏 ) ) ) = ( 𝑎 (,) 𝑏 ) ) |
| 10 | df-ne | ⊢ ( 𝐴 ≠ ∅ ↔ ¬ 𝐴 = ∅ ) | |
| 11 | neeq1 | ⊢ ( 𝐴 = ( 𝑎 (,) 𝑏 ) → ( 𝐴 ≠ ∅ ↔ ( 𝑎 (,) 𝑏 ) ≠ ∅ ) ) | |
| 12 | 10 11 | bitr3id | ⊢ ( 𝐴 = ( 𝑎 (,) 𝑏 ) → ( ¬ 𝐴 = ∅ ↔ ( 𝑎 (,) 𝑏 ) ≠ ∅ ) ) |
| 13 | 2fveq3 | ⊢ ( 𝐴 = ( 𝑎 (,) 𝑏 ) → ( (,) ‘ ( 𝐹 ‘ 𝐴 ) ) = ( (,) ‘ ( 𝐹 ‘ ( 𝑎 (,) 𝑏 ) ) ) ) | |
| 14 | id | ⊢ ( 𝐴 = ( 𝑎 (,) 𝑏 ) → 𝐴 = ( 𝑎 (,) 𝑏 ) ) | |
| 15 | 13 14 | eqeq12d | ⊢ ( 𝐴 = ( 𝑎 (,) 𝑏 ) → ( ( (,) ‘ ( 𝐹 ‘ 𝐴 ) ) = 𝐴 ↔ ( (,) ‘ ( 𝐹 ‘ ( 𝑎 (,) 𝑏 ) ) ) = ( 𝑎 (,) 𝑏 ) ) ) |
| 16 | 12 15 | imbi12d | ⊢ ( 𝐴 = ( 𝑎 (,) 𝑏 ) → ( ( ¬ 𝐴 = ∅ → ( (,) ‘ ( 𝐹 ‘ 𝐴 ) ) = 𝐴 ) ↔ ( ( 𝑎 (,) 𝑏 ) ≠ ∅ → ( (,) ‘ ( 𝐹 ‘ ( 𝑎 (,) 𝑏 ) ) ) = ( 𝑎 (,) 𝑏 ) ) ) ) |
| 17 | 9 16 | mpbiri | ⊢ ( 𝐴 = ( 𝑎 (,) 𝑏 ) → ( ¬ 𝐴 = ∅ → ( (,) ‘ ( 𝐹 ‘ 𝐴 ) ) = 𝐴 ) ) |
| 18 | 17 | a1i | ⊢ ( ( 𝑎 ∈ ℝ* ∧ 𝑏 ∈ ℝ* ) → ( 𝐴 = ( 𝑎 (,) 𝑏 ) → ( ¬ 𝐴 = ∅ → ( (,) ‘ ( 𝐹 ‘ 𝐴 ) ) = 𝐴 ) ) ) |
| 19 | 18 | rexlimivv | ⊢ ( ∃ 𝑎 ∈ ℝ* ∃ 𝑏 ∈ ℝ* 𝐴 = ( 𝑎 (,) 𝑏 ) → ( ¬ 𝐴 = ∅ → ( (,) ‘ ( 𝐹 ‘ 𝐴 ) ) = 𝐴 ) ) |
| 20 | 5 19 | sylbi | ⊢ ( 𝐴 ∈ ran (,) → ( ¬ 𝐴 = ∅ → ( (,) ‘ ( 𝐹 ‘ 𝐴 ) ) = 𝐴 ) ) |
| 21 | ioorebas | ⊢ ( 0 (,) 0 ) ∈ ran (,) | |
| 22 | 1 | ioorval | ⊢ ( ( 0 (,) 0 ) ∈ ran (,) → ( 𝐹 ‘ ( 0 (,) 0 ) ) = if ( ( 0 (,) 0 ) = ∅ , 〈 0 , 0 〉 , 〈 inf ( ( 0 (,) 0 ) , ℝ* , < ) , sup ( ( 0 (,) 0 ) , ℝ* , < ) 〉 ) ) |
| 23 | 21 22 | ax-mp | ⊢ ( 𝐹 ‘ ( 0 (,) 0 ) ) = if ( ( 0 (,) 0 ) = ∅ , 〈 0 , 0 〉 , 〈 inf ( ( 0 (,) 0 ) , ℝ* , < ) , sup ( ( 0 (,) 0 ) , ℝ* , < ) 〉 ) |
| 24 | iooid | ⊢ ( 0 (,) 0 ) = ∅ | |
| 25 | 24 | iftruei | ⊢ if ( ( 0 (,) 0 ) = ∅ , 〈 0 , 0 〉 , 〈 inf ( ( 0 (,) 0 ) , ℝ* , < ) , sup ( ( 0 (,) 0 ) , ℝ* , < ) 〉 ) = 〈 0 , 0 〉 |
| 26 | 23 25 | eqtri | ⊢ ( 𝐹 ‘ ( 0 (,) 0 ) ) = 〈 0 , 0 〉 |
| 27 | 26 | fveq2i | ⊢ ( (,) ‘ ( 𝐹 ‘ ( 0 (,) 0 ) ) ) = ( (,) ‘ 〈 0 , 0 〉 ) |
| 28 | df-ov | ⊢ ( 0 (,) 0 ) = ( (,) ‘ 〈 0 , 0 〉 ) | |
| 29 | 27 28 | eqtr4i | ⊢ ( (,) ‘ ( 𝐹 ‘ ( 0 (,) 0 ) ) ) = ( 0 (,) 0 ) |
| 30 | 24 | eqeq2i | ⊢ ( 𝐴 = ( 0 (,) 0 ) ↔ 𝐴 = ∅ ) |
| 31 | 30 | biimpri | ⊢ ( 𝐴 = ∅ → 𝐴 = ( 0 (,) 0 ) ) |
| 32 | 31 | fveq2d | ⊢ ( 𝐴 = ∅ → ( 𝐹 ‘ 𝐴 ) = ( 𝐹 ‘ ( 0 (,) 0 ) ) ) |
| 33 | 32 | fveq2d | ⊢ ( 𝐴 = ∅ → ( (,) ‘ ( 𝐹 ‘ 𝐴 ) ) = ( (,) ‘ ( 𝐹 ‘ ( 0 (,) 0 ) ) ) ) |
| 34 | 29 33 31 | 3eqtr4a | ⊢ ( 𝐴 = ∅ → ( (,) ‘ ( 𝐹 ‘ 𝐴 ) ) = 𝐴 ) |
| 35 | 20 34 | pm2.61d2 | ⊢ ( 𝐴 ∈ ran (,) → ( (,) ‘ ( 𝐹 ‘ 𝐴 ) ) = 𝐴 ) |