1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: Cycle.support_formPerm
File: Mathlib/GroupTheory/Perm/Cycle/Concrete.lean

tactic: induction' s using Quot.inductionOn with s
state_before: α : Type u_1
inst✝¹ : DecidableEq α
s✝ s' : Cycle α
inst✝ : Fintype α
s : Cycle α
h : s.Nodup
hn : s.Nontrivial
⊢ (s.formPerm h).support = s.toFinset
state_after: case h
α : Type u_1
inst✝¹ : DecidableEq α
s✝ s' : Cycle α
inst✝ : Fintype α
s : List α
h : Nodup (Quot.mk Setoid.r s)
hn : Nontrivial (Quot.mk Setoid.r s)
⊢ (formPerm (Quot.mk Setoid.r s) h).support = toFinset (Quot.mk Setoid.r s)

tactic: refine support_formPerm_of_nodup s h ?_
state_before: case h
α : Type u_1
inst✝¹ : DecidableEq α
s✝ s' : Cycle α
inst✝ : Fintype α
s : List α
h : Nodup (Quot.mk Setoid.r s)
hn : Nontrivial (Quot.mk Setoid.r s)
⊢ (formPerm (Quot.mk Setoid.r s) h).support = toFinset (Quot.mk Setoid.r s)
state_after: case h
α : Type u_1
inst✝¹ : DecidableEq α
s✝ s' : Cycle α
inst✝ : Fintype α
s : List α
h : Nodup (Quot.mk Setoid.r s)
hn : Nontrivial (Quot.mk Setoid.r s)
⊢ ∀ (x : α), s ≠ [x]

tactic: rintro _ rfl
state_before: case h
α : Type u_1
inst✝¹ : DecidableEq α
s✝ s' : Cycle α
inst✝ : Fintype α
s : List α
h : Nodup (Quot.mk Setoid.r s)
hn : Nontrivial (Quot.mk Setoid.r s)
⊢ ∀ (x : α), s ≠ [x]
state_after: case h
α : Type u_1
inst✝¹ : DecidableEq α
s s' : Cycle α
inst✝ : Fintype α
x✝ : α
h : Nodup (Quot.mk Setoid.r [x✝])
hn : Nontrivial (Quot.mk Setoid.r [x✝])
⊢ False

tactic: simpa [Nat.succ_le_succ_iff] using length_nontrivial hn
state_before: case h
α : Type u_1
inst✝¹ : DecidableEq α
s s' : Cycle α
inst✝ : Fintype α
x✝ : α
h : Nodup (Quot.mk Setoid.r [x✝])
hn : Nontrivial (Quot.mk Setoid.r [x✝])
⊢ False
state_after: no goals
Theorem: CompleteLattice.independent_of_dfinsupp_sumAddHom_injective'
File: Mathlib/LinearAlgebra/DFinsupp.lean

tactic: rw [← independent_map_orderIso_iff (AddSubgroup.toIntSubmodule : AddSubgroup N ≃o _)]
state_before: ι : Type u_1
R : Type u_2
S : Type u_3
M : ι → Type u_4
N : Type u_5
inst✝³ : DecidableEq ι
inst✝² : Ring R
inst✝¹ : AddCommGroup N
inst✝ : Module R N
p : ι → AddSubgroup N
h : Function.Injective ⇑(sumAddHom fun i => (p i).subtype)
⊢ Independent p
state_after: ι : Type u_1
R : Type u_2
S : Type u_3
M : ι → Type u_4
N : Type u_5
inst✝³ : DecidableEq ι
inst✝² : Ring R
inst✝¹ : AddCommGroup N
inst✝ : Module R N
p : ι → AddSubgroup N
h : Function.Injective ⇑(sumAddHom fun i => (p i).subtype)
⊢ Independent (⇑AddSubgroup.toIntSubmodule ∘ p)

tactic: exact independent_of_dfinsupp_lsum_injective _ h
state_before: ι : Type u_1
R : Type u_2
S : Type u_3
M : ι → Type u_4
N : Type u_5
inst✝³ : DecidableEq ι
inst✝² : Ring R
inst✝¹ : AddCommGroup N
inst✝ : Module R N
p : ι → AddSubgroup N
h : Function.Injective ⇑(sumAddHom fun i => (p i).subtype)
⊢ Independent (⇑AddSubgroup.toIntSubmodule ∘ p)
state_after: no goals
Theorem: ContinuousMapZero.continuous_toNNReal
File: Mathlib/Topology/ContinuousFunction/UniqueCFC.lean

tactic: rw [continuous_induced_rng]
state_before: X : Type u_1
inst✝¹ : TopologicalSpace X
inst✝ : Zero X
⊢ Continuous toNNReal
state_after: X : Type u_1
inst✝¹ : TopologicalSpace X
inst✝ : Zero X
⊢ Continuous (_root_.toContinuousMap ∘ toNNReal)

