1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: MeasureTheory.setToFun_finset_sum
File: Mathlib/MeasureTheory/Integral/SetToL1.lean

tactic: convert setToFun_finset_sum' hT s hf with a
state_before: α : Type u_1
E : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
𝕜 : Type u_6
p : ℝ≥0∞
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace ℝ F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace ℝ F'
inst✝¹ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
inst✝ : CompleteSpace F
T T' T'' : Set α → E →L[ℝ] F
C C' C'' : ℝ
f✝ g : α → E
hT : DominatedFinMeasAdditive μ T C
ι : Type u_7
s : Finset ι
f : ι → α → E
hf : ∀ i ∈ s, Integrable (f i) μ
⊢ (setToFun μ T hT fun a => ∑ i ∈ s, f i a) = ∑ i ∈ s, setToFun μ T hT (f i)
state_after: case h.e'_2.h.e'_14.h
α : Type u_1
E : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
𝕜 : Type u_6
p : ℝ≥0∞
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace ℝ F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace ℝ F'
inst✝¹ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
inst✝ : CompleteSpace F
T T' T'' : Set α → E →L[ℝ] F
C C' C'' : ℝ
f✝ g : α → E
hT : DominatedFinMeasAdditive μ T C
ι : Type u_7
s : Finset ι
f : ι → α → E
hf : ∀ i ∈ s, Integrable (f i) μ
a : α
⊢ ∑ i ∈ s, f i a = (∑ i ∈ s, f i) a

tactic: simp
state_before: case h.e'_2.h.e'_14.h
α : Type u_1
E : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
𝕜 : Type u_6
p : ℝ≥0∞
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace ℝ F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace ℝ F'
inst✝¹ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
inst✝ : CompleteSpace F
T T' T'' : Set α → E →L[ℝ] F
C C' C'' : ℝ
f✝ g : α → E
hT : DominatedFinMeasAdditive μ T C
ι : Type u_7
s : Finset ι
f : ι → α → E
hf : ∀ i ∈ s, Integrable (f i) μ
a : α
⊢ ∑ i ∈ s, f i a = (∑ i ∈ s, f i) a
state_after: no goals
Theorem: List.filter_true
File: Mathlib/Data/List/Basic.lean

tactic: induction l <;> simp [*, filter]
state_before: ι : Type u_1
α : Type u
β : Type v
γ : Type w
l₁ l₂ : List α
p : α → Bool
l : List α
⊢ filter (fun x => true) l = l
state_after: no goals
Theorem: Finset.shatters_shatterer
File: Mathlib/Combinatorics/SetFamily/Shatter.lean

tactic: simp_rw [← mem_shatterer, shatterer_idem]
state_before: α : Type u_1
inst✝ : DecidableEq α
𝒜 ℬ : Finset (Finset α)
s t : Finset α
a : α
n : ℕ
⊢ 𝒜.shatterer.Shatters s ↔ 𝒜.Shatters s
state_after: no goals
Theorem: Set.nonempty_iUnion
File: Mathlib/Data/Set/Lattice.lean

tactic: simp [nonempty_iff_ne_empty]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
ι' : Sort u_5
ι₂ : Sort u_6
κ : ι → Sort u_7
κ₁ : ι → Sort u_8
κ₂ : ι → Sort u_9
κ' : ι' → Sort u_10
s : ι → Set α
⊢ (⋃ i, s i).Nonempty ↔ ∃ i, (s i).Nonempty
state_after: no goals
Theorem: MeasureTheory.FiniteMeasure.prod_zero
File: Mathlib/MeasureTheory/Measure/FiniteMeasureProd.lean

tactic: rw [← mass_zero_iff, mass_prod, zero_mass, mul_zero]
state_before: α : Type u_1
inst✝¹ : MeasurableSpace α
β : Type u_2
inst✝ : MeasurableSpace β
μ : FiniteMeasure α
ν : FiniteMeasure β
⊢ μ.prod 0 = 0
state_after: no goals
Theorem: directedOn_pair'
File: Mathlib/Order/Directed.lean

tactic: rw [Set.pair_comm]
state_before: α : Type u
β : Type v
ι : Sort w
r r' s : α → α → Prop
h : Reflexive r
a b : α
hab : r a b
⊢ DirectedOn r {b, a}
state_after: α : Type u
β : Type v
ι : Sort w
r r' s : α → α → Prop
h : Reflexive r
a b : α
hab : r a b
⊢ DirectedOn r {a, b}

