1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: ProjectiveSpectrum.isClosed_iff_zeroLocus
File: Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Topology.lean

tactic: rw [← isOpen_compl_iff, isOpen_iff, compl_compl]
state_before: R : Type u_1
A : Type u_2
inst✝³ : CommSemiring R
inst✝² : CommRing A
inst✝¹ : Algebra R A
𝒜 : ℕ → Submodule R A
inst✝ : GradedAlgebra 𝒜
Z : Set (ProjectiveSpectrum 𝒜)
⊢ IsClosed Z ↔ ∃ s, Z = zeroLocus 𝒜 s
state_after: no goals
Theorem: Affine.Simplex.circumradius_reindex
File: Mathlib/Geometry/Euclidean/Circumcenter.lean

tactic: simp_rw [circumradius, circumsphere_reindex]
state_before: V : Type u_1
P : Type u_2
inst✝³ : NormedAddCommGroup V
inst✝² : InnerProductSpace ℝ V
inst✝¹ : MetricSpace P
inst✝ : NormedAddTorsor V P
m n : ℕ
s : Simplex ℝ P m
e : Fin (m + 1) ≃ Fin (n + 1)
⊢ (s.reindex e).circumradius = s.circumradius
state_after: no goals
Theorem: FreeGroup.reduce.min
File: Mathlib/GroupTheory/FreeGroup/Basic.lean

tactic: induction' H with L1 L' L2 H1 H2 ih
state_before: α : Type u
L L₁ L₂ L₃ L₄ : List (α × Bool)
inst✝ : DecidableEq α
H : Red (reduce L₁) L₂
⊢ reduce L₁ = L₂
state_after: case refl
α : Type u
L L₁ L₂ L₃ L₄ : List (α × Bool)
inst✝ : DecidableEq α
⊢ reduce L₁ = reduce L₁

case tail
α : Type u
L L₁ L₂ L₃ L₄ : List (α × Bool)
inst✝ : DecidableEq α
L1 L' : List (α × Bool)
L2 : ReflTransGen Red.Step (reduce L₁) L1
H1 : Red.Step L1 L'
H2 : reduce L₁ = L1
⊢ reduce L₁ = L'

tactic: rfl
state_before: case refl
α : Type u
L L₁ L₂ L₃ L₄ : List (α × Bool)
inst✝ : DecidableEq α
⊢ reduce L₁ = reduce L₁
state_after: no goals

tactic: cases' H1 with L4 L5 x b
state_before: case tail
α : Type u
L L₁ L₂ L₃ L₄ : List (α × Bool)
inst✝ : DecidableEq α
L1 L' : List (α × Bool)
L2 : ReflTransGen Red.Step (reduce L₁) L1
H1 : Red.Step L1 L'
H2 : reduce L₁ = L1
⊢ reduce L₁ = L'
state_after: case tail.not
α : Type u
L L₁ L₂ L₃ L₄ : List (α × Bool)
inst✝ : DecidableEq α
L4 L5 : List (α × Bool)
x : α
b : Bool
L2 : ReflTransGen Red.Step (reduce L₁) (L4 ++ (x, b) :: (x, !b) :: L5)
H2 : reduce L₁ = L4 ++ (x, b) :: (x, !b) :: L5
⊢ reduce L₁ = L4 ++ L5

tactic: exact reduce.not H2
state_before: case tail.not
α : Type u
L L₁ L₂ L₃ L₄ : List (α × Bool)
inst✝ : DecidableEq α
L4 L5 : List (α × Bool)
x : α
b : Bool
L2 : ReflTransGen Red.Step (reduce L₁) (L4 ++ (x, b) :: (x, !b) :: L5)
H2 : reduce L₁ = L4 ++ (x, b) :: (x, !b) :: L5
⊢ reduce L₁ = L4 ++ L5
state_after: no goals
Theorem: Sym2.other_mem
File: Mathlib/Data/Sym/Sym2.lean

tactic: convert mem_mk_right a <| Mem.other h
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
a : α
z : Sym2 α
h : a ∈ z
⊢ Mem.other h ∈ z
state_after: case h.e'_5
α : Type u_1
β : Type u_2
γ : Type u_3
a : α
z : Sym2 α
h : a ∈ z
⊢ z = s(a, Mem.other h)

tactic: rw [other_spec h]
state_before: case h.e'_5
α : Type u_1
β : Type u_2
γ : Type u_3
a : α
z : Sym2 α
h : a ∈ z
⊢ z = s(a, Mem.other h)
state_after: no goals
Theorem: ProbabilityTheory.kernel.measurable_rnDerivAux_right
File: Mathlib/Probability/Kernel/RadonNikodym.lean