tactic: convert_to Continuous (ContinuousMap.toNNReal ∘ ((↑) : C(X, ℝ)₀ → C(X, ℝ))) using 1
state_before: X : Type u_1
inst✝¹ : TopologicalSpace X
inst✝ : Zero X
⊢ Continuous (_root_.toContinuousMap ∘ toNNReal)
state_after: X : Type u_1
inst✝¹ : TopologicalSpace X
inst✝ : Zero X
⊢ Continuous (ContinuousMap.toNNReal ∘ _root_.toContinuousMap)

tactic: exact ContinuousMap.continuous_comp _ |>.comp continuous_induced_dom
state_before: X : Type u_1
inst✝¹ : TopologicalSpace X
inst✝ : Zero X
⊢ Continuous (ContinuousMap.toNNReal ∘ _root_.toContinuousMap)
state_after: no goals
Theorem: HomologicalComplex.d_pOpcycles
File: Mathlib/Algebra/Homology/ShortComplex/HomologicalComplex.lean

tactic: by_cases hij : c.Rel i j
state_before: C : Type u_1
inst✝³ : Category.{u_3, u_1} C
inst✝² : HasZeroMorphisms C
ι : Type u_2
c : ComplexShape ι
K L M : HomologicalComplex C c
φ : K ⟶ L
ψ : L ⟶ M
i j k : ι
inst✝¹ : K.HasHomology i
inst✝ : K.HasHomology j
⊢ K.d i j ≫ K.pOpcycles j = 0
state_after: case pos
C : Type u_1
inst✝³ : Category.{u_3, u_1} C
inst✝² : HasZeroMorphisms C
ι : Type u_2
c : ComplexShape ι
K L M : HomologicalComplex C c
φ : K ⟶ L
ψ : L ⟶ M
i j k : ι
inst✝¹ : K.HasHomology i
inst✝ : K.HasHomology j
hij : c.Rel i j
⊢ K.d i j ≫ K.pOpcycles j = 0

case neg
C : Type u_1
inst✝³ : Category.{u_3, u_1} C
inst✝² : HasZeroMorphisms C
ι : Type u_2
c : ComplexShape ι
K L M : HomologicalComplex C c
φ : K ⟶ L
ψ : L ⟶ M
i j k : ι
inst✝¹ : K.HasHomology i
inst✝ : K.HasHomology j
hij : ¬c.Rel i j
⊢ K.d i j ≫ K.pOpcycles j = 0

tactic: obtain rfl := c.prev_eq' hij
state_before: case pos
C : Type u_1
inst✝³ : Category.{u_3, u_1} C
inst✝² : HasZeroMorphisms C
ι : Type u_2
c : ComplexShape ι
K L M : HomologicalComplex C c
φ : K ⟶ L
ψ : L ⟶ M
i j k : ι
inst✝¹ : K.HasHomology i
inst✝ : K.HasHomology j
hij : c.Rel i j
⊢ K.d i j ≫ K.pOpcycles j = 0
state_after: case pos
C : Type u_1
inst✝³ : Category.{u_3, u_1} C
inst✝² : HasZeroMorphisms C
ι : Type u_2
c : ComplexShape ι
K L M : HomologicalComplex C c
φ : K ⟶ L
ψ : L ⟶ M
j k : ι
inst✝¹ : K.HasHomology j
inst✝ : K.HasHomology (c.prev j)
hij : c.Rel (c.prev j) j
⊢ K.d (c.prev j) j ≫ K.pOpcycles j = 0

tactic: exact (K.sc j).f_pOpcycles
state_before: case pos
C : Type u_1
inst✝³ : Category.{u_3, u_1} C
inst✝² : HasZeroMorphisms C
ι : Type u_2
c : ComplexShape ι
K L M : HomologicalComplex C c
φ : K ⟶ L
ψ : L ⟶ M
j k : ι
inst✝¹ : K.HasHomology j
inst✝ : K.HasHomology (c.prev j)
hij : c.Rel (c.prev j) j
⊢ K.d (c.prev j) j ≫ K.pOpcycles j = 0
state_after: no goals

tactic: rw [K.shape _ _ hij, zero_comp]
state_before: case neg
C : Type u_1
inst✝³ : Category.{u_3, u_1} C
inst✝² : HasZeroMorphisms C
ι : Type u_2
c : ComplexShape ι
K L M : HomologicalComplex C c
φ : K ⟶ L
ψ : L ⟶ M
i j k : ι
inst✝¹ : K.HasHomology i
inst✝ : K.HasHomology j
hij : ¬c.Rel i j
⊢ K.d i j ≫ K.pOpcycles j = 0
state_after: no goals
Theorem: CategoryTheory.Limits.IsZero.iff_id_eq_zero
File: Mathlib/CategoryTheory/Limits/Shapes/ZeroMorphisms.lean

