Skip to content

Commit

Permalink
chore: add space after exacts (#4945)
Browse files Browse the repository at this point in the history
Too often tempted to change these during other PRs, so doing a mass edit here.



Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au>
  • Loading branch information
semorrison and Scott Morrison committed Jun 10, 2023
1 parent 90dafad commit bf799bb
Show file tree
Hide file tree
Showing 137 changed files with 212 additions and 214 deletions.
12 changes: 6 additions & 6 deletions Mathlib/Algebra/BigOperators/Finprod.lean
Expand Up @@ -277,7 +277,7 @@ theorem finprod_induction {f : α → M} (p : M → Prop) (hp₀ : p 1)
(hp₁ : ∀ x y, p x → p y → p (x * y)) (hp₂ : ∀ i, p (f i)) : p (∏ᶠ i, f i) := by
rw [finprod]
split_ifs
exacts[Finset.prod_induction _ _ hp₁ hp₀ fun i _ => hp₂ _, hp₀]
exacts [Finset.prod_induction _ _ hp₁ hp₀ fun i _ => hp₂ _, hp₀]
#align finprod_induction finprod_induction
#align finsum_induction finsum_induction

Expand Down Expand Up @@ -315,7 +315,7 @@ theorem MonoidHom.map_finprod_of_preimage_one (f : M →* N) (hf : ∀ x, f x =
f (∏ᶠ i, g i) = ∏ᶠ i, f (g i) := by
by_cases hg : (mulSupport <| g ∘ PLift.down).Finite; · exact f.map_finprod_pLift g hg
rw [finprod, dif_neg, f.map_one, finprod, dif_neg]
exacts[Infinite.mono (fun x hx => mt (hf (g x.down)) hx) hg, hg]
exacts [Infinite.mono (fun x hx => mt (hf (g x.down)) hx) hg, hg]
#align monoid_hom.map_finprod_of_preimage_one MonoidHom.map_finprod_of_preimage_one
#align add_monoid_hom.map_finsum_of_preimage_zero AddMonoidHom.map_finsum_of_preimage_zero

Expand Down Expand Up @@ -875,7 +875,7 @@ theorem finprod_mem_insert_of_eq_one_if_not_mem (h : a ∉ s → f a = 1) :
(∏ᶠ i ∈ insert a s, f i) = ∏ᶠ i ∈ s, f i := by
refine' finprod_mem_inter_mulSupport_eq' _ _ _ fun x hx => ⟨_, Or.inr⟩
rintro (rfl | hxs)
exacts[not_imp_comm.1 h hx, hxs]
exacts [not_imp_comm.1 h hx, hxs]
#align finprod_mem_insert_of_eq_one_if_not_mem finprod_mem_insert_of_eq_one_if_not_mem
#align finsum_mem_insert_of_eq_zero_if_not_mem finsum_mem_insert_of_eq_zero_if_not_mem

Expand Down Expand Up @@ -903,7 +903,7 @@ theorem finprod_mem_dvd {f : α → N} (a : α) (hf : (mulSupport f).Finite) : f
@[to_additive "The sum of `f i` over `i ∈ {a, b}`, `a ≠ b`, is equal to `f a + f b`."]
theorem finprod_mem_pair (h : a ≠ b) : (∏ᶠ i ∈ ({a, b} : Set α), f i) = f a * f b := by
rw [finprod_mem_insert, finprod_mem_singleton]
exacts[h, finite_singleton b]
exacts [h, finite_singleton b]
#align finprod_mem_pair finprod_mem_pair
#align finsum_mem_pair finsum_mem_pair

Expand Down Expand Up @@ -1013,7 +1013,7 @@ theorem finprod_mem_inter_mul_diff' (t : Set α) (h : (s ∩ mulSupport f).Finit
((∏ᶠ i ∈ s ∩ t, f i) * ∏ᶠ i ∈ s \ t, f i) = ∏ᶠ i ∈ s, f i := by
rw [← finprod_mem_union', inter_union_diff]
rw [disjoint_iff_inf_le]
exacts[fun x hx => hx.2.2 hx.1.2, h.subset fun x hx => ⟨hx.1.1, hx.2⟩,
exacts [fun x hx => hx.2.2 hx.1.2, h.subset fun x hx => ⟨hx.1.1, hx.2⟩,
h.subset fun x hx => ⟨hx.1.1, hx.2⟩]
#align finprod_mem_inter_mul_diff' finprod_mem_inter_mul_diff'
#align finsum_mem_inter_add_diff' finsum_mem_inter_add_diff'
Expand Down Expand Up @@ -1079,7 +1079,7 @@ theorem finprod_mem_biUnion {I : Set ι} {t : ι → Set α} (h : I.PairwiseDisj
(ht : ∀ i ∈ I, (t i).Finite) : (∏ᶠ a ∈ ⋃ x ∈ I, t x, f a) = ∏ᶠ i ∈ I, ∏ᶠ j ∈ t i, f j := by
haveI := hI.fintype
rw [biUnion_eq_iUnion, finprod_mem_iUnion, ← finprod_set_coe_eq_finprod_mem]
exacts[fun x y hxy => h x.2 y.2 (Subtype.coe_injective.ne hxy), fun b => ht b b.2]
exacts [fun x y hxy => h x.2 y.2 (Subtype.coe_injective.ne hxy), fun b => ht b b.2]
#align finprod_mem_bUnion finprod_mem_biUnion
#align finsum_mem_bUnion finsum_mem_biUnion

Expand Down
6 changes: 3 additions & 3 deletions Mathlib/Algebra/DirectLimit.lean
Expand Up @@ -537,7 +537,7 @@ theorem of.zero_exact_aux [Nonempty ι] [IsDirected ι (· ≤ ·)] {x : FreeCom
dsimp only at this
rw [this]
exact sub_self _
exacts[Or.inr rfl, Or.inl rfl]
exacts [Or.inr rfl, Or.inl rfl]
· refine' ⟨i, {⟨i, 1⟩}, _, isSupported_sub (isSupported_of.2 rfl) isSupported_one, _⟩
· rintro k (rfl | h)
rfl
Expand Down Expand Up @@ -574,7 +574,7 @@ theorem of.zero_exact_aux [Nonempty ι] [IsDirected ι (· ≤ ·)] {x : FreeCom
exact sub_self _
all_goals tauto
-- porting note: was
--exacts[sub_self _, Or.inl rfl, Or.inr (Or.inr rfl), Or.inr (Or.inl rfl)]
--exacts [sub_self _, Or.inl rfl, Or.inr (Or.inr rfl), Or.inr (Or.inl rfl)]
· refine' Nonempty.elim (by infer_instance) fun ind : ι => _
refine' ⟨ind, ∅, fun _ => False.elim, isSupported_zero, _⟩
-- porting note: `RingHom.map_zero` was `(restriction _).map_zero`
Expand All @@ -601,7 +601,7 @@ theorem of.zero_exact_aux [Nonempty ι] [IsDirected ι (· ≤ ·)] {x : FreeCom
obtain ⟨k, hik, hjk⟩ := exists_ge_ge i j
have : ∀ z : Σi, G i, z ∈ ↑s ∪ t → z.1 ≤ k := by
rintro z (hz | hz)
exacts[(hi z.1 <| Finset.mem_image.2 ⟨z, hz, rfl⟩).trans hik, (hj z hz).trans hjk]
exacts [(hi z.1 <| Finset.mem_image.2 ⟨z, hz, rfl⟩).trans hik, (hj z hz).trans hjk]
refine'
⟨k, ↑s ∪ t, this,
isSupported_mul (isSupported_upwards hxs <| Set.subset_union_left (↑s) t)
Expand Down
2 changes: 1 addition & 1 deletion Mathlib/Algebra/GroupPower/Order.lean
Expand Up @@ -788,7 +788,7 @@ theorem pow_lt_pow_succ (ha : 1 < a) : a ^ n < a ^ n.succ := by

theorem pow_lt_pow₀ (ha : 1 < a) (hmn : m < n) : a ^ m < a ^ n := by
induction' hmn with n _ ih
exacts[pow_lt_pow_succ ha, lt_trans ih (pow_lt_pow_succ ha)]
exacts [pow_lt_pow_succ ha, lt_trans ih (pow_lt_pow_succ ha)]
#align pow_lt_pow₀ pow_lt_pow₀

end LinearOrderedCommGroupWithZero
Expand Down
2 changes: 1 addition & 1 deletion Mathlib/Algebra/Homology/QuasiIso.lean
Expand Up @@ -79,7 +79,7 @@ theorem toQuasiIso {C D : HomologicalComplex W c} (e : HomotopyEquiv C D) : Quas
refine' ⟨⟨(homologyFunctor W c i).map e.inv, _⟩⟩
simp only [← Functor.map_comp, ← (homologyFunctor W c i).map_id]
constructor <;> apply homology_map_eq_of_homotopy
exacts[e.homotopyHomInvId, e.homotopyInvHomId]⟩
exacts [e.homotopyHomInvId, e.homotopyInvHomId]⟩
#align homotopy_equiv.to_quasi_iso HomotopyEquiv.toQuasiIso

theorem toQuasiIso_inv {C D : HomologicalComplex W c} (e : HomotopyEquiv C D) (i : ι) :
Expand Down
4 changes: 2 additions & 2 deletions Mathlib/Algebra/IndicatorFunction.lean
Expand Up @@ -357,7 +357,7 @@ theorem mulIndicator_rel_mulIndicator {r : M → M → Prop} (h1 : r 1 1) (ha :
r (mulIndicator s f a) (mulIndicator s g a) := by
simp only [mulIndicator]
split_ifs with has
exacts[ha has, h1]
exacts [ha has, h1]
#align set.mul_indicator_rel_mul_indicator Set.mulIndicator_rel_mulIndicator
#align set.indicator_rel_indicator Set.indicator_rel_indicator

Expand Down Expand Up @@ -493,7 +493,7 @@ theorem indicator_smul_apply (s : Set α) (r : α → M) (f : α → A) (x : α)
indicator s (fun x => r x • f x) x = r x • indicator s f x := by
dsimp only [indicator]
split_ifs
exacts[rfl, (smul_zero (r x)).symm]
exacts [rfl, (smul_zero (r x)).symm]
#align set.indicator_smul_apply Set.indicator_smul_apply

theorem indicator_smul (s : Set α) (r : α → M) (f : α → A) :
Expand Down
4 changes: 2 additions & 2 deletions Mathlib/Algebra/MonoidAlgebra/NoZeroDivisors.lean
Expand Up @@ -100,7 +100,7 @@ theorem NoZeroDivisors.of_left_ordered [NoZeroDivisors R] [AddRightCancelSemigro
refine' ⟨a + gmin, mem_support_iff.mpr _⟩
rw [mul_apply_add_eq_mul_of_forall_ne _]
· refine' mul_ne_zero _ _
exacts[mem_support_iff.mp ha, mem_support_iff.mp (Finset.min'_mem _ _)]
exacts [mem_support_iff.mp ha, mem_support_iff.mp (Finset.min'_mem _ _)]
· rw [H]
rintro b c bf cg (hb | hc) <;> refine' ne_of_gt _
· refine' lt_of_lt_of_le (_ : _ < b + gmin) _
Expand Down Expand Up @@ -139,7 +139,7 @@ theorem NoZeroDivisors.of_right_ordered [NoZeroDivisors R] [AddLeftCancelSemigro
refine' ⟨fmin + a, mem_support_iff.mpr _⟩
rw [mul_apply_add_eq_mul_of_forall_ne _]
· refine' mul_ne_zero _ _
exacts[mem_support_iff.mp (Finset.min'_mem _ _), mem_support_iff.mp ha]
exacts [mem_support_iff.mp (Finset.min'_mem _ _), mem_support_iff.mp ha]
· rw [H]
rintro b c bf cg (hb | hc) <;> refine' ne_of_gt _
· refine' lt_of_le_of_lt (_ : _ ≤ fmin + c) _
Expand Down
4 changes: 2 additions & 2 deletions Mathlib/Algebra/Order/Ring/Defs.lean
Expand Up @@ -1033,7 +1033,7 @@ instance (priority := 100) LinearOrderedRing.noZeroDivisors : NoZeroDivisors α
intro a b hab
refine' Decidable.or_iff_not_and_not.2 fun h => _; revert hab
cases' lt_or_gt_of_ne h.1 with ha ha <;> cases' lt_or_gt_of_ne h.2 with hb hb
exacts[(mul_pos_of_neg_of_neg ha hb).ne.symm, (mul_neg_of_neg_of_pos ha hb).ne,
exacts [(mul_pos_of_neg_of_neg ha hb).ne.symm, (mul_neg_of_neg_of_pos ha hb).ne,
(mul_neg_of_pos_of_neg ha hb).ne, (mul_pos ha hb).ne.symm] }
#align linear_ordered_ring.no_zero_divisors LinearOrderedRing.noZeroDivisors

Expand Down Expand Up @@ -1175,7 +1175,7 @@ theorem mul_self_pos {a : α} : 0 < a * a ↔ a ≠ 0 := by
exact h.false
· intro h
cases' h.lt_or_lt with h h
exacts[mul_pos_of_neg_of_neg h h, mul_pos h h]
exacts [mul_pos_of_neg_of_neg h h, mul_pos h h]
#align mul_self_pos mul_self_pos

theorem mul_self_le_mul_self_of_le_of_neg_le {x y : α} (h₁ : x ≤ y) (h₂ : -x ≤ y) : x * x ≤ y * y :=
Expand Down
2 changes: 1 addition & 1 deletion Mathlib/Algebra/Star/Subalgebra.lean
Expand Up @@ -534,7 +534,7 @@ theorem adjoin_induction' {s : Set A} {p : adjoin R s → Prop} (a : adjoin R s)
Subtype.recOn a fun b hb => by
refine' Exists.elim _ fun (hb : b ∈ adjoin R s) (hc : p ⟨b, hb⟩) => hc
apply adjoin_induction hb
exacts[fun x hx => ⟨subset_adjoin R s hx, Hs x hx⟩, fun r =>
exacts [fun x hx => ⟨subset_adjoin R s hx, Hs x hx⟩, fun r =>
⟨StarSubalgebra.algebraMap_mem _ r, Halg r⟩, fun x y hx hy =>
Exists.elim hx fun hx' hx => Exists.elim hy fun hy' hy => ⟨add_mem hx' hy', Hadd _ _ hx hy⟩,
fun x y hx hy =>
Expand Down
2 changes: 1 addition & 1 deletion Mathlib/AlgebraicGeometry/StructureSheaf.lean
Expand Up @@ -764,7 +764,7 @@ theorem normalize_finite_fraction_representation (U : Opens (PrimeSpectrum.Top R
all_goals rw [res_const]; apply const_ext; ring
-- The remaining two goals were generated during the rewrite of `res_const`
-- These can be solved immediately
exacts[PrimeSpectrum.basicOpen_mul_le_right _ _, PrimeSpectrum.basicOpen_mul_le_left _ _]
exacts [PrimeSpectrum.basicOpen_mul_le_right _ _, PrimeSpectrum.basicOpen_mul_le_left _ _]
-- From the equality in the localization, we obtain for each `(i,j)` some power `(h i * h j) ^ n`
-- which equalizes `a i * h j` and `h i * a j`
have exists_power :
Expand Down
2 changes: 1 addition & 1 deletion Mathlib/Analysis/Asymptotics/Asymptotics.lean
Expand Up @@ -1393,7 +1393,7 @@ theorem isBigO_const_iff {c : F''} : (f'' =O[l] fun _x => c) ↔
refine' ⟨fun h => ⟨fun hc => isBigO_zero_right_iff.1 (by rwa [← hc]), h.isBoundedUnder_le⟩, _⟩
rintro ⟨hcf, hf⟩
rcases eq_or_ne c 0 with (hc | hc)
exacts[(hcf hc).trans_isBigO (isBigO_zero _ _), hf.isBigO_const hc]
exacts [(hcf hc).trans_isBigO (isBigO_zero _ _), hf.isBigO_const hc]
#align asymptotics.is_O_const_iff Asymptotics.isBigO_const_iff

theorem isBigO_iff_isBoundedUnder_le_div (h : ∀ᶠ x in l, g'' x ≠ 0) :
Expand Down
2 changes: 1 addition & 1 deletion Mathlib/Analysis/BoxIntegral/Box/Basic.lean
Expand Up @@ -178,7 +178,7 @@ theorem injective_coe : Injective ((↑) : Box ι → Set (ι → ℝ)) := by
rintro ⟨l₁, u₁, h₁⟩ ⟨l₂, u₂, h₂⟩ h
simp only [Subset.antisymm_iff, coe_subset_coe, le_iff_bounds] at h
congr
exacts[le_antisymm h.2.1 h.1.1, le_antisymm h.1.2 h.2.2]
exacts [le_antisymm h.2.1 h.1.1, le_antisymm h.1.2 h.2.2]
#align box_integral.box.injective_coe BoxIntegral.Box.injective_coe

@[simp, norm_cast]
Expand Down
2 changes: 1 addition & 1 deletion Mathlib/Analysis/BoxIntegral/Partition/Additive.lean
Expand Up @@ -168,7 +168,7 @@ theorem sum_boxes_congr [Finite ι] (f : ι →ᵇᵃ[I₀] M) (hI : ↑I ≤ I
_ = ∑ J in π₂.boxes, ∑ J' in (splitMany J s).boxes, f J' := (sum_biUnion_boxes _ _ _)
_ = ∑ J in π₂.boxes, f J :=
Finset.sum_congr rfl fun J hJ => f.sum_partition_boxes ?_ (isPartition_splitMany _ _)
exacts[(WithTop.coe_le_coe.2 <| π₁.le_of_mem hJ).trans hI,
exacts [(WithTop.coe_le_coe.2 <| π₁.le_of_mem hJ).trans hI,
(WithTop.coe_le_coe.2 <| π₂.le_of_mem hJ).trans hI]
#align box_integral.box_additive_map.sum_boxes_congr BoxIntegral.BoxAdditiveMap.sum_boxes_congr

Expand Down
4 changes: 2 additions & 2 deletions Mathlib/Analysis/BoxIntegral/Partition/Filter.lean
Expand Up @@ -410,10 +410,10 @@ protected theorem MemBaseSet.filter (hπ : l.MemBaseSet I c r π) (p : Box ι
ext x
fconstructor
· rintro (⟨hxI, hxπ⟩ | ⟨hxπ, hxp⟩)
exacts[⟨hxI, mt (@h x) hxπ⟩, ⟨π.iUnion_subset hxπ, hxp⟩]
exacts [⟨hxI, mt (@h x) hxπ⟩, ⟨π.iUnion_subset hxπ, hxp⟩]
· rintro ⟨hxI, hxp⟩
by_cases hxπ : x ∈ π.iUnion
exacts[Or.inr ⟨hxπ, hxp⟩, Or.inl ⟨hxI, hxπ⟩]
exacts [Or.inr ⟨hxπ, hxp⟩, Or.inl ⟨hxI, hxπ⟩]
· have : (π.filter fun J => ¬p J).distortion ≤ c := (distortion_filter_le _ _).trans (hπ.3 hD)
simpa [hc]
#align box_integral.integration_params.mem_base_set.filter BoxIntegral.IntegrationParams.MemBaseSet.filter
Expand Down
2 changes: 1 addition & 1 deletion Mathlib/Analysis/BoxIntegral/Partition/Tagged.lean
Expand Up @@ -350,7 +350,7 @@ def disjUnion (π₁ π₂ : TaggedPrepartition I) (h : Disjoint π₁.iUnion π
tag_mem_Icc J := by
dsimp only [Finset.piecewise]
split_ifs
exacts[π₁.tag_mem_Icc J, π₂.tag_mem_Icc J]
exacts [π₁.tag_mem_Icc J, π₂.tag_mem_Icc J]
#align box_integral.tagged_prepartition.disj_union BoxIntegral.TaggedPrepartition.disjUnion

@[simp]
Expand Down
4 changes: 2 additions & 2 deletions Mathlib/Analysis/Calculus/ContDiffDef.lean
Expand Up @@ -693,7 +693,7 @@ theorem contDiffOn_top : ContDiffOn 𝕜 ∞ f s ↔ ∀ n : ℕ, ContDiffOn
theorem contDiffOn_all_iff_nat : (∀ n, ContDiffOn 𝕜 n f s) ↔ ∀ n : ℕ, ContDiffOn 𝕜 n f s := by
refine' ⟨fun H n => H n, _⟩
rintro H (_ | n)
exacts[contDiffOn_top.2 H, H n]
exacts [contDiffOn_top.2 H, H n]
#align cont_diff_on_all_iff_nat contDiffOn_all_iff_nat

theorem ContDiffOn.continuousOn (h : ContDiffOn 𝕜 n f s) : ContinuousOn f s := fun x hx =>
Expand Down Expand Up @@ -1087,7 +1087,7 @@ theorem ContDiffWithinAt.differentiableWithinAt_iteratedFDerivWithin {m : ℕ}
simp only [set_eventuallyEq_iff_inf_principal, ← nhdsWithin_inter']
rw [← inter_assoc, nhdsWithin_inter_of_mem', ← diff_eq_compl_inter, insert_diff_of_mem,
diff_eq_compl_inter]
exacts[rfl, mem_nhdsWithin_of_mem_nhds (uo.mem_nhds xu)]
exacts [rfl, mem_nhdsWithin_of_mem_nhds (uo.mem_nhds xu)]
have B : iteratedFDerivWithin 𝕜 m f s =ᶠ[𝓝 x] iteratedFDerivWithin 𝕜 m f t :=
iteratedFDerivWithin_eventually_congr_set' _ A.symm _
have C : DifferentiableWithinAt 𝕜 (iteratedFDerivWithin 𝕜 m f t) t x :=
Expand Down
6 changes: 3 additions & 3 deletions Mathlib/Analysis/Calculus/LocalExtr.lean
Expand Up @@ -97,7 +97,7 @@ theorem mem_posTangentConeAt_of_segment_subset {s : Set E} {x y : E} (h : segmen
show x + d n ∈ segment ℝ x y
· rw [segment_eq_image']
refine' ⟨(c n)⁻¹, ⟨_, _⟩, rfl⟩
exacts[inv_nonneg.2 (pow_nonneg zero_le_two _), inv_le_one (one_le_pow_of_one_le one_le_two _)]
exacts [inv_nonneg.2 (pow_nonneg zero_le_two _), inv_le_one (one_le_pow_of_one_le one_le_two _)]
show Tendsto (fun n => c n • d n) atTop (𝓝 (y - x))
· exact tendsto_const_nhds.congr fun n ↦ (smul_inv_smul₀ (pow_ne_zero _ two_ne_zero) _).symm
#align mem_pos_tangent_cone_at_of_segment_subset mem_posTangentConeAt_of_segment_subset
Expand Down Expand Up @@ -282,9 +282,9 @@ theorem exists_Ioo_extr_on_Icc (hab : a < b) (hfc : ContinuousOn f (Icc a b)) (h
refine ⟨c', hc', Or.inl fun x hx ↦ ?_⟩
simp only [mem_setOf_eq, this x hx, this c' (Ioo_subset_Icc_self hc'), le_rfl]
· refine' ⟨C, ⟨lt_of_le_of_ne Cmem.1 <| mt _ hC, lt_of_le_of_ne Cmem.2 <| mt _ hC⟩, Or.inr Cge⟩
exacts[fun h => by rw [h], fun h => by rw [h, hfI]]
exacts [fun h => by rw [h], fun h => by rw [h, hfI]]
· refine' ⟨c, ⟨lt_of_le_of_ne cmem.1 <| mt _ hc, lt_of_le_of_ne cmem.2 <| mt _ hc⟩, Or.inl cle⟩
exacts[fun h => by rw [h], fun h => by rw [h, hfI]]
exacts [fun h => by rw [h], fun h => by rw [h, hfI]]
#align exists_Ioo_extr_on_Icc exists_Ioo_extr_on_Icc

/-- A continuous function on a closed interval with `f a = f b` has a local extremum at some
Expand Down
4 changes: 2 additions & 2 deletions Mathlib/Analysis/Convex/Combination.lean
Expand Up @@ -111,7 +111,7 @@ theorem Finset.centerMass_ite_eq (hi : i ∈ t) :
trans ∑ j in t, if i = j then z i else 0
· congr with i
split_ifs with h
exacts[h ▸ one_smul _ _, zero_smul _ _]
exacts [h ▸ one_smul _ _, zero_smul _ _]
· rw [sum_ite_eq, if_pos hi]
· rw [sum_ite_eq, if_pos hi]
#align finset.center_mass_ite_eq Finset.centerMass_ite_eq
Expand Down Expand Up @@ -332,7 +332,7 @@ theorem Finset.convexHull_eq (s : Finset E) : convexHull R ↑s =
refine' ⟨_, _, _, Finset.centerMass_ite_eq _ _ _ hx⟩
· intros
split_ifs
exacts[zero_le_one, le_refl 0]
exacts [zero_le_one, le_refl 0]
· rw [Finset.sum_ite_eq, if_pos hx]
· rintro x ⟨wx, hwx₀, hwx₁, rfl⟩ y ⟨wy, hwy₀, hwy₁, rfl⟩ a b ha hb hab
rw [Finset.centerMass_segment _ _ _ _ hwx₁ hwy₁ _ _ hab]
Expand Down
2 changes: 1 addition & 1 deletion Mathlib/Analysis/Convex/KreinMilman.lean
Expand Up @@ -90,7 +90,7 @@ theorem IsCompact.has_extreme_point (hscomp : IsCompact s) (hsnemp : s.Nonempty)
(fun t => isCompact_of_isClosed_subset hscomp (hFS t.mem).2.1 (hFS t.mem).2.2.1) fun t =>
(hFS t.mem).2.1
obtain htu | hut := hF.total t.mem u.mem
exacts[⟨t, Subset.rfl, htu⟩, ⟨u, hut, Subset.rfl⟩]
exacts [⟨t, Subset.rfl, htu⟩, ⟨u, hut, Subset.rfl⟩]
#align is_compact.has_extreme_point IsCompact.has_extreme_point

/-- **Krein-Milman theorem**: In a LCTVS, any compact convex set is the closure of the convex hull
Expand Down
2 changes: 1 addition & 1 deletion Mathlib/Analysis/InnerProductSpace/Projection.lean
Expand Up @@ -343,7 +343,7 @@ theorem norm_eq_iInf_iff_real_inner_eq_zero (K : Submodule ℝ F) {u : F} {v : F
have h₁ := h w' this
exact le_of_eq h₁
rwa [norm_eq_iInf_iff_real_inner_le_zero]
exacts[Submodule.convex _, hv])
exacts [Submodule.convex _, hv])
#align norm_eq_infi_iff_real_inner_eq_zero norm_eq_iInf_iff_real_inner_eq_zero

/-- Characterization of minimizers in the projection on a subspace.
Expand Down
2 changes: 1 addition & 1 deletion Mathlib/Analysis/LocallyConvex/Basic.lean
Expand Up @@ -361,7 +361,7 @@ theorem balanced_zero_union_interior (hA : Balanced 𝕜 A) :
intro a ha
obtain rfl | h := eq_or_ne a 0
· rw [zero_smul_set]
exacts[subset_union_left _ _, ⟨0, Or.inl rfl⟩]
exacts [subset_union_left _ _, ⟨0, Or.inl rfl⟩]
· rw [← image_smul, image_union]
apply union_subset_union
· rw [image_zero, smul_zero]
Expand Down
2 changes: 1 addition & 1 deletion Mathlib/Analysis/MeanInequalities.lean
Expand Up @@ -506,7 +506,7 @@ theorem Lp_add_le_tsum {f g : ι → ℝ≥0} {p : ℝ} (hp : 1 ≤ p) (hf : Sum
refine' le_trans (Lp_add_le s f g hp) (add_le_add _ _) <;>
rw [NNReal.rpow_le_rpow_iff (one_div_pos.mpr pos)] <;>
refine' sum_le_tsum _ (fun _ _ => zero_le _) _
exacts[hf, hg]
exacts [hf, hg]
have bdd : BddAbove (Set.range fun s => ∑ i in s, (f i + g i) ^ p) := by
refine' ⟨((∑' i, f i ^ p) ^ (1 / p) + (∑' i, g i ^ p) ^ (1 / p)) ^ p, _⟩
rintro a ⟨s, rfl⟩
Expand Down
2 changes: 1 addition & 1 deletion Mathlib/Analysis/Normed/Field/Basic.lean
Expand Up @@ -648,7 +648,7 @@ instance (priority := 100) NormedDivisionRing.to_topologicalDivisionRing : Topol
theorem norm_map_one_of_pow_eq_one [Monoid β] (φ : β →* α) {x : β} {k : ℕ+} (h : x ^ (k : ℕ) = 1) :
‖φ x‖ = 1 := by
rw [← pow_left_inj, ← norm_pow, ← map_pow, h, map_one, norm_one, one_pow]
exacts[norm_nonneg _, zero_le_one, k.pos]
exacts [norm_nonneg _, zero_le_one, k.pos]
#align norm_map_one_of_pow_eq_one norm_map_one_of_pow_eq_one

theorem norm_one_of_pow_eq_one {x : α} {k : ℕ+} (h : x ^ (k : ℕ) = 1) : ‖x‖ = 1 :=
Expand Down
2 changes: 1 addition & 1 deletion Mathlib/Analysis/Normed/Ring/Seminorm.lean
Expand Up @@ -133,7 +133,7 @@ instance [DecidableEq R] : One (RingSeminorm R) :=
refine' (if_pos h).trans_le (mul_nonneg _ _) <;>
· change _ ≤ ite _ _ _
split_ifs
exacts[le_rfl, zero_le_one]
exacts [le_rfl, zero_le_one]
· change ite _ _ _ ≤ ite _ _ _ * ite _ _ _
simp only [if_false, h, left_ne_zero_of_mul h, right_ne_zero_of_mul h, mul_one,
le_refl] }⟩
Expand Down
2 changes: 1 addition & 1 deletion Mathlib/Analysis/NormedSpace/Banach.lean
Expand Up @@ -99,7 +99,7 @@ theorem exists_approx_preimage_norm_le (surj : Surjective f) :
rcases NormedField.exists_one_lt_norm 𝕜 with ⟨c, hc⟩
refine' ⟨(ε / 2)⁻¹ * ‖c‖ * 2 * n, _, fun y => _⟩
· refine' mul_nonneg (mul_nonneg (mul_nonneg _ (norm_nonneg _)) (by norm_num)) _
exacts[inv_nonneg.2 (div_nonneg (le_of_lt εpos) (by norm_num)), n.cast_nonneg]
exacts [inv_nonneg.2 (div_nonneg (le_of_lt εpos) (by norm_num)), n.cast_nonneg]
· by_cases hy : y = 0
· use 0
simp [hy]
Expand Down
2 changes: 1 addition & 1 deletion Mathlib/Analysis/NormedSpace/Multilinear.lean
Expand Up @@ -494,7 +494,7 @@ theorem norm_pi {ι' : Type v'} [Fintype ι'] {E' : ι' → Type wE'} [∀ i', N
· refine' op_norm_le_bound _ (norm_nonneg f) fun m => _
dsimp
rw [pi_norm_le_iff_of_nonneg]
exacts[fun i => (f i).le_of_op_norm_le m (norm_le_pi_norm f i),
exacts [fun i => (f i).le_of_op_norm_le m (norm_le_pi_norm f i),
mul_nonneg (norm_nonneg f) (prod_nonneg fun _ _ => norm_nonneg _)]
· refine' (pi_norm_le_iff_of_nonneg (norm_nonneg _)).2 fun i => _
refine' op_norm_le_bound _ (norm_nonneg _) fun m => _
Expand Down

0 comments on commit bf799bb

Please sign in to comment.