1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: ContinuousAffineMap.coe_contLinear_eq_linear
File: Mathlib/Analysis/NormedSpace/ContinuousAffineMap.lean

tactic: ext
state_before: 𝕜 : Type u_1
R : Type u_2
V : Type u_3
W : Type u_4
W₂ : Type u_5
P : Type u_6
Q : Type u_7
Q₂ : Type u_8
inst✝¹⁶ : NormedAddCommGroup V
inst✝¹⁵ : MetricSpace P
inst✝¹⁴ : NormedAddTorsor V P
inst✝¹³ : NormedAddCommGroup W
inst✝¹² : MetricSpace Q
inst✝¹¹ : NormedAddTorsor W Q
inst✝¹⁰ : NormedAddCommGroup W₂
inst✝⁹ : MetricSpace Q₂
inst✝⁸ : NormedAddTorsor W₂ Q₂
inst✝⁷ : NormedField R
inst✝⁶ : NormedSpace R V
inst✝⁵ : NormedSpace R W
inst✝⁴ : NormedSpace R W₂
inst✝³ : NontriviallyNormedField 𝕜
inst✝² : NormedSpace 𝕜 V
inst✝¹ : NormedSpace 𝕜 W
inst✝ : NormedSpace 𝕜 W₂
f : P →ᴬ[R] Q
⊢ ↑f.contLinear = f.linear
state_after: case h
𝕜 : Type u_1
R : Type u_2
V : Type u_3
W : Type u_4
W₂ : Type u_5
P : Type u_6
Q : Type u_7
Q₂ : Type u_8
inst✝¹⁶ : NormedAddCommGroup V
inst✝¹⁵ : MetricSpace P
inst✝¹⁴ : NormedAddTorsor V P
inst✝¹³ : NormedAddCommGroup W
inst✝¹² : MetricSpace Q
inst✝¹¹ : NormedAddTorsor W Q
inst✝¹⁰ : NormedAddCommGroup W₂
inst✝⁹ : MetricSpace Q₂
inst✝⁸ : NormedAddTorsor W₂ Q₂
inst✝⁷ : NormedField R
inst✝⁶ : NormedSpace R V
inst✝⁵ : NormedSpace R W
inst✝⁴ : NormedSpace R W₂
inst✝³ : NontriviallyNormedField 𝕜
inst✝² : NormedSpace 𝕜 V
inst✝¹ : NormedSpace 𝕜 W
inst✝ : NormedSpace 𝕜 W₂
f : P →ᴬ[R] Q
x✝ : V
⊢ ↑f.contLinear x✝ = f.linear x✝

tactic: rfl
state_before: case h
𝕜 : Type u_1
R : Type u_2
V : Type u_3
W : Type u_4
W₂ : Type u_5
P : Type u_6
Q : Type u_7
Q₂ : Type u_8
inst✝¹⁶ : NormedAddCommGroup V
inst✝¹⁵ : MetricSpace P
inst✝¹⁴ : NormedAddTorsor V P
inst✝¹³ : NormedAddCommGroup W
inst✝¹² : MetricSpace Q
inst✝¹¹ : NormedAddTorsor W Q
inst✝¹⁰ : NormedAddCommGroup W₂
inst✝⁹ : MetricSpace Q₂
inst✝⁸ : NormedAddTorsor W₂ Q₂
inst✝⁷ : NormedField R
inst✝⁶ : NormedSpace R V
inst✝⁵ : NormedSpace R W
inst✝⁴ : NormedSpace R W₂
inst✝³ : NontriviallyNormedField 𝕜
inst✝² : NormedSpace 𝕜 V
inst✝¹ : NormedSpace 𝕜 W
inst✝ : NormedSpace 𝕜 W₂
f : P →ᴬ[R] Q
x✝ : V
⊢ ↑f.contLinear x✝ = f.linear x✝
state_after: no goals
Theorem: Profinite.NobelingProof.contained_eq_proj
File: Mathlib/Topology/Category/Profinite/Nobeling.lean

tactic: simp [π, Bool.not_eq_false] at this
state_before: I : Type u
inst✝¹ : LinearOrder I
inst✝ : IsWellOrder I fun x x_1 => x < x_1
C : Set (I → Bool)
o : Ordinal.{u}
h : contained C o
this : (∀ (i : I), ∀ x ∈ C, x i ≠ false → ord I i < o) → (π C fun x => ord I x < o) = C
⊢ C = π C fun x => ord I x < o
state_after: I : Type u
inst✝¹ : LinearOrder I
inst✝ : IsWellOrder I fun x x_1 => x < x_1
C : Set (I → Bool)
o : Ordinal.{u}
h : contained C o
this : (∀ (i : I), ∀ x ∈ C, x i = true → ord I i < o) → (Proj fun x => ord I x < o) '' C = C
⊢ C = π C fun x => ord I x < o

