tasksource/leandojo huggingface dataset:
Theorem: MeasureTheory.continuousOn_of_dominated
File: Mathlib/MeasureTheory/Integral/Bochner.lean

tactic: simp only [integral, L1.integral]
state_before: α : Type u_2
E : Type u_3
F✝ : Type ?u.1025604
𝕜 : Type ?u.1025607
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℝ E
inst✝⁸ : CompleteSpace E
inst✝⁷ : NontriviallyNormedField 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : SMulCommClass ℝ 𝕜 E
inst✝⁴ : NormedAddCommGroup F✝
inst✝³ : NormedSpace ℝ F✝
inst✝² : CompleteSpace F✝
f g : α → E
m : MeasurableSpace α
μ : Measure α
X : Type u_1
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
F : X → α → E
bound : α → ℝ
s : Set X
hF_meas : ∀ (x : X), x ∈ s → AEStronglyMeasurable (F x) μ
h_bound : ∀ (x : X), x ∈ s → ∀ᵐ (a : α) ∂μ, ‖F x a‖ ≤ bound a
bound_integrable : Integrable bound
h_cont : ∀ᵐ (a : α) ∂μ, ContinuousOn (fun x => F x a) s
⊢ ContinuousOn (fun x => ∫ (a : α), F x a ∂μ) s

tactic: exact continuousOn_setToFun_of_dominated (dominatedFinMeasAdditive_weightedSMul μ)
  hF_meas h_bound bound_integrable h_cont
state_before: α : Type u_2
E : Type u_3
F✝ : Type ?u.1025604
𝕜 : Type ?u.1025607
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℝ E
inst✝⁸ : CompleteSpace E
inst✝⁷ : NontriviallyNormedField 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : SMulCommClass ℝ 𝕜 E
inst✝⁴ : NormedAddCommGroup F✝
inst✝³ : NormedSpace ℝ F✝
inst✝² : CompleteSpace F✝
f g : α → E
m : MeasurableSpace α
μ : Measure α
X : Type u_1
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
F : X → α → E
bound : α → ℝ
s : Set X
hF_meas : ∀ (x : X), x ∈ s → AEStronglyMeasurable (F x) μ
h_bound : ∀ (x : X), x ∈ s → ∀ᵐ (a : α) ∂μ, ‖F x a‖ ≤ bound a
bound_integrable : Integrable bound
h_cont : ∀ᵐ (a : α) ∂μ, ContinuousOn (fun x => F x a) s
⊢ ContinuousOn
    (fun x => if hf : Integrable fun a => F x a then ↑L1.integralCLM (Integrable.toL1 (fun a => F x a) hf) else 0) s
Theorem: CategoryTheory.Preadditive.isCoseparating_iff
File: Mathlib/CategoryTheory/Preadditive/Generator.lean

tactic: simpa only [Limits.zero_comp] using hf
state_before: C : Type u
inst✝¹ : Category C
inst✝ : Preadditive C
𝒢 : Set C
h𝒢 : IsCoseparating 𝒢
X Y : C
f : X ⟶ Y
hf : ∀ (G : C), G ∈ 𝒢 → ∀ (h : Y ⟶ G), f ≫ h = 0
⊢ ∀ (G : C), G ∈ 𝒢 → ∀ (h : Y ⟶ G), f ≫ h = 0 ≫ h

tactic: simpa only [Preadditive.sub_comp, sub_eq_zero] using hfg
state_before: C : Type u
inst✝¹ : Category C
inst✝ : Preadditive C
𝒢 : Set C
h𝒢 : ∀ ⦃X Y : C⦄ (f : X ⟶ Y), (∀ (G : C), G ∈ 𝒢 → ∀ (h : Y ⟶ G), f ≫ h = 0) → f = 0
X Y : C
f g : X ⟶ Y
hfg : ∀ (G : C), G ∈ 𝒢 → ∀ (h : Y ⟶ G), f ≫ h = g ≫ h
⊢ ∀ (G : C), G ∈ 𝒢 → ∀ (h : Y ⟶ G), (f - g) ≫ h = 0
Theorem: Set.LeftInvOn.map_nhdsWithin_eq
File: Mathlib/Topology/ContinuousOn.lean

tactic: apply le_antisymm
state_before: α : Type u_2
β : Type u_1
γ : Type ?u.338607
δ : Type ?u.338610
inst✝³ : TopologicalSpace α
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
inst✝ : TopologicalSpace δ
f : α → β
g : β → α
x : β
s : Set β
h : LeftInvOn f g s
hx : f (g x) = x
hf : ContinuousWithinAt f (g '' s) (g x)
hg : ContinuousWithinAt g s x
⊢ map g (𝓝[s] x) = 𝓝[g '' s] g x