tactic: apply directedOn_pair h hab
state_before: α : Type u
β : Type v
ι : Sort w
r r' s : α → α → Prop
h : Reflexive r
a b : α
hab : r a b
⊢ DirectedOn r {a, b}
state_after: no goals
Theorem: IsCompact.induction_on
File: Mathlib/Topology/Compactness/Compact.lean

tactic: let f : Filter X := comk p he (fun _t ht _s hsub ↦ hmono hsub ht) (fun _s hs _t ht ↦ hunion hs ht)
state_before: X : Type u
Y : Type v
ι : Type u_1
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
s t : Set X
hs : IsCompact s
p : Set X → Prop
he : p ∅
hmono : ∀ ⦃s t : Set X⦄, s ⊆ t → p t → p s
hunion : ∀ ⦃s t : Set X⦄, p s → p t → p (s ∪ t)
hnhds : ∀ x ∈ s, ∃ t ∈ 𝓝[s] x, p t
⊢ p s
state_after: X : Type u
Y : Type v
ι : Type u_1
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
s t : Set X
hs : IsCompact s
p : Set X → Prop
he : p ∅
hmono : ∀ ⦃s t : Set X⦄, s ⊆ t → p t → p s
hunion : ∀ ⦃s t : Set X⦄, p s → p t → p (s ∪ t)
hnhds : ∀ x ∈ s, ∃ t ∈ 𝓝[s] x, p t
f : Filter X := comk p he ⋯ ⋯
⊢ p s

tactic: have : sᶜ ∈ f := hs.compl_mem_sets_of_nhdsWithin (by simpa [f] using hnhds)
state_before: X : Type u
Y : Type v
ι : Type u_1
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
s t : Set X
hs : IsCompact s
p : Set X → Prop
he : p ∅
hmono : ∀ ⦃s t : Set X⦄, s ⊆ t → p t → p s
hunion : ∀ ⦃s t : Set X⦄, p s → p t → p (s ∪ t)
hnhds : ∀ x ∈ s, ∃ t ∈ 𝓝[s] x, p t
f : Filter X := comk p he ⋯ ⋯
⊢ p s
state_after: X : Type u
Y : Type v
ι : Type u_1
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
s t : Set X
hs : IsCompact s
p : Set X → Prop
he : p ∅
hmono : ∀ ⦃s t : Set X⦄, s ⊆ t → p t → p s
hunion : ∀ ⦃s t : Set X⦄, p s → p t → p (s ∪ t)
hnhds : ∀ x ∈ s, ∃ t ∈ 𝓝[s] x, p t
f : Filter X := comk p he ⋯ ⋯
this : sᶜ ∈ f
⊢ p s

tactic: rwa [← compl_compl s]
state_before: X : Type u
Y : Type v
ι : Type u_1
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
s t : Set X
hs : IsCompact s
p : Set X → Prop
he : p ∅
hmono : ∀ ⦃s t : Set X⦄, s ⊆ t → p t → p s
hunion : ∀ ⦃s t : Set X⦄, p s → p t → p (s ∪ t)
hnhds : ∀ x ∈ s, ∃ t ∈ 𝓝[s] x, p t
f : Filter X := comk p he ⋯ ⋯
this : sᶜ ∈ f
⊢ p s
state_after: no goals

tactic: simpa [f] using hnhds
state_before: X : Type u
Y : Type v
ι : Type u_1
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
s t : Set X
hs : IsCompact s
p : Set X → Prop
he : p ∅
hmono : ∀ ⦃s t : Set X⦄, s ⊆ t → p t → p s
hunion : ∀ ⦃s t : Set X⦄, p s → p t → p (s ∪ t)
hnhds : ∀ x ∈ s, ∃ t ∈ 𝓝[s] x, p t
f : Filter X := comk p he ⋯ ⋯
⊢ ∀ x ∈ s, ∃ t ∈ 𝓝[s] x, tᶜ ∈ f
state_after: no goals
Theorem: Module.Projective.of_basis
File: Mathlib/Algebra/Module/Projective.lean

