tasksource/leandojo huggingface dataset:
Theorem: Filter.EventuallyEq.fderivWithin_eq
File: Mathlib/Analysis/Calculus/FDeriv/Basic.lean

tactic: simp only [fderivWithin, hs.hasFDerivWithinAt_iff hx]
state_before: 𝕜 : Type u_3
inst✝⁸ : NontriviallyNormedField 𝕜
E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
F : Type u_2
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
G : Type ?u.538387
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
G' : Type ?u.538482
inst✝¹ : NormedAddCommGroup G'
inst✝ : NormedSpace 𝕜 G'
f f₀ f₁ g : E → F
f' f₀' f₁' g' e : E →L[𝕜] F
x : E
s t : Set E
L L₁ L₂ : Filter E
hs : f₁ =ᶠ[𝓝[s] x] f
hx : f₁ x = f x
⊢ fderivWithin 𝕜 f₁ s x = fderivWithin 𝕜 f s x
Theorem: padicValNat.pow_sub_pow
File: Mathlib/NumberTheory/Multiplicity.lean

tactic: rw [← PartENat.natCast_inj, Nat.cast_add]
state_before: R : Type ?u.882286
n✝ x y p : ℕ
hp : Fact (Nat.Prime p)
hp1 : Odd p
hyx : y < x
hxy : p ∣ x - y
hx : ¬p ∣ x
n : ℕ
hn : 0 < n
⊢ padicValNat p (x ^ n - y ^ n) = padicValNat p (x - y) + padicValNat p n

tactic: iterate 3 rw [padicValNat_def, PartENat.natCast_get]
state_before: R : Type ?u.882286
n✝ x y p : ℕ
hp : Fact (Nat.Prime p)
hp1 : Odd p
hyx : y < x
hxy : p ∣ x - y
hx : ¬p ∣ x
n : ℕ
hn : 0 < n
⊢ ↑(padicValNat p (x ^ n - y ^ n)) = ↑(padicValNat p (x - y)) + ↑(padicValNat p n)

tactic: rw [padicValNat_def, PartENat.natCast_get]
state_before: R : Type ?u.882286
n✝ x y p : ℕ
hp : Fact (Nat.Prime p)
hp1 : Odd p
hyx : y < x
hxy : p ∣ x - y
hx : ¬p ∣ x
n : ℕ
hn : 0 < n
⊢ multiplicity p (x ^ n - y ^ n) = multiplicity p (x - y) + ↑(padicValNat p n)

R : Type ?u.882286
n✝ x y p : ℕ
hp : Fact (Nat.Prime p)
hp1 : Odd p
hyx : y < x
hxy : p ∣ x - y
hx : ¬p ∣ x
n : ℕ
hn : 0 < n
⊢ 0 < x - y

R : Type ?u.882286
n✝ x y p : ℕ
hp : Fact (Nat.Prime p)
hp1 : Odd p
hyx : y < x
hxy : p ∣ x - y
hx : ¬p ∣ x
n : ℕ
hn : 0 < n
⊢ 0 < x - y

R : Type ?u.882286
n✝ x y p : ℕ
hp : Fact (Nat.Prime p)
hp1 : Odd p
hyx : y < x
hxy : p ∣ x - y
hx : ¬p ∣ x
n : ℕ
hn : 0 < n
⊢ 0 < x ^ n - y ^ n

R : Type ?u.882286
n✝ x y p : ℕ
hp : Fact (Nat.Prime p)
hp1 : Odd p
hyx : y < x
hxy : p ∣ x - y
hx : ¬p ∣ x
n : ℕ
hn : 0 < n
⊢ 0 < x ^ n - y ^ n

tactic: exact multiplicity.Nat.pow_sub_pow hp.out hp1 hxy hx n
state_before: R : Type ?u.882286
n✝ x y p : ℕ
hp : Fact (Nat.Prime p)
hp1 : Odd p
hyx : y < x
hxy : p ∣ x - y
hx : ¬p ∣ x
n : ℕ
hn : 0 < n
⊢ multiplicity p (x ^ n - y ^ n) = multiplicity p (x - y) + multiplicity p n

tactic: exact hn
state_before: R : Type ?u.882286
n✝ x y p : ℕ
hp : Fact (Nat.Prime p)
hp1 : Odd p
hyx : y < x
hxy : p ∣ x - y
hx : ¬p ∣ x
n : ℕ
hn : 0 < n
⊢ 0 < n

