Metamath Proof Explorer


Theorem hsphoif

Description: H is a function (that returns the representation of the right side of a half-open interval intersected with a half-space). Step (b) in Lemma 115B of Fremlin1 p. 29. (Contributed by Glauco Siliprandi, 21-Nov-2020)

Ref Expression
Hypotheses hsphoif.h ⊢ 𝐻 = ( 𝑥 ∈ ℝ ↦ ( 𝑎 ∈ ( ℝ ↑m 𝑋 ) ↦ ( 𝑗 ∈ 𝑋 ↦ if ( 𝑗 ∈ 𝑌 , ( 𝑎 ‘ 𝑗 ) , if ( ( 𝑎 ‘ 𝑗 ) ≤ 𝑥 , ( 𝑎 ‘ 𝑗 ) , 𝑥 ) ) ) ) )
hsphoif.a ⊢ ( 𝜑 → 𝐴 ∈ ℝ )
hsphoif.x ⊢ ( 𝜑 → 𝑋 ∈ 𝑉 )
hsphoif.b ⊢ ( 𝜑 → 𝐵 : 𝑋 ⟶ ℝ )
Assertion hsphoif ( 𝜑 → ( ( 𝐻 ‘ 𝐴 ) ‘ 𝐵 ) : 𝑋 ⟶ ℝ )

Proof

