1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: Finset.filter_True
File: Mathlib/Data/Finset/Basic.lean

tactic: ext
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
p q : α → Prop
inst✝¹ : DecidablePred p
inst✝ : DecidablePred q
s✝ : Finset α
h : DecidablePred fun x => True
s : Finset α
⊢ filter (fun x => True) s = s
state_after: case a
α : Type u_1
β : Type u_2
γ : Type u_3
p q : α → Prop
inst✝¹ : DecidablePred p
inst✝ : DecidablePred q
s✝ : Finset α
h : DecidablePred fun x => True
s : Finset α
a✝ : α
⊢ a✝ ∈ filter (fun x => True) s ↔ a✝ ∈ s

tactic: simp
state_before: case a
α : Type u_1
β : Type u_2
γ : Type u_3
p q : α → Prop
inst✝¹ : DecidablePred p
inst✝ : DecidablePred q
s✝ : Finset α
h : DecidablePred fun x => True
s : Finset α
a✝ : α
⊢ a✝ ∈ filter (fun x => True) s ↔ a✝ ∈ s
state_after: no goals
Theorem: HurwitzKernelBounds.F_nat_zero_zero_sub_le
File: Mathlib/NumberTheory/ModularForms/JacobiTheta/Bounds.lean

tactic: convert F_nat_zero_le zero_le_one ht using 2
state_before: t : ℝ
ht : 0 < t
⊢ ‖F_nat 0 0 t - 1‖ ≤ rexp (-π * t) / (1 - rexp (-π * t))
state_after: case h.e'_3.h.e'_3
t : ℝ
ht : 0 < t
⊢ F_nat 0 0 t - 1 = F_nat 0 1 t

case h.e'_4.h.e'_5
t : ℝ
ht : 0 < t
⊢ rexp (-π * t) = rexp (-π * 1 ^ 2 * t)

tactic: rw [F_nat, tsum_eq_zero_add (summable_f_nat 0 0 ht), f_nat, Nat.cast_zero, add_zero, pow_zero,
  one_mul, pow_two, mul_zero, mul_zero, zero_mul, exp_zero, add_comm, add_sub_cancel_right]
state_before: case h.e'_3.h.e'_3
t : ℝ
ht : 0 < t
⊢ F_nat 0 0 t - 1 = F_nat 0 1 t
state_after: case h.e'_3.h.e'_3
t : ℝ
ht : 0 < t
⊢ ∑' (b : ℕ), f_nat 0 0 t (b + 1) = F_nat 0 1 t

tactic: simp_rw [F_nat, f_nat, Nat.cast_add, Nat.cast_one, add_zero]
state_before: case h.e'_3.h.e'_3
t : ℝ
ht : 0 < t
⊢ ∑' (b : ℕ), f_nat 0 0 t (b + 1) = F_nat 0 1 t
state_after: no goals

tactic: rw [one_pow, mul_one]
state_before: case h.e'_4.h.e'_5
t : ℝ
ht : 0 < t
⊢ rexp (-π * t) = rexp (-π * 1 ^ 2 * t)
state_after: no goals
Theorem: MeasureTheory.Adapted.measurable_upcrossingsBefore
File: Mathlib/Probability/Martingale/Upcrossing.lean

tactic: have : upcrossingsBefore a b f N = fun ω =>
    ∑ i ∈ Finset.Ico 1 (N + 1), {n | upperCrossingTime a b f N n ω < N}.indicator 1 i := by
  ext ω
  exact upcrossingsBefore_eq_sum hab
state_before: Ω : Type u_1
ι : Type u_2
m0 : MeasurableSpace Ω
μ : Measure Ω
a b : ℝ
f : ℕ → Ω → ℝ
N n m : ℕ
ω : Ω
ℱ : Filtration ℕ m0
hf : Adapted ℱ f
hab : a < b
⊢ Measurable (upcrossingsBefore a b f N)
state_after: Ω : Type u_1
ι : Type u_2
m0 : MeasurableSpace Ω
μ : Measure Ω
a b : ℝ
f : ℕ → Ω → ℝ
N n m : ℕ
ω : Ω
ℱ : Filtration ℕ m0
hf : Adapted ℱ f
hab : a < b
this :
  upcrossingsBefore a b f N = fun ω => ∑ i ∈ Finset.Ico 1 (N + 1), {n | upperCrossingTime a b f N n ω < N}.indicator 1 i
⊢ Measurable (upcrossingsBefore a b f N)