tactic: change Measurable ((fun p : α × γ ↦ rnDerivAux κ η p.1 p.2) ∘ (fun x ↦ (a, x)))
state_before: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
a : α
⊢ Measurable fun x => rnDerivAux κ η a x
state_after: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
a : α
⊢ Measurable ((fun p => rnDerivAux κ η p.1 p.2) ∘ fun x => (a, x))

tactic: exact (measurable_rnDerivAux _ _).comp measurable_prod_mk_left
state_before: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
a : α
⊢ Measurable ((fun p => rnDerivAux κ η p.1 p.2) ∘ fun x => (a, x))
state_after: no goals
Theorem: SimpleGraph.TripartiteFromTriangles.card_triangles
File: Mathlib/Combinatorics/SimpleGraph/Triangle/Tripartite.lean

tactic: rw [cliqueFinset_eq_map, card_map]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
𝕜 : Type u_4
inst✝⁷ : LinearOrderedField 𝕜
t : Finset (α × β × γ)
a a' : α
b b' : β
c c' : γ
x : α × β × γ
ε : 𝕜
inst✝⁶ : DecidableEq α
inst✝⁵ : DecidableEq β
inst✝⁴ : DecidableEq γ
inst✝³ : Fintype α
inst✝² : Fintype β
inst✝¹ : Fintype γ
inst✝ : NoAccidental t
⊢ ((graph t).cliqueFinset 3).card = t.card
state_after: no goals
Theorem: ZMod.intCast_comp_cast
File: Mathlib/Data/ZMod/Basic.lean

tactic: cases n
state_before: n : ℕ
R : Type u_1
inst✝ : Ring R
⊢ Int.cast ∘ cast = cast
state_after: case zero
R : Type u_1
inst✝ : Ring R
⊢ Int.cast ∘ cast = cast

case succ
R : Type u_1
inst✝ : Ring R
n✝ : ℕ
⊢ Int.cast ∘ cast = cast

tactic: ext
state_before: case succ
R : Type u_1
inst✝ : Ring R
n✝ : ℕ
⊢ Int.cast ∘ cast = cast
state_after: case succ.h
R : Type u_1
inst✝ : Ring R
n✝ : ℕ
x✝ : ZMod (n✝ + 1)
⊢ (Int.cast ∘ cast) x✝ = x✝.cast

tactic: simp [ZMod, ZMod.cast]
state_before: case succ.h
R : Type u_1
inst✝ : Ring R
n✝ : ℕ
x✝ : ZMod (n✝ + 1)
⊢ (Int.cast ∘ cast) x✝ = x✝.cast
state_after: no goals
Theorem: tendsto_intCast_atBot_iff
File: Mathlib/Order/Filter/Archimedean.lean

tactic: rw [← @Int.comap_cast_atBot R, tendsto_comap_iff]
state_before: α : Type u_1
R : Type u_2
inst✝¹ : StrictOrderedRing R
inst✝ : Archimedean R
f : α → ℤ
l : Filter α
⊢ Tendsto (fun n => ↑(f n)) l atBot ↔ Tendsto f l atBot
state_after: α : Type u_1
R : Type u_2
inst✝¹ : StrictOrderedRing R
inst✝ : Archimedean R
f : α → ℤ
l : Filter α
⊢ Tendsto (fun n => ↑(f n)) l atBot ↔ Tendsto (Int.cast ∘ f) l atBot

tactic: rfl
state_before: α : Type u_1
R : Type u_2
inst✝¹ : StrictOrderedRing R
inst✝ : Archimedean R
f : α → ℤ
l : Filter α
⊢ Tendsto (fun n => ↑(f n)) l atBot ↔ Tendsto (Int.cast ∘ f) l atBot
state_after: no goals
Theorem: Orthonormal.inner_finsupp_eq_sum_left
File: Mathlib/Analysis/InnerProductSpace/Basic.lean

tactic: simp only [l₁.total_apply _, Finsupp.sum_inner, hv.inner_right_finsupp, smul_eq_mul]
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : _root_.RCLike 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace ℝ F
ι : Type u_4
v : ι → E
hv : Orthonormal 𝕜 v
l₁ l₂ : ι →₀ 𝕜
⊢ ⟪(Finsupp.total ι E 𝕜 v) l₁, (Finsupp.total ι E 𝕜 v) l₂⟫_𝕜 = l₁.sum fun i y => (starRingEnd 𝕜) y * l₂ i
state_after: no goals
Theorem: cfcₙHom_le_iff
File: Mathlib/Topology/ContinuousFunction/NonUnitalFunctionalCalculus.lean