tactic: exact hg.tendsto_nhdsWithin (mapsTo_image _ _)
state_before: case a
α : Type u_2
β : Type u_1
γ : Type ?u.338607
δ : Type ?u.338610
inst✝³ : TopologicalSpace α
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
inst✝ : TopologicalSpace δ
f : α → β
g : β → α
x : β
s : Set β
h : LeftInvOn f g s
hx : f (g x) = x
hf : ContinuousWithinAt f (g '' s) (g x)
hg : ContinuousWithinAt g s x
⊢ map g (𝓝[s] x) ≤ 𝓝[g '' s] g x

tactic: have A : g ∘ f =ᶠ[𝓝[g '' s] g x] id :=
  h.rightInvOn_image.eqOn.eventuallyEq_of_mem self_mem_nhdsWithin
state_before: case a
α : Type u_2
β : Type u_1
γ : Type ?u.338607
δ : Type ?u.338610
inst✝³ : TopologicalSpace α
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
inst✝ : TopologicalSpace δ
f : α → β
g : β → α
x : β
s : Set β
h : LeftInvOn f g s
hx : f (g x) = x
hf : ContinuousWithinAt f (g '' s) (g x)
hg : ContinuousWithinAt g s x
⊢ 𝓝[g '' s] g x ≤ map g (𝓝[s] x)

tactic: refine' le_map_of_right_inverse A _
state_before: case a
α : Type u_2
β : Type u_1
γ : Type ?u.338607
δ : Type ?u.338610
inst✝³ : TopologicalSpace α
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
inst✝ : TopologicalSpace δ
f : α → β
g : β → α
x : β
s : Set β
h : LeftInvOn f g s
hx : f (g x) = x
hf : ContinuousWithinAt f (g '' s) (g x)
hg : ContinuousWithinAt g s x
A : g ∘ f =ᶠ[𝓝[g '' s] g x] id
⊢ 𝓝[g '' s] g x ≤ map g (𝓝[s] x)

tactic: simpa only [hx] using hf.tendsto_nhdsWithin (h.mapsTo (surjOn_image _ _))
state_before: case a
α : Type u_2
β : Type u_1
γ : Type ?u.338607
δ : Type ?u.338610
inst✝³ : TopologicalSpace α
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
inst✝ : TopologicalSpace δ
f : α → β
g : β → α
x : β
s : Set β
h : LeftInvOn f g s
hx : f (g x) = x
hf : ContinuousWithinAt f (g '' s) (g x)
hg : ContinuousWithinAt g s x
A : g ∘ f =ᶠ[𝓝[g '' s] g x] id
⊢ Tendsto f (𝓝[g '' s] g x) (𝓝[s] x)
Theorem: AlgebraicTopology.DoldKan.P_add_Q
File: Mathlib/AlgebraicTopology/DoldKan/Projections.lean

tactic: rw [Q]
state_before: C : Type u_2
inst✝¹ : Category C
inst✝ : Preadditive C
X : SimplicialObject C
q : ℕ
⊢ P q + Q q = 𝟙 K[X]

tactic: abel
state_before: C : Type u_2
inst✝¹ : Category C
inst✝ : Preadditive C
X : SimplicialObject C
q : ℕ
⊢ P q + (𝟙 K[X] - P q) = 𝟙 K[X]
Theorem: Finset.measurable_range_sup''
File: Mathlib/MeasureTheory/Lattice.lean

tactic: convert Finset.measurable_range_sup' hf using 1
state_before: M : Type ?u.1462833
inst✝³ : MeasurableSpace M
α : Type u_2
m : MeasurableSpace α
μ : MeasureTheory.Measure α
f✝ g : α → M
δ : Type u_1
inst✝² : MeasurableSpace δ
inst✝¹ : SemilatticeSup α
inst✝ : MeasurableSup₂ α
f : ℕ → δ → α
n : ℕ
hf : ∀ (k : ℕ), k ≤ n → Measurable (f k)
⊢ Measurable fun x => sup' (range (n + 1)) (_ : Finset.Nonempty (range (n + 1))) fun k => f k x