tactic: rw [← id_comp f, ← id_comp (0: X ⟶ Y), h, zero_comp, zero_comp]
state_before: C : Type u
inst✝² : Category.{v, u} C
D : Type u'
inst✝¹ : Category.{v', u'} D
inst✝ : HasZeroMorphisms C
X : C
h : 𝟙 X = 0
Y : C
f : X ⟶ Y
⊢ f = default
state_after: C : Type u
inst✝² : Category.{v, u} C
D : Type u'
inst✝¹ : Category.{v', u'} D
inst✝ : HasZeroMorphisms C
X : C
h : 𝟙 X = 0
Y : C
f : X ⟶ Y
⊢ 0 = default

tactic: simp only
state_before: C : Type u
inst✝² : Category.{v, u} C
D : Type u'
inst✝¹ : Category.{v', u'} D
inst✝ : HasZeroMorphisms C
X : C
h : 𝟙 X = 0
Y : C
f : X ⟶ Y
⊢ 0 = default
state_after: no goals

tactic: rw [← comp_id f, ← comp_id (0 : Y ⟶ X), h, comp_zero, comp_zero]
state_before: C : Type u
inst✝² : Category.{v, u} C
D : Type u'
inst✝¹ : Category.{v', u'} D
inst✝ : HasZeroMorphisms C
X : C
h : 𝟙 X = 0
Y : C
f : Y ⟶ X
⊢ f = default
state_after: C : Type u
inst✝² : Category.{v, u} C
D : Type u'
inst✝¹ : Category.{v', u'} D
inst✝ : HasZeroMorphisms C
X : C
h : 𝟙 X = 0
Y : C
f : Y ⟶ X
⊢ 0 = default

tactic: simp only
state_before: C : Type u
inst✝² : Category.{v, u} C
D : Type u'
inst✝¹ : Category.{v', u'} D
inst✝ : HasZeroMorphisms C
X : C
h : 𝟙 X = 0
Y : C
f : Y ⟶ X
⊢ 0 = default
state_after: no goals
Theorem: ModuleCat.mono_iff_ker_eq_bot
File: Mathlib/Algebra/Category/ModuleCat/EpiMono.lean

tactic: convert LinearMap.ker_eq_bot.1 hf
state_before: R : Type u
inst✝² : Ring R
X Y : ModuleCat R
f : X ⟶ Y
M : Type v
inst✝¹ : AddCommGroup M
inst✝ : Module R M
hf : LinearMap.ker f = ⊥
⊢ Function.Injective ⇑f
state_after: no goals
Theorem: Submodule.prod_span_singleton
File: Mathlib/Algebra/Algebra/Operations.lean

tactic: rw [prod_span, Set.finset_prod_singleton]
state_before: ι✝ : Sort uι
R : Type u
inst✝² : CommSemiring R
A : Type v
inst✝¹ : CommSemiring A
inst✝ : Algebra R A
M N : Submodule R A
m n : A
ι : Type u_1
s : Finset ι
x : ι → A
⊢ ∏ i ∈ s, span R {x i} = span R {∏ i ∈ s, x i}
state_after: no goals
Theorem: Nat.succ_mul_binomial
File: Mathlib/Data/Nat/Choose/Multinomial.lean

tactic: rw [binomial_eq_choose h, binomial_eq_choose h, mul_comm (f a).succ, Function.update_same,
  Function.update_noteq (ne_comm.mp h)]
state_before: α : Type u_1
s : Finset α
f : α → ℕ
a b : α
n : ℕ
inst✝ : DecidableEq α
h : a ≠ b
⊢ (f a + f b).succ * multinomial {a, b} f = (f a).succ * multinomial {a, b} (Function.update f a (f a).succ)
state_after: α : Type u_1
s : Finset α
f : α → ℕ
a b : α
n : ℕ
inst✝ : DecidableEq α
h : a ≠ b
⊢ (f a + f b).succ * (f a + f b).choose (f a) = ((f a).succ + f b).choose (f a).succ * (f a).succ

tactic: rw [succ_mul_choose_eq (f a + f b) (f a), succ_add (f a) (f b)]
state_before: α : Type u_1
s : Finset α
f : α → ℕ
a b : α
n : ℕ
inst✝ : DecidableEq α
h : a ≠ b
⊢ (f a + f b).succ * (f a + f b).choose (f a) = ((f a).succ + f b).choose (f a).succ * (f a).succ
state_after: no goals
Theorem: ContinuousLinearMap.opNorm_zero
File: Mathlib/Analysis/NormedSpace/OperatorNorm/Basic.lean

