1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: Set.finite_of_encard_le_coe
File: Mathlib/Data/Set/Card.lean

tactic: rw [← encard_lt_top_iff]
state_before: α : Type u_1
β : Type u_2
s t : Set α
k : ℕ
h : s.encard ≤ ↑k
⊢ s.Finite
state_after: α : Type u_1
β : Type u_2
s t : Set α
k : ℕ
h : s.encard ≤ ↑k
⊢ s.encard < ⊤

tactic: exact h.trans_lt (WithTop.coe_lt_top _)
state_before: α : Type u_1
β : Type u_2
s t : Set α
k : ℕ
h : s.encard ≤ ↑k
⊢ s.encard < ⊤
state_after: no goals
Theorem: Algebra.sInf_toSubmodule
File: Mathlib/Algebra/Algebra/Subalgebra/Basic.lean

tactic: simp
state_before: R : Type u
A : Type v
B : Type w
inst✝⁴ : CommSemiring R
inst✝³ : Semiring A
inst✝² : Algebra R A
inst✝¹ : Semiring B
inst✝ : Algebra R B
S : Set (Subalgebra R A)
⊢ ↑(Subalgebra.toSubmodule (sInf S)) = ↑(sInf (⇑Subalgebra.toSubmodule '' S))
state_after: no goals
Theorem: Sym2.GameAdd.fst_snd
File: Mathlib/Order/GameAdd.lean

tactic: rw [Sym2.eq_swap]
state_before: α : Type u_1
β : Type u_2
rα : α → α → Prop
rβ : β → β → Prop
a : α
b✝ : β
a₁ a₂ b : α
h : rα a₁ a₂
⊢ GameAdd rα s(a₁, b) s(b, a₂)
state_after: α : Type u_1
β : Type u_2
rα : α → α → Prop
rβ : β → β → Prop
a : α
b✝ : β
a₁ a₂ b : α
h : rα a₁ a₂
⊢ GameAdd rα s(b, a₁) s(b, a₂)

tactic: exact GameAdd.snd h
state_before: α : Type u_1
β : Type u_2
rα : α → α → Prop
rβ : β → β → Prop
a : α
b✝ : β
a₁ a₂ b : α
h : rα a₁ a₂
⊢ GameAdd rα s(b, a₁) s(b, a₂)
state_after: no goals
Theorem: ZFSet.choice_mem
File: Mathlib/SetTheory/ZFC/Basic.lean

tactic: delta choice
state_before: x : ZFSet
h : ∅ ∉ x
y : ZFSet
yx : y ∈ x
⊢ ↑x.choice ′ ↑y ∈ ↑y
state_after: x : ZFSet
h : ∅ ∉ x
y : ZFSet
yx : y ∈ x
⊢ ↑(map (fun y => Classical.epsilon fun z => z ∈ y) x) ′ ↑y ∈ ↑y

tactic: rw [@map_fval _ (Classical.allDefinable _) x y yx, Class.coe_mem, Class.coe_apply]
state_before: x : ZFSet
h : ∅ ∉ x
y : ZFSet
yx : y ∈ x
⊢ ↑(map (fun y => Classical.epsilon fun z => z ∈ y) x) ′ ↑y ∈ ↑y
state_after: x : ZFSet
h : ∅ ∉ x
y : ZFSet
yx : y ∈ x
⊢ (Classical.epsilon fun z => z ∈ y) ∈ y

tactic: exact choice_mem_aux x h y yx
state_before: x : ZFSet
h : ∅ ∉ x
y : ZFSet
yx : y ∈ x
⊢ (Classical.epsilon fun z => z ∈ y) ∈ y
state_after: no goals
Theorem: MvPolynomial.degrees_rename_of_injective
File: Mathlib/Algebra/MvPolynomial/Degrees.lean

tactic: classical
simp only [degrees, Multiset.map_finset_sup p.support Finsupp.toMultiset f h,
  support_rename_of_injective h, Finset.sup_image]
refine Finset.sup_congr rfl fun x _ => ?_
exact (Finsupp.toMultiset_map _ _).symm
state_before: R : Type u
S : Type v
σ : Type u_1
τ : Type u_2
r : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝ : CommSemiring R
p✝ q p : MvPolynomial σ R
f : σ → τ
h : Injective f
⊢ ((rename f) p).degrees = Multiset.map f p.degrees
state_after: no goals

tactic: simp only [degrees, Multiset.map_finset_sup p.support Finsupp.toMultiset f h,
  support_rename_of_injective h, Finset.sup_image]
