diff --git a/Analysis/MeasureTheory/Section_1_2_1.lean b/Analysis/MeasureTheory/Section_1_2_1.lean index 2ed00d71..3c9e524f 100644 --- a/Analysis/MeasureTheory/Section_1_2_1.lean +++ b/Analysis/MeasureTheory/Section_1_2_1.lean @@ -4340,7 +4340,8 @@ theorem Box.sum_volume_eq {d:ℕ} (B B': ℕ → Box d) (hdisj: Pairwise (Functi /-- Exercise 1.2.5: For any set that equals a countable union of almost disjoint boxes, the Lebesgue outer measure equals the Jordan inner measure. -/ theorem Lebesgue_outer_measure.eq_Jordan_inner_of_boxes {d:ℕ} (E: Set (EuclideanSpace' d)) (B: ℕ → Box d) - (hE: E = ⋃ n, (B n).toSet) (hdisj: Pairwise (Function.onFun AlmostDisjoint B)) : + (hE: E = ⋃ n, (B n).toSet) (hdisj: Pairwise (Function.onFun AlmostDisjoint B)) + (hbound : Bornology.IsBounded E) : Lebesgue_outer_measure E = Jordan_inner_measure E := by sorry @@ -5121,7 +5122,8 @@ theorem IsOpen.eq_union_boxes {d:ℕ} (hd : 0 < d) (E: Set (EuclideanSpace' d)) have h_scale_lt : (↑(B_idx j).1 : ℤ) < ↑(B_idx i).1 := by exact_mod_cast hij_gt exact dyadicCubeLargerNotInSmaller hd h_scale_lt h_ji -theorem Lebesgue_outer_measure.of_open {d:ℕ} (E: Set (EuclideanSpace' d)) (hE: IsOpen E) : Lebesgue_outer_measure E = Jordan_inner_measure E := by +theorem Lebesgue_outer_measure.of_open {d:ℕ} (E: Set (EuclideanSpace' d)) (hE: IsOpen E) + (hbound : Bornology.IsBounded E) : Lebesgue_outer_measure E = Jordan_inner_measure E := by by_cases hd : d = 0 · -- Dimension 0: In dim 0, open sets are either ∅ or Set.univ subst hd @@ -5255,7 +5257,7 @@ theorem Lebesgue_outer_measure.of_open {d:ℕ} (E: Set (EuclideanSpace' d)) (hE: -- Decompose E into almost-disjoint dyadic boxes obtain ⟨B, hE_eq, hB_dyadic, hB_disj⟩ := IsOpen.eq_union_boxes hd' E hE hE_nonempty -- Apply lemma eq_Jordan_inner_of_boxes (Exercise 1.2.5) - exact Lebesgue_outer_measure.eq_Jordan_inner_of_boxes E B hE_eq hB_disj + exact Lebesgue_outer_measure.eq_Jordan_inner_of_boxes E B hE_eq hB_disj hbound /-- Lemma 1.2.12 (Outer regularity). m\*(E) = inf\{m\*(U) : E ⊆ U, U open\}. -/ theorem Lebesgue_outer_measure.eq {d:ℕ} (E: Set (EuclideanSpace' d)) : Lebesgue_outer_measure E = sInf { M | ∃ U, E ⊆ U ∧ IsOpen U ∧ M = Lebesgue_outer_measure U} := by diff --git a/Analysis/Section_8_5.lean b/Analysis/Section_8_5.lean index 4a3b64cb..34895e21 100644 --- a/Analysis/Section_8_5.lean +++ b/Analysis/Section_8_5.lean @@ -353,7 +353,14 @@ example : ¬ ∃ x : {x:ℝ| x > 0}, IsMin x := by sorry example {X Y:Type} [PartialOrder Y] (f:X → Y) : ∃ h₀: PartialOrder X, h₀.le = (fun x y ↦ f x < f y ∨ x = y) := by sorry def Ex_8_5_5_b : Decidable (∀ (X Y:Type) (h: LinearOrder Y) (f:X → Y), ∃ h₀: LinearOrder X, h₀.le = (fun x y ↦ f x < f y ∨ x = y)) := by - sorry + apply isFalse + intro H + let f : Bool → ℝ := fun _ ↦ 0 + obtain ⟨inst, heq⟩ := H Bool ℝ inferInstance f + have htot := inst.le_total false true + -- With a constant map, the proposed `le` collapses to equality, which is not total on Bool. + rw [heq] at htot + simp [f] at htot -- Final part of Exercise 8.5.5; if the answer to the previous part is "no", modify the hypotheses to make it true.