tactic: simp
state_before: 𝕜 : Type u_1
𝕜₂ : Type u_2
𝕜₃ : Type u_3
E : Type u_4
Eₗ : Type u_5
F : Type u_6
Fₗ : Type u_7
G : Type u_8
Gₗ : Type u_9
𝓕 : Type u_10
inst✝¹⁵ : SeminormedAddCommGroup E
inst✝¹⁴ : SeminormedAddCommGroup Eₗ
inst✝¹³ : SeminormedAddCommGroup F
inst✝¹² : SeminormedAddCommGroup Fₗ
inst✝¹¹ : SeminormedAddCommGroup G
inst✝¹⁰ : SeminormedAddCommGroup Gₗ
inst✝⁹ : NontriviallyNormedField 𝕜
inst✝⁸ : NontriviallyNormedField 𝕜₂
inst✝⁷ : NontriviallyNormedField 𝕜₃
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedSpace 𝕜 Eₗ
inst✝⁴ : NormedSpace 𝕜₂ F
inst✝³ : NormedSpace 𝕜 Fₗ
inst✝² : NormedSpace 𝕜₃ G
σ₁₂ : 𝕜 →+* 𝕜₂
σ₂₃ : 𝕜₂ →+* 𝕜₃
σ₁₃ : 𝕜 →+* 𝕜₃
inst✝¹ : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
inst✝ : FunLike 𝓕 E F
x✝ : E
⊢ ‖0 x✝‖ ≤ 0 * ‖x✝‖
state_after: no goals
Theorem: div_le_div_left₀
File: Mathlib/Algebra/Order/GroupWithZero/Canonical.lean

tactic: simp only [div_eq_mul_inv, mul_le_mul_left₀ ha, inv_le_inv₀ hb hc]
state_before: α : Type u_1
inst✝ : LinearOrderedCommGroupWithZero α
a b c d : α
m n : ℕ
ha : a ≠ 0
hb : b ≠ 0
hc : c ≠ 0
⊢ a / b ≤ a / c ↔ c ≤ b
state_after: no goals
Theorem: Multiset.countP_nsmul
File: Mathlib/Data/Multiset/Basic.lean

tactic: induction n <;> simp [*, succ_nsmul, succ_mul, zero_nsmul]
state_before: α : Type u_1
β : Type v
γ : Type u_2
p : α → Prop
inst✝ : DecidablePred p
s : Multiset α
n : ℕ
⊢ countP p (n • s) = n * countP p s
state_after: no goals
Theorem: Finset.disjoint_map_inl_map_inr
File: Mathlib/Data/Finset/Sum.lean

tactic: simp_rw [disjoint_left, mem_map]
state_before: α : Type u_1
β : Type u_2
s : Finset α
t : Finset β
⊢ _root_.Disjoint (map Embedding.inl s) (map Embedding.inr t)
state_after: α : Type u_1
β : Type u_2
s : Finset α
t : Finset β
⊢ ∀ ⦃a : α ⊕ β⦄, (∃ a_1 ∈ s, Embedding.inl a_1 = a) → ¬∃ a_2 ∈ t, Embedding.inr a_2 = a

tactic: rintro x ⟨a, _, rfl⟩ ⟨b, _, ⟨⟩⟩
state_before: α : Type u_1
β : Type u_2
s : Finset α
t : Finset β
⊢ ∀ ⦃a : α ⊕ β⦄, (∃ a_1 ∈ s, Embedding.inl a_1 = a) → ¬∃ a_2 ∈ t, Embedding.inr a_2 = a
state_after: no goals
Theorem: TopologicalSpace.IsTopologicalBasis.of_hasBasis_nhds
File: Mathlib/Topology/Bases.lean

tactic: simpa only [and_assoc, (h_nhds x).mem_iff]
  using (inter_mem ((h_nhds _).mem_of_mem ⟨ht₁, hx.1⟩) ((h_nhds _).mem_of_mem ⟨ht₂, hx.2⟩))
state_before: α : Type u
β : Type u_1
t : TopologicalSpace α
B : Set (Set α)
s✝ : Set α
s : Set (Set α)
h_nhds : ∀ (a : α), (𝓝 a).HasBasis (fun t => t ∈ s ∧ a ∈ t) id
t₁ : Set α
ht₁ : t₁ ∈ s
t₂ : Set α
ht₂ : t₂ ∈ s
x : α
hx : x ∈ t₁ ∩ t₂
⊢ ∃ t₃ ∈ s, x ∈ t₃ ∧ t₃ ⊆ t₁ ∩ t₂
state_after: no goals

tactic: simpa only [nhds_generateFrom, and_comm] using (h_nhds x).eq_biInf
state_before: α : Type u
β : Type u_1
t : TopologicalSpace α
B : Set (Set α)
s✝ : Set α
s : Set (Set α)
h_nhds : ∀ (a : α), (𝓝 a).HasBasis (fun t => t ∈ s ∧ a ∈ t) id
x : α
⊢ 𝓝 x = 𝓝 x
state_after: no goals
Theorem: HomologicalComplex₂.ιTotal_totalFlipIso_f_inv
File: Mathlib/Algebra/Homology/TotalComplexSymmetry.lean

