@@ -50,8 +50,7 @@ non-Riemann filter (e.g., Henstock-Kurzweil and McShane).
50
50
integral
51
51
-/
52
52
53
-
54
- open scoped Classical Topology NNReal Filter Uniformity BoxIntegral
53
+ open scoped Topology NNReal Filter Uniformity BoxIntegral
55
54
56
55
open Set Finset Function Filter Metric BoxIntegral.IntegrationParams
57
56
@@ -101,6 +100,7 @@ theorem integralSum_inf_partition (f : ℝⁿ → E) (vol : ι →ᵇᵃ E →L[
101
100
integralSum f vol (π.infPrepartition π') = integralSum f vol π :=
102
101
integralSum_biUnion_partition f vol π _ fun _J hJ => h.restrict (Prepartition.le_of_mem _ hJ)
103
102
103
+ open Classical in
104
104
theorem integralSum_fiberwise {α} (g : Box ι → α) (f : ℝⁿ → E) (vol : ι →ᵇᵃ E →L[ℝ] F)
105
105
(π : TaggedPrepartition I) :
106
106
(∑ y ∈ π.boxes.image g, integralSum f vol (π.filter (g · = y))) = integralSum f vol π :=
@@ -159,6 +159,7 @@ predicate. -/
159
159
def Integrable (I : Box ι) (l : IntegrationParams) (f : ℝⁿ → E) (vol : ι →ᵇᵃ E →L[ℝ] F) :=
160
160
∃ y, HasIntegral I l f vol y
161
161
162
+ open Classical in
162
163
/-- The integral of a function `f` over a box `I` along a filter `l` w.r.t. a volume `vol`.
163
164
Returns zero on non-integrable functions. -/
164
165
def integral (I : Box ι) (l : IntegrationParams) (f : ℝⁿ → E) (vol : ι →ᵇᵃ E →L[ℝ] F) :=
@@ -260,8 +261,9 @@ theorem integrable_neg : Integrable I l (-f) vol ↔ Integrable I l f vol :=
260
261
⟨fun h => h.of_neg, fun h => h.neg⟩
261
262
262
263
@[simp]
263
- theorem integral_neg : integral I l (-f) vol = -integral I l f vol :=
264
- if h : Integrable I l f vol then h.hasIntegral.neg.integral_eq
264
+ theorem integral_neg : integral I l (-f) vol = -integral I l f vol := by
265
+ classical
266
+ exact if h : Integrable I l f vol then h.hasIntegral.neg.integral_eq
265
267
else by rw [integral, integral, dif_neg h, dif_neg (mt Integrable.of_neg h), neg_zero]
266
268
267
269
theorem HasIntegral.sub (h : HasIntegral I l f vol y) (h' : HasIntegral I l g vol y') :
@@ -298,6 +300,7 @@ theorem integral_zero : integral I l (fun _ => (0 : E)) vol = 0 :=
298
300
theorem HasIntegral.sum {α : Type *} {s : Finset α} {f : α → ℝⁿ → E} {g : α → F}
299
301
(h : ∀ i ∈ s, HasIntegral I l (f i) vol (g i)) :
300
302
HasIntegral I l (fun x => ∑ i ∈ s, f i x) vol (∑ i ∈ s, g i) := by
303
+ classical
301
304
induction' s using Finset.induction_on with a s ha ihs; · simp [hasIntegral_zero]
302
305
simp only [Finset.sum_insert ha]; rw [Finset.forall_mem_insert] at h
303
306
exact h.1 .add (ihs h.2 )
@@ -661,6 +664,7 @@ theorem integrable_of_bounded_and_ae_continuousWithinAt [CompleteSpace E] {I : B
661
664
let t₁ (J : Box ι) : ℝⁿ := (π₁.infPrepartition π₂.toPrepartition).tag J
662
665
let t₂ (J : Box ι) : ℝⁿ := (π₂.infPrepartition π₁.toPrepartition).tag J
663
666
let B := (π₁.toPrepartition ⊓ π₂.toPrepartition).boxes
667
+ classical
664
668
let B' := B.filter (fun J ↦ J.toSet ⊆ U)
665
669
have hB' : B' ⊆ B := B.filter_subset (fun J ↦ J.toSet ⊆ U)
666
670
have μJ_ne_top : ∀ J ∈ B, μ J ≠ ⊤ :=
@@ -777,6 +781,7 @@ theorem HasIntegral.of_bRiemann_eq_false_of_forall_isLittleO (hl : l.bRiemann =
777
781
rcases hs.exists_pos_forall_sum_le (div_pos ε0 ' H0) with ⟨εs, hεs0, hεs⟩
778
782
simp only [le_div_iff' H0, mul_sum] at hεs
779
783
rcases exists_pos_mul_lt ε0 ' (B I) with ⟨ε', ε'0 , hεI⟩
784
+ classical
780
785
set δ : ℝ≥0 → ℝⁿ → Ioi (0 : ℝ) := fun c x => if x ∈ s then δ₁ c x (εs x) else (δ₂ c) x ε'
781
786
refine ⟨δ, fun c => l.rCond_of_bRiemann_eq_false hl, ?_⟩
782
787
simp only [Set.mem_iUnion, mem_inter_iff, mem_setOf_eq]
0 commit comments