tasksource/leandojo huggingface dataset:
Theorem: Dfinsupp.single_tsub
File: Mathlib/Data/Dfinsupp/Order.lean

tactic: ext j
state_before: ι : Type u_1
α : ι → Type u_2
inst✝³ : (i : ι) → CanonicallyOrderedAddMonoid (α i)
inst✝² : (i : ι) → Sub (α i)
inst✝¹ : ∀ (i : ι), OrderedSub (α i)
f g : Π₀ (i : ι), α i
i : ι
a b : α i
inst✝ : DecidableEq ι
⊢ single i (a - b) = single i a - single i b

tactic: obtain rfl | h := eq_or_ne i j
state_before: case h
ι : Type u_1
α : ι → Type u_2
inst✝³ : (i : ι) → CanonicallyOrderedAddMonoid (α i)
inst✝² : (i : ι) → Sub (α i)
inst✝¹ : ∀ (i : ι), OrderedSub (α i)
f g : Π₀ (i : ι), α i
i : ι
a b : α i
inst✝ : DecidableEq ι
j : ι
⊢ ↑(single i (a - b)) j = ↑(single i a - single i b) j

tactic: rw [tsub_apply, single_eq_same, single_eq_same, single_eq_same]
state_before: case h.inl
ι : Type u_1
α : ι → Type u_2
inst✝³ : (i : ι) → CanonicallyOrderedAddMonoid (α i)
inst✝² : (i : ι) → Sub (α i)
inst✝¹ : ∀ (i : ι), OrderedSub (α i)
f g : Π₀ (i : ι), α i
i : ι
a b : α i
inst✝ : DecidableEq ι
⊢ ↑(single i (a - b)) i = ↑(single i a - single i b) i

tactic: rw [tsub_apply, single_eq_of_ne h, single_eq_of_ne h, single_eq_of_ne h, tsub_self]
state_before: case h.inr
ι : Type u_1
α : ι → Type u_2
inst✝³ : (i : ι) → CanonicallyOrderedAddMonoid (α i)
inst✝² : (i : ι) → Sub (α i)
inst✝¹ : ∀ (i : ι), OrderedSub (α i)
f g : Π₀ (i : ι), α i
i : ι
a b : α i
inst✝ : DecidableEq ι
j : ι
h : i ≠ j
⊢ ↑(single i (a - b)) j = ↑(single i a - single i b) j
Theorem: toIcoDiv_apply_right
File: Mathlib/Algebra/Order/ToIntervalMod.lean

tactic: simp [hp]
state_before: α : Type u_1
inst✝ : LinearOrderedAddCommGroup α
hα : Archimedean α
p : α
hp : 0 < p
a✝ b c : α
n : ℤ
a : α
⊢ a + p - 1 • p ∈ Set.Ico a (a + p)
Theorem: Traversable.naturality'
File: Mathlib/Control/Traversable/Lemmas.lean

tactic: simp [sequence, naturality, traverse_map]
state_before: t : Type u → Type u
inst✝⁵ : Traversable t
inst✝⁴ : IsLawfulTraversable t
F G : Type u → Type u
inst✝³ : Applicative F
inst✝² : LawfulApplicative F
inst✝¹ : Applicative G
inst✝ : LawfulApplicative G
α β γ : Type u
g : α → F β
h : β → G γ
f : β → γ
x✝ : t β
η : ApplicativeTransformation F G
x : t (F α)
⊢ (fun {α} => ApplicativeTransformation.app η α) (sequence x) =
    sequence ((fun {α} => ApplicativeTransformation.app η α) <$> x)
Theorem: Set.infsep_pair_le_toReal_inf
File: Mathlib/Topology/MetricSpace/Infsep.lean

tactic: simp_rw [infsep, einfsep_pair_eq_inf hxy]
state_before: α : Type u_1
β : Type ?u.56359
inst✝ : EDist α
x y : α
s : Set α
hxy : x ≠ y
⊢ infsep {x, y} ≤ ENNReal.toReal (edist x y ⊓ edist y x)

tactic: simp
state_before: α : Type u_1
β : Type ?u.56359
inst✝ : EDist α
x y : α
s : Set α
hxy : x ≠ y
⊢ ENNReal.toReal (edist x y ⊓ edist y x) ≤ ENNReal.toReal (edist x y ⊓ edist y x)
Theorem: Int.toNat_lt_toNat
File: Mathlib/Data/Int/Order/Basic.lean

tactic: cases a
state_before: a✝ b✝ : ℤ
n : ℕ
a b : ℤ
hb : 0 < b
h : toNat a < toNat b
⊢ a < b