tactic: rw [this]
state_before: Ω : Type u_1
ι : Type u_2
m0 : MeasurableSpace Ω
μ : Measure Ω
a b : ℝ
f : ℕ → Ω → ℝ
N n m : ℕ
ω : Ω
ℱ : Filtration ℕ m0
hf : Adapted ℱ f
hab : a < b
this :
  upcrossingsBefore a b f N = fun ω => ∑ i ∈ Finset.Ico 1 (N + 1), {n | upperCrossingTime a b f N n ω < N}.indicator 1 i
⊢ Measurable (upcrossingsBefore a b f N)
state_after: Ω : Type u_1
ι : Type u_2
m0 : MeasurableSpace Ω
μ : Measure Ω
a b : ℝ
f : ℕ → Ω → ℝ
N n m : ℕ
ω : Ω
ℱ : Filtration ℕ m0
hf : Adapted ℱ f
hab : a < b
this :
  upcrossingsBefore a b f N = fun ω => ∑ i ∈ Finset.Ico 1 (N + 1), {n | upperCrossingTime a b f N n ω < N}.indicator 1 i
⊢ Measurable fun ω => ∑ i ∈ Finset.Ico 1 (N + 1), {n | upperCrossingTime a b f N n ω < N}.indicator 1 i

tactic: exact Finset.measurable_sum _ fun i _ => Measurable.indicator measurable_const <|
  ℱ.le N _ (hf.isStoppingTime_upperCrossingTime.measurableSet_lt_of_pred N)
state_before: Ω : Type u_1
ι : Type u_2
m0 : MeasurableSpace Ω
μ : Measure Ω
a b : ℝ
f : ℕ → Ω → ℝ
N n m : ℕ
ω : Ω
ℱ : Filtration ℕ m0
hf : Adapted ℱ f
hab : a < b
this :
  upcrossingsBefore a b f N = fun ω => ∑ i ∈ Finset.Ico 1 (N + 1), {n | upperCrossingTime a b f N n ω < N}.indicator 1 i
⊢ Measurable fun ω => ∑ i ∈ Finset.Ico 1 (N + 1), {n | upperCrossingTime a b f N n ω < N}.indicator 1 i
state_after: no goals

tactic: ext ω
state_before: Ω : Type u_1
ι : Type u_2
m0 : MeasurableSpace Ω
μ : Measure Ω
a b : ℝ
f : ℕ → Ω → ℝ
N n m : ℕ
ω : Ω
ℱ : Filtration ℕ m0
hf : Adapted ℱ f
hab : a < b
⊢ upcrossingsBefore a b f N = fun ω => ∑ i ∈ Finset.Ico 1 (N + 1), {n | upperCrossingTime a b f N n ω < N}.indicator 1 i
state_after: case h
Ω : Type u_1
ι : Type u_2
m0 : MeasurableSpace Ω
μ : Measure Ω
a b : ℝ
f : ℕ → Ω → ℝ
N n m : ℕ
ω✝ : Ω
ℱ : Filtration ℕ m0
hf : Adapted ℱ f
hab : a < b
ω : Ω
⊢ upcrossingsBefore a b f N ω = ∑ i ∈ Finset.Ico 1 (N + 1), {n | upperCrossingTime a b f N n ω < N}.indicator 1 i

tactic: exact upcrossingsBefore_eq_sum hab
state_before: case h
Ω : Type u_1
ι : Type u_2
m0 : MeasurableSpace Ω
μ : Measure Ω
a b : ℝ
f : ℕ → Ω → ℝ
N n m : ℕ
ω✝ : Ω
ℱ : Filtration ℕ m0
hf : Adapted ℱ f
hab : a < b
ω : Ω
⊢ upcrossingsBefore a b f N ω = ∑ i ∈ Finset.Ico 1 (N + 1), {n | upperCrossingTime a b f N n ω < N}.indicator 1 i
state_after: no goals
Theorem: LinearMap.exists_monic_and_aeval_eq_zero
File: Mathlib/LinearAlgebra/Matrix/Charpoly/LinearMap.lean

tactic: simp
state_before: ι : Type u_1
inst✝⁴ : Fintype ι
M : Type u_2
inst✝³ : AddCommGroup M
R : Type u_3
inst✝² : CommRing R
inst✝¹ : Module R M
I : Ideal R
b : ι → M
hb : Submodule.span R (Set.range b) = ⊤
inst✝ : Module.Finite R M
f : Module.End R M
⊢ range f ≤ ⊤ • ⊤
state_after: no goals
Theorem: PFun.prodMap_id_id
File: Mathlib/Data/PFun.lean

tactic: simp [eq_comm]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ε : Type u_5
ι : Type u_6
f : α →. β
x✝¹ x✝ : α × β
⊢ x✝ ∈ (PFun.id α).prodMap (PFun.id β) x✝¹ ↔ x✝ ∈ PFun.id (α × β) x✝¹
state_after: no goals
Theorem: Ico_subset_closure_interior
File: Mathlib/Topology/Order/DenselyOrdered.lean