tactic: use b.constr ℕ fun i => Finsupp.single (b i) (1 : R)
state_before: R : Type u
inst✝² : Ring R
P : Type v
inst✝¹ : AddCommGroup P
inst✝ : Module R P
ι : Type u_1
b : Basis ι R P
⊢ Projective R P
state_after: case h
R : Type u
inst✝² : Ring R
P : Type v
inst✝¹ : AddCommGroup P
inst✝ : Module R P
ι : Type u_1
b : Basis ι R P
⊢ Function.LeftInverse ⇑(Finsupp.total P P R id) ⇑((b.constr ℕ) fun i => Finsupp.single (b i) 1)

tactic: intro m
state_before: case h
R : Type u
inst✝² : Ring R
P : Type v
inst✝¹ : AddCommGroup P
inst✝ : Module R P
ι : Type u_1
b : Basis ι R P
⊢ Function.LeftInverse ⇑(Finsupp.total P P R id) ⇑((b.constr ℕ) fun i => Finsupp.single (b i) 1)
state_after: case h
R : Type u
inst✝² : Ring R
P : Type v
inst✝¹ : AddCommGroup P
inst✝ : Module R P
ι : Type u_1
b : Basis ι R P
m : P
⊢ (Finsupp.total P P R id) (((b.constr ℕ) fun i => Finsupp.single (b i) 1) m) = m

tactic: simp only [b.constr_apply, mul_one, id, Finsupp.smul_single', Finsupp.total_single,
  map_finsupp_sum]
state_before: case h
R : Type u
inst✝² : Ring R
P : Type v
inst✝¹ : AddCommGroup P
inst✝ : Module R P
ι : Type u_1
b : Basis ι R P
m : P
⊢ (Finsupp.total P P R id) (((b.constr ℕ) fun i => Finsupp.single (b i) 1) m) = m
state_after: case h
R : Type u
inst✝² : Ring R
P : Type v
inst✝¹ : AddCommGroup P
inst✝ : Module R P
ι : Type u_1
b : Basis ι R P
m : P
⊢ ((b.repr m).sum fun a b_1 => b_1 • b a) = m

tactic: exact b.total_repr m
state_before: case h
R : Type u
inst✝² : Ring R
P : Type v
inst✝¹ : AddCommGroup P
inst✝ : Module R P
ι : Type u_1
b : Basis ι R P
m : P
⊢ ((b.repr m).sum fun a b_1 => b_1 • b a) = m
state_after: no goals
Theorem: Nat.prod_primeFactors_of_squarefree
File: Mathlib/Data/Nat/Squarefree.lean

tactic: rw [← toFinset_factors, List.prod_toFinset _ hn.nodup_factors, List.map_id',
  Nat.prod_factors hn.ne_zero]
state_before: s : Finset ℕ
m n p : ℕ
hn : Squarefree n
⊢ ∏ p ∈ n.primeFactors, p = n
state_after: no goals
Theorem: PartENat.ne_top_iff
File: Mathlib/Data/Nat/PartENat.lean

tactic: simpa only [← some_eq_natCast] using Part.ne_none_iff
state_before: x : PartENat
⊢ x ≠ ⊤ ↔ ∃ n, x = ↑n
state_after: no goals
Theorem: Nat.WithBot.coe_nonneg
File: Mathlib/Data/Nat/WithBot.lean

tactic: rw [← WithBot.coe_zero, cast_withBot, WithBot.coe_le_coe]
state_before: n : ℕ
⊢ 0 ≤ ↑n
state_after: n : ℕ
⊢ 0 ≤ n

tactic: exact n.zero_le
state_before: n : ℕ
⊢ 0 ≤ n
state_after: no goals
Theorem: AffineSubspace.wSameSide_of_left_mem
File: Mathlib/Analysis/Convex/Side.lean

tactic: refine ⟨x, hx, x, hx, ?_⟩
state_before: R : Type u_1
V : Type u_2
V' : Type u_3
P : Type u_4
P' : Type u_5
inst✝⁶ : StrictOrderedCommRing R
inst✝⁵ : AddCommGroup V
inst✝⁴ : Module R V
inst✝³ : AddTorsor V P
inst✝² : AddCommGroup V'
inst✝¹ : Module R V'
inst✝ : AddTorsor V' P'
s : AffineSubspace R P
x y : P
hx : x ∈ s
⊢ s.WSameSide x y
state_after: R : Type u_1
V : Type u_2
V' : Type u_3
P : Type u_4
P' : Type u_5
inst✝⁶ : StrictOrderedCommRing R
inst✝⁵ : AddCommGroup V
inst✝⁴ : Module R V
inst✝³ : AddTorsor V P
inst✝² : AddCommGroup V'
inst✝¹ : Module R V'
inst✝ : AddTorsor V' P'
s : AffineSubspace R P
x y : P
hx : x ∈ s
⊢ SameRay R (x -ᵥ x) (y -ᵥ x)

