tasksource/leandojo huggingface dataset:
Theorem: BoxIntegral.integral_nonneg
File: Mathlib/Analysis/BoxIntegral/Basic.lean

tactic: by_cases hgi : Integrable I l g μ.toBoxAdditive.toSMul
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
g : (ι → ℝ) → ℝ
hg : ∀ (x : ι → ℝ), x ∈ ↑Box.Icc I → 0 ≤ g x
μ : MeasureTheory.Measure (ι → ℝ)
inst✝ : IsLocallyFiniteMeasure μ
⊢ 0 ≤ integral I l g (BoxAdditiveMap.toSMul (Measure.toBoxAdditive μ))

tactic: refine ge_of_tendsto' hgi.hasIntegral fun π => sum_nonneg fun J _ => ?_
state_before: case pos
ι : 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
g : (ι → ℝ) → ℝ
hg : ∀ (x : ι → ℝ), x ∈ ↑Box.Icc I → 0 ≤ g x
μ : MeasureTheory.Measure (ι → ℝ)
inst✝ : IsLocallyFiniteMeasure μ
hgi : Integrable I l g (BoxAdditiveMap.toSMul (Measure.toBoxAdditive μ))
⊢ 0 ≤ integral I l g (BoxAdditiveMap.toSMul (Measure.toBoxAdditive μ))

tactic: exact mul_nonneg ENNReal.toReal_nonneg (hg _ <| π.tag_mem_Icc _)
state_before: case pos
ι : 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
g : (ι → ℝ) → ℝ
hg : ∀ (x : ι → ℝ), x ∈ ↑Box.Icc I → 0 ≤ g x
μ : MeasureTheory.Measure (ι → ℝ)
inst✝ : IsLocallyFiniteMeasure μ
hgi : Integrable I l g (BoxAdditiveMap.toSMul (Measure.toBoxAdditive μ))
π : TaggedPrepartition I
J : Box ι
x✝ : J ∈ π.boxes
⊢ 0 ≤ ↑(↑(BoxAdditiveMap.toSMul (Measure.toBoxAdditive μ)) J) (g (tag π J))

tactic: rw [integral, dif_neg hgi]
state_before: case neg
ι : 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
g : (ι → ℝ) → ℝ
hg : ∀ (x : ι → ℝ), x ∈ ↑Box.Icc I → 0 ≤ g x
μ : MeasureTheory.Measure (ι → ℝ)
inst✝ : IsLocallyFiniteMeasure μ
hgi : ¬Integrable I l g (BoxAdditiveMap.toSMul (Measure.toBoxAdditive μ))
⊢ 0 ≤ integral I l g (BoxAdditiveMap.toSMul (Measure.toBoxAdditive μ))
Theorem: AffineSubspace.pointwise_vadd_bot
File: Mathlib/LinearAlgebra/AffineSpace/Pointwise.lean

tactic: ext
state_before: k : Type u_2
inst✝⁹ : Ring k
V : Type u_3
P : Type u_1
V₁ : Type ?u.20295
P₁ : Type ?u.20298
V₂ : Type ?u.20301
P₂ : Type ?u.20304
inst✝⁸ : AddCommGroup V
inst✝⁷ : Module k V
inst✝⁶ : AffineSpace V P
inst✝⁵ : AddCommGroup V₁
inst✝⁴ : Module k V₁
inst✝³ : AffineSpace V₁ P₁
inst✝² : AddCommGroup V₂
inst✝¹ : Module k V₂
inst✝ : AffineSpace V₂ P₂
v : V
⊢ v +ᵥ ⊥ = ⊥

tactic: simp [pointwise_vadd_eq_map, map_bot]
state_before: case h
k : Type u_2
inst✝⁹ : Ring k
V : Type u_3
P : Type u_1
V₁ : Type ?u.20295
P₁ : Type ?u.20298
V₂ : Type ?u.20301
P₂ : Type ?u.20304
inst✝⁸ : AddCommGroup V
inst✝⁷ : Module k V
inst✝⁶ : AffineSpace V P
inst✝⁵ : AddCommGroup V₁
inst✝⁴ : Module k V₁
inst✝³ : AffineSpace V₁ P₁
inst✝² : AddCommGroup V₂
inst✝¹ : Module k V₂
inst✝ : AffineSpace V₂ P₂
v : V
x✝ : P
⊢ x✝ ∈ v +ᵥ ⊥ ↔ x✝ ∈ ⊥
Theorem: Polynomial.eraseLead_support
File: Mathlib/Data/Polynomial/EraseLead.lean