tactic: rw [← sub_nonneg, ← map_sub, cfcₙHom_nonneg_iff, sub_nonneg]
state_before: R : Type u_1
A : Type u_2
p : A → Prop
inst✝¹⁸ : OrderedCommRing R
inst✝¹⁷ : Nontrivial R
inst✝¹⁶ : StarRing R
inst✝¹⁵ : StarOrderedRing R
inst✝¹⁴ : MetricSpace R
inst✝¹³ : TopologicalRing R
inst✝¹² : ContinuousStar R
inst✝¹¹ : ∀ (α : Type ?u.1215780) [inst : Zero α] [inst_1 : TopologicalSpace α], StarOrderedRing C(α, R)₀
inst✝¹⁰ : TopologicalSpace A
inst✝⁹ : NonUnitalRing A
inst✝⁸ : StarRing A
inst✝⁷ : PartialOrder A
inst✝⁶ : StarOrderedRing A
inst✝⁵ : Module R A
inst✝⁴ : IsScalarTower R A A
inst✝³ : SMulCommClass R A A
inst✝² : StarModule R A
inst✝¹ : NonUnitalContinuousFunctionalCalculus R p
inst✝ : NonnegSpectrumClass R A
a : A
ha : p a
f g : C(↑(σₙ R a), R)₀
⊢ (cfcₙHom ha) f ≤ (cfcₙHom ha) g ↔ f ≤ g
state_after: no goals
Theorem: HurwitzZeta.sinZeta_neg_two_mul_nat_sub_one
File: Mathlib/NumberTheory/LSeries/HurwitzZetaOdd.lean

tactic: rw [sinZeta, Gammaℝ_eq_zero_iff.mpr ⟨n, by rw [neg_mul, sub_add_cancel]⟩, div_zero]
state_before: a : UnitAddCircle
n : ℕ
⊢ sinZeta a (-2 * ↑n - 1) = 0
state_after: no goals

tactic: rw [neg_mul, sub_add_cancel]
state_before: a : UnitAddCircle
n : ℕ
⊢ -2 * ↑n - 1 + 1 = -(2 * ↑n)
state_after: no goals
Theorem: List.finRange_succ
File: Mathlib/Data/List/FinRange.lean

tactic: apply map_injective_iff.mpr Fin.val_injective
state_before: α : Type u
n : ℕ
⊢ finRange n.succ = (map Fin.castSucc (finRange n)).concat (Fin.last n)
state_after: case a
α : Type u
n : ℕ
⊢ map Fin.val (finRange n.succ) = map Fin.val ((map Fin.castSucc (finRange n)).concat (Fin.last n))

tactic: simp [range_succ, Function.comp_def]
state_before: case a
α : Type u
n : ℕ
⊢ map Fin.val (finRange n.succ) = map Fin.val ((map Fin.castSucc (finRange n)).concat (Fin.last n))
state_after: no goals
Theorem: SymplecticGroup.J_mem
File: Mathlib/LinearAlgebra/SymplecticGroup.lean

tactic: rw [mem_iff, J, fromBlocks_multiply, fromBlocks_transpose, fromBlocks_multiply]
state_before: l : Type u_1
R : Type u_2
inst✝² : DecidableEq l
inst✝¹ : Fintype l
inst✝ : CommRing R
⊢ J l R ∈ symplecticGroup l R
state_after: l : Type u_1
R : Type u_2
inst✝² : DecidableEq l
inst✝¹ : Fintype l
inst✝ : CommRing R
⊢ fromBlocks ((0 * 0 + -1 * 1) * 0ᵀ + (0 * -1 + -1 * 0) * (-1)ᵀ) ((0 * 0 + -1 * 1) * 1ᵀ + (0 * -1 + -1 * 0) * 0ᵀ)
      ((1 * 0 + 0 * 1) * 0ᵀ + (1 * -1 + 0 * 0) * (-1)ᵀ) ((1 * 0 + 0 * 1) * 1ᵀ + (1 * -1 + 0 * 0) * 0ᵀ) =
    fromBlocks 0 (-1) 1 0