state_before: R : Type u
S : Type v
σ : Type u_1
τ : Type u_2
r : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝ : CommSemiring R
p✝ q p : MvPolynomial σ R
f : σ → τ
h : Injective f
⊢ ((rename f) p).degrees = Multiset.map f p.degrees
state_after: R : Type u
S : Type v
σ : Type u_1
τ : Type u_2
r : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝ : CommSemiring R
p✝ q p : MvPolynomial σ R
f : σ → τ
h : Injective f
⊢ p.support.sup ((fun s => toMultiset s) ∘ Finsupp.mapDomain f) = p.support.sup (Multiset.map f ∘ ⇑toMultiset)

tactic: refine Finset.sup_congr rfl fun x _ => ?_
state_before: R : Type u
S : Type v
σ : Type u_1
τ : Type u_2
r : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝ : CommSemiring R
p✝ q p : MvPolynomial σ R
f : σ → τ
h : Injective f
⊢ p.support.sup ((fun s => toMultiset s) ∘ Finsupp.mapDomain f) = p.support.sup (Multiset.map f ∘ ⇑toMultiset)
state_after: R : Type u
S : Type v
σ : Type u_1
τ : Type u_2
r : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝ : CommSemiring R
p✝ q p : MvPolynomial σ R
f : σ → τ
h : Injective f
x : σ →₀ ℕ
x✝ : x ∈ p.support
⊢ ((fun s => toMultiset s) ∘ Finsupp.mapDomain f) x = (Multiset.map f ∘ ⇑toMultiset) x

tactic: exact (Finsupp.toMultiset_map _ _).symm
state_before: R : Type u
S : Type v
σ : Type u_1
τ : Type u_2
r : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝ : CommSemiring R
p✝ q p : MvPolynomial σ R
f : σ → τ
h : Injective f
x : σ →₀ ℕ
x✝ : x ∈ p.support
⊢ ((fun s => toMultiset s) ∘ Finsupp.mapDomain f) x = (Multiset.map f ∘ ⇑toMultiset) x
state_after: no goals
Theorem: CategoryTheory.Limits.pullbackDiagonalMapIdIso_inv_fst
File: Mathlib/CategoryTheory/Limits/Shapes/Diagonal.lean

tactic: rw [Iso.inv_comp_eq, ← Category.comp_id pullback.fst, ← diagonal_fst i, pullback.condition_assoc]
state_before: C : Type u_1
inst✝⁵ : Category.{u_2, u_1} C
X Y Z : C
inst✝⁴ : HasPullbacks C
S T : C
f : X ⟶ T
g : Y ⟶ T
i : T ⟶ S
inst✝³ : HasPullback i i
inst✝² : HasPullback f g
inst✝¹ : HasPullback (f ≫ i) (g ≫ i)
inst✝ : HasPullback (diagonal i) (map (f ≫ i) (g ≫ i) i i f g (𝟙 S) ⋯ ⋯)
⊢ (pullbackDiagonalMapIdIso f g i).inv ≫ fst = fst ≫ f
state_after: C : Type u_1
inst✝⁵ : Category.{u_2, u_1} C
X Y Z : C
inst✝⁴ : HasPullbacks C
S T : C
f : X ⟶ T
g : Y ⟶ T
i : T ⟶ S
inst✝³ : HasPullback i i
inst✝² : HasPullback f g
inst✝¹ : HasPullback (f ≫ i) (g ≫ i)
inst✝ : HasPullback (diagonal i) (map (f ≫ i) (g ≫ i) i i f g (𝟙 S) ⋯ ⋯)
⊢ snd ≫ map (f ≫ i) (g ≫ i) i i f g (𝟙 S) ⋯ ⋯ ≫ fst = (pullbackDiagonalMapIdIso f g i).hom ≫ fst ≫ f

tactic: simp
state_before: C : Type u_1
inst✝⁵ : Category.{u_2, u_1} C
X Y Z : C
inst✝⁴ : HasPullbacks C
S T : C
f : X ⟶ T
g : Y ⟶ T
i : T ⟶ S
inst✝³ : HasPullback i i
inst✝² : HasPullback f g
inst✝¹ : HasPullback (f ≫ i) (g ≫ i)
inst✝ : HasPullback (diagonal i) (map (f ≫ i) (g ≫ i) i i f g (𝟙 S) ⋯ ⋯)
⊢ snd ≫ map (f ≫ i) (g ≫ i) i i f g (𝟙 S) ⋯ ⋯ ≫ fst = (pullbackDiagonalMapIdIso f g i).hom ≫ fst ≫ f
state_after: no goals
Theorem: fastLegendreSym.eq
File: Mathlib/NumberTheory/LegendreSymbol/JacobiSymbol.lean