tactic: rw [vsub_self]
state_before: R : Type u_1
V : Type u_2
V' : Type u_3
P : Type u_4
P' : Type u_5
inst✝⁶ : StrictOrderedCommRing R
inst✝⁵ : AddCommGroup V
inst✝⁴ : Module R V
inst✝³ : AddTorsor V P
inst✝² : AddCommGroup V'
inst✝¹ : Module R V'
inst✝ : AddTorsor V' P'
s : AffineSubspace R P
x y : P
hx : x ∈ s
⊢ SameRay R (x -ᵥ x) (y -ᵥ x)
state_after: R : Type u_1
V : Type u_2
V' : Type u_3
P : Type u_4
P' : Type u_5
inst✝⁶ : StrictOrderedCommRing R
inst✝⁵ : AddCommGroup V
inst✝⁴ : Module R V
inst✝³ : AddTorsor V P
inst✝² : AddCommGroup V'
inst✝¹ : Module R V'
inst✝ : AddTorsor V' P'
s : AffineSubspace R P
x y : P
hx : x ∈ s
⊢ SameRay R 0 (y -ᵥ x)

tactic: apply SameRay.zero_left
state_before: R : Type u_1
V : Type u_2
V' : Type u_3
P : Type u_4
P' : Type u_5
inst✝⁶ : StrictOrderedCommRing R
inst✝⁵ : AddCommGroup V
inst✝⁴ : Module R V
inst✝³ : AddTorsor V P
inst✝² : AddCommGroup V'
inst✝¹ : Module R V'
inst✝ : AddTorsor V' P'
s : AffineSubspace R P
x y : P
hx : x ∈ s
⊢ SameRay R 0 (y -ᵥ x)
state_after: no goals
Theorem: ENNReal.rpow_one
File: Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean

tactic: cases x
state_before: x : ℝ≥0∞
⊢ x ^ 1 = x
state_after: case top

⊢ ⊤ ^ 1 = ⊤

case coe
x✝ : ℝ≥0
⊢ ↑x✝ ^ 1 = ↑x✝

tactic: exact dif_pos zero_lt_one
state_before: case top

⊢ ⊤ ^ 1 = ⊤
state_after: no goals

tactic: change ite _ _ _ = _
state_before: case coe
x✝ : ℝ≥0
⊢ ↑x✝ ^ 1 = ↑x✝
state_after: case coe
x✝ : ℝ≥0
⊢ (if x✝ = 0 ∧ 1 < 0 then ⊤ else ↑(x✝ ^ 1)) = ↑x✝

tactic: simp only [NNReal.rpow_one, some_eq_coe, ite_eq_right_iff, top_ne_coe, and_imp]
state_before: case coe
x✝ : ℝ≥0
⊢ (if x✝ = 0 ∧ 1 < 0 then ⊤ else ↑(x✝ ^ 1)) = ↑x✝
state_after: case coe
x✝ : ℝ≥0
⊢ x✝ = 0 → 1 < 0 → False

tactic: exact fun _ => zero_le_one.not_lt
state_before: case coe
x✝ : ℝ≥0
⊢ x✝ = 0 → 1 < 0 → False
state_after: no goals
Theorem: Monoid.Coprod.con_mul_left_inv
File: Mathlib/GroupTheory/Coprod/Basic.lean

tactic: rw [← mk_eq_mk, map_mul, map_one]
state_before: G : Type u_1
H : Type u_2
inst✝¹ : Group G
inst✝ : Group H
x : FreeMonoid (G ⊕ H)
⊢ (coprodCon G H) (ofList (List.map (Sum.map Inv.inv Inv.inv) (toList x)).reverse * x) 1
state_after: G : Type u_1
H : Type u_2
inst✝¹ : Group G
inst✝ : Group H
x : FreeMonoid (G ⊕ H)
⊢ mk (ofList (List.map (Sum.map Inv.inv Inv.inv) (toList x)).reverse) * mk x = 1

