Metamath Proof Explorer


Theorem hoidmvval

Description: The dimensional volume of a multidimensional half-open interval. Definition 115A (c) of Fremlin1 p. 29. (Contributed by Glauco Siliprandi, 21-Nov-2020)

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

Proof

Step Hyp Ref Expression
1 hoidmvval.l 𝐿 = ( 𝑥 ∈ Fin ↦ ( 𝑎 ∈ ( ℝ ↑m 𝑥 ) , 𝑏 ∈ ( ℝ ↑m 𝑥 ) ↦ if ( 𝑥 = ∅ , 0 , ∏ 𝑘𝑥 ( vol ‘ ( ( 𝑎𝑘 ) [,) ( 𝑏𝑘 ) ) ) ) ) )
2 hoidmvval.a ( 𝜑𝐴 : 𝑋 ⟶ ℝ )
3 hoidmvval.b ( 𝜑𝐵 : 𝑋 ⟶ ℝ )
4 hoidmvval.x ( 𝜑𝑋 ∈ Fin )
5 oveq2 ( 𝑥 = 𝑋 → ( ℝ ↑m 𝑥 ) = ( ℝ ↑m 𝑋 ) )
6 eqeq1 ( 𝑥 = 𝑋 → ( 𝑥 = ∅ ↔ 𝑋 = ∅ ) )
7 prodeq1 ( 𝑥 = 𝑋 → ∏ 𝑘𝑥 ( vol ‘ ( ( 𝑎𝑘 ) [,) ( 𝑏𝑘 ) ) ) = ∏ 𝑘𝑋 ( vol ‘ ( ( 𝑎𝑘 ) [,) ( 𝑏𝑘 ) ) ) )
8 6 7 ifbieq2d ( 𝑥 = 𝑋 → if ( 𝑥 = ∅ , 0 , ∏ 𝑘𝑥 ( vol ‘ ( ( 𝑎𝑘 ) [,) ( 𝑏𝑘 ) ) ) ) = if ( 𝑋 = ∅ , 0 , ∏ 𝑘𝑋 ( vol ‘ ( ( 𝑎𝑘 ) [,) ( 𝑏𝑘 ) ) ) ) )
9 5 5 8 mpoeq123dv ( 𝑥 = 𝑋 → ( 𝑎 ∈ ( ℝ ↑m 𝑥 ) , 𝑏 ∈ ( ℝ ↑m 𝑥 ) ↦ if ( 𝑥 = ∅ , 0 , ∏ 𝑘𝑥 ( vol ‘ ( ( 𝑎𝑘 ) [,) ( 𝑏𝑘 ) ) ) ) ) = ( 𝑎 ∈ ( ℝ ↑m 𝑋 ) , 𝑏 ∈ ( ℝ ↑m 𝑋 ) ↦ if ( 𝑋 = ∅ , 0 , ∏ 𝑘𝑋 ( vol ‘ ( ( 𝑎𝑘 ) [,) ( 𝑏𝑘 ) ) ) ) ) )
10 ovex ( ℝ ↑m 𝑋 ) ∈ V
11 10 10 mpoex ( 𝑎 ∈ ( ℝ ↑m 𝑋 ) , 𝑏 ∈ ( ℝ ↑m 𝑋 ) ↦ if ( 𝑋 = ∅ , 0 , ∏ 𝑘𝑋 ( vol ‘ ( ( 𝑎𝑘 ) [,) ( 𝑏𝑘 ) ) ) ) ) ∈ V
12 11 a1i ( 𝜑 → ( 𝑎 ∈ ( ℝ ↑m 𝑋 ) , 𝑏 ∈ ( ℝ ↑m 𝑋 ) ↦ if ( 𝑋 = ∅ , 0 , ∏ 𝑘𝑋 ( vol ‘ ( ( 𝑎𝑘 ) [,) ( 𝑏𝑘 ) ) ) ) ) ∈ V )
13 1 9 4 12 fvmptd3 ( 𝜑 → ( 𝐿𝑋 ) = ( 𝑎 ∈ ( ℝ ↑m 𝑋 ) , 𝑏 ∈ ( ℝ ↑m 𝑋 ) ↦ if ( 𝑋 = ∅ , 0 , ∏ 𝑘𝑋 ( vol ‘ ( ( 𝑎𝑘 ) [,) ( 𝑏𝑘 ) ) ) ) ) )
14 fveq1 ( 𝑎 = 𝐴 → ( 𝑎𝑘 ) = ( 𝐴𝑘 ) )
15 14 adantr ( ( 𝑎 = 𝐴𝑏 = 𝐵 ) → ( 𝑎𝑘 ) = ( 𝐴𝑘 ) )
16 fveq1 ( 𝑏 = 𝐵 → ( 𝑏𝑘 ) = ( 𝐵𝑘 ) )
17 16 adantl ( ( 𝑎 = 𝐴𝑏 = 𝐵 ) → ( 𝑏𝑘 ) = ( 𝐵𝑘 ) )
18 15 17 oveq12d ( ( 𝑎 = 𝐴𝑏 = 𝐵 ) → ( ( 𝑎𝑘 ) [,) ( 𝑏𝑘 ) ) = ( ( 𝐴𝑘 ) [,) ( 𝐵𝑘 ) ) )
19 18 fveq2d ( ( 𝑎 = 𝐴𝑏 = 𝐵 ) → ( vol ‘ ( ( 𝑎𝑘 ) [,) ( 𝑏𝑘 ) ) ) = ( vol ‘ ( ( 𝐴𝑘 ) [,) ( 𝐵𝑘 ) ) ) )
20 19 prodeq2ad ( ( 𝑎 = 𝐴𝑏 = 𝐵 ) → ∏ 𝑘𝑋 ( vol ‘ ( ( 𝑎𝑘 ) [,) ( 𝑏𝑘 ) ) ) = ∏ 𝑘𝑋 ( vol ‘ ( ( 𝐴𝑘 ) [,) ( 𝐵𝑘 ) ) ) )
21 20 ifeq2d ( ( 𝑎 = 𝐴𝑏 = 𝐵 ) → if ( 𝑋 = ∅ , 0 , ∏ 𝑘𝑋 ( vol ‘ ( ( 𝑎𝑘 ) [,) ( 𝑏𝑘 ) ) ) ) = if ( 𝑋 = ∅ , 0 , ∏ 𝑘𝑋 ( vol ‘ ( ( 𝐴𝑘 ) [,) ( 𝐵𝑘 ) ) ) ) )
22 21 adantl ( ( 𝜑 ∧ ( 𝑎 = 𝐴𝑏 = 𝐵 ) ) → if ( 𝑋 = ∅ , 0 , ∏ 𝑘𝑋 ( vol ‘ ( ( 𝑎𝑘 ) [,) ( 𝑏𝑘 ) ) ) ) = if ( 𝑋 = ∅ , 0 , ∏ 𝑘𝑋 ( vol ‘ ( ( 𝐴𝑘 ) [,) ( 𝐵𝑘 ) ) ) ) )
23 reex ℝ ∈ V
24 23 a1i ( 𝜑 → ℝ ∈ V )
25 elmapg ( ( ℝ ∈ V ∧ 𝑋 ∈ Fin ) → ( 𝐴 ∈ ( ℝ ↑m 𝑋 ) ↔ 𝐴 : 𝑋 ⟶ ℝ ) )
26 24 4 25 syl2anc ( 𝜑 → ( 𝐴 ∈ ( ℝ ↑m 𝑋 ) ↔ 𝐴 : 𝑋 ⟶ ℝ ) )
27 2 26 mpbird ( 𝜑𝐴 ∈ ( ℝ ↑m 𝑋 ) )
28 elmapg ( ( ℝ ∈ V ∧ 𝑋 ∈ Fin ) → ( 𝐵 ∈ ( ℝ ↑m 𝑋 ) ↔ 𝐵 : 𝑋 ⟶ ℝ ) )
29 24 4 28 syl2anc ( 𝜑 → ( 𝐵 ∈ ( ℝ ↑m 𝑋 ) ↔ 𝐵 : 𝑋 ⟶ ℝ ) )
30 3 29 mpbird ( 𝜑𝐵 ∈ ( ℝ ↑m 𝑋 ) )
31 c0ex 0 ∈ V
32 prodex 𝑘𝑋 ( vol ‘ ( ( 𝐴𝑘 ) [,) ( 𝐵𝑘 ) ) ) ∈ V
33 31 32 ifex if ( 𝑋 = ∅ , 0 , ∏ 𝑘𝑋 ( vol ‘ ( ( 𝐴𝑘 ) [,) ( 𝐵𝑘 ) ) ) ) ∈ V
34 33 a1i ( 𝜑 → if ( 𝑋 = ∅ , 0 , ∏ 𝑘𝑋 ( vol ‘ ( ( 𝐴𝑘 ) [,) ( 𝐵𝑘 ) ) ) ) ∈ V )
35 13 22 27 30 34 ovmpod ( 𝜑 → ( 𝐴 ( 𝐿𝑋 ) 𝐵 ) = if ( 𝑋 = ∅ , 0 , ∏ 𝑘𝑋 ( vol ‘ ( ( 𝐴𝑘 ) [,) ( 𝐵𝑘 ) ) ) ) )