Metamath Proof Explorer


Theorem dyadovol

Description: Volume of a dyadic rational interval. (Contributed by Mario Carneiro, 26-Mar-2015)

Ref Expression
Hypothesis dyadmbl.1 ⊢ 𝐹 = ( 𝑥 ∈ ℤ , 𝑦 ∈ ℕ0 ↦ ⟨ ( 𝑥 / ( 2 ↑ 𝑦 ) ) , ( ( 𝑥 + 1 ) / ( 2 ↑ 𝑦 ) ) ⟩ )
Assertion dyadovol ( ( 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℕ0 ) → ( vol* ‘ ( [,] ‘ ( 𝐴 𝐹 𝐵 ) ) ) = ( 1 / ( 2 ↑ 𝐵 ) ) )

Proof

Step Hyp Ref Expression
1 dyadmbl.1 ⊢ 𝐹 = ( 𝑥 ∈ ℤ , 𝑦 ∈ ℕ0 ↦ ⟨ ( 𝑥 / ( 2 ↑ 𝑦 ) ) , ( ( 𝑥 + 1 ) / ( 2 ↑ 𝑦 ) ) ⟩ )
2 1 dyadval ⊢ ( ( 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℕ0 ) → ( 𝐴 𝐹 𝐵 ) = ⟨ ( 𝐴 / ( 2 ↑ 𝐵 ) ) , ( ( 𝐴 + 1 ) / ( 2 ↑ 𝐵 ) ) ⟩ )
3 2 fveq2d ⊢ ( ( 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℕ0 ) → ( [,] ‘ ( 𝐴 𝐹 𝐵 ) ) = ( [,] ‘ ⟨ ( 𝐴 / ( 2 ↑ 𝐵 ) ) , ( ( 𝐴 + 1 ) / ( 2 ↑ 𝐵 ) ) ⟩ ) )
4 df-ov ⊢ ( ( 𝐴 / ( 2 ↑ 𝐵 ) ) [,] ( ( 𝐴 + 1 ) / ( 2 ↑ 𝐵 ) ) ) = ( [,] ‘ ⟨ ( 𝐴 / ( 2 ↑ 𝐵 ) ) , ( ( 𝐴 + 1 ) / ( 2 ↑ 𝐵 ) ) ⟩ )
5 3 4 eqtr4di ⊢ ( ( 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℕ0 ) → ( [,] ‘ ( 𝐴 𝐹 𝐵 ) ) = ( ( 𝐴 / ( 2 ↑ 𝐵 ) ) [,] ( ( 𝐴 + 1 ) / ( 2 ↑ 𝐵 ) ) ) )
6 5 fveq2d ⊢ ( ( 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℕ0 ) → ( vol* ‘ ( [,] ‘ ( 𝐴 𝐹 𝐵 ) ) ) = ( vol* ‘ ( ( 𝐴 / ( 2 ↑ 𝐵 ) ) [,] ( ( 𝐴 + 1 ) / ( 2 ↑ 𝐵 ) ) ) ) )
7 zre ⊢ ( 𝐴 ∈ ℤ → 𝐴 ∈ ℝ )
8 2nn ⊢ 2 ∈ ℕ
9 nnexpcl ⊢ ( ( 2 ∈ ℕ ∧ 𝐵 ∈ ℕ0 ) → ( 2 ↑ 𝐵 ) ∈ ℕ )
10 8 9 mpan ⊢ ( 𝐵 ∈ ℕ0 → ( 2 ↑ 𝐵 ) ∈ ℕ )
11 nndivre ⊢ ( ( 𝐴 ∈ ℝ ∧ ( 2 ↑ 𝐵 ) ∈ ℕ ) → ( 𝐴 / ( 2 ↑ 𝐵 ) ) ∈ ℝ )
12 7 10 11 syl2an ⊢ ( ( 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℕ0 ) → ( 𝐴 / ( 2 ↑ 𝐵 ) ) ∈ ℝ )
13 peano2re ⊢ ( 𝐴 ∈ ℝ → ( 𝐴 + 1 ) ∈ ℝ )
14 7 13 syl ⊢ ( 𝐴 ∈ ℤ → ( 𝐴 + 1 ) ∈ ℝ )
15 nndivre ⊢ ( ( ( 𝐴 + 1 ) ∈ ℝ ∧ ( 2 ↑ 𝐵 ) ∈ ℕ ) → ( ( 𝐴 + 1 ) / ( 2 ↑ 𝐵 ) ) ∈ ℝ )
16 14 10 15 syl2an ⊢ ( ( 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℕ0 ) → ( ( 𝐴 + 1 ) / ( 2 ↑ 𝐵 ) ) ∈ ℝ )
17 7 adantr ⊢ ( ( 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℕ0 ) → 𝐴 ∈ ℝ )
18 17 lep1d ⊢ ( ( 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℕ0 ) → 𝐴 ≤ ( 𝐴 + 1 ) )
19 17 13 syl ⊢ ( ( 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℕ0 ) → ( 𝐴 + 1 ) ∈ ℝ )
20 10 adantl ⊢ ( ( 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℕ0 ) → ( 2 ↑ 𝐵 ) ∈ ℕ )
21 20 nnred ⊢ ( ( 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℕ0 ) → ( 2 ↑ 𝐵 ) ∈ ℝ )
22 20 nngt0d ⊢ ( ( 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℕ0 ) → 0 < ( 2 ↑ 𝐵 ) )
23 lediv1 ⊢ ( ( 𝐴 ∈ ℝ ∧ ( 𝐴 + 1 ) ∈ ℝ ∧ ( ( 2 ↑ 𝐵 ) ∈ ℝ ∧ 0 < ( 2 ↑ 𝐵 ) ) ) → ( 𝐴 ≤ ( 𝐴 + 1 ) ↔ ( 𝐴 / ( 2 ↑ 𝐵 ) ) ≤ ( ( 𝐴 + 1 ) / ( 2 ↑ 𝐵 ) ) ) )
24 17 19 21 22 23 syl112anc ⊢ ( ( 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℕ0 ) → ( 𝐴 ≤ ( 𝐴 + 1 ) ↔ ( 𝐴 / ( 2 ↑ 𝐵 ) ) ≤ ( ( 𝐴 + 1 ) / ( 2 ↑ 𝐵 ) ) ) )
25 18 24 mpbid ⊢ ( ( 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℕ0 ) → ( 𝐴 / ( 2 ↑ 𝐵 ) ) ≤ ( ( 𝐴 + 1 ) / ( 2 ↑ 𝐵 ) ) )
26 ovolicc ⊢ ( ( ( 𝐴 / ( 2 ↑ 𝐵 ) ) ∈ ℝ ∧ ( ( 𝐴 + 1 ) / ( 2 ↑ 𝐵 ) ) ∈ ℝ ∧ ( 𝐴 / ( 2 ↑ 𝐵 ) ) ≤ ( ( 𝐴 + 1 ) / ( 2 ↑ 𝐵 ) ) ) → ( vol* ‘ ( ( 𝐴 / ( 2 ↑ 𝐵 ) ) [,] ( ( 𝐴 + 1 ) / ( 2 ↑ 𝐵 ) ) ) ) = ( ( ( 𝐴 + 1 ) / ( 2 ↑ 𝐵 ) ) − ( 𝐴 / ( 2 ↑ 𝐵 ) ) ) )
27 12 16 25 26 syl3anc ⊢ ( ( 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℕ0 ) → ( vol* ‘ ( ( 𝐴 / ( 2 ↑ 𝐵 ) ) [,] ( ( 𝐴 + 1 ) / ( 2 ↑ 𝐵 ) ) ) ) = ( ( ( 𝐴 + 1 ) / ( 2 ↑ 𝐵 ) ) − ( 𝐴 / ( 2 ↑ 𝐵 ) ) ) )
28 19 recnd ⊢ ( ( 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℕ0 ) → ( 𝐴 + 1 ) ∈ ℂ )
29 17 recnd ⊢ ( ( 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℕ0 ) → 𝐴 ∈ ℂ )
30 21 recnd ⊢ ( ( 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℕ0 ) → ( 2 ↑ 𝐵 ) ∈ ℂ )
31 20 nnne0d ⊢ ( ( 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℕ0 ) → ( 2 ↑ 𝐵 ) ≠ 0 )
32 28 29 30 31 divsubdird ⊢ ( ( 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℕ0 ) → ( ( ( 𝐴 + 1 ) − 𝐴 ) / ( 2 ↑ 𝐵 ) ) = ( ( ( 𝐴 + 1 ) / ( 2 ↑ 𝐵 ) ) − ( 𝐴 / ( 2 ↑ 𝐵 ) ) ) )
33 ax-1cn ⊢ 1 ∈ ℂ
34 pncan2 ⊢ ( ( 𝐴 ∈ ℂ ∧ 1 ∈ ℂ ) → ( ( 𝐴 + 1 ) − 𝐴 ) = 1 )
35 29 33 34 sylancl ⊢ ( ( 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℕ0 ) → ( ( 𝐴 + 1 ) − 𝐴 ) = 1 )
36 35 oveq1d ⊢ ( ( 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℕ0 ) → ( ( ( 𝐴 + 1 ) − 𝐴 ) / ( 2 ↑ 𝐵 ) ) = ( 1 / ( 2 ↑ 𝐵 ) ) )
37 32 36 eqtr3d ⊢ ( ( 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℕ0 ) → ( ( ( 𝐴 + 1 ) / ( 2 ↑ 𝐵 ) ) − ( 𝐴 / ( 2 ↑ 𝐵 ) ) ) = ( 1 / ( 2 ↑ 𝐵 ) ) )
38 6 27 37 3eqtrd ⊢ ( ( 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℕ0 ) → ( vol* ‘ ( [,] ‘ ( 𝐴 𝐹 𝐵 ) ) ) = ( 1 / ( 2 ↑ 𝐵 ) ) )