tactic: exact (this (fun i x hx ↦ h x hx i)).symm
state_before: I : Type u
inst✝¹ : LinearOrder I
inst✝ : IsWellOrder I fun x x_1 => x < x_1
C : Set (I → Bool)
o : Ordinal.{u}
h : contained C o
this : (∀ (i : I), ∀ x ∈ C, x i = true → ord I i < o) → (Proj fun x => ord I x < o) '' C = C
⊢ C = π C fun x => ord I x < o
state_after: no goals
Theorem: Set.union_iInter₂
File: Mathlib/Data/Set/Lattice.lean

tactic: simp_rw [union_iInter]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
ι' : Sort u_5
ι₂ : Sort u_6
κ : ι → Sort u_7
κ₁ : ι → Sort u_8
κ₂ : ι → Sort u_9
κ' : ι' → Sort u_10
s : Set α
t : (i : ι) → κ i → Set α
⊢ s ∪ ⋂ i, ⋂ j, t i j = ⋂ i, ⋂ j, s ∪ t i j
state_after: no goals
Theorem: Vector.comp_traverse
File: Mathlib/Data/Vector/Basic.lean

tactic: induction' x with n x xs ih
state_before: n : ℕ
F G : Type u → Type u
inst✝³ : Applicative F
inst✝² : Applicative G
inst✝¹ : LawfulApplicative F
inst✝ : LawfulApplicative G
α β γ : Type u
f : β → F γ
g : α → G β
x : Vector α n
⊢ Vector.traverse (Comp.mk ∘ Functor.map f ∘ g) x = Comp.mk (Vector.traverse f <$> Vector.traverse g x)
state_after: case nil
n : ℕ
F G : Type u → Type u
inst✝³ : Applicative F
inst✝² : Applicative G
inst✝¹ : LawfulApplicative F
inst✝ : LawfulApplicative G
α β γ : Type u
f : β → F γ
g : α → G β
⊢ Vector.traverse (Comp.mk ∘ Functor.map f ∘ g) nil = Comp.mk (Vector.traverse f <$> Vector.traverse g nil)

case cons
n✝ : ℕ
F G : Type u → Type u
inst✝³ : Applicative F
inst✝² : Applicative G
inst✝¹ : LawfulApplicative F
inst✝ : LawfulApplicative G
α β γ : Type u
f : β → F γ
g : α → G β
n : ℕ
x : α
xs : Vector α n
ih : Vector.traverse (Comp.mk ∘ Functor.map f ∘ g) xs = Comp.mk (Vector.traverse f <$> Vector.traverse g xs)
⊢ Vector.traverse (Comp.mk ∘ Functor.map f ∘ g) (x ::ᵥ xs) =
    Comp.mk (Vector.traverse f <$> Vector.traverse g (x ::ᵥ xs))

tactic: simp! [cast, *, functor_norm]
state_before: case nil
n : ℕ
F G : Type u → Type u
inst✝³ : Applicative F
inst✝² : Applicative G
inst✝¹ : LawfulApplicative F
inst✝ : LawfulApplicative G
α β γ : Type u
f : β → F γ
g : α → G β
⊢ Vector.traverse (Comp.mk ∘ Functor.map f ∘ g) nil = Comp.mk (Vector.traverse f <$> Vector.traverse g nil)
state_after: case nil
n : ℕ
F G : Type u → Type u
inst✝³ : Applicative F
inst✝² : Applicative G
inst✝¹ : LawfulApplicative F
inst✝ : LawfulApplicative G
α β γ : Type u
f : β → F γ
g : α → G β
⊢ pure nil = Comp.mk (pure (pure nil))

tactic: rfl
state_before: case nil
n : ℕ
F G : Type u → Type u
inst✝³ : Applicative F
inst✝² : Applicative G
inst✝¹ : LawfulApplicative F
inst✝ : LawfulApplicative G
α β γ : Type u
f : β → F γ
g : α → G β
⊢ pure nil = Comp.mk (pure (pure nil))
state_after: no goals

tactic: rw [Vector.traverse_def, ih]
state_before: case cons
n✝ : ℕ
F G : Type u → Type u
inst✝³ : Applicative F
inst✝² : Applicative G
inst✝¹ : LawfulApplicative F
inst✝ : LawfulApplicative G
α β γ : Type u
f : β → F γ
g : α → G β
n : ℕ
x : α
xs : Vector α n
ih : Vector.traverse (Comp.mk ∘ Functor.map f ∘ g) xs = Comp.mk (Vector.traverse f <$> Vector.traverse g xs)
⊢ Vector.traverse (Comp.mk ∘ Functor.map f ∘ g) (x ::ᵥ xs) =
    Comp.mk (Vector.traverse f <$> Vector.traverse g (x ::ᵥ xs))