tactic: ext p _ a
state_before: ⊢ legendreSym = fastLegendreSym
state_after: case h.h.h
p : ℕ
x✝ : Fact (Nat.Prime p)
a : ℤ
⊢ legendreSym p a = fastLegendreSym p a

tactic: rw [legendreSym.to_jacobiSym, fastLegendreSym]
state_before: case h.h.h
p : ℕ
x✝ : Fact (Nat.Prime p)
a : ℤ
⊢ legendreSym p a = fastLegendreSym p a
state_after: no goals
Theorem: CategoryTheory.Limits.mono_of_source_iso_zero
File: Mathlib/CategoryTheory/Limits/Shapes/ZeroMorphisms.lean

tactic: rw [zero_of_target_iso_zero g i, zero_of_target_iso_zero h i]
state_before: C : Type u
inst✝³ : Category.{v, u} C
D : Type u'
inst✝² : Category.{v', u'} D
inst✝¹ : HasZeroObject C
inst✝ : HasZeroMorphisms C
X Y : C
f : X ⟶ Y
i : X ≅ 0
Z : C
g h : Z ⟶ X
x✝ : g ≫ f = h ≫ f
⊢ g = h
state_after: no goals
Theorem: Function.Injective.invOfMemRange_surjective
File: Mathlib/Data/Fintype/Basic.lean

tactic: simp
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝¹ : Fintype α
inst✝ : DecidableEq β
f : α → β
hf : Injective f
a : α
⊢ hf.invOfMemRange ⟨f a, ⋯⟩ = a
state_after: no goals
Theorem: QuotientMap.comp
File: Mathlib/Topology/Maps.lean

tactic: rw [hg.right, hf.right, coinduced_compose]
state_before: X : Type u_1
Y : Type u_2
Z : Type u_3
ι : Type u_4
f : X → Y
g : Y → Z
inst✝² : TopologicalSpace X
inst✝¹ : TopologicalSpace Y
inst✝ : TopologicalSpace Z
hg : QuotientMap g
hf : QuotientMap f
⊢ inst✝ = coinduced (g ∘ f) inst✝²
state_after: no goals
Theorem: IsPreconnected.union
File: Mathlib/Topology/Connected/Basic.lean

tactic: rintro r (rfl | rfl | h) <;> assumption
state_before: α : Type u
β : Type v
ι : Type u_1
π : ι → Type u_2
inst✝ : TopologicalSpace α
s✝ t✝ u v : Set α
x : α
s t : Set α
H1 : x ∈ s
H2 : x ∈ t
H3 : IsPreconnected s
H4 : IsPreconnected t
⊢ ∀ s_1 ∈ {s, t}, x ∈ s_1
state_after: no goals

tactic: rintro r (rfl | rfl | h) <;> assumption
state_before: α : Type u
β : Type v
ι : Type u_1
π : ι → Type u_2
inst✝ : TopologicalSpace α
s✝ t✝ u v : Set α
x : α
s t : Set α
H1 : x ∈ s
H2 : x ∈ t
H3 : IsPreconnected s
H4 : IsPreconnected t
⊢ ∀ s_1 ∈ {s, t}, IsPreconnected s_1
state_after: no goals
Theorem: mul_one_sub
File: Mathlib/Algebra/Ring/Defs.lean

tactic: rw [mul_sub, mul_one]
state_before: α : Type u
β : Type v
γ : Type w
R : Type x
inst✝ : NonAssocRing α
a b : α
⊢ a * (1 - b) = a - a * b
state_after: no goals
Theorem: CategoryTheory.ShortComplex.quasiIso_of_epi_of_isIso_of_mono
File: Mathlib/Algebra/Homology/ShortComplex/QuasiIso.lean

tactic: rw [((LeftHomologyMapData.ofEpiOfIsIsoOfMono φ) S₁.leftHomologyData).quasiIso_iff]
state_before: C : Type u_2
inst✝⁸ : Category.{u_1, u_2} C
inst✝⁷ : HasZeroMorphisms C
S₁ S₂ S₃ S₄ : ShortComplex C
inst✝⁶ : S₁.HasHomology
inst✝⁵ : S₂.HasHomology
inst✝⁴ : S₃.HasHomology
inst✝³ : S₄.HasHomology
φ : S₁ ⟶ S₂
inst✝² : Epi φ.τ₁
inst✝¹ : IsIso φ.τ₂
inst✝ : Mono φ.τ₃
⊢ QuasiIso φ
state_after: C : Type u_2
inst✝⁸ : Category.{u_1, u_2} C
inst✝⁷ : HasZeroMorphisms C
S₁ S₂ S₃ S₄ : ShortComplex C
inst✝⁶ : S₁.HasHomology
inst✝⁵ : S₂.HasHomology
inst✝⁴ : S₃.HasHomology
inst✝³ : S₄.HasHomology
φ : S₁ ⟶ S₂
inst✝² : Epi φ.τ₁
inst✝¹ : IsIso φ.τ₂
inst✝ : Mono φ.τ₃
⊢ IsIso (LeftHomologyMapData.ofEpiOfIsIsoOfMono φ S₁.leftHomologyData).φH

