Metamath Proof Explorer


Theorem hoidmvcl

Description: The dimensional volume of a multidimensional half-open interval is a nonnegative real. (Contributed by Glauco Siliprandi, 21-Nov-2020)

Ref Expression
Hypotheses hoidmvcl.l 𝐿 = ( 𝑥 ∈ Fin ↦ ( 𝑎 ∈ ( ℝ ↑m 𝑥 ) , 𝑏 ∈ ( ℝ ↑m 𝑥 ) ↦ if ( 𝑥 = ∅ , 0 , ∏ 𝑘𝑥 ( vol ‘ ( ( 𝑎𝑘 ) [,) ( 𝑏𝑘 ) ) ) ) ) )
hoidmvcl.x ( 𝜑𝑋 ∈ Fin )
hoidmvcl.a ( 𝜑𝐴 : 𝑋 ⟶ ℝ )
hoidmvcl.b ( 𝜑𝐵 : 𝑋 ⟶ ℝ )
Assertion hoidmvcl ( 𝜑 → ( 𝐴 ( 𝐿𝑋 ) 𝐵 ) ∈ ( 0 [,) +∞ ) )

Proof

Step Hyp Ref Expression
1 hoidmvcl.l 𝐿 = ( 𝑥 ∈ Fin ↦ ( 𝑎 ∈ ( ℝ ↑m 𝑥 ) , 𝑏 ∈ ( ℝ ↑m 𝑥 ) ↦ if ( 𝑥 = ∅ , 0 , ∏ 𝑘𝑥 ( vol ‘ ( ( 𝑎𝑘 ) [,) ( 𝑏𝑘 ) ) ) ) ) )
2 hoidmvcl.x ( 𝜑𝑋 ∈ Fin )
3 hoidmvcl.a ( 𝜑𝐴 : 𝑋 ⟶ ℝ )
4 hoidmvcl.b ( 𝜑𝐵 : 𝑋 ⟶ ℝ )
5 1 3 4 2 hoidmvval ( 𝜑 → ( 𝐴 ( 𝐿𝑋 ) 𝐵 ) = if ( 𝑋 = ∅ , 0 , ∏ 𝑘𝑋 ( vol ‘ ( ( 𝐴𝑘 ) [,) ( 𝐵𝑘 ) ) ) ) )
6 0e0icopnf 0 ∈ ( 0 [,) +∞ )
7 6 a1i ( 𝜑 → 0 ∈ ( 0 [,) +∞ ) )
8 0xr 0 ∈ ℝ*
9 8 a1i ( 𝜑 → 0 ∈ ℝ* )
10 pnfxr +∞ ∈ ℝ*
11 10 a1i ( 𝜑 → +∞ ∈ ℝ* )
12 3 ffvelrnda ( ( 𝜑𝑘𝑋 ) → ( 𝐴𝑘 ) ∈ ℝ )
13 4 ffvelrnda ( ( 𝜑𝑘𝑋 ) → ( 𝐵𝑘 ) ∈ ℝ )
14 volico ( ( ( 𝐴𝑘 ) ∈ ℝ ∧ ( 𝐵𝑘 ) ∈ ℝ ) → ( vol ‘ ( ( 𝐴𝑘 ) [,) ( 𝐵𝑘 ) ) ) = if ( ( 𝐴𝑘 ) < ( 𝐵𝑘 ) , ( ( 𝐵𝑘 ) − ( 𝐴𝑘 ) ) , 0 ) )
15 12 13 14 syl2anc ( ( 𝜑𝑘𝑋 ) → ( vol ‘ ( ( 𝐴𝑘 ) [,) ( 𝐵𝑘 ) ) ) = if ( ( 𝐴𝑘 ) < ( 𝐵𝑘 ) , ( ( 𝐵𝑘 ) − ( 𝐴𝑘 ) ) , 0 ) )
16 13 12 resubcld ( ( 𝜑𝑘𝑋 ) → ( ( 𝐵𝑘 ) − ( 𝐴𝑘 ) ) ∈ ℝ )
17 0red ( ( 𝜑𝑘𝑋 ) → 0 ∈ ℝ )
18 16 17 ifcld ( ( 𝜑𝑘𝑋 ) → if ( ( 𝐴𝑘 ) < ( 𝐵𝑘 ) , ( ( 𝐵𝑘 ) − ( 𝐴𝑘 ) ) , 0 ) ∈ ℝ )
19 15 18 eqeltrd ( ( 𝜑𝑘𝑋 ) → ( vol ‘ ( ( 𝐴𝑘 ) [,) ( 𝐵𝑘 ) ) ) ∈ ℝ )
20 2 19 fprodrecl ( 𝜑 → ∏ 𝑘𝑋 ( vol ‘ ( ( 𝐴𝑘 ) [,) ( 𝐵𝑘 ) ) ) ∈ ℝ )
21 20 rexrd ( 𝜑 → ∏ 𝑘𝑋 ( vol ‘ ( ( 𝐴𝑘 ) [,) ( 𝐵𝑘 ) ) ) ∈ ℝ* )
22 nfv 𝑘 𝜑
23 13 rexrd ( ( 𝜑𝑘𝑋 ) → ( 𝐵𝑘 ) ∈ ℝ* )
24 icombl ( ( ( 𝐴𝑘 ) ∈ ℝ ∧ ( 𝐵𝑘 ) ∈ ℝ* ) → ( ( 𝐴𝑘 ) [,) ( 𝐵𝑘 ) ) ∈ dom vol )
25 12 23 24 syl2anc ( ( 𝜑𝑘𝑋 ) → ( ( 𝐴𝑘 ) [,) ( 𝐵𝑘 ) ) ∈ dom vol )
26 volge0 ( ( ( 𝐴𝑘 ) [,) ( 𝐵𝑘 ) ) ∈ dom vol → 0 ≤ ( vol ‘ ( ( 𝐴𝑘 ) [,) ( 𝐵𝑘 ) ) ) )
27 25 26 syl ( ( 𝜑𝑘𝑋 ) → 0 ≤ ( vol ‘ ( ( 𝐴𝑘 ) [,) ( 𝐵𝑘 ) ) ) )
28 22 2 19 27 fprodge0 ( 𝜑 → 0 ≤ ∏ 𝑘𝑋 ( vol ‘ ( ( 𝐴𝑘 ) [,) ( 𝐵𝑘 ) ) ) )
29 20 ltpnfd ( 𝜑 → ∏ 𝑘𝑋 ( vol ‘ ( ( 𝐴𝑘 ) [,) ( 𝐵𝑘 ) ) ) < +∞ )
30 9 11 21 28 29 elicod ( 𝜑 → ∏ 𝑘𝑋 ( vol ‘ ( ( 𝐴𝑘 ) [,) ( 𝐵𝑘 ) ) ) ∈ ( 0 [,) +∞ ) )
31 7 30 ifcld ( 𝜑 → if ( 𝑋 = ∅ , 0 , ∏ 𝑘𝑋 ( vol ‘ ( ( 𝐴𝑘 ) [,) ( 𝐵𝑘 ) ) ) ) ∈ ( 0 [,) +∞ ) )
32 5 31 eqeltrd ( 𝜑 → ( 𝐴 ( 𝐿𝑋 ) 𝐵 ) ∈ ( 0 [,) +∞ ) )