tactic: simpa only [dual_Ioc] using Ioc_subset_closure_interior (OrderDual.toDual b) (OrderDual.toDual a)
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝³ : TopologicalSpace α
inst✝² : LinearOrder α
inst✝¹ : OrderTopology α
inst✝ : DenselyOrdered α
a✝ b✝ : α
s : Set α
a b : α
⊢ Ico a b ⊆ closure (interior (Ico a b))
state_after: no goals
Theorem: ZMod.eq_one_of_isUnit_natCast
File: Mathlib/Data/ZMod/Basic.lean

tactic: rw [← Nat.mod_zero n, ← val_natCast, val_unit'.mp h]
state_before: n : ℕ
h : IsUnit ↑n
⊢ n = 1
state_after: no goals
Theorem: Filter.tendsto_mul_const_atBot_iff_neg
File: Mathlib/Order/Filter/AtTopBot.lean

tactic: simp only [mul_comm _ r, tendsto_const_mul_atBot_iff_neg h]
state_before: ι : Type u_1
ι' : Type u_2
α : Type u_3
β : Type u_4
γ : Type u_5
inst✝¹ : LinearOrderedField α
l : Filter β
f : β → α
r : α
inst✝ : l.NeBot
h : Tendsto f l atTop
⊢ Tendsto (fun x => f x * r) l atBot ↔ r < 0
state_after: no goals
Theorem: PNat.card_uIcc
File: Mathlib/Data/PNat/Interval.lean

tactic: rw [← Nat.card_uIcc, ← map_subtype_embedding_uIcc, card_map]
state_before: a b : ℕ+
⊢ (uIcc a b).card = (↑↑b - ↑↑a).natAbs + 1
state_after: no goals
Theorem: Matrix.det_matrixOfPolynomials
File: Mathlib/LinearAlgebra/Matrix/Block.lean

tactic: rw [Matrix.det_of_upperTriangular (Matrix.matrixOfPolynomials_blockTriangular p (fun i ↦
    Nat.le_of_eq (h_deg i)))]
state_before: α : Type u_1
β : Type u_2
m : Type u_3
n✝ : Type u_4
o : Type u_5
m' : α → Type u_6
n' : α → Type u_7
R : Type v
inst✝⁴ : CommRing R
M N : Matrix m m R
b : m → α
inst✝³ : DecidableEq m
inst✝² : Fintype m
inst✝¹ : DecidableEq n✝
inst✝ : Fintype n✝
n : ℕ
p : Fin n → R[X]
h_deg : ∀ (i : Fin n), (p i).natDegree = ↑i
h_monic : ∀ (i : Fin n), (p i).Monic
⊢ (of fun i j => (p j).coeff ↑i).det = 1
state_after: α : Type u_1
β : Type u_2
m : Type u_3
n✝ : Type u_4
o : Type u_5
m' : α → Type u_6
n' : α → Type u_7
R : Type v
inst✝⁴ : CommRing R
M N : Matrix m m R
b : m → α
inst✝³ : DecidableEq m
inst✝² : Fintype m
inst✝¹ : DecidableEq n✝
inst✝ : Fintype n✝
n : ℕ
p : Fin n → R[X]
h_deg : ∀ (i : Fin n), (p i).natDegree = ↑i
h_monic : ∀ (i : Fin n), (p i).Monic
⊢ ∏ i : Fin n, of (fun i j => (p j).coeff ↑i) i i = 1

tactic: convert prod_const_one with x _
state_before: α : Type u_1
β : Type u_2
m : Type u_3
n✝ : Type u_4
o : Type u_5
m' : α → Type u_6
n' : α → Type u_7
R : Type v
inst✝⁴ : CommRing R
M N : Matrix m m R
b : m → α
inst✝³ : DecidableEq m
inst✝² : Fintype m
inst✝¹ : DecidableEq n✝
inst✝ : Fintype n✝
n : ℕ
p : Fin n → R[X]
h_deg : ∀ (i : Fin n), (p i).natDegree = ↑i
h_monic : ∀ (i : Fin n), (p i).Monic
⊢ ∏ i : Fin n, of (fun i j => (p j).coeff ↑i) i i = 1
state_after: case h.e'_2.a
α : Type u_1
β : Type u_2
m : Type u_3
n✝ : Type u_4
o : Type u_5
m' : α → Type u_6
n' : α → Type u_7
R : Type v
inst✝⁴ : CommRing R
M N : Matrix m m R
b : m → α
inst✝³ : DecidableEq m
inst✝² : Fintype m
inst✝¹ : DecidableEq n✝
inst✝ : Fintype n✝
n : ℕ
p : Fin n → R[X]
h_deg : ∀ (i : Fin n), (p i).natDegree = ↑i
h_monic : ∀ (i : Fin n), (p i).Monic
x : Fin n
a✝ : x ∈ univ
⊢ of (fun i j => (p j).coeff ↑i) x x = 1

tactic: rw [Matrix.of_apply, ← h_deg, coeff_natDegree, (h_monic x).leadingCoeff]
state_before: case h.e'_2.a
α : Type u_1
β : Type u_2
m : Type u_3
n✝ : Type u_4
o : Type u_5
m' : α → Type u_6
n' : α → Type u_7
R : Type v
inst✝⁴ : CommRing R
M N : Matrix m m R
b : m → α
inst✝³ : DecidableEq m
inst✝² : Fintype m
inst✝¹ : DecidableEq n✝
inst✝ : Fintype n✝
n : ℕ
p : Fin n → R[X]
h_deg : ∀ (i : Fin n), (p i).natDegree = ↑i
h_monic : ∀ (i : Fin n), (p i).Monic
x : Fin n
a✝ : x ∈ univ
⊢ of (fun i j => (p j).coeff ↑i) x x = 1
state_after: no goals
Theorem: strictMonoOn_of_hasDerivWithinAt_pos
File: Mathlib/Analysis/Calculus/MeanValue.lean

tactic: rw [deriv_eqOn isOpen_interior hf' hx]
state_before: E : Type u_1
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
F : Type u_2
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
D : Set ℝ
hD : Convex ℝ D
f f' : ℝ → ℝ
hf : ContinuousOn f D
hf' : ∀ x ∈ interior D, HasDerivWithinAt f (f' x) (interior D) x
hf'₀ : ∀ x ∈ interior D, 0 < f' x
x : ℝ
hx : x ∈ interior D
⊢ 0 < deriv f x
state_after: E : Type u_1
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
F : Type u_2
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
D : Set ℝ
hD : Convex ℝ D
f f' : ℝ → ℝ
hf : ContinuousOn f D
hf' : ∀ x ∈ interior D, HasDerivWithinAt f (f' x) (interior D) x
hf'₀ : ∀ x ∈ interior D, 0 < f' x
x : ℝ
hx : x ∈ interior D
⊢ 0 < f' x

