tasksource/leandojo huggingface dataset:
Theorem: CategoryTheory.AbelianOfAdjunction.hasKernels
File: Mathlib/CategoryTheory/Abelian/Transfer.lean

tactic: have := NatIso.naturality_1 i f
state_before: C : Type u₁
inst✝⁵ : Category C
inst✝⁴ : Preadditive C
D : Type u₂
inst✝³ : Category D
inst✝² : Abelian D
F : C ⥤ D
G : D ⥤ C
inst✝¹ : Functor.PreservesZeroMorphisms G
i : F ⋙ G ≅ 𝟭 C
adj : G ⊣ F
inst✝ : PreservesFiniteLimits G
X✝ Y✝ : C
f : X✝ ⟶ Y✝
⊢ HasKernel f

tactic: simp at this
state_before: C : Type u₁
inst✝⁵ : Category C
inst✝⁴ : Preadditive C
D : Type u₂
inst✝³ : Category D
inst✝² : Abelian D
F : C ⥤ D
G : D ⥤ C
inst✝¹ : Functor.PreservesZeroMorphisms G
i : F ⋙ G ≅ 𝟭 C
adj : G ⊣ F
inst✝ : PreservesFiniteLimits G
X✝ Y✝ : C
f : X✝ ⟶ Y✝
this : i.inv.app X✝ ≫ (F ⋙ G).map f ≫ i.hom.app Y✝ = (𝟭 C).map f
⊢ HasKernel f

tactic: rw [← this]
state_before: C : Type u₁
inst✝⁵ : Category C
inst✝⁴ : Preadditive C
D : Type u₂
inst✝³ : Category D
inst✝² : Abelian D
F : C ⥤ D
G : D ⥤ C
inst✝¹ : Functor.PreservesZeroMorphisms G
i : F ⋙ G ≅ 𝟭 C
adj : G ⊣ F
inst✝ : PreservesFiniteLimits G
X✝ Y✝ : C
f : X✝ ⟶ Y✝
this : i.inv.app X✝ ≫ G.map (F.map f) ≫ i.hom.app Y✝ = f
⊢ HasKernel f

tactic: haveI : HasKernel (G.map (F.map f) ≫ i.hom.app _) := Limits.hasKernel_comp_mono _ _
state_before: C : Type u₁
inst✝⁵ : Category C
inst✝⁴ : Preadditive C
D : Type u₂
inst✝³ : Category D
inst✝² : Abelian D
F : C ⥤ D
G : D ⥤ C
inst✝¹ : Functor.PreservesZeroMorphisms G
i : F ⋙ G ≅ 𝟭 C
adj : G ⊣ F
inst✝ : PreservesFiniteLimits G
X✝ Y✝ : C
f : X✝ ⟶ Y✝
this : i.inv.app X✝ ≫ G.map (F.map f) ≫ i.hom.app Y✝ = f
⊢ HasKernel (i.inv.app X✝ ≫ G.map (F.map f) ≫ i.hom.app Y✝)

tactic: apply Limits.hasKernel_iso_comp
state_before: C : Type u₁
inst✝⁵ : Category C
inst✝⁴ : Preadditive C
D : Type u₂
inst✝³ : Category D
inst✝² : Abelian D
F : C ⥤ D
G : D ⥤ C
inst✝¹ : Functor.PreservesZeroMorphisms G
i : F ⋙ G ≅ 𝟭 C
adj : G ⊣ F
inst✝ : PreservesFiniteLimits G
X✝ Y✝ : C
f : X✝ ⟶ Y✝
this✝ : i.inv.app X✝ ≫ G.map (F.map f) ≫ i.hom.app Y✝ = f
this : HasKernel (G.map (F.map f) ≫ i.hom.app Y✝)
⊢ HasKernel (i.inv.app X✝ ≫ G.map (F.map f) ≫ i.hom.app Y✝)
Theorem: inf_eq_right
File: Mathlib/Order/Lattice.lean

tactic: simp [le_rfl]
state_before: α : Type u
β : Type v
inst✝ : SemilatticeInf α
a b c d : α
⊢ a ⊓ b ≤ b ∧ b ≤ a ⊓ b ↔ b ≤ a
Theorem: Equiv.Perm.SameCycle.symm
File: Mathlib/GroupTheory/Perm/Cycle/Basic.lean

tactic: rw [zpow_neg, ← hi, inv_apply_self]
state_before: ι : Type ?u.30729
α : Type u_1
β : Type ?u.30735
f g : Perm α
p : α → Prop
x y z : α
x✝ : SameCycle f x y
i : ℤ
hi : ↑(f ^ i) x = y
⊢ ↑(f ^ (-i)) y = x
Theorem: Functor.Comp.comp_map
File: Mathlib/Control/Functor.lean

