1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: Finset.sum_powerset_neg_one_pow_card
File: Mathlib/Data/Nat/Choose/Sum.lean

tactic: rw [sum_powerset_apply_card]
state_before: R : Type u_1
α : Type u_2
inst✝ : DecidableEq α
x : Finset α
⊢ ∑ m ∈ x.powerset, (-1) ^ m.card = if x = ∅ then 1 else 0
state_after: R : Type u_1
α : Type u_2
inst✝ : DecidableEq α
x : Finset α
⊢ ∑ m ∈ range (x.card + 1), x.card.choose m • (-1) ^ m = if x = ∅ then 1 else 0

tactic: simp only [nsmul_eq_mul', ← card_eq_zero, Int.alternating_sum_range_choose]
state_before: R : Type u_1
α : Type u_2
inst✝ : DecidableEq α
x : Finset α
⊢ ∑ m ∈ range (x.card + 1), x.card.choose m • (-1) ^ m = if x = ∅ then 1 else 0
state_after: no goals
Theorem: ProbabilityTheory.variance_smul'
File: Mathlib/Probability/Variance.lean

tactic: convert variance_smul (algebraMap A ℝ c) X μ using 1
state_before: Ω : Type u_1
m : MeasurableSpace Ω
X✝ : Ω → ℝ
μ✝ : Measure Ω
A : Type u_2
inst✝¹ : CommSemiring A
inst✝ : Algebra A ℝ
c : A
X : Ω → ℝ
μ : Measure Ω
⊢ variance (c • X) μ = c ^ 2 • variance X μ
state_after: case h.e'_2
Ω : Type u_1
m : MeasurableSpace Ω
X✝ : Ω → ℝ
μ✝ : Measure Ω
A : Type u_2
inst✝¹ : CommSemiring A
inst✝ : Algebra A ℝ
c : A
X : Ω → ℝ
μ : Measure Ω
⊢ variance (c • X) μ = variance ((algebraMap A ℝ) c • X) μ

case h.e'_3
Ω : Type u_1
m : MeasurableSpace Ω
X✝ : Ω → ℝ
μ✝ : Measure Ω
A : Type u_2
inst✝¹ : CommSemiring A
inst✝ : Algebra A ℝ
c : A
X : Ω → ℝ
μ : Measure Ω
⊢ c ^ 2 • variance X μ = (algebraMap A ℝ) c ^ 2 * variance X μ

tactic: congr
state_before: case h.e'_2
Ω : Type u_1
m : MeasurableSpace Ω
X✝ : Ω → ℝ
μ✝ : Measure Ω
A : Type u_2
inst✝¹ : CommSemiring A
inst✝ : Algebra A ℝ
c : A
X : Ω → ℝ
μ : Measure Ω
⊢ variance (c • X) μ = variance ((algebraMap A ℝ) c • X) μ
state_after: case h.e'_2.e_X
Ω : Type u_1
m : MeasurableSpace Ω
X✝ : Ω → ℝ
μ✝ : Measure Ω
A : Type u_2
inst✝¹ : CommSemiring A
inst✝ : Algebra A ℝ
c : A
X : Ω → ℝ
μ : Measure Ω
⊢ c • X = (algebraMap A ℝ) c • X

tactic: simp only [algebraMap_smul]
state_before: case h.e'_2.e_X
Ω : Type u_1
m : MeasurableSpace Ω
X✝ : Ω → ℝ
μ✝ : Measure Ω
A : Type u_2
inst✝¹ : CommSemiring A
inst✝ : Algebra A ℝ
c : A
X : Ω → ℝ
μ : Measure Ω
⊢ c • X = (algebraMap A ℝ) c • X
state_after: no goals

tactic: simp only [Algebra.smul_def, map_pow]
state_before: case h.e'_3
Ω : Type u_1
m : MeasurableSpace Ω
X✝ : Ω → ℝ
μ✝ : Measure Ω
A : Type u_2
inst✝¹ : CommSemiring A
inst✝ : Algebra A ℝ
c : A
X : Ω → ℝ
μ : Measure Ω
⊢ c ^ 2 • variance X μ = (algebraMap A ℝ) c ^ 2 * variance X μ
state_after: no goals
Theorem: segment_subset_uIcc
File: Mathlib/Analysis/Convex/Segment.lean

tactic: rcases le_total x y with h | h
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
ι : Type u_5
π : ι → Type u_6
inst✝³ : OrderedSemiring 𝕜
inst✝² : LinearOrderedAddCommMonoid E
inst✝¹ : Module 𝕜 E
inst✝ : OrderedSMul 𝕜 E
a b : 𝕜
x y : E
⊢ [x-[𝕜]y] ⊆ uIcc x y
state_after: case inl
𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
ι : Type u_5
π : ι → Type u_6
inst✝³ : OrderedSemiring 𝕜
inst✝² : LinearOrderedAddCommMonoid E
inst✝¹ : Module 𝕜 E
inst✝ : OrderedSMul 𝕜 E
a b : 𝕜
x y : E
h : x ≤ y
⊢ [x-[𝕜]y] ⊆ uIcc x y

case inr
𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
ι : Type u_5
π : ι → Type u_6
inst✝³ : OrderedSemiring 𝕜
inst✝² : LinearOrderedAddCommMonoid E
inst✝¹ : Module 𝕜 E
inst✝ : OrderedSMul 𝕜 E
a b : 𝕜
x y : E
h : y ≤ x
⊢ [x-[𝕜]y] ⊆ uIcc x y

tactic: rw [uIcc_of_le h]
state_before: case inl
𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
ι : Type u_5
π : ι → Type u_6
inst✝³ : OrderedSemiring 𝕜
inst✝² : LinearOrderedAddCommMonoid E
inst✝¹ : Module 𝕜 E
inst✝ : OrderedSMul 𝕜 E
a b : 𝕜
x y : E
h : x ≤ y
⊢ [x-[𝕜]y] ⊆ uIcc x y
state_after: case inl
𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
ι : Type u_5
π : ι → Type u_6
inst✝³ : OrderedSemiring 𝕜
inst✝² : LinearOrderedAddCommMonoid E
inst✝¹ : Module 𝕜 E
inst✝ : OrderedSMul 𝕜 E
a b : 𝕜
x y : E
h : x ≤ y
⊢ [x-[𝕜]y] ⊆ Icc x y

tactic: exact segment_subset_Icc h
state_before: case inl
𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
ι : Type u_5
π : ι → Type u_6
inst✝³ : OrderedSemiring 𝕜
inst✝² : LinearOrderedAddCommMonoid E
inst✝¹ : Module 𝕜 E
inst✝ : OrderedSMul 𝕜 E
a b : 𝕜
x y : E
h : x ≤ y
⊢ [x-[𝕜]y] ⊆ Icc x y
state_after: no goals

tactic: rw [uIcc_of_ge h, segment_symm]
state_before: case inr
𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
ι : Type u_5
π : ι → Type u_6
inst✝³ : OrderedSemiring 𝕜
inst✝² : LinearOrderedAddCommMonoid E
inst✝¹ : Module 𝕜 E
inst✝ : OrderedSMul 𝕜 E
a b : 𝕜
x y : E
h : y ≤ x
⊢ [x-[𝕜]y] ⊆ uIcc x y
state_after: case inr
𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
ι : Type u_5
π : ι → Type u_6
inst✝³ : OrderedSemiring 𝕜
inst✝² : LinearOrderedAddCommMonoid E
inst✝¹ : Module 𝕜 E
inst✝ : OrderedSMul 𝕜 E
a b : 𝕜
x y : E
h : y ≤ x
⊢ [y-[𝕜]x] ⊆ Icc y x

tactic: exact segment_subset_Icc h
state_before: case inr
𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
ι : Type u_5
π : ι → Type u_6
inst✝³ : OrderedSemiring 𝕜
inst✝² : LinearOrderedAddCommMonoid E
inst✝¹ : Module 𝕜 E
inst✝ : OrderedSMul 𝕜 E
a b : 𝕜
x y : E
h : y ≤ x
⊢ [y-[𝕜]x] ⊆ Icc y x
state_after: no goals
Theorem: eq_zero_of_quasispectrum_eq_zero
File: Mathlib/Topology/ContinuousFunction/NonUnitalFunctionalCalculus.lean

tactic: simpa [cfcₙ_id R a] using cfcₙ_congr (a := a) (f := id) (g := fun _ : R ↦ 0) fun x ↦ by simp_all
state_before: R : Type u_1
A : Type u_2
p : A → Prop
inst✝¹³ : CommSemiring R
inst✝¹² : Nontrivial R
inst✝¹¹ : StarRing R
inst✝¹⁰ : MetricSpace R
inst✝⁹ : TopologicalSemiring R
inst✝⁸ : ContinuousStar R
inst✝⁷ : NonUnitalRing A
inst✝⁶ : StarRing A
inst✝⁵ : TopologicalSpace A
inst✝⁴ : Module R A
inst✝³ : IsScalarTower R A A
inst✝² : SMulCommClass R A A
inst✝¹ : NonUnitalContinuousFunctionalCalculus R p
f g : R → R
a : A
hf : autoParam (ContinuousOn f (σₙ R a)) _auto✝
hf0 : autoParam (f 0 = 0) _auto✝
hg : autoParam (ContinuousOn g (σₙ R a)) _auto✝
hg0 : autoParam (g 0 = 0) _auto✝
ha✝ : autoParam (p a) _auto✝
inst✝ : UniqueNonUnitalContinuousFunctionalCalculus R A
h_spec : σₙ R a ⊆ {0}
ha : autoParam (p a) _auto✝
⊢ a = 0
state_after: no goals

tactic: simp_all
state_before: R : Type u_1
A : Type u_2
p : A → Prop
inst✝¹³ : CommSemiring R
inst✝¹² : Nontrivial R
inst✝¹¹ : StarRing R
inst✝¹⁰ : MetricSpace R
inst✝⁹ : TopologicalSemiring R
inst✝⁸ : ContinuousStar R
inst✝⁷ : NonUnitalRing A
inst✝⁶ : StarRing A
inst✝⁵ : TopologicalSpace A
inst✝⁴ : Module R A
inst✝³ : IsScalarTower R A A
inst✝² : SMulCommClass R A A
inst✝¹ : NonUnitalContinuousFunctionalCalculus R p
f g : R → R
a : A
hf : autoParam (ContinuousOn f (σₙ R a)) _auto✝
hf0 : autoParam (f 0 = 0) _auto✝
hg : autoParam (ContinuousOn g (σₙ R a)) _auto✝
hg0 : autoParam (g 0 = 0) _auto✝
ha✝ : autoParam (p a) _auto✝
inst✝ : UniqueNonUnitalContinuousFunctionalCalculus R A
h_spec : σₙ R a ⊆ {0}
ha : autoParam (p a) _auto✝
x : R
⊢ x ∈ σₙ R a → id x = (fun x => 0) x
state_after: no goals
Theorem: Function.Surjective.image_surjective
File: Mathlib/Data/Set/Image.lean

tactic: intro s
state_before: α : Type u_1
β : Type u_2
ι : Sort u_3
f : α → β
hf : Surjective f
⊢ Surjective (image f)
state_after: α : Type u_1
β : Type u_2
ι : Sort u_3
f : α → β
hf : Surjective f
s : Set β
⊢ ∃ a, f '' a = s

tactic: use f ⁻¹' s
state_before: α : Type u_1
β : Type u_2
ι : Sort u_3
f : α → β
hf : Surjective f
s : Set β
⊢ ∃ a, f '' a = s
state_after: case h
α : Type u_1
β : Type u_2
ι : Sort u_3
f : α → β
hf : Surjective f
s : Set β
⊢ f '' (f ⁻¹' s) = s

tactic: rw [hf.image_preimage]
state_before: case h
α : Type u_1
β : Type u_2
ι : Sort u_3
f : α → β
hf : Surjective f
s : Set β
⊢ f '' (f ⁻¹' s) = s
state_after: no goals
Theorem: tendsto_prod_principal_iff
File: Mathlib/Topology/UniformSpace/UniformConvergence.lean

tactic: rw [tendstoUniformlyOn_iff_tendstoUniformlyOnFilter]
state_before: α : Type u
β : Type v
γ : Type w
ι : Type x
inst✝ : UniformSpace β
F : ι → α → β
f : α → β
s s' : Set α
x : α
p : Filter ι
p' : Filter α
g : ι → α
c : β
⊢ Tendsto (↿F) (p ×ˢ 𝓟 s) (𝓝 c) ↔ TendstoUniformlyOn F (fun x => c) p s
state_after: α : Type u
β : Type v
γ : Type w
ι : Type x
inst✝ : UniformSpace β
F : ι → α → β
f : α → β
s s' : Set α
x : α
p : Filter ι
p' : Filter α
g : ι → α
c : β
⊢ Tendsto (↿F) (p ×ˢ 𝓟 s) (𝓝 c) ↔ TendstoUniformlyOnFilter F (fun x => c) p (𝓟 s)

tactic: exact tendsto_prod_filter_iff
state_before: α : Type u
β : Type v
γ : Type w
ι : Type x
inst✝ : UniformSpace β
F : ι → α → β
f : α → β
s s' : Set α
x : α
p : Filter ι
p' : Filter α
g : ι → α
c : β
⊢ Tendsto (↿F) (p ×ˢ 𝓟 s) (𝓝 c) ↔ TendstoUniformlyOnFilter F (fun x => c) p (𝓟 s)
state_after: no goals
Theorem: SimpleGraph.chromaticNumber_top
File: Mathlib/Combinatorics/SimpleGraph/Coloring.lean

tactic: rw [chromaticNumber_eq_card_iff_forall_surjective (selfColoring _).colorable]
state_before: V : Type u
G : SimpleGraph V
n : ℕ
α : Type u_1
β : Type u_2
C : G.Coloring α
inst✝ : Fintype V
⊢ ⊤.chromaticNumber = ↑(card V)
state_after: V : Type u
G : SimpleGraph V
n : ℕ
α : Type u_1
β : Type u_2
C : G.Coloring α
inst✝ : Fintype V
⊢ ∀ (C : ⊤.Coloring V), Surjective ⇑C

tactic: intro C
state_before: V : Type u
G : SimpleGraph V
n : ℕ
α : Type u_1
β : Type u_2
C : G.Coloring α
inst✝ : Fintype V
⊢ ∀ (C : ⊤.Coloring V), Surjective ⇑C
state_after: V : Type u
G : SimpleGraph V
n : ℕ
α : Type u_1
β : Type u_2
C✝ : G.Coloring α
inst✝ : Fintype V
C : ⊤.Coloring V
⊢ Surjective ⇑C

tactic: rw [← Finite.injective_iff_surjective]
state_before: V : Type u
G : SimpleGraph V
n : ℕ
α : Type u_1
β : Type u_2
C✝ : G.Coloring α
inst✝ : Fintype V
C : ⊤.Coloring V
⊢ Surjective ⇑C
state_after: V : Type u
G : SimpleGraph V
n : ℕ
α : Type u_1
β : Type u_2
C✝ : G.Coloring α
inst✝ : Fintype V
C : ⊤.Coloring V
⊢ Injective ⇑C

tactic: intro v w
state_before: V : Type u
G : SimpleGraph V
n : ℕ
α : Type u_1
β : Type u_2
C✝ : G.Coloring α
inst✝ : Fintype V
C : ⊤.Coloring V
⊢ Injective ⇑C
state_after: V : Type u
G : SimpleGraph V
n : ℕ
α : Type u_1
β : Type u_2
C✝ : G.Coloring α
inst✝ : Fintype V
C : ⊤.Coloring V
v w : V
⊢ C v = C w → v = w

tactic: contrapose
state_before: V : Type u
G : SimpleGraph V
n : ℕ
α : Type u_1
β : Type u_2
C✝ : G.Coloring α
inst✝ : Fintype V
C : ⊤.Coloring V
v w : V
⊢ C v = C w → v = w
state_after: V : Type u
G : SimpleGraph V
n : ℕ
α : Type u_1
β : Type u_2
C✝ : G.Coloring α
inst✝ : Fintype V
C : ⊤.Coloring V
v w : V
⊢ ¬v = w → ¬C v = C w

tactic: intro h
state_before: V : Type u
G : SimpleGraph V
n : ℕ
α : Type u_1
β : Type u_2
C✝ : G.Coloring α
inst✝ : Fintype V
C : ⊤.Coloring V
v w : V
⊢ ¬v = w → ¬C v = C w
state_after: V : Type u
G : SimpleGraph V
n : ℕ
α : Type u_1
β : Type u_2
C✝ : G.Coloring α
inst✝ : Fintype V
C : ⊤.Coloring V
v w : V
h : ¬v = w
⊢ ¬C v = C w

tactic: exact C.valid h
state_before: V : Type u
G : SimpleGraph V
n : ℕ
α : Type u_1
β : Type u_2
C✝ : G.Coloring α
inst✝ : Fintype V
C : ⊤.Coloring V
v w : V
h : ¬v = w
⊢ ¬C v = C w
state_after: no goals
Theorem: Basis.flag_covBy
File: Mathlib/LinearAlgebra/Basis/Flag.lean

tactic: rw [flag_succ]
state_before: K : Type u_1
V : Type u_2
inst✝² : DivisionRing K
inst✝¹ : AddCommGroup V
inst✝ : Module K V
n : ℕ
b : Basis (Fin n) K V
i : Fin n
⊢ b.flag i.castSucc ⋖ b.flag i.succ
state_after: K : Type u_1
V : Type u_2
inst✝² : DivisionRing K
inst✝¹ : AddCommGroup V
inst✝ : Module K V
n : ℕ
b : Basis (Fin n) K V
i : Fin n
⊢ b.flag i.castSucc ⋖ span K {b i} ⊔ b.flag i.castSucc

tactic: apply covBy_span_singleton_sup
state_before: K : Type u_1
V : Type u_2
inst✝² : DivisionRing K
inst✝¹ : AddCommGroup V
inst✝ : Module K V
n : ℕ
b : Basis (Fin n) K V
i : Fin n
⊢ b.flag i.castSucc ⋖ span K {b i} ⊔ b.flag i.castSucc
state_after: case h
K : Type u_1
V : Type u_2
inst✝² : DivisionRing K
inst✝¹ : AddCommGroup V
inst✝ : Module K V
n : ℕ
b : Basis (Fin n) K V
i : Fin n
⊢ b i ∉ b.flag i.castSucc

tactic: simp
state_before: case h
K : Type u_1
V : Type u_2
inst✝² : DivisionRing K
inst✝¹ : AddCommGroup V
inst✝ : Module K V
n : ℕ
b : Basis (Fin n) K V
i : Fin n
⊢ b i ∉ b.flag i.castSucc
state_after: no goals
Theorem: LieModule.lie_traceForm_eq_zero
File: Mathlib/Algebra/Lie/TraceForm.lean

tactic: ext y z
state_before: R : Type u_1
K : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
inst✝³ : LieRingModule L M
inst✝² : LieModule R L M
inst✝¹ : Module.Free R M
inst✝ : Module.Finite R M
x : L
⊢ ⁅x, traceForm R L M⁆ = 0
state_after: case H
R : Type u_1
K : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
inst✝³ : LieRingModule L M
inst✝² : LieModule R L M
inst✝¹ : Module.Free R M
inst✝ : Module.Finite R M
x y z : L
⊢ (⁅x, traceForm R L M⁆ y) z = (0 y) z

tactic: rw [LieHom.lie_apply, LinearMap.sub_apply, Module.Dual.lie_apply, LinearMap.zero_apply,
  LinearMap.zero_apply, traceForm_apply_lie_apply', sub_self]
state_before: case H
R : Type u_1
K : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
inst✝³ : LieRingModule L M
inst✝² : LieModule R L M
inst✝¹ : Module.Free R M
inst✝ : Module.Finite R M
x y z : L
⊢ (⁅x, traceForm R L M⁆ y) z = (0 y) z
state_after: no goals
Theorem: NumberField.mixedEmbedding.normAtPlace_apply
File: Mathlib/NumberTheory/NumberField/CanonicalEmbedding/Basic.lean

tactic: simp_rw [normAtPlace, MonoidWithZeroHom.coe_mk, ZeroHom.coe_mk, mixedEmbedding,
  RingHom.prod_apply, Pi.ringHom_apply, norm_embedding_of_isReal, norm_embedding_eq, dite_eq_ite,
  ite_id]
state_before: K : Type u_1
inst✝ : Field K
w : InfinitePlace K
x : K
⊢ (normAtPlace w) ((mixedEmbedding K) x) = w x
state_after: no goals
Theorem: MonoidAlgebra.mapDomainAlgHom_comp
File: Mathlib/Algebra/MonoidAlgebra/Basic.lean

tactic: ext
state_before: k✝ : Type u₁
G : Type u₂
H : Type u_1
R : Type u_2
inst✝¹² : CommSemiring k✝
inst✝¹¹ : Monoid G
inst✝¹⁰ : Monoid H
A✝ : Type u₃
inst✝⁹ : Semiring A✝
inst✝⁸ : Algebra k✝ A✝
B : Type u_3
inst✝⁷ : Semiring B
inst✝⁶ : Algebra k✝ B
k : Type u_4
A : Type u_5
G₁ : Type u_6
G₂ : Type u_7
G₃ : Type u_8
inst✝⁵ : CommSemiring k
inst✝⁴ : Semiring A
inst✝³ : Algebra k A
inst✝² : Monoid G₁
inst✝¹ : Monoid G₂
inst✝ : Monoid G₃
f : G₁ →* G₂
g : G₂ →* G₃
⊢ mapDomainAlgHom k A (g.comp f) = (mapDomainAlgHom k A g).comp (mapDomainAlgHom k A f)
state_after: case H
k✝ : Type u₁
G : Type u₂
H : Type u_1
R : Type u_2
inst✝¹² : CommSemiring k✝
inst✝¹¹ : Monoid G
inst✝¹⁰ : Monoid H
A✝ : Type u₃
inst✝⁹ : Semiring A✝
inst✝⁸ : Algebra k✝ A✝
B : Type u_3
inst✝⁷ : Semiring B
inst✝⁶ : Algebra k✝ B
k : Type u_4
A : Type u_5
G₁ : Type u_6
G₂ : Type u_7
G₃ : Type u_8
inst✝⁵ : CommSemiring k
inst✝⁴ : Semiring A
inst✝³ : Algebra k A
inst✝² : Monoid G₁
inst✝¹ : Monoid G₂
inst✝ : Monoid G₃
f : G₁ →* G₂
g : G₂ →* G₃
x✝ : MonoidAlgebra A G₁
⊢ (mapDomainAlgHom k A (g.comp f)) x✝ = ((mapDomainAlgHom k A g).comp (mapDomainAlgHom k A f)) x✝

tactic: simp [mapDomain_comp]
state_before: case H
k✝ : Type u₁
G : Type u₂
H : Type u_1
R : Type u_2
inst✝¹² : CommSemiring k✝
inst✝¹¹ : Monoid G
inst✝¹⁰ : Monoid H
A✝ : Type u₃
inst✝⁹ : Semiring A✝
inst✝⁸ : Algebra k✝ A✝
B : Type u_3
inst✝⁷ : Semiring B
inst✝⁶ : Algebra k✝ B
k : Type u_4
A : Type u_5
G₁ : Type u_6
G₂ : Type u_7
G₃ : Type u_8
inst✝⁵ : CommSemiring k
inst✝⁴ : Semiring A
inst✝³ : Algebra k A
inst✝² : Monoid G₁
inst✝¹ : Monoid G₂
inst✝ : Monoid G₃
f : G₁ →* G₂
g : G₂ →* G₃
x✝ : MonoidAlgebra A G₁
⊢ (mapDomainAlgHom k A (g.comp f)) x✝ = ((mapDomainAlgHom k A g).comp (mapDomainAlgHom k A f)) x✝
state_after: no goals
Theorem: Submonoid.LocalizationMap.mk'_mul_eq_mk'_of_mul
File: Mathlib/GroupTheory/MonoidLocalization.lean

tactic: rw [mul_comm, mul_mk'_eq_mk'_of_mul]
state_before: M : Type u_1
inst✝² : CommMonoid M
S : Submonoid M
N : Type u_2
inst✝¹ : CommMonoid N
P : Type u_3
inst✝ : CommMonoid P
f : S.LocalizationMap N
x₁ x₂ : M
y : ↥S
⊢ f.mk' x₂ y * f.toMap x₁ = f.mk' (x₁ * x₂) y
state_after: no goals
Theorem: Nat.one_lt_pow_iff
File: Mathlib/Data/Nat/Defs.lean

tactic: simp [Nat.zero_pow (Nat.pos_of_ne_zero hn)]
state_before: a b c d m n✝ k : ℕ
p q : ℕ → Prop
n : ℕ
hn : n ≠ 0
⊢ 1 < 0 ^ n ↔ 1 < 0
state_after: no goals

tactic: simp
state_before: a b c d m n✝ k : ℕ
p q : ℕ → Prop
n : ℕ
hn : n ≠ 0
⊢ 1 < 1 ^ n ↔ 1 < 1
state_after: no goals

tactic: simp [one_lt_pow hn]
state_before: a✝ b c d m n✝ k : ℕ
p q : ℕ → Prop
n : ℕ
hn : n ≠ 0
a : ℕ
⊢ 1 < (a + 2) ^ n ↔ 1 < a + 2
state_after: no goals
Theorem: SmoothBumpCovering.mem_extChartAt_source_of_eq_one
File: Mathlib/Geometry/Manifold/PartitionOfUnity.lean

tactic: rw [extChartAt_source]
state_before: ι : Type uι
E : Type uE
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : NormedSpace ℝ E
inst✝⁶ : FiniteDimensional ℝ E
F : Type uF
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace ℝ F
H : Type uH
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type uM
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
s : Set M
U : M → Set M
fs : SmoothBumpCovering ι I M s
i : ι
x : M
h : ↑(fs.toFun i) x = 1
⊢ x ∈ (extChartAt I (fs.c i)).source
state_after: ι : Type uι
E : Type uE
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : NormedSpace ℝ E
inst✝⁶ : FiniteDimensional ℝ E
F : Type uF
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace ℝ F
H : Type uH
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type uM
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
s : Set M
U : M → Set M
fs : SmoothBumpCovering ι I M s
i : ι
x : M
h : ↑(fs.toFun i) x = 1
⊢ x ∈ (chartAt H (fs.c i)).source

tactic: exact fs.mem_chartAt_source_of_eq_one h
state_before: ι : Type uι
E : Type uE
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : NormedSpace ℝ E
inst✝⁶ : FiniteDimensional ℝ E
F : Type uF
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace ℝ F
H : Type uH
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type uM
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
s : Set M
U : M → Set M
fs : SmoothBumpCovering ι I M s
i : ι
x : M
h : ↑(fs.toFun i) x = 1
⊢ x ∈ (chartAt H (fs.c i)).source
state_after: no goals
Theorem: IsOpen.smul_left
File: Mathlib/Topology/Algebra/Group/Basic.lean

tactic: rw [← iUnion_smul_set]
state_before: G : Type w
H : Type x
α : Type u
β : Type v
inst✝³ : TopologicalSpace β
inst✝² : Group α
inst✝¹ : MulAction α β
inst✝ : ContinuousConstSMul α β
s : Set α
t : Set β
ht : IsOpen t
⊢ IsOpen (s • t)
state_after: G : Type w
H : Type x
α : Type u
β : Type v
inst✝³ : TopologicalSpace β
inst✝² : Group α
inst✝¹ : MulAction α β
inst✝ : ContinuousConstSMul α β
s : Set α
t : Set β
ht : IsOpen t
⊢ IsOpen (⋃ a ∈ s, a • t)

tactic: exact isOpen_biUnion fun a _ => ht.smul _
state_before: G : Type w
H : Type x
α : Type u
β : Type v
inst✝³ : TopologicalSpace β
inst✝² : Group α
inst✝¹ : MulAction α β
inst✝ : ContinuousConstSMul α β
s : Set α
t : Set β
ht : IsOpen t
⊢ IsOpen (⋃ a ∈ s, a • t)
state_after: no goals
Theorem: Basis.addHaar_reindex
File: Mathlib/MeasureTheory/Measure/Haar/OfBasis.lean

tactic: rw [Basis.addHaar, b.parallelepiped_reindex e, ← Basis.addHaar]
state_before: ι : Type u_1
ι' : Type u_2
E : Type u_3
F : Type u_4
inst✝⁷ : Fintype ι
inst✝⁶ : Fintype ι'
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ E
inst✝² : NormedSpace ℝ F
inst✝¹ : MeasurableSpace E
inst✝ : BorelSpace E
b : Basis ι ℝ E
e : ι ≃ ι'
⊢ (b.reindex e).addHaar = b.addHaar
state_after: no goals
Theorem: natCast_mem
File: Mathlib/Algebra/Ring/Subsemiring/Basic.lean

tactic: induction n <;> simp [zero_mem, add_mem, one_mem, *]
state_before: S : Type u_1
R : Type u_2
inst✝² : AddMonoidWithOne R
inst✝¹ : SetLike S R
s : S
inst✝ : AddSubmonoidWithOneClass S R
n : ℕ
⊢ ↑n ∈ s
state_after: no goals
Theorem: Real.Angle.toReal_pi_div_two
File: Mathlib/Analysis/SpecialFunctions/Trigonometric/Angle.lean

tactic: constructor <;> linarith [pi_pos]
state_before: ⊢ -π < π / 2 ∧ π / 2 ≤ π
state_after: no goals
Theorem: measurableSet_region_between_cc
File: Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean

tactic: dsimp only [regionBetween, Icc, mem_setOf_eq, setOf_and]
state_before: α : Type u_1
inst✝ : MeasurableSpace α
μ : Measure α
f g : α → ℝ
s : Set α
hf : Measurable f
hg : Measurable g
hs : MeasurableSet s
⊢ MeasurableSet {p | p.1 ∈ s ∧ p.2 ∈ Icc (f p.1) (g p.1)}
state_after: α : Type u_1
inst✝ : MeasurableSpace α
μ : Measure α
f g : α → ℝ
s : Set α
hf : Measurable f
hg : Measurable g
hs : MeasurableSet s
⊢ MeasurableSet ({a | a.1 ∈ s} ∩ {a | a.2 ∈ {a_1 | f a.1 ≤ a_1} ∩ {a_1 | a_1 ≤ g a.1}})

tactic: refine
  MeasurableSet.inter ?_
    ((measurableSet_le (hf.comp measurable_fst) measurable_snd).inter
      (measurableSet_le measurable_snd (hg.comp measurable_fst)))
state_before: α : Type u_1
inst✝ : MeasurableSpace α
μ : Measure α
f g : α → ℝ
s : Set α
hf : Measurable f
hg : Measurable g
hs : MeasurableSet s
⊢ MeasurableSet ({a | a.1 ∈ s} ∩ {a | a.2 ∈ {a_1 | f a.1 ≤ a_1} ∩ {a_1 | a_1 ≤ g a.1}})
state_after: α : Type u_1
inst✝ : MeasurableSpace α
μ : Measure α
f g : α → ℝ
s : Set α
hf : Measurable f
hg : Measurable g
hs : MeasurableSet s
⊢ MeasurableSet {a | a.1 ∈ s}

tactic: exact measurable_fst hs
state_before: α : Type u_1
inst✝ : MeasurableSpace α
μ : Measure α
f g : α → ℝ
s : Set α
hf : Measurable f
hg : Measurable g
hs : MeasurableSet s
⊢ MeasurableSet {a | a.1 ∈ s}
state_after: no goals