state_after: case cons
n✝ : ℕ
F G : Type u → Type u
inst✝³ : Applicative F
inst✝² : Applicative G
inst✝¹ : LawfulApplicative F
inst✝ : LawfulApplicative G
α β γ : Type u
f : β → F γ
g : α → G β
n : ℕ
x : α
xs : Vector α n
ih : Vector.traverse (Comp.mk ∘ Functor.map f ∘ g) xs = Comp.mk (Vector.traverse f <$> Vector.traverse g xs)
⊢ (Seq.seq (cons <$> (Comp.mk ∘ Functor.map f ∘ g) x) fun x => Comp.mk (Vector.traverse f <$> Vector.traverse g xs)) =
    Comp.mk (Vector.traverse f <$> Vector.traverse g (x ::ᵥ xs))
Theorem: Vector.mOfFn_pure
File: Mathlib/Data/Vector/Basic.lean

tactic: rw [mOfFn, @mOfFn_pure m _ _ _ n _, ofFn]
state_before: n✝ : ℕ
α✝ : Type u_1
m : Type u_2 → Type u_3
inst✝¹ : Monad m
inst✝ : LawfulMonad m
α : Type u_2
n : ℕ
f : Fin (n + 1) → α
⊢ (mOfFn fun i => pure (f i)) = pure (ofFn f)
state_after: n✝ : ℕ
α✝ : Type u_1
m : Type u_2 → Type u_3
inst✝¹ : Monad m
inst✝ : LawfulMonad m
α : Type u_2
n : ℕ
f : Fin (n + 1) → α
⊢ (do
      let a ← pure (f 0)
      let v ← pure (ofFn fun i => f i.succ)
      pure (a ::ᵥ v)) =
    pure (f 0 ::ᵥ ofFn fun i => f i.succ)

tactic: simp
state_before: n✝ : ℕ
α✝ : Type u_1
m : Type u_2 → Type u_3
inst✝¹ : Monad m
inst✝ : LawfulMonad m
α : Type u_2
n : ℕ
f : Fin (n + 1) → α
⊢ (do
      let a ← pure (f 0)
      let v ← pure (ofFn fun i => f i.succ)
      pure (a ::ᵥ v)) =
    pure (f 0 ::ᵥ ofFn fun i => f i.succ)
state_after: no goals
Theorem: CauSeq.lt_total
File: Mathlib/Algebra/Order/CauSeq/Basic.lean

tactic: rwa [neg_sub] at h
state_before: α : Type u_1
β : Type u_2
inst✝ : LinearOrderedField α
f g : CauSeq α abs
h✝ : (g - f).LimZero ∨ (-(g - f)).Pos
h : (-(g - f)).Pos
⊢ g < f
state_after: no goals
Theorem: sdiff_le_sdiff_of_sup_le_sup_right
File: Mathlib/Order/Heyting/Basic.lean

tactic: rw [← sup_sdiff_right_self, ← @sup_sdiff_right_self _ _ b]
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
inst✝ : GeneralizedCoheytingAlgebra α
a b c d : α
h : a ⊔ c ≤ b ⊔ c
⊢ a \ c ≤ b \ c
state_after: ι : Type u_1
α : Type u_2
β : Type u_3
inst✝ : GeneralizedCoheytingAlgebra α
a b c d : α
h : a ⊔ c ≤ b ⊔ c
⊢ (a ⊔ c) \ c ≤ (b ⊔ c) \ c

tactic: exact sdiff_le_sdiff_right h
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
inst✝ : GeneralizedCoheytingAlgebra α
a b c d : α
h : a ⊔ c ≤ b ⊔ c
⊢ (a ⊔ c) \ c ≤ (b ⊔ c) \ c
state_after: no goals
Theorem: Real.coe_sqrt
File: Mathlib/Data/Real/Sqrt.lean

tactic: rw [Real.sqrt, Real.toNNReal_coe]
state_before: x✝ y : ℝ
x : ℝ≥0
⊢ ↑(NNReal.sqrt x) = √↑x
state_after: no goals
Theorem: Polynomial.rootSet_def
File: Mathlib/Algebra/Polynomial/Roots.lean

tactic: rw [rootSet]
state_before: R : Type u
S✝ : Type v
T : Type w
a b : R
n : ℕ
inst✝⁶ : CommRing R
inst✝⁵ : IsDomain R
p✝ q : R[X]
inst✝⁴ : CommRing T
p : T[X]
S : Type u_1
inst✝³ : CommRing S
inst✝² : IsDomain S
inst✝¹ : Algebra T S
inst✝ : DecidableEq S
⊢ p.rootSet S = ↑(p.aroots S).toFinset
state_after: R : Type u
S✝ : Type v
T : Type w
a b : R
n : ℕ
inst✝⁶ : CommRing R
inst✝⁵ : IsDomain R
p✝ q : R[X]
inst✝⁴ : CommRing T
p : T[X]
S : Type u_1
inst✝³ : CommRing S
inst✝² : IsDomain S
inst✝¹ : Algebra T S
inst✝ : DecidableEq S
⊢ ↑(p.aroots S).toFinset = ↑(p.aroots S).toFinset

