1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: CategoryTheory.Limits.Concrete.isColimit_exists_of_rep_eq
File: Mathlib/CategoryTheory/Limits/ConcreteCategory.lean

tactic: let E := (forget C).mapCocone D
state_before: C : Type u
inst✝⁴ : Category.{v, u} C
inst✝³ : ConcreteCategory C
J : Type w
inst✝² : Category.{r, w} J
F : J ⥤ C
inst✝¹ : PreservesColimit F (forget C)
inst✝ : IsFiltered J
D : Cocone F
i j : J
hD : IsColimit D
x : (forget C).obj (F.obj i)
y : (forget C).obj (F.obj j)
h : (D.ι.app i) x = (D.ι.app j) y
⊢ ∃ k f g, (F.map f) x = (F.map g) y
state_after: C : Type u
inst✝⁴ : Category.{v, u} C
inst✝³ : ConcreteCategory C
J : Type w
inst✝² : Category.{r, w} J
F : J ⥤ C
inst✝¹ : PreservesColimit F (forget C)
inst✝ : IsFiltered J
D : Cocone F
i j : J
hD : IsColimit D
x : (forget C).obj (F.obj i)
y : (forget C).obj (F.obj j)
h : (D.ι.app i) x = (D.ι.app j) y
E : Cocone (F ⋙ forget C) := (forget C).mapCocone D
⊢ ∃ k f g, (F.map f) x = (F.map g) y

tactic: let hE : IsColimit E := isColimitOfPreserves _ hD
state_before: C : Type u
inst✝⁴ : Category.{v, u} C
inst✝³ : ConcreteCategory C
J : Type w
inst✝² : Category.{r, w} J
F : J ⥤ C
inst✝¹ : PreservesColimit F (forget C)
inst✝ : IsFiltered J
D : Cocone F
i j : J
hD : IsColimit D
x : (forget C).obj (F.obj i)
y : (forget C).obj (F.obj j)
h : (D.ι.app i) x = (D.ι.app j) y
E : Cocone (F ⋙ forget C) := (forget C).mapCocone D
⊢ ∃ k f g, (F.map f) x = (F.map g) y
state_after: C : Type u
inst✝⁴ : Category.{v, u} C
inst✝³ : ConcreteCategory C
J : Type w
inst✝² : Category.{r, w} J
F : J ⥤ C
inst✝¹ : PreservesColimit F (forget C)
inst✝ : IsFiltered J
D : Cocone F
i j : J
hD : IsColimit D
x : (forget C).obj (F.obj i)
y : (forget C).obj (F.obj j)
h : (D.ι.app i) x = (D.ι.app j) y
E : Cocone (F ⋙ forget C) := (forget C).mapCocone D
hE : IsColimit E := isColimitOfPreserves (forget C) hD
⊢ ∃ k f g, (F.map f) x = (F.map g) y

tactic: exact (Types.FilteredColimit.isColimit_eq_iff (F ⋙ forget C) hE).mp h
state_before: C : Type u
inst✝⁴ : Category.{v, u} C
inst✝³ : ConcreteCategory C
J : Type w
inst✝² : Category.{r, w} J
F : J ⥤ C
inst✝¹ : PreservesColimit F (forget C)
inst✝ : IsFiltered J
D : Cocone F
i j : J
hD : IsColimit D
x : (forget C).obj (F.obj i)
y : (forget C).obj (F.obj j)
h : (D.ι.app i) x = (D.ι.app j) y
E : Cocone (F ⋙ forget C) := (forget C).mapCocone D
hE : IsColimit E := isColimitOfPreserves (forget C) hD
⊢ ∃ k f g, (F.map f) x = (F.map g) y
state_after: no goals
Theorem: MeasureTheory.lintegral_strict_mono
File: Mathlib/MeasureTheory/Integral/Lebesgue.lean