tactic: induction x with
| h0 => simp [map_one mk] | ih x xs ihx =>
  simp only [toList_of_mul, map_cons, reverse_cons, ofList_append, map_mul, ihx, ofList_singleton]
  rwa [mul_assoc, ← mul_assoc (mk (of _)), mk_of_inv_mul, one_mul]
state_before: G : Type u_1
H : Type u_2
inst✝¹ : Group G
inst✝ : Group H
x : FreeMonoid (G ⊕ H)
⊢ mk (ofList (List.map (Sum.map Inv.inv Inv.inv) (toList x)).reverse) * mk x = 1
state_after: no goals

tactic: simp [map_one mk]
state_before: case h0
G : Type u_1
H : Type u_2
inst✝¹ : Group G
inst✝ : Group H
⊢ mk (ofList (List.map (Sum.map Inv.inv Inv.inv) (toList 1)).reverse) * mk 1 = 1
state_after: no goals

tactic: simp only [toList_of_mul, map_cons, reverse_cons, ofList_append, map_mul, ihx, ofList_singleton]
state_before: case ih
G : Type u_1
H : Type u_2
inst✝¹ : Group G
inst✝ : Group H
x : G ⊕ H
xs : FreeMonoid (G ⊕ H)
ihx : mk (ofList (List.map (Sum.map Inv.inv Inv.inv) (toList xs)).reverse) * mk xs = 1
⊢ mk (ofList (List.map (Sum.map Inv.inv Inv.inv) (toList (of x * xs))).reverse) * mk (of x * xs) = 1
state_after: case ih
G : Type u_1
H : Type u_2
inst✝¹ : Group G
inst✝ : Group H
x : G ⊕ H
xs : FreeMonoid (G ⊕ H)
ihx : mk (ofList (List.map (Sum.map Inv.inv Inv.inv) (toList xs)).reverse) * mk xs = 1
⊢ mk (ofList (List.map (Sum.map Inv.inv Inv.inv) (toList xs)).reverse) * mk (of (Sum.map Inv.inv Inv.inv x)) *
      (mk (of x) * mk xs) =
    1

tactic: rwa [mul_assoc, ← mul_assoc (mk (of _)), mk_of_inv_mul, one_mul]
state_before: case ih
G : Type u_1
H : Type u_2
inst✝¹ : Group G
inst✝ : Group H
x : G ⊕ H
xs : FreeMonoid (G ⊕ H)
ihx : mk (ofList (List.map (Sum.map Inv.inv Inv.inv) (toList xs)).reverse) * mk xs = 1
⊢ mk (ofList (List.map (Sum.map Inv.inv Inv.inv) (toList xs)).reverse) * mk (of (Sum.map Inv.inv Inv.inv x)) *
      (mk (of x) * mk xs) =
    1
state_after: no goals
Theorem: Finset.natCast_card_filter
File: Mathlib/Algebra/BigOperators/Ring.lean

tactic: rw [sum_ite, sum_const_zero, add_zero, sum_const, nsmul_one]
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
κ : ι → Type u_5
s✝ s₁ s₂ : Finset ι
i : ι
a : α
f g : ι → α
inst✝¹ : AddCommMonoidWithOne α
p : ι → Prop
inst✝ : DecidablePred p
s : Finset ι
⊢ ↑(filter p s).card = ∑ a ∈ s, if p a then 1 else 0
state_after: no goals
Theorem: Orientation.oangle_sign_smul_sub_right
File: Mathlib/Geometry/Euclidean/Angle/Oriented/Basic.lean