tactic: exact Nat.sub_pos_of_lt hyx
state_before: R : Type ?u.882286
n✝ x y p : ℕ
hp : Fact (Nat.Prime p)
hp1 : Odd p
hyx : y < x
hxy : p ∣ x - y
hx : ¬p ∣ x
n : ℕ
hn : 0 < n
⊢ 0 < x - y

tactic: exact Nat.sub_pos_of_lt (Nat.pow_lt_pow_of_lt_left hyx hn)
state_before: R : Type ?u.882286
n✝ x y p : ℕ
hp : Fact (Nat.Prime p)
hp1 : Odd p
hyx : y < x
hxy : p ∣ x - y
hx : ¬p ∣ x
n : ℕ
hn : 0 < n
⊢ 0 < x ^ n - y ^ n
Theorem: NNReal.le_mul_iInf
File: Mathlib/Data/Real/NNReal.lean

tactic: rw [mul_iInf]
state_before: ι : Sort u_1
f : ι → ℝ≥0
inst✝ : Nonempty ι
a g : ℝ≥0
h : ι → ℝ≥0
H : ∀ (j : ι), a ≤ g * h j
⊢ a ≤ g * iInf h

tactic: exact le_ciInf H
state_before: ι : Sort u_1
f : ι → ℝ≥0
inst✝ : Nonempty ι
a g : ℝ≥0
h : ι → ℝ≥0
H : ∀ (j : ι), a ≤ g * h j
⊢ a ≤ ⨅ (i : ι), g * h i
Theorem: Filter.EventuallyLE.sup_le
File: Mathlib/Order/Filter/Basic.lean

tactic: filter_upwards [hf, hg] with x hfx hgx using _root_.sup_le hfx hgx
state_before: α : Type u
β : Type v
γ : Type w
δ : Type ?u.217823
ι : Sort x
inst✝ : SemilatticeSup β
l : Filter α
f g h : α → β
hf : f ≤ᶠ[l] h
hg : g ≤ᶠ[l] h
⊢ f ⊔ g ≤ᶠ[l] h
Theorem: MvPolynomial.IsWeightedHomogeneous.coeff_eq_zero
File: Mathlib/RingTheory/MvPolynomial/WeightedHomogeneous.lean