tactic: rw [ComplexShape.π_symm c₁ c₂ c i₁ i₂, h]
state_before: C : Type u_1
I₁ : Type u_2
I₂ : Type u_3
J : Type u_4
inst✝⁷ : Category.{?u.40369, u_1} C
inst✝⁶ : Preadditive C
c₁ : ComplexShape I₁
c₂ : ComplexShape I₂
K : HomologicalComplex₂ C c₁ c₂
c : ComplexShape J
inst✝⁵ : TotalComplexShape c₁ c₂ c
inst✝⁴ : TotalComplexShape c₂ c₁ c
inst✝³ : TotalComplexShapeSymmetry c₁ c₂ c
inst✝² : K.HasTotal c
inst✝¹ : K.flip.HasTotal c
inst✝ : DecidableEq J
i₁ : I₁
i₂ : I₂
j : J
h : c₁.π c₂ c (i₁, i₂) = j
⊢ c₂.π c₁ c (i₂, i₁) = j
state_after: no goals

tactic: simp [totalFlipIso, totalFlipIsoX]
state_before: C : Type u_1
I₁ : Type u_2
I₂ : Type u_3
J : Type u_4
inst✝⁷ : Category.{u_5, u_1} C
inst✝⁶ : Preadditive C
c₁ : ComplexShape I₁
c₂ : ComplexShape I₂
K : HomologicalComplex₂ C c₁ c₂
c : ComplexShape J
inst✝⁵ : TotalComplexShape c₁ c₂ c
inst✝⁴ : TotalComplexShape c₂ c₁ c
inst✝³ : TotalComplexShapeSymmetry c₁ c₂ c
inst✝² : K.HasTotal c
inst✝¹ : K.flip.HasTotal c
inst✝ : DecidableEq J
i₁ : I₁
i₂ : I₂
j : J
h : c₁.π c₂ c (i₁, i₂) = j
⊢ K.ιTotal c i₁ i₂ j h ≫ (K.totalFlipIso c).inv.f j = c₁.σ c₂ c i₁ i₂ • K.flip.ιTotal c i₂ i₁ j ⋯
state_after: no goals
Theorem: CategoryTheory.Functor.map_comp_heq'
File: Mathlib/CategoryTheory/EqToHom.lean

tactic: rw [Functor.hext hobj fun _ _ => hmap]
state_before: C : Type u₁
inst✝² : Category.{v₁, u₁} C
β : Sort u_1
D : Type u₂
inst✝¹ : Category.{v₂, u₂} D
E : Type u₃
inst✝ : Category.{v₃, u₃} E
F G : C ⥤ D
X Y Z : C
f : X ⟶ Y
g : Y ⟶ Z
hobj : ∀ (X : C), F.obj X = G.obj X
hmap : ∀ {X Y : C} (f : X ⟶ Y), HEq (F.map f) (G.map f)
⊢ HEq (F.map (f ≫ g)) (G.map (f ≫ g))
state_after: no goals
Theorem: Wbtw.trans_sbtw_right
File: Mathlib/Analysis/Convex/Between.lean

tactic: rw [wbtw_comm] at *
state_before: R : Type u_1
V : Type u_2
V' : Type u_3
P : Type u_4
P' : Type u_5
inst✝⁷ : OrderedRing R
inst✝⁶ : AddCommGroup V
inst✝⁵ : Module R V
inst✝⁴ : AddTorsor V P
inst✝³ : AddCommGroup V'
inst✝² : Module R V'
inst✝¹ : AddTorsor V' P'
inst✝ : NoZeroSMulDivisors R V
w x y z : P
h₁ : Wbtw R w x z
h₂ : Sbtw R x y z
⊢ Sbtw R w y z
state_after: R : Type u_1
V : Type u_2
V' : Type u_3
P : Type u_4
P' : Type u_5
inst✝⁷ : OrderedRing R
inst✝⁶ : AddCommGroup V
inst✝⁵ : Module R V
inst✝⁴ : AddTorsor V P
inst✝³ : AddCommGroup V'
inst✝² : Module R V'
inst✝¹ : AddTorsor V' P'
inst✝ : NoZeroSMulDivisors R V
w x y z : P
h₁ : Wbtw R z x w
h₂ : Sbtw R x y z
⊢ Sbtw R w y z

tactic: rw [sbtw_comm] at *
state_before: R : Type u_1
V : Type u_2
V' : Type u_3
P : Type u_4
P' : Type u_5
inst✝⁷ : OrderedRing R
inst✝⁶ : AddCommGroup V
inst✝⁵ : Module R V
inst✝⁴ : AddTorsor V P
inst✝³ : AddCommGroup V'
inst✝² : Module R V'
inst✝¹ : AddTorsor V' P'
inst✝ : NoZeroSMulDivisors R V
w x y z : P
h₁ : Wbtw R z x w
h₂ : Sbtw R x y z
⊢ Sbtw R w y z
state_after: R : Type u_1
V : Type u_2
V' : Type u_3
P : Type u_4
P' : Type u_5
inst✝⁷ : OrderedRing R
inst✝⁶ : AddCommGroup V
inst✝⁵ : Module R V
inst✝⁴ : AddTorsor V P
inst✝³ : AddCommGroup V'
inst✝² : Module R V'
inst✝¹ : AddTorsor V' P'
inst✝ : NoZeroSMulDivisors R V
w x y z : P
h₁ : Wbtw R z x w
h₂ : Sbtw R z y x
⊢ Sbtw R z y w