tactic: dsimp
state_before: C : Type u_2
inst✝⁸ : Category.{u_1, u_2} C
inst✝⁷ : HasZeroMorphisms C
S₁ S₂ S₃ S₄ : ShortComplex C
inst✝⁶ : S₁.HasHomology
inst✝⁵ : S₂.HasHomology
inst✝⁴ : S₃.HasHomology
inst✝³ : S₄.HasHomology
φ : S₁ ⟶ S₂
inst✝² : Epi φ.τ₁
inst✝¹ : IsIso φ.τ₂
inst✝ : Mono φ.τ₃
⊢ IsIso (LeftHomologyMapData.ofEpiOfIsIsoOfMono φ S₁.leftHomologyData).φH
state_after: C : Type u_2
inst✝⁸ : Category.{u_1, u_2} C
inst✝⁷ : HasZeroMorphisms C
S₁ S₂ S₃ S₄ : ShortComplex C
inst✝⁶ : S₁.HasHomology
inst✝⁵ : S₂.HasHomology
inst✝⁴ : S₃.HasHomology
inst✝³ : S₄.HasHomology
φ : S₁ ⟶ S₂
inst✝² : Epi φ.τ₁
inst✝¹ : IsIso φ.τ₂
inst✝ : Mono φ.τ₃
⊢ IsIso (𝟙 S₁.leftHomologyData.H)

tactic: infer_instance
state_before: C : Type u_2
inst✝⁸ : Category.{u_1, u_2} C
inst✝⁷ : HasZeroMorphisms C
S₁ S₂ S₃ S₄ : ShortComplex C
inst✝⁶ : S₁.HasHomology
inst✝⁵ : S₂.HasHomology
inst✝⁴ : S₃.HasHomology
inst✝³ : S₄.HasHomology
φ : S₁ ⟶ S₂
inst✝² : Epi φ.τ₁
inst✝¹ : IsIso φ.τ₂
inst✝ : Mono φ.τ₃
⊢ IsIso (𝟙 S₁.leftHomologyData.H)
state_after: no goals
Theorem: innerDualCone_sUnion
File: Mathlib/Analysis/Convex/Cone/InnerDual.lean

tactic: simp_rw [sInf_image, sUnion_eq_biUnion, innerDualCone_iUnion]
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
H : Type u_5
inst✝¹ : NormedAddCommGroup H
inst✝ : InnerProductSpace ℝ H
s t : Set H
S : Set (Set H)
⊢ (⋃₀ S).innerDualCone = sInf (innerDualCone '' S)
state_after: no goals
Theorem: Filter.map₂_map_left
File: Mathlib/Order/Filter/NAry.lean

tactic: rw [← map_prod_eq_map₂, ← map_prod_eq_map₂, ← @map_id _ g, prod_map_map_eq, map_map, map_id]
state_before: α : Type u_1
α' : Type u_2
β : Type u_3
β' : Type u_4
γ : Type u_5
γ' : Type u_6
δ : Type u_7
δ' : Type u_8
ε : Type u_9
ε' : Type u_10
m✝ : α → β → γ
f f₁ f₂ : Filter α
g g₁ g₂ : Filter β
h h₁ h₂ : Filter γ
s s₁ s₂ : Set α
t t₁ t₂ : Set β
u : Set γ
v : Set δ
a : α
b : β
c : γ
m : γ → β → δ
n : α → γ
⊢ map₂ m (map n f) g = map₂ (fun a b => m (n a) b) f g
state_after: α : Type u_1
α' : Type u_2
β : Type u_3
β' : Type u_4
γ : Type u_5
γ' : Type u_6
δ : Type u_7
δ' : Type u_8
ε : Type u_9
ε' : Type u_10
m✝ : α → β → γ
f f₁ f₂ : Filter α
g g₁ g₂ : Filter β
h h₁ h₂ : Filter γ
s s₁ s₂ : Set α
t t₁ t₂ : Set β
u : Set γ
v : Set δ
a : α
b : β
c : γ
m : γ → β → δ
n : α → γ
⊢ map ((fun p => m p.1 p.2) ∘ fun p => (n p.1, id p.2)) (f ×ˢ g) = map (fun p => m (n p.1) p.2) (f ×ˢ g)