tactic: exact hf'₀ _ hx
state_before: E : Type u_1
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
F : Type u_2
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
D : Set ℝ
hD : Convex ℝ D
f f' : ℝ → ℝ
hf : ContinuousOn f D
hf' : ∀ x ∈ interior D, HasDerivWithinAt f (f' x) (interior D) x
hf'₀ : ∀ x ∈ interior D, 0 < f' x
x : ℝ
hx : x ∈ interior D
⊢ 0 < f' x
state_after: no goals
Theorem: Ideal.map_eq_bot_iff_of_injective
File: Mathlib/RingTheory/Ideal/Maps.lean

tactic: rw [map_eq_bot_iff_le_ker, (RingHom.injective_iff_ker_eq_bot f).mp hf, le_bot_iff]
state_before: R : Type u_1
S : Type u_2
F : Type u_3
inst✝² : Ring R
inst✝¹ : Ring S
inst✝ : FunLike F R S
rc : RingHomClass F R S
I : Ideal R
f : F
hf : Function.Injective ⇑f
⊢ map f I = ⊥ ↔ I = ⊥
state_after: no goals
Theorem: Continuous.path_trans
File: Mathlib/Topology/Connected/PathConnected.lean

tactic: intro hf hg
state_before: X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x y z : X
ι : Type u_3
γ : Path x y
f : Y → Path x y
g : Y → Path y z
⊢ Continuous f → Continuous g → Continuous fun t => (f t).trans (g t)
state_after: X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x y z : X
ι : Type u_3
γ : Path x y
f : Y → Path x y
g : Y → Path y z
hf : Continuous f
hg : Continuous g
⊢ Continuous fun t => (f t).trans (g t)

tactic: apply continuous_uncurry_iff.mp
state_before: X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x y z : X
ι : Type u_3
γ : Path x y
f : Y → Path x y
g : Y → Path y z
hf : Continuous f
hg : Continuous g
⊢ Continuous fun t => (f t).trans (g t)
state_after: X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x y z : X
ι : Type u_3
γ : Path x y
f : Y → Path x y
g : Y → Path y z
hf : Continuous f
hg : Continuous g
⊢ Continuous ↿fun t => (f t).trans (g t)