tactic: rw [← oangle_sign_neg_right, sub_eq_add_neg, oangle_sign_smul_add_right]
state_before: V : Type u_1
V' : Type u_2
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : NormedAddCommGroup V'
inst✝³ : InnerProductSpace ℝ V
inst✝² : InnerProductSpace ℝ V'
inst✝¹ : Fact (finrank ℝ V = 2)
inst✝ : Fact (finrank ℝ V' = 2)
o : Orientation ℝ V (Fin 2)
x y : V
r : ℝ
⊢ (o.oangle x (r • x - y)).sign = -(o.oangle x y).sign
state_after: no goals
Theorem: Ideal.iInf_pow_eq_bot_of_localRing
File: Mathlib/RingTheory/Filtration.lean

tactic: convert I.iInf_pow_smul_eq_bot_of_localRing (M := R) h
state_before: R M : Type u
inst✝⁴ : CommRing R
inst✝³ : AddCommGroup M
inst✝² : Module R M
I : Ideal R
F F' : I.Filtration M
inst✝¹ : IsNoetherianRing R
inst✝ : LocalRing R
h : I ≠ ⊤
⊢ ⨅ i, I ^ i = ⊥
state_after: case h.e'_2.h.e'_4.h
R M : Type u
inst✝⁴ : CommRing R
inst✝³ : AddCommGroup M
inst✝² : Module R M
I : Ideal R
F F' : I.Filtration M
inst✝¹ : IsNoetherianRing R
inst✝ : LocalRing R
h : I ≠ ⊤
x✝ : ℕ
⊢ I ^ x✝ = I ^ x✝ • ⊤

tactic: ext i
state_before: case h.e'_2.h.e'_4.h
R M : Type u
inst✝⁴ : CommRing R
inst✝³ : AddCommGroup M
inst✝² : Module R M
I : Ideal R
F F' : I.Filtration M
inst✝¹ : IsNoetherianRing R
inst✝ : LocalRing R
h : I ≠ ⊤
x✝ : ℕ
⊢ I ^ x✝ = I ^ x✝ • ⊤
state_after: case h.e'_2.h.e'_4.h.h
R M : Type u
inst✝⁴ : CommRing R
inst✝³ : AddCommGroup M
inst✝² : Module R M
I : Ideal R
F F' : I.Filtration M
inst✝¹ : IsNoetherianRing R
inst✝ : LocalRing R
h : I ≠ ⊤
x✝ : ℕ
i : R
⊢ i ∈ I ^ x✝ ↔ i ∈ I ^ x✝ • ⊤

tactic: rw [smul_eq_mul, ← Ideal.one_eq_top, mul_one]
state_before: case h.e'_2.h.e'_4.h.h
R M : Type u
inst✝⁴ : CommRing R
inst✝³ : AddCommGroup M
inst✝² : Module R M
I : Ideal R
F F' : I.Filtration M
inst✝¹ : IsNoetherianRing R
inst✝ : LocalRing R
h : I ≠ ⊤
x✝ : ℕ
i : R
⊢ i ∈ I ^ x✝ ↔ i ∈ I ^ x✝ • ⊤
state_after: no goals
Theorem: IsCompact.mul
File: Mathlib/Topology/Algebra/Monoid.lean

tactic: rw [← image_mul_prod]
state_before: ι : Type u_1
α : Type u_2
M : Type u_3
N : Type u_4
X : Type u_5
inst✝³ : TopologicalSpace X
inst✝² : TopologicalSpace M
inst✝¹ : Monoid M
inst✝ : ContinuousMul M
s t : Set M
hs : IsCompact s
ht : IsCompact t
⊢ IsCompact (s * t)
state_after: ι : Type u_1
α : Type u_2
M : Type u_3
N : Type u_4
X : Type u_5
inst✝³ : TopologicalSpace X
inst✝² : TopologicalSpace M
inst✝¹ : Monoid M
inst✝ : ContinuousMul M
s t : Set M
hs : IsCompact s
ht : IsCompact t
⊢ IsCompact ((fun x => x.1 * x.2) '' s ×ˢ t)

tactic: exact (hs.prod ht).image continuous_mul
state_before: ι : Type u_1
α : Type u_2
M : Type u_3
N : Type u_4
X : Type u_5
inst✝³ : TopologicalSpace X
inst✝² : TopologicalSpace M
inst✝¹ : Monoid M
inst✝ : ContinuousMul M
s t : Set M
hs : IsCompact s
ht : IsCompact t
⊢ IsCompact ((fun x => x.1 * x.2) '' s ×ˢ t)
state_after: no goals
Theorem: QuadraticForm.map_add_self
File: Mathlib/LinearAlgebra/QuadraticForm/Basic.lean

tactic: rw [← one_smul R x, ← add_smul, map_smul]
state_before: S : Type u_1
T : Type u_2
R : Type u_3
M : Type u_4
N : Type u_5
inst✝² : CommSemiring R
inst✝¹ : AddCommMonoid M
inst✝ : Module R M
Q : QuadraticForm R M
x : M
⊢ Q (x + x) = 4 * Q x
state_after: S : Type u_1
T : Type u_2
R : Type u_3
M : Type u_4
N : Type u_5
inst✝² : CommSemiring R
inst✝¹ : AddCommMonoid M
inst✝ : Module R M
Q : QuadraticForm R M
x : M
⊢ (1 + 1) * (1 + 1) * Q x = 4 * Q (1 • x)

tactic: norm_num
state_before: S : Type u_1
T : Type u_2
R : Type u_3
M : Type u_4
N : Type u_5
inst✝² : CommSemiring R
inst✝¹ : AddCommMonoid M
inst✝ : Module R M
Q : QuadraticForm R M
x : M
⊢ (1 + 1) * (1 + 1) * Q x = 4 * Q (1 • x)
state_after: no goals
Theorem: Zsqrtd.gcd_eq_zero_iff
File: Mathlib/NumberTheory/Zsqrtd/Basic.lean

tactic: simp only [Int.gcd_eq_zero_iff, Zsqrtd.ext_iff, eq_self_iff_true, zero_im, zero_re]
state_before: d : ℤ
a : ℤ√d
⊢ a.re.gcd a.im = 0 ↔ a = 0
state_after: no goals
Theorem: MeasureTheory.convolutionExistsAt_flip
File: Mathlib/Analysis/Convolution.lean

tactic: simp_rw [ConvolutionExistsAt, ← integrable_comp_sub_left (fun t => L (f t) (g (x - t))) x,
  sub_sub_cancel, flip_apply]
state_before: 𝕜 : Type u𝕜
G : Type uG
E : Type uE
E' : Type uE'
E'' : Type uE''
F : Type uF
F' : Type uF'
F'' : Type uF''
P : Type uP
inst✝¹⁴ : NormedAddCommGroup E
inst✝¹³ : NormedAddCommGroup E'
inst✝¹² : NormedAddCommGroup E''
inst✝¹¹ : NormedAddCommGroup F
f f' : G → E
g g' : G → E'
x x' : G
y y' : E
inst✝¹⁰ : NontriviallyNormedField 𝕜
inst✝⁹ : NormedSpace 𝕜 E
inst✝⁸ : NormedSpace 𝕜 E'
inst✝⁷ : NormedSpace 𝕜 E''
inst✝⁶ : NormedSpace 𝕜 F
L : E →L[𝕜] E' →L[𝕜] F
inst✝⁵ : MeasurableSpace G
μ ν : Measure G
inst✝⁴ : AddCommGroup G
inst✝³ : MeasurableNeg G
inst✝² : μ.IsAddLeftInvariant
inst✝¹ : MeasurableAdd G
inst✝ : μ.IsNegInvariant
⊢ ConvolutionExistsAt g f x L.flip μ ↔ ConvolutionExistsAt f g x L μ
state_after: no goals
Theorem: Ideal.IsHomogeneous.iInf
File: Mathlib/RingTheory/GradedAlgebra/HomogeneousIdeal.lean

tactic: intro i x hx
state_before: ι : Type u_1
σ : Type u_2
R : Type u_3
A : Type u_4
inst✝⁵ : Semiring A
inst✝⁴ : DecidableEq ι
inst✝³ : AddMonoid ι
inst✝² : SetLike σ A
inst✝¹ : AddSubmonoidClass σ A
𝒜 : ι → σ
inst✝ : GradedRing 𝒜
κ : Sort u_5
f : κ → Ideal A
h : ∀ (i : κ), IsHomogeneous 𝒜 (f i)
⊢ IsHomogeneous 𝒜 (⨅ i, f i)
state_after: ι : Type u_1
σ : Type u_2
R : Type u_3
A : Type u_4
inst✝⁵ : Semiring A
inst✝⁴ : DecidableEq ι
inst✝³ : AddMonoid ι
inst✝² : SetLike σ A
inst✝¹ : AddSubmonoidClass σ A
𝒜 : ι → σ
inst✝ : GradedRing 𝒜
κ : Sort u_5
f : κ → Ideal A
h : ∀ (i : κ), IsHomogeneous 𝒜 (f i)
i : ι
x : A
hx : x ∈ ⨅ i, f i
⊢ ↑(((decompose 𝒜) x) i) ∈ ⨅ i, f i

tactic: simp only [Ideal.mem_iInf] at hx ⊢
state_before: ι : Type u_1
σ : Type u_2
R : Type u_3
A : Type u_4
inst✝⁵ : Semiring A
inst✝⁴ : DecidableEq ι
inst✝³ : AddMonoid ι
inst✝² : SetLike σ A
inst✝¹ : AddSubmonoidClass σ A
𝒜 : ι → σ
inst✝ : GradedRing 𝒜
κ : Sort u_5
f : κ → Ideal A
h : ∀ (i : κ), IsHomogeneous 𝒜 (f i)
i : ι
x : A
hx : x ∈ ⨅ i, f i
⊢ ↑(((decompose 𝒜) x) i) ∈ ⨅ i, f i
state_after: ι : Type u_1
σ : Type u_2
R : Type u_3
A : Type u_4
inst✝⁵ : Semiring A
inst✝⁴ : DecidableEq ι
inst✝³ : AddMonoid ι
inst✝² : SetLike σ A
inst✝¹ : AddSubmonoidClass σ A
𝒜 : ι → σ
inst✝ : GradedRing 𝒜
κ : Sort u_5
f : κ → Ideal A
h : ∀ (i : κ), IsHomogeneous 𝒜 (f i)
i : ι
x : A
hx : ∀ (i : κ), x ∈ f i
⊢ ∀ (i_1 : κ), ↑(((decompose 𝒜) x) i) ∈ f i_1

tactic: exact fun j => h _ _ (hx j)
state_before: ι : Type u_1
σ : Type u_2
R : Type u_3
A : Type u_4
inst✝⁵ : Semiring A
inst✝⁴ : DecidableEq ι
inst✝³ : AddMonoid ι
inst✝² : SetLike σ A
inst✝¹ : AddSubmonoidClass σ A
𝒜 : ι → σ
inst✝ : GradedRing 𝒜
κ : Sort u_5
f : κ → Ideal A
h : ∀ (i : κ), IsHomogeneous 𝒜 (f i)
i : ι
x : A
hx : ∀ (i : κ), x ∈ f i
⊢ ∀ (i_1 : κ), ↑(((decompose 𝒜) x) i) ∈ f i_1
state_after: no goals
Theorem: Module.DualBases.coeffs_lc
File: Mathlib/LinearAlgebra/Dual.lean

tactic: ext i
state_before: R : Type u_1
M : Type u_2
ι : Type u_3
inst✝³ : CommRing R
inst✝² : AddCommGroup M
inst✝¹ : Module R M
e : ι → M
ε : ι → Dual R M
inst✝ : DecidableEq ι
h : DualBases e ε
l : ι →₀ R
⊢ h.coeffs (lc e l) = l
state_after: case h
R : Type u_1
M : Type u_2
ι : Type u_3
inst✝³ : CommRing R
inst✝² : AddCommGroup M
inst✝¹ : Module R M
e : ι → M
ε : ι → Dual R M
inst✝ : DecidableEq ι
h : DualBases e ε
l : ι →₀ R
i : ι
⊢ (h.coeffs (lc e l)) i = l i

tactic: rw [h.coeffs_apply, h.dual_lc]
state_before: case h
R : Type u_1
M : Type u_2
ι : Type u_3
inst✝³ : CommRing R
inst✝² : AddCommGroup M
inst✝¹ : Module R M
e : ι → M
ε : ι → Dual R M
inst✝ : DecidableEq ι
h : DualBases e ε
l : ι →₀ R
i : ι
⊢ (h.coeffs (lc e l)) i = l i
state_after: no goals
Theorem: SetTheory.PGame.impartialAux_def
File: Mathlib/SetTheory/Game/Impartial.lean

tactic: rw [ImpartialAux]
state_before: G : PGame
⊢ G.ImpartialAux ↔
    G ≈ -G ∧ (∀ (i : G.LeftMoves), (G.moveLeft i).ImpartialAux) ∧ ∀ (j : G.RightMoves), (G.moveRight j).ImpartialAux
state_after: no goals
Theorem: Inducing.inseparable_iff
File: Mathlib/Topology/Inseparable.lean

tactic: simp only [inseparable_iff_specializes_and, hf.specializes_iff]
state_before: X : Type u_1
Y : Type u_2
Z : Type u_3
α : Type u_4
ι : Type u_5
π : ι → Type u_6
inst✝³ : TopologicalSpace X
inst✝² : TopologicalSpace Y
inst✝¹ : TopologicalSpace Z
inst✝ : (i : ι) → TopologicalSpace (π i)
x y z : X
s : Set X
f g : X → Y
hf : Inducing f
⊢ (f x ~ᵢ f y) ↔ (x ~ᵢ y)
state_after: no goals