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
|- L = ( x e. Fin |-> ( a e. ( RR ^m x ) , b e. ( RR ^m x ) |-> if ( x = (/) , 0 , prod_ k e. x ( vol ` ( ( a ` k ) [,) ( b ` k ) ) ) ) ) )
hoidmvcl.x
|- ( ph -> X e. Fin )
hoidmvcl.a
|- ( ph -> A : X --> RR )
hoidmvcl.b
|- ( ph -> B : X --> RR )
Assertion hoidmvcl
|- ( ph -> ( A ( L ` X ) B ) e. ( 0 [,) +oo ) )

Proof

Step Hyp Ref Expression
1 hoidmvcl.l
 |-  L = ( x e. Fin |-> ( a e. ( RR ^m x ) , b e. ( RR ^m x ) |-> if ( x = (/) , 0 , prod_ k e. x ( vol ` ( ( a ` k ) [,) ( b ` k ) ) ) ) ) )
2 hoidmvcl.x
 |-  ( ph -> X e. Fin )
3 hoidmvcl.a
 |-  ( ph -> A : X --> RR )
4 hoidmvcl.b
 |-  ( ph -> B : X --> RR )
5 1 3 4 2 hoidmvval
 |-  ( ph -> ( A ( L ` X ) B ) = if ( X = (/) , 0 , prod_ k e. X ( vol ` ( ( A ` k ) [,) ( B ` k ) ) ) ) )
6 0e0icopnf
 |-  0 e. ( 0 [,) +oo )
7 6 a1i
 |-  ( ph -> 0 e. ( 0 [,) +oo ) )
8 0xr
 |-  0 e. RR*
9 8 a1i
 |-  ( ph -> 0 e. RR* )
10 pnfxr
 |-  +oo e. RR*
11 10 a1i
 |-  ( ph -> +oo e. RR* )
12 3 ffvelrnda
 |-  ( ( ph /\ k e. X ) -> ( A ` k ) e. RR )
13 4 ffvelrnda
 |-  ( ( ph /\ k e. X ) -> ( B ` k ) e. RR )
14 volico
 |-  ( ( ( A ` k ) e. RR /\ ( B ` k ) e. RR ) -> ( vol ` ( ( A ` k ) [,) ( B ` k ) ) ) = if ( ( A ` k ) < ( B ` k ) , ( ( B ` k ) - ( A ` k ) ) , 0 ) )
15 12 13 14 syl2anc
 |-  ( ( ph /\ k e. X ) -> ( vol ` ( ( A ` k ) [,) ( B ` k ) ) ) = if ( ( A ` k ) < ( B ` k ) , ( ( B ` k ) - ( A ` k ) ) , 0 ) )
16 13 12 resubcld
 |-  ( ( ph /\ k e. X ) -> ( ( B ` k ) - ( A ` k ) ) e. RR )
17 0red
 |-  ( ( ph /\ k e. X ) -> 0 e. RR )
18 16 17 ifcld
 |-  ( ( ph /\ k e. X ) -> if ( ( A ` k ) < ( B ` k ) , ( ( B ` k ) - ( A ` k ) ) , 0 ) e. RR )
19 15 18 eqeltrd
 |-  ( ( ph /\ k e. X ) -> ( vol ` ( ( A ` k ) [,) ( B ` k ) ) ) e. RR )
20 2 19 fprodrecl
 |-  ( ph -> prod_ k e. X ( vol ` ( ( A ` k ) [,) ( B ` k ) ) ) e. RR )
21 20 rexrd
 |-  ( ph -> prod_ k e. X ( vol ` ( ( A ` k ) [,) ( B ` k ) ) ) e. RR* )
22 nfv
 |-  F/ k ph
23 13 rexrd
 |-  ( ( ph /\ k e. X ) -> ( B ` k ) e. RR* )
24 icombl
 |-  ( ( ( A ` k ) e. RR /\ ( B ` k ) e. RR* ) -> ( ( A ` k ) [,) ( B ` k ) ) e. dom vol )
25 12 23 24 syl2anc
 |-  ( ( ph /\ k e. X ) -> ( ( A ` k ) [,) ( B ` k ) ) e. dom vol )
26 volge0
 |-  ( ( ( A ` k ) [,) ( B ` k ) ) e. dom vol -> 0 <_ ( vol ` ( ( A ` k ) [,) ( B ` k ) ) ) )
27 25 26 syl
 |-  ( ( ph /\ k e. X ) -> 0 <_ ( vol ` ( ( A ` k ) [,) ( B ` k ) ) ) )
28 22 2 19 27 fprodge0
 |-  ( ph -> 0 <_ prod_ k e. X ( vol ` ( ( A ` k ) [,) ( B ` k ) ) ) )
29 20 ltpnfd
 |-  ( ph -> prod_ k e. X ( vol ` ( ( A ` k ) [,) ( B ` k ) ) ) < +oo )
30 9 11 21 28 29 elicod
 |-  ( ph -> prod_ k e. X ( vol ` ( ( A ` k ) [,) ( B ` k ) ) ) e. ( 0 [,) +oo ) )
31 7 30 ifcld
 |-  ( ph -> if ( X = (/) , 0 , prod_ k e. X ( vol ` ( ( A ` k ) [,) ( B ` k ) ) ) ) e. ( 0 [,) +oo ) )
32 5 31 eqeltrd
 |-  ( ph -> ( A ( L ` X ) B ) e. ( 0 [,) +oo ) )