Step Hyp Ref Expression
1 hsphoif.h ⊢ 𝐻 = ( 𝑥 ∈ ℝ ↦ ( 𝑎 ∈ ( ℝ ↑m 𝑋 ) ↦ ( 𝑗 ∈ 𝑋 ↦ if ( 𝑗 ∈ 𝑌 , ( 𝑎 ‘ 𝑗 ) , if ( ( 𝑎 ‘ 𝑗 ) ≤ 𝑥 , ( 𝑎 ‘ 𝑗 ) , 𝑥 ) ) ) ) )
2 hsphoif.a ⊢ ( 𝜑 → 𝐴 ∈ ℝ )
3 hsphoif.x ⊢ ( 𝜑 → 𝑋 ∈ 𝑉 )
4 hsphoif.b ⊢ ( 𝜑 → 𝐵 : 𝑋 ⟶ ℝ )
5 4 ffvelcdmda ⊢ ( ( 𝜑 ∧ 𝑗 ∈ 𝑋 ) → ( 𝐵 ‘ 𝑗 ) ∈ ℝ )
6 2 adantr ⊢ ( ( 𝜑 ∧ 𝑗 ∈ 𝑋 ) → 𝐴 ∈ ℝ )
7 5 6 ifcld ⊢ ( ( 𝜑 ∧ 𝑗 ∈ 𝑋 ) → if ( ( 𝐵 ‘ 𝑗 ) ≤ 𝐴 , ( 𝐵 ‘ 𝑗 ) , 𝐴 ) ∈ ℝ )
8 5 7 ifcld ⊢ ( ( 𝜑 ∧ 𝑗 ∈ 𝑋 ) → if ( 𝑗 ∈ 𝑌 , ( 𝐵 ‘ 𝑗 ) , if ( ( 𝐵 ‘ 𝑗 ) ≤ 𝐴 , ( 𝐵 ‘ 𝑗 ) , 𝐴 ) ) ∈ ℝ )
9 eqid ⊢ ( 𝑗 ∈ 𝑋 ↦ if ( 𝑗 ∈ 𝑌 , ( 𝐵 ‘ 𝑗 ) , if ( ( 𝐵 ‘ 𝑗 ) ≤ 𝐴 , ( 𝐵 ‘ 𝑗 ) , 𝐴 ) ) ) = ( 𝑗 ∈ 𝑋 ↦ if ( 𝑗 ∈ 𝑌 , ( 𝐵 ‘ 𝑗 ) , if ( ( 𝐵 ‘ 𝑗 ) ≤ 𝐴 , ( 𝐵 ‘ 𝑗 ) , 𝐴 ) ) )
10 8 9 fmptd ⊢ ( 𝜑 → ( 𝑗 ∈ 𝑋 ↦ if ( 𝑗 ∈ 𝑌 , ( 𝐵 ‘ 𝑗 ) , if ( ( 𝐵 ‘ 𝑗 ) ≤ 𝐴 , ( 𝐵 ‘ 𝑗 ) , 𝐴 ) ) ) : 𝑋 ⟶ ℝ )
11 breq2 ⊢ ( 𝑥 = 𝐴 → ( ( 𝑎 ‘ 𝑗 ) ≤ 𝑥 ↔ ( 𝑎 ‘ 𝑗 ) ≤ 𝐴 ) )
12 id ⊢ ( 𝑥 = 𝐴 → 𝑥 = 𝐴 )
13 11 12 ifbieq2d ⊢ ( 𝑥 = 𝐴 → if ( ( 𝑎 ‘ 𝑗 ) ≤ 𝑥 , ( 𝑎 ‘ 𝑗 ) , 𝑥 ) = if ( ( 𝑎 ‘ 𝑗 ) ≤ 𝐴 , ( 𝑎 ‘ 𝑗 ) , 𝐴 ) )
14 13 ifeq2d ⊢ ( 𝑥 = 𝐴 → if ( 𝑗 ∈ 𝑌 , ( 𝑎 ‘ 𝑗 ) , if ( ( 𝑎 ‘ 𝑗 ) ≤ 𝑥 , ( 𝑎 ‘ 𝑗 ) , 𝑥 ) ) = if ( 𝑗 ∈ 𝑌 , ( 𝑎 ‘ 𝑗 ) , if ( ( 𝑎 ‘ 𝑗 ) ≤ 𝐴 , ( 𝑎 ‘ 𝑗 ) , 𝐴 ) ) )
15 14 mpteq2dv ⊢ ( 𝑥 = 𝐴 → ( 𝑗 ∈ 𝑋 ↦ if ( 𝑗 ∈ 𝑌 , ( 𝑎 ‘ 𝑗 ) , if ( ( 𝑎 ‘ 𝑗 ) ≤ 𝑥 , ( 𝑎 ‘ 𝑗 ) , 𝑥 ) ) ) = ( 𝑗 ∈ 𝑋 ↦ if ( 𝑗 ∈ 𝑌 , ( 𝑎 ‘ 𝑗 ) , if ( ( 𝑎 ‘ 𝑗 ) ≤ 𝐴 , ( 𝑎 ‘ 𝑗 ) , 𝐴 ) ) ) )
16 15 mpteq2dv ⊢ ( 𝑥 = 𝐴 → ( 𝑎 ∈ ( ℝ ↑m 𝑋 ) ↦ ( 𝑗 ∈ 𝑋 ↦ if ( 𝑗 ∈ 𝑌 , ( 𝑎 ‘ 𝑗 ) , if ( ( 𝑎 ‘ 𝑗 ) ≤ 𝑥 , ( 𝑎 ‘ 𝑗 ) , 𝑥 ) ) ) ) = ( 𝑎 ∈ ( ℝ ↑m 𝑋 ) ↦ ( 𝑗 ∈ 𝑋 ↦ if ( 𝑗 ∈ 𝑌 , ( 𝑎 ‘ 𝑗 ) , if ( ( 𝑎 ‘ 𝑗 ) ≤ 𝐴 , ( 𝑎 ‘ 𝑗 ) , 𝐴 ) ) ) ) )
17 ovex ⊢ ( ℝ ↑m 𝑋 ) ∈ V
18 17 mptex ⊢ ( 𝑎 ∈ ( ℝ ↑m 𝑋 ) ↦ ( 𝑗 ∈ 𝑋 ↦ if ( 𝑗 ∈ 𝑌 , ( 𝑎 ‘ 𝑗 ) , if ( ( 𝑎 ‘ 𝑗 ) ≤ 𝐴 , ( 𝑎 ‘ 𝑗 ) , 𝐴 ) ) ) ) ∈ V
19 18 a1i ⊢ ( 𝜑 → ( 𝑎 ∈ ( ℝ ↑m 𝑋 ) ↦ ( 𝑗 ∈ 𝑋 ↦ if ( 𝑗 ∈ 𝑌 , ( 𝑎 ‘ 𝑗 ) , if ( ( 𝑎 ‘ 𝑗 ) ≤ 𝐴 , ( 𝑎 ‘ 𝑗 ) , 𝐴 ) ) ) ) ∈ V )
20 1 16 2 19 fvmptd3 ⊢ ( 𝜑 → ( 𝐻 ‘ 𝐴 ) = ( 𝑎 ∈ ( ℝ ↑m 𝑋 ) ↦ ( 𝑗 ∈ 𝑋 ↦ if ( 𝑗 ∈ 𝑌 , ( 𝑎 ‘ 𝑗 ) , if ( ( 𝑎 ‘ 𝑗 ) ≤ 𝐴 , ( 𝑎 ‘ 𝑗 ) , 𝐴 ) ) ) ) )
21 fveq1 ⊢ ( 𝑎 = 𝐵 → ( 𝑎 ‘ 𝑗 ) = ( 𝐵 ‘ 𝑗 ) )
22 21 breq1d ⊢ ( 𝑎 = 𝐵 → ( ( 𝑎 ‘ 𝑗 ) ≤ 𝐴 ↔ ( 𝐵 ‘ 𝑗 ) ≤ 𝐴 ) )
23 22 21 ifbieq1d ⊢ ( 𝑎 = 𝐵 → if ( ( 𝑎 ‘ 𝑗 ) ≤ 𝐴 , ( 𝑎 ‘ 𝑗 ) , 𝐴 ) = if ( ( 𝐵 ‘ 𝑗 ) ≤ 𝐴 , ( 𝐵 ‘ 𝑗 ) , 𝐴 ) )
24 21 23 ifeq12d ⊢ ( 𝑎 = 𝐵 → if ( 𝑗 ∈ 𝑌 , ( 𝑎 ‘ 𝑗 ) , if ( ( 𝑎 ‘ 𝑗 ) ≤ 𝐴 , ( 𝑎 ‘ 𝑗 ) , 𝐴 ) ) = if ( 𝑗 ∈ 𝑌 , ( 𝐵 ‘ 𝑗 ) , if ( ( 𝐵 ‘ 𝑗 ) ≤ 𝐴 , ( 𝐵 ‘ 𝑗 ) , 𝐴 ) ) )
25 24 mpteq2dv ⊢ ( 𝑎 = 𝐵 → ( 𝑗 ∈ 𝑋 ↦ if ( 𝑗 ∈ 𝑌 , ( 𝑎 ‘ 𝑗 ) , if ( ( 𝑎 ‘ 𝑗 ) ≤ 𝐴 , ( 𝑎 ‘ 𝑗 ) , 𝐴 ) ) ) = ( 𝑗 ∈ 𝑋 ↦ if ( 𝑗 ∈ 𝑌 , ( 𝐵 ‘ 𝑗 ) , if ( ( 𝐵 ‘ 𝑗 ) ≤ 𝐴 , ( 𝐵 ‘ 𝑗 ) , 𝐴 ) ) ) )
26 25 adantl ⊢ ( ( 𝜑 ∧ 𝑎 = 𝐵 ) → ( 𝑗 ∈ 𝑋 ↦ if ( 𝑗 ∈ 𝑌 , ( 𝑎 ‘ 𝑗 ) , if ( ( 𝑎 ‘ 𝑗 ) ≤ 𝐴 , ( 𝑎 ‘ 𝑗 ) , 𝐴 ) ) ) = ( 𝑗 ∈ 𝑋 ↦ if ( 𝑗 ∈ 𝑌 , ( 𝐵 ‘ 𝑗 ) , if ( ( 𝐵 ‘ 𝑗 ) ≤ 𝐴 , ( 𝐵 ‘ 𝑗 ) , 𝐴 ) ) ) )
27 reex ⊢ ℝ ∈ V
28 27 a1i ⊢ ( 𝜑 → ℝ ∈ V )
29 28 3 jca ⊢ ( 𝜑 → ( ℝ ∈ V ∧ 𝑋 ∈ 𝑉 ) )
30 elmapg ⊢ ( ( ℝ ∈ V ∧ 𝑋 ∈ 𝑉 ) → ( 𝐵 ∈ ( ℝ ↑m 𝑋 ) ↔ 𝐵 : 𝑋 ⟶ ℝ ) )
31 29 30 syl ⊢ ( 𝜑 → ( 𝐵 ∈ ( ℝ ↑m 𝑋 ) ↔ 𝐵 : 𝑋 ⟶ ℝ ) )
32 4 31 mpbird ⊢ ( 𝜑 → 𝐵 ∈ ( ℝ ↑m 𝑋 ) )
33 mptexg ⊢ ( 𝑋 ∈ 𝑉 → ( 𝑗 ∈ 𝑋 ↦ if ( 𝑗 ∈ 𝑌 , ( 𝐵 ‘ 𝑗 ) , if ( ( 𝐵 ‘ 𝑗 ) ≤ 𝐴 , ( 𝐵 ‘ 𝑗 ) , 𝐴 ) ) ) ∈ V )
34 3 33 syl ⊢ ( 𝜑 → ( 𝑗 ∈ 𝑋 ↦ if ( 𝑗 ∈ 𝑌 , ( 𝐵 ‘ 𝑗 ) , if ( ( 𝐵 ‘ 𝑗 ) ≤ 𝐴 , ( 𝐵 ‘ 𝑗 ) , 𝐴 ) ) ) ∈ V )
35 20 26 32 34 fvmptd ⊢ ( 𝜑 → ( ( 𝐻 ‘ 𝐴 ) ‘ 𝐵 ) = ( 𝑗 ∈ 𝑋 ↦ if ( 𝑗 ∈ 𝑌 , ( 𝐵 ‘ 𝑗 ) , if ( ( 𝐵 ‘ 𝑗 ) ≤ 𝐴 , ( 𝐵 ‘ 𝑗 ) , 𝐴 ) ) ) )
36 35 feq1d ⊢ ( 𝜑 → ( ( ( 𝐻 ‘ 𝐴 ) ‘ 𝐵 ) : 𝑋 ⟶ ℝ ↔ ( 𝑗 ∈ 𝑋 ↦ if ( 𝑗 ∈ 𝑌 , ( 𝐵 ‘ 𝑗 ) , if ( ( 𝐵 ‘ 𝑗 ) ≤ 𝐴 , ( 𝐵 ‘ 𝑗 ) , 𝐴 ) ) ) : 𝑋 ⟶ ℝ ) )
37 10 36 mpbird ⊢ ( 𝜑 → ( ( 𝐻 ‘ 𝐴 ) ‘ 𝐵 ) : 𝑋 ⟶ ℝ )