tactic: convert rfl
state_before: R : Type u
S✝ : Type v
T : Type w
a b : R
n : ℕ
inst✝⁶ : CommRing R
inst✝⁵ : IsDomain R
p✝ q : R[X]
inst✝⁴ : CommRing T
p : T[X]
S : Type u_1
inst✝³ : CommRing S
inst✝² : IsDomain S
inst✝¹ : Algebra T S
inst✝ : DecidableEq S
⊢ ↑(p.aroots S).toFinset = ↑(p.aroots S).toFinset
state_after: no goals
Theorem: continuousAt_iff_continuous_left_right
File: Mathlib/Topology/Order/LeftRight.lean

tactic: simp only [ContinuousWithinAt, ContinuousAt, ← tendsto_sup, nhds_left_sup_nhds_right]
state_before: α : Type u_1
β : Type u_2
inst✝² : TopologicalSpace α
inst✝¹ : LinearOrder α
inst✝ : TopologicalSpace β
a : α
f : α → β
⊢ ContinuousAt f a ↔ ContinuousWithinAt f (Iic a) a ∧ ContinuousWithinAt f (Ici a) a
state_after: no goals
Theorem: NNReal.geom_mean_le_arith_mean_weighted
File: Mathlib/Analysis/MeanInequalities.lean

tactic: assumption_mod_cast
state_before: ι : Type u
s : Finset ι
w z : ι → ℝ≥0
hw' : ∑ i ∈ s, w i = 1
⊢ ∑ i ∈ s, ↑(w i) = 1
state_after: no goals
Theorem: le_inv
File: Mathlib/Algebra/Order/Field/Basic.lean

tactic: rw [← inv_le_inv (inv_pos.2 hb) ha, inv_inv]
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
inst✝ : LinearOrderedSemifield α
a b c d e : α
m n : ℤ
ha : 0 < a
hb : 0 < b
⊢ a ≤ b⁻¹ ↔ b ≤ a⁻¹
state_after: no goals
Theorem: MvPolynomial.constantCoeff_monomial
File: Mathlib/Algebra/MvPolynomial/Basic.lean

tactic: rw [constantCoeff_eq, coeff_monomial]
state_before: R : Type u
S₁ : Type v
S₂ : Type w
S₃ : Type x
σ : Type u_1
a a' a₁ a₂ : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝² : CommSemiring R
inst✝¹ : CommSemiring S₁
p q : MvPolynomial σ R
inst✝ : DecidableEq σ
d : σ →₀ ℕ
r : R
⊢ constantCoeff ((monomial d) r) = if d = 0 then r else 0
state_after: no goals
Theorem: Set.preimage_range_inter
File: Mathlib/Data/Set/Image.lean

tactic: rw [inter_comm, preimage_inter_range]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
ι' : Sort u_5
f✝ : ι → α
s✝ t : Set α
f : α → β
s : Set β
⊢ f ⁻¹' (range f ∩ s) = f ⁻¹' s
state_after: no goals
Theorem: AddCommGrp.Colimits.quot_neg
File: Mathlib/Algebra/Category/Grp/Colimits.lean

tactic: exact Quot.mk Setoid.r (neg x)
state_before: J : Type u
inst✝ : Category.{v, u} J
F : J ⥤ AddCommGrp
x : ?m.15044
⊢ ColimitType F
state_after: no goals

tactic: exact Quot.mk Setoid.r x
state_before: J : Type u
inst✝ : Category.{v, u} J
F : J ⥤ AddCommGrp
x : Prequotient F
⊢ ColimitType F
state_after: no goals
Theorem: Fin.foldl_loop_lt
File: .lake/packages/batteries/Batteries/Data/Fin/Lemmas.lean

tactic: rw [foldl.loop, dif_pos h]
state_before: α : Sort u_1
n m : Nat
f : α → Fin n → α
x : α
h : m < n
⊢ foldl.loop n f x m = foldl.loop n f (f x ⟨m, h⟩) (m + 1)
state_after: no goals
Theorem: LieAlgebra.subsingleton_of_hasTrivialRadical_lie_abelian
File: Mathlib/Algebra/Lie/Semisimple/Basic.lean