tactic: rw [Ne, ← Measure.measure_univ_eq_zero] at hμ
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
f g : α → ℝ≥0∞
hμ : μ ≠ 0
hg : AEMeasurable g μ
hfi : ∫⁻ (x : α), f x ∂μ ≠ ⊤
h : ∀ᵐ (x : α) ∂μ, f x < g x
⊢ ∫⁻ (x : α), f x ∂μ < ∫⁻ (x : α), g x ∂μ
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
f g : α → ℝ≥0∞
hμ : ¬μ univ = 0
hg : AEMeasurable g μ
hfi : ∫⁻ (x : α), f x ∂μ ≠ ⊤
h : ∀ᵐ (x : α) ∂μ, f x < g x
⊢ ∫⁻ (x : α), f x ∂μ < ∫⁻ (x : α), g x ∂μ

tactic: refine lintegral_strict_mono_of_ae_le_of_ae_lt_on hg hfi (ae_le_of_ae_lt h) hμ ?_
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
f g : α → ℝ≥0∞
hμ : ¬μ univ = 0
hg : AEMeasurable g μ
hfi : ∫⁻ (x : α), f x ∂μ ≠ ⊤
h : ∀ᵐ (x : α) ∂μ, f x < g x
⊢ ∫⁻ (x : α), f x ∂μ < ∫⁻ (x : α), g x ∂μ
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
f g : α → ℝ≥0∞
hμ : ¬μ univ = 0
hg : AEMeasurable g μ
hfi : ∫⁻ (x : α), f x ∂μ ≠ ⊤
h : ∀ᵐ (x : α) ∂μ, f x < g x
⊢ ∀ᵐ (x : α) ∂μ, x ∈ univ → f x < g x

tactic: simpa using h
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
f g : α → ℝ≥0∞
hμ : ¬μ univ = 0
hg : AEMeasurable g μ
hfi : ∫⁻ (x : α), f x ∂μ ≠ ⊤
h : ∀ᵐ (x : α) ∂μ, f x < g x
⊢ ∀ᵐ (x : α) ∂μ, x ∈ univ → f x < g x
state_after: no goals
Theorem: Cardinal.toPartENat_le_iff_of_le_aleph0
File: Mathlib/SetTheory/Cardinal/PartENat.lean

tactic: lift c to ℕ∞ using h
state_before: α : Type u
c c' : Cardinal.{u_1}
h : c ≤ ℵ₀
⊢ toPartENat c ≤ toPartENat c' ↔ c ≤ c'
state_after: case intro
α : Type u
c' : Cardinal.{u_1}
c : ℕ∞
⊢ toPartENat ↑c ≤ toPartENat c' ↔ ↑c ≤ c'

tactic: simp_rw [← partENatOfENat_toENat, toENat_ofENat, enat_gc _,
 ← PartENat.withTopOrderIso.symm.le_iff_le, PartENat.ofENat_le, map_le_map_iff]
state_before: case intro
α : Type u
c' : Cardinal.{u_1}
c : ℕ∞
⊢ toPartENat ↑c ≤ toPartENat c' ↔ ↑c ≤ c'
state_after: no goals
Theorem: MeasureTheory.Measure.restrict_sum_of_countable
File: Mathlib/MeasureTheory/Measure/Restrict.lean

tactic: ext t ht
state_before: R : Type u_1
α : Type u_2
β : Type u_3
δ : Type u_4
γ : Type u_5
ι : Type u_6
m0 : MeasurableSpace α
inst✝² : MeasurableSpace β
inst✝¹ : MeasurableSpace γ
μ✝ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t : Set α
inst✝ : Countable ι
μ : ι → Measure α
s : Set α
⊢ (sum μ).restrict s = sum fun i => (μ i).restrict s
state_after: case h
R : Type u_1
α : Type u_2
β : Type u_3
δ : Type u_4
γ : Type u_5
ι : Type u_6
m0 : MeasurableSpace α
inst✝² : MeasurableSpace β
inst✝¹ : MeasurableSpace γ
μ✝ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t✝ : Set α
inst✝ : Countable ι
μ : ι → Measure α
s t : Set α
ht : MeasurableSet t
⊢ ((sum μ).restrict s) t = (sum fun i => (μ i).restrict s) t