tactic: simp
state_before: l : Type u_1
R : Type u_2
inst✝² : DecidableEq l
inst✝¹ : Fintype l
inst✝ : CommRing R
⊢ fromBlocks ((0 * 0 + -1 * 1) * 0ᵀ + (0 * -1 + -1 * 0) * (-1)ᵀ) ((0 * 0 + -1 * 1) * 1ᵀ + (0 * -1 + -1 * 0) * 0ᵀ)
      ((1 * 0 + 0 * 1) * 0ᵀ + (1 * -1 + 0 * 0) * (-1)ᵀ) ((1 * 0 + 0 * 1) * 1ᵀ + (1 * -1 + 0 * 0) * 0ᵀ) =
    fromBlocks 0 (-1) 1 0
state_after: no goals
Theorem: Polynomial.natTrailingDegree_ne_zero
File: Mathlib/Algebra/Polynomial/Degree/TrailingDegree.lean

tactic: rw [not_or, not_ne_iff]
state_before: R : Type u
S : Type v
a b : R
n m : ℕ
inst✝ : Semiring R
p q r : R[X]
⊢ ¬(p = 0 ∨ p.coeff 0 ≠ 0) ↔ p ≠ 0 ∧ p.coeff 0 = 0
state_after: no goals
Theorem: IsGenericPoint.disjoint_iff
File: Mathlib/Topology/Sober.lean

tactic: rw [h.mem_open_set_iff hU, ← not_disjoint_iff_nonempty_inter, Classical.not_not]
state_before: α : Type u_1
β : Type u_2
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
x y : α
S U Z : Set α
h : IsGenericPoint x S
hU : IsOpen U
⊢ Disjoint S U ↔ x ∉ U
state_after: no goals
Theorem: WeierstrassCurve.Φ_four
File: Mathlib/AlgebraicGeometry/EllipticCurve/DivisionPolynomial/Basic.lean

tactic: erw [Φ_ofNat, preΨ'_four, if_neg <| by decide, show 3 + 2 = 2 * 2 + 1 by rfl, preΨ'_odd,
  preΨ'_four, preΨ'_two, if_pos even_zero, preΨ'_one, preΨ'_three, if_pos even_zero]
state_before: R : Type r
S : Type s
inst✝¹ : CommRing R
inst✝ : CommRing S
W : WeierstrassCurve R
⊢ W.Φ 4 = X * W.preΨ₄ ^ 2 * W.Ψ₂Sq - W.Ψ₃ * (W.preΨ₄ * W.Ψ₂Sq ^ 2 - W.Ψ₃ ^ 3)
state_after: R : Type r
S : Type s
inst✝¹ : CommRing R
inst✝ : CommRing S
W : WeierstrassCurve R
⊢ X * W.preΨ₄ ^ 2 * W.Ψ₂Sq - (W.preΨ₄ * 1 ^ 3 * W.Ψ₂Sq ^ 2 - 1 * W.Ψ₃ ^ 3 * 1) * W.Ψ₃ * 1 =
    X * W.preΨ₄ ^ 2 * W.Ψ₂Sq - W.Ψ₃ * (W.preΨ₄ * W.Ψ₂Sq ^ 2 - W.Ψ₃ ^ 3)

tactic: ring1
state_before: R : Type r
S : Type s
inst✝¹ : CommRing R
inst✝ : CommRing S
W : WeierstrassCurve R
⊢ X * W.preΨ₄ ^ 2 * W.Ψ₂Sq - (W.preΨ₄ * 1 ^ 3 * W.Ψ₂Sq ^ 2 - 1 * W.Ψ₃ ^ 3 * 1) * W.Ψ₃ * 1 =
    X * W.preΨ₄ ^ 2 * W.Ψ₂Sq - W.Ψ₃ * (W.preΨ₄ * W.Ψ₂Sq ^ 2 - W.Ψ₃ ^ 3)
state_after: no goals

tactic: decide
state_before: R : Type r
S : Type s
inst✝¹ : CommRing R
inst✝ : CommRing S
W : WeierstrassCurve R
⊢ ¬Even 3
state_after: no goals

tactic: rfl
state_before: R : Type r
S : Type s
inst✝¹ : CommRing R
inst✝ : CommRing S
W : WeierstrassCurve R
⊢ 3 + 2 = 2 * 2 + 1
state_after: no goals
Theorem: Nat.map_div_right_divisors
File: Mathlib/NumberTheory/Divisors.lean