tactic: rw [isLieAbelian_iff_center_eq_top R L, HasTrivialRadical.center_eq_bot] at h
state_before: R : Type u_1
L : Type u_2
inst✝³ : CommRing R
inst✝² : LieRing L
inst✝¹ : LieAlgebra R L
inst✝ : HasTrivialRadical R L
h : IsLieAbelian L
⊢ Subsingleton L
state_after: R : Type u_1
L : Type u_2
inst✝³ : CommRing R
inst✝² : LieRing L
inst✝¹ : LieAlgebra R L
inst✝ : HasTrivialRadical R L
h : ⊥ = ⊤
⊢ Subsingleton L

tactic: exact (LieSubmodule.subsingleton_iff R L L).mp (subsingleton_of_bot_eq_top h)
state_before: R : Type u_1
L : Type u_2
inst✝³ : CommRing R
inst✝² : LieRing L
inst✝¹ : LieAlgebra R L
inst✝ : HasTrivialRadical R L
h : ⊥ = ⊤
⊢ Subsingleton L
state_after: no goals
Theorem: Continuous.mulIndicator
File: Mathlib/Topology/ContinuousOn.lean

tactic: classical exact hf.piecewise hs continuous_const
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝⁵ : TopologicalSpace α
ι : Type u_5
π : ι → Type u_6
inst✝⁴ : (i : ι) → TopologicalSpace (π i)
inst✝³ : TopologicalSpace β
inst✝² : TopologicalSpace γ
inst✝¹ : TopologicalSpace δ
inst✝ : One β
f : α → β
s : Set α
hs : ∀ a ∈ frontier s, f a = 1
hf : Continuous f
⊢ Continuous (s.mulIndicator f)
state_after: no goals

tactic: exact hf.piecewise hs continuous_const
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝⁵ : TopologicalSpace α
ι : Type u_5
π : ι → Type u_6
inst✝⁴ : (i : ι) → TopologicalSpace (π i)
inst✝³ : TopologicalSpace β
inst✝² : TopologicalSpace γ
inst✝¹ : TopologicalSpace δ
inst✝ : One β
f : α → β
s : Set α
hs : ∀ a ∈ frontier s, f a = 1
hf : Continuous f
⊢ Continuous (s.mulIndicator f)
state_after: no goals
Theorem: Primrec.vector_tail
File: Mathlib/Computability/Primrec.lean

tactic: cases l <;> rfl
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
σ : Type u_4
inst✝³ : Primcodable α
inst✝² : Primcodable β
inst✝¹ : Primcodable γ
inst✝ : Primcodable σ
n : ℕ
x✝ : Vector α n
l : List α
h : l.length = n
⊢ (Vector.toList ⟨l, h⟩).tail = (Vector.tail ⟨l, h⟩).toList
state_after: no goals
Theorem: ProbabilityTheory.isFiniteKernel_of_le
File: Mathlib/Probability/Kernel/Basic.lean

tactic: refine ⟨hν.bound, hν.bound_lt_top, fun a ↦ (hκν _ _).trans (kernel.measure_le_bound ν a Set.univ)⟩
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
κ ν : ↥(kernel α β)
hν : IsFiniteKernel ν
hκν : κ ≤ ν
⊢ IsFiniteKernel κ
state_after: no goals
Theorem: Matrix.cons_dotProduct_cons
File: Mathlib/Data/Matrix/Notation.lean

tactic: simp
state_before: α : Type u
o n m : ℕ
m' : Type uₘ
n' : Type uₙ
o' : Type uₒ
a b : ℕ
inst✝¹ : AddCommMonoid α
inst✝ : Mul α
x : α
v : Fin n → α
y : α
w : Fin n → α
⊢ vecCons x v ⬝ᵥ vecCons y w = x * y + v ⬝ᵥ w
state_after: no goals
Theorem: CircleDeg1Lift.iterate_pos_le_iff
File: Mathlib/Dynamics/Circle/RotationNumber/TranslationNumber.lean

tactic: simpa only [nsmul_eq_mul, add_right_iterate] using
  (f.commute_add_int m).iterate_pos_le_iff_map_le f.monotone (strictMono_id.add_const (m : ℝ)) hn
state_before: f g : CircleDeg1Lift
x : ℝ
m : ℤ
n : ℕ
hn : 0 < n
⊢ (⇑f)^[n] x ≤ x + ↑n * ↑m ↔ f x ≤ x + ↑m
state_after: no goals
Theorem: Fin.comp_tail
File: Mathlib/Data/Fin/Tuple/Basic.lean