tactic: exact lt_toNat.1 h
state_before: case ofNat
a b✝ : ℤ
n : ℕ
b : ℤ
hb : 0 < b
a✝ : ℕ
h : toNat (ofNat a✝) < toNat b
⊢ ofNat a✝ < b

case negSucc
a b✝ : ℤ
n : ℕ
b : ℤ
hb : 0 < b
a✝ : ℕ
h : toNat -[a✝+1] < toNat b
⊢ -[a✝+1] < b

tactic: exact lt_trans (neg_of_sign_eq_neg_one rfl) hb
state_before: case negSucc
a b✝ : ℤ
n : ℕ
b : ℤ
hb : 0 < b
a✝ : ℕ
h : toNat -[a✝+1] < toNat b
⊢ -[a✝+1] < b

tactic: rw [lt_toNat]
state_before: a✝ b✝ : ℤ
n : ℕ
a b : ℤ
hb : 0 < b
h : a < b
⊢ toNat a < toNat b

tactic: cases a
state_before: a✝ b✝ : ℤ
n : ℕ
a b : ℤ
hb : 0 < b
h : a < b
⊢ ↑(toNat a) < b

tactic: exact h
state_before: case ofNat
a b✝ : ℤ
n : ℕ
b : ℤ
hb : 0 < b
a✝ : ℕ
h : ofNat a✝ < b
⊢ ↑(toNat (ofNat a✝)) < b

case negSucc
a b✝ : ℤ
n : ℕ
b : ℤ
hb : 0 < b
a✝ : ℕ
h : -[a✝+1] < b
⊢ ↑(toNat -[a✝+1]) < b

tactic: exact hb
state_before: case negSucc
a b✝ : ℤ
n : ℕ
b : ℤ
hb : 0 < b
a✝ : ℕ
h : -[a✝+1] < b
⊢ ↑(toNat -[a✝+1]) < b
Theorem: Ideal.mem_colon_singleton
File: Mathlib/RingTheory/Ideal/Operations.lean

tactic: simp only [← Ideal.submodule_span_eq, Submodule.mem_colon_singleton, smul_eq_mul]
state_before: R : Type u
M : Type v
F : Type ?u.199912
G : Type ?u.199915
inst✝² : CommRing R
inst✝¹ : AddCommGroup M
inst✝ : Module R M
N N₁ N₂ P P₁ P₂ : Submodule R M
I : Ideal R
x r : R
⊢ r ∈ colon I (Ideal.span {x}) ↔ r * x ∈ I
Theorem: expSeries_radius_pos
File: Mathlib/Analysis/NormedSpace/Exponential.lean

tactic: rw [expSeries_radius_eq_top]
state_before: 𝕂 : Type u_1
𝔸 : Type u_2
𝔹 : Type ?u.338474
inst✝⁴ : IsROrC 𝕂
inst✝³ : NormedRing 𝔸
inst✝² : NormedAlgebra 𝕂 𝔸
inst✝¹ : NormedRing 𝔹
inst✝ : NormedAlgebra 𝕂 𝔹
⊢ 0 < FormalMultilinearSeries.radius (expSeries 𝕂 𝔸)

tactic: exact WithTop.zero_lt_top
state_before: 𝕂 : Type u_1
𝔸 : Type u_2
𝔹 : Type ?u.338474
inst✝⁴ : IsROrC 𝕂
inst✝³ : NormedRing 𝔸
inst✝² : NormedAlgebra 𝕂 𝔸
inst✝¹ : NormedRing 𝔹
inst✝ : NormedAlgebra 𝕂 𝔹
⊢ 0 < ⊤
Theorem: List.Ico.pairwise_lt
File: Mathlib/Data/List/Intervals.lean

tactic: dsimp [Ico]
state_before: n m : ℕ
⊢ Pairwise (fun x x_1 => x < x_1) (Ico n m)