tactic: ext ⟨d, nd⟩
state_before: n : ℕ
⊢ map { toFun := fun d => (d, n / d), inj' := ⋯ } n.divisors = n.divisorsAntidiagonal
state_after: case a.mk
n d nd : ℕ
⊢ (d, nd) ∈ map { toFun := fun d => (d, n / d), inj' := ⋯ } n.divisors ↔ (d, nd) ∈ n.divisorsAntidiagonal

tactic: simp only [mem_map, mem_divisorsAntidiagonal, Function.Embedding.coeFn_mk, mem_divisors,
  Prod.ext_iff, exists_prop, and_left_comm, exists_eq_left]
state_before: case a.mk
n d nd : ℕ
⊢ (d, nd) ∈ map { toFun := fun d => (d, n / d), inj' := ⋯ } n.divisors ↔ (d, nd) ∈ n.divisorsAntidiagonal
state_after: case a.mk
n d nd : ℕ
⊢ (d ∣ n ∧ n ≠ 0) ∧ n / d = nd ↔ d * nd = n ∧ n ≠ 0

tactic: constructor
state_before: case a.mk
n d nd : ℕ
⊢ (d ∣ n ∧ n ≠ 0) ∧ n / d = nd ↔ d * nd = n ∧ n ≠ 0
state_after: case a.mk.mp
n d nd : ℕ
⊢ (d ∣ n ∧ n ≠ 0) ∧ n / d = nd → d * nd = n ∧ n ≠ 0

case a.mk.mpr
n d nd : ℕ
⊢ d * nd = n ∧ n ≠ 0 → (d ∣ n ∧ n ≠ 0) ∧ n / d = nd

tactic: rintro ⟨⟨⟨k, rfl⟩, hn⟩, rfl⟩
state_before: case a.mk.mp
n d nd : ℕ
⊢ (d ∣ n ∧ n ≠ 0) ∧ n / d = nd → d * nd = n ∧ n ≠ 0
state_after: case a.mk.mp.intro.intro.intro
d k : ℕ
hn : d * k ≠ 0
⊢ d * (d * k / d) = d * k ∧ d * k ≠ 0

tactic: rw [Nat.mul_div_cancel_left _ (left_ne_zero_of_mul hn).bot_lt]
state_before: case a.mk.mp.intro.intro.intro
d k : ℕ
hn : d * k ≠ 0
⊢ d * (d * k / d) = d * k ∧ d * k ≠ 0
state_after: case a.mk.mp.intro.intro.intro
d k : ℕ
hn : d * k ≠ 0
⊢ d * k = d * k ∧ d * k ≠ 0

tactic: exact ⟨rfl, hn⟩
state_before: case a.mk.mp.intro.intro.intro
d k : ℕ
hn : d * k ≠ 0
⊢ d * k = d * k ∧ d * k ≠ 0
state_after: no goals

tactic: rintro ⟨rfl, hn⟩
state_before: case a.mk.mpr
n d nd : ℕ
⊢ d * nd = n ∧ n ≠ 0 → (d ∣ n ∧ n ≠ 0) ∧ n / d = nd
state_after: case a.mk.mpr.intro
d nd : ℕ
hn : d * nd ≠ 0
⊢ (d ∣ d * nd ∧ d * nd ≠ 0) ∧ d * nd / d = nd

tactic: exact ⟨⟨dvd_mul_right _ _, hn⟩, Nat.mul_div_cancel_left _ (left_ne_zero_of_mul hn).bot_lt⟩
state_before: case a.mk.mpr.intro
d nd : ℕ
hn : d * nd ≠ 0
⊢ (d ∣ d * nd ∧ d * nd ≠ 0) ∧ d * nd / d = nd
state_after: no goals
Theorem: differentiable_apply
File: Mathlib/Analysis/Calculus/FDeriv/Prod.lean

tactic: intro x
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
ι : Type u_6
inst✝² : Fintype ι
F' : ι → Type u_7
inst✝¹ : (i : ι) → NormedAddCommGroup (F' i)
inst✝ : (i : ι) → NormedSpace 𝕜 (F' i)
φ : (i : ι) → E → F' i
φ' : (i : ι) → E →L[𝕜] F' i
Φ : E → (i : ι) → F' i
Φ' : E →L[𝕜] (i : ι) → F' i
i : ι
⊢ Differentiable 𝕜 fun f => f i
state_after: 𝕜 : 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
ι : Type u_6
inst✝² : Fintype ι
F' : ι → Type u_7
inst✝¹ : (i : ι) → NormedAddCommGroup (F' i)
inst✝ : (i : ι) → NormedSpace 𝕜 (F' i)
φ : (i : ι) → E → F' i
φ' : (i : ι) → E →L[𝕜] F' i
Φ : E → (i : ι) → F' i
Φ' : E →L[𝕜] (i : ι) → F' i
i : ι
x : (i : ι) → F' i
⊢ DifferentiableAt 𝕜 (fun f => f i) x

tactic: apply differentiableAt_apply
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
ι : Type u_6
inst✝² : Fintype ι
F' : ι → Type u_7
inst✝¹ : (i : ι) → NormedAddCommGroup (F' i)
inst✝ : (i : ι) → NormedSpace 𝕜 (F' i)
φ : (i : ι) → E → F' i
φ' : (i : ι) → E →L[𝕜] F' i
Φ : E → (i : ι) → F' i
Φ' : E →L[𝕜] (i : ι) → F' i
i : ι
x : (i : ι) → F' i
⊢ DifferentiableAt 𝕜 (fun f => f i) x
state_after: no goals
Theorem: Nat.sq_add_sq_zmodEq
File: Mathlib/FieldTheory/Finite/Basic.lean

tactic: rcases ZMod.sq_add_sq p x with ⟨a, b, hx⟩
state_before: K : Type u_1
R : Type u_2
p : ℕ
inst✝ : Fact (Prime p)
x : ℤ
⊢ ∃ a b, a ≤ p / 2 ∧ b ≤ p / 2 ∧ ↑a ^ 2 + ↑b ^ 2 ≡ x [ZMOD ↑p]
state_after: case intro.intro
K : Type u_1
R : Type u_2
p : ℕ
inst✝ : Fact (Prime p)
x : ℤ
a b : ZMod p
hx : a ^ 2 + b ^ 2 = ↑x
⊢ ∃ a b, a ≤ p / 2 ∧ b ≤ p / 2 ∧ ↑a ^ 2 + ↑b ^ 2 ≡ x [ZMOD ↑p]

tactic: refine ⟨a.valMinAbs.natAbs, b.valMinAbs.natAbs, ZMod.natAbs_valMinAbs_le _,
  ZMod.natAbs_valMinAbs_le _, ?_⟩
state_before: case intro.intro
K : Type u_1
R : Type u_2
p : ℕ
inst✝ : Fact (Prime p)
x : ℤ
a b : ZMod p
hx : a ^ 2 + b ^ 2 = ↑x
⊢ ∃ a b, a ≤ p / 2 ∧ b ≤ p / 2 ∧ ↑a ^ 2 + ↑b ^ 2 ≡ x [ZMOD ↑p]
state_after: case intro.intro
K : Type u_1
R : Type u_2
p : ℕ
inst✝ : Fact (Prime p)
x : ℤ
a b : ZMod p
hx : a ^ 2 + b ^ 2 = ↑x
⊢ ↑a.valMinAbs.natAbs ^ 2 + ↑b.valMinAbs.natAbs ^ 2 ≡ x [ZMOD ↑p]

tactic: rw [← a.coe_valMinAbs, ← b.coe_valMinAbs] at hx
state_before: case intro.intro
K : Type u_1
R : Type u_2
p : ℕ
inst✝ : Fact (Prime p)
x : ℤ
a b : ZMod p
hx : a ^ 2 + b ^ 2 = ↑x
⊢ ↑a.valMinAbs.natAbs ^ 2 + ↑b.valMinAbs.natAbs ^ 2 ≡ x [ZMOD ↑p]
state_after: case intro.intro
K : Type u_1
R : Type u_2
p : ℕ
inst✝ : Fact (Prime p)
x : ℤ
a b : ZMod p
hx : ↑a.valMinAbs ^ 2 + ↑b.valMinAbs ^ 2 = ↑x
⊢ ↑a.valMinAbs.natAbs ^ 2 + ↑b.valMinAbs.natAbs ^ 2 ≡ x [ZMOD ↑p]

tactic: push_cast
state_before: case intro.intro
K : Type u_1
R : Type u_2
p : ℕ
inst✝ : Fact (Prime p)
x : ℤ
a b : ZMod p
hx : ↑a.valMinAbs ^ 2 + ↑b.valMinAbs ^ 2 = ↑x
⊢ ↑a.valMinAbs.natAbs ^ 2 + ↑b.valMinAbs.natAbs ^ 2 ≡ x [ZMOD ↑p]
state_after: case intro.intro
K : Type u_1
R : Type u_2
p : ℕ
inst✝ : Fact (Prime p)
x : ℤ
a b : ZMod p
hx : ↑a.valMinAbs ^ 2 + ↑b.valMinAbs ^ 2 = ↑x
⊢ |a.valMinAbs| ^ 2 + |b.valMinAbs| ^ 2 ≡ x [ZMOD ↑p]

tactic: rw [sq_abs, sq_abs, ← ZMod.intCast_eq_intCast_iff]
state_before: case intro.intro
K : Type u_1
R : Type u_2
p : ℕ
inst✝ : Fact (Prime p)
x : ℤ
a b : ZMod p
hx : ↑a.valMinAbs ^ 2 + ↑b.valMinAbs ^ 2 = ↑x
⊢ |a.valMinAbs| ^ 2 + |b.valMinAbs| ^ 2 ≡ x [ZMOD ↑p]
state_after: case intro.intro
K : Type u_1
R : Type u_2
p : ℕ
inst✝ : Fact (Prime p)
x : ℤ
a b : ZMod p
hx : ↑a.valMinAbs ^ 2 + ↑b.valMinAbs ^ 2 = ↑x
⊢ ↑(a.valMinAbs ^ 2 + b.valMinAbs ^ 2) = ↑x

tactic: exact mod_cast hx
state_before: case intro.intro
K : Type u_1
R : Type u_2
p : ℕ
inst✝ : Fact (Prime p)
x : ℤ
a b : ZMod p
hx : ↑a.valMinAbs ^ 2 + ↑b.valMinAbs ^ 2 = ↑x
⊢ ↑(a.valMinAbs ^ 2 + b.valMinAbs ^ 2) = ↑x
state_after: no goals
Theorem: Polynomial.erase_monomial
File: Mathlib/Algebra/Polynomial/Basic.lean

tactic: simp
state_before: R : Type u
a✝ b : R
m n✝ : ℕ
inst✝ : Semiring R
p q : R[X]
n : ℕ
a : R
⊢ (erase n ((monomial n) a)).toFinsupp = toFinsupp 0
state_after: no goals
Theorem: Finset.diag_union_offDiag
File: Mathlib/Data/Finset/Prod.lean

tactic: conv_rhs => rw [← filter_union_filter_neg_eq (fun a => a.1 = a.2) (s ×ˢ s)]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝ : DecidableEq α
s t : Finset α
x : α × α
⊢ s.diag ∪ s.offDiag = s ×ˢ s
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝ : DecidableEq α
s t : Finset α
x : α × α
⊢ s.diag ∪ s.offDiag = filter (fun a => a.1 = a.2) (s ×ˢ s) ∪ filter (fun a => ¬a.1 = a.2) (s ×ˢ s)

tactic: rfl
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝ : DecidableEq α
s t : Finset α
x : α × α
⊢ s.diag ∪ s.offDiag = filter (fun a => a.1 = a.2) (s ×ˢ s) ∪ filter (fun a => ¬a.1 = a.2) (s ×ˢ s)
state_after: no goals
Theorem: CategoryTheory.MorphismProperty.epimorphisms.iff
File: Mathlib/CategoryTheory/MorphismProperty/Basic.lean

tactic: rfl
state_before: C : Type u
inst✝¹ : Category.{v, u} C
D : Type u_1
inst✝ : Category.{?u.27029, u_1} D
X Y : C
f : X ⟶ Y
⊢ epimorphisms C f ↔ Epi f
state_after: no goals
Theorem: AlgebraicTopology.DoldKan.PInfty_f_comp_QInfty_f
File: Mathlib/AlgebraicTopology/DoldKan/PInfty.lean

tactic: dsimp only [QInfty]
state_before: C : Type u_1
inst✝¹ : Category.{u_2, u_1} C
inst✝ : Preadditive C
X : SimplicialObject C
n : ℕ
⊢ PInfty.f n ≫ QInfty.f n = 0
state_after: C : Type u_1
inst✝¹ : Category.{u_2, u_1} C
inst✝ : Preadditive C
X : SimplicialObject C
n : ℕ
⊢ PInfty.f n ≫ (𝟙 K[X] - PInfty).f n = 0

tactic: simp only [HomologicalComplex.sub_f_apply, HomologicalComplex.id_f, comp_sub, comp_id,
  PInfty_f_idem, sub_self]
state_before: C : Type u_1
inst✝¹ : Category.{u_2, u_1} C
inst✝ : Preadditive C
X : SimplicialObject C
n : ℕ
⊢ PInfty.f n ≫ (𝟙 K[X] - PInfty).f n = 0
state_after: no goals
Theorem: BoxIntegral.Box.exists_seq_mono_tendsto
File: Mathlib/Analysis/BoxIntegral/Box/Basic.lean

tactic: choose a b ha_anti hb_mono ha_mem hb_mem hab ha_tendsto hb_tendsto using
  fun i ↦ exists_seq_strictAnti_strictMono_tendsto (I.lower_lt_upper i)
state_before: ι : Type u_1
I✝ J : Box ι
x y : ι → ℝ
I : Box ι
⊢ ∃ J,
    (∀ (n : ℕ), Box.Icc (J n) ⊆ Box.Ioo I) ∧
      Tendsto (lower ∘ ⇑J) atTop (𝓝 I.lower) ∧ Tendsto (upper ∘ ⇑J) atTop (𝓝 I.upper)
state_after: ι : Type u_1
I✝ J : Box ι
x y : ι → ℝ
I : Box ι
a b : ι → ℕ → ℝ
ha_anti : ∀ (i : ι), StrictAnti (a i)
hb_mono : ∀ (i : ι), StrictMono (b i)
ha_mem : ∀ (i : ι) (k : ℕ), a i k ∈ Ioo (I.lower i) (I.upper i)
hb_mem : ∀ (i : ι) (l : ℕ), b i l ∈ Ioo (I.lower i) (I.upper i)
hab : ∀ (i : ι) (k l : ℕ), a i k < b i l
ha_tendsto : ∀ (i : ι), Tendsto (a i) atTop (𝓝 (I.lower i))
hb_tendsto : ∀ (i : ι), Tendsto (b i) atTop (𝓝 (I.upper i))
⊢ ∃ J,
    (∀ (n : ℕ), Box.Icc (J n) ⊆ Box.Ioo I) ∧
      Tendsto (lower ∘ ⇑J) atTop (𝓝 I.lower) ∧ Tendsto (upper ∘ ⇑J) atTop (𝓝 I.upper)

tactic: exact
  ⟨⟨fun k ↦ ⟨flip a k, flip b k, fun i ↦ hab _ _ _⟩, fun k l hkl ↦
      le_iff_bounds.2 ⟨fun i ↦ (ha_anti i).antitone hkl, fun i ↦ (hb_mono i).monotone hkl⟩⟩,
    fun n x hx i _ ↦ ⟨(ha_mem _ _).1.trans_le (hx.1 _), (hx.2 _).trans_lt (hb_mem _ _).2⟩,
    tendsto_pi_nhds.2 ha_tendsto, tendsto_pi_nhds.2 hb_tendsto⟩
state_before: ι : Type u_1
I✝ J : Box ι
x y : ι → ℝ
I : Box ι
a b : ι → ℕ → ℝ
ha_anti : ∀ (i : ι), StrictAnti (a i)
hb_mono : ∀ (i : ι), StrictMono (b i)
ha_mem : ∀ (i : ι) (k : ℕ), a i k ∈ Ioo (I.lower i) (I.upper i)
hb_mem : ∀ (i : ι) (l : ℕ), b i l ∈ Ioo (I.lower i) (I.upper i)
hab : ∀ (i : ι) (k l : ℕ), a i k < b i l
ha_tendsto : ∀ (i : ι), Tendsto (a i) atTop (𝓝 (I.lower i))
hb_tendsto : ∀ (i : ι), Tendsto (b i) atTop (𝓝 (I.upper i))
⊢ ∃ J,
    (∀ (n : ℕ), Box.Icc (J n) ⊆ Box.Ioo I) ∧
      Tendsto (lower ∘ ⇑J) atTop (𝓝 I.lower) ∧ Tendsto (upper ∘ ⇑J) atTop (𝓝 I.upper)
state_after: no goals
Theorem: MeasureTheory.pdf_of_not_aemeasurable
File: Mathlib/Probability/Density.lean

tactic: rw [pdf_def, map_of_not_aemeasurable hX]
state_before: Ω : Type u_1
E : Type u_2
inst✝ : MeasurableSpace E
x✝ : MeasurableSpace Ω
ℙ : Measure Ω
μ : Measure E
X : Ω → E
hX : ¬AEMeasurable X ℙ
⊢ pdf X ℙ μ =ᶠ[ae μ] 0
state_after: Ω : Type u_1
E : Type u_2
inst✝ : MeasurableSpace E
x✝ : MeasurableSpace Ω
ℙ : Measure Ω
μ : Measure E
X : Ω → E
hX : ¬AEMeasurable X ℙ
⊢ rnDeriv 0 μ =ᶠ[ae μ] 0

tactic: exact rnDeriv_zero μ
state_before: Ω : Type u_1
E : Type u_2
inst✝ : MeasurableSpace E
x✝ : MeasurableSpace Ω
ℙ : Measure Ω
μ : Measure E
X : Ω → E
hX : ¬AEMeasurable X ℙ
⊢ rnDeriv 0 μ =ᶠ[ae μ] 0
state_after: no goals