tactic: rfl
state_before: α : Type u_1
α' : Type u_2
β : Type u_3
β' : Type u_4
γ : Type u_5
γ' : Type u_6
δ : Type u_7
δ' : Type u_8
ε : Type u_9
ε' : Type u_10
m✝ : α → β → γ
f f₁ f₂ : Filter α
g g₁ g₂ : Filter β
h h₁ h₂ : Filter γ
s s₁ s₂ : Set α
t t₁ t₂ : Set β
u : Set γ
v : Set δ
a : α
b : β
c : γ
m : γ → β → δ
n : α → γ
⊢ map ((fun p => m p.1 p.2) ∘ fun p => (n p.1, id p.2)) (f ×ˢ g) = map (fun p => m (n p.1) p.2) (f ×ˢ g)
state_after: no goals
Theorem: CategoryTheory.ShortComplex.SnakeInput.L₀_g_δ
File: Mathlib/Algebra/Homology/ShortComplex/SnakeLemma.lean

tactic: erw [← L₀X₂ToP_comp_pullback_snd, assoc, S.L₀'_exact.g_desc,
  L₀X₂ToP_comp_φ₁_assoc, zero_comp]
state_before: C : Type u_1
inst✝¹ : Category.{u_2, u_1} C
inst✝ : Abelian C
S : SnakeInput C
⊢ S.L₀.g ≫ S.δ = 0
state_after: no goals
Theorem: String.Iterator.ValidFor.hasPrev
File: .lake/packages/batteries/Batteries/Data/String/Lemmas.lean

tactic: simp [Iterator.hasPrev, h.pos, Nat.pos_iff_ne_zero]
state_before: l r : List Char
it : Iterator
h : ValidFor l r it
⊢ it.hasPrev = true ↔ l ≠ []
state_after: no goals
Theorem: BoxIntegral.Prepartition.isPartition_splitCenter
File: Mathlib/Analysis/BoxIntegral/Partition/SubboxInduction.lean

tactic: simp [hx]
state_before: ι : Type u_1
inst✝ : Fintype ι
I✝ J I : Box ι
x : ι → ℝ
hx : x ∈ I
⊢ ∃ J ∈ splitCenter I, x ∈ J
state_after: no goals
Theorem: Set.insert_subset_iff
File: Mathlib/Data/Set/Basic.lean

tactic: simp only [subset_def, mem_insert_iff, or_imp, forall_and, forall_eq]
state_before: α : Type u
β : Type v
γ : Type w
ι : Sort x
a b : α
s s₁ s₂ t t₁ t₂ u : Set α
⊢ insert a s ⊆ t ↔ a ∈ t ∧ s ⊆ t
state_after: no goals
Theorem: CauSeq.lim_eq_zero_iff
File: Mathlib/Algebra/Order/CauSeq/Completion.lean

tactic: have hf := equiv_lim f
state_before: α : Type u_1
inst✝³ : LinearOrderedField α
β : Type u_2
inst✝² : Ring β
abv : β → α
inst✝¹ : IsAbsoluteValue abv
inst✝ : IsComplete β abv
f : CauSeq β abv
h : f.lim = 0
⊢ f.LimZero
state_after: α : Type u_1
inst✝³ : LinearOrderedField α
β : Type u_2
inst✝² : Ring β
abv : β → α
inst✝¹ : IsAbsoluteValue abv
inst✝ : IsComplete β abv
f : CauSeq β abv
h : f.lim = 0
hf : f ≈ const abv f.lim
⊢ f.LimZero

tactic: rw [h] at hf
state_before: α : Type u_1
inst✝³ : LinearOrderedField α
β : Type u_2
inst✝² : Ring β
abv : β → α
inst✝¹ : IsAbsoluteValue abv
inst✝ : IsComplete β abv
f : CauSeq β abv
h : f.lim = 0
hf : f ≈ const abv f.lim
⊢ f.LimZero
state_after: α : Type u_1
inst✝³ : LinearOrderedField α
β : Type u_2
inst✝² : Ring β
abv : β → α
inst✝¹ : IsAbsoluteValue abv
inst✝ : IsComplete β abv
f : CauSeq β abv
h : f.lim = 0
hf : f ≈ const abv 0
⊢ f.LimZero