tactic: simp [Comp.map, Comp.mk, Functor.map_comp_map, functor_norm]
state_before: F : Type u → Type w
G : Type v → Type u
inst✝³ : Functor F
inst✝² : Functor G
inst✝¹ : LawfulFunctor F
inst✝ : LawfulFunctor G
α β γ : Type v
g' : α → β
h : β → γ
x : F (G α)
⊢ Comp.map (h ∘ g') (mk x) = Comp.map h (Comp.map g' (mk x))
Theorem: List.Ico.eq_cons
File: Mathlib/Data/List/Intervals.lean

tactic: rw [← append_consecutive (Nat.le_succ n) h, succ_singleton]
state_before: n m : ℕ
h : n < m
⊢ Ico n m = n :: Ico (n + 1) m

tactic: rfl
state_before: n m : ℕ
h : n < m
⊢ [n] ++ Ico (succ n) m = n :: Ico (n + 1) m
Theorem: LieSubmodule.le_normalizer
File: Mathlib/Algebra/Lie/Normalizer.lean

tactic: intro m hm
state_before: R : Type u_2
L : Type u_3
M : Type u_1
M' : Type ?u.9664
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
N N₁ N₂ : LieSubmodule R L M
⊢ N ≤ normalizer N

tactic: rw [mem_normalizer]
state_before: R : Type u_2
L : Type u_3
M : Type u_1
M' : Type ?u.9664
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
N N₁ N₂ : LieSubmodule R L M
m : M
hm : m ∈ N
⊢ m ∈ normalizer N

tactic: exact fun x => N.lie_mem hm
state_before: R : Type u_2
L : Type u_3
M : Type u_1
M' : Type ?u.9664
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
N N₁ N₂ : LieSubmodule R L M
m : M
hm : m ∈ N
⊢ ∀ (x : L), ⁅x, m⁆ ∈ N
Theorem: QuotientGroup.kerLift_injective
File: Mathlib/GroupTheory/QuotientGroup.lean

tactic: rw [leftRel_apply, mem_ker, φ.map_mul, ← h, φ.map_inv, inv_mul_self]
state_before: G : Type u
inst✝¹ : Group G
N : Subgroup G
nN : Subgroup.Normal N
H : Type v
inst✝ : Group H
φ : G →* H
a✝ b✝ : G ⧸ ker φ
a b : G
h : ↑φ a = ↑φ b
⊢ Setoid.r a b
Theorem: bernsteinPolynomial.iterate_derivative_at_0_ne_zero
File: Mathlib/RingTheory/Polynomial/Bernstein.lean

tactic: simp only [Int.coe_nat_eq_zero, bernsteinPolynomial.iterate_derivative_at_0, Ne.def,
  Nat.cast_eq_zero]
state_before: R : Type u_1
inst✝¹ : CommRing R
inst✝ : CharZero R
n ν : ℕ
h : ν ≤ n
⊢ eval 0 ((↑derivative^[ν]) (bernsteinPolynomial R n ν)) ≠ 0

tactic: simp only [← pochhammer_eval_cast]
state_before: R : Type u_1
inst✝¹ : CommRing R
inst✝ : CharZero R
n ν : ℕ
h : ν ≤ n
⊢ ¬eval (↑(n - (ν - 1))) (pochhammer R ν) = 0

tactic: norm_cast
state_before: R : Type u_1
inst✝¹ : CommRing R
inst✝ : CharZero R
n ν : ℕ
h : ν ≤ n
⊢ ¬↑(eval (n - (ν - 1)) (pochhammer ℕ ν)) = 0

tactic: apply ne_of_gt
state_before: R : Type u_1
inst✝¹ : CommRing R
inst✝ : CharZero R
n ν : ℕ
h : ν ≤ n
⊢ ¬eval (n - (ν - 1)) (pochhammer ℕ ν) = 0

tactic: obtain rfl | h' := Nat.eq_zero_or_pos ν
state_before: case h
R : Type u_1
inst✝¹ : CommRing R
inst✝ : CharZero R
n ν : ℕ
h : ν ≤ n
⊢ 0 < eval (n - (ν - 1)) (pochhammer ℕ ν)

tactic: simp
state_before: case h.inl
R : Type u_1
inst✝¹ : CommRing R
inst✝ : CharZero R
n : ℕ
h : 0 ≤ n
⊢ 0 < eval (n - (0 - 1)) (pochhammer ℕ 0)