tactic: simp only [eraseLead, support_erase]
state_before: R : Type u_1
inst✝ : Semiring R
f✝ f : R[X]
⊢ support (eraseLead f) = Finset.erase (support f) (natDegree f)
Theorem: image2_upperBounds_upperBounds_subset
File: Mathlib/Order/Bounds/Basic.lean

tactic: rintro _ ⟨a, b, ha, hb, rfl⟩
state_before: α : Type u
β : Type v
γ : Type w
ι : Sort x
inst✝² : Preorder α
inst✝¹ : Preorder β
inst✝ : Preorder γ
f : α → β → γ
s : Set α
t : Set β
a : α
b : β
h₀ : ∀ (b : β), Monotone (swap f b)
h₁ : ∀ (a : α), Monotone (f a)
⊢ image2 f (upperBounds s) (upperBounds t) ⊆ upperBounds (image2 f s t)

tactic: exact mem_upperBounds_image2 h₀ h₁ ha hb
state_before: case intro.intro.intro.intro
α : Type u
β : Type v
γ : Type w
ι : Sort x
inst✝² : Preorder α
inst✝¹ : Preorder β
inst✝ : Preorder γ
f : α → β → γ
s : Set α
t : Set β
a✝ : α
b✝ : β
h₀ : ∀ (b : β), Monotone (swap f b)
h₁ : ∀ (a : α), Monotone (f a)
a : α
b : β
ha : a ∈ upperBounds s
hb : b ∈ upperBounds t
⊢ f a b ∈ upperBounds (image2 f s t)
Theorem: ZMod.valMinAbs_mem_Ioc
File: Mathlib/Data/ZMod/Basic.lean

tactic: simp_rw [valMinAbs_def_pos, Nat.le_div_two_iff_mul_two_le]
state_before: n : ℕ
inst✝ : NeZero n
x : ZMod n
⊢ valMinAbs x * 2 ∈ Set.Ioc (-↑n) ↑n

tactic: split_ifs with h
state_before: n : ℕ
inst✝ : NeZero n
x : ZMod n
⊢ (if ↑(val x) * 2 ≤ ↑n then ↑(val x) else ↑(val x) - ↑n) * 2 ∈ Set.Ioc (-↑n) ↑n

tactic: refine' ⟨(neg_lt_zero.2 <| by exact_mod_cast NeZero.pos n).trans_le (mul_nonneg _ _), h⟩
state_before: case inl
n : ℕ
inst✝ : NeZero n
x : ZMod n
h : ↑(val x) * 2 ≤ ↑n
⊢ ↑(val x) * 2 ∈ Set.Ioc (-↑n) ↑n

tactic: exacts [Nat.cast_nonneg _, zero_le_two]
state_before: case inl.refine'_1
n : ℕ
inst✝ : NeZero n
x : ZMod n
h : ↑(val x) * 2 ≤ ↑n
⊢ 0 ≤ ↑(val x)

case inl.refine'_2
n : ℕ
inst✝ : NeZero n
x : ZMod n
h : ↑(val x) * 2 ≤ ↑n
⊢ 0 ≤ 2

tactic: exact_mod_cast NeZero.pos n
state_before: n : ℕ
inst✝ : NeZero n
x : ZMod n
h : ↑(val x) * 2 ≤ ↑n
⊢ 0 < ↑n

tactic: refine' ⟨_, le_trans (mul_nonpos_of_nonpos_of_nonneg _ zero_le_two) <| Nat.cast_nonneg _⟩
state_before: case inr
n : ℕ
inst✝ : NeZero n
x : ZMod n
h : ¬↑(val x) * 2 ≤ ↑n
⊢ (↑(val x) - ↑n) * 2 ∈ Set.Ioc (-↑n) ↑n

tactic: linarith only [h]
state_before: case inr.refine'_1
n : ℕ
inst✝ : NeZero n
x : ZMod n
h : ¬↑(val x) * 2 ≤ ↑n
⊢ -↑n < (↑(val x) - ↑n) * 2

tactic: rw [sub_nonpos, Int.ofNat_le]
state_before: case inr.refine'_2
n : ℕ
inst✝ : NeZero n
x : ZMod n
h : ¬↑(val x) * 2 ≤ ↑n
⊢ ↑(val x) - ↑n ≤ 0