tactic: exact (limZero_congr hf).mpr (const_limZero.mpr rfl)
state_before: α : Type u_1
inst✝³ : LinearOrderedField α
β : Type u_2
inst✝² : Ring β
abv : β → α
inst✝¹ : IsAbsoluteValue abv
inst✝ : IsComplete β abv
f : CauSeq β abv
h : f.lim = 0
hf : f ≈ const abv 0
⊢ f.LimZero
state_after: no goals

tactic: have h₁ : f = f - const abv 0 := ext fun n => by simp [sub_apply, const_apply]
state_before: α : Type u_1
inst✝³ : LinearOrderedField α
β : Type u_2
inst✝² : Ring β
abv : β → α
inst✝¹ : IsAbsoluteValue abv
inst✝ : IsComplete β abv
f : CauSeq β abv
h : f.LimZero
⊢ f.lim = 0
state_after: α : Type u_1
inst✝³ : LinearOrderedField α
β : Type u_2
inst✝² : Ring β
abv : β → α
inst✝¹ : IsAbsoluteValue abv
inst✝ : IsComplete β abv
f : CauSeq β abv
h : f.LimZero
h₁ : f = f - const abv 0
⊢ f.lim = 0

tactic: rw [h₁] at h
state_before: α : Type u_1
inst✝³ : LinearOrderedField α
β : Type u_2
inst✝² : Ring β
abv : β → α
inst✝¹ : IsAbsoluteValue abv
inst✝ : IsComplete β abv
f : CauSeq β abv
h : f.LimZero
h₁ : f = f - const abv 0
⊢ f.lim = 0
state_after: α : Type u_1
inst✝³ : LinearOrderedField α
β : Type u_2
inst✝² : Ring β
abv : β → α
inst✝¹ : IsAbsoluteValue abv
inst✝ : IsComplete β abv
f : CauSeq β abv
h : (f - const abv 0).LimZero
h₁ : f = f - const abv 0
⊢ f.lim = 0

tactic: exact lim_eq_of_equiv_const h
state_before: α : Type u_1
inst✝³ : LinearOrderedField α
β : Type u_2
inst✝² : Ring β
abv : β → α
inst✝¹ : IsAbsoluteValue abv
inst✝ : IsComplete β abv
f : CauSeq β abv
h : (f - const abv 0).LimZero
h₁ : f = f - const abv 0
⊢ f.lim = 0
state_after: no goals

tactic: simp [sub_apply, const_apply]
state_before: α : Type u_1
inst✝³ : LinearOrderedField α
β : Type u_2
inst✝² : Ring β
abv : β → α
inst✝¹ : IsAbsoluteValue abv
inst✝ : IsComplete β abv
f : CauSeq β abv
h : f.LimZero
n : ℕ
⊢ ↑f n = ↑(f - const abv 0) n
state_after: no goals
Theorem: MeasureTheory.SimpleFunc.coe_restrict
File: Mathlib/MeasureTheory/Function/SimpleFunc.lean

tactic: rw [restrict, dif_pos hs, coe_piecewise, coe_zero, piecewise_eq_indicator]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝¹ : MeasurableSpace α
K : Type u_5
inst✝ : Zero β
f : α →ₛ β
s : Set α
hs : MeasurableSet s
⊢ ↑(f.restrict s) = s.indicator ↑f
state_after: no goals
Theorem: DFinsupp.toMultiset_le_toMultiset
File: Mathlib/Data/DFinsupp/Multiset.lean

tactic: simp_rw [← Multiset.toDFinsupp_le_toDFinsupp, toMultiset_toDFinsupp]
state_before: α : Type u_1
β : α → Type u_2
inst✝ : DecidableEq α
f g : Π₀ (_a : α), ℕ
⊢ toMultiset f ≤ toMultiset g ↔ f ≤ g
state_after: no goals
Theorem: ContDiff.inv
File: Mathlib/Analysis/Calculus/ContDiff/Basic.lean