tactic: simp only [pairwise_lt_range']
state_before: n m : ℕ
⊢ Pairwise (fun x x_1 => x < x_1) (range' n (m - n))
Theorem: List.rel_perm_imp
File: Mathlib/Data/List/Perm.lean

tactic: rwa [← forall₂_comp_perm_eq_perm_comp_forall₂, ← Relation.comp_assoc] at this
state_before: α : Type uu
β : Type vv
l₁ l₂ : List α
γ : Type ?u.39471
δ : Type ?u.39474
r : α → β → Prop
p : γ → δ → Prop
hr : RightUnique r
a : List α
b : List β
h₁ : Forall₂ r a b
c : List α
d : List β
h₂ : Forall₂ r c d
h : a ~ c
this : (flip (Forall₂ r) ∘r Perm ∘r Forall₂ r) b d
⊢ ((flip (Forall₂ r) ∘r Forall₂ r) ∘r Perm) b d
Theorem: Set.diff_iUnion
File: Mathlib/Data/Set/Lattice.lean

tactic: rw [diff_eq, compl_iUnion, inter_iInter]
state_before: α : Type ?u.72035
β : Type u_2
γ : Type ?u.72041
ι : Sort u_1
ι' : Sort ?u.72047
ι₂ : Sort ?u.72050
κ : ι → Sort ?u.72055
κ₁ : ι → Sort ?u.72060
κ₂ : ι → Sort ?u.72065
κ' : ι' → Sort ?u.72070
inst✝ : Nonempty ι
s : Set β
t : ι → Set β
⊢ (s \ ⋃ (i : ι), t i) = ⋂ (i : ι), s \ t i

tactic: rfl
state_before: α : Type ?u.72035
β : Type u_2
γ : Type ?u.72041
ι : Sort u_1
ι' : Sort ?u.72047
ι₂ : Sort ?u.72050
κ : ι → Sort ?u.72055
κ₁ : ι → Sort ?u.72060
κ₂ : ι → Sort ?u.72065
κ' : ι' → Sort ?u.72070
inst✝ : Nonempty ι
s : Set β
t : ι → Set β
⊢ (⋂ (i : ι), s ∩ t iᶜ) = ⋂ (i : ι), s \ t i
Theorem: Polynomial.gcd_map
File: Mathlib/Data/Polynomial/FieldDivision.lean

tactic: simp_rw [Polynomial.map_zero, EuclideanDomain.gcd_zero_left]
state_before: R : Type u
S : Type v
k : Type y
A : Type z
a b : R
n : ℕ
inst✝¹ : Field R
p q : R[X]
inst✝ : Field k
f : R →+* k
x : R[X]
⊢ EuclideanDomain.gcd (map f 0) (map f x) = map f (EuclideanDomain.gcd 0 x)

tactic: rw [gcd_val, ← map_mod, ih, ← gcd_val]
state_before: R : Type u
S : Type v
k : Type y
A : Type z
a b : R
n : ℕ
inst✝¹ : Field R
p q : R[X]
inst✝ : Field k
f : R →+* k
x y : R[X]
x✝ : x ≠ 0
ih : EuclideanDomain.gcd (map f (y % x)) (map f x) = map f (EuclideanDomain.gcd (y % x) x)
⊢ EuclideanDomain.gcd (map f x) (map f y) = map f (EuclideanDomain.gcd x y)
Theorem: Complex.continuous_sin
File: Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean

tactic: change Continuous fun z => (exp (-z * I) - exp (z * I)) * I / 2
state_before: ⊢ Continuous sin

tactic: continuity
state_before: ⊢ Continuous fun z => (exp (-z * I) - exp (z * I)) * I / 2
Theorem: Submonoid.iSup_induction
File: Mathlib/GroupTheory/Submonoid/Membership.lean

tactic: rw [iSup_eq_closure] at hx
state_before: M : Type u_2
A : Type ?u.46357
B : Type ?u.46360
inst✝ : MulOneClass M
ι : Sort u_1
S : ι → Submonoid M
C : M → Prop
x : M
hx : x ∈ ⨆ (i : ι), S i
hp : ∀ (i : ι) (x : M), x ∈ S i → C x
h1 : C 1
hmul : ∀ (x y : M), C x → C y → C (x * y)
⊢ C x

tactic: refine closure_induction hx (fun x hx => ?_) h1 hmul
state_before: M : Type u_2
A : Type ?u.46357
B : Type ?u.46360
inst✝ : MulOneClass M
ι : Sort u_1
S : ι → Submonoid M
C : M → Prop
x : M
hx : x ∈ closure (⋃ (i : ι), ↑(S i))
hp : ∀ (i : ι) (x : M), x ∈ S i → C x
h1 : C 1
hmul : ∀ (x y : M), C x → C y → C (x * y)
⊢ C x

tactic: obtain ⟨i, hi⟩ := Set.mem_iUnion.mp hx
state_before: M : Type u_2
A : Type ?u.46357
B : Type ?u.46360
inst✝ : MulOneClass M
ι : Sort u_1
S : ι → Submonoid M
C : M → Prop
x✝ : M
hx✝ : x✝ ∈ closure (⋃ (i : ι), ↑(S i))
hp : ∀ (i : ι) (x : M), x ∈ S i → C x
h1 : C 1
hmul : ∀ (x y : M), C x → C y → C (x * y)
x : M
hx : x ∈ ⋃ (i : ι), ↑(S i)
⊢ C x

tactic: exact hp _ _ hi
state_before: case intro
M : Type u_2
A : Type ?u.46357
B : Type ?u.46360
inst✝ : MulOneClass M
ι : Sort u_1
S : ι → Submonoid M
C : M → Prop
x✝ : M
hx✝ : x✝ ∈ closure (⋃ (i : ι), ↑(S i))
hp : ∀ (i : ι) (x : M), x ∈ S i → C x
h1 : C 1
hmul : ∀ (x y : M), C x → C y → C (x * y)
x : M
hx : x ∈ ⋃ (i : ι), ↑(S i)
i : ι
hi : x ∈ ↑(S i)
⊢ C x
Theorem: MeasureTheory.OuterMeasure.comap_iInf
File: Mathlib/MeasureTheory/Measure/OuterMeasure.lean

tactic: refine' ext_nonempty fun s hs => _
state_before: α : Type u_3
ι : Sort u_1
β : Type u_2
f : α → β
m : ι → OuterMeasure β
⊢ ↑(comap f) (⨅ (i : ι), m i) = ⨅ (i : ι), ↑(comap f) (m i)

tactic: refine' ((comap_mono f).map_iInf_le s).antisymm _
state_before: α : Type u_3
ι : Sort u_1
β : Type u_2
f : α → β
m : ι → OuterMeasure β
s : Set α
hs : Set.Nonempty s
⊢ ↑(↑(comap f) (⨅ (i : ι), m i)) s = ↑(⨅ (i : ι), ↑(comap f) (m i)) s

tactic: simp only [comap_apply, iInf_apply' _ hs, iInf_apply' _ (hs.image _), le_iInf_iff,
  Set.image_subset_iff, preimage_iUnion]
state_before: α : Type u_3
ι : Sort u_1
β : Type u_2
f : α → β
m : ι → OuterMeasure β
s : Set α
hs : Set.Nonempty s
⊢ ↑(⨅ (i : ι), ↑(comap f) (m i)) s ≤ ↑(↑(comap f) (⨅ (i : ι), m i)) s

tactic: refine' fun t ht => iInf_le_of_le _ (iInf_le_of_le ht <| ENNReal.tsum_le_tsum fun k => _)
state_before: α : Type u_3
ι : Sort u_1
β : Type u_2
f : α → β
m : ι → OuterMeasure β
s : Set α
hs : Set.Nonempty s
⊢ ∀ (i : ℕ → Set β),
    (s ⊆ ⋃ (i_1 : ℕ), f ⁻¹' i i_1) →
      (⨅ (t : ℕ → Set α) (_ : s ⊆ iUnion t), ∑' (n : ℕ), ⨅ (i : ι), ↑(m i) (f '' t n)) ≤
        ∑' (n : ℕ), ⨅ (i_2 : ι), ↑(m i_2) (i n)

tactic: exact iInf_mono fun i => (m i).mono (image_preimage_subset _ _)
state_before: α : Type u_3
ι : Sort u_1
β : Type u_2
f : α → β
m : ι → OuterMeasure β
s : Set α
hs : Set.Nonempty s
t : ℕ → Set β
ht : s ⊆ ⋃ (i : ℕ), f ⁻¹' t i
k : ℕ
⊢ (⨅ (i : ι), ↑(m i) (f '' (f ⁻¹' t k))) ≤ ⨅ (i : ι), ↑(m i) (t k)
Theorem: Set.image_update_Icc
File: Mathlib/Data/Set/Intervals/Pi.lean

tactic: ext x
state_before: ι : Type u_1
α : ι → Type u_2
inst✝¹ : DecidableEq ι
inst✝ : (i : ι) → PartialOrder (α i)
f : (i : ι) → α i
i : ι
a b : α i
⊢ update f i '' Icc a b = Icc (update f i a) (update f i b)

tactic: rw [← Set.pi_univ_Icc]
state_before: case h
ι : Type u_1
α : ι → Type u_2
inst✝¹ : DecidableEq ι
inst✝ : (i : ι) → PartialOrder (α i)
f : (i : ι) → α i
i : ι
a b : α i
x : (a : ι) → α a
⊢ x ∈ update f i '' Icc a b ↔ x ∈ Icc (update f i a) (update f i b)

tactic: refine' ⟨_, fun h => ⟨x i, _, _⟩⟩
state_before: case h
ι : Type u_1
α : ι → Type u_2
inst✝¹ : DecidableEq ι
inst✝ : (i : ι) → PartialOrder (α i)
f : (i : ι) → α i
i : ι
a b : α i
x : (a : ι) → α a
⊢ x ∈ update f i '' Icc a b ↔ x ∈ pi univ fun i_1 => Icc (update f i a i_1) (update f i b i_1)

tactic: rintro ⟨c, hc, rfl⟩
state_before: case h.refine'_1
ι : Type u_1
α : ι → Type u_2
inst✝¹ : DecidableEq ι
inst✝ : (i : ι) → PartialOrder (α i)
f : (i : ι) → α i
i : ι
a b : α i
x : (a : ι) → α a
⊢ x ∈ update f i '' Icc a b → x ∈ pi univ fun i_1 => Icc (update f i a i_1) (update f i b i_1)

tactic: simpa [update_le_update_iff]
state_before: case h.refine'_1.intro.intro
ι : Type u_1
α : ι → Type u_2
inst✝¹ : DecidableEq ι
inst✝ : (i : ι) → PartialOrder (α i)
f : (i : ι) → α i
i : ι
a b c : α i
hc : c ∈ Icc a b
⊢ update f i c ∈ pi univ fun i_1 => Icc (update f i a i_1) (update f i b i_1)

tactic: simpa only [Function.update_same] using h i (mem_univ i)
state_before: case h.refine'_2
ι : Type u_1
α : ι → Type u_2
inst✝¹ : DecidableEq ι
inst✝ : (i : ι) → PartialOrder (α i)
f : (i : ι) → α i
i : ι
a b : α i
x : (a : ι) → α a
h : x ∈ pi univ fun i_1 => Icc (update f i a i_1) (update f i b i_1)
⊢ x i ∈ Icc a b

tactic: ext j
state_before: case h.refine'_3
ι : Type u_1
α : ι → Type u_2
inst✝¹ : DecidableEq ι
inst✝ : (i : ι) → PartialOrder (α i)
f : (i : ι) → α i
i : ι
a b : α i
x : (a : ι) → α a
h : x ∈ pi univ fun i_1 => Icc (update f i a i_1) (update f i b i_1)
⊢ update f i (x i) = x

tactic: obtain rfl | hij := eq_or_ne i j
state_before: case h.refine'_3.h
ι : Type u_1
α : ι → Type u_2
inst✝¹ : DecidableEq ι
inst✝ : (i : ι) → PartialOrder (α i)
f : (i : ι) → α i
i : ι
a b : α i
x : (a : ι) → α a
h : x ∈ pi univ fun i_1 => Icc (update f i a i_1) (update f i b i_1)
j : ι
⊢ update f i (x i) j = x j

tactic: exact Function.update_same _ _ _
state_before: case h.refine'_3.h.inl
ι : Type u_1
α : ι → Type u_2
inst✝¹ : DecidableEq ι
inst✝ : (i : ι) → PartialOrder (α i)
f : (i : ι) → α i
i : ι
a b : α i
x : (a : ι) → α a
h : x ∈ pi univ fun i_1 => Icc (update f i a i_1) (update f i b i_1)
⊢ update f i (x i) i = x i

tactic: simpa only [Function.update_noteq hij.symm, le_antisymm_iff] using h j (mem_univ j)
state_before: case h.refine'_3.h.inr
ι : Type u_1
α : ι → Type u_2
inst✝¹ : DecidableEq ι
inst✝ : (i : ι) → PartialOrder (α i)
f : (i : ι) → α i
i : ι
a b : α i
x : (a : ι) → α a
h : x ∈ pi univ fun i_1 => Icc (update f i a i_1) (update f i b i_1)
j : ι
hij : i ≠ j
⊢ update f i (x i) j = x j
Theorem: LinearMap.zero_mem_polar
File: Mathlib/Analysis/LocallyConvex/Polar.lean

tactic: simp only [map_zero, norm_zero, zero_le_one]
state_before: 𝕜 : Type u_3
E : Type u_1
F : Type u_2
inst✝⁴ : NormedCommRing 𝕜
inst✝³ : AddCommMonoid E
inst✝² : AddCommMonoid F
inst✝¹ : Module 𝕜 E
inst✝ : Module 𝕜 F
B : E →ₗ[𝕜] F →ₗ[𝕜] 𝕜
s : Set E
x✝¹ : E
x✝ : x✝¹ ∈ s
⊢ ‖↑(↑B x✝¹) 0‖ ≤ 1
Theorem: LinearPMap.eq_of_eq_graph
File: Mathlib/LinearAlgebra/LinearPMap.lean

tactic: refine ext (Submodule.ext fun x => ?_) (fun x y h' => ?_)
state_before: R : Type u_1
inst✝⁹ : Ring R
E : Type u_2
inst✝⁸ : AddCommGroup E
inst✝⁷ : Module R E
F : Type u_3
inst✝⁶ : AddCommGroup F
inst✝⁵ : Module R F
G : Type ?u.613202
inst✝⁴ : AddCommGroup G
inst✝³ : Module R G
M : Type ?u.613718
inst✝² : Monoid M
inst✝¹ : DistribMulAction M F
inst✝ : SMulCommClass R M F
y : M
f g : E →ₗ.[R] F
h : graph f = graph g
⊢ f = g

tactic: exact mem_domain_iff_of_eq_graph h
state_before: case refine_1
R : Type u_1
inst✝⁹ : Ring R
E : Type u_2
inst✝⁸ : AddCommGroup E
inst✝⁷ : Module R E
F : Type u_3
inst✝⁶ : AddCommGroup F
inst✝⁵ : Module R F
G : Type ?u.613202
inst✝⁴ : AddCommGroup G
inst✝³ : Module R G
M : Type ?u.613718
inst✝² : Monoid M
inst✝¹ : DistribMulAction M F
inst✝ : SMulCommClass R M F
y : M
f g : E →ₗ.[R] F
h : graph f = graph g
x : E
⊢ x ∈ f.domain ↔ x ∈ g.domain

case refine_2
R : Type u_1
inst✝⁹ : Ring R
E : Type u_2
inst✝⁸ : AddCommGroup E
inst✝⁷ : Module R E
F : Type u_3
inst✝⁶ : AddCommGroup F
inst✝⁵ : Module R F
G : Type ?u.613202
inst✝⁴ : AddCommGroup G
inst✝³ : Module R G
M : Type ?u.613718
inst✝² : Monoid M
inst✝¹ : DistribMulAction M F
inst✝ : SMulCommClass R M F
y✝ : M
f g : E →ₗ.[R] F
h : graph f = graph g
x : { x // x ∈ f.domain }
y : { x // x ∈ g.domain }
h' : ↑x = ↑y
⊢ ↑f x = ↑g y

tactic: exact (le_of_le_graph h.le).2 h'
state_before: case refine_2
R : Type u_1
inst✝⁹ : Ring R
E : Type u_2
inst✝⁸ : AddCommGroup E
inst✝⁷ : Module R E
F : Type u_3
inst✝⁶ : AddCommGroup F
inst✝⁵ : Module R F
G : Type ?u.613202
inst✝⁴ : AddCommGroup G
inst✝³ : Module R G
M : Type ?u.613718
inst✝² : Monoid M
inst✝¹ : DistribMulAction M F
inst✝ : SMulCommClass R M F
y✝ : M
f g : E →ₗ.[R] F
h : graph f = graph g
x : { x // x ∈ f.domain }
y : { x // x ∈ g.domain }
h' : ↑x = ↑y
⊢ ↑f x = ↑g y
Theorem: iteratedFDeriv_eq_equiv_comp
File: Mathlib/Analysis/Calculus/IteratedDeriv.lean

tactic: rw [iteratedDeriv_eq_equiv_comp, ← Function.comp.assoc, LinearIsometryEquiv.self_comp_symm,
  Function.left_id]
state_before: 𝕜 : Type u_1
inst✝⁴ : NontriviallyNormedField 𝕜
F : Type u_2
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
E : Type ?u.95354
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
n : ℕ
f : 𝕜 → F
s : Set 𝕜
x : 𝕜
⊢ iteratedFDeriv 𝕜 n f = ↑(ContinuousMultilinearMap.piFieldEquiv 𝕜 (Fin n) F) ∘ iteratedDeriv n f
Theorem: TopCat.Presheaf.isSheaf_unit
File: Mathlib/Topology/Sheaves/Sheaf.lean

tactic: aesop_cat
state_before: C : Type u
inst✝ : Category C
X : TopCat
F✝ : Presheaf C X
ι : Type v
U✝ : ι → Opens ↑X
F : Presheaf (Discrete Unit) X
x✝² : Discrete Unit
U : Opens ↑X
S : Sieve U
x✝¹ : S ∈ GrothendieckTopology.sieves (Opens.grothendieckTopology ↑X) U
x : Presieve.FamilyOfElements (F ⋙ coyoneda.obj x✝².op) S.arrows
x✝ : Presieve.FamilyOfElements.Compatible x
⊢ (fun t => Presieve.FamilyOfElements.IsAmalgamation x t) (eqToHom (_ : x✝².op.unop = F.obj U.op))

tactic: aesop_cat
state_before: C : Type u
inst✝ : Category C
X : TopCat
F✝ : Presheaf C X
ι : Type v
U✝ : ι → Opens ↑X
F : Presheaf (Discrete Unit) X
x✝³ : Discrete Unit
U : Opens ↑X
S : Sieve U
x✝² : S ∈ GrothendieckTopology.sieves (Opens.grothendieckTopology ↑X) U
x : Presieve.FamilyOfElements (F ⋙ coyoneda.obj x✝³.op) S.arrows
x✝¹ : Presieve.FamilyOfElements.Compatible x
x✝ : (F ⋙ coyoneda.obj x✝³.op).obj U.op
⊢ (fun t => Presieve.FamilyOfElements.IsAmalgamation x t) x✝ → x✝ = eqToHom (_ : x✝³.op.unop = F.obj U.op)
Theorem: Module.End.exp_ne_zero_of_hasGeneralizedEigenvalue
File: Mathlib/LinearAlgebra/Eigenspace/Basic.lean

tactic: rintro rfl
state_before: K R : Type v
V M : Type w
inst✝⁵ : CommRing R
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : Field K
inst✝¹ : AddCommGroup V
inst✝ : Module K V
f : End R M
μ : R
k : ℕ
h : HasGeneralizedEigenvalue f μ k
⊢ k ≠ 0

tactic: exact h LinearMap.ker_id
state_before: K R : Type v
V M : Type w
inst✝⁵ : CommRing R
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : Field K
inst✝¹ : AddCommGroup V
inst✝ : Module K V
f : End R M
μ : R
h : HasGeneralizedEigenvalue f μ 0
⊢ False
Theorem: MeasureTheory.snormEssSup_indicator_le
File: Mathlib/MeasureTheory/Function/LpSpace.lean

tactic: refine' essSup_mono_ae (eventually_of_forall fun x => _)
state_before: α : Type u_1
E : Type ?u.631037
F : Type ?u.631040
G : Type u_2
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
s✝ : Set α
hs : MeasurableSet s✝
c : E
f✝ : α → E
hf : AEStronglyMeasurable f✝ μ
s : Set α
f : α → G
⊢ snormEssSup (Set.indicator s f) μ ≤ snormEssSup f μ

tactic: rw [ENNReal.coe_le_coe, nnnorm_indicator_eq_indicator_nnnorm]
state_before: α : Type u_1
E : Type ?u.631037
F : Type ?u.631040
G : Type u_2
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
s✝ : Set α
hs : MeasurableSet s✝
c : E
f✝ : α → E
hf : AEStronglyMeasurable f✝ μ
s : Set α
f : α → G
x : α
⊢ (fun x => ↑‖Set.indicator s f x‖₊) x ≤ (fun x => ↑‖f x‖₊) x

tactic: exact Set.indicator_le_self s _ x
state_before: α : Type u_1
E : Type ?u.631037
F : Type ?u.631040
G : Type u_2
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
s✝ : Set α
hs : MeasurableSet s✝
c : E
f✝ : α → E
hf : AEStronglyMeasurable f✝ μ
s : Set α
f : α → G
x : α
⊢ Set.indicator s (fun a => ‖f a‖₊) x ≤ ‖f x‖₊
Theorem: imageToKernel_comp_right
File: Mathlib/Algebra/Homology/ImageToKernel.lean

tactic: simp [reassoc_of% w]
state_before: ι : Type ?u.10958
V : Type u
inst✝³ : Category V
inst✝² : HasZeroMorphisms V
A B C : V
f : A ⟶ B
g : B ⟶ C
inst✝¹ : HasKernels V
inst✝ : HasImages V
D : V
h : C ⟶ D
w : f ≫ g = 0
⊢ f ≫ g ≫ h = 0

tactic: ext
state_before: ι : Type ?u.10958
V : Type u
inst✝³ : Category V
inst✝² : HasZeroMorphisms V
A B C : V
f : A ⟶ B
g : B ⟶ C
inst✝¹ : HasKernels V
inst✝ : HasImages V
D : V
h : C ⟶ D
w : f ≫ g = 0
⊢ imageToKernel f (g ≫ h) (_ : f ≫ g ≫ h = 0) =
    imageToKernel f g w ≫
      Subobject.ofLE (kernelSubobject g) (kernelSubobject (g ≫ h)) (_ : kernelSubobject g ≤ kernelSubobject (g ≫ h))

tactic: simp
state_before: case h
ι : Type ?u.10958
V : Type u
inst✝³ : Category V
inst✝² : HasZeroMorphisms V
A B C : V
f : A ⟶ B
g : B ⟶ C
inst✝¹ : HasKernels V
inst✝ : HasImages V
D : V
h : C ⟶ D
w : f ≫ g = 0
⊢ imageToKernel f (g ≫ h) (_ : f ≫ g ≫ h = 0) ≫ Subobject.arrow (kernelSubobject (g ≫ h)) =
    (imageToKernel f g w ≫
        Subobject.ofLE (kernelSubobject g) (kernelSubobject (g ≫ h))
          (_ : kernelSubobject g ≤ kernelSubobject (g ≫ h))) ≫
      Subobject.arrow (kernelSubobject (g ≫ h))
Theorem: NNReal.summable_iff_not_tendsto_nat_atTop
File: Mathlib/Topology/Instances/ENNReal.lean

tactic: rw [← not_iff_not, Classical.not_not, not_summable_iff_tendsto_nat_atTop]
state_before: α : Type ?u.313966
β : Type ?u.313969
γ : Type ?u.313972
f : ℕ → ℝ≥0
⊢ Summable f ↔ ¬Tendsto (fun n => ∑ i in Finset.range n, f i) atTop atTop
Theorem: wbtw_or_wbtw_smul_vadd_of_nonpos
File: Mathlib/Analysis/Convex/Between.lean

tactic: rcases le_total r₁ r₂ with (h | h)
state_before: R : Type u_1
V : Type u_2
V' : Type ?u.549447
P : Type u_3
P' : Type ?u.549453
inst✝³ : LinearOrderedField R
inst✝² : AddCommGroup V
inst✝¹ : Module R V
inst✝ : AddTorsor V P
x : P
v : V
r₁ r₂ : R
hr₁ : r₁ ≤ 0
hr₂ : r₂ ≤ 0
⊢ Wbtw R x (r₁ • v +ᵥ x) (r₂ • v +ᵥ x) ∨ Wbtw R x (r₂ • v +ᵥ x) (r₁ • v +ᵥ x)

tactic: exact Or.inr (wbtw_smul_vadd_smul_vadd_of_nonpos_of_le x v hr₂ h)
state_before: case inl
R : Type u_1
V : Type u_2
V' : Type ?u.549447
P : Type u_3
P' : Type ?u.549453
inst✝³ : LinearOrderedField R
inst✝² : AddCommGroup V
inst✝¹ : Module R V
inst✝ : AddTorsor V P
x : P
v : V
r₁ r₂ : R
hr₁ : r₁ ≤ 0
hr₂ : r₂ ≤ 0
h : r₁ ≤ r₂
⊢ Wbtw R x (r₁ • v +ᵥ x) (r₂ • v +ᵥ x) ∨ Wbtw R x (r₂ • v +ᵥ x) (r₁ • v +ᵥ x)

tactic: exact Or.inl (wbtw_smul_vadd_smul_vadd_of_nonpos_of_le x v hr₁ h)
state_before: case inr
R : Type u_1
V : Type u_2
V' : Type ?u.549447
P : Type u_3
P' : Type ?u.549453
inst✝³ : LinearOrderedField R
inst✝² : AddCommGroup V
inst✝¹ : Module R V
inst✝ : AddTorsor V P
x : P
v : V
r₁ r₂ : R
hr₁ : r₁ ≤ 0
hr₂ : r₂ ≤ 0
h : r₂ ≤ r₁
⊢ Wbtw R x (r₁ • v +ᵥ x) (r₂ • v +ᵥ x) ∨ Wbtw R x (r₂ • v +ᵥ x) (r₁ • v +ᵥ x)
Theorem: Associates.factors_mk
File: Mathlib/RingTheory/UniqueFactorizationDomain.lean

tactic: classical
  apply dif_neg
  apply mt mk_eq_zero.1 h
state_before: α : Type u_1
inst✝¹ : CancelCommMonoidWithZero α
dec_irr : (p : Associates α) → Decidable (Irreducible p)
inst✝ : UniqueFactorizationMonoid α
dec : DecidableEq α
dec' : DecidableEq (Associates α)
a : α
h : a ≠ 0
⊢ factors (Associates.mk a) = ↑(factors' a)

tactic: apply dif_neg
state_before: α : Type u_1
inst✝¹ : CancelCommMonoidWithZero α
dec_irr : (p : Associates α) → Decidable (Irreducible p)
inst✝ : UniqueFactorizationMonoid α
dec : DecidableEq α
dec' : DecidableEq (Associates α)
a : α
h : a ≠ 0
⊢ factors (Associates.mk a) = ↑(factors' a)

tactic: apply mt mk_eq_zero.1 h
state_before: case hnc
α : Type u_1
inst✝¹ : CancelCommMonoidWithZero α
dec_irr : (p : Associates α) → Decidable (Irreducible p)
inst✝ : UniqueFactorizationMonoid α
dec : DecidableEq α
dec' : DecidableEq (Associates α)
a : α
h : a ≠ 0
⊢ ¬Associates.mk a = 0
Theorem: mem_own_rightCoset
File: Mathlib/GroupTheory/Coset.lean

tactic: simpa
state_before: α : Type u_1
inst✝ : Monoid α
s : Submonoid α
a : α
this : 1 * a ∈ ↑s *r a
⊢ a ∈ ↑s *r a
Theorem: exists_gcd_eq_mul_add_mul
File: Mathlib/RingTheory/PrincipalIdealDomain.lean

tactic: rw [← gcd_dvd_iff_exists]
state_before: R : Type u
M : Type v
inst✝³ : CommRing R
inst✝² : IsDomain R
inst✝¹ : IsPrincipalIdealRing R
inst✝ : GCDMonoid R
a b : R
⊢ ∃ x y, gcd a b = a * x + b * y