tactic: ext j
state_before: m n : ℕ
α✝ : Fin (n + 1) → Type u
x : α✝ 0
q✝ : (i : Fin (n + 1)) → α✝ i
p : (i : Fin n) → α✝ i.succ
i : Fin n
y : α✝ i.succ
z : α✝ 0
α : Type u_1
β : Type u_2
g : α → β
q : Fin n.succ → α
⊢ g ∘ tail q = tail (g ∘ q)
state_after: case h
m n : ℕ
α✝ : Fin (n + 1) → Type u
x : α✝ 0
q✝ : (i : Fin (n + 1)) → α✝ i
p : (i : Fin n) → α✝ i.succ
i : Fin n
y : α✝ i.succ
z : α✝ 0
α : Type u_1
β : Type u_2
g : α → β
q : Fin n.succ → α
j : Fin n
⊢ (g ∘ tail q) j = tail (g ∘ q) j

tactic: simp [tail]
state_before: case h
m n : ℕ
α✝ : Fin (n + 1) → Type u
x : α✝ 0
q✝ : (i : Fin (n + 1)) → α✝ i
p : (i : Fin n) → α✝ i.succ
i : Fin n
y : α✝ i.succ
z : α✝ 0
α : Type u_1
β : Type u_2
g : α → β
q : Fin n.succ → α
j : Fin n
⊢ (g ∘ tail q) j = tail (g ∘ q) j
state_after: no goals
Theorem: padicNorm.nonzero
File: Mathlib/NumberTheory/Padics/PadicNorm.lean

tactic: rw [padicNorm.eq_zpow_of_nonzero hq]
state_before: p : ℕ
hp : Fact (Nat.Prime p)
q : ℚ
hq : q ≠ 0
⊢ padicNorm p q ≠ 0
state_after: p : ℕ
hp : Fact (Nat.Prime p)
q : ℚ
hq : q ≠ 0
⊢ ↑p ^ (-padicValRat p q) ≠ 0

tactic: apply zpow_ne_zero
state_before: p : ℕ
hp : Fact (Nat.Prime p)
q : ℚ
hq : q ≠ 0
⊢ ↑p ^ (-padicValRat p q) ≠ 0
state_after: case a
p : ℕ
hp : Fact (Nat.Prime p)
q : ℚ
hq : q ≠ 0
⊢ ↑p ≠ 0

tactic: exact mod_cast ne_of_gt hp.1.pos
state_before: case a
p : ℕ
hp : Fact (Nat.Prime p)
q : ℚ
hq : q ≠ 0
⊢ ↑p ≠ 0
state_after: no goals
Theorem: norm_iteratedFDeriv_zero
File: Mathlib/Analysis/Calculus/ContDiff/Defs.lean

tactic: rw [iteratedFDeriv_zero_eq_comp, comp_apply, LinearIsometryEquiv.norm_map]
state_before: 𝕜 : Type u
inst✝⁸ : NontriviallyNormedField 𝕜
E : Type uE
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
F : Type uF
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
G : Type uG
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
X : Type uX
inst✝¹ : NormedAddCommGroup X
inst✝ : NormedSpace 𝕜 X
s s₁ t u : Set E
f f₁ : E → F
g : F → G
x x₀ : E
c : F
m n : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
⊢ ‖iteratedFDeriv 𝕜 0 f x‖ = ‖f x‖
state_after: no goals
Theorem: Complex.ofReal_mul
File: Mathlib/Data/Complex/Basic.lean