tactic: exact trans_continuous_family _ (continuous_uncurry_iff.mpr hf) _ (continuous_uncurry_iff.mpr hg)
state_before: X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x y z : X
ι : Type u_3
γ : Path x y
f : Y → Path x y
g : Y → Path y z
hf : Continuous f
hg : Continuous g
⊢ Continuous ↿fun t => (f t).trans (g t)
state_after: no goals
Theorem: linearIndependent_iff
File: Mathlib/LinearAlgebra/LinearIndependent.lean

tactic: simp [LinearIndependent, LinearMap.ker_eq_bot']
state_before: ι : Type u'
ι' : Type u_1
R : Type u_2
K : Type u_3
M : Type u_4
M' : Type u_5
M'' : Type u_6
V : Type u
V' : Type u_7
v : ι → M
inst✝⁶ : Semiring R
inst✝⁵ : AddCommMonoid M
inst✝⁴ : AddCommMonoid M'
inst✝³ : AddCommMonoid M''
inst✝² : Module R M
inst✝¹ : Module R M'
inst✝ : Module R M''
a b : R
x y : M
⊢ LinearIndependent R v ↔ ∀ (l : ι →₀ R), (Finsupp.total ι M R v) l = 0 → l = 0
state_after: no goals
Theorem: Group.conjugates_subset_normal
File: Mathlib/Algebra/Group/Subgroup/Basic.lean

tactic: rintro a hc
state_before: G : Type u_1
G' : Type u_2
G'' : Type u_3
inst✝³ : Group G
inst✝² : Group G'
inst✝¹ : Group G''
A : Type u_4
inst✝ : AddGroup A
s : Set G
N : Subgroup G
tn : N.Normal
a : G
h : a ∈ N
⊢ conjugatesOf a ⊆ ↑N
state_after: G : Type u_1
G' : Type u_2
G'' : Type u_3
inst✝³ : Group G
inst✝² : Group G'
inst✝¹ : Group G''
A : Type u_4
inst✝ : AddGroup A
s : Set G
N : Subgroup G
tn : N.Normal
a✝ : G
h : a✝ ∈ N
a : G
hc : a ∈ conjugatesOf a✝
⊢ a ∈ ↑N

tactic: obtain ⟨c, rfl⟩ := isConj_iff.1 hc
state_before: G : Type u_1
G' : Type u_2
G'' : Type u_3
inst✝³ : Group G
inst✝² : Group G'
inst✝¹ : Group G''
A : Type u_4
inst✝ : AddGroup A
s : Set G
N : Subgroup G
tn : N.Normal
a✝ : G
h : a✝ ∈ N
a : G
hc : a ∈ conjugatesOf a✝
⊢ a ∈ ↑N
state_after: case intro
G : Type u_1
G' : Type u_2
G'' : Type u_3
inst✝³ : Group G
inst✝² : Group G'
inst✝¹ : Group G''
A : Type u_4
inst✝ : AddGroup A
s : Set G
N : Subgroup G
tn : N.Normal
a : G
h : a ∈ N
c : G
hc : c * a * c⁻¹ ∈ conjugatesOf a
⊢ c * a * c⁻¹ ∈ ↑N

tactic: exact tn.conj_mem a h c
state_before: case intro
G : Type u_1
G' : Type u_2
G'' : Type u_3
inst✝³ : Group G
inst✝² : Group G'
inst✝¹ : Group G''
A : Type u_4
inst✝ : AddGroup A
s : Set G
N : Subgroup G
tn : N.Normal
a : G
h : a ∈ N
c : G
hc : c * a * c⁻¹ ∈ conjugatesOf a
⊢ c * a * c⁻¹ ∈ ↑N
state_after: no goals
Theorem: finprod_mem_insert'
File: Mathlib/Algebra/BigOperators/Finprod.lean

tactic: rw [insert_eq, finprod_mem_union' _ _ hs, finprod_mem_singleton]
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
G : Type u_4
M : Type u_5
N : Type u_6
inst✝¹ : CommMonoid M
inst✝ : CommMonoid N
f✝ g : α → M
a b : α
s t : Set α
f : α → M
h : a ∉ s
hs : (s ∩ mulSupport f).Finite
⊢ ∏ᶠ (i : α) (_ : i ∈ insert a s), f i = f a * ∏ᶠ (i : α) (_ : i ∈ s), f i
state_after: α : Type u_1
β : Type u_2
ι : Type u_3
G : Type u_4
M : Type u_5
N : Type u_6
inst✝¹ : CommMonoid M
inst✝ : CommMonoid N
f✝ g : α → M
a b : α
s t : Set α
f : α → M
h : a ∉ s
hs : (s ∩ mulSupport f).Finite
⊢ Disjoint {a} s

α : Type u_1
β : Type u_2
ι : Type u_3
G : Type u_4
M : Type u_5
N : Type u_6
inst✝¹ : CommMonoid M
inst✝ : CommMonoid N
f✝ g : α → M
a b : α
s t : Set α
f : α → M
h : a ∉ s
hs : (s ∩ mulSupport f).Finite
⊢ ({a} ∩ mulSupport f).Finite

tactic: rwa [disjoint_singleton_left]
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
G : Type u_4
M : Type u_5
N : Type u_6
inst✝¹ : CommMonoid M
inst✝ : CommMonoid N
f✝ g : α → M
a b : α
s t : Set α
f : α → M
h : a ∉ s
hs : (s ∩ mulSupport f).Finite
⊢ Disjoint {a} s
state_after: no goals

tactic: exact (finite_singleton a).inter_of_left _
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
G : Type u_4
M : Type u_5
N : Type u_6
inst✝¹ : CommMonoid M
inst✝ : CommMonoid N
f✝ g : α → M
a b : α
s t : Set α
f : α → M
h : a ∉ s
hs : (s ∩ mulSupport f).Finite
⊢ ({a} ∩ mulSupport f).Finite
state_after: no goals
Theorem: SimpleGraph.Walk.IsCycle.ne_bot
File: Mathlib/Combinatorics/SimpleGraph/Connectivity.lean

tactic: cases hp.ne_nil rfl
state_before: V : Type u
V' : Type v
V'' : Type w
G : SimpleGraph V
G' : SimpleGraph V'
G'' : SimpleGraph V''
u v w x y : V
hp : nil.IsCycle
⊢ G ≠ ⊥
state_after: no goals

tactic: rintro rfl
state_before: V : Type u
V' : Type v
V'' : Type w
G : SimpleGraph V
G' : SimpleGraph V'
G'' : SimpleGraph V''
u v w x y v✝ : V
h : G.Adj u v✝
p✝ : G.Walk v✝ u
hp : (cons h p✝).IsCycle
⊢ G ≠ ⊥
state_after: V : Type u
V' : Type v
V'' : Type w
G' : SimpleGraph V'
G'' : SimpleGraph V''
u v w x y v✝ : V
h : ⊥.Adj u v✝
p✝ : ⊥.Walk v✝ u
hp : (cons h p✝).IsCycle
⊢ False

tactic: exact h
state_before: V : Type u
V' : Type v
V'' : Type w
G' : SimpleGraph V'
G'' : SimpleGraph V''
u v w x y v✝ : V
h : ⊥.Adj u v✝
p✝ : ⊥.Walk v✝ u
hp : (cons h p✝).IsCycle
⊢ False
state_after: no goals
Theorem: MeasureTheory.ofReal_integral_eq_lintegral_ofReal
File: Mathlib/MeasureTheory/Integral/Bochner.lean

tactic: simp_rw [integral_congr_ae this, ofReal_integral_norm_eq_lintegral_nnnorm hfi,
  ← ofReal_norm_eq_coe_nnnorm]
state_before: α : Type u_1
E : Type u_2
F : Type u_3
𝕜 : Type u_4
inst✝¹¹ : NormedAddCommGroup E
inst✝¹⁰ : NormedSpace ℝ E
hE : CompleteSpace E
inst✝⁹ : NontriviallyNormedField 𝕜
inst✝⁸ : NormedSpace 𝕜 E
inst✝⁷ : SMulCommClass ℝ 𝕜 E
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace ℝ F
inst✝⁴ : CompleteSpace F
G : Type u_5
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace ℝ G
f✝ g : α → E
m : MeasurableSpace α
μ : Measure α
X : Type u_6
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
f : α → ℝ
hfi : Integrable f μ
f_nn : 0 ≤ᶠ[ae μ] f
this : f =ᶠ[ae μ] fun x => ‖f x‖
⊢ ENNReal.ofReal (∫ (x : α), f x ∂μ) = ∫⁻ (x : α), ENNReal.ofReal (f x) ∂μ
state_after: α : Type u_1
E : Type u_2
F : Type u_3
𝕜 : Type u_4
inst✝¹¹ : NormedAddCommGroup E
inst✝¹⁰ : NormedSpace ℝ E
hE : CompleteSpace E
inst✝⁹ : NontriviallyNormedField 𝕜
inst✝⁸ : NormedSpace 𝕜 E
inst✝⁷ : SMulCommClass ℝ 𝕜 E
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace ℝ F
inst✝⁴ : CompleteSpace F
G : Type u_5
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace ℝ G
f✝ g : α → E
m : MeasurableSpace α
μ : Measure α
X : Type u_6
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
f : α → ℝ
hfi : Integrable f μ
f_nn : 0 ≤ᶠ[ae μ] f
this : f =ᶠ[ae μ] fun x => ‖f x‖
⊢ ∫⁻ (x : α), ENNReal.ofReal ‖f x‖ ∂μ = ∫⁻ (x : α), ENNReal.ofReal (f x) ∂μ

tactic: exact lintegral_congr_ae (this.symm.fun_comp ENNReal.ofReal)
state_before: α : Type u_1
E : Type u_2
F : Type u_3
𝕜 : Type u_4
inst✝¹¹ : NormedAddCommGroup E
inst✝¹⁰ : NormedSpace ℝ E
hE : CompleteSpace E
inst✝⁹ : NontriviallyNormedField 𝕜
inst✝⁸ : NormedSpace 𝕜 E
inst✝⁷ : SMulCommClass ℝ 𝕜 E
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace ℝ F
inst✝⁴ : CompleteSpace F
G : Type u_5
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace ℝ G
f✝ g : α → E
m : MeasurableSpace α
μ : Measure α
X : Type u_6
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
f : α → ℝ
hfi : Integrable f μ
f_nn : 0 ≤ᶠ[ae μ] f
this : f =ᶠ[ae μ] fun x => ‖f x‖
⊢ ∫⁻ (x : α), ENNReal.ofReal ‖f x‖ ∂μ = ∫⁻ (x : α), ENNReal.ofReal (f x) ∂μ
state_after: no goals
Theorem: Nat.log_div_mul_self
File: Mathlib/Data/Nat/Log.lean

tactic: rcases le_or_lt b 1 with hb | hb
state_before: b n : ℕ
⊢ log b (n / b * b) = log b n
state_after: case inl
b n : ℕ
hb : b ≤ 1
⊢ log b (n / b * b) = log b n

case inr
b n : ℕ
hb : 1 < b
⊢ log b (n / b * b) = log b n

tactic: cases' lt_or_le n b with h h
state_before: case inr
b n : ℕ
hb : 1 < b
⊢ log b (n / b * b) = log b n
state_after: case inr.inl
b n : ℕ
hb : 1 < b
h : n < b
⊢ log b (n / b * b) = log b n

case inr.inr
b n : ℕ
hb : 1 < b
h : b ≤ n
⊢ log b (n / b * b) = log b n

tactic: rw [log_mul_base hb (Nat.div_pos h (by omega)).ne', log_div_base,
  Nat.sub_add_cancel (succ_le_iff.2 <| log_pos hb h)]
state_before: case inr.inr
b n : ℕ
hb : 1 < b
h : b ≤ n
⊢ log b (n / b * b) = log b n
state_after: no goals

tactic: rw [log_of_left_le_one hb, log_of_left_le_one hb]
state_before: case inl
b n : ℕ
hb : b ≤ 1
⊢ log b (n / b * b) = log b n
state_after: no goals

tactic: rw [div_eq_of_lt h, Nat.zero_mul, log_zero_right, log_of_lt h]
state_before: case inr.inl
b n : ℕ
hb : 1 < b
h : n < b
⊢ log b (n / b * b) = log b n
state_after: no goals

tactic: omega
state_before: b n : ℕ
hb : 1 < b
h : b ≤ n
⊢ 0 < b
state_after: no goals
Theorem: Zspan.fract_eq_self
File: Mathlib/Algebra/Module/Zlattice/Basic.lean

tactic: classical simp only [Basis.ext_elem_iff b, repr_fract_apply, Int.fract_eq_self,
  mem_fundamentalDomain, Set.mem_Ico]
state_before: E : Type u_1
ι : Type u_2
K : Type u_3
inst✝⁴ : NormedLinearOrderedField K
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace K E
b : Basis ι K E
inst✝¹ : FloorRing K
inst✝ : Fintype ι
x : E
⊢ fract b x = x ↔ x ∈ fundamentalDomain b
state_after: no goals

tactic: simp only [Basis.ext_elem_iff b, repr_fract_apply, Int.fract_eq_self,
mem_fundamentalDomain, Set.mem_Ico]
state_before: E : Type u_1
ι : Type u_2
K : Type u_3
inst✝⁴ : NormedLinearOrderedField K
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace K E
b : Basis ι K E
inst✝¹ : FloorRing K
inst✝ : Fintype ι
x : E
⊢ fract b x = x ↔ x ∈ fundamentalDomain b
state_after: no goals
Theorem: CompactlySupportedContinuousMap.sum_apply
File: Mathlib/Topology/ContinuousFunction/CompactlySupported.lean

tactic: simp
state_before: F : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
inst✝³ : TopologicalSpace α
inst✝² : TopologicalSpace β
x : α
inst✝¹ : AddCommMonoid β
inst✝ : ContinuousAdd β
ι : Type u_5
s : Finset ι
f : ι → α →C_c β
a : α
⊢ (∑ i ∈ s, f i) a = ∑ i ∈ s, (f i) a
state_after: no goals
Theorem: CategoryTheory.Functor.initial_of_exists_of_isCofiltered
File: Mathlib/CategoryTheory/Filtered/Final.lean

tactic: suffices ∀ d, IsCofiltered (CostructuredArrow F d) from
  initial_of_isCofiltered_costructuredArrow F
state_before: C : Type u₁
inst✝² : Category.{v₁, u₁} C
D : Type u₂
inst✝¹ : Category.{v₂, u₂} D
F : C ⥤ D
inst✝ : IsCofilteredOrEmpty C
h₁ : ∀ (d : D), ∃ c, Nonempty (F.obj c ⟶ d)
h₂ : ∀ {d : D} {c : C} (s s' : F.obj c ⟶ d), ∃ c' t, F.map t ≫ s = F.map t ≫ s'
⊢ F.Initial
state_after: C : Type u₁
inst✝² : Category.{v₁, u₁} C
D : Type u₂
inst✝¹ : Category.{v₂, u₂} D
F : C ⥤ D
inst✝ : IsCofilteredOrEmpty C
h₁ : ∀ (d : D), ∃ c, Nonempty (F.obj c ⟶ d)
h₂ : ∀ {d : D} {c : C} (s s' : F.obj c ⟶ d), ∃ c' t, F.map t ≫ s = F.map t ≫ s'
⊢ ∀ (d : D), IsCofiltered (CostructuredArrow F d)

tactic: exact isCofiltered_costructuredArrow_of_isCofiltered_of_exists F h₁ h₂
state_before: C : Type u₁
inst✝² : Category.{v₁, u₁} C
D : Type u₂
inst✝¹ : Category.{v₂, u₂} D
F : C ⥤ D
inst✝ : IsCofilteredOrEmpty C
h₁ : ∀ (d : D), ∃ c, Nonempty (F.obj c ⟶ d)
h₂ : ∀ {d : D} {c : C} (s s' : F.obj c ⟶ d), ∃ c' t, F.map t ≫ s = F.map t ≫ s'
⊢ ∀ (d : D), IsCofiltered (CostructuredArrow F d)
state_after: no goals
Theorem: zpow_le_of_le
File: Mathlib/Algebra/Order/Field/Power.lean

tactic: have ha₀ : 0 < a := one_pos.trans_le ha
state_before: α : Type u_1
inst✝ : LinearOrderedSemifield α
a b c d e : α
m n : ℤ
ha : 1 ≤ a
h : m ≤ n
⊢ a ^ m ≤ a ^ n
state_after: α : Type u_1
inst✝ : LinearOrderedSemifield α
a b c d e : α
m n : ℤ
ha : 1 ≤ a
h : m ≤ n
ha₀ : 0 < a
⊢ a ^ m ≤ a ^ n

tactic: lift n - m to ℕ using sub_nonneg.2 h with k hk
state_before: α : Type u_1
inst✝ : LinearOrderedSemifield α
a b c d e : α
m n : ℤ
ha : 1 ≤ a
h : m ≤ n
ha₀ : 0 < a
⊢ a ^ m ≤ a ^ n
state_after: case intro
α : Type u_1
inst✝ : LinearOrderedSemifield α
a b c d e : α
m n : ℤ
ha : 1 ≤ a
h : m ≤ n
ha₀ : 0 < a
k : ℕ
hk : ↑k = n - m
⊢ a ^ m ≤ a ^ n

tactic: calc
  a ^ m = a ^ m * 1 := (mul_one _).symm
  _ ≤ a ^ m * a ^ k :=
    mul_le_mul_of_nonneg_left (one_le_pow_of_one_le ha _) (zpow_nonneg ha₀.le _)
  _ = a ^ n := by rw [← zpow_natCast, ← zpow_add₀ ha₀.ne', hk, add_sub_cancel]
state_before: case intro
α : Type u_1
inst✝ : LinearOrderedSemifield α
a b c d e : α
m n : ℤ
ha : 1 ≤ a
h : m ≤ n
ha₀ : 0 < a
k : ℕ
hk : ↑k = n - m
⊢ a ^ m ≤ a ^ n
state_after: no goals

tactic: rw [← zpow_natCast, ← zpow_add₀ ha₀.ne', hk, add_sub_cancel]
state_before: α : Type u_1
inst✝ : LinearOrderedSemifield α
a b c d e : α
m n : ℤ
ha : 1 ≤ a
h : m ≤ n
ha₀ : 0 < a
k : ℕ
hk : ↑k = n - m
⊢ a ^ m * a ^ k = a ^ n
state_after: no goals