tactic: rw [← Nat.succ_pred_eq_of_pos h'] at h
state_before: case h.inr
R : Type u_1
inst✝¹ : CommRing R
inst✝ : CharZero R
n ν : ℕ
h : ν ≤ n
h' : ν > 0
⊢ 0 < eval (n - (ν - 1)) (pochhammer ℕ ν)

tactic: exact pochhammer_pos _ _ (tsub_pos_of_lt (Nat.lt_of_succ_le h))
state_before: case h.inr
R : Type u_1
inst✝¹ : CommRing R
inst✝ : CharZero R
n ν : ℕ
h : Nat.succ (Nat.pred ν) ≤ n
h' : ν > 0
⊢ 0 < eval (n - (ν - 1)) (pochhammer ℕ ν)
Theorem: not_ringChar_dvd_of_invertible
File: Mathlib/Algebra/CharP/Invertible.lean

tactic: rw [← ringChar.spec, ← Ne.def]
state_before: K : Type u_1
inst✝¹ : Field K
t : ℕ
inst✝ : Invertible ↑t
⊢ ¬ringChar K ∣ t

tactic: exact nonzero_of_invertible (t : K)
state_before: K : Type u_1
inst✝¹ : Field K
t : ℕ
inst✝ : Invertible ↑t
⊢ ↑t ≠ 0
Theorem: Basis.constr_comp
File: Mathlib/LinearAlgebra/Basis.lean

tactic: simp only [Basis.constr_basis, LinearMap.comp_apply, Function.comp]
state_before: ι : Type u_4
ι' : Type ?u.538910
R : Type u_1
R₂ : Type ?u.538916
K : Type ?u.538919
M : Type u_3
M' : Type u_2
M'' : Type ?u.538928
V : Type u
V' : Type ?u.538933
inst✝⁷ : Semiring R
inst✝⁶ : AddCommMonoid M
inst✝⁵ : Module R M
inst✝⁴ : AddCommMonoid M'
inst✝³ : Module R M'
b b₁ : Basis ι R M
i✝ : ι
c : R
x : M
S : Type u_5
inst✝² : Semiring S
inst✝¹ : Module S M'
inst✝ : SMulCommClass R S M'
f : M' →ₗ[R] M'
v : ι → M'
i : ι
⊢ ↑(↑(constr b S) (↑f ∘ v)) (↑b i) = ↑(LinearMap.comp f (↑(constr b S) v)) (↑b i)
Theorem: Polynomial.exists_root_of_splits'
File: Mathlib/Data/Polynomial/Splits.lean

tactic: simp [eval₂_eq_eval_map, hf0']
state_before: F : Type u
K : Type v
L : Type w
inst✝² : CommRing K
inst✝¹ : Field L
inst✝ : Field F
i : K →+* L
f : K[X]
hs : Splits i f
hf0 : degree (map i f) ≠ 0
hf0' : map i f = 0
⊢ ∃ x, eval₂ i x f = 0

tactic: rw [← eval_map, hi, eval_mul, show _ = _ from hx, MulZeroClass.zero_mul]
state_before: F : Type u
K : Type v
L : Type w
inst✝² : CommRing K
inst✝¹ : Field L
inst✝ : Field F
i✝ : K →+* L
f : K[X]
hs : Splits i✝ f
hf0 : degree (map i✝ f) ≠ 0
hf0' : ¬map i✝ f = 0
g : L[X]
hg : Irreducible g ∧ g ∣ map i✝ f
x : L
hx : IsRoot g x
i : L[X]
hi : map i✝ f = g * i
⊢ eval₂ i✝ x f = 0
Theorem: Matrix.conjTranspose_tsum
File: Mathlib/Topology/Instances/Matrix.lean

tactic: by_cases hf : Summable f
state_before: X : Type u_4
α : Type ?u.67432
l : Type ?u.67435
m : Type u_2
n : Type u_3
p : Type ?u.67444
S : Type ?u.67447
R : Type u_1
m' : l → Type ?u.67455
n' : l → Type ?u.67460
inst✝⁶ : Semiring α
inst✝⁵ : AddCommMonoid R
inst✝⁴ : TopologicalSpace R
inst✝³ : Module α R
inst✝² : StarAddMonoid R
inst✝¹ : ContinuousStar R
inst✝ : T2Space R
f : X → Matrix m n R
⊢ (∑' (x : X), f x)ᴴ = ∑' (x : X), (f x)ᴴ

tactic: exact hf.hasSum.matrix_conjTranspose.tsum_eq.symm
state_before: case pos
X : Type u_4
α : Type ?u.67432
l : Type ?u.67435
m : Type u_2
n : Type u_3
p : Type ?u.67444
S : Type ?u.67447
R : Type u_1
m' : l → Type ?u.67455
n' : l → Type ?u.67460
inst✝⁶ : Semiring α
inst✝⁵ : AddCommMonoid R
inst✝⁴ : TopologicalSpace R
inst✝³ : Module α R
inst✝² : StarAddMonoid R
inst✝¹ : ContinuousStar R
inst✝ : T2Space R
f : X → Matrix m n R
hf : Summable f
⊢ (∑' (x : X), f x)ᴴ = ∑' (x : X), (f x)ᴴ

tactic: have hft := summable_matrix_conjTranspose.not.mpr hf
state_before: case neg
X : Type u_4
α : Type ?u.67432
l : Type ?u.67435
m : Type u_2
n : Type u_3
p : Type ?u.67444
S : Type ?u.67447
R : Type u_1
m' : l → Type ?u.67455
n' : l → Type ?u.67460
inst✝⁶ : Semiring α
inst✝⁵ : AddCommMonoid R
inst✝⁴ : TopologicalSpace R
inst✝³ : Module α R
inst✝² : StarAddMonoid R
inst✝¹ : ContinuousStar R
inst✝ : T2Space R
f : X → Matrix m n R
hf : ¬Summable f
⊢ (∑' (x : X), f x)ᴴ = ∑' (x : X), (f x)ᴴ

tactic: rw [tsum_eq_zero_of_not_summable hf, tsum_eq_zero_of_not_summable hft, conjTranspose_zero]
state_before: case neg
X : Type u_4
α : Type ?u.67432
l : Type ?u.67435
m : Type u_2
n : Type u_3
p : Type ?u.67444
S : Type ?u.67447
R : Type u_1
m' : l → Type ?u.67455
n' : l → Type ?u.67460
inst✝⁶ : Semiring α
inst✝⁵ : AddCommMonoid R
inst✝⁴ : TopologicalSpace R
inst✝³ : Module α R
inst✝² : StarAddMonoid R
inst✝¹ : ContinuousStar R
inst✝ : T2Space R
f : X → Matrix m n R
hf : ¬Summable f
hft : ¬Summable fun x => (f x)ᴴ
⊢ (∑' (x : X), f x)ᴴ = ∑' (x : X), (f x)ᴴ
Theorem: Class.mem_wf
File: Mathlib/SetTheory/ZFC/Basic.lean

tactic: refine' fun a => ZFSet.inductionOn a fun x IH => ⟨_, _⟩
state_before: ⊢ ∀ (x : ZFSet), Acc (fun x x_1 => x ∈ x_1) ↑x

tactic: rintro A ⟨z, rfl, hz⟩
state_before: a x : ZFSet
IH : ∀ (y : ZFSet), y ∈ x → Acc (fun x x_1 => x ∈ x_1) ↑y
⊢ ∀ (y : Class), y ∈ ↑x → Acc (fun x x_1 => x ∈ x_1) y

tactic: exact IH z hz
state_before: case intro.intro
a x : ZFSet
IH : ∀ (y : ZFSet), y ∈ x → Acc (fun x x_1 => x ∈ x_1) ↑y
z : ZFSet
hz : ↑x z
⊢ Acc (fun x x_1 => x ∈ x_1) ↑z

tactic: refine' fun A => ⟨A, _⟩
state_before: H : ∀ (x : ZFSet), Acc (fun x x_1 => x ∈ x_1) ↑x
⊢ ∀ (a : Class), Acc (fun x x_1 => x ∈ x_1) a

tactic: rintro B ⟨x, rfl, _⟩
state_before: H : ∀ (x : ZFSet), Acc (fun x x_1 => x ∈ x_1) ↑x
A : Class
⊢ ∀ (y : Class), y ∈ A → Acc (fun x x_1 => x ∈ x_1) y

tactic: exact H x
state_before: case intro.intro
H : ∀ (x : ZFSet), Acc (fun x x_1 => x ∈ x_1) ↑x
A : Class
x : ZFSet
right✝ : A x
⊢ Acc (fun x x_1 => x ∈ x_1) ↑x
Theorem: expSeries_apply_eq_div
File: Mathlib/Analysis/NormedSpace/Exponential.lean

tactic: rw [div_eq_mul_inv, ← (Nat.cast_commute n ! (x ^ n)).inv_left₀.eq, ← smul_eq_mul,
  expSeries_apply_eq, inv_nat_cast_smul_eq 𝕂 𝔸]
state_before: 𝕂 : Type u_2
𝔸 : Type u_1
inst✝⁴ : Field 𝕂
inst✝³ : DivisionRing 𝔸
inst✝² : Algebra 𝕂 𝔸
inst✝¹ : TopologicalSpace 𝔸
inst✝ : TopologicalRing 𝔸
x : 𝔸
n : ℕ
⊢ (↑(expSeries 𝕂 𝔸 n) fun x_1 => x) = x ^ n / ↑n !
Theorem: CategoryTheory.Limits.kernelSubobjectMap_arrow
File: Mathlib/CategoryTheory/Subobject/Limits.lean

tactic: simp [kernelSubobjectMap]
state_before: C : Type u
inst✝³ : Category C
X Y Z : C
inst✝² : HasZeroMorphisms C
f : X ⟶ Y
inst✝¹ : HasKernel f
X' Y' : C
f' : X' ⟶ Y'
inst✝ : HasKernel f'
sq : Arrow.mk f ⟶ Arrow.mk f'
⊢ kernelSubobjectMap sq ≫ arrow (kernelSubobject f') = arrow (kernelSubobject f) ≫ sq.left
Theorem: Std.BinomialHeapImp.Heap.WellFormed.singleton
File: Std/Data/BinomialHeap.lean

tactic: decide
state_before: α✝ : Type u_1
a : α✝
le : α✝ → α✝ → Bool
⊢ 0 ≤ 0
Theorem: Quotient.induction_on_pi
File: Mathlib/Data/Quot.lean

tactic: rw [← (funext fun i ↦ Quotient.out_eq (f i) : (fun i ↦ ⟦(f i).out⟧) = f)]
state_before: α✝ : Sort ?u.35644
β : Sort ?u.35647
ι : Type u_1
α : ι → Sort u_2
s : (i : ι) → Setoid (α i)
p : ((i : ι) → Quotient (s i)) → Prop
f : (i : ι) → Quotient (s i)
h : ∀ (a : (i : ι) → α i), p fun i => Quotient.mk (s i) (a i)
⊢ p f

tactic: apply h
state_before: α✝ : Sort ?u.35644
β : Sort ?u.35647
ι : Type u_1
α : ι → Sort u_2
s : (i : ι) → Setoid (α i)
p : ((i : ι) → Quotient (s i)) → Prop
f : (i : ι) → Quotient (s i)
h : ∀ (a : (i : ι) → α i), p fun i => Quotient.mk (s i) (a i)
⊢ p fun i => Quotient.mk (s i) (out (f i))
Theorem: Polynomial.image_rootSet
File: Mathlib/Data/Polynomial/Splits.lean

tactic: classical
  rw [rootSet, ← Finset.coe_image, ← Multiset.toFinset_map, ← f.coe_toRingHom,
    ← roots_map _ ((splits_id_iff_splits (algebraMap F K)).mpr h), map_map, f.comp_algebraMap,
    ← rootSet]
state_before: F : Type u
K : Type v
L : Type w
inst✝⁴ : Field K
inst✝³ : Field L
inst✝² : Field F
i : K →+* L
inst✝¹ : Algebra F K
inst✝ : Algebra F L
p : F[X]
h : Splits (algebraMap F K) p
f : K →ₐ[F] L
⊢ ↑f '' rootSet p K = rootSet p L

tactic: rw [rootSet, ← Finset.coe_image, ← Multiset.toFinset_map, ← f.coe_toRingHom,
  ← roots_map _ ((splits_id_iff_splits (algebraMap F K)).mpr h), map_map, f.comp_algebraMap,
  ← rootSet]
state_before: F : Type u
K : Type v
L : Type w
inst✝⁴ : Field K
inst✝³ : Field L
inst✝² : Field F
i : K →+* L
inst✝¹ : Algebra F K
inst✝ : Algebra F L
p : F[X]
h : Splits (algebraMap F K) p
f : K →ₐ[F] L
⊢ ↑f '' rootSet p K = rootSet p L
Theorem: ModuleCat.MonoidalCategory.pentagon_aux
File: Mathlib/Algebra/Category/ModuleCat/Monoidal/Basic.lean

tactic: apply TensorProduct.ext_fourfold
state_before: R : Type u
inst✝⁸ : CommRing R
W : Type u_1
X : Type u_2
Y : Type u_3
Z : Type u_4
inst✝⁷ : AddCommMonoid W
inst✝⁶ : AddCommMonoid X
inst✝⁵ : AddCommMonoid Y
inst✝⁴ : AddCommMonoid Z
inst✝³ : Module R W
inst✝² : Module R X
inst✝¹ : Module R Y
inst✝ : Module R Z
⊢ LinearMap.comp (LinearMap.comp (map 1 ↑(assoc R X Y Z)) ↑(assoc R W (X ⊗[R] Y) Z)) (map (↑(assoc R W X Y)) 1) =
    LinearMap.comp ↑(assoc R W X (Y ⊗[R] Z)) ↑(assoc R (W ⊗[R] X) Y Z)

tactic: intro w x y z
state_before: case H
R : Type u
inst✝⁸ : CommRing R
W : Type u_1
X : Type u_2
Y : Type u_3
Z : Type u_4
inst✝⁷ : AddCommMonoid W
inst✝⁶ : AddCommMonoid X
inst✝⁵ : AddCommMonoid Y
inst✝⁴ : AddCommMonoid Z
inst✝³ : Module R W
inst✝² : Module R X
inst✝¹ : Module R Y
inst✝ : Module R Z
⊢ ∀ (w : W) (x : X) (y : Y) (z : Z),
    ↑(LinearMap.comp (LinearMap.comp (map 1 ↑(assoc R X Y Z)) ↑(assoc R W (X ⊗[R] Y) Z)) (map (↑(assoc R W X Y)) 1))
        (((w ⊗ₜ[R] x) ⊗ₜ[R] y) ⊗ₜ[R] z) =
      ↑(LinearMap.comp ↑(assoc R W X (Y ⊗[R] Z)) ↑(assoc R (W ⊗[R] X) Y Z)) (((w ⊗ₜ[R] x) ⊗ₜ[R] y) ⊗ₜ[R] z)

tactic: rfl
state_before: case H
R : Type u
inst✝⁸ : CommRing R
W : Type u_1
X : Type u_2
Y : Type u_3
Z : Type u_4
inst✝⁷ : AddCommMonoid W
inst✝⁶ : AddCommMonoid X
inst✝⁵ : AddCommMonoid Y
inst✝⁴ : AddCommMonoid Z
inst✝³ : Module R W
inst✝² : Module R X
inst✝¹ : Module R Y
inst✝ : Module R Z
w : W
x : X
y : Y
z : Z
⊢ ↑(LinearMap.comp (LinearMap.comp (map 1 ↑(assoc R X Y Z)) ↑(assoc R W (X ⊗[R] Y) Z)) (map (↑(assoc R W X Y)) 1))
      (((w ⊗ₜ[R] x) ⊗ₜ[R] y) ⊗ₜ[R] z) =
    ↑(LinearMap.comp ↑(assoc R W X (Y ⊗[R] Z)) ↑(assoc R (W ⊗[R] X) Y Z)) (((w ⊗ₜ[R] x) ⊗ₜ[R] y) ⊗ₜ[R] z)
Theorem: UniqueFactorizationMonoid.factors_zero
File: Mathlib/RingTheory/UniqueFactorizationDomain.lean

tactic: simp [factors]
state_before: α : Type u_1
inst✝² : CancelCommMonoidWithZero α
inst✝¹ : DecidableEq α
inst✝ : UniqueFactorizationMonoid α
⊢ factors 0 = 0
Theorem: IsMinFilter.sub
File: Mathlib/Order/Filter/Extr.lean

tactic: simpa only [sub_eq_add_neg] using hf.add hg.neg
state_before: α : Type u
β : Type v
γ : Type w
δ : Type x
inst✝ : OrderedAddCommGroup β
f g : α → β
a : α
s : Set α
l : Filter α
hf : IsMinFilter f l a
hg : IsMaxFilter g l a
⊢ IsMinFilter (fun x => f x - g x) l a
Theorem: IntermediateField.finrank_bot
File: Mathlib/FieldTheory/Adjoin.lean

tactic: rw [finrank_eq_one_iff]
state_before: F : Type u_1
inst✝² : Field F
E : Type u_2
inst✝¹ : Field E
inst✝ : Algebra F E
α : E
S : Set E
K L : IntermediateField F E
⊢ finrank F { x // x ∈ ⊥ } = 1
Theorem: Finset.Ico_filter_le
File: Mathlib/Data/Finset/LocallyFinite.lean

tactic: cases le_total a c with
| inl h => rw [Ico_filter_le_of_left_le h, max_eq_right h]
| inr h => rw [Ico_filter_le_of_le_left h, max_eq_left h]
state_before: ι : Type ?u.139276
α : Type u_1
inst✝¹ : LinearOrder α
inst✝ : LocallyFiniteOrder α
a✝ b✝ a b c : α
⊢ filter (fun x => c ≤ x) (Ico a b) = Ico (max a c) b

tactic: rw [Ico_filter_le_of_left_le h, max_eq_right h]
state_before: case inl
ι : Type ?u.139276
α : Type u_1
inst✝¹ : LinearOrder α
inst✝ : LocallyFiniteOrder α
a✝ b✝ a b c : α
h : a ≤ c
⊢ filter (fun x => c ≤ x) (Ico a b) = Ico (max a c) b

tactic: rw [Ico_filter_le_of_le_left h, max_eq_left h]
state_before: case inr
ι : Type ?u.139276
α : Type u_1
inst✝¹ : LinearOrder α
inst✝ : LocallyFiniteOrder α
a✝ b✝ a b c : α
h : c ≤ a
⊢ filter (fun x => c ≤ x) (Ico a b) = Ico (max a c) b
Theorem: AlgebraicTopology.DoldKan.Compatibility.equivalence₂CounitIso_eq
File: Mathlib/AlgebraicTopology/DoldKan/Compatibility.lean

tactic: ext Y'
state_before: A : Type u_4
A' : Type u_5
B : Type u_1
B' : Type u_6
inst✝³ : Category A
inst✝² : Category A'
inst✝¹ : Category B
inst✝ : Category B'
eA : A ≌ A'
eB : B ≌ B'
e' : A' ≌ B'
F : A ⥤ B'
hF : eA.functor ⋙ e'.functor ≅ F
G : B ⥤ A
hG : eB.functor ⋙ e'.inverse ≅ G ⋙ eA.functor
⊢ (equivalence₂ eB hF).counitIso = equivalence₂CounitIso eB hF

tactic: dsimp [equivalence₂, Iso.refl]
state_before: case w.w.h
A : Type u_4
A' : Type u_5
B : Type u_1
B' : Type u_6
inst✝³ : Category A
inst✝² : Category A'
inst✝¹ : Category B
inst✝ : Category B'
eA : A ≌ A'
eB : B ≌ B'
e' : A' ≌ B'
F : A ⥤ B'
hF : eA.functor ⋙ e'.functor ≅ F
G : B ⥤ A
hG : eB.functor ⋙ e'.inverse ≅ G ⋙ eA.functor
Y' : B
⊢ (equivalence₂ eB hF).counitIso.hom.app Y' = (equivalence₂CounitIso eB hF).hom.app Y'

tactic: simp only [equivalence₁CounitIso_eq, equivalence₂CounitIso_hom_app,
  equivalence₁CounitIso_hom_app, Functor.map_comp, assoc]
state_before: case w.w.h
A : Type u_4
A' : Type u_5
B : Type u_1
B' : Type u_6
inst✝³ : Category A
inst✝² : Category A'
inst✝¹ : Category B
inst✝ : Category B'
eA : A ≌ A'
eB : B ≌ B'
e' : A' ≌ B'
F : A ⥤ B'
hF : eA.functor ⋙ e'.functor ≅ F
G : B ⥤ A
hG : eB.functor ⋙ e'.inverse ≅ G ⋙ eA.functor
Y' : B
⊢ eB.inverse.map ((equivalence₁ hF).counitIso.hom.app (eB.functor.obj Y')) ≫ eB.unitIso.inv.app Y' =
    (equivalence₂CounitIso eB hF).hom.app Y'
Theorem: Cardinal.mk_quaternionAlgebra_of_infinite
File: Mathlib/Algebra/Quaternion.lean

tactic: rw [mk_quaternionAlgebra, pow_four]
state_before: R : Type u_1
c₁ c₂ : R
inst✝ : Infinite R
⊢ (#ℍ[R,c₁,c₂]) = (#R)
Theorem: MeasureTheory.locallyIntegrable_const
File: Mathlib/MeasureTheory/Function/LocallyIntegrable.lean

tactic: intro x
state_before: X : Type u_1
Y : Type ?u.128412
E : Type u_2
R : Type ?u.128418
inst✝⁵ : MeasurableSpace X
inst✝⁴ : TopologicalSpace X
inst✝³ : MeasurableSpace Y
inst✝² : TopologicalSpace Y
inst✝¹ : NormedAddCommGroup E
f : X → E
μ : Measure X
s : Set X
inst✝ : IsLocallyFiniteMeasure μ
c : E
⊢ LocallyIntegrable fun x => c

tactic: rcases μ.finiteAt_nhds x with ⟨U, hU, h'U⟩
state_before: X : Type u_1
Y : Type ?u.128412
E : Type u_2
R : Type ?u.128418
inst✝⁵ : MeasurableSpace X
inst✝⁴ : TopologicalSpace X
inst✝³ : MeasurableSpace Y
inst✝² : TopologicalSpace Y
inst✝¹ : NormedAddCommGroup E
f : X → E
μ : Measure X
s : Set X
inst✝ : IsLocallyFiniteMeasure μ
c : E
x : X
⊢ IntegrableAtFilter (fun x => c) (𝓝 x)

tactic: refine' ⟨U, hU, _⟩
state_before: case intro.intro
X : Type u_1
Y : Type ?u.128412
E : Type u_2
R : Type ?u.128418
inst✝⁵ : MeasurableSpace X
inst✝⁴ : TopologicalSpace X
inst✝³ : MeasurableSpace Y
inst✝² : TopologicalSpace Y
inst✝¹ : NormedAddCommGroup E
f : X → E
μ : Measure X
s : Set X
inst✝ : IsLocallyFiniteMeasure μ
c : E
x : X
U : Set X
hU : U ∈ 𝓝 x
h'U : ↑↑μ U < ⊤
⊢ IntegrableAtFilter (fun x => c) (𝓝 x)

tactic: simp only [h'U, integrableOn_const, or_true_iff]
state_before: case intro.intro
X : Type u_1
Y : Type ?u.128412
E : Type u_2
R : Type ?u.128418
inst✝⁵ : MeasurableSpace X
inst✝⁴ : TopologicalSpace X
inst✝³ : MeasurableSpace Y
inst✝² : TopologicalSpace Y
inst✝¹ : NormedAddCommGroup E
f : X → E
μ : Measure X
s : Set X
inst✝ : IsLocallyFiniteMeasure μ
c : E
x : X
U : Set X
hU : U ∈ 𝓝 x
h'U : ↑↑μ U < ⊤
⊢ IntegrableOn (fun x => c) U
Theorem: SimpleGraph.isAdjMatrix_adjMatrix
File: Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean

tactic: by_cases G.Adj i j <;> simp [h]
state_before: V : Type u_2
α : Type u_1
β : Type ?u.28278
G : SimpleGraph V
inst✝² : DecidableRel G.Adj
inst✝¹ : Zero α
inst✝ : One α
i j : V
⊢ adjMatrix α G i j = 0 ∨ adjMatrix α G i j = 1
Theorem: OnePoint.le_nhds_infty
File: Mathlib/Topology/Compactification/OnePoint.lean

tactic: simp only [hasBasis_nhds_infty.ge_iff, and_imp]
state_before: X : Type u_1
inst✝ : TopologicalSpace X
s : Set (OnePoint X)
t : Set X
f : Filter (OnePoint X)
⊢ f ≤ 𝓝 ∞ ↔ ∀ (s : Set X), IsClosed s → IsCompact s → some '' sᶜ ∪ {∞} ∈ f
Theorem: MeasureTheory.VectorMeasure.MutuallySingular.neg_left
File: Mathlib/MeasureTheory/Measure/VectorMeasure.lean

tactic: obtain ⟨u, hmu, hu₁, hu₂⟩ := h
state_before: α : Type u_2
β : Type ?u.681547
m : MeasurableSpace α
L : Type ?u.681553
M✝ : Type ?u.681556
N : Type u_3
inst✝⁸ : AddCommMonoid L
inst✝⁷ : TopologicalSpace L
inst✝⁶ : AddCommMonoid M✝
inst✝⁵ : TopologicalSpace M✝
inst✝⁴ : AddCommMonoid N
inst✝³ : TopologicalSpace N
v✝ v₁ v₂ : VectorMeasure α M✝
w✝ w₁ w₂ : VectorMeasure α N
M : Type u_1
inst✝² : AddCommGroup M
inst✝¹ : TopologicalSpace M
inst✝ : TopologicalAddGroup M
v : VectorMeasure α M
w : VectorMeasure α N
h : v ⟂ᵥ w
⊢ -v ⟂ᵥ w

tactic: refine' ⟨u, hmu, fun s hs => _, hu₂⟩
state_before: case intro.intro.intro
α : Type u_2
β : Type ?u.681547
m : MeasurableSpace α
L : Type ?u.681553
M✝ : Type ?u.681556
N : Type u_3
inst✝⁸ : AddCommMonoid L
inst✝⁷ : TopologicalSpace L
inst✝⁶ : AddCommMonoid M✝
inst✝⁵ : TopologicalSpace M✝
inst✝⁴ : AddCommMonoid N
inst✝³ : TopologicalSpace N
v✝ v₁ v₂ : VectorMeasure α M✝
w✝ w₁ w₂ : VectorMeasure α N
M : Type u_1
inst✝² : AddCommGroup M
inst✝¹ : TopologicalSpace M
inst✝ : TopologicalAddGroup M
v : VectorMeasure α M
w : VectorMeasure α N
u : Set α
hmu : MeasurableSet u
hu₁ : ∀ (t : Set α), t ⊆ u → ↑v t = 0
hu₂ : ∀ (t : Set α), t ⊆ uᶜ → ↑w t = 0
⊢ -v ⟂ᵥ w

tactic: rw [neg_apply v s, neg_eq_zero]
state_before: case intro.intro.intro
α : Type u_2
β : Type ?u.681547
m : MeasurableSpace α
L : Type ?u.681553
M✝ : Type ?u.681556
N : Type u_3
inst✝⁸ : AddCommMonoid L
inst✝⁷ : TopologicalSpace L
inst✝⁶ : AddCommMonoid M✝
inst✝⁵ : TopologicalSpace M✝
inst✝⁴ : AddCommMonoid N
inst✝³ : TopologicalSpace N
v✝ v₁ v₂ : VectorMeasure α M✝
w✝ w₁ w₂ : VectorMeasure α N
M : Type u_1
inst✝² : AddCommGroup M
inst✝¹ : TopologicalSpace M
inst✝ : TopologicalAddGroup M
v : VectorMeasure α M
w : VectorMeasure α N
u : Set α
hmu : MeasurableSet u
hu₁ : ∀ (t : Set α), t ⊆ u → ↑v t = 0
hu₂ : ∀ (t : Set α), t ⊆ uᶜ → ↑w t = 0
s : Set α
hs : s ⊆ u
⊢ ↑(-v) s = 0

tactic: exact hu₁ s hs
state_before: case intro.intro.intro
α : Type u_2
β : Type ?u.681547
m : MeasurableSpace α
L : Type ?u.681553
M✝ : Type ?u.681556
N : Type u_3
inst✝⁸ : AddCommMonoid L
inst✝⁷ : TopologicalSpace L
inst✝⁶ : AddCommMonoid M✝
inst✝⁵ : TopologicalSpace M✝
inst✝⁴ : AddCommMonoid N
inst✝³ : TopologicalSpace N
v✝ v₁ v₂ : VectorMeasure α M✝
w✝ w₁ w₂ : VectorMeasure α N
M : Type u_1
inst✝² : AddCommGroup M
inst✝¹ : TopologicalSpace M
inst✝ : TopologicalAddGroup M
v : VectorMeasure α M
w : VectorMeasure α N
u : Set α
hmu : MeasurableSet u
hu₁ : ∀ (t : Set α), t ⊆ u → ↑v t = 0
hu₂ : ∀ (t : Set α), t ⊆ uᶜ → ↑w t = 0
s : Set α
hs : s ⊆ u
⊢ ↑v s = 0