tactic: simp [ofReal']
state_before: r s : ℝ
⊢ (↑(r * s)).re = (↑r * ↑s).re ∧ (↑(r * s)).im = (↑r * ↑s).im
state_after: no goals
Theorem: List.Nat.antidiagonal_succ_succ'
File: Mathlib/Data/List/NatAntidiagonal.lean

tactic: rw [antidiagonal_succ']
state_before: n : ℕ
⊢ antidiagonal (n + 2) = (0, n + 2) :: map (Prod.map succ succ) (antidiagonal n) ++ [(n + 2, 0)]
state_after: n : ℕ
⊢ map (Prod.map id succ) (antidiagonal (n + 1)) ++ [(n + 1 + 1, 0)] =
    (0, n + 2) :: map (Prod.map succ succ) (antidiagonal n) ++ [(n + 2, 0)]

tactic: simp only [antidiagonal_succ, map_cons, Prod.map_apply, id_eq, map_map, cons_append, cons.injEq,
  append_cancel_right_eq, true_and]
state_before: n : ℕ
⊢ map (Prod.map id succ) (antidiagonal (n + 1)) ++ [(n + 1 + 1, 0)] =
    (0, n + 2) :: map (Prod.map succ succ) (antidiagonal n) ++ [(n + 2, 0)]
state_after: n : ℕ
⊢ map (Prod.map id succ ∘ Prod.map succ id) (antidiagonal n) = map (Prod.map succ succ) (antidiagonal n)

tactic: ext
state_before: n : ℕ
⊢ map (Prod.map id succ ∘ Prod.map succ id) (antidiagonal n) = map (Prod.map succ succ) (antidiagonal n)
state_after: case h.a
n n✝ : ℕ
a✝ : ℕ × ℕ
⊢ a✝ ∈ (map (Prod.map id succ ∘ Prod.map succ id) (antidiagonal n))[n✝]? ↔
    a✝ ∈ (map (Prod.map succ succ) (antidiagonal n))[n✝]?

tactic: simp
state_before: case h.a
n n✝ : ℕ
a✝ : ℕ × ℕ
⊢ a✝ ∈ (map (Prod.map id succ ∘ Prod.map succ id) (antidiagonal n))[n✝]? ↔
    a✝ ∈ (map (Prod.map succ succ) (antidiagonal n))[n✝]?
state_after: no goals
Theorem: CategoryTheory.ComposableArrows.Precomp.map_zero_zero
File: Mathlib/CategoryTheory/ComposableArrows.lean

tactic: simp
state_before: C : Type u_1
inst✝ : Category.{?u.94705, u_1} C
n m : ℕ
F G : ComposableArrows C n
X : C
f : X ⟶ F.left
⊢ 0 ≤ 0
state_after: no goals
Theorem: MeasureTheory.SimpleFunc.restrict_apply
File: Mathlib/MeasureTheory/Function/SimpleFunc.lean

tactic: simp only [f.coe_restrict hs]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝¹ : MeasurableSpace α
K : Type u_5
inst✝ : Zero β
f : α →ₛ β
s : Set α
hs : MeasurableSet s
a : α
⊢ ↑(f.restrict s) a = s.indicator (↑f) a
state_after: no goals
Theorem: CochainComplex.cochainComplex_d_succ_succ_zero
File: Mathlib/Algebra/Homology/Augment.lean

tactic: rw [C.shape]
state_before: V : Type u
inst✝¹ : Category.{v, u} V
inst✝ : HasZeroMorphisms V
C : CochainComplex V ℕ
i : ℕ
⊢ C.d 0 (i + 2) = 0
state_after: case a
V : Type u
inst✝¹ : Category.{v, u} V
inst✝ : HasZeroMorphisms V
C : CochainComplex V ℕ
i : ℕ
⊢ ¬(ComplexShape.up ℕ).Rel 0 (i + 2)

tactic: simp only [ComplexShape.up_Rel, zero_add]
state_before: case a
V : Type u
inst✝¹ : Category.{v, u} V
inst✝ : HasZeroMorphisms V
C : CochainComplex V ℕ
i : ℕ
⊢ ¬(ComplexShape.up ℕ).Rel 0 (i + 2)
state_after: case a
V : Type u
inst✝¹ : Category.{v, u} V
inst✝ : HasZeroMorphisms V
C : CochainComplex V ℕ
i : ℕ
⊢ ¬1 = i + 2

tactic: exact (Nat.one_lt_succ_succ _).ne
state_before: case a
V : Type u
inst✝¹ : Category.{v, u} V
inst✝ : HasZeroMorphisms V
C : CochainComplex V ℕ
i : ℕ
⊢ ¬1 = i + 2
state_after: no goals
Theorem: hasSum_geometric_of_norm_lt_one
File: Mathlib/Analysis/SpecificLimits/Normed.lean

tactic: have xi_ne_one : ξ ≠ 1 := by
  contrapose! h
  simp [h]
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
K : Type u_4
inst✝ : NormedDivisionRing K
ξ : K
h : ‖ξ‖ < 1
⊢ HasSum (fun n => ξ ^ n) (1 - ξ)⁻¹
state_after: α : Type u_1
β : Type u_2
ι : Type u_3
K : Type u_4
inst✝ : NormedDivisionRing K
ξ : K
h : ‖ξ‖ < 1
xi_ne_one : ξ ≠ 1
⊢ HasSum (fun n => ξ ^ n) (1 - ξ)⁻¹

tactic: have A : Tendsto (fun n ↦ (ξ ^ n - 1) * (ξ - 1)⁻¹) atTop (𝓝 ((0 - 1) * (ξ - 1)⁻¹)) :=
  ((tendsto_pow_atTop_nhds_zero_of_norm_lt_one h).sub tendsto_const_nhds).mul tendsto_const_nhds
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
K : Type u_4
inst✝ : NormedDivisionRing K
ξ : K
h : ‖ξ‖ < 1
xi_ne_one : ξ ≠ 1
⊢ HasSum (fun n => ξ ^ n) (1 - ξ)⁻¹
state_after: α : Type u_1
β : Type u_2
ι : Type u_3
K : Type u_4
inst✝ : NormedDivisionRing K
ξ : K
h : ‖ξ‖ < 1
xi_ne_one : ξ ≠ 1
A : Tendsto (fun n => (ξ ^ n - 1) * (ξ - 1)⁻¹) atTop (𝓝 ((0 - 1) * (ξ - 1)⁻¹))
⊢ HasSum (fun n => ξ ^ n) (1 - ξ)⁻¹

tactic: rw [hasSum_iff_tendsto_nat_of_summable_norm]
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
K : Type u_4
inst✝ : NormedDivisionRing K
ξ : K
h : ‖ξ‖ < 1
xi_ne_one : ξ ≠ 1
A : Tendsto (fun n => (ξ ^ n - 1) * (ξ - 1)⁻¹) atTop (𝓝 ((0 - 1) * (ξ - 1)⁻¹))
⊢ HasSum (fun n => ξ ^ n) (1 - ξ)⁻¹
state_after: α : Type u_1
β : Type u_2
ι : Type u_3
K : Type u_4
inst✝ : NormedDivisionRing K
ξ : K
h : ‖ξ‖ < 1
xi_ne_one : ξ ≠ 1
A : Tendsto (fun n => (ξ ^ n - 1) * (ξ - 1)⁻¹) atTop (𝓝 ((0 - 1) * (ξ - 1)⁻¹))
⊢ Tendsto (fun n => ∑ i ∈ Finset.range n, ξ ^ i) atTop (𝓝 (1 - ξ)⁻¹)

α : Type u_1
β : Type u_2
ι : Type u_3
K : Type u_4
inst✝ : NormedDivisionRing K
ξ : K
h : ‖ξ‖ < 1
xi_ne_one : ξ ≠ 1
A : Tendsto (fun n => (ξ ^ n - 1) * (ξ - 1)⁻¹) atTop (𝓝 ((0 - 1) * (ξ - 1)⁻¹))
⊢ Summable fun i => ‖ξ ^ i‖

tactic: contrapose! h
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
K : Type u_4
inst✝ : NormedDivisionRing K
ξ : K
h : ‖ξ‖ < 1
⊢ ξ ≠ 1
state_after: α : Type u_1
β : Type u_2
ι : Type u_3
K : Type u_4
inst✝ : NormedDivisionRing K
ξ : K
h : ξ = 1
⊢ 1 ≤ ‖ξ‖

tactic: simp [h]
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
K : Type u_4
inst✝ : NormedDivisionRing K
ξ : K
h : ξ = 1
⊢ 1 ≤ ‖ξ‖
state_after: no goals

tactic: simpa [geom_sum_eq, xi_ne_one, neg_inv, div_eq_mul_inv] using A
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
K : Type u_4
inst✝ : NormedDivisionRing K
ξ : K
h : ‖ξ‖ < 1
xi_ne_one : ξ ≠ 1
A : Tendsto (fun n => (ξ ^ n - 1) * (ξ - 1)⁻¹) atTop (𝓝 ((0 - 1) * (ξ - 1)⁻¹))
⊢ Tendsto (fun n => ∑ i ∈ Finset.range n, ξ ^ i) atTop (𝓝 (1 - ξ)⁻¹)
state_after: no goals

tactic: simp [norm_pow, summable_geometric_of_lt_one (norm_nonneg _) h]
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
K : Type u_4
inst✝ : NormedDivisionRing K
ξ : K
h : ‖ξ‖ < 1
xi_ne_one : ξ ≠ 1
A : Tendsto (fun n => (ξ ^ n - 1) * (ξ - 1)⁻¹) atTop (𝓝 ((0 - 1) * (ξ - 1)⁻¹))
⊢ Summable fun i => ‖ξ ^ i‖
state_after: no goals
Theorem: affineIndependent_iff_not_finrank_vectorSpan_le
File: Mathlib/LinearAlgebra/AffineSpace/FiniteDimensional.lean

tactic: rw [affineIndependent_iff_le_finrank_vectorSpan k p hc, ← Nat.lt_iff_add_one_le, lt_iff_not_ge]
state_before: k : Type u_1
V : Type u_2
P : Type u_3
ι : Type u_4
inst✝⁴ : DivisionRing k
inst✝³ : AddCommGroup V
inst✝² : Module k V
inst✝¹ : AffineSpace V P
inst✝ : Fintype ι
p : ι → P
n : ℕ
hc : Fintype.card ι = n + 2
⊢ AffineIndependent k p ↔ ¬finrank k ↥(vectorSpan k (Set.range p)) ≤ n
state_after: no goals
Theorem: Hyperreal.isSt_iff_abs_sub_lt_delta
File: Mathlib/Data/Real/Hyperreal.lean

tactic: simp only [abs_sub_lt_iff, sub_lt_iff_lt_add, IsSt, and_comm, add_comm]
state_before: x : ℝ*
r : ℝ
⊢ x.IsSt r ↔ ∀ (δ : ℝ), 0 < δ → |x - ↑r| < ↑δ
state_after: no goals