1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: MeasureTheory.sigmaFinite_trim_bot_iff
File: Mathlib/MeasureTheory/Measure/Trim.lean

tactic: rw [sigmaFinite_bot_iff]
state_before: α : Type u_1
m m0 : MeasurableSpace α
μ : Measure α
s : Set α
⊢ SigmaFinite (μ.trim ⋯) ↔ IsFiniteMeasure μ
state_after: α : Type u_1
m m0 : MeasurableSpace α
μ : Measure α
s : Set α
⊢ IsFiniteMeasure (μ.trim ⋯) ↔ IsFiniteMeasure μ

tactic: refine ⟨fun h => ⟨?_⟩, fun h => ⟨?_⟩⟩ <;> have h_univ := h.measure_univ_lt_top
state_before: α : Type u_1
m m0 : MeasurableSpace α
μ : Measure α
s : Set α
⊢ IsFiniteMeasure (μ.trim ⋯) ↔ IsFiniteMeasure μ
state_after: case refine_1
α : Type u_1
m m0 : MeasurableSpace α
μ : Measure α
s : Set α
h : IsFiniteMeasure (μ.trim ⋯)
h_univ : (μ.trim ⋯) Set.univ < ⊤
⊢ μ Set.univ < ⊤

case refine_2
α : Type u_1
m m0 : MeasurableSpace α
μ : Measure α
s : Set α
h : IsFiniteMeasure μ
h_univ : μ Set.univ < ⊤
⊢ (μ.trim ⋯) Set.univ < ⊤

tactic: rwa [trim_measurableSet_eq bot_le MeasurableSet.univ] at h_univ
state_before: case refine_1
α : Type u_1
m m0 : MeasurableSpace α
μ : Measure α
s : Set α
h : IsFiniteMeasure (μ.trim ⋯)
h_univ : (μ.trim ⋯) Set.univ < ⊤
⊢ μ Set.univ < ⊤
state_after: no goals

tactic: rwa [trim_measurableSet_eq bot_le MeasurableSet.univ]
state_before: case refine_2
α : Type u_1
m m0 : MeasurableSpace α
μ : Measure α
s : Set α
h : IsFiniteMeasure μ
h_univ : μ Set.univ < ⊤
⊢ (μ.trim ⋯) Set.univ < ⊤
state_after: no goals
Theorem: CategoryTheory.Functor.shiftIso_hom_app_comp
File: Mathlib/CategoryTheory/Shift/ShiftSequence.lean