tactic: exact x.val_lt.le
state_before: case inr.refine'_2
n : ℕ
inst✝ : NeZero n
x : ZMod n
h : ¬↑(val x) * 2 ≤ ↑n
⊢ val x ≤ n
Theorem: LinearIndependent.repr_eq_single
File: Mathlib/LinearAlgebra/LinearIndependent.lean

tactic: apply hv.repr_eq
state_before: ι : Type u'
ι' : Type ?u.455472
R : Type u_2
K : Type ?u.455478
M : Type u_1
M' : Type ?u.455484
M'' : Type ?u.455487
V : Type u
V' : Type ?u.455492
v : ι → M
inst✝⁶ : Ring R
inst✝⁵ : AddCommGroup M
inst✝⁴ : AddCommGroup M'
inst✝³ : AddCommGroup M''
inst✝² : Module R M
inst✝¹ : Module R M'
inst✝ : Module R M''
a b : R
x✝ y : M
hv : LinearIndependent R v
i : ι
x : { x // x ∈ span R (range v) }
hx : ↑x = v i
⊢ ↑(repr hv) x = Finsupp.single i 1

tactic: simp [Finsupp.total_single, hx]
state_before: ι : Type u'
ι' : Type ?u.455472
R : Type u_2
K : Type ?u.455478
M : Type u_1
M' : Type ?u.455484
M'' : Type ?u.455487
V : Type u
V' : Type ?u.455492
v : ι → M
inst✝⁶ : Ring R
inst✝⁵ : AddCommGroup M
inst✝⁴ : AddCommGroup M'
inst✝³ : AddCommGroup M''
inst✝² : Module R M
inst✝¹ : Module R M'
inst✝ : Module R M''
a b : R
x✝ y : M
hv : LinearIndependent R v
i : ι
x : { x // x ∈ span R (range v) }
hx : ↑x = v i
⊢ ↑(Finsupp.total ι M R v) (Finsupp.single i 1) = ↑x
Theorem: LinearMap.isSymmetric_adjoint_mul_self
File: Mathlib/Analysis/InnerProductSpace/Adjoint.lean

tactic: intro x y
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type ?u.2257909
G : Type ?u.2257912
inst✝⁹ : IsROrC 𝕜
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedAddCommGroup G
inst✝⁵ : InnerProductSpace 𝕜 E
inst✝⁴ : InnerProductSpace 𝕜 F
inst✝³ : InnerProductSpace 𝕜 G
inst✝² : FiniteDimensional 𝕜 E
inst✝¹ : FiniteDimensional 𝕜 F
inst✝ : FiniteDimensional 𝕜 G
T : E →ₗ[𝕜] E
⊢ IsSymmetric (↑adjoint T * T)

tactic: simp only [mul_apply, adjoint_inner_left, adjoint_inner_right]
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type ?u.2257909
G : Type ?u.2257912
inst✝⁹ : IsROrC 𝕜
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedAddCommGroup G
inst✝⁵ : InnerProductSpace 𝕜 E
inst✝⁴ : InnerProductSpace 𝕜 F
inst✝³ : InnerProductSpace 𝕜 G
inst✝² : FiniteDimensional 𝕜 E
inst✝¹ : FiniteDimensional 𝕜 F
inst✝ : FiniteDimensional 𝕜 G
T : E →ₗ[𝕜] E
x y : E
⊢ inner (↑(↑adjoint T * T) x) y = inner x (↑(↑adjoint T * T) y)
Theorem: FractionalIdeal.coeIdeal_mul
File: Mathlib/RingTheory/FractionalIdeal.lean

tactic: simp only [mul_def]
state_before: R : Type u_1
inst✝² : CommRing R
S : Submonoid R
P : Type u_2
inst✝¹ : CommRing P
inst✝ : Algebra R P
loc : IsLocalization S P
I J : Ideal R
⊢ ↑(I * J) = ↑I * ↑J

tactic: exact coeToSubmodule_injective (coeSubmodule_mul _ _ _)
state_before: R : Type u_1
inst✝² : CommRing R
S : Submonoid R
P : Type u_2
inst✝¹ : CommRing P
inst✝ : Algebra R P
loc : IsLocalization S P
I J : Ideal R
⊢ ↑(I * J) = { val := ↑↑I * ↑↑J, property := (_ : IsFractional S (↑↑I * ↑↑J)) }
Theorem: Metric.cthickening_of_nonpos
File: Mathlib/Topology/MetricSpace/HausdorffDistance.lean

tactic: ext x
state_before: ι : Sort ?u.100738
α : Type u
β : Type v
inst✝ : PseudoEMetricSpace α
δ✝ ε : ℝ
s t : Set α
x : α
δ : ℝ
hδ : δ ≤ 0
E : Set α
⊢ cthickening δ E = closure E

tactic: simp [mem_closure_iff_infEdist_zero, cthickening, ENNReal.ofReal_eq_zero.2 hδ]
state_before: case h
ι : Sort ?u.100738
α : Type u
β : Type v
inst✝ : PseudoEMetricSpace α
δ✝ ε : ℝ
s t : Set α
x✝ : α
δ : ℝ
hδ : δ ≤ 0
E : Set α
x : α
⊢ x ∈ cthickening δ E ↔ x ∈ closure E
Theorem: MeasureTheory.weightedSMul_null
File: Mathlib/MeasureTheory/Integral/Bochner.lean

tactic: ext1 x
state_before: α : Type u_1
E : Type ?u.45896
F : Type u_2
𝕜 : Type ?u.45902
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
m : MeasurableSpace α
μ : Measure α
s : Set α
h_zero : ↑↑μ s = 0
⊢ weightedSMul μ s = 0

tactic: rw [weightedSMul_apply, h_zero]
state_before: case h
α : Type u_1
E : Type ?u.45896
F : Type u_2
𝕜 : Type ?u.45902
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
m : MeasurableSpace α
μ : Measure α
s : Set α
h_zero : ↑↑μ s = 0
x : F
⊢ ↑(weightedSMul μ s) x = ↑0 x

tactic: simp
state_before: case h
α : Type u_1
E : Type ?u.45896
F : Type u_2
𝕜 : Type ?u.45902
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
m : MeasurableSpace α
μ : Measure α
s : Set α
h_zero : ↑↑μ s = 0
x : F
⊢ ENNReal.toReal 0 • x = ↑0 x
Theorem: Submodule.comap_snd
File: Mathlib/LinearAlgebra/Prod.lean

tactic: ext ⟨x, y⟩
state_before: R : Type u
K : Type u'
M : Type v
V : Type v'
M₂ : Type w
V₂ : Type w'
M₃ : Type y
V₃ : Type y'
M₄ : Type z
ι : Type x
M₅ : Type ?u.300051
M₆ : Type ?u.300054
inst✝⁴ : Semiring R
inst✝³ : AddCommMonoid M
inst✝² : AddCommMonoid M₂
inst✝¹ : Module R M
inst✝ : Module R M₂
p : Submodule R M
q : Submodule R M₂
⊢ comap (snd R M M₂) q = prod ⊤ q

tactic: simp
state_before: case h.mk
R : Type u
K : Type u'
M : Type v
V : Type v'
M₂ : Type w
V₂ : Type w'
M₃ : Type y
V₃ : Type y'
M₄ : Type z
ι : Type x
M₅ : Type ?u.300051
M₆ : Type ?u.300054
inst✝⁴ : Semiring R
inst✝³ : AddCommMonoid M
inst✝² : AddCommMonoid M₂
inst✝¹ : Module R M
inst✝ : Module R M₂
p : Submodule R M
q : Submodule R M₂
x : M
y : M₂
⊢ (x, y) ∈ comap (snd R M M₂) q ↔ (x, y) ∈ prod ⊤ q
Theorem: List.getLast?_append_of_ne_nil
File: Mathlib/Data/List/Basic.lean

tactic: contradiction
state_before: ι : Type ?u.40889
α : Type u
β : Type v
γ : Type w
δ : Type x
l₁✝ l₂ l₁ : List α
hl₂ : [] ≠ []
⊢ getLast? (l₁ ++ []) = getLast? []
Theorem: Subgroup.closure_toSubmonoid
File: Mathlib/GroupTheory/Subgroup/Pointwise.lean

tactic: refine le_antisymm (fun x hx => ?_) (Submonoid.closure_le.2 ?_)
state_before: α : Type ?u.1425
G : Type u_1
A : Type ?u.1431
S✝ : Type ?u.1434
inst✝¹ : Group G
inst✝ : AddGroup A
s S : Set G
⊢ (closure S).toSubmonoid = Submonoid.closure (S ∪ S⁻¹)

tactic: refine'
  closure_induction hx
    (fun x hx => Submonoid.closure_mono (subset_union_left S S⁻¹) (Submonoid.subset_closure hx))
    (Submonoid.one_mem _) (fun x y hx hy => Submonoid.mul_mem _ hx hy) fun x hx => _
state_before: case refine_1
α : Type ?u.1425
G : Type u_1
A : Type ?u.1431
S✝ : Type ?u.1434
inst✝¹ : Group G
inst✝ : AddGroup A
s S : Set G
x : G
hx : x ∈ (closure S).toSubmonoid
⊢ x ∈ Submonoid.closure (S ∪ S⁻¹)

tactic: rwa [← Submonoid.mem_closure_inv, Set.union_inv, inv_inv, Set.union_comm]
state_before: case refine_1
α : Type ?u.1425
G : Type u_1
A : Type ?u.1431
S✝ : Type ?u.1434
inst✝¹ : Group G
inst✝ : AddGroup A
s S : Set G
x✝ : G
hx✝ : x✝ ∈ (closure S).toSubmonoid
x : G
hx : x ∈ Submonoid.closure (S ∪ S⁻¹)
⊢ x⁻¹ ∈ Submonoid.closure (S ∪ S⁻¹)

tactic: simp only [true_and_iff, coe_toSubmonoid, union_subset_iff, subset_closure, inv_subset_closure]
state_before: case refine_2
α : Type ?u.1425
G : Type u_1
A : Type ?u.1431
S✝ : Type ?u.1434
inst✝¹ : Group G
inst✝ : AddGroup A
s S : Set G
⊢ S ∪ S⁻¹ ⊆ ↑(closure S).toSubmonoid
Theorem: InnerProductSpace.ext_inner_right_basis
File: Mathlib/Analysis/InnerProductSpace/Dual.lean

tactic: refine' ext_inner_left_basis b fun i => _
state_before: 𝕜 : Type u_2
E : Type u_3
inst✝² : IsROrC 𝕜
inst✝¹ : NormedAddCommGroup E
inst✝ : InnerProductSpace 𝕜 E
ι : Type u_1
x y : E
b : Basis ι 𝕜 E
h : ∀ (i : ι), inner x (↑b i) = inner y (↑b i)
⊢ x = y

tactic: rw [← inner_conj_symm]
state_before: 𝕜 : Type u_2
E : Type u_3
inst✝² : IsROrC 𝕜
inst✝¹ : NormedAddCommGroup E
inst✝ : InnerProductSpace 𝕜 E
ι : Type u_1
x y : E
b : Basis ι 𝕜 E
h : ∀ (i : ι), inner x (↑b i) = inner y (↑b i)
i : ι
⊢ inner (↑b i) x = inner (↑b i) y

tactic: conv_rhs => rw [← inner_conj_symm]
state_before: 𝕜 : Type u_2
E : Type u_3
inst✝² : IsROrC 𝕜
inst✝¹ : NormedAddCommGroup E
inst✝ : InnerProductSpace 𝕜 E
ι : Type u_1
x y : E
b : Basis ι 𝕜 E
h : ∀ (i : ι), inner x (↑b i) = inner y (↑b i)
i : ι
⊢ ↑(starRingEnd 𝕜) (inner x (↑b i)) = inner (↑b i) y

tactic: exact congr_arg conj (h i)
state_before: 𝕜 : Type u_2
E : Type u_3
inst✝² : IsROrC 𝕜
inst✝¹ : NormedAddCommGroup E
inst✝ : InnerProductSpace 𝕜 E
ι : Type u_1
x y : E
b : Basis ι 𝕜 E
h : ∀ (i : ι), inner x (↑b i) = inner y (↑b i)
i : ι
⊢ ↑(starRingEnd 𝕜) (inner x (↑b i)) = ↑(starRingEnd 𝕜) (inner y (↑b i))
Theorem: Dfinsupp.card_Ico
File: Mathlib/Data/Dfinsupp/Interval.lean

tactic: rw [card_Ico_eq_card_Icc_sub_one, card_Icc]
state_before: ι : Type u_1
α : ι → Type u_2
inst✝⁴ : DecidableEq ι
inst✝³ : (i : ι) → DecidableEq (α i)
inst✝² : (i : ι) → PartialOrder (α i)
inst✝¹ : (i : ι) → Zero (α i)
inst✝ : (i : ι) → LocallyFiniteOrder (α i)
f g : Π₀ (i : ι), α i
⊢ card (Ico f g) = ∏ i in support f ∪ support g, card (Icc (↑f i) (↑g i)) - 1
Theorem: not_specializes_iff_exists_closed
File: Mathlib/Topology/Inseparable.lean

tactic: rw [specializes_iff_forall_closed]
state_before: X : Type u_1
Y : Type ?u.17180
Z : Type ?u.17183
α : Type ?u.17186
ι : Type ?u.17189
π : ι → Type ?u.17194
inst✝³ : TopologicalSpace X
inst✝² : TopologicalSpace Y
inst✝¹ : TopologicalSpace Z
inst✝ : (i : ι) → TopologicalSpace (π i)
x y z : X
s : Set X
f : X → Y
⊢ ¬x ⤳ y ↔ ∃ S, IsClosed S ∧ x ∈ S ∧ ¬y ∈ S

tactic: push_neg
state_before: X : Type u_1
Y : Type ?u.17180
Z : Type ?u.17183
α : Type ?u.17186
ι : Type ?u.17189
π : ι → Type ?u.17194
inst✝³ : TopologicalSpace X
inst✝² : TopologicalSpace Y
inst✝¹ : TopologicalSpace Z
inst✝ : (i : ι) → TopologicalSpace (π i)
x y z : X
s : Set X
f : X → Y
⊢ (¬∀ (s : Set X), IsClosed s → x ∈ s → y ∈ s) ↔ ∃ S, IsClosed S ∧ x ∈ S ∧ ¬y ∈ S

tactic: rfl
state_before: X : Type u_1
Y : Type ?u.17180
Z : Type ?u.17183
α : Type ?u.17186
ι : Type ?u.17189
π : ι → Type ?u.17194
inst✝³ : TopologicalSpace X
inst✝² : TopologicalSpace Y
inst✝¹ : TopologicalSpace Z
inst✝ : (i : ι) → TopologicalSpace (π i)
x y z : X
s : Set X
f : X → Y
⊢ (∃ s, IsClosed s ∧ x ∈ s ∧ ¬y ∈ s) ↔ ∃ S, IsClosed S ∧ x ∈ S ∧ ¬y ∈ S
Theorem: Finset.sum_centroidWeightsIndicator_eq_one_of_card_ne_zero
File: Mathlib/LinearAlgebra/AffineSpace/Combination.lean

tactic: rw [sum_centroidWeightsIndicator]
state_before: k : Type u_1
V : Type ?u.515638
P : Type ?u.515641
inst✝⁵ : DivisionRing k
inst✝⁴ : AddCommGroup V
inst✝³ : Module k V
inst✝² : AffineSpace V P
ι : Type u_2
s : Finset ι
ι₂ : Type ?u.516160
s₂ : Finset ι₂
inst✝¹ : CharZero k
inst✝ : Fintype ι
h : card s ≠ 0
⊢ ∑ i : ι, centroidWeightsIndicator k s i = 1

tactic: exact s.sum_centroidWeights_eq_one_of_card_ne_zero k h
state_before: k : Type u_1
V : Type ?u.515638
P : Type ?u.515641
inst✝⁵ : DivisionRing k
inst✝⁴ : AddCommGroup V
inst✝³ : Module k V
inst✝² : AffineSpace V P
ι : Type u_2
s : Finset ι
ι₂ : Type ?u.516160
s₂ : Finset ι₂
inst✝¹ : CharZero k
inst✝ : Fintype ι
h : card s ≠ 0
⊢ ∑ i in s, centroidWeights k s i = 1
Theorem: MeasureTheory.integral_add_compl₀
File: Mathlib/MeasureTheory/Integral/SetIntegral.lean

tactic: rw [← integral_union_ae (@disjoint_compl_right (Set α) _ _).aedisjoint hs.compl hfi.integrableOn
    hfi.integrableOn,
  union_compl_self, integral_univ]
state_before: α : Type u_1
β : Type ?u.33444
E : Type u_2
F : Type ?u.33450
inst✝³ : MeasurableSpace α
inst✝² : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
hs : NullMeasurableSet s
hfi : Integrable f
⊢ ((∫ (x : α) in s, f x ∂μ) + ∫ (x : α) in sᶜ, f x ∂μ) = ∫ (x : α), f x ∂μ
Theorem: MeasureTheory.Measure.add_haar_affineSubspace
File: Mathlib/MeasureTheory/Measure/Lebesgue/EqHaar.lean

tactic: rcases s.eq_bot_or_nonempty with (rfl | hne)
state_before: E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : AffineSubspace ℝ E
hs : s ≠ ⊤
⊢ ↑↑μ ↑s = 0

tactic: rw [Ne.def, ← AffineSubspace.direction_eq_top_iff_of_nonempty hne] at hs
state_before: case inr
E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : AffineSubspace ℝ E
hs : s ≠ ⊤
hne : Set.Nonempty ↑s
⊢ ↑↑μ ↑s = 0

tactic: rcases hne with ⟨x, hx : x ∈ s⟩
state_before: case inr
E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : AffineSubspace ℝ E
hs : ¬AffineSubspace.direction s = ⊤
hne : Set.Nonempty ↑s
⊢ ↑↑μ ↑s = 0

tactic: simpa only [AffineSubspace.coe_direction_eq_vsub_set_right hx, vsub_eq_sub, sub_eq_add_neg,
  image_add_right, neg_neg, measure_preimage_add_right] using add_haar_submodule μ s.direction hs
state_before: case inr.intro
E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
s : AffineSubspace ℝ E
hs : ¬AffineSubspace.direction s = ⊤
x : E
hx : x ∈ s
⊢ ↑↑μ ↑s = 0

tactic: rw [AffineSubspace.bot_coe, measure_empty]
state_before: case inl
E : Type u_1
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : MeasurableSpace E
inst✝² : BorelSpace E
inst✝¹ : FiniteDimensional ℝ E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
hs : ⊥ ≠ ⊤
⊢ ↑↑μ ↑⊥ = 0
Theorem: bernoulli_zero
File: Mathlib/NumberTheory/Bernoulli.lean

tactic: simp [bernoulli]
state_before: A : Type ?u.633185
inst✝¹ : CommRing A
inst✝ : Algebra ℚ A
⊢ bernoulli 0 = 1
Theorem: Set.singleton_prod_singleton
File: Mathlib/Data/Set/Prod.lean

tactic: simp
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.11021
δ : Type ?u.11024
s s₁ s₂ : Set α
t t₁ t₂ : Set β
a : α
b : β
⊢ {a} ×ˢ {b} = {(a, b)}
Theorem: pochhammer_eval_zero
File: Mathlib/RingTheory/Polynomial/Pochhammer.lean

tactic: cases n
state_before: S : Type u
inst✝ : Semiring S
n : ℕ
⊢ eval 0 (pochhammer S n) = if n = 0 then 1 else 0

tactic: simp
state_before: case zero
S : Type u
inst✝ : Semiring S
⊢ eval 0 (pochhammer S Nat.zero) = if Nat.zero = 0 then 1 else 0

tactic: simp [X_mul, Nat.succ_ne_zero, pochhammer_succ_left]
state_before: case succ
S : Type u
inst✝ : Semiring S
n✝ : ℕ
⊢ eval 0 (pochhammer S (Nat.succ n✝)) = if Nat.succ n✝ = 0 then 1 else 0
Theorem: Filter.hasBasis_principal
File: Mathlib/Order/Filter/Bases.lean

tactic: simp
state_before: α : Type u_1
β : Type ?u.38177
γ : Type ?u.38180
ι : Sort ?u.38183
ι' : Sort ?u.38186
l l' : Filter α
p : ι → Prop
s : ι → Set α
t✝ : Set α
i : ι
p' : ι' → Prop
s' : ι' → Set α
i' : ι'
t U : Set α
⊢ U ∈ 𝓟 t ↔ ∃ i, True ∧ t ⊆ U
Theorem: Cardinal.sum_le_sum
File: Mathlib/SetTheory/Cardinal/Basic.lean

tactic: have := H i
state_before: α β : Type u
ι : Type u_1
f g : ι → Cardinal
H : ∀ (i : ι), f i ≤ g i
i : ι
⊢ Nonempty (Quotient.out (f i) ↪ Quotient.out (g (↑(Embedding.refl ι) i)))

tactic: rwa [← Quot.out_eq (f i), ← Quot.out_eq (g i)] at this
state_before: α β : Type u
ι : Type u_1
f g : ι → Cardinal
H : ∀ (i : ι), f i ≤ g i
i : ι
this : f i ≤ g i
⊢ Nonempty (Quotient.out (f i) ↪ Quotient.out (g (↑(Embedding.refl ι) i)))
Theorem: LinearIsometry.re_apply_eq_re_of_add_conj_eq
File: Mathlib/Analysis/Complex/Isometry.lean

tactic: simpa [ext_iff, add_re, add_im, conj_re, conj_im, ← two_mul,
  show (2 : ℝ) ≠ 0 by simp [two_ne_zero]] using (h₃ z).symm
state_before: f : ℂ →ₗᵢ[ℝ] ℂ
h₃ : ∀ (z : ℂ), z + ↑(starRingEnd ℂ) z = ↑f z + ↑(starRingEnd ((fun x => ℂ) z)) (↑f z)
z : ℂ
⊢ (↑f z).re = z.re

tactic: simp [two_ne_zero]
state_before: f : ℂ →ₗᵢ[ℝ] ℂ
h₃ : ∀ (z : ℂ), z + ↑(starRingEnd ℂ) z = ↑f z + ↑(starRingEnd ((fun x => ℂ) z)) (↑f z)
z : ℂ
⊢ 2 ≠ 0
Theorem: Real.range_sin_infinite
File: Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean

tactic: rw [Real.range_sin]
state_before: ⊢ Set.Infinite (range sin)

tactic: exact Icc_infinite (by norm_num)
state_before: ⊢ Set.Infinite (Icc (-1) 1)

tactic: norm_num
state_before: ⊢ -1 < 1
Theorem: List.cons_subset
File: Std/Data/List/Lemmas.lean

tactic: simp only [subset_def, mem_cons, or_imp, forall_and, forall_eq]
state_before: α✝ : Type u_1
a : α✝
l m : List α✝
⊢ a :: l ⊆ m ↔ a ∈ m ∧ l ⊆ m
Theorem: Dfinsupp.comapDomain'_single
File: Mathlib/Data/Dfinsupp/Basic.lean

tactic: ext i
state_before: ι : Type u
γ : Type w
β : ι → Type v
β₁ : ι → Type v₁
β₂ : ι → Type v₂
dec : DecidableEq ι
κ : Type u_1
inst✝² : DecidableEq ι
inst✝¹ : DecidableEq κ
inst✝ : (i : ι) → Zero (β i)
h : κ → ι
h' : ι → κ
hh' : Function.LeftInverse h' h
k : κ
x : β (h k)
⊢ comapDomain' h hh' (single (h k) x) = single k x

tactic: rw [comapDomain'_apply]
state_before: case h
ι : Type u
γ : Type w
β : ι → Type v
β₁ : ι → Type v₁
β₂ : ι → Type v₂
dec : DecidableEq ι
κ : Type u_1
inst✝² : DecidableEq ι
inst✝¹ : DecidableEq κ
inst✝ : (i : ι) → Zero (β i)
h : κ → ι
h' : ι → κ
hh' : Function.LeftInverse h' h
k : κ
x : β (h k)
i : κ
⊢ ↑(comapDomain' h hh' (single (h k) x)) i = ↑(single k x) i

tactic: obtain rfl | hik := Decidable.eq_or_ne i k
state_before: case h
ι : Type u
γ : Type w
β : ι → Type v
β₁ : ι → Type v₁
β₂ : ι → Type v₂
dec : DecidableEq ι
κ : Type u_1
inst✝² : DecidableEq ι
inst✝¹ : DecidableEq κ
inst✝ : (i : ι) → Zero (β i)
h : κ → ι
h' : ι → κ
hh' : Function.LeftInverse h' h
k : κ
x : β (h k)
i : κ
⊢ ↑(single (h k) x) (h i) = ↑(single k x) i

tactic: rw [single_eq_same, single_eq_same]
state_before: case h.inl
ι : Type u
γ : Type w
β : ι → Type v
β₁ : ι → Type v₁
β₂ : ι → Type v₂
dec : DecidableEq ι
κ : Type u_1
inst✝² : DecidableEq ι
inst✝¹ : DecidableEq κ
inst✝ : (i : ι) → Zero (β i)
h : κ → ι
h' : ι → κ
hh' : Function.LeftInverse h' h
i : κ
x : β (h i)
⊢ ↑(single (h i) x) (h i) = ↑(single i x) i

tactic: rw [single_eq_of_ne hik.symm, single_eq_of_ne (hh'.injective.ne hik.symm)]
state_before: case h.inr
ι : Type u
γ : Type w
β : ι → Type v
β₁ : ι → Type v₁
β₂ : ι → Type v₂
dec : DecidableEq ι
κ : Type u_1
inst✝² : DecidableEq ι
inst✝¹ : DecidableEq κ
inst✝ : (i : ι) → Zero (β i)
h : κ → ι
h' : ι → κ
hh' : Function.LeftInverse h' h
k : κ
x : β (h k)
i : κ
hik : i ≠ k
⊢ ↑(single (h k) x) (h i) = ↑(single k x) i