tactic: rw [contDiff_iff_contDiffAt]
state_before: 𝕜 : Type u_1
inst✝¹⁵ : NontriviallyNormedField 𝕜
D : Type uD
inst✝¹⁴ : NormedAddCommGroup D
inst✝¹³ : NormedSpace 𝕜 D
E : Type uE
inst✝¹² : NormedAddCommGroup E
inst✝¹¹ : NormedSpace 𝕜 E
F : Type uF
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
G : Type uG
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace 𝕜 G
X : Type u_2
inst✝⁶ : NormedAddCommGroup X
inst✝⁵ : NormedSpace 𝕜 X
s s₁ t u : Set E
f✝ f₁ : E → F
g : F → G
x x₀ : E
c : F
b : E × F → G
m n✝ : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
R : Type u_3
inst✝⁴ : NormedRing R
inst✝³ : NormedAlgebra 𝕜 R
𝕜' : Type u_4
inst✝² : NormedField 𝕜'
inst✝¹ : NormedAlgebra 𝕜 𝕜'
inst✝ : CompleteSpace 𝕜'
f : E → 𝕜'
n : ℕ∞
hf : ContDiff 𝕜 n f
h : ∀ (x : E), f x ≠ 0
⊢ ContDiff 𝕜 n fun x => (f x)⁻¹
state_after: 𝕜 : Type u_1
inst✝¹⁵ : NontriviallyNormedField 𝕜
D : Type uD
inst✝¹⁴ : NormedAddCommGroup D
inst✝¹³ : NormedSpace 𝕜 D
E : Type uE
inst✝¹² : NormedAddCommGroup E
inst✝¹¹ : NormedSpace 𝕜 E
F : Type uF
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
G : Type uG
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace 𝕜 G
X : Type u_2
inst✝⁶ : NormedAddCommGroup X
inst✝⁵ : NormedSpace 𝕜 X
s s₁ t u : Set E
f✝ f₁ : E → F
g : F → G
x x₀ : E
c : F
b : E × F → G
m n✝ : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
R : Type u_3
inst✝⁴ : NormedRing R
inst✝³ : NormedAlgebra 𝕜 R
𝕜' : Type u_4
inst✝² : NormedField 𝕜'
inst✝¹ : NormedAlgebra 𝕜 𝕜'
inst✝ : CompleteSpace 𝕜'
f : E → 𝕜'
n : ℕ∞
hf : ContDiff 𝕜 n f
h : ∀ (x : E), f x ≠ 0
⊢ ∀ (x : E), ContDiffAt 𝕜 n (fun x => (f x)⁻¹) x

tactic: exact fun x => hf.contDiffAt.inv (h x)
state_before: 𝕜 : Type u_1
inst✝¹⁵ : NontriviallyNormedField 𝕜
D : Type uD
inst✝¹⁴ : NormedAddCommGroup D
inst✝¹³ : NormedSpace 𝕜 D
E : Type uE
inst✝¹² : NormedAddCommGroup E
inst✝¹¹ : NormedSpace 𝕜 E
F : Type uF
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
G : Type uG
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace 𝕜 G
X : Type u_2
inst✝⁶ : NormedAddCommGroup X
inst✝⁵ : NormedSpace 𝕜 X
s s₁ t u : Set E
f✝ f₁ : E → F
g : F → G
x x₀ : E
c : F
b : E × F → G
m n✝ : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
R : Type u_3
inst✝⁴ : NormedRing R
inst✝³ : NormedAlgebra 𝕜 R
𝕜' : Type u_4
inst✝² : NormedField 𝕜'
inst✝¹ : NormedAlgebra 𝕜 𝕜'
inst✝ : CompleteSpace 𝕜'
f : E → 𝕜'
n : ℕ∞
hf : ContDiff 𝕜 n f
h : ∀ (x : E), f x ≠ 0
⊢ ∀ (x : E), ContDiffAt 𝕜 n (fun x => (f x)⁻¹) x
state_after: no goals
Theorem: Finset.exists_max_image
File: Mathlib/Data/Finset/Lattice.lean

tactic: cases' max_of_nonempty (h.image f) with y hy
state_before: F : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
ι : Type u_5
κ : Type u_6
inst✝ : LinearOrder α
s : Finset β
f : β → α
h : s.Nonempty
⊢ ∃ x ∈ s, ∀ x' ∈ s, f x' ≤ f x
state_after: case intro
F : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
ι : Type u_5
κ : Type u_6
inst✝ : LinearOrder α
s : Finset β
f : β → α
h : s.Nonempty
y : α
hy : (image f s).max = ↑y
⊢ ∃ x ∈ s, ∀ x' ∈ s, f x' ≤ f x

tactic: rcases mem_image.mp (mem_of_max hy) with ⟨x, hx, rfl⟩
state_before: case intro
F : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
ι : Type u_5
κ : Type u_6
inst✝ : LinearOrder α
s : Finset β
f : β → α
h : s.Nonempty
y : α
hy : (image f s).max = ↑y
⊢ ∃ x ∈ s, ∀ x' ∈ s, f x' ≤ f x
state_after: case intro.intro.intro
F : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
ι : Type u_5
κ : Type u_6
inst✝ : LinearOrder α
s : Finset β
f : β → α
h : s.Nonempty
x : β
hx : x ∈ s
hy : (image f s).max = ↑(f x)
⊢ ∃ x ∈ s, ∀ x' ∈ s, f x' ≤ f x

tactic: exact ⟨x, hx, fun x' hx' => le_max_of_eq (mem_image_of_mem f hx') hy⟩
state_before: case intro.intro.intro
F : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
ι : Type u_5
κ : Type u_6
inst✝ : LinearOrder α
s : Finset β
f : β → α
h : s.Nonempty
x : β
hx : x ∈ s
hy : (image f s).max = ↑(f x)
⊢ ∃ x ∈ s, ∀ x' ∈ s, f x' ≤ f x
state_after: no goals
Theorem: mfderivWithin_id
File: Mathlib/Geometry/Manifold/MFDeriv/SpecificFunctions.lean

tactic: rw [MDifferentiable.mfderivWithin (mdifferentiableAt_id I) hxs]
state_before: 𝕜 : Type u_1
inst✝¹⁸ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹⁷ : NormedAddCommGroup E
inst✝¹⁶ : NormedSpace 𝕜 E
H : Type u_3
inst✝¹⁵ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝¹⁴ : TopologicalSpace M
inst✝¹³ : ChartedSpace H M
inst✝¹² : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝⁹ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝⁸ : TopologicalSpace M'
inst✝⁷ : ChartedSpace H' M'
inst✝⁶ : SmoothManifoldWithCorners I' M'
E'' : Type u_8
inst✝⁵ : NormedAddCommGroup E''
inst✝⁴ : NormedSpace 𝕜 E''
H'' : Type u_9
inst✝³ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
M'' : Type u_10
inst✝² : TopologicalSpace M''
inst✝¹ : ChartedSpace H'' M''
inst✝ : SmoothManifoldWithCorners I'' M''
s : Set M
x : M
hxs : UniqueMDiffWithinAt I s x
⊢ mfderivWithin I I id s x = ContinuousLinearMap.id 𝕜 (TangentSpace I x)
state_after: 𝕜 : Type u_1
inst✝¹⁸ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹⁷ : NormedAddCommGroup E
inst✝¹⁶ : NormedSpace 𝕜 E
H : Type u_3
inst✝¹⁵ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝¹⁴ : TopologicalSpace M
inst✝¹³ : ChartedSpace H M
inst✝¹² : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝⁹ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝⁸ : TopologicalSpace M'
inst✝⁷ : ChartedSpace H' M'
inst✝⁶ : SmoothManifoldWithCorners I' M'
E'' : Type u_8
inst✝⁵ : NormedAddCommGroup E''
inst✝⁴ : NormedSpace 𝕜 E''
H'' : Type u_9
inst✝³ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
M'' : Type u_10
inst✝² : TopologicalSpace M''
inst✝¹ : ChartedSpace H'' M''
inst✝ : SmoothManifoldWithCorners I'' M''
s : Set M
x : M
hxs : UniqueMDiffWithinAt I s x
⊢ mfderiv I I id x = ContinuousLinearMap.id 𝕜 (TangentSpace I x)

tactic: exact mfderiv_id I
state_before: 𝕜 : Type u_1
inst✝¹⁸ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹⁷ : NormedAddCommGroup E
inst✝¹⁶ : NormedSpace 𝕜 E
H : Type u_3
inst✝¹⁵ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝¹⁴ : TopologicalSpace M
inst✝¹³ : ChartedSpace H M
inst✝¹² : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝⁹ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝⁸ : TopologicalSpace M'
inst✝⁷ : ChartedSpace H' M'
inst✝⁶ : SmoothManifoldWithCorners I' M'
E'' : Type u_8
inst✝⁵ : NormedAddCommGroup E''
inst✝⁴ : NormedSpace 𝕜 E''
H'' : Type u_9
inst✝³ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
M'' : Type u_10
inst✝² : TopologicalSpace M''
inst✝¹ : ChartedSpace H'' M''
inst✝ : SmoothManifoldWithCorners I'' M''
s : Set M
x : M
hxs : UniqueMDiffWithinAt I s x
⊢ mfderiv I I id x = ContinuousLinearMap.id 𝕜 (TangentSpace I x)
state_after: no goals
Theorem: Equiv.Perm.support_cycleOf_eq_nil_iff
File: Mathlib/GroupTheory/Perm/Cycle/Factors.lean

tactic: simp
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
f g : Perm α
x y : α
inst✝³ : DecidableRel f.SameCycle
inst✝² : DecidableRel g.SameCycle
inst✝¹ : DecidableEq α
inst✝ : Fintype α
⊢ (f.cycleOf x).support = ∅ ↔ x ∉ f.support
state_after: no goals