tactic: rw [← hnm, ← ha'', ← ha', add_assoc]
state_before: C : Type u_1
A : Type u_2
inst✝⁶ : Category.{?u.67491, u_1} C
inst✝⁵ : Category.{?u.67495, u_2} A
F : C ⥤ A
M : Type u_3
inst✝⁴ : AddMonoid M
inst✝³ : HasShift C M
G : Type u_4
inst✝² : AddGroup G
inst✝¹ : HasShift C G
inst✝ : F.ShiftSequence M
n m mn : M
hnm : m + n = mn
a a' a'' : M
ha' : n + a = a'
ha'' : m + a' = a''
X : C
⊢ mn + a = a''
state_after: no goals

tactic: rw [F.shiftIso_add'_hom_app n m mn hnm a a' a'' ha' ha'', ← Functor.map_comp_assoc,
  Iso.inv_hom_id_app, Functor.map_id, id_comp]
state_before: C : Type u_1
A : Type u_2
inst✝⁶ : Category.{u_6, u_1} C
inst✝⁵ : Category.{u_5, u_2} A
F : C ⥤ A
M : Type u_3
inst✝⁴ : AddMonoid M
inst✝³ : HasShift C M
G : Type u_4
inst✝² : AddGroup G
inst✝¹ : HasShift C G
inst✝ : F.ShiftSequence M
n m mn : M
hnm : m + n = mn
a a' a'' : M
ha' : n + a = a'
ha'' : m + a' = a''
X : C
⊢ (F.shiftIso n a a' ha').hom.app ((shiftFunctor C m).obj X) ≫ (F.shiftIso m a' a'' ha'').hom.app X =
    (F.shift a).map ((shiftFunctorAdd' C m n mn hnm).inv.app X) ≫ (F.shiftIso mn a a'' ⋯).hom.app X
state_after: no goals
Theorem: WittVector.teichmuller_zero
File: Mathlib/RingTheory/WittVector/Teichmuller.lean

tactic: rw [zero_coeff]
state_before: case h.succ
p : ℕ
R : Type u_1
S : Type u_2
hp : Fact (Nat.Prime p)
inst✝¹ : CommRing R
inst✝ : CommRing S
n✝ : ℕ
⊢ ((teichmuller p) 0).coeff (n✝ + 1) = coeff 0 (n✝ + 1)
state_after: case h.succ
p : ℕ
R : Type u_1
S : Type u_2
hp : Fact (Nat.Prime p)
inst✝¹ : CommRing R
inst✝ : CommRing S
n✝ : ℕ
⊢ ((teichmuller p) 0).coeff (n✝ + 1) = 0

tactic: rfl
state_before: case h.succ
p : ℕ
R : Type u_1
S : Type u_2
hp : Fact (Nat.Prime p)
inst✝¹ : CommRing R
inst✝ : CommRing S
n✝ : ℕ
⊢ ((teichmuller p) 0).coeff (n✝ + 1) = 0
state_after: no goals
Theorem: padicValNat_factorial_mul
File: Mathlib/NumberTheory/Padics/PadicVal.lean

tactic: refine PartENat.natCast_inj.mp ?_
state_before: p n : ℕ
hp : Fact (Nat.Prime p)
⊢ padicValNat p (p * n)! = padicValNat p n ! + n
state_after: p n : ℕ
hp : Fact (Nat.Prime p)
⊢ ↑(padicValNat p (p * n)!) = ↑(padicValNat p n ! + n)

tactic: rw [padicValNat_def' (Nat.Prime.ne_one hp.out) <| factorial_pos (p * n), Nat.cast_add,
    padicValNat_def' (Nat.Prime.ne_one hp.out) <| factorial_pos n]
state_before: p n : ℕ
hp : Fact (Nat.Prime p)
⊢ ↑(padicValNat p (p * n)!) = ↑(padicValNat p n ! + n)
state_after: p n : ℕ
hp : Fact (Nat.Prime p)
⊢ multiplicity p (p * n)! = multiplicity p n ! + ↑n

tactic: exact Prime.multiplicity_factorial_mul hp.out
state_before: p n : ℕ
hp : Fact (Nat.Prime p)
⊢ multiplicity p (p * n)! = multiplicity p n ! + ↑n
state_after: no goals
Theorem: Finset.eraseNone_insertNone
File: Mathlib/Data/Finset/Option.lean

tactic: ext
state_before: α : Type u_1
β : Type u_2
s : Finset α
⊢ eraseNone (insertNone s) = s
state_after: case a
α : Type u_1
β : Type u_2
s : Finset α
a✝ : α
⊢ a✝ ∈ eraseNone (insertNone s) ↔ a✝ ∈ s

tactic: simp
state_before: case a
α : Type u_1
β : Type u_2
s : Finset α
a✝ : α
⊢ a✝ ∈ eraseNone (insertNone s) ↔ a✝ ∈ s
state_after: no goals
Theorem: Set.injective_codRestrict
File: Mathlib/Data/Set/Function.lean

tactic: simp only [Injective, Subtype.ext_iff, val_codRestrict_apply]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
π : α → Type u_5
f : ι → α
s : Set α
h : ∀ (x : ι), f x ∈ s
⊢ Injective (codRestrict f s h) ↔ Injective f
state_after: no goals
Theorem: intervalIntegral.intervalIntegrable_inv
File: Mathlib/Analysis/SpecialFunctions/Integrals.lean

tactic: simpa only [one_div] using intervalIntegrable_one_div h hf
state_before: a b : ℝ
n : ℕ
f : ℝ → ℝ
μ ν : Measure ℝ
inst✝ : IsLocallyFiniteMeasure μ
c d : ℝ
h : ∀ x ∈ [[a, b]], f x ≠ 0
hf : ContinuousOn f [[a, b]]
⊢ IntervalIntegrable (fun x => (f x)⁻¹) μ a b
state_after: no goals
Theorem: EuclideanGeometry.image_inversion_perpBisector
File: Mathlib/Geometry/Euclidean/Inversion/ImageHyperplane.lean

tactic: rw [image_eq_preimage_of_inverse (inversion_involutive _ hR) (inversion_involutive _ hR),
  preimage_inversion_perpBisector hR hy]
state_before: V : Type u_1
P : Type u_2
inst✝³ : NormedAddCommGroup V
inst✝² : InnerProductSpace ℝ V
inst✝¹ : MetricSpace P
inst✝ : NormedAddTorsor V P
c x y : P
R : ℝ
hR : R ≠ 0
hy : y ≠ c
⊢ inversion c R '' ↑(perpBisector c y) = sphere (inversion c R y) (R ^ 2 / dist y c) \ {c}
state_after: no goals
Theorem: MeasureTheory.integrable_add_iff_of_nonpos
File: Mathlib/MeasureTheory/Function/L1Space.lean

tactic: rw [← integrable_neg_iff, ← integrable_neg_iff (f := f), ← integrable_neg_iff (f := g), neg_add]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
inst✝² : MeasurableSpace δ
inst✝¹ : NormedAddCommGroup β
inst✝ : NormedAddCommGroup γ
f g : α → ℝ
h_meas : AEStronglyMeasurable f μ
hf : f ≤ᶠ[ae μ] 0
hg : g ≤ᶠ[ae μ] 0
⊢ Integrable (f + g) μ ↔ Integrable f μ ∧ Integrable g μ
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
inst✝² : MeasurableSpace δ
inst✝¹ : NormedAddCommGroup β
inst✝ : NormedAddCommGroup γ
f g : α → ℝ
h_meas : AEStronglyMeasurable f μ
hf : f ≤ᶠ[ae μ] 0
hg : g ≤ᶠ[ae μ] 0
⊢ Integrable (-f + -g) μ ↔ Integrable (-f) μ ∧ Integrable (-g) μ

tactic: exact integrable_add_iff_of_nonneg h_meas.neg (hf.mono (fun _ ↦ neg_nonneg_of_nonpos))
  (hg.mono (fun _ ↦ neg_nonneg_of_nonpos))
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
inst✝² : MeasurableSpace δ
inst✝¹ : NormedAddCommGroup β
inst✝ : NormedAddCommGroup γ
f g : α → ℝ
h_meas : AEStronglyMeasurable f μ
hf : f ≤ᶠ[ae μ] 0
hg : g ≤ᶠ[ae μ] 0
⊢ Integrable (-f + -g) μ ↔ Integrable (-f) μ ∧ Integrable (-g) μ
state_after: no goals
Theorem: FirstOrder.Language.DirectLimit.rangeLiftInclusion
File: Mathlib/ModelTheory/DirectLimit.lean

tactic: simp_rw [liftInclusion, range_lift, Substructure.range_subtype]
state_before: L : Language
ι : Type v
inst✝⁵ : Preorder ι
G : ι → Type w
inst✝⁴ : (i : ι) → L.Structure (G i)
f : (i j : ι) → i ≤ j → G i ↪[L] G j
inst✝³ : Nonempty ι
inst✝² : IsDirected ι fun x x_1 => x ≤ x_1
M : Type u_1
N : Type u_2
inst✝¹ : L.Structure M
inst✝ : L.Structure N
S : ι →o L.Substructure M
⊢ (liftInclusion S).toHom.range = ⨆ i, S i
state_after: no goals
Theorem: Stream'.WSeq.dropn_nil
File: Mathlib/Data/Seq/WSeq.lean

tactic: induction n <;> simp [*, drop]
state_before: α : Type u
β : Type v
γ : Type w
n : ℕ
⊢ nil.drop n = nil
state_after: no goals
Theorem: UpperSet.codisjoint_coe
File: Mathlib/Order/UpperLower/Basic.lean

tactic: simp [disjoint_iff, codisjoint_iff, SetLike.ext'_iff]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
S : Set (UpperSet α)
s t : UpperSet α
a : α
⊢ Codisjoint ↑s ↑t ↔ Disjoint s t
state_after: no goals
Theorem: IsCompact.closure_eq_biUnion_inseparable
File: Mathlib/Topology/Separation.lean

tactic: ext
state_before: X : Type u_1
Y : Type u_2
inst✝² : TopologicalSpace X
inst✝¹ : FirstCountableTopology X
inst✝ : R1Space X
x y : X
K : Set X
hK : IsCompact K
⊢ closure K = ⋃ x ∈ K, {y | Inseparable x y}
state_after: case h
X : Type u_1
Y : Type u_2
inst✝² : TopologicalSpace X
inst✝¹ : FirstCountableTopology X
inst✝ : R1Space X
x y : X
K : Set X
hK : IsCompact K
x✝ : X
⊢ x✝ ∈ closure K ↔ x✝ ∈ ⋃ x ∈ K, {y | Inseparable x y}

tactic: simp [hK.mem_closure_iff_exists_inseparable]
state_before: case h
X : Type u_1
Y : Type u_2
inst✝² : TopologicalSpace X
inst✝¹ : FirstCountableTopology X
inst✝ : R1Space X
x y : X
K : Set X
hK : IsCompact K
x✝ : X
⊢ x✝ ∈ closure K ↔ x✝ ∈ ⋃ x ∈ K, {y | Inseparable x y}
state_after: no goals
Theorem: Nat.Coprime.dvd_of_dvd_mul_right
File: .lake/packages/batteries/Batteries/Data/Nat/Gcd.lean

tactic: let t := dvd_gcd (Nat.dvd_mul_left k m) H2
state_before: k n m : Nat
H1 : k.Coprime n
H2 : k ∣ m * n
⊢ k ∣ m
state_after: k n m : Nat
H1 : k.Coprime n
H2 : k ∣ m * n
t : k ∣ (m * k).gcd (m * n) := dvd_gcd (Nat.dvd_mul_left k m) H2
⊢ k ∣ m

tactic: rwa [gcd_mul_left, H1.gcd_eq_one, Nat.mul_one] at t
state_before: k n m : Nat
H1 : k.Coprime n
H2 : k ∣ m * n
t : k ∣ (m * k).gcd (m * n) := dvd_gcd (Nat.dvd_mul_left k m) H2
⊢ k ∣ m
state_after: no goals
Theorem: MeasureTheory.Filtration.stronglyMeasurable_limitProcess
File: Mathlib/Probability/Process/Filtration.lean

tactic: rw [limitProcess]
state_before: Ω : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace Ω
inst✝⁵ : TopologicalSpace β
inst✝⁴ : MetrizableSpace β
mβ : MeasurableSpace β
inst✝³ : BorelSpace β
inst✝² : Preorder ι
E : Type u_4
inst✝¹ : Zero E
inst✝ : TopologicalSpace E
ℱ : Filtration ι m
f : ι → Ω → E
μ : Measure Ω
⊢ StronglyMeasurable (limitProcess f ℱ μ)
state_after: Ω : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace Ω
inst✝⁵ : TopologicalSpace β
inst✝⁴ : MetrizableSpace β
mβ : MeasurableSpace β
inst✝³ : BorelSpace β
inst✝² : Preorder ι
E : Type u_4
inst✝¹ : Zero E
inst✝ : TopologicalSpace E
ℱ : Filtration ι m
f : ι → Ω → E
μ : Measure Ω
⊢ StronglyMeasurable
    (if h : ∃ g, StronglyMeasurable g ∧ ∀ᵐ (ω : Ω) ∂μ, Tendsto (fun n => f n ω) atTop (𝓝 (g ω)) then Classical.choose h
    else 0)

tactic: split_ifs with h
state_before: Ω : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace Ω
inst✝⁵ : TopologicalSpace β
inst✝⁴ : MetrizableSpace β
mβ : MeasurableSpace β
inst✝³ : BorelSpace β
inst✝² : Preorder ι
E : Type u_4
inst✝¹ : Zero E
inst✝ : TopologicalSpace E
ℱ : Filtration ι m
f : ι → Ω → E
μ : Measure Ω
⊢ StronglyMeasurable
    (if h : ∃ g, StronglyMeasurable g ∧ ∀ᵐ (ω : Ω) ∂μ, Tendsto (fun n => f n ω) atTop (𝓝 (g ω)) then Classical.choose h
    else 0)
state_after: case pos
Ω : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace Ω
inst✝⁵ : TopologicalSpace β
inst✝⁴ : MetrizableSpace β
mβ : MeasurableSpace β
inst✝³ : BorelSpace β
inst✝² : Preorder ι
E : Type u_4
inst✝¹ : Zero E
inst✝ : TopologicalSpace E
ℱ : Filtration ι m
f : ι → Ω → E
μ : Measure Ω
h : ∃ g, StronglyMeasurable g ∧ ∀ᵐ (ω : Ω) ∂μ, Tendsto (fun n => f n ω) atTop (𝓝 (g ω))
⊢ StronglyMeasurable (Classical.choose h)

case neg
Ω : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace Ω
inst✝⁵ : TopologicalSpace β
inst✝⁴ : MetrizableSpace β
mβ : MeasurableSpace β
inst✝³ : BorelSpace β
inst✝² : Preorder ι
E : Type u_4
inst✝¹ : Zero E
inst✝ : TopologicalSpace E
ℱ : Filtration ι m
f : ι → Ω → E
μ : Measure Ω
h : ¬∃ g, StronglyMeasurable g ∧ ∀ᵐ (ω : Ω) ∂μ, Tendsto (fun n => f n ω) atTop (𝓝 (g ω))
⊢ StronglyMeasurable 0

tactic: exacts [(Classical.choose_spec h).1, stronglyMeasurable_zero]
state_before: case pos
Ω : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace Ω
inst✝⁵ : TopologicalSpace β
inst✝⁴ : MetrizableSpace β
mβ : MeasurableSpace β
inst✝³ : BorelSpace β
inst✝² : Preorder ι
E : Type u_4
inst✝¹ : Zero E
inst✝ : TopologicalSpace E
ℱ : Filtration ι m
f : ι → Ω → E
μ : Measure Ω
h : ∃ g, StronglyMeasurable g ∧ ∀ᵐ (ω : Ω) ∂μ, Tendsto (fun n => f n ω) atTop (𝓝 (g ω))
⊢ StronglyMeasurable (Classical.choose h)

case neg
Ω : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace Ω
inst✝⁵ : TopologicalSpace β
inst✝⁴ : MetrizableSpace β
mβ : MeasurableSpace β
inst✝³ : BorelSpace β
inst✝² : Preorder ι
E : Type u_4
inst✝¹ : Zero E
inst✝ : TopologicalSpace E
ℱ : Filtration ι m
f : ι → Ω → E
μ : Measure Ω
h : ¬∃ g, StronglyMeasurable g ∧ ∀ᵐ (ω : Ω) ∂μ, Tendsto (fun n => f n ω) atTop (𝓝 (g ω))
⊢ StronglyMeasurable 0
state_after: no goals
Theorem: Localization.sub_mk
File: Mathlib/RingTheory/Localization/Basic.lean

tactic: rw [neg_mk]
state_before: R : Type u_1
inst✝³ : CommRing R
M : Submonoid R
S : Type u_2
inst✝² : CommRing S
inst✝¹ : Algebra R S
P : Type u_3
inst✝ : CommRing P
a c : R
b d : ↥M
⊢ mk a b + -mk c d = mk a b + mk (-c) d
state_after: no goals

tactic: congr
state_before: R : Type u_1
inst✝³ : CommRing R
M : Submonoid R
S : Type u_2
inst✝² : CommRing S
inst✝¹ : Algebra R S
P : Type u_3
inst✝ : CommRing P
a c : R
b d : ↥M
⊢ mk (↑b * -c + ↑d * a) (b * d) = mk (↑d * a - ↑b * c) (b * d)
state_after: case e_x
R : Type u_1
inst✝³ : CommRing R
M : Submonoid R
S : Type u_2
inst✝² : CommRing S
inst✝¹ : Algebra R S
P : Type u_3
inst✝ : CommRing P
a c : R
b d : ↥M
⊢ ↑b * -c + ↑d * a = ↑d * a - ↑b * c

tactic: ring
state_before: case e_x
R : Type u_1
inst✝³ : CommRing R
M : Submonoid R
S : Type u_2
inst✝² : CommRing S
inst✝¹ : Algebra R S
P : Type u_3
inst✝ : CommRing P
a c : R
b d : ↥M
⊢ ↑b * -c + ↑d * a = ↑d * a - ↑b * c
state_after: no goals
Theorem: HasDerivAt.rpow
File: Mathlib/Analysis/SpecialFunctions/Pow/Deriv.lean

tactic: rw [← hasDerivWithinAt_univ] at *
state_before: f g : ℝ → ℝ
f' g' x y p : ℝ
s : Set ℝ
hf : HasDerivAt f f' x
hg : HasDerivAt g g' x
h : 0 < f x
⊢ HasDerivAt (fun x => f x ^ g x) (f' * g x * f x ^ (g x - 1) + g' * f x ^ g x * Real.log (f x)) x
state_after: f g : ℝ → ℝ
f' g' x y p : ℝ
s : Set ℝ
hf : HasDerivWithinAt f f' Set.univ x
hg : HasDerivWithinAt g g' Set.univ x
h : 0 < f x
⊢ HasDerivWithinAt (fun x => f x ^ g x) (f' * g x * f x ^ (g x - 1) + g' * f x ^ g x * Real.log (f x)) Set.univ x

tactic: exact hf.rpow hg h
state_before: f g : ℝ → ℝ
f' g' x y p : ℝ
s : Set ℝ
hf : HasDerivWithinAt f f' Set.univ x
hg : HasDerivWithinAt g g' Set.univ x
h : 0 < f x
⊢ HasDerivWithinAt (fun x => f x ^ g x) (f' * g x * f x ^ (g x - 1) + g' * f x ^ g x * Real.log (f x)) Set.univ x
state_after: no goals
Theorem: differentiableOn_add_const_iff
File: Mathlib/Analysis/Calculus/FDeriv/Add.lean

tactic: simpa using h.add_const (-c)
state_before: 𝕜 : Type u_1
inst✝⁸ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
F : Type u_3
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
G : Type u_4
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
G' : Type u_5
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
c : F
h : DifferentiableOn 𝕜 (fun y => f y + c) s
⊢ DifferentiableOn 𝕜 f s
state_after: no goals
Theorem: FixedPoints.isIntegral
File: Mathlib/FieldTheory/Fixed.lean

tactic: cases nonempty_fintype G
state_before: M : Type u
inst✝⁵ : Monoid M
G : Type u
inst✝⁴ : Group G
F : Type v
inst✝³ : Field F
inst✝² : MulSemiringAction M F
inst✝¹ : MulSemiringAction G F
m : M
inst✝ : Finite G
x : F
⊢ IsIntegral (↥(subfield G F)) x
state_after: case intro
M : Type u
inst✝⁵ : Monoid M
G : Type u
inst✝⁴ : Group G
F : Type v
inst✝³ : Field F
inst✝² : MulSemiringAction M F
inst✝¹ : MulSemiringAction G F
m : M
inst✝ : Finite G
x : F
val✝ : Fintype G
⊢ IsIntegral (↥(subfield G F)) x

tactic: exact ⟨minpoly G F x, minpoly.monic G F x, minpoly.eval₂ G F x⟩
state_before: case intro
M : Type u
inst✝⁵ : Monoid M
G : Type u
inst✝⁴ : Group G
F : Type v
inst✝³ : Field F
inst✝² : MulSemiringAction M F
inst✝¹ : MulSemiringAction G F
m : M
inst✝ : Finite G
x : F
val✝ : Fintype G
⊢ IsIntegral (↥(subfield G F)) x
state_after: no goals
Theorem: Real.surjOn_tan
File: Mathlib/Analysis/SpecialFunctions/Trigonometric/Arctan.lean

tactic: rw [tendsto_comp_coe_Ioo_atBot this]
state_before: this : -(π / 2) < π / 2
⊢ Tendsto (fun x => tan ↑x) atBot atBot
state_after: this : -(π / 2) < π / 2
⊢ Tendsto tan (𝓝[>] (-(π / 2))) atBot

tactic: exact tendsto_tan_neg_pi_div_two
state_before: this : -(π / 2) < π / 2
⊢ Tendsto tan (𝓝[>] (-(π / 2))) atBot
state_after: no goals

tactic: rw [tendsto_comp_coe_Ioo_atTop this]
state_before: this : -(π / 2) < π / 2
⊢ Tendsto (fun x => tan ↑x) atTop atTop
state_after: this : -(π / 2) < π / 2
⊢ Tendsto tan (𝓝[<] (π / 2)) atTop

tactic: exact tendsto_tan_pi_div_two
state_before: this : -(π / 2) < π / 2
⊢ Tendsto tan (𝓝[<] (π / 2)) atTop
state_after: no goals
Theorem: MeasureTheory.fundamentalInterior_smul
File: Mathlib/MeasureTheory/Group/FundamentalDomain.lean

tactic: simp_rw [fundamentalInterior, smul_set_sdiff, smul_set_iUnion, smul_comm g (_ : G) (_ : Set α)]
state_before: G : Type u_1
H : Type u_2
α : Type u_3
β : Type u_4
E : Type u_5
inst✝⁴ : Group G
inst✝³ : MulAction G α
s : Set α
x : α
inst✝² : Group H
inst✝¹ : MulAction H α
inst✝ : SMulCommClass H G α
g : H
⊢ fundamentalInterior G (g • s) = g • fundamentalInterior G s
state_after: no goals
Theorem: Finset.pimage_some
File: Mathlib/Data/Finset/PImage.lean

tactic: ext
state_before: α : Type u_1
β : Type u_2
inst✝³ : DecidableEq β
f✝ g : α →. β
inst✝² : (x : α) → Decidable (f✝ x).Dom
inst✝¹ : (x : α) → Decidable (g x).Dom
s✝ t : Finset α
b : β
s : Finset α
f : α → β
inst✝ : (x : α) → Decidable (Part.some (f x)).Dom
⊢ pimage (fun x => Part.some (f x)) s = image f s
state_after: case a
α : Type u_1
β : Type u_2
inst✝³ : DecidableEq β
f✝ g : α →. β
inst✝² : (x : α) → Decidable (f✝ x).Dom
inst✝¹ : (x : α) → Decidable (g x).Dom
s✝ t : Finset α
b : β
s : Finset α
f : α → β
inst✝ : (x : α) → Decidable (Part.some (f x)).Dom
a✝ : β
⊢ a✝ ∈ pimage (fun x => Part.some (f x)) s ↔ a✝ ∈ image f s

tactic: simp [eq_comm]
state_before: case a
α : Type u_1
β : Type u_2
inst✝³ : DecidableEq β
f✝ g : α →. β
inst✝² : (x : α) → Decidable (f✝ x).Dom
inst✝¹ : (x : α) → Decidable (g x).Dom
s✝ t : Finset α
b : β
s : Finset α
f : α → β
inst✝ : (x : α) → Decidable (Part.some (f x)).Dom
a✝ : β
⊢ a✝ ∈ pimage (fun x => Part.some (f x)) s ↔ a✝ ∈ image f s
state_after: no goals
Theorem: Complex.exp_conj
File: Mathlib/Data/Complex/Exponential.lean

tactic: dsimp [exp]
state_before: x y : ℂ
⊢ cexp ((starRingEnd ℂ) x) = (starRingEnd ℂ) (cexp x)
state_after: x y : ℂ
⊢ (exp' ((starRingEnd ℂ) x)).lim = (starRingEnd ℂ) (exp' x).lim

tactic: rw [← lim_conj]
state_before: x y : ℂ
⊢ (exp' ((starRingEnd ℂ) x)).lim = (starRingEnd ℂ) (exp' x).lim
state_after: x y : ℂ
⊢ (exp' ((starRingEnd ℂ) x)).lim = (cauSeqConj (exp' x)).lim

tactic: refine congr_arg CauSeq.lim (CauSeq.ext fun _ => ?_)
state_before: x y : ℂ
⊢ (exp' ((starRingEnd ℂ) x)).lim = (cauSeqConj (exp' x)).lim
state_after: x y : ℂ
x✝ : ℕ
⊢ ↑(exp' ((starRingEnd ℂ) x)) x✝ = ↑(cauSeqConj (exp' x)) x✝

tactic: dsimp [exp', Function.comp_def, cauSeqConj]
state_before: x y : ℂ
x✝ : ℕ
⊢ ↑(exp' ((starRingEnd ℂ) x)) x✝ = ↑(cauSeqConj (exp' x)) x✝
state_after: x y : ℂ
x✝ : ℕ
⊢ ∑ m ∈ range x✝, (starRingEnd ℂ) x ^ m / ↑m.factorial = (starRingEnd ℂ) (∑ m ∈ range x✝, x ^ m / ↑m.factorial)

tactic: rw [map_sum (starRingEnd _)]
state_before: x y : ℂ
x✝ : ℕ
⊢ ∑ m ∈ range x✝, (starRingEnd ℂ) x ^ m / ↑m.factorial = (starRingEnd ℂ) (∑ m ∈ range x✝, x ^ m / ↑m.factorial)
state_after: x y : ℂ
x✝ : ℕ
⊢ ∑ m ∈ range x✝, (starRingEnd ℂ) x ^ m / ↑m.factorial = ∑ x_1 ∈ range x✝, (starRingEnd ℂ) (x ^ x_1 / ↑x_1.factorial)

tactic: refine sum_congr rfl fun n _ => ?_
state_before: x y : ℂ
x✝ : ℕ
⊢ ∑ m ∈ range x✝, (starRingEnd ℂ) x ^ m / ↑m.factorial = ∑ x_1 ∈ range x✝, (starRingEnd ℂ) (x ^ x_1 / ↑x_1.factorial)
state_after: x y : ℂ
x✝¹ n : ℕ
x✝ : n ∈ range x✝¹
⊢ (starRingEnd ℂ) x ^ n / ↑n.factorial = (starRingEnd ℂ) (x ^ n / ↑n.factorial)

tactic: rw [map_div₀, map_pow, ← ofReal_natCast, conj_ofReal]
state_before: x y : ℂ
x✝¹ n : ℕ
x✝ : n ∈ range x✝¹
⊢ (starRingEnd ℂ) x ^ n / ↑n.factorial = (starRingEnd ℂ) (x ^ n / ↑n.factorial)
state_after: no goals
Theorem: zero_cpow_eq_nhds
File: Mathlib/Analysis/SpecialFunctions/Pow/Continuity.lean

tactic: suffices ∀ᶠ x : ℂ in 𝓝 b, x ≠ 0 from
  this.mono fun x hx ↦ by
    dsimp only
    rw [zero_cpow hx, Pi.zero_apply]
state_before: α : Type u_1
b : ℂ
hb : b ≠ 0
⊢ (fun x => 0 ^ x) =ᶠ[𝓝 b] 0
state_after: α : Type u_1
b : ℂ
hb : b ≠ 0
⊢ ∀ᶠ (x : ℂ) in 𝓝 b, x ≠ 0

tactic: exact IsOpen.eventually_mem isOpen_ne hb
state_before: α : Type u_1
b : ℂ
hb : b ≠ 0
⊢ ∀ᶠ (x : ℂ) in 𝓝 b, x ≠ 0
state_after: no goals

tactic: dsimp only
state_before: α : Type u_1
b : ℂ
hb : b ≠ 0
this : ∀ᶠ (x : ℂ) in 𝓝 b, x ≠ 0
x : ℂ
hx : x ≠ 0
⊢ (fun x => 0 ^ x) x = 0 x
state_after: α : Type u_1
b : ℂ
hb : b ≠ 0
this : ∀ᶠ (x : ℂ) in 𝓝 b, x ≠ 0
x : ℂ
hx : x ≠ 0
⊢ 0 ^ x = 0 x

tactic: rw [zero_cpow hx, Pi.zero_apply]
state_before: α : Type u_1
b : ℂ
hb : b ≠ 0
this : ∀ᶠ (x : ℂ) in 𝓝 b, x ≠ 0
x : ℂ
hx : x ≠ 0
⊢ 0 ^ x = 0 x
state_after: no goals
Theorem: LinearMap.trace_eq_sum_trace_restrict
File: Mathlib/Algebra/DirectSum/LinearMap.lean

tactic: let b : (i : ι) → Basis _ R (N i) := fun i ↦ Module.Free.chooseBasis R (N i)
state_before: ι : Type u_1
R : Type u_2
M : Type u_3
inst✝⁶ : CommRing R
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
N : ι → Submodule R M
inst✝³ : DecidableEq ι
h : IsInternal N
inst✝² : ∀ (i : ι), Module.Finite R ↥(N i)
inst✝¹ : ∀ (i : ι), Module.Free R ↥(N i)
inst✝ : Fintype ι
f : M →ₗ[R] M
hf : ∀ (i : ι), MapsTo ⇑f ↑(N i) ↑(N i)
⊢ (trace R M) f = ∑ i : ι, (trace R ↥(N i)) (f.restrict ⋯)
state_after: ι : Type u_1
R : Type u_2
M : Type u_3
inst✝⁶ : CommRing R
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
N : ι → Submodule R M
inst✝³ : DecidableEq ι
h : IsInternal N
inst✝² : ∀ (i : ι), Module.Finite R ↥(N i)
inst✝¹ : ∀ (i : ι), Module.Free R ↥(N i)
inst✝ : Fintype ι
f : M →ₗ[R] M
hf : ∀ (i : ι), MapsTo ⇑f ↑(N i) ↑(N i)
b : (i : ι) → Basis (Module.Free.ChooseBasisIndex R ↥(N i)) R ↥(N i) := fun i => Module.Free.chooseBasis R ↥(N i)
⊢ (trace R M) f = ∑ i : ι, (trace R ↥(N i)) (f.restrict ⋯)

tactic: simp_rw [trace_eq_matrix_trace R (h.collectedBasis b),
  toMatrix_directSum_collectedBasis_eq_blockDiagonal' h h b b hf, Matrix.trace_blockDiagonal',
  ← trace_eq_matrix_trace]
state_before: ι : Type u_1
R : Type u_2
M : Type u_3
inst✝⁶ : CommRing R
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
N : ι → Submodule R M
inst✝³ : DecidableEq ι
h : IsInternal N
inst✝² : ∀ (i : ι), Module.Finite R ↥(N i)
inst✝¹ : ∀ (i : ι), Module.Free R ↥(N i)
inst✝ : Fintype ι
f : M →ₗ[R] M
hf : ∀ (i : ι), MapsTo ⇑f ↑(N i) ↑(N i)
b : (i : ι) → Basis (Module.Free.ChooseBasisIndex R ↥(N i)) R ↥(N i) := fun i => Module.Free.chooseBasis R ↥(N i)
⊢ (trace R M) f = ∑ i : ι, (trace R ↥(N i)) (f.restrict ⋯)
state_after: no goals