tactic: ext x
state_before: case h.e'_5
M : Type ?u.1462833
inst✝³ : MeasurableSpace M
α : Type u_2
m : MeasurableSpace α
μ : MeasureTheory.Measure α
f✝ g : α → M
δ : Type u_1
inst✝² : MeasurableSpace δ
inst✝¹ : SemilatticeSup α
inst✝ : MeasurableSup₂ α
f : ℕ → δ → α
n : ℕ
hf : ∀ (k : ℕ), k ≤ n → Measurable (f k)
⊢ (fun x => sup' (range (n + 1)) (_ : Finset.Nonempty (range (n + 1))) fun k => f k x) =
    sup' (range (n + 1)) (_ : Finset.Nonempty (range (n + 1))) fun k => f k

tactic: simp
state_before: case h.e'_5.h
M : Type ?u.1462833
inst✝³ : MeasurableSpace M
α : Type u_2
m : MeasurableSpace α
μ : MeasureTheory.Measure α
f✝ g : α → M
δ : Type u_1
inst✝² : MeasurableSpace δ
inst✝¹ : SemilatticeSup α
inst✝ : MeasurableSup₂ α
f : ℕ → δ → α
n : ℕ
hf : ∀ (k : ℕ), k ≤ n → Measurable (f k)
x : δ
⊢ (sup' (range (n + 1)) (_ : Finset.Nonempty (range (n + 1))) fun k => f k x) =
    sup' (range (n + 1)) (_ : Finset.Nonempty (range (n + 1))) (fun k => f k) x
Theorem: starConvex_iUnion
File: Mathlib/Analysis/Convex/Star.lean

tactic: rintro y hy a b ha hb hab
state_before: 𝕜 : Type u_3
E : Type u_2
F : Type ?u.8423
inst✝⁴ : OrderedSemiring 𝕜
inst✝³ : AddCommMonoid E
inst✝² : AddCommMonoid F
inst✝¹ : SMul 𝕜 E
inst✝ : SMul 𝕜 F
x : E
s✝ t : Set E
ι : Sort u_1
s : ι → Set E
hs : ∀ (i : ι), StarConvex 𝕜 x (s i)
⊢ StarConvex 𝕜 x (⋃ (i : ι), s i)

tactic: rw [mem_iUnion] at hy⊢
state_before: 𝕜 : Type u_3
E : Type u_2
F : Type ?u.8423
inst✝⁴ : OrderedSemiring 𝕜
inst✝³ : AddCommMonoid E
inst✝² : AddCommMonoid F
inst✝¹ : SMul 𝕜 E
inst✝ : SMul 𝕜 F
x : E
s✝ t : Set E
ι : Sort u_1
s : ι → Set E
hs : ∀ (i : ι), StarConvex 𝕜 x (s i)
y : E
hy : y ∈ ⋃ (i : ι), s i
a b : 𝕜
ha : 0 ≤ a
hb : 0 ≤ b
hab : a + b = 1
⊢ a • x + b • y ∈ ⋃ (i : ι), s i

tactic: obtain ⟨i, hy⟩ := hy
state_before: 𝕜 : Type u_3
E : Type u_2
F : Type ?u.8423
inst✝⁴ : OrderedSemiring 𝕜
inst✝³ : AddCommMonoid E
inst✝² : AddCommMonoid F
inst✝¹ : SMul 𝕜 E
inst✝ : SMul 𝕜 F
x : E
s✝ t : Set E
ι : Sort u_1
s : ι → Set E
hs : ∀ (i : ι), StarConvex 𝕜 x (s i)
y : E
hy : ∃ i, y ∈ s i
a b : 𝕜
ha : 0 ≤ a
hb : 0 ≤ b
hab : a + b = 1
⊢ ∃ i, a • x + b • y ∈ s i

tactic: exact ⟨i, hs i hy ha hb hab⟩
state_before: case intro
𝕜 : Type u_3
E : Type u_2
F : Type ?u.8423
inst✝⁴ : OrderedSemiring 𝕜
inst✝³ : AddCommMonoid E
inst✝² : AddCommMonoid F
inst✝¹ : SMul 𝕜 E
inst✝ : SMul 𝕜 F
x : E
s✝ t : Set E
ι : Sort u_1
s : ι → Set E
hs : ∀ (i : ι), StarConvex 𝕜 x (s i)
y : E
a b : 𝕜
ha : 0 ≤ a
hb : 0 ≤ b
hab : a + b = 1
i : ι
hy : y ∈ s i
⊢ ∃ i, a • x + b • y ∈ s i
Theorem: Nat.sub_ne_zero_of_lt
File: src/lean/Init/Data/Nat/Basic.lean

tactic: simp
state_before: b : Nat
x✝ : 0 < succ b
⊢ succ b - 0 ≠ 0

tactic: rw [Nat.succ_sub_succ]
state_before: a b : Nat
h : succ a < succ b
⊢ succ b - succ a ≠ 0

tactic: exact sub_ne_zero_of_lt (Nat.lt_of_succ_lt_succ h)
state_before: a b : Nat
h : succ a < succ b
⊢ b - a ≠ 0
Theorem: Complex.abs_cpow_inv_nat
File: Mathlib/Analysis/SpecialFunctions/Pow/Real.lean

tactic: rw [← abs_cpow_real]
state_before: x : ℂ
n : ℕ
⊢ ↑abs (x ^ (↑n)⁻¹) = ↑abs x ^ (↑n)⁻¹

tactic: simp [-abs_cpow_real]
state_before: x : ℂ
n : ℕ
⊢ ↑abs (x ^ (↑n)⁻¹) = ↑abs (x ^ ↑(↑n)⁻¹)
Theorem: sdiff_sdiff_right'
File: Mathlib/Order/BooleanAlgebra.lean

tactic: ac_rfl
state_before: α : Type u
β : Type ?u.28604
w x y z : α
inst✝ : GeneralizedBooleanAlgebra α
⊢ x \ y ⊔ x ⊓ y ⊓ z = z ⊓ x ⊓ y ⊔ x \ y

tactic: rw [sup_inf_inf_sdiff, sup_comm, inf_comm]
state_before: α : Type u
β : Type ?u.28604
w x y z : α
inst✝ : GeneralizedBooleanAlgebra α
⊢ z ⊓ x ⊓ y ⊔ x \ y = x \ y ⊔ x ⊓ z
Theorem: Set.mem_range_mulIndicator
File: Mathlib/Algebra/IndicatorFunction.lean

tactic: simp only [mem_range, mulIndicator, ne_eq, mem_image]
state_before: α : Type u_1
β : Type ?u.36476
ι : Type ?u.36479
M : Type u_2
N : Type ?u.36485
inst✝¹ : One M
inst✝ : One N
s✝ t : Set α
f✝ g : α → M
a : α
r : M
s : Set α
f : α → M
⊢ r ∈ range (mulIndicator s f) ↔ r = 1 ∧ s ≠ univ ∨ r ∈ f '' s

tactic: rw [eq_univ_iff_forall, not_forall]
state_before: α : Type u_1
β : Type ?u.36476
ι : Type ?u.36479
M : Type u_2
N : Type ?u.36485
inst✝¹ : One M
inst✝ : One N
s✝ t : Set α
f✝ g : α → M
a : α
r : M
s : Set α
f : α → M
⊢ (∃ y, (if y ∈ s then f y else 1) = r) ↔ r = 1 ∧ ¬s = univ ∨ ∃ x, x ∈ s ∧ f x = r

tactic: refine ⟨?_, ?_⟩
state_before: α : Type u_1
β : Type ?u.36476
ι : Type ?u.36479
M : Type u_2
N : Type ?u.36485
inst✝¹ : One M
inst✝ : One N
s✝ t : Set α
f✝ g : α → M
a : α
r : M
s : Set α
f : α → M
⊢ (∃ y, (if y ∈ s then f y else 1) = r) ↔ (r = 1 ∧ ∃ x, ¬x ∈ s) ∨ ∃ x, x ∈ s ∧ f x = r

tactic: rintro ⟨y, hy⟩
state_before: case refine_1
α : Type u_1
β : Type ?u.36476
ι : Type ?u.36479
M : Type u_2
N : Type ?u.36485
inst✝¹ : One M
inst✝ : One N
s✝ t : Set α
f✝ g : α → M
a : α
r : M
s : Set α
f : α → M
⊢ (∃ y, (if y ∈ s then f y else 1) = r) → (r = 1 ∧ ∃ x, ¬x ∈ s) ∨ ∃ x, x ∈ s ∧ f x = r

tactic: split_ifs at hy with hys
state_before: case refine_1.intro
α : Type u_1
β : Type ?u.36476
ι : Type ?u.36479
M : Type u_2
N : Type ?u.36485
inst✝¹ : One M
inst✝ : One N
s✝ t : Set α
f✝ g : α → M
a : α
r : M
s : Set α
f : α → M
y : α
hy : (if y ∈ s then f y else 1) = r
⊢ (r = 1 ∧ ∃ x, ¬x ∈ s) ∨ ∃ x, x ∈ s ∧ f x = r

tactic: tauto
state_before: case refine_1.intro.inl
α : Type u_1
β : Type ?u.36476
ι : Type ?u.36479
M : Type u_2
N : Type ?u.36485
inst✝¹ : One M
inst✝ : One N
s✝ t : Set α
f✝ g : α → M
a : α
r : M
s : Set α
f : α → M
y : α
hys : y ∈ s
hy : f y = r
⊢ (r = 1 ∧ ∃ x, ¬x ∈ s) ∨ ∃ x, x ∈ s ∧ f x = r

tactic: left
state_before: case refine_1.intro.inr
α : Type u_1
β : Type ?u.36476
ι : Type ?u.36479
M : Type u_2
N : Type ?u.36485
inst✝¹ : One M
inst✝ : One N
s✝ t : Set α
f✝ g : α → M
a : α
r : M
s : Set α
f : α → M
y : α
hys : ¬y ∈ s
hy : 1 = r
⊢ (r = 1 ∧ ∃ x, ¬x ∈ s) ∨ ∃ x, x ∈ s ∧ f x = r

tactic: tauto
state_before: case refine_1.intro.inr.h
α : Type u_1
β : Type ?u.36476
ι : Type ?u.36479
M : Type u_2
N : Type ?u.36485
inst✝¹ : One M
inst✝ : One N
s✝ t : Set α
f✝ g : α → M
a : α
r : M
s : Set α
f : α → M
y : α
hys : ¬y ∈ s
hy : 1 = r
⊢ r = 1 ∧ ∃ x, ¬x ∈ s

tactic: rintro (⟨hr, ⟨x, hx⟩⟩ | ⟨x, ⟨hx, hxs⟩⟩) <;> use x <;> split_ifs <;> tauto
state_before: case refine_2
α : Type u_1
β : Type ?u.36476
ι : Type ?u.36479
M : Type u_2
N : Type ?u.36485
inst✝¹ : One M
inst✝ : One N
s✝ t : Set α
f✝ g : α → M
a : α
r : M
s : Set α
f : α → M
⊢ ((r = 1 ∧ ∃ x, ¬x ∈ s) ∨ ∃ x, x ∈ s ∧ f x = r) → ∃ y, (if y ∈ s then f y else 1) = r
Theorem: CancelCommMonoid.toCommMonoid_injective
File: Mathlib/Algebra/Group/Ext.lean

tactic: rintro @⟨@⟨@⟨⟩⟩⟩ @⟨@⟨@⟨⟩⟩⟩ h
state_before: M : Type u
⊢ Function.Injective (@toCommMonoid M)

tactic: congr <;> {
  injection h with h'
  injection h' }
state_before: case mk.mk.mk.mk.mk.mk
M : Type u
toOne✝¹ : One M
npow✝¹ : ℕ → M → M
npow_zero✝¹ : ∀ (x : M), npow✝¹ 0 x = 1
toSemigroup✝¹ : Semigroup M
mul_left_cancel✝¹ : ∀ (a b c : M), a * b = a * c → b = c
one_mul✝¹ : ∀ (a : M), 1 * a = a
mul_one✝¹ : ∀ (a : M), a * 1 = a
npow_succ✝¹ : ∀ (n : ℕ) (x : M), npow✝¹ (n + 1) x = x * npow✝¹ n x
mul_comm✝¹ : ∀ (a b : M), a * b = b * a
toOne✝ : One M
npow✝ : ℕ → M → M
npow_zero✝ : ∀ (x : M), npow✝ 0 x = 1
toSemigroup✝ : Semigroup M
mul_left_cancel✝ : ∀ (a b c : M), a * b = a * c → b = c
one_mul✝ : ∀ (a : M), 1 * a = a
mul_one✝ : ∀ (a : M), a * 1 = a
npow_succ✝ : ∀ (n : ℕ) (x : M), npow✝ (n + 1) x = x * npow✝ n x
mul_comm✝ : ∀ (a b : M), a * b = b * a
h : toCommMonoid = toCommMonoid
⊢ mk mul_comm✝¹ = mk mul_comm✝
Theorem: LinearPMap.supSpanSingleton_apply_mk
File: Mathlib/LinearAlgebra/LinearPMap.lean

tactic: erw [sup_apply _ ⟨x', hx'⟩ ⟨c • x, _⟩, mkSpanSingleton'_apply]
state_before: R : Type ?u.359475
inst✝⁹ : Ring R
E : Type u_2
inst✝⁸ : AddCommGroup E
inst✝⁷ : Module R E
F : Type u_3
inst✝⁶ : AddCommGroup F
inst✝⁵ : Module R F
G : Type ?u.360556
inst✝⁴ : AddCommGroup G
inst✝³ : Module R G
K : Type u_1
inst✝² : DivisionRing K
inst✝¹ : Module K E
inst✝ : Module K F
f : E →ₗ.[K] F
x : E
y : F
hx : ¬x ∈ f.domain
x' : E
hx' : x' ∈ f.domain
c : K
⊢ ↑(supSpanSingleton f x y hx)
      { val := x' + c • x,
        property := (_ : x' + c • x ∈ f.domain ⊔ (mkSpanSingleton x y (_ : x = 0 → False)).domain) } =
    ↑f { val := x', property := hx' } + c • y

tactic: exact mem_span_singleton.2 ⟨c, rfl⟩
state_before: case h
R : Type ?u.359475
inst✝⁹ : Ring R
E : Type u_2
inst✝⁸ : AddCommGroup E
inst✝⁷ : Module R E
F : Type u_3
inst✝⁶ : AddCommGroup F
inst✝⁵ : Module R F
G : Type ?u.360556
inst✝⁴ : AddCommGroup G
inst✝³ : Module R G
K : Type u_1
inst✝² : DivisionRing K
inst✝¹ : Module K E
inst✝ : Module K F
f : E →ₗ.[K] F
x : E
y : F
hx : ¬x ∈ f.domain
x' : E
hx' : x' ∈ f.domain
c : K
⊢ c • x ∈ (mkSpanSingleton' x y (_ : ∀ (c : K), c • x = 0 → c • y = 0)).domain

case hz
R : Type ?u.359475
inst✝⁹ : Ring R
E : Type u_2
inst✝⁸ : AddCommGroup E
inst✝⁷ : Module R E
F : Type u_3
inst✝⁶ : AddCommGroup F
inst✝⁵ : Module R F
G : Type ?u.360556
inst✝⁴ : AddCommGroup G
inst✝³ : Module R G
K : Type u_1
inst✝² : DivisionRing K
inst✝¹ : Module K E
inst✝ : Module K F
f : E →ₗ.[K] F
x : E
y : F
hx : ¬x ∈ f.domain
x' : E
hx' : x' ∈ f.domain
c : K
⊢ ↑{ val := x', property := hx' } + ↑{ val := c • x, property := ?h } =
    ↑{ val := x' + c • x, property := (_ : x' + c • x ∈ f.domain ⊔ (mkSpanSingleton x y (_ : x = 0 → False)).domain) }

tactic: rfl
state_before: case hz
R : Type ?u.359475
inst✝⁹ : Ring R
E : Type u_2
inst✝⁸ : AddCommGroup E
inst✝⁷ : Module R E
F : Type u_3
inst✝⁶ : AddCommGroup F
inst✝⁵ : Module R F
G : Type ?u.360556
inst✝⁴ : AddCommGroup G
inst✝³ : Module R G
K : Type u_1
inst✝² : DivisionRing K
inst✝¹ : Module K E
inst✝ : Module K F
f : E →ₗ.[K] F
x : E
y : F
hx : ¬x ∈ f.domain
x' : E
hx' : x' ∈ f.domain
c : K
⊢ ↑{ val := x', property := hx' } + ↑{ val := c • x, property := (_ : c • x ∈ span K {x}) } =
    ↑{ val := x' + c • x, property := (_ : x' + c • x ∈ f.domain ⊔ (mkSpanSingleton x y (_ : x = 0 → False)).domain) }
Theorem: BoxIntegral.Integrable.convergenceR_cond
File: Mathlib/Analysis/BoxIntegral/Basic.lean

tactic: rw [convergenceR]
state_before: ι : Type u
E : Type v
F : Type w
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace ℝ E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
I J : Box ι
π : TaggedPrepartition I
inst✝ : Fintype ι
l : IntegrationParams
f g : (ι → ℝ) → E
vol : ι →ᵇᵃ[⊤] E →L[ℝ] F
y y' : F
c✝ c₁ c₂ : ℝ≥0
ε✝ ε₁ ε₂ : ℝ
π₁ π₂ : TaggedPrepartition I
h : Integrable I l f vol
ε : ℝ
c : ℝ≥0
⊢ RCond l (convergenceR h ε c)

tactic: split_ifs with h₀
state_before: ι : Type u
E : Type v
F : Type w
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace ℝ E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
I J : Box ι
π : TaggedPrepartition I
inst✝ : Fintype ι
l : IntegrationParams
f g : (ι → ℝ) → E
vol : ι →ᵇᵃ[⊤] E →L[ℝ] F
y y' : F
c✝ c₁ c₂ : ℝ≥0
ε✝ ε₁ ε₂ : ℝ
π₁ π₂ : TaggedPrepartition I
h : Integrable I l f vol
ε : ℝ
c : ℝ≥0
⊢ RCond l
    (dite (0 < ε)
      (fun hε =>
        Exists.choose
          (_ :
            ∃ r,
              (∀ (c : ℝ≥0), RCond l (r c)) ∧
                ∀ (c : ℝ≥0) (π : TaggedPrepartition I),
                  MemBaseSet l I c (r c) π → IsPartition π → dist (integralSum f vol π) (integral I l f vol) ≤ ε))
      (fun hε x x => { val := 1, property := convergenceR.proof_3 }) c)

tactic: exacts [(hasIntegral_iff.1 h.hasIntegral ε h₀).choose_spec.1 _, fun _ x => rfl]
state_before: case inl
ι : Type u
E : Type v
F : Type w
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace ℝ E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
I J : Box ι
π : TaggedPrepartition I
inst✝ : Fintype ι
l : IntegrationParams
f g : (ι → ℝ) → E
vol : ι →ᵇᵃ[⊤] E →L[ℝ] F
y y' : F
c✝ c₁ c₂ : ℝ≥0
ε✝ ε₁ ε₂ : ℝ
π₁ π₂ : TaggedPrepartition I
h : Integrable I l f vol
ε : ℝ
c : ℝ≥0
h₀ : 0 < ε
⊢ RCond l
    (Exists.choose
      (_ :
        ∃ r,
          (∀ (c : ℝ≥0), RCond l (r c)) ∧
            ∀ (c : ℝ≥0) (π : TaggedPrepartition I),
              MemBaseSet l I c (r c) π → IsPartition π → dist (integralSum f vol π) (integral I l f vol) ≤ ε)
      c)

case inr
ι : Type u
E : Type v
F : Type w
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace ℝ E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
I J : Box ι
π : TaggedPrepartition I
inst✝ : Fintype ι
l : IntegrationParams
f g : (ι → ℝ) → E
vol : ι →ᵇᵃ[⊤] E →L[ℝ] F
y y' : F
c✝ c₁ c₂ : ℝ≥0
ε✝ ε₁ ε₂ : ℝ
π₁ π₂ : TaggedPrepartition I
h : Integrable I l f vol
ε : ℝ
c : ℝ≥0
h₀ : ¬0 < ε
⊢ RCond l ((fun x x => { val := 1, property := convergenceR.proof_3 }) c)
Theorem: Real.sin_antiperiodic
File: Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean

tactic: simp [sin_add]
state_before: ⊢ Function.Antiperiodic sin π
Theorem: CategoryTheory.IsIso.inv_comp
File: Mathlib/CategoryTheory/Iso.lean

tactic: apply inv_eq_of_hom_inv_id
state_before: C : Type u
inst✝² : Category C
X Y Z : C
f g : X ⟶ Y
h : Y ⟶ Z
inst✝¹ : IsIso f
inst✝ : IsIso h
⊢ inv (f ≫ h) = inv h ≫ inv f

tactic: simp
state_before: case hom_inv_id
C : Type u
inst✝² : Category C
X Y Z : C
f g : X ⟶ Y
h : Y ⟶ Z
inst✝¹ : IsIso f
inst✝ : IsIso h
⊢ (f ≫ h) ≫ inv h ≫ inv f = 𝟙 X
Theorem: Fintype.prod_bool
File: Mathlib/Data/Fintype/BigOperators.lean

tactic: simp
state_before: α : Type u_1
β : Type ?u.14
γ : Type ?u.17
inst✝ : CommMonoid α
f : Bool → α
⊢ ∏ b : Bool, f b = f true * f false
Theorem: one_div_zpow
File: Mathlib/Algebra/GroupPower/Basic.lean

tactic: simp only [one_div, inv_zpow]
state_before: α : Type u_1
M : Type u
N : Type v
G : Type w
H : Type x
A : Type y
B : Type z
R : Type u₁
S : Type u₂
inst✝ : DivisionMonoid α
a✝ b a : α
n : ℤ
⊢ (1 / a) ^ n = 1 / a ^ n
Theorem: Rat.sub_eq_add_neg
File: Std/Data/Rat/Lemmas.lean

tactic: simp [add_def, sub_def, Int.neg_mul, Int.sub_eq_add_neg]
state_before: a b : Rat
⊢ a - b = a + -b
Theorem: List.dvd_sum
File: Mathlib/Data/List/BigOperators/Lemmas.lean

tactic: induction' l with x l ih
state_before: ι : Type ?u.11902
α : Type ?u.11905
M : Type ?u.11908
N : Type ?u.11911
P : Type ?u.11914
M₀ : Type ?u.11917
G : Type ?u.11920
R : Type u_1
inst✝ : Semiring R
a : R
l : List R
h : ∀ (x : R), x ∈ l → a ∣ x
⊢ a ∣ sum l

tactic: exact dvd_zero _
state_before: case nil
ι : Type ?u.11902
α : Type ?u.11905
M : Type ?u.11908
N : Type ?u.11911
P : Type ?u.11914
M₀ : Type ?u.11917
G : Type ?u.11920
R : Type u_1
inst✝ : Semiring R
a : R
l : List R
h✝ : ∀ (x : R), x ∈ l → a ∣ x
h : ∀ (x : R), x ∈ [] → a ∣ x
⊢ a ∣ sum []

tactic: rw [List.sum_cons]
state_before: case cons
ι : Type ?u.11902
α : Type ?u.11905
M : Type ?u.11908
N : Type ?u.11911
P : Type ?u.11914
M₀ : Type ?u.11917
G : Type ?u.11920
R : Type u_1
inst✝ : Semiring R
a : R
l✝ : List R
h✝ : ∀ (x : R), x ∈ l✝ → a ∣ x
x : R
l : List R
ih : (∀ (x : R), x ∈ l → a ∣ x) → a ∣ sum l
h : ∀ (x_1 : R), x_1 ∈ x :: l → a ∣ x_1
⊢ a ∣ sum (x :: l)

tactic: exact dvd_add (h _ (mem_cons_self _ _)) (ih fun x hx => h x (mem_cons_of_mem _ hx))
state_before: case cons
ι : Type ?u.11902
α : Type ?u.11905
M : Type ?u.11908
N : Type ?u.11911
P : Type ?u.11914
M₀ : Type ?u.11917
G : Type ?u.11920
R : Type u_1
inst✝ : Semiring R
a : R
l✝ : List R
h✝ : ∀ (x : R), x ∈ l✝ → a ∣ x
x : R
l : List R
ih : (∀ (x : R), x ∈ l → a ∣ x) → a ∣ sum l
h : ∀ (x_1 : R), x_1 ∈ x :: l → a ∣ x_1
⊢ a ∣ x + sum l
Theorem: Matrix.fromBlocks_map
File: Mathlib/Data/Matrix/Block.lean

tactic: ext (i j)
state_before: l : Type u_2
m : Type u_4
n : Type u_1
o : Type u_5
p : Type ?u.6743
q : Type ?u.6746
m' : o → Type ?u.6751
n' : o → Type ?u.6756
p' : o → Type ?u.6761
R : Type ?u.6764
S : Type ?u.6767
α : Type u_3
β : Type u_6
A : Matrix n l α
B : Matrix n m α
C : Matrix o l α
D : Matrix o m α
f : α → β
⊢ map (fromBlocks A B C D) f = fromBlocks (map A f) (map B f) (map C f) (map D f)

tactic: rcases i with ⟨⟩ <;> rcases j with ⟨⟩ <;> simp [fromBlocks]
state_before: case a.h
l : Type u_2
m : Type u_4
n : Type u_1
o : Type u_5
p : Type ?u.6743
q : Type ?u.6746
m' : o → Type ?u.6751
n' : o → Type ?u.6756
p' : o → Type ?u.6761
R : Type ?u.6764
S : Type ?u.6767
α : Type u_3
β : Type u_6
A : Matrix n l α
B : Matrix n m α
C : Matrix o l α
D : Matrix o m α
f : α → β
i : n ⊕ o
j : l ⊕ m
⊢ map (fromBlocks A B C D) f i j = fromBlocks (map A f) (map B f) (map C f) (map D f) i j
Theorem: ZFSet.mem_union
File: Mathlib/SetTheory/ZFC/Basic.lean

tactic: rw [← mem_toSet]
state_before: x y z : ZFSet
⊢ z ∈ x ∪ y ↔ z ∈ x ∨ z ∈ y

tactic: simp
state_before: x y z : ZFSet
⊢ z ∈ toSet (x ∪ y) ↔ z ∈ x ∨ z ∈ y
Theorem: AddMonoidAlgebra.of'_modOf
File: Mathlib/Algebra/MonoidAlgebra/Division.lean

tactic: simpa only [one_mul] using mul_of'_modOf (1 : AddMonoidAlgebra k G) g
state_before: k : Type u_1
G : Type u_2
inst✝¹ : Semiring k
inst✝ : AddCancelCommMonoid G
g : G
⊢ of' k G g %ᵒᶠ g = 0
Theorem: Finset.periodic_prod
File: Mathlib/Algebra/Periodic.lean

tactic: simpa [-Periodic]
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.39863
f✝ g : α → β
c c₁ c₂ x : α
inst✝¹ : Add α
inst✝ : CommMonoid β
ι : Type u_3
f : ι → α → β
s : Finset ι
hs : ∀ (i : ι), i ∈ s → Periodic (f i) c
⊢ ∀ (f_1 : α → β), f_1 ∈ List.map f (Finset.toList s) → Periodic f_1 c
Theorem: Wbtw.right_mem_affineSpan_of_left_ne
File: Mathlib/Analysis/Convex/Between.lean

tactic: rcases h.right_mem_image_Ici_of_left_ne hne with ⟨r, ⟨-, rfl⟩⟩
state_before: R : Type u_1
V : Type u_2
V' : Type ?u.489120
P : Type u_3
P' : Type ?u.489126
inst✝³ : LinearOrderedField R
inst✝² : AddCommGroup V
inst✝¹ : Module R V
inst✝ : AddTorsor V P
x y z : P
h : Wbtw R x y z
hne : x ≠ y
⊢ z ∈ affineSpan R {x, y}

tactic: exact lineMap_mem_affineSpan_pair _ _ _
state_before: case intro.intro
R : Type u_1
V : Type u_2
V' : Type ?u.489120
P : Type u_3
P' : Type ?u.489126
inst✝³ : LinearOrderedField R
inst✝² : AddCommGroup V
inst✝¹ : Module R V
inst✝ : AddTorsor V P
x y : P
hne : x ≠ y
r : R
h : Wbtw R x y (↑(lineMap x y) r)
⊢ ↑(lineMap x y) r ∈ affineSpan R {x, y}
Theorem: Matrix.cons_zero_zero
File: Mathlib/Data/Fin/VecNotation.lean

tactic: ext i
state_before: α : Type u
m n o : ℕ
m' : Type ?u.75560
n' : Type ?u.75563
o' : Type ?u.75566
inst✝ : Zero α
⊢ vecCons 0 0 = 0

tactic: refine' Fin.cases _ _ i
state_before: case h
α : Type u
m n o : ℕ
m' : Type ?u.75560
n' : Type ?u.75563
o' : Type ?u.75566
inst✝ : Zero α
i : Fin (Nat.succ n)
⊢ vecCons 0 0 i = OfNat.ofNat 0 i

tactic: simp
state_before: case h.refine'_2
α : Type u
m n o : ℕ
m' : Type ?u.75560
n' : Type ?u.75563
o' : Type ?u.75566
inst✝ : Zero α
i : Fin (Nat.succ n)
⊢ ∀ (i : Fin n), vecCons 0 0 (Fin.succ i) = OfNat.ofNat 0 (Fin.succ i)

tactic: rfl
state_before: case h.refine'_1
α : Type u
m n o : ℕ
m' : Type ?u.75560
n' : Type ?u.75563
o' : Type ?u.75566
inst✝ : Zero α
i : Fin (Nat.succ n)
⊢ vecCons 0 0 0 = OfNat.ofNat 0 0