tactic: simp_rw [sum_apply _ ht, restrict_apply ht, sum_apply_of_countable]
state_before: case h
R : Type u_1
α : Type u_2
β : Type u_3
δ : Type u_4
γ : Type u_5
ι : Type u_6
m0 : MeasurableSpace α
inst✝² : MeasurableSpace β
inst✝¹ : MeasurableSpace γ
μ✝ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t✝ : Set α
inst✝ : Countable ι
μ : ι → Measure α
s t : Set α
ht : MeasurableSet t
⊢ ((sum μ).restrict s) t = (sum fun i => (μ i).restrict s) t
state_after: no goals
Theorem: Polynomial.trailingDegree_neg
File: Mathlib/Algebra/Polynomial/Degree/TrailingDegree.lean

tactic: unfold trailingDegree
state_before: R : Type u
S : Type v
a b : R
n m : ℕ
inst✝ : Ring R
p : R[X]
⊢ (-p).trailingDegree = p.trailingDegree
state_after: R : Type u
S : Type v
a b : R
n m : ℕ
inst✝ : Ring R
p : R[X]
⊢ (-p).support.min = p.support.min

tactic: rw [support_neg]
state_before: R : Type u
S : Type v
a b : R
n m : ℕ
inst✝ : Ring R
p : R[X]
⊢ (-p).support.min = p.support.min
state_after: no goals
Theorem: CategoryTheory.Abelian.pseudoEqual_refl
File: Mathlib/CategoryTheory/Abelian/Pseudoelements.lean

tactic: simp
state_before: C : Type u
inst✝ : Category.{v, u} C
P : C
f : Over P
⊢ 𝟙 f.left ≫ f.hom = 𝟙 f.left ≫ f.hom
state_after: no goals
Theorem: Multiset.powersetAux'_cons
File: Mathlib/Data/Multiset/Powerset.lean