tactic: exact h₁.trans_sbtw_left h₂
state_before: R : Type u_1
V : Type u_2
V' : Type u_3
P : Type u_4
P' : Type u_5
inst✝⁷ : OrderedRing R
inst✝⁶ : AddCommGroup V
inst✝⁵ : Module R V
inst✝⁴ : AddTorsor V P
inst✝³ : AddCommGroup V'
inst✝² : Module R V'
inst✝¹ : AddTorsor V' P'
inst✝ : NoZeroSMulDivisors R V
w x y z : P
h₁ : Wbtw R z x w
h₂ : Sbtw R z y x
⊢ Sbtw R z y w
state_after: no goals
Theorem: AffineSubspace.coe_affineSpan_singleton
File: Mathlib/LinearAlgebra/AffineSpace/AffineSubspace.lean

tactic: ext x
state_before: k : Type u_1
V : Type u_2
P : Type u_3
inst✝² : Ring k
inst✝¹ : AddCommGroup V
inst✝ : Module k V
S : AffineSpace V P
p₁ p₂ p : P
⊢ ↑(affineSpan k {p}) = {p}
state_after: case h
k : Type u_1
V : Type u_2
P : Type u_3
inst✝² : Ring k
inst✝¹ : AddCommGroup V
inst✝ : Module k V
S : AffineSpace V P
p₁ p₂ p x : P
⊢ x ∈ ↑(affineSpan k {p}) ↔ x ∈ {p}

tactic: rw [mem_coe, ← vsub_right_mem_direction_iff_mem (mem_affineSpan k (Set.mem_singleton p)) _,
  direction_affineSpan]
state_before: case h
k : Type u_1
V : Type u_2
P : Type u_3
inst✝² : Ring k
inst✝¹ : AddCommGroup V
inst✝ : Module k V
S : AffineSpace V P
p₁ p₂ p x : P
⊢ x ∈ ↑(affineSpan k {p}) ↔ x ∈ {p}
state_after: case h
k : Type u_1
V : Type u_2
P : Type u_3
inst✝² : Ring k
inst✝¹ : AddCommGroup V
inst✝ : Module k V
S : AffineSpace V P
p₁ p₂ p x : P
⊢ x -ᵥ p ∈ vectorSpan k {p} ↔ x ∈ {p}

tactic: simp
state_before: case h
k : Type u_1
V : Type u_2
P : Type u_3
inst✝² : Ring k
inst✝¹ : AddCommGroup V
inst✝ : Module k V
S : AffineSpace V P
p₁ p₂ p x : P
⊢ x -ᵥ p ∈ vectorSpan k {p} ↔ x ∈ {p}
state_after: no goals
Theorem: NNReal.le_iInf_add_iInf
File: Mathlib/Data/NNReal/Basic.lean

tactic: rw [← NNReal.coe_le_coe, NNReal.coe_add, coe_iInf, coe_iInf]
state_before: r r₁ r₂ : ℝ≥0
x y : ℝ
ι : Sort u_1
ι' : Sort u_2
inst✝¹ : Nonempty ι
inst✝ : Nonempty ι'
f : ι → ℝ≥0
g : ι' → ℝ≥0
a : ℝ≥0
h : ∀ (i : ι) (j : ι'), a ≤ f i + g j
⊢ a ≤ (⨅ i, f i) + ⨅ j, g j
state_after: r r₁ r₂ : ℝ≥0
x y : ℝ
ι : Sort u_1
ι' : Sort u_2
inst✝¹ : Nonempty ι
inst✝ : Nonempty ι'
f : ι → ℝ≥0
g : ι' → ℝ≥0
a : ℝ≥0
h : ∀ (i : ι) (j : ι'), a ≤ f i + g j
⊢ ↑a ≤ (⨅ i, ↑(f i)) + ⨅ i, ↑(g i)

tactic: exact le_ciInf_add_ciInf h
state_before: r r₁ r₂ : ℝ≥0
x y : ℝ
ι : Sort u_1
ι' : Sort u_2
inst✝¹ : Nonempty ι
inst✝ : Nonempty ι'
f : ι → ℝ≥0
g : ι' → ℝ≥0
a : ℝ≥0
h : ∀ (i : ι) (j : ι'), a ≤ f i + g j
⊢ ↑a ≤ (⨅ i, ↑(f i)) + ⨅ i, ↑(g i)
state_after: no goals
Theorem: t0Space_iff_ker_uniformity
File: Mathlib/Topology/UniformSpace/Separation.lean

tactic: simp_rw [t0Space_iff_uniformity, subset_antisymm_iff, diagonal_subset_iff, subset_def,
  Prod.forall, Filter.mem_ker, mem_diagonal_iff, iff_self_and]
state_before: α : Type u
β : Type v
γ : Type w
inst✝² : UniformSpace α
inst✝¹ : UniformSpace β
inst✝ : UniformSpace γ
⊢ T0Space α ↔ (𝓤 α).ker = diagonal α
state_after: α : Type u
β : Type v
γ : Type w
inst✝² : UniformSpace α
inst✝¹ : UniformSpace β
inst✝ : UniformSpace γ
⊢ (∀ (a b : α), (∀ s ∈ 𝓤 α, (a, b) ∈ s) → a = b) → ∀ (x : α), ∀ s ∈ 𝓤 α, (x, x) ∈ s

tactic: exact fun _ x s hs ↦ refl_mem_uniformity hs
state_before: α : Type u
β : Type v
γ : Type w
inst✝² : UniformSpace α
inst✝¹ : UniformSpace β
inst✝ : UniformSpace γ
⊢ (∀ (a b : α), (∀ s ∈ 𝓤 α, (a, b) ∈ s) → a = b) → ∀ (x : α), ∀ s ∈ 𝓤 α, (x, x) ∈ s
state_after: no goals
Theorem: LieIdeal.map_sup_ker_eq_map'
File: Mathlib/Algebra/Lie/Submodule.lean

tactic: simpa using map_sup_ker_eq_map (f := f)
state_before: R : Type u
L : Type v
L' : Type w₂
M : Type w
M' : Type w₁
inst✝¹² : CommRing R
inst✝¹¹ : LieRing L
inst✝¹⁰ : LieAlgebra R L
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'
f : L →ₗ⁅R⁆ L'
I : LieIdeal R L
J : LieIdeal R L'
⊢ map f I ⊔ map f f.ker = map f I
state_after: no goals
Theorem: Matrix.cramer_is_linear
File: Mathlib/LinearAlgebra/Matrix/Adjugate.lean

tactic: constructor <;> intros <;> ext i
state_before: m : Type u
n : Type v
α : Type w
inst✝⁴ : DecidableEq n
inst✝³ : Fintype n
inst✝² : DecidableEq m
inst✝¹ : Fintype m
inst✝ : CommRing α
A : Matrix n n α
b : n → α
⊢ IsLinearMap α A.cramerMap
state_after: case map_add.h
m : Type u
n : Type v
α : Type w
inst✝⁴ : DecidableEq n
inst✝³ : Fintype n
inst✝² : DecidableEq m
inst✝¹ : Fintype m
inst✝ : CommRing α
A : Matrix n n α
b x✝ y✝ : n → α
i : n
⊢ A.cramerMap (x✝ + y✝) i = (A.cramerMap x✝ + A.cramerMap y✝) i

case map_smul.h
m : Type u
n : Type v
α : Type w
inst✝⁴ : DecidableEq n
inst✝³ : Fintype n
inst✝² : DecidableEq m
inst✝¹ : Fintype m
inst✝ : CommRing α
A : Matrix n n α
b : n → α
c✝ : α
x✝ : n → α
i : n
⊢ A.cramerMap (c✝ • x✝) i = (c✝ • A.cramerMap x✝) i

tactic: apply (cramerMap_is_linear A i).1
state_before: case map_add.h
m : Type u
n : Type v
α : Type w
inst✝⁴ : DecidableEq n
inst✝³ : Fintype n
inst✝² : DecidableEq m
inst✝¹ : Fintype m
inst✝ : CommRing α
A : Matrix n n α
b x✝ y✝ : n → α
i : n
⊢ A.cramerMap (x✝ + y✝) i = (A.cramerMap x✝ + A.cramerMap y✝) i
state_after: no goals

tactic: apply (cramerMap_is_linear A i).2
state_before: case map_smul.h
m : Type u
n : Type v
α : Type w
inst✝⁴ : DecidableEq n
inst✝³ : Fintype n
inst✝² : DecidableEq m
inst✝¹ : Fintype m
inst✝ : CommRing α
A : Matrix n n α
b : n → α
c✝ : α
x✝ : n → α
i : n
⊢ A.cramerMap (c✝ • x✝) i = (c✝ • A.cramerMap x✝) i
state_after: no goals
Theorem: Nat.div_lt_iff_lt_mul'
File: Mathlib/Data/Nat/Defs.lean

tactic: simp only [← Nat.not_le, le_div_iff_mul_le' hb]
state_before: a b c d m n k : ℕ
p q : ℕ → Prop
hb : 0 < b
⊢ a / b < c ↔ a < c * b
state_after: no goals
Theorem: CategoryTheory.imageUnopOp_inv_comp_op_factorThruImage
File: Mathlib/CategoryTheory/Abelian/Opposite.lean

tactic: rw [Iso.inv_comp_eq, imageUnopOp_hom_comp_image_ι]
state_before: C : Type u_1
inst✝¹ : Category.{u_2, u_1} C
inst✝ : Abelian C
X Y : C
f : X ⟶ Y
A B : Cᵒᵖ
g : A ⟶ B
⊢ (imageUnopOp g).inv ≫ (factorThruImage g.unop).op = image.ι g
state_after: no goals
Theorem: Surreal.Multiplication.ih1_swap
File: Mathlib/SetTheory/Surreal/Multiplication.lean

tactic: simp_rw [ArgsRel, InvImage, Args.toMultiset, Multiset.pair_comm] at ih ⊢
state_before: x x₁ x₂ x₃ x' y y₁ y₂ y₃ y' : PGame
ih : ∀ (a : Args), ArgsRel a (Args.P1 x y) → P124 a
⊢ ∀ (a : Args), ArgsRel a (Args.P1 y x) → P124 a
state_after: x x₁ x₂ x₃ x' y y₁ y₂ y₃ y' : PGame
ih :
  ∀ (a : Args),
    TransGen (CutExpand IsOption)
        (match a with
        | Args.P1 x y => {y, x}
        | Args.P24 x₁ x₂ y => {x₁, y, x₂})
        {y, x} →
      P124 a
⊢ ∀ (a : Args),
    TransGen (CutExpand IsOption)
        (match a with
        | Args.P1 x y => {y, x}
        | Args.P24 x₁ x₂ y => {x₁, y, x₂})
        {y, x} →
      P124 a

tactic: exact ih
state_before: x x₁ x₂ x₃ x' y y₁ y₂ y₃ y' : PGame
ih :
  ∀ (a : Args),
    TransGen (CutExpand IsOption)
        (match a with
        | Args.P1 x y => {y, x}
        | Args.P24 x₁ x₂ y => {x₁, y, x₂})
        {y, x} →
      P124 a
⊢ ∀ (a : Args),
    TransGen (CutExpand IsOption)
        (match a with
        | Args.P1 x y => {y, x}
        | Args.P24 x₁ x₂ y => {x₁, y, x₂})
        {y, x} →
      P124 a
state_after: no goals
Theorem: unitInterval.one_minus_le_one
File: Mathlib/Topology/UnitInterval.lean

tactic: simpa using x.2.1
state_before: x : ↑I
⊢ 1 - ↑x ≤ 1
state_after: no goals
Theorem: LinearIsometry.norm_compContinuousMultilinearMap
File: Mathlib/Analysis/NormedSpace/Multilinear/Basic.lean

tactic: simp only [ContinuousLinearMap.compContinuousMultilinearMap_coe,
  LinearIsometry.coe_toContinuousLinearMap, LinearIsometry.norm_map,
  ContinuousMultilinearMap.norm_def, Function.comp_apply]
state_before: 𝕜 : Type u
ι : Type v
ι' : Type v'
E : ι → Type wE
E₁ : ι → Type wE₁
E' : ι' → Type wE'
G : Type wG
G' : Type wG'
inst✝¹² : Fintype ι
inst✝¹¹ : Fintype ι'
inst✝¹⁰ : NontriviallyNormedField 𝕜
inst✝⁹ : (i : ι) → SeminormedAddCommGroup (E i)
inst✝⁸ : (i : ι) → NormedSpace 𝕜 (E i)
inst✝⁷ : (i : ι) → SeminormedAddCommGroup (E₁ i)
inst✝⁶ : (i : ι) → NormedSpace 𝕜 (E₁ i)
inst✝⁵ : (i : ι') → SeminormedAddCommGroup (E' i)
inst✝⁴ : (i : ι') → NormedSpace 𝕜 (E' i)
inst✝³ : SeminormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
inst✝¹ : SeminormedAddCommGroup G'
inst✝ : NormedSpace 𝕜 G'
g : G →ₗᵢ[𝕜] G'
f : ContinuousMultilinearMap 𝕜 E G
⊢ ‖g.toContinuousLinearMap.compContinuousMultilinearMap f‖ = ‖f‖
state_after: no goals
Theorem: Unitization.isStarNormal_inr
File: Mathlib/Algebra/Algebra/Unitization.lean

tactic: simp only [isStarNormal_iff, commute_iff_eq, ← inr_star, ← inr_mul, inr_injective.eq_iff]
state_before: R : Type u_1
A : Type u_2
inst✝⁵ : Semiring R
inst✝⁴ : AddCommMonoid A
inst✝³ : Mul A
inst✝² : SMulWithZero R A
inst✝¹ : StarAddMonoid R
inst✝ : Star A
a : A
⊢ IsStarNormal ↑a ↔ IsStarNormal a
state_after: no goals