tactic: have aux := mt (@hφ d) hd
state_before: R : Type u_1
M : Type u_2
inst✝¹ : CommSemiring R
σ : Type u_3
inst✝ : AddCommMonoid M
φ ψ : MvPolynomial σ R
m n : M
w : σ → M
hφ : IsWeightedHomogeneous w φ n
d : σ →₀ ℕ
hd : ↑(weightedDegree' w) d ≠ n
⊢ coeff d φ = 0

tactic: rwa [Classical.not_not] at aux
state_before: R : Type u_1
M : Type u_2
inst✝¹ : CommSemiring R
σ : Type u_3
inst✝ : AddCommMonoid M
φ ψ : MvPolynomial σ R
m n : M
w : σ → M
hφ : IsWeightedHomogeneous w φ n
d : σ →₀ ℕ
hd : ↑(weightedDegree' w) d ≠ n
aux : ¬coeff d φ ≠ 0
⊢ coeff d φ = 0
Theorem: Complex.arg_inv_coe_angle
File: Mathlib/Analysis/SpecialFunctions/Complex/Arg.lean

tactic: by_cases h : arg x = π <;> simp [arg_inv, h]
state_before: x : ℂ
⊢ ↑(arg x⁻¹) = -↑(arg x)
Theorem: Submonoid.sup_eq_range
File: Mathlib/GroupTheory/Submonoid/Membership.lean

tactic: rw [mrange_eq_map, ← mrange_inl_sup_mrange_inr, map_sup, map_mrange, coprod_comp_inl, map_mrange,
  coprod_comp_inr, range_subtype, range_subtype]
state_before: M : Type ?u.244315
A : Type ?u.244318
B : Type ?u.244321
N : Type u_1
inst✝ : CommMonoid N
s t : Submonoid N
⊢ s ⊔ t = mrange (coprod (subtype s) (subtype t))
Theorem: Std.RBNode.forIn_visit_eq_bindList
File: Std/Data/RBMap/Lemmas.lean

tactic: induction t generalizing init <;> simp [*, forIn.visit]
state_before: m : Type u_1 → Type u_2
α : Type u_3
α✝ : Type u_1
f : α → α✝ → m (ForInStep α✝)
init : α✝
inst✝¹ : Monad m
inst✝ : LawfulMonad m
t : RBNode α
⊢ forIn.visit f t init = ForInStep.bindList f (toList t) (ForInStep.yield init)
Theorem: AlternatingMap.add_compLinearMap
File: Mathlib/LinearAlgebra/Alternating.lean

tactic: ext
state_before: R : Type u_1
inst✝¹⁴ : Semiring R
M : Type u_2
inst✝¹³ : AddCommMonoid M
inst✝¹² : Module R M
N : Type u_3
inst✝¹¹ : AddCommMonoid N
inst✝¹⁰ : Module R N
P : Type ?u.362901
inst✝⁹ : AddCommMonoid P
inst✝⁸ : Module R P
M' : Type ?u.362931
inst✝⁷ : AddCommGroup M'
inst✝⁶ : Module R M'
N' : Type ?u.363319
inst✝⁵ : AddCommGroup N'
inst✝⁴ : Module R N'
ι : Type u_4
ι' : Type ?u.363710
ι'' : Type ?u.363713
M₂ : Type u_5
inst✝³ : AddCommMonoid M₂
inst✝² : Module R M₂
M₃ : Type ?u.363746
inst✝¹ : AddCommMonoid M₃
inst✝ : Module R M₃
f₁ f₂ : AlternatingMap R M N ι
g : M₂ →ₗ[R] M
⊢ compLinearMap (f₁ + f₂) g = compLinearMap f₁ g + compLinearMap f₂ g

tactic: simp only [compLinearMap_apply, add_apply]
state_before: case H
R : Type u_1
inst✝¹⁴ : Semiring R
M : Type u_2
inst✝¹³ : AddCommMonoid M
inst✝¹² : Module R M
N : Type u_3
inst✝¹¹ : AddCommMonoid N
inst✝¹⁰ : Module R N
P : Type ?u.362901
inst✝⁹ : AddCommMonoid P
inst✝⁸ : Module R P
M' : Type ?u.362931
inst✝⁷ : AddCommGroup M'
inst✝⁶ : Module R M'
N' : Type ?u.363319
inst✝⁵ : AddCommGroup N'
inst✝⁴ : Module R N'
ι : Type u_4
ι' : Type ?u.363710
ι'' : Type ?u.363713
M₂ : Type u_5
inst✝³ : AddCommMonoid M₂
inst✝² : Module R M₂
M₃ : Type ?u.363746
inst✝¹ : AddCommMonoid M₃
inst✝ : Module R M₃
f₁ f₂ : AlternatingMap R M N ι
g : M₂ →ₗ[R] M
x✝ : ι → M₂
⊢ ↑(compLinearMap (f₁ + f₂) g) x✝ = ↑(compLinearMap f₁ g + compLinearMap f₂ g) x✝
Theorem: AffineIndependent.affineSpan_disjoint_of_disjoint
File: Mathlib/LinearAlgebra/AffineSpace/Independent.lean

tactic: refine' Set.disjoint_left.2 fun p0 hp0s1 hp0s2 => _
state_before: k : Type u_1
V : Type u_2
P : Type u_3
inst✝⁴ : Ring k
inst✝³ : AddCommGroup V
inst✝² : Module k V
inst✝¹ : AffineSpace V P
ι : Type u_4
inst✝ : Nontrivial k
p : ι → P
ha : AffineIndependent k p
s1 s2 : Set ι
hd : Disjoint s1 s2
⊢ Disjoint ↑(affineSpan k (p '' s1)) ↑(affineSpan k (p '' s2))

tactic: cases' ha.exists_mem_inter_of_exists_mem_inter_affineSpan hp0s1 hp0s2 with i hi
state_before: k : Type u_1
V : Type u_2
P : Type u_3
inst✝⁴ : Ring k
inst✝³ : AddCommGroup V
inst✝² : Module k V
inst✝¹ : AffineSpace V P
ι : Type u_4
inst✝ : Nontrivial k
p : ι → P
ha : AffineIndependent k p
s1 s2 : Set ι
hd : Disjoint s1 s2
p0 : P
hp0s1 : p0 ∈ ↑(affineSpan k (p '' s1))
hp0s2 : p0 ∈ ↑(affineSpan k (p '' s2))
⊢ False

tactic: exact Set.disjoint_iff.1 hd hi
state_before: case intro
k : Type u_1
V : Type u_2
P : Type u_3
inst✝⁴ : Ring k
inst✝³ : AddCommGroup V
inst✝² : Module k V
inst✝¹ : AffineSpace V P
ι : Type u_4
inst✝ : Nontrivial k
p : ι → P
ha : AffineIndependent k p
s1 s2 : Set ι
hd : Disjoint s1 s2
p0 : P
hp0s1 : p0 ∈ ↑(affineSpan k (p '' s1))
hp0s2 : p0 ∈ ↑(affineSpan k (p '' s2))
i : ι
hi : i ∈ s1 ∩ s2
⊢ False
Theorem: Nat.one_le_ceil_iff
File: Mathlib/Algebra/Order/Floor.lean

tactic: rw [← zero_add 1, Nat.add_one_le_ceil_iff, Nat.cast_zero]
state_before: F : Type ?u.45610
α : Type u_1
β : Type ?u.45616
inst✝¹ : LinearOrderedSemiring α
inst✝ : FloorSemiring α
a : α
n : ℕ
⊢ 1 ≤ ⌈a⌉₊ ↔ 0 < a
Theorem: ofMul_image_zpowers_eq_zmultiples_ofMul
File: Mathlib/GroupTheory/Subgroup/ZPowers.lean

tactic: ext y
state_before: G : Type u_1
inst✝² : Group G
A : Type ?u.32458
inst✝¹ : AddGroup A
N : Type ?u.32464
inst✝ : Group N
x : G
⊢ ↑Additive.ofMul '' ↑(Subgroup.zpowers x) = ↑(AddSubgroup.zmultiples (↑Additive.ofMul x))

tactic: constructor
state_before: case h
G : Type u_1
inst✝² : Group G
A : Type ?u.32458
inst✝¹ : AddGroup A
N : Type ?u.32464
inst✝ : Group N
x : G
y : Additive G
⊢ y ∈ ↑Additive.ofMul '' ↑(Subgroup.zpowers x) ↔ y ∈ ↑(AddSubgroup.zmultiples (↑Additive.ofMul x))

tactic: rintro ⟨z, ⟨m, hm⟩, hz2⟩
state_before: case h.mp
G : Type u_1
inst✝² : Group G
A : Type ?u.32458
inst✝¹ : AddGroup A
N : Type ?u.32464
inst✝ : Group N
x : G
y : Additive G
⊢ y ∈ ↑Additive.ofMul '' ↑(Subgroup.zpowers x) → y ∈ ↑(AddSubgroup.zmultiples (↑Additive.ofMul x))

tactic: use m
state_before: case h.mp.intro.intro.intro
G : Type u_1
inst✝² : Group G
A : Type ?u.32458
inst✝¹ : AddGroup A
N : Type ?u.32464
inst✝ : Group N
x : G
y : Additive G
z : G
hz2 : ↑Additive.ofMul z = y
m : ℤ
hm : (fun x x_1 => x ^ x_1) x m = z
⊢ y ∈ ↑(AddSubgroup.zmultiples (↑Additive.ofMul x))

tactic: simp only at *
state_before: case h.mp.intro.intro.intro
G : Type u_1
inst✝² : Group G
A : Type ?u.32458
inst✝¹ : AddGroup A
N : Type ?u.32464
inst✝ : Group N
x : G
y : Additive G
z : G
hz2 : ↑Additive.ofMul z = y
m : ℤ
hm : (fun x x_1 => x ^ x_1) x m = z
⊢ (fun x_1 => x_1 • ↑Additive.ofMul x) m = y

tactic: rwa [← ofMul_zpow, hm]
state_before: case h.mp.intro.intro.intro
G : Type u_1
inst✝² : Group G
A : Type ?u.32458
inst✝¹ : AddGroup A
N : Type ?u.32464
inst✝ : Group N
x : G
y : Additive G
z : G
hz2 : ↑Additive.ofMul z = y
m : ℤ
hm : x ^ m = z
⊢ m • ↑Additive.ofMul x = y

tactic: rintro ⟨n, hn⟩
state_before: case h.mpr
G : Type u_1
inst✝² : Group G
A : Type ?u.32458
inst✝¹ : AddGroup A
N : Type ?u.32464
inst✝ : Group N
x : G
y : Additive G
⊢ y ∈ ↑(AddSubgroup.zmultiples (↑Additive.ofMul x)) → y ∈ ↑Additive.ofMul '' ↑(Subgroup.zpowers x)

tactic: refine' ⟨x ^ n, ⟨n, rfl⟩, _⟩
state_before: case h.mpr.intro
G : Type u_1
inst✝² : Group G
A : Type ?u.32458
inst✝¹ : AddGroup A
N : Type ?u.32464
inst✝ : Group N
x : G
y : Additive G
n : ℤ
hn : (fun x_1 => x_1 • ↑Additive.ofMul x) n = y
⊢ y ∈ ↑Additive.ofMul '' ↑(Subgroup.zpowers x)

tactic: rwa [ofMul_zpow]
state_before: case h.mpr.intro
G : Type u_1
inst✝² : Group G
A : Type ?u.32458
inst✝¹ : AddGroup A
N : Type ?u.32464
inst✝ : Group N
x : G
y : Additive G
n : ℤ
hn : (fun x_1 => x_1 • ↑Additive.ofMul x) n = y
⊢ ↑Additive.ofMul (x ^ n) = y
Theorem: CategoryTheory.injective_of_preservesFiniteColimits_preadditiveYonedaObj
File: Mathlib/CategoryTheory/Abelian/Injective.lean

tactic: rw [injective_iff_preservesEpimorphisms_preadditive_yoneda_obj']
state_before: C : Type u
inst✝¹ : Category C
inst✝ : Abelian C
J : C
hP : PreservesFiniteColimits (preadditiveYonedaObj J)
⊢ Injective J

tactic: infer_instance
state_before: C : Type u
inst✝¹ : Category C
inst✝ : Abelian C
J : C
hP : PreservesFiniteColimits (preadditiveYonedaObj J)
⊢ Functor.PreservesEpimorphisms (preadditiveYonedaObj J)
Theorem: CategoryTheory.Functor.Final.colimit_pre_is_iso_aux
File: Mathlib/CategoryTheory/Limits/Final.lean

tactic: dsimp [isColimitWhiskerEquiv]
state_before: C : Type u₁
inst✝³ : Category C
D : Type u₂
inst✝² : Category D
F : C ⥤ D
inst✝¹ : Final F
E : Type u₃
inst✝ : Category E
G : D ⥤ E
t : Cocone G
P : IsColimit t
⊢ IsColimit.desc (↑(isColimitWhiskerEquiv F t).symm P) (Cocone.whisker F t) = 𝟙 t.pt

tactic: apply P.hom_ext
state_before: C : Type u₁
inst✝³ : Category C
D : Type u₂
inst✝² : Category D
F : C ⥤ D
inst✝¹ : Final F
E : Type u₃
inst✝ : Category E
G : D ⥤ E
t : Cocone G
P : IsColimit t
⊢ IsColimit.desc (↑(IsColimit.ofCoconeEquiv (Equivalence.symm (coconesEquiv F G))).symm P) (Cocone.whisker F t) = 𝟙 t.pt

tactic: intro j
state_before: C : Type u₁
inst✝³ : Category C
D : Type u₂
inst✝² : Category D
F : C ⥤ D
inst✝¹ : Final F
E : Type u₃
inst✝ : Category E
G : D ⥤ E
t : Cocone G
P : IsColimit t
⊢ ∀ (j : D),
    t.ι.app j ≫
        IsColimit.desc (↑(IsColimit.ofCoconeEquiv (Equivalence.symm (coconesEquiv F G))).symm P) (Cocone.whisker F t) =
      t.ι.app j ≫ 𝟙 t.pt

tactic: dsimp
state_before: C : Type u₁
inst✝³ : Category C
D : Type u₂
inst✝² : Category D
F : C ⥤ D
inst✝¹ : Final F
E : Type u₃
inst✝ : Category E
G : D ⥤ E
t : Cocone G
P : IsColimit t
j : D
⊢ t.ι.app j ≫
      IsColimit.desc (↑(IsColimit.ofCoconeEquiv (Equivalence.symm (coconesEquiv F G))).symm P) (Cocone.whisker F t) =
    t.ι.app j ≫ 𝟙 t.pt

tactic: simp
state_before: C : Type u₁
inst✝³ : Category C
D : Type u₂
inst✝² : Category D
F : C ⥤ D
inst✝¹ : Final F
E : Type u₃
inst✝ : Category E
G : D ⥤ E
t : Cocone G
P : IsColimit t
j : D
⊢ t.ι.app j ≫
      IsColimit.desc (↑(IsColimit.ofCoconeEquiv (Equivalence.symm (coconesEquiv F G))).symm P) (Cocone.whisker F t) =
    t.ι.app j ≫ 𝟙 t.pt
Theorem: Polynomial.dvd_iff_content_dvd_content_and_primPart_dvd_primPart
File: Mathlib/RingTheory/Polynomial/Content.lean

tactic: constructor <;> intro h
state_before: R : Type u_1
inst✝² : CommRing R
inst✝¹ : IsDomain R
inst✝ : NormalizedGCDMonoid R
p q : R[X]
hq : q ≠ 0
⊢ p ∣ q ↔ content p ∣ content q ∧ primPart p ∣ primPart q

tactic: rcases h with ⟨r, rfl⟩
state_before: case mp
R : Type u_1
inst✝² : CommRing R
inst✝¹ : IsDomain R
inst✝ : NormalizedGCDMonoid R
p q : R[X]
hq : q ≠ 0
h : p ∣ q
⊢ content p ∣ content q ∧ primPart p ∣ primPart q

tactic: rw [content_mul, p.isPrimitive_primPart.dvd_primPart_iff_dvd hq]
state_before: case mp.intro
R : Type u_1
inst✝² : CommRing R
inst✝¹ : IsDomain R
inst✝ : NormalizedGCDMonoid R
p r : R[X]
hq : p * r ≠ 0
⊢ content p ∣ content (p * r) ∧ primPart p ∣ primPart (p * r)

tactic: exact ⟨Dvd.intro _ rfl, p.primPart_dvd.trans (Dvd.intro _ rfl)⟩
state_before: case mp.intro
R : Type u_1
inst✝² : CommRing R
inst✝¹ : IsDomain R
inst✝ : NormalizedGCDMonoid R
p r : R[X]
hq : p * r ≠ 0
⊢ content p ∣ content p * content r ∧ primPart p ∣ p * r

tactic: rw [p.eq_C_content_mul_primPart, q.eq_C_content_mul_primPart]
state_before: case mpr
R : Type u_1
inst✝² : CommRing R
inst✝¹ : IsDomain R
inst✝ : NormalizedGCDMonoid R
p q : R[X]
hq : q ≠ 0
h : content p ∣ content q ∧ primPart p ∣ primPart q
⊢ p ∣ q

tactic: exact mul_dvd_mul (RingHom.map_dvd C h.1) h.2
state_before: case mpr
R : Type u_1
inst✝² : CommRing R
inst✝¹ : IsDomain R
inst✝ : NormalizedGCDMonoid R
p q : R[X]
hq : q ≠ 0
h : content p ∣ content q ∧ primPart p ∣ primPart q
⊢ ↑C (content p) * primPart p ∣ ↑C (content q) * primPart q
Theorem: Set.nsmul_univ
File: Mathlib/Data/Set/Pointwise/Basic.lean

tactic: rw [succ_nsmul, nsmul_univ n.succ_ne_zero, univ_add_univ]
state_before: F : Type ?u.74305
α✝ : Type ?u.74308
β : Type ?u.74311
γ : Type ?u.74314
inst✝¹ : Monoid α✝
s t : Set α✝
a : α✝
m n✝ : ℕ
α : Type u_1
inst✝ : AddMonoid α
n : ℕ
x✝ : n + 2 ≠ 0
⊢ (n + 2) • univ = univ
Theorem: CategoryTheory.map_inv_hom_app
File: Mathlib/CategoryTheory/Functor/Category.lean

tactic: simp [← NatTrans.comp_app, ← Functor.map_comp]
state_before: C : Type u₁
inst✝² : Category C
D : Type u₂
inst✝¹ : Category D
E : Type u₃
inst✝ : Category E
F✝ G H I : C ⥤ D
F : C ⥤ D ⥤ E
X Y : C
e : X ≅ Y
Z : D
⊢ (F.map e.inv).app Z ≫ (F.map e.hom).app Z = 𝟙 ((F.obj Y).obj Z)
Theorem: ENNReal.ofReal_toReal
File: Mathlib/Data/Real/ENNReal.lean

tactic: simp [ENNReal.toReal, ENNReal.ofReal, h]
state_before: α : Type ?u.17972
β : Type ?u.17975
a✝ b c d : ℝ≥0∞
r p q : ℝ≥0
a : ℝ≥0∞
h : a ≠ ⊤
⊢ ENNReal.ofReal (ENNReal.toReal a) = a
Theorem: AffineSubspace.wSameSide_vadd_right_iff
File: Mathlib/Analysis/Convex/Side.lean

tactic: rw [wSameSide_comm, wSameSide_vadd_left_iff hv, wSameSide_comm]
state_before: R : Type u_1
V : Type u_2
V' : Type ?u.131243
P : Type u_3
P' : Type ?u.131249
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
v : V
hv : v ∈ direction s
⊢ WSameSide s x (v +ᵥ y) ↔ WSameSide s x y
Theorem: MeasureTheory.Memℒp.integral_indicator_norm_ge_nonneg_le_of_meas
File: Mathlib/MeasureTheory/Function/UniformIntegrable.lean

tactic: simpa
state_before: α : Type u_2
β : Type u_1
ι : Type ?u.74487
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : Memℒp f 1
hmeas : StronglyMeasurable f
ε : ℝ
hε : 0 < ε
M : ℝ
hM : (∫⁻ (x : α), ↑‖Set.indicator {x | M ≤ ↑‖f x‖₊} f x‖₊ ∂μ) ≤ ENNReal.ofReal ε
⊢ (∫⁻ (x : α), ↑‖Set.indicator {x | max M 0 ≤ ↑‖f x‖₊} f x‖₊ ∂μ) ≤ ENNReal.ofReal ε
Theorem: Multiset.prod_map_neg
File: Mathlib/Algebra/BigOperators/Multiset/Basic.lean

tactic: simp
state_before: ι : Type ?u.63333
α : Type u_1
β : Type ?u.63339
γ : Type ?u.63342
inst✝¹ : CommMonoid α
s✝ t : Multiset α
a : α
m : Multiset ι
f g : ι → α
inst✝ : HasDistribNeg α
s : Multiset α
⊢ ∀ (a : List α),
    prod (map Neg.neg (Quotient.mk (List.isSetoid α) a)) =
      (-1) ^ ↑card (Quotient.mk (List.isSetoid α) a) * prod (Quotient.mk (List.isSetoid α) a)
Theorem: Ordinal.sup_le_iff
File: Mathlib/SetTheory/Ordinal/Arithmetic.lean

tactic: simp
state_before: α : Type ?u.279751
β : Type ?u.279754
γ : Type ?u.279757
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
ι : Type u
f : ι → Ordinal
a : Ordinal
⊢ (∀ (x : Ordinal), x ∈ range f → x ≤ a) ↔ ∀ (i : ι), f i ≤ a
Theorem: Function.Involutive.iterate_odd
File: Mathlib/Data/Nat/Parity.lean

tactic: rcases hn with ⟨m, rfl⟩
state_before: α : Type u_1
f : α → α
n : ℕ
hf : Involutive f
hn : Odd n
⊢ f^[n] = f

tactic: rw [iterate_add, hf.iterate_two_mul, comp.left_id, iterate_one]
state_before: case intro
α : Type u_1
f : α → α
hf : Involutive f
m : ℕ
⊢ f^[2 * m + 1] = f
Theorem: Affine.Simplex.reindex_reindex_symm
File: Mathlib/LinearAlgebra/AffineSpace/Independent.lean

tactic: rw [← reindex_trans, Equiv.self_trans_symm, reindex_refl]
state_before: k : Type u_1
V : Type u_2
P : Type u_3
inst✝³ : Ring k
inst✝² : AddCommGroup V
inst✝¹ : Module k V
inst✝ : AffineSpace V P
m n : ℕ
s : Simplex k P m
e : Fin (m + 1) ≃ Fin (n + 1)
⊢ reindex (reindex s e) e.symm = s
Theorem: intervalIntegral.continuous_primitive
File: Mathlib/MeasureTheory/Integral/IntervalIntegral.lean

tactic: rw [continuous_iff_continuousAt]
state_before: ι : Type ?u.18986205
𝕜 : Type ?u.18986208
E : Type u_1
F : Type ?u.18986214
A : Type ?u.18986217
inst✝³ : NormedAddCommGroup E
inst✝² : CompleteSpace E
inst✝¹ : NormedSpace ℝ E
a✝ b b₀ b₁ b₂ : ℝ
μ : MeasureTheory.Measure ℝ
f g : ℝ → E
inst✝ : NoAtoms μ
h_int : ∀ (a b : ℝ), IntervalIntegrable f μ a b
a : ℝ
⊢ Continuous fun b => ∫ (x : ℝ) in a..b, f x ∂μ

tactic: intro b₀
state_before: ι : Type ?u.18986205
𝕜 : Type ?u.18986208
E : Type u_1
F : Type ?u.18986214
A : Type ?u.18986217
inst✝³ : NormedAddCommGroup E
inst✝² : CompleteSpace E
inst✝¹ : NormedSpace ℝ E
a✝ b b₀ b₁ b₂ : ℝ
μ : MeasureTheory.Measure ℝ
f g : ℝ → E
inst✝ : NoAtoms μ
h_int : ∀ (a b : ℝ), IntervalIntegrable f μ a b
a : ℝ
⊢ ∀ (x : ℝ), ContinuousAt (fun b => ∫ (x : ℝ) in a..b, f x ∂μ) x

tactic: cases' exists_lt b₀ with b₁ hb₁
state_before: ι : Type ?u.18986205
𝕜 : Type ?u.18986208
E : Type u_1
F : Type ?u.18986214
A : Type ?u.18986217
inst✝³ : NormedAddCommGroup E
inst✝² : CompleteSpace E
inst✝¹ : NormedSpace ℝ E
a✝ b b₀✝ b₁ b₂ : ℝ
μ : MeasureTheory.Measure ℝ
f g : ℝ → E
inst✝ : NoAtoms μ
h_int : ∀ (a b : ℝ), IntervalIntegrable f μ a b
a b₀ : ℝ
⊢ ContinuousAt (fun b => ∫ (x : ℝ) in a..b, f x ∂μ) b₀

tactic: cases' exists_gt b₀ with b₂ hb₂
state_before: case intro
ι : Type ?u.18986205
𝕜 : Type ?u.18986208
E : Type u_1
F : Type ?u.18986214
A : Type ?u.18986217
inst✝³ : NormedAddCommGroup E
inst✝² : CompleteSpace E
inst✝¹ : NormedSpace ℝ E
a✝ b b₀✝ b₁✝ b₂ : ℝ
μ : MeasureTheory.Measure ℝ
f g : ℝ → E
inst✝ : NoAtoms μ
h_int : ∀ (a b : ℝ), IntervalIntegrable f μ a b
a b₀ b₁ : ℝ
hb₁ : b₁ < b₀
⊢ ContinuousAt (fun b => ∫ (x : ℝ) in a..b, f x ∂μ) b₀

tactic: apply ContinuousWithinAt.continuousAt _ (Icc_mem_nhds hb₁ hb₂)
state_before: case intro.intro
ι : Type ?u.18986205
𝕜 : Type ?u.18986208
E : Type u_1
F : Type ?u.18986214
A : Type ?u.18986217
inst✝³ : NormedAddCommGroup E
inst✝² : CompleteSpace E
inst✝¹ : NormedSpace ℝ E
a✝ b b₀✝ b₁✝ b₂✝ : ℝ
μ : MeasureTheory.Measure ℝ
f g : ℝ → E
inst✝ : NoAtoms μ
h_int : ∀ (a b : ℝ), IntervalIntegrable f μ a b
a b₀ b₁ : ℝ
hb₁ : b₁ < b₀
b₂ : ℝ
hb₂ : b₀ < b₂
⊢ ContinuousAt (fun b => ∫ (x : ℝ) in a..b, f x ∂μ) b₀

tactic: exact continuousWithinAt_primitive (measure_singleton b₀) (h_int _ _)
state_before: ι : Type ?u.18986205
𝕜 : Type ?u.18986208
E : Type u_1
F : Type ?u.18986214
A : Type ?u.18986217
inst✝³ : NormedAddCommGroup E
inst✝² : CompleteSpace E
inst✝¹ : NormedSpace ℝ E
a✝ b b₀✝ b₁✝ b₂✝ : ℝ
μ : MeasureTheory.Measure ℝ
f g : ℝ → E
inst✝ : NoAtoms μ
h_int : ∀ (a b : ℝ), IntervalIntegrable f μ a b
a b₀ b₁ : ℝ
hb₁ : b₁ < b₀
b₂ : ℝ
hb₂ : b₀ < b₂
⊢ ContinuousWithinAt (fun b => ∫ (x : ℝ) in a..b, f x ∂μ) (Icc b₁ b₂) b₀
Theorem: map_comap_subtype_coe
File: Mathlib/MeasureTheory/Measure/MeasureSpace.lean

tactic: rw [(MeasurableEmbedding.subtype_coe hs).map_comap, Subtype.range_coe]
state_before: α : Type u_1
β : Type ?u.1430585
γ : Type ?u.1430588
δ : Type ?u.1430591
ι : Type ?u.1430594
R : Type ?u.1430597
R' : Type ?u.1430600
m0 : MeasurableSpace α
s : Set α
hs : MeasurableSet s
μ : MeasureTheory.Measure α
⊢ Measure.map Subtype.val (Measure.comap Subtype.val μ) = Measure.restrict μ s