tactic: simp only [powersetAux', sublists'_cons, map_append, List.map_map, append_cancel_left_eq]
state_before: α : Type u_1
a : α
l : List α
⊢ powersetAux' (a :: l) = powersetAux' l ++ List.map (cons a) (powersetAux' l)
state_after: α : Type u_1
a : α
l : List α
⊢ List.map (ofList ∘ List.cons a) l.sublists' = List.map (cons a ∘ ofList) l.sublists'

tactic: rfl
state_before: α : Type u_1
a : α
l : List α
⊢ List.map (ofList ∘ List.cons a) l.sublists' = List.map (cons a ∘ ofList) l.sublists'
state_after: no goals
Theorem: Function.Antiperiodic.const_inv_smul
File: Mathlib/Algebra/Periodic.lean

tactic: simpa only [inv_inv] using h.const_smul a⁻¹
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
f g : α → β
c c₁ c₂ x : α
inst✝³ : AddMonoid α
inst✝² : Neg β
inst✝¹ : Group γ
inst✝ : DistribMulAction γ α
h : Antiperiodic f c
a : γ
⊢ Antiperiodic (fun x => f (a⁻¹ • x)) (a • c)
state_after: no goals
Theorem: CategoryTheory.Iso.cancel_iso_hom_right
File: Mathlib/CategoryTheory/Iso.lean

tactic: simp only [cancel_mono]
state_before: C : Type u
inst✝ : Category.{v, u} C
X✝ Y✝ Z✝ X Y Z : C
f f' : X ⟶ Y
g : Y ≅ Z
⊢ f ≫ g.hom = f' ≫ g.hom ↔ f = f'
state_after: no goals
Theorem: Homeomorph.map_punctured_nhds_eq
File: Mathlib/Topology/Homeomorph.lean

tactic: convert h.embedding.map_nhdsWithin_eq ({x}ᶜ) x
state_before: X : Type u_1
Y : Type u_2
Z : Type u_3
inst✝⁴ : TopologicalSpace X
inst✝³ : TopologicalSpace Y
inst✝² : TopologicalSpace Z
X' : Type u_4
Y' : Type u_5
inst✝¹ : TopologicalSpace X'
inst✝ : TopologicalSpace Y'
h : X ≃ₜ Y
x : X
⊢ map (⇑h) (𝓝[≠] x) = 𝓝[≠] h x
state_after: case h.e'_3.h.e'_4
X : Type u_1
Y : Type u_2
Z : Type u_3
inst✝⁴ : TopologicalSpace X
inst✝³ : TopologicalSpace Y
inst✝² : TopologicalSpace Z
X' : Type u_4
Y' : Type u_5
inst✝¹ : TopologicalSpace X'
inst✝ : TopologicalSpace Y'
h : X ≃ₜ Y
x : X
⊢ {h x}ᶜ = ⇑h '' {x}ᶜ

tactic: rw [h.image_compl, Set.image_singleton]
state_before: case h.e'_3.h.e'_4
X : Type u_1
Y : Type u_2
Z : Type u_3
inst✝⁴ : TopologicalSpace X
inst✝³ : TopologicalSpace Y
inst✝² : TopologicalSpace Z
X' : Type u_4
Y' : Type u_5
inst✝¹ : TopologicalSpace X'
inst✝ : TopologicalSpace Y'
h : X ≃ₜ Y
x : X
⊢ {h x}ᶜ = ⇑h '' {x}ᶜ
state_after: no goals
Theorem: Finset.update_piecewise_of_mem
File: Mathlib/Data/Finset/Piecewise.lean

tactic: rw [update_piecewise]
state_before: ι : Type u_1
π : ι → Sort u_2
s : Finset ι
f g : (i : ι) → π i
inst✝¹ : (j : ι) → Decidable (j ∈ s)
inst✝ : DecidableEq ι
i : ι
hi : i ∈ s
v : π i
⊢ update (s.piecewise f g) i v = s.piecewise (update f i v) g
state_after: ι : Type u_1
π : ι → Sort u_2
s : Finset ι
f g : (i : ι) → π i
inst✝¹ : (j : ι) → Decidable (j ∈ s)
inst✝ : DecidableEq ι
i : ι
hi : i ∈ s
v : π i
⊢ s.piecewise (update f i v) (update g i v) = s.piecewise (update f i v) g

tactic: refine s.piecewise_congr (fun _ _ => rfl) fun j hj => update_noteq ?_ _ _
state_before: ι : Type u_1
π : ι → Sort u_2
s : Finset ι
f g : (i : ι) → π i
inst✝¹ : (j : ι) → Decidable (j ∈ s)
inst✝ : DecidableEq ι
i : ι
hi : i ∈ s
v : π i
⊢ s.piecewise (update f i v) (update g i v) = s.piecewise (update f i v) g
state_after: ι : Type u_1
π : ι → Sort u_2
s : Finset ι
f g : (i : ι) → π i
inst✝¹ : (j : ι) → Decidable (j ∈ s)
inst✝ : DecidableEq ι
i : ι
hi : i ∈ s
v : π i
j : ι
hj : j ∉ s
⊢ j ≠ i

tactic: exact fun h => hj (h.symm ▸ hi)
state_before: ι : Type u_1
π : ι → Sort u_2
s : Finset ι
f g : (i : ι) → π i
inst✝¹ : (j : ι) → Decidable (j ∈ s)
inst✝ : DecidableEq ι
i : ι
hi : i ∈ s
v : π i
j : ι
hj : j ∉ s
⊢ j ≠ i
state_after: no goals
Theorem: List.subperm_cons_diff
File: .lake/packages/batteries/Batteries/Data/List/Perm.lean

tactic: induction l₂ with
| nil => exact ⟨a :: l₁, by simp [List.diff]⟩
| cons b l₂ ih =>
  rw [diff_cons, diff_cons, ← diff_erase, ← diff_erase]
  exact Subperm.trans (.erase _ ih) (erase_cons_subperm_cons_erase ..)
state_before: α : Type u_1
inst✝ : DecidableEq α
a : α
l₁ l₂ : List α
⊢ (a :: l₁).diff l₂ <+~ a :: l₁.diff l₂
state_after: no goals

tactic: exact ⟨a :: l₁, by simp [List.diff]⟩
state_before: case nil
α : Type u_1
inst✝ : DecidableEq α
a : α
l₁ : List α
⊢ (a :: l₁).diff [] <+~ a :: l₁.diff []
state_after: no goals

tactic: simp [List.diff]
state_before: α : Type u_1
inst✝ : DecidableEq α
a : α
l₁ : List α
⊢ a :: l₁ ~ (a :: l₁).diff [] ∧ a :: l₁ <+ a :: l₁.diff []
state_after: no goals

tactic: rw [diff_cons, diff_cons, ← diff_erase, ← diff_erase]
state_before: case cons
α : Type u_1
inst✝ : DecidableEq α
a : α
l₁ : List α
b : α
l₂ : List α
ih : (a :: l₁).diff l₂ <+~ a :: l₁.diff l₂
⊢ (a :: l₁).diff (b :: l₂) <+~ a :: l₁.diff (b :: l₂)
state_after: case cons
α : Type u_1
inst✝ : DecidableEq α
a : α
l₁ : List α
b : α
l₂ : List α
ih : (a :: l₁).diff l₂ <+~ a :: l₁.diff l₂
⊢ ((a :: l₁).diff l₂).erase b <+~ a :: (l₁.diff l₂).erase b

tactic: exact Subperm.trans (.erase _ ih) (erase_cons_subperm_cons_erase ..)
state_before: case cons
α : Type u_1
inst✝ : DecidableEq α
a : α
l₁ : List α
b : α
l₂ : List α
ih : (a :: l₁).diff l₂ <+~ a :: l₁.diff l₂
⊢ ((a :: l₁).diff l₂).erase b <+~ a :: (l₁.diff l₂).erase b
state_after: no goals
Theorem: Filter.HasBasis.prod_nhds
File: Mathlib/Topology/Constructions.lean

tactic: rw [nhds_prod_eq]
state_before: X : Type u
Y : Type v
Z : Type u_1
W : Type u_2
ε : Type u_3
ζ : Type u_4
inst✝⁵ : TopologicalSpace X
inst✝⁴ : TopologicalSpace Y
inst✝³ : TopologicalSpace Z
inst✝² : TopologicalSpace W
inst✝¹ : TopologicalSpace ε
inst✝ : TopologicalSpace ζ
ιX : Type u_5
ιY : Type u_6
px : ιX → Prop
py : ιY → Prop
sx : ιX → Set X
sy : ιY → Set Y
x : X
y : Y
hx : (𝓝 x).HasBasis px sx
hy : (𝓝 y).HasBasis py sy
⊢ (𝓝 (x, y)).HasBasis (fun i => px i.1 ∧ py i.2) fun i => sx i.1 ×ˢ sy i.2
state_after: X : Type u
Y : Type v
Z : Type u_1
W : Type u_2
ε : Type u_3
ζ : Type u_4
inst✝⁵ : TopologicalSpace X
inst✝⁴ : TopologicalSpace Y
inst✝³ : TopologicalSpace Z
inst✝² : TopologicalSpace W
inst✝¹ : TopologicalSpace ε
inst✝ : TopologicalSpace ζ
ιX : Type u_5
ιY : Type u_6
px : ιX → Prop
py : ιY → Prop
sx : ιX → Set X
sy : ιY → Set Y
x : X
y : Y
hx : (𝓝 x).HasBasis px sx
hy : (𝓝 y).HasBasis py sy
⊢ (𝓝 x ×ˢ 𝓝 y).HasBasis (fun i => px i.1 ∧ py i.2) fun i => sx i.1 ×ˢ sy i.2

tactic: exact hx.prod hy
state_before: X : Type u
Y : Type v
Z : Type u_1
W : Type u_2
ε : Type u_3
ζ : Type u_4
inst✝⁵ : TopologicalSpace X
inst✝⁴ : TopologicalSpace Y
inst✝³ : TopologicalSpace Z
inst✝² : TopologicalSpace W
inst✝¹ : TopologicalSpace ε
inst✝ : TopologicalSpace ζ
ιX : Type u_5
ιY : Type u_6
px : ιX → Prop
py : ιY → Prop
sx : ιX → Set X
sy : ιY → Set Y
x : X
y : Y
hx : (𝓝 x).HasBasis px sx
hy : (𝓝 y).HasBasis py sy
⊢ (𝓝 x ×ˢ 𝓝 y).HasBasis (fun i => px i.1 ∧ py i.2) fun i => sx i.1 ×ˢ sy i.2
state_after: no goals
Theorem: Matroid.map_dual
File: Mathlib/Data/Matroid/Map.lean

tactic: apply eq_of_base_iff_base_forall (by simp)
state_before: α : Type u_1
β : Type u_2
f : α → β
E I s : Set α
M : Matroid α
N : Matroid β
hf : InjOn f M.E
⊢ (M.map f hf)✶ = M✶.map f hf
state_after: α : Type u_1
β : Type u_2
f : α → β
E I s : Set α
M : Matroid α
N : Matroid β
hf : InjOn f M.E
⊢ ∀ ⦃B : Set β⦄, B ⊆ (M.map f hf)✶.E → ((M.map f hf)✶.Base B ↔ (M✶.map f hf).Base B)

tactic: simp only [dual_ground, map_ground, subset_image_iff, forall_exists_index, and_imp,
  forall_apply_eq_imp_iff₂, dual_base_iff']
state_before: α : Type u_1
β : Type u_2
f : α → β
E I s : Set α
M : Matroid α
N : Matroid β
hf : InjOn f M.E
⊢ ∀ ⦃B : Set β⦄, B ⊆ (M.map f hf)✶.E → ((M.map f hf)✶.Base B ↔ (M✶.map f hf).Base B)
state_after: α : Type u_1
β : Type u_2
f : α → β
E I s : Set α
M : Matroid α
N : Matroid β
hf : InjOn f M.E
⊢ ∀ a ⊆ M.E, ((M.map f hf).Base (f '' M.E \ f '' a) ∧ ∃ u ⊆ M.E, f '' u = f '' a) ↔ (M✶.map f hf).Base (f '' a)

tactic: intro B hB
state_before: α : Type u_1
β : Type u_2
f : α → β
E I s : Set α
M : Matroid α
N : Matroid β
hf : InjOn f M.E
⊢ ∀ a ⊆ M.E, ((M.map f hf).Base (f '' M.E \ f '' a) ∧ ∃ u ⊆ M.E, f '' u = f '' a) ↔ (M✶.map f hf).Base (f '' a)
state_after: α : Type u_1
β : Type u_2
f : α → β
E I s : Set α
M : Matroid α
N : Matroid β
hf : InjOn f M.E
B : Set α
hB : B ⊆ M.E
⊢ ((M.map f hf).Base (f '' M.E \ f '' B) ∧ ∃ u ⊆ M.E, f '' u = f '' B) ↔ (M✶.map f hf).Base (f '' B)

tactic: simp_rw [← hf.image_diff_subset hB, map_image_base_iff diff_subset,
  map_image_base_iff (show B ⊆ M✶.E from hB), dual_base_iff hB, and_iff_left_iff_imp]
state_before: α : Type u_1
β : Type u_2
f : α → β
E I s : Set α
M : Matroid α
N : Matroid β
hf : InjOn f M.E
B : Set α
hB : B ⊆ M.E
⊢ ((M.map f hf).Base (f '' M.E \ f '' B) ∧ ∃ u ⊆ M.E, f '' u = f '' B) ↔ (M✶.map f hf).Base (f '' B)
state_after: α : Type u_1
β : Type u_2
f : α → β
E I s : Set α
M : Matroid α
N : Matroid β
hf : InjOn f M.E
B : Set α
hB : B ⊆ M.E
⊢ M.Base (M.E \ B) → ∃ u ⊆ M.E, f '' u = f '' B

tactic: exact fun _ ↦ ⟨B, hB, rfl⟩
state_before: α : Type u_1
β : Type u_2
f : α → β
E I s : Set α
M : Matroid α
N : Matroid β
hf : InjOn f M.E
B : Set α
hB : B ⊆ M.E
⊢ M.Base (M.E \ B) → ∃ u ⊆ M.E, f '' u = f '' B
state_after: no goals

tactic: simp
state_before: α : Type u_1
β : Type u_2
f : α → β
E I s : Set α
M : Matroid α
N : Matroid β
hf : InjOn f M.E
⊢ (M.map f hf)✶.E = (M✶.map f hf).E
state_after: no goals
Theorem: Polynomial.derivative_natCast
File: Mathlib/Algebra/Polynomial/Derivative.lean

tactic: rw [← map_natCast C n]
state_before: R : Type u
S : Type v
T : Type w
ι : Type y
A : Type z
a b : R
n✝ : ℕ
inst✝ : Semiring R
n : ℕ
⊢ derivative ↑n = 0
state_after: R : Type u
S : Type v
T : Type w
ι : Type y
A : Type z
a b : R
n✝ : ℕ
inst✝ : Semiring R
n : ℕ
⊢ derivative (C ↑n) = 0

tactic: exact derivative_C
state_before: R : Type u
S : Type v
T : Type w
ι : Type y
A : Type z
a b : R
n✝ : ℕ
inst✝ : Semiring R
n : ℕ
⊢ derivative (C ↑n) = 0
state_after: no goals
Theorem: isIntegralCurve_const
File: Mathlib/Geometry/Manifold/IntegralCurve.lean

tactic: intro t
state_before: E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s s' : Set ℝ
t₀ : ℝ
x : M
h : v x = 0
⊢ IsIntegralCurve (fun x_1 => x) v
state_after: E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s s' : Set ℝ
t₀ : ℝ
x : M
h : v x = 0
t : ℝ
⊢ HasMFDerivAt 𝓘(ℝ, ℝ) I (fun x_1 => x) t (ContinuousLinearMap.smulRight 1 (v ((fun x_1 => x) t)))

tactic: rw [h, ← ContinuousLinearMap.zero_apply (R₁ := ℝ) (R₂ := ℝ) (1 : ℝ),
  ContinuousLinearMap.smulRight_one_one]
state_before: E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s s' : Set ℝ
t₀ : ℝ
x : M
h : v x = 0
t : ℝ
⊢ HasMFDerivAt 𝓘(ℝ, ℝ) I (fun x_1 => x) t (ContinuousLinearMap.smulRight 1 (v ((fun x_1 => x) t)))
state_after: E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s s' : Set ℝ
t₀ : ℝ
x : M
h : v x = 0
t : ℝ
⊢ HasMFDerivAt 𝓘(ℝ, ℝ) I (fun x_1 => x) t 0

tactic: exact hasMFDerivAt_const ..
state_before: E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
H : Type u_2
inst✝³ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : ChartedSpace H M
inst✝ : SmoothManifoldWithCorners I M
γ γ' : ℝ → M
v : (x : M) → TangentSpace I x
s s' : Set ℝ
t₀ : ℝ
x : M
h : v x = 0
t : ℝ
⊢ HasMFDerivAt 𝓘(ℝ, ℝ) I (fun x_1 => x) t 0
state_after: no goals
Theorem: Pi.induced_precomp'
File: Mathlib/Topology/Constructions.lean

tactic: simp [Pi.topologicalSpace, induced_iInf, induced_compose, comp]
state_before: X : Type u
Y : Type v
Z : Type u_1
W : Type u_2
ε : Type u_3
ζ : Type u_4
ι : Type u_5
π : ι → Type u_6
κ : Type u_7
inst✝ : TopologicalSpace X
T : (i : ι) → TopologicalSpace (π i)
f : X → (i : ι) → π i
ι' : Type u_8
φ : ι' → ι
⊢ induced (fun f j => f (φ j)) topologicalSpace = ⨅ i', induced (eval (φ i')) (T (φ i'))
state_after: no goals
Theorem: Filter.eventually_atBot_prod_self
File: Mathlib/Order/Filter/AtTopBot.lean

tactic: simp [← prod_atBot_atBot_eq, (@atBot_basis α _ _).prod_self.eventually_iff]
state_before: ι : Type u_1
ι' : Type u_2
α : Type u_3
β : Type u_4
γ : Type u_5
inst✝¹ : SemilatticeInf α
inst✝ : Nonempty α
p : α × α → Prop
⊢ (∀ᶠ (x : α × α) in atBot, p x) ↔ ∃ a, ∀ (k l : α), k ≤ a → l ≤ a → p (k, l)
state_after: no goals
Theorem: NumberField.mixedEmbedding.exists_ne_zero_mem_ringOfIntegers_lt
File: Mathlib/NumberTheory/NumberField/CanonicalEmbedding/ConvexBody.lean

tactic: obtain ⟨_, h_mem, h_nz, h_bd⟩ := exists_ne_zero_mem_ideal_lt K ↑1 h
state_before: K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
I✝ : (FractionalIdeal (𝓞 K)⁰ K)ˣ
f : InfinitePlace K → ℝ≥0
I : (FractionalIdeal (𝓞 K)⁰ K)ˣ
h : minkowskiBound K 1 < volume (convexBodyLT K f)
⊢ ∃ a, a ≠ 0 ∧ ∀ (w : InfinitePlace K), w ↑a < ↑(f w)
state_after: case intro.intro.intro
K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
I✝ : (FractionalIdeal (𝓞 K)⁰ K)ˣ
f : InfinitePlace K → ℝ≥0
I : (FractionalIdeal (𝓞 K)⁰ K)ˣ
h : minkowskiBound K 1 < volume (convexBodyLT K f)
w✝ : K
h_mem : w✝ ∈ ↑1
h_nz : w✝ ≠ 0
h_bd : ∀ (w : InfinitePlace K), w w✝ < ↑(f w)
⊢ ∃ a, a ≠ 0 ∧ ∀ (w : InfinitePlace K), w ↑a < ↑(f w)

tactic: obtain ⟨a, rfl⟩ := (FractionalIdeal.mem_one_iff _).mp h_mem
state_before: case intro.intro.intro
K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
I✝ : (FractionalIdeal (𝓞 K)⁰ K)ˣ
f : InfinitePlace K → ℝ≥0
I : (FractionalIdeal (𝓞 K)⁰ K)ˣ
h : minkowskiBound K 1 < volume (convexBodyLT K f)
w✝ : K
h_mem : w✝ ∈ ↑1
h_nz : w✝ ≠ 0
h_bd : ∀ (w : InfinitePlace K), w w✝ < ↑(f w)
⊢ ∃ a, a ≠ 0 ∧ ∀ (w : InfinitePlace K), w ↑a < ↑(f w)
state_after: case intro.intro.intro.intro
K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
I✝ : (FractionalIdeal (𝓞 K)⁰ K)ˣ
f : InfinitePlace K → ℝ≥0
I : (FractionalIdeal (𝓞 K)⁰ K)ˣ
h : minkowskiBound K 1 < volume (convexBodyLT K f)
a : 𝓞 K
h_mem : (algebraMap (𝓞 K) K) a ∈ ↑1
h_nz : (algebraMap (𝓞 K) K) a ≠ 0
h_bd : ∀ (w : InfinitePlace K), w ((algebraMap (𝓞 K) K) a) < ↑(f w)
⊢ ∃ a, a ≠ 0 ∧ ∀ (w : InfinitePlace K), w ↑a < ↑(f w)

tactic: exact ⟨a, RingOfIntegers.coe_ne_zero_iff.mp h_nz, h_bd⟩
state_before: case intro.intro.intro.intro
K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
I✝ : (FractionalIdeal (𝓞 K)⁰ K)ˣ
f : InfinitePlace K → ℝ≥0
I : (FractionalIdeal (𝓞 K)⁰ K)ˣ
h : minkowskiBound K 1 < volume (convexBodyLT K f)
a : 𝓞 K
h_mem : (algebraMap (𝓞 K) K) a ∈ ↑1
h_nz : (algebraMap (𝓞 K) K) a ≠ 0
h_bd : ∀ (w : InfinitePlace K), w ((algebraMap (𝓞 K) K) a) < ↑(f w)
⊢ ∃ a, a ≠ 0 ∧ ∀ (w : InfinitePlace K), w ↑a < ↑(f w)
state_after: no goals