1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: groupCohomology.isoZeroCocycles_hom_comp_subtype
File: Mathlib/RepresentationTheory/GroupCohomology/LowDegree.lean

tactic: dsimp [isoZeroCocycles]
state_before: k G : Type u
inst✝¹ : CommRing k
inst✝ : Group G
A : Rep k G
⊢ (isoZeroCocycles A).hom ≫ A.ρ.invariants.subtype = iCocycles A 0 ≫ (zeroCochainsLequiv A).toModuleIso.hom
state_after: k G : Type u
inst✝¹ : CommRing k
inst✝ : Group G
A : Rep k G
⊢ (KernelFork.ofι (HomologicalComplex.iCycles (inhomogeneousCochains A) 0) ⋯).mapOfIsLimit ⋯.fIsKernel
        (dZeroArrowIso A).hom ≫
      A.ρ.invariants.subtype =
    iCocycles A 0 ≫ ↑(zeroCochainsLequiv A)

tactic: apply KernelFork.mapOfIsLimit_ι
state_before: k G : Type u
inst✝¹ : CommRing k
inst✝ : Group G
A : Rep k G
⊢ (KernelFork.ofι (HomologicalComplex.iCycles (inhomogeneousCochains A) 0) ⋯).mapOfIsLimit ⋯.fIsKernel
        (dZeroArrowIso A).hom ≫
      A.ρ.invariants.subtype =
    iCocycles A 0 ≫ ↑(zeroCochainsLequiv A)
state_after: no goals
Theorem: Interval.length_sum_le
File: Mathlib/Algebra/Order/Interval/Basic.lean

tactic: apply Finset.le_sum_of_subadditive
state_before: ι : Type u_1
α : Type u_2
inst✝ : OrderedAddCommGroup α
s✝ t : Interval α
a : α
f : ι → Interval α
s : Finset ι
⊢ (∑ i ∈ s, f i).length ≤ ∑ i ∈ s, (f i).length
state_after: case h_one
ι : Type u_1
α : Type u_2
inst✝ : OrderedAddCommGroup α
s✝ t : Interval α
a : α
f : ι → Interval α
s : Finset ι
⊢ length 0 = 0

case h_mul
ι : Type u_1
α : Type u_2
inst✝ : OrderedAddCommGroup α
s✝ t : Interval α
a : α
f : ι → Interval α
s : Finset ι
⊢ ∀ (x y : Interval α), (x + y).length ≤ x.length + y.length

tactic: exact length_zero
state_before: case h_one
ι : Type u_1
α : Type u_2
inst✝ : OrderedAddCommGroup α
s✝ t : Interval α
a : α
f : ι → Interval α
s : Finset ι
⊢ length 0 = 0
state_after: no goals

tactic: exact length_add_le
state_before: case h_mul
ι : Type u_1
α : Type u_2
inst✝ : OrderedAddCommGroup α
s✝ t : Interval α
a : α
f : ι → Interval α
s : Finset ι
⊢ ∀ (x y : Interval α), (x + y).length ≤ x.length + y.length
state_after: no goals
Theorem: CategoryTheory.ShiftedHom.comp_assoc
File: Mathlib/CategoryTheory/Shift/ShiftedHom.lean

tactic: rw [← h₁₂, ← add_assoc, h]
state_before: C : Type u_1
inst✝² : Category.{?u.3006, u_1} C
M : Type u_2
inst✝¹ : AddMonoid M
inst✝ : HasShift C M
X Y Z T : C
a₁ a₂ a₃ a₁₂ a₂₃ a : M
α : ShiftedHom X Y a₁
β : ShiftedHom Y Z a₂
γ : ShiftedHom Z T a₃
h₁₂ : a₂ + a₁ = a₁₂
h₂₃ : a₃ + a₂ = a₂₃
h : a₃ + a₂ + a₁ = a
⊢ a₃ + a₁₂ = a
state_after: no goals

tactic: rw [← h₂₃, h]
state_before: C : Type u_1
inst✝² : Category.{?u.3006, u_1} C
M : Type u_2
inst✝¹ : AddMonoid M
inst✝ : HasShift C M
X Y Z T : C
a₁ a₂ a₃ a₁₂ a₂₃ a : M
α : ShiftedHom X Y a₁
β : ShiftedHom Y Z a₂
γ : ShiftedHom Z T a₃
h₁₂ : a₂ + a₁ = a₁₂
h₂₃ : a₃ + a₂ = a₂₃
h : a₃ + a₂ + a₁ = a
⊢ a₂₃ + a₁ = a
state_after: no goals

tactic: simp only [comp, assoc, Functor.map_comp,
  shiftFunctorAdd'_assoc_inv_app a₃ a₂ a₁ a₂₃ a₁₂ a h₂₃ h₁₂ h,
  ← NatTrans.naturality_assoc, Functor.comp_map]
state_before: C : Type u_1
inst✝² : Category.{u_3, u_1} C
M : Type u_2
inst✝¹ : AddMonoid M
inst✝ : HasShift C M
X Y Z T : C
a₁ a₂ a₃ a₁₂ a₂₃ a : M
α : ShiftedHom X Y a₁
β : ShiftedHom Y Z a₂
γ : ShiftedHom Z T a₃
h₁₂ : a₂ + a₁ = a₁₂
h₂₃ : a₃ + a₂ = a₂₃
h : a₃ + a₂ + a₁ = a
⊢ (α.comp β h₁₂).comp γ ⋯ = α.comp (β.comp γ h₂₃) ⋯
state_after: no goals
Theorem: Polynomial.of_irreducible_expand_pow
File: Mathlib/Algebra/Polynomial/Expand.lean

tactic: rwa [pow_zero, expand_one] at hf
state_before: R : Type u
inst✝¹ : CommRing R
inst✝ : IsDomain R
p : ℕ
hp : p ≠ 0
f : R[X]
n : ℕ
hf : Irreducible ((expand R (p ^ Nat.zero)) f)
⊢ Irreducible f
state_after: no goals

tactic: rw [pow_succ'] at hf
state_before: R : Type u
inst✝¹ : CommRing R
inst✝ : IsDomain R
p : ℕ
hp : p ≠ 0
f : R[X]
n✝ n : ℕ
ih : Irreducible ((expand R (p ^ n)) f) → Irreducible f
hf : Irreducible ((expand R (p ^ n.succ)) f)
⊢ Irreducible ((expand R p) ((expand R (p ^ n)) f))
state_after: R : Type u
inst✝¹ : CommRing R
inst✝ : IsDomain R
p : ℕ
hp : p ≠ 0
f : R[X]
n✝ n : ℕ
ih : Irreducible ((expand R (p ^ n)) f) → Irreducible f
hf : Irreducible ((expand R (p * p ^ n)) f)
⊢ Irreducible ((expand R p) ((expand R (p ^ n)) f))

tactic: rwa [expand_expand]
state_before: R : Type u
inst✝¹ : CommRing R
inst✝ : IsDomain R
p : ℕ
hp : p ≠ 0
f : R[X]
n✝ n : ℕ
ih : Irreducible ((expand R (p ^ n)) f) → Irreducible f
hf : Irreducible ((expand R (p * p ^ n)) f)
⊢ Irreducible ((expand R p) ((expand R (p ^ n)) f))
state_after: no goals
Theorem: Complex.arg_coe_angle_eq_iff
File: Mathlib/Analysis/SpecialFunctions/Complex/Arg.lean

tactic: simp_rw [← Real.Angle.toReal_inj, arg_coe_angle_toReal_eq_arg]
state_before: a x✝ z x y : ℂ
⊢ ↑x.arg = ↑y.arg ↔ x.arg = y.arg
state_after: no goals
Theorem: CategoryTheory.IsFiltered.span
File: Mathlib/CategoryTheory/Filtered/Basic.lean

tactic: simpa only [← Category.assoc]
state_before: C : Type u
inst✝¹ : Category.{v, u} C
inst✝ : IsFilteredOrEmpty C
i j j' : C
f : i ⟶ j
f' : i ⟶ j'
K : C
G : j ⟶ K
G' : j' ⟶ K
h✝ : True
k : C
e : K ⟶ k
he : (f ≫ G) ≫ e = (f' ≫ G') ≫ e
⊢ f ≫ G ≫ e = f' ≫ G' ≫ e
state_after: no goals
Theorem: Sbtw.oangle_eq_add_pi_right
File: Mathlib/Geometry/Euclidean/Angle/Oriented/Affine.lean

tactic: rw [← h.oangle₃₂₁_eq_pi, oangle_add hp₁p₂ h.right_ne h.left_ne]
state_before: V : Type u_1
P : Type u_2
inst✝⁴ : NormedAddCommGroup V
inst✝³ : InnerProductSpace ℝ V
inst✝² : MetricSpace P
inst✝¹ : NormedAddTorsor V P
hd2 : Fact (finrank ℝ V = 2)
inst✝ : Module.Oriented ℝ V (Fin 2)
p₁ p₂ p₃ p₃' : P
h : Sbtw ℝ p₃ p₂ p₃'
hp₁p₂ : p₁ ≠ p₂
⊢ ∡ p₁ p₂ p₃ = ∡ p₁ p₂ p₃' + ↑π
state_after: no goals
Theorem: Finset.diffs_compls_eq_infs
File: Mathlib/Data/Finset/Sups.lean

tactic: rw [← infs_compls_eq_diffs, compls_compls]
state_before: F : Type u_1
α : Type u_2
β : Type u_3
inst✝² : DecidableEq α
inst✝¹ : DecidableEq β
inst✝ : BooleanAlgebra α
s✝ s₁ s₂ t✝ t₁ t₂ u v : Finset α
a b c : α
s t : Finset α
⊢ s \\ tᶜˢ = s ⊼ t
state_after: no goals
Theorem: MeasureTheory.Measure.ae_le_iff_absolutelyContinuous
File: Mathlib/MeasureTheory/Measure/MeasureSpace.lean

tactic: rw [measure_zero_iff_ae_nmem, measure_zero_iff_ae_nmem]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Type u_5
R : Type u_6
R' : Type u_7
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t : Set α
f : α → β
h : ae μ ≤ ae ν
s : Set α
⊢ ν s = 0 → μ s = 0
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Type u_5
R : Type u_6
R' : Type u_7
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t : Set α
f : α → β
h : ae μ ≤ ae ν
s : Set α
⊢ (∀ᵐ (a : α) ∂ν, a ∉ s) → ∀ᵐ (a : α) ∂μ, a ∉ s

tactic: exact fun hs => h hs
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Type u_5
R : Type u_6
R' : Type u_7
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t : Set α
f : α → β
h : ae μ ≤ ae ν
s : Set α
⊢ (∀ᵐ (a : α) ∂ν, a ∉ s) → ∀ᵐ (a : α) ∂μ, a ∉ s
state_after: no goals
Theorem: CategoryTheory.Idempotents.Karoubi.comp_p
File: Mathlib/CategoryTheory/Idempotents/Karoubi.lean

tactic: rw [f.comm, assoc, assoc, Q.idem]
state_before: C : Type u_1
inst✝ : Category.{u_2, u_1} C
P Q : Karoubi C
f : P.Hom Q
⊢ f.f ≫ Q.p = f.f
state_after: no goals
Theorem: Cardinal.lt_univ'
File: Mathlib/SetTheory/Ordinal/Basic.lean

tactic: let ⟨a, e, h'⟩ := lt_lift_iff.1 h
state_before: α : Type u
β : Type u_1
γ : Type u_2
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
c : Cardinal.{max (u + 1) v}
h : c < univ.{u, v}
⊢ ∃ c', c = lift.{max (u + 1) v, u} c'
state_after: α : Type u
β : Type u_1
γ : Type u_2
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
c : Cardinal.{max (u + 1) v}
h : c < univ.{u, v}
a : Cardinal.{u + 1}
e : lift.{v, u + 1} a = c
h' : a < #Ordinal.{u}
⊢ ∃ c', c = lift.{max (u + 1) v, u} c'

tactic: rw [← univ_id] at h'
state_before: α : Type u
β : Type u_1
γ : Type u_2
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
c : Cardinal.{max (u + 1) v}
h : c < univ.{u, v}
a : Cardinal.{u + 1}
e : lift.{v, u + 1} a = c
h' : a < #Ordinal.{u}
⊢ ∃ c', c = lift.{max (u + 1) v, u} c'
state_after: α : Type u
β : Type u_1
γ : Type u_2
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
c : Cardinal.{max (u + 1) v}
h : c < univ.{u, v}
a : Cardinal.{u + 1}
e : lift.{v, u + 1} a = c
h' : a < univ.{u, u + 1}
⊢ ∃ c', c = lift.{max (u + 1) v, u} c'

tactic: rcases lt_univ.{u}.1 h' with ⟨c', rfl⟩
state_before: α : Type u
β : Type u_1
γ : Type u_2
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
c : Cardinal.{max (u + 1) v}
h : c < univ.{u, v}
a : Cardinal.{u + 1}
e : lift.{v, u + 1} a = c
h' : a < univ.{u, u + 1}
⊢ ∃ c', c = lift.{max (u + 1) v, u} c'
state_after: case intro
α : Type u
β : Type u_1
γ : Type u_2
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
c : Cardinal.{max (u + 1) v}
h : c < univ.{u, v}
c' : Cardinal.{u}
e : lift.{v, u + 1} (lift.{u + 1, u} c') = c
h' : lift.{u + 1, u} c' < univ.{u, u + 1}
⊢ ∃ c', c = lift.{max (u + 1) v, u} c'

tactic: exact ⟨c', by simp only [e.symm, lift_lift]⟩
state_before: case intro
α : Type u
β : Type u_1
γ : Type u_2
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
c : Cardinal.{max (u + 1) v}
h : c < univ.{u, v}
c' : Cardinal.{u}
e : lift.{v, u + 1} (lift.{u + 1, u} c') = c
h' : lift.{u + 1, u} c' < univ.{u, u + 1}
⊢ ∃ c', c = lift.{max (u + 1) v, u} c'
state_after: no goals

tactic: simp only [e.symm, lift_lift]
state_before: α : Type u
β : Type u_1
γ : Type u_2
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
c : Cardinal.{max (u + 1) v}
h : c < univ.{u, v}
c' : Cardinal.{u}
e : lift.{v, u + 1} (lift.{u + 1, u} c') = c
h' : lift.{u + 1, u} c' < univ.{u, u + 1}
⊢ c = lift.{max (u + 1) v, u} c'
state_after: no goals
Theorem: symmDiff_symmDiff_right
File: Mathlib/Order/SymmDiff.lean

tactic: rw [sdiff_symmDiff', sup_comm (a ⊓ b ⊓ c), symmDiff_sdiff]
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
π : ι → Type u_4
inst✝ : GeneralizedBooleanAlgebra α
a b c d : α
⊢ a \ b ∆ c ⊔ b ∆ c \ a = a \ (b ⊔ c) ⊔ a ⊓ b ⊓ c ⊔ (b \ (c ⊔ a) ⊔ c \ (b ⊔ a))
state_after: no goals

tactic: ac_rfl
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
π : ι → Type u_4
inst✝ : GeneralizedBooleanAlgebra α
a b c d : α
⊢ a \ (b ⊔ c) ⊔ a ⊓ b ⊓ c ⊔ (b \ (c ⊔ a) ⊔ c \ (b ⊔ a)) = a \ (b ⊔ c) ⊔ b \ (a ⊔ c) ⊔ c \ (a ⊔ b) ⊔ a ⊓ b ⊓ c
state_after: no goals
Theorem: CategoryTheory.comp_eq_zero_of_exact
File: Mathlib/Algebra/Homology/Exact.lean

tactic: rw [← kernel.lift_ι _ _ hι, ← cokernel.π_desc _ _ hπ, Category.assoc,
  kernel_comp_cokernel_assoc _ _ h, zero_comp, comp_zero]
state_before: V : Type u
inst✝⁴ : Category.{v, u} V
inst✝³ : HasImages V
A B C D : V
f : A ⟶ B
g : B ⟶ C
h✝ : C ⟶ D
inst✝² : HasZeroMorphisms V
inst✝¹ : HasEqualizers V
inst✝ : HasCokernels V
h : Exact f g
X Y : V
ι : X ⟶ B
hι : ι ≫ g = 0
π : B ⟶ Y
hπ : f ≫ π = 0
⊢ ι ≫ π = 0
state_after: no goals
Theorem: Equiv.Perm.filter_parts_partition_eq_cycleType
File: Mathlib/GroupTheory/Perm/Cycle/Type.lean

tactic: rw [parts_partition, filter_add, Multiset.filter_eq_self.2 fun _ => two_le_of_mem_cycleType,
  Multiset.filter_eq_nil.2 fun a h => ?_, add_zero]
state_before: α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
σ : Perm α
⊢ Multiset.filter (fun n => 2 ≤ n) σ.partition.parts = σ.cycleType
state_after: α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
σ : Perm α
a : ℕ
h : a ∈ Multiset.replicate (Fintype.card α - σ.support.card) 1
⊢ ¬2 ≤ a

tactic: rw [Multiset.eq_of_mem_replicate h]
state_before: α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
σ : Perm α
a : ℕ
h : a ∈ Multiset.replicate (Fintype.card α - σ.support.card) 1
⊢ ¬2 ≤ a
state_after: α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
σ : Perm α
a : ℕ
h : a ∈ Multiset.replicate (Fintype.card α - σ.support.card) 1
⊢ ¬2 ≤ 1

tactic: decide
state_before: α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
σ : Perm α
a : ℕ
h : a ∈ Multiset.replicate (Fintype.card α - σ.support.card) 1
⊢ ¬2 ≤ 1
state_after: no goals
Theorem: QuotientGroup.isClosedMap_coe
File: Mathlib/Topology/Algebra/Group/Basic.lean

tactic: intro t ht
state_before: G : Type w
H✝ : Type x
α : Type u
β : Type v
inst✝² : TopologicalSpace G
inst✝¹ : Group G
inst✝ : TopologicalGroup G
s t : Set G
H : Subgroup G
hH : IsCompact ↑H
⊢ IsClosedMap mk
state_after: G : Type w
H✝ : Type x
α : Type u
β : Type v
inst✝² : TopologicalSpace G
inst✝¹ : Group G
inst✝ : TopologicalGroup G
s t✝ : Set G
H : Subgroup G
hH : IsCompact ↑H
t : Set G
ht : IsClosed t
⊢ IsClosed (mk '' t)

tactic: rw [← quotientMap_quotient_mk'.isClosed_preimage]
state_before: G : Type w
H✝ : Type x
α : Type u
β : Type v
inst✝² : TopologicalSpace G
inst✝¹ : Group G
inst✝ : TopologicalGroup G
s t✝ : Set G
H : Subgroup G
hH : IsCompact ↑H
t : Set G
ht : IsClosed t
⊢ IsClosed (mk '' t)
state_after: G : Type w
H✝ : Type x
α : Type u
β : Type v
inst✝² : TopologicalSpace G
inst✝¹ : Group G
inst✝ : TopologicalGroup G
s t✝ : Set G
H : Subgroup G
hH : IsCompact ↑H
t : Set G
ht : IsClosed t
⊢ IsClosed (Quotient.mk' ⁻¹' (mk '' t))

tactic: convert ht.mul_right_of_isCompact hH
state_before: G : Type w
H✝ : Type x
α : Type u
β : Type v
inst✝² : TopologicalSpace G
inst✝¹ : Group G
inst✝ : TopologicalGroup G
s t✝ : Set G
H : Subgroup G
hH : IsCompact ↑H
t : Set G
ht : IsClosed t
⊢ IsClosed (Quotient.mk' ⁻¹' (mk '' t))
state_after: case h.e'_3
G : Type w
H✝ : Type x
α : Type u
β : Type v
inst✝² : TopologicalSpace G
inst✝¹ : Group G
inst✝ : TopologicalGroup G
s t✝ : Set G
H : Subgroup G
hH : IsCompact ↑H
t : Set G
ht : IsClosed t
⊢ Quotient.mk' ⁻¹' (mk '' t) = t * ↑H

tactic: refine (QuotientGroup.preimage_image_mk_eq_iUnion_image _ _).trans ?_
state_before: case h.e'_3
G : Type w
H✝ : Type x
α : Type u
β : Type v
inst✝² : TopologicalSpace G
inst✝¹ : Group G
inst✝ : TopologicalGroup G
s t✝ : Set G
H : Subgroup G
hH : IsCompact ↑H
t : Set G
ht : IsClosed t
⊢ Quotient.mk' ⁻¹' (mk '' t) = t * ↑H
state_after: case h.e'_3
G : Type w
H✝ : Type x
α : Type u
β : Type v
inst✝² : TopologicalSpace G
inst✝¹ : Group G
inst✝ : TopologicalGroup G
s t✝ : Set G
H : Subgroup G
hH : IsCompact ↑H
t : Set G
ht : IsClosed t
⊢ ⋃ x, (fun x_1 => x_1 * ↑x) '' t = t * ↑H

tactic: rw [iUnion_subtype, ← iUnion_mul_right_image]
state_before: case h.e'_3
G : Type w
H✝ : Type x
α : Type u
β : Type v
inst✝² : TopologicalSpace G
inst✝¹ : Group G
inst✝ : TopologicalGroup G
s t✝ : Set G
H : Subgroup G
hH : IsCompact ↑H
t : Set G
ht : IsClosed t
⊢ ⋃ x, (fun x_1 => x_1 * ↑x) '' t = t * ↑H
state_after: case h.e'_3
G : Type w
H✝ : Type x
α : Type u
β : Type v
inst✝² : TopologicalSpace G
inst✝¹ : Group G
inst✝ : TopologicalGroup G
s t✝ : Set G
H : Subgroup G
hH : IsCompact ↑H
t : Set G
ht : IsClosed t
⊢ ⋃ x, ⋃ (hx : x ∈ H), (fun x_1 => x_1 * ↑⟨x, hx⟩) '' t = ⋃ a ∈ ↑H, (fun x => x * a) '' t

tactic: rfl
state_before: case h.e'_3
G : Type w
H✝ : Type x
α : Type u
β : Type v
inst✝² : TopologicalSpace G
inst✝¹ : Group G
inst✝ : TopologicalGroup G
s t✝ : Set G
H : Subgroup G
hH : IsCompact ↑H
t : Set G
ht : IsClosed t
⊢ ⋃ x, ⋃ (hx : x ∈ H), (fun x_1 => x_1 * ↑⟨x, hx⟩) '' t = ⋃ a ∈ ↑H, (fun x => x * a) '' t
state_after: no goals
Theorem: Basis.toMatrix_self
File: Mathlib/LinearAlgebra/Matrix/Basis.lean

tactic: unfold Basis.toMatrix
state_before: ι : Type u_1
ι' : Type u_2
κ : Type u_3
κ' : Type u_4
R : Type u_5
M : Type u_6
inst✝⁶ : CommSemiring R
inst✝⁵ : AddCommMonoid M
inst✝⁴ : Module R M
R₂ : Type u_7
M₂ : Type u_8
inst✝³ : CommRing R₂
inst✝² : AddCommGroup M₂
inst✝¹ : Module R₂ M₂
e : Basis ι R M
v : ι' → M
i : ι
j : ι'
inst✝ : DecidableEq ι
⊢ e.toMatrix ⇑e = 1
state_after: ι : Type u_1
ι' : Type u_2
κ : Type u_3
κ' : Type u_4
R : Type u_5
M : Type u_6
inst✝⁶ : CommSemiring R
inst✝⁵ : AddCommMonoid M
inst✝⁴ : Module R M
R₂ : Type u_7
M₂ : Type u_8
inst✝³ : CommRing R₂
inst✝² : AddCommGroup M₂
inst✝¹ : Module R₂ M₂
e : Basis ι R M
v : ι' → M
i : ι
j : ι'
inst✝ : DecidableEq ι
⊢ (fun i j => (e.repr (e j)) i) = 1

tactic: ext i j
state_before: ι : Type u_1
ι' : Type u_2
κ : Type u_3
κ' : Type u_4
R : Type u_5
M : Type u_6
inst✝⁶ : CommSemiring R
inst✝⁵ : AddCommMonoid M
inst✝⁴ : Module R M
R₂ : Type u_7
M₂ : Type u_8
inst✝³ : CommRing R₂
inst✝² : AddCommGroup M₂
inst✝¹ : Module R₂ M₂
e : Basis ι R M
v : ι' → M
i : ι
j : ι'
inst✝ : DecidableEq ι
⊢ (fun i j => (e.repr (e j)) i) = 1
state_after: case a
ι : Type u_1
ι' : Type u_2
κ : Type u_3
κ' : Type u_4
R : Type u_5
M : Type u_6
inst✝⁶ : CommSemiring R
inst✝⁵ : AddCommMonoid M
inst✝⁴ : Module R M
R₂ : Type u_7
M₂ : Type u_8
inst✝³ : CommRing R₂
inst✝² : AddCommGroup M₂
inst✝¹ : Module R₂ M₂
e : Basis ι R M
v : ι' → M
i✝ : ι
j✝ : ι'
inst✝ : DecidableEq ι
i j : ι
⊢ (e.repr (e j)) i = 1 i j

tactic: simp [Basis.equivFun, Matrix.one_apply, Finsupp.single_apply, eq_comm]
state_before: case a
ι : Type u_1
ι' : Type u_2
κ : Type u_3
κ' : Type u_4
R : Type u_5
M : Type u_6
inst✝⁶ : CommSemiring R
inst✝⁵ : AddCommMonoid M
inst✝⁴ : Module R M
R₂ : Type u_7
M₂ : Type u_8
inst✝³ : CommRing R₂
inst✝² : AddCommGroup M₂
inst✝¹ : Module R₂ M₂
e : Basis ι R M
v : ι' → M
i✝ : ι
j✝ : ι'
inst✝ : DecidableEq ι
i j : ι
⊢ (e.repr (e j)) i = 1 i j
state_after: no goals
Theorem: mul_lt_iff_lt_one_left
File: Mathlib/Algebra/Order/GroupWithZero/Unbundled.lean

tactic: rw [one_mul]
state_before: α : Type u_1
a b c d : α
inst✝⁴ : MulOneClass α
inst✝³ : Zero α
inst✝² : Preorder α
inst✝¹ : MulPosStrictMono α
inst✝ : MulPosReflectLT α
b0 : 0 < b
⊢ a * b < b ↔ a * b < 1 * b
state_after: no goals
Theorem: SimpleGraph.Walk.mem_tail_support_append_iff
File: Mathlib/Combinatorics/SimpleGraph/Connectivity.lean

tactic: rw [tail_support_append, List.mem_append]
state_before: V : Type u
V' : Type v
V'' : Type w
G : SimpleGraph V
G' : SimpleGraph V'
G'' : SimpleGraph V''
t u v w : V
p : G.Walk u v
p' : G.Walk v w
⊢ t ∈ (p.append p').support.tail ↔ t ∈ p.support.tail ∨ t ∈ p'.support.tail
state_after: no goals
Theorem: Set.partiallyWellOrderedOn_insert
File: Mathlib/Order/WellFoundedSet.lean

tactic: simp only [← singleton_union, partiallyWellOrderedOn_union,
  partiallyWellOrderedOn_singleton, true_and_iff]
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
π : ι → Type u_5
r : α → α → Prop
r' : β → β → Prop
f : α → β
s t : Set α
a : α
inst✝ : IsRefl α r
⊢ (insert a s).PartiallyWellOrderedOn r ↔ s.PartiallyWellOrderedOn r
state_after: no goals
Theorem: variationOnFromTo.comp_eq_of_monotoneOn
File: Mathlib/Analysis/BoundedVariation.lean

tactic: rcases le_total x y with (h | h)
state_before: α : Type u_1
inst✝² : LinearOrder α
E : Type u_2
inst✝¹ : PseudoEMetricSpace E
f✝ : α → E
s : Set α
β : Type u_3
inst✝ : LinearOrder β
f : α → E
t : Set β
φ : β → α
hφ : MonotoneOn φ t
x y : β
hx : x ∈ t
hy : y ∈ t
⊢ variationOnFromTo (f ∘ φ) t x y = variationOnFromTo f (φ '' t) (φ x) (φ y)
state_after: case inl
α : Type u_1
inst✝² : LinearOrder α
E : Type u_2
inst✝¹ : PseudoEMetricSpace E
f✝ : α → E
s : Set α
β : Type u_3
inst✝ : LinearOrder β
f : α → E
t : Set β
φ : β → α
hφ : MonotoneOn φ t
x y : β
hx : x ∈ t
hy : y ∈ t
h : x ≤ y
⊢ variationOnFromTo (f ∘ φ) t x y = variationOnFromTo f (φ '' t) (φ x) (φ y)

case inr
α : Type u_1
inst✝² : LinearOrder α
E : Type u_2
inst✝¹ : PseudoEMetricSpace E
f✝ : α → E
s : Set α
β : Type u_3
inst✝ : LinearOrder β
f : α → E
t : Set β
φ : β → α
hφ : MonotoneOn φ t
x y : β
hx : x ∈ t
hy : y ∈ t
h : y ≤ x
⊢ variationOnFromTo (f ∘ φ) t x y = variationOnFromTo f (φ '' t) (φ x) (φ y)

tactic: rw [variationOnFromTo.eq_of_le _ _ h, variationOnFromTo.eq_of_le _ _ (hφ hx hy h),
  eVariationOn.comp_inter_Icc_eq_of_monotoneOn f φ hφ hx hy]
state_before: case inl
α : Type u_1
inst✝² : LinearOrder α
E : Type u_2
inst✝¹ : PseudoEMetricSpace E
f✝ : α → E
s : Set α
β : Type u_3
inst✝ : LinearOrder β
f : α → E
t : Set β
φ : β → α
hφ : MonotoneOn φ t
x y : β
hx : x ∈ t
hy : y ∈ t
h : x ≤ y
⊢ variationOnFromTo (f ∘ φ) t x y = variationOnFromTo f (φ '' t) (φ x) (φ y)
state_after: no goals

tactic: rw [variationOnFromTo.eq_of_ge _ _ h, variationOnFromTo.eq_of_ge _ _ (hφ hy hx h),
  eVariationOn.comp_inter_Icc_eq_of_monotoneOn f φ hφ hy hx]
state_before: case inr
α : Type u_1
inst✝² : LinearOrder α
E : Type u_2
inst✝¹ : PseudoEMetricSpace E
f✝ : α → E
s : Set α
β : Type u_3
inst✝ : LinearOrder β
f : α → E
t : Set β
φ : β → α
hφ : MonotoneOn φ t
x y : β
hx : x ∈ t
hy : y ∈ t
h : y ≤ x
⊢ variationOnFromTo (f ∘ φ) t x y = variationOnFromTo f (φ '' t) (φ x) (φ y)
state_after: no goals
Theorem: Equiv.Perm.isCycle_cycleOf_iff
File: Mathlib/GroupTheory/Perm/Cycle/Factors.lean

tactic: refine ⟨fun hx => ?_, f.isCycle_cycleOf⟩
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
f✝ g : Perm α
x y : α
inst✝² : DecidableRel f✝.SameCycle
inst✝¹ : DecidableRel g.SameCycle
f : Perm α
inst✝ : DecidableRel f.SameCycle
⊢ (f.cycleOf x).IsCycle ↔ f x ≠ x
state_after: ι : Type u_1
α : Type u_2
β : Type u_3
f✝ g : Perm α
x y : α
inst✝² : DecidableRel f✝.SameCycle
inst✝¹ : DecidableRel g.SameCycle
f : Perm α
inst✝ : DecidableRel f.SameCycle
hx : (f.cycleOf x).IsCycle
⊢ f x ≠ x

tactic: rw [Ne, ← cycleOf_eq_one_iff f]
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
f✝ g : Perm α
x y : α
inst✝² : DecidableRel f✝.SameCycle
inst✝¹ : DecidableRel g.SameCycle
f : Perm α
inst✝ : DecidableRel f.SameCycle
hx : (f.cycleOf x).IsCycle
⊢ f x ≠ x
state_after: ι : Type u_1
α : Type u_2
β : Type u_3
f✝ g : Perm α
x y : α
inst✝² : DecidableRel f✝.SameCycle
inst✝¹ : DecidableRel g.SameCycle
f : Perm α
inst✝ : DecidableRel f.SameCycle
hx : (f.cycleOf x).IsCycle
⊢ ¬f.cycleOf x = 1

tactic: exact hx.ne_one
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
f✝ g : Perm α
x y : α
inst✝² : DecidableRel f✝.SameCycle
inst✝¹ : DecidableRel g.SameCycle
f : Perm α
inst✝ : DecidableRel f.SameCycle
hx : (f.cycleOf x).IsCycle
⊢ ¬f.cycleOf x = 1
state_after: no goals
Theorem: LSeriesSummable.smul
File: Mathlib/NumberTheory/LSeries/Linearity.lean

tactic: simpa only [LSeriesSummable, term_smul, smul_eq_mul] using hf.const_smul c
state_before: f : ℕ → ℂ
c s : ℂ
hf : LSeriesSummable f s
⊢ LSeriesSummable (c • f) s
state_after: no goals