1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: iteratedDerivWithin_one
File: Mathlib/Analysis/Calculus/IteratedDeriv/Defs.lean

tactic: simp only [iteratedDerivWithin, iteratedFDerivWithin_one_apply h]
state_before: 𝕜 : Type u_1
inst✝⁴ : NontriviallyNormedField 𝕜
F : Type u_2
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
E : Type u_3
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
n : ℕ
f : 𝕜 → F
s : Set 𝕜
x✝ x : 𝕜
h : UniqueDiffWithinAt 𝕜 s x
⊢ iteratedDerivWithin 1 f s x = derivWithin f s x
state_after: 𝕜 : Type u_1
inst✝⁴ : NontriviallyNormedField 𝕜
F : Type u_2
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
E : Type u_3
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
n : ℕ
f : 𝕜 → F
s : Set 𝕜
x✝ x : 𝕜
h : UniqueDiffWithinAt 𝕜 s x
⊢ (fderivWithin 𝕜 f s x) 1 = derivWithin f s x

tactic: rfl
state_before: 𝕜 : Type u_1
inst✝⁴ : NontriviallyNormedField 𝕜
F : Type u_2
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
E : Type u_3
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
n : ℕ
f : 𝕜 → F
s : Set 𝕜
x✝ x : 𝕜
h : UniqueDiffWithinAt 𝕜 s x
⊢ (fderivWithin 𝕜 f s x) 1 = derivWithin f s x
state_after: no goals
Theorem: MeasureTheory.L2.add_left'
File: Mathlib/MeasureTheory/Function/L2Space.lean

tactic: simp_rw [inner_def, ← integral_add (integrable_inner f g) (integrable_inner f' g), ←
  inner_add_left]
state_before: α : Type u_1
E : Type u_2
F : Type u_3
𝕜 : Type u_4
inst✝⁴ : RCLike 𝕜
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : InnerProductSpace 𝕜 E
inst✝ : NormedAddCommGroup F
f f' g : ↥(Lp E 2 μ)
⊢ ⟪f + f', g⟫_𝕜 = ⟪f, g⟫_𝕜 + ⟪f', g⟫_𝕜
state_after: α : Type u_1
E : Type u_2
F : Type u_3
𝕜 : Type u_4
inst✝⁴ : RCLike 𝕜
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : InnerProductSpace 𝕜 E
inst✝ : NormedAddCommGroup F
f f' g : ↥(Lp E 2 μ)
⊢ ∫ (a : α), ⟪↑↑(f + f') a, ↑↑g a⟫_𝕜 ∂μ = ∫ (a : α), ⟪↑↑f a + ↑↑f' a, ↑↑g a⟫_𝕜 ∂μ

tactic: refine integral_congr_ae ((coeFn_add f f').mono fun x hx => ?_)
state_before: α : Type u_1
E : Type u_2
F : Type u_3
𝕜 : Type u_4
inst✝⁴ : RCLike 𝕜
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : InnerProductSpace 𝕜 E
inst✝ : NormedAddCommGroup F
f f' g : ↥(Lp E 2 μ)
⊢ ∫ (a : α), ⟪↑↑(f + f') a, ↑↑g a⟫_𝕜 ∂μ = ∫ (a : α), ⟪↑↑f a + ↑↑f' a, ↑↑g a⟫_𝕜 ∂μ
state_after: α : Type u_1
E : Type u_2
F : Type u_3
𝕜 : Type u_4
inst✝⁴ : RCLike 𝕜
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : InnerProductSpace 𝕜 E
inst✝ : NormedAddCommGroup F
f f' g : ↥(Lp E 2 μ)
x : α
hx : ↑↑(f + f') x = (↑↑f + ↑↑f') x
⊢ (fun a => ⟪↑↑(f + f') a, ↑↑g a⟫_𝕜) x = (fun a => ⟪↑↑f a + ↑↑f' a, ↑↑g a⟫_𝕜) x

tactic: simp only
state_before: α : Type u_1
E : Type u_2
F : Type u_3
𝕜 : Type u_4
inst✝⁴ : RCLike 𝕜
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : InnerProductSpace 𝕜 E
inst✝ : NormedAddCommGroup F
f f' g : ↥(Lp E 2 μ)
x : α
hx : ↑↑(f + f') x = (↑↑f + ↑↑f') x
⊢ (fun a => ⟪↑↑(f + f') a, ↑↑g a⟫_𝕜) x = (fun a => ⟪↑↑f a + ↑↑f' a, ↑↑g a⟫_𝕜) x
state_after: α : Type u_1
E : Type u_2
F : Type u_3
𝕜 : Type u_4
inst✝⁴ : RCLike 𝕜
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : InnerProductSpace 𝕜 E
inst✝ : NormedAddCommGroup F
f f' g : ↥(Lp E 2 μ)
x : α
hx : ↑↑(f + f') x = (↑↑f + ↑↑f') x
⊢ ⟪↑↑(f + f') x, ↑↑g x⟫_𝕜 = ⟪↑↑f x + ↑↑f' x, ↑↑g x⟫_𝕜

tactic: rw [hx, Pi.add_apply]
state_before: α : Type u_1
E : Type u_2
F : Type u_3
𝕜 : Type u_4
inst✝⁴ : RCLike 𝕜
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : InnerProductSpace 𝕜 E
inst✝ : NormedAddCommGroup F
f f' g : ↥(Lp E 2 μ)
x : α
hx : ↑↑(f + f') x = (↑↑f + ↑↑f') x
⊢ ⟪↑↑(f + f') x, ↑↑g x⟫_𝕜 = ⟪↑↑f x + ↑↑f' x, ↑↑g x⟫_𝕜
state_after: no goals
Theorem: Matrix.trace_one
File: Mathlib/LinearAlgebra/Matrix/Trace.lean

tactic: simp_rw [trace, diag_one, Pi.one_def, Finset.sum_const, nsmul_one, Finset.card_univ]
state_before: ι : Type u_1
m : Type u_2
n : Type u_3
p : Type u_4
α : Type u_5
R : Type u_6
S : Type u_7
inst✝⁴ : Fintype m
inst✝³ : Fintype n
inst✝² : Fintype p
inst✝¹ : DecidableEq n
inst✝ : AddCommMonoidWithOne R
⊢ trace 1 = ↑(Fintype.card n)
state_after: no goals
Theorem: TypeVec.repeat_eq_nil
File: Mathlib/Data/TypeVec.lean

tactic: ext i
state_before: n : ℕ
α : TypeVec.{u_1} 0
⊢ α.repeatEq = nilFun
state_after: case a.h
n : ℕ
α : TypeVec.{u_1} 0
i : Fin2 0
x✝ : (α ⊗ α) i
⊢ α.repeatEq i x✝ = nilFun i x✝

tactic: cases i
state_before: case a.h
n : ℕ
α : TypeVec.{u_1} 0
i : Fin2 0
x✝ : (α ⊗ α) i
⊢ α.repeatEq i x✝ = nilFun i x✝
state_after: no goals
Theorem: Topology.IsScott.isClosed_iff_isLowerSet_and_dirSupClosed
File: Mathlib/Topology/Order/ScottTopology.lean

tactic: rw [← isOpen_compl_iff, isOpen_iff_isUpperSet_and_dirSupInacc, isUpperSet_compl,
  dirSupInacc_compl]
state_before: α : Type u_1
β : Type u_2
inst✝² : Preorder α
inst✝¹ : TopologicalSpace α
inst✝ : IsScott α
s : Set α
a : α
⊢ IsClosed s ↔ IsLowerSet s ∧ DirSupClosed s
state_after: no goals
Theorem: Submodule.IsPrincipal.mem_iff_generator_dvd
File: Mathlib/RingTheory/PrincipalIdealDomain.lean

tactic: simp only [mul_comm, smul_eq_mul]
state_before: R : Type u
M : Type v
inst✝³ : AddCommGroup M
inst✝² : CommRing R
inst✝¹ : Module R M
S : Ideal R
inst✝ : IsPrincipal S
x a : R
⊢ x = a • generator S ↔ x = generator S * a
state_after: no goals
Theorem: CategoryTheory.ShortComplex.exact_of_iso
File: Mathlib/Algebra/Homology/ShortComplex/Exact.lean

tactic: obtain ⟨⟨h, z⟩⟩ := h
state_before: C : Type u_1
D : Type u_2
inst✝³ : Category.{u_3, u_1} C
inst✝² : Category.{?u.5936, u_2} D
inst✝¹ : HasZeroMorphisms C
inst✝ : HasZeroMorphisms D
S S₁ S₂ : ShortComplex C
e : S₁ ≅ S₂
h : S₁.Exact
⊢ S₂.Exact
state_after: case mk.intro
C : Type u_1
D : Type u_2
inst✝³ : Category.{u_3, u_1} C
inst✝² : Category.{?u.5936, u_2} D
inst✝¹ : HasZeroMorphisms C
inst✝ : HasZeroMorphisms D
S S₁ S₂ : ShortComplex C
e : S₁ ≅ S₂
h : S₁.HomologyData
z : IsZero h.left.H
⊢ S₂.Exact

tactic: exact ⟨⟨HomologyData.ofIso e h, z⟩⟩
state_before: case mk.intro
C : Type u_1
D : Type u_2
inst✝³ : Category.{u_3, u_1} C
inst✝² : Category.{?u.5936, u_2} D
inst✝¹ : HasZeroMorphisms C
inst✝ : HasZeroMorphisms D
S S₁ S₂ : ShortComplex C
e : S₁ ≅ S₂
h : S₁.HomologyData
z : IsZero h.left.H
⊢ S₂.Exact
state_after: no goals
Theorem: FractionalIdeal.finite_factors
File: Mathlib/RingTheory/DedekindDomain/Factorization.lean

tactic: by_cases hI : I = 0
state_before: R : Type u_1
inst✝⁴ : CommRing R
K : Type u_2
inst✝³ : Field K
inst✝² : Algebra R K
inst✝¹ : IsFractionRing R K
inst✝ : IsDedekindDomain R
v : HeightOneSpectrum R
I : FractionalIdeal R⁰ K
⊢ ∀ᶠ (v : HeightOneSpectrum R) in Filter.cofinite, count K v I = 0
state_after: case pos
R : Type u_1
inst✝⁴ : CommRing R
K : Type u_2
inst✝³ : Field K
inst✝² : Algebra R K
inst✝¹ : IsFractionRing R K
inst✝ : IsDedekindDomain R
v : HeightOneSpectrum R
I : FractionalIdeal R⁰ K
hI : I = 0
⊢ ∀ᶠ (v : HeightOneSpectrum R) in Filter.cofinite, count K v I = 0

case neg
R : Type u_1
inst✝⁴ : CommRing R
K : Type u_2
inst✝³ : Field K
inst✝² : Algebra R K
inst✝¹ : IsFractionRing R K
inst✝ : IsDedekindDomain R
v : HeightOneSpectrum R
I : FractionalIdeal R⁰ K
hI : ¬I = 0
⊢ ∀ᶠ (v : HeightOneSpectrum R) in Filter.cofinite, count K v I = 0

tactic: simp only [hI, count_zero, Filter.eventually_cofinite, not_true_eq_false, setOf_false,
  finite_empty]
state_before: case pos
R : Type u_1
inst✝⁴ : CommRing R
K : Type u_2
inst✝³ : Field K
inst✝² : Algebra R K
inst✝¹ : IsFractionRing R K
inst✝ : IsDedekindDomain R
v : HeightOneSpectrum R
I : FractionalIdeal R⁰ K
hI : I = 0
⊢ ∀ᶠ (v : HeightOneSpectrum R) in Filter.cofinite, count K v I = 0
state_after: no goals

tactic: convert finite_factors' hI (choose_spec (choose_spec (exists_eq_spanSingleton_mul I))).2
state_before: case neg
R : Type u_1
inst✝⁴ : CommRing R
K : Type u_2
inst✝³ : Field K
inst✝² : Algebra R K
inst✝¹ : IsFractionRing R K
inst✝ : IsDedekindDomain R
v : HeightOneSpectrum R
I : FractionalIdeal R⁰ K
hI : ¬I = 0
⊢ ∀ᶠ (v : HeightOneSpectrum R) in Filter.cofinite, count K v I = 0
state_after: case h.e'_2.h.h.e'_2
R : Type u_1
inst✝⁴ : CommRing R
K : Type u_2
inst✝³ : Field K
inst✝² : Algebra R K
inst✝¹ : IsFractionRing R K
inst✝ : IsDedekindDomain R
v : HeightOneSpectrum R
I : FractionalIdeal R⁰ K
hI : ¬I = 0
x✝ : HeightOneSpectrum R
⊢ count K x✝ I =
    ↑((Associates.mk x✝.asIdeal).count (Associates.mk (choose ⋯)).factors) -
      ↑((Associates.mk x✝.asIdeal).count (Associates.mk (Ideal.span {choose ⋯})).factors)

tactic: rw [count_ne_zero K _ hI]
state_before: case h.e'_2.h.h.e'_2
R : Type u_1
inst✝⁴ : CommRing R
K : Type u_2
inst✝³ : Field K
inst✝² : Algebra R K
inst✝¹ : IsFractionRing R K
inst✝ : IsDedekindDomain R
v : HeightOneSpectrum R
I : FractionalIdeal R⁰ K
hI : ¬I = 0
x✝ : HeightOneSpectrum R
⊢ count K x✝ I =
    ↑((Associates.mk x✝.asIdeal).count (Associates.mk (choose ⋯)).factors) -
      ↑((Associates.mk x✝.asIdeal).count (Associates.mk (Ideal.span {choose ⋯})).factors)
state_after: no goals
Theorem: AlgebraicGeometry.Scheme.zariskiTopology_openCover
File: Mathlib/AlgebraicGeometry/Sites/BigZariski.lean

tactic: let V : OpenCover.{u} Y :=
  { J := Y
    obj := fun y => U.obj (U.f y)
    map := fun y => U.map (U.f y)
    f := id
    covers := U.covers
    IsOpen := fun _ => U.IsOpen _ }
state_before: Y : Scheme
U : Y.OpenCover
⊢ zariskiTopology.sieves Y (Sieve.generate (Presieve.ofArrows U.obj U.map))
state_after: Y : Scheme
U : Y.OpenCover
V : Y.OpenCover :=
  { J := ↑↑Y.toPresheafedSpace, obj := fun y => U.obj (U.f y), map := fun y => U.map (U.f y), f := id, covers := ⋯,
    IsOpen := ⋯ }
⊢ zariskiTopology.sieves Y (Sieve.generate (Presieve.ofArrows U.obj U.map))

tactic: refine ⟨_, zariskiPretopology_openCover V, ?_⟩
state_before: Y : Scheme
U : Y.OpenCover
V : Y.OpenCover :=
  { J := ↑↑Y.toPresheafedSpace, obj := fun y => U.obj (U.f y), map := fun y => U.map (U.f y), f := id, covers := ⋯,
    IsOpen := ⋯ }
⊢ zariskiTopology.sieves Y (Sieve.generate (Presieve.ofArrows U.obj U.map))
state_after: Y : Scheme
U : Y.OpenCover
V : Y.OpenCover :=
  { J := ↑↑Y.toPresheafedSpace, obj := fun y => U.obj (U.f y), map := fun y => U.map (U.f y), f := id, covers := ⋯,
    IsOpen := ⋯ }
⊢ Presieve.ofArrows V.obj V.map ≤ (Sieve.generate (Presieve.ofArrows U.obj U.map)).arrows

tactic: rintro _ _ ⟨y⟩
state_before: Y : Scheme
U : Y.OpenCover
V : Y.OpenCover :=
  { J := ↑↑Y.toPresheafedSpace, obj := fun y => U.obj (U.f y), map := fun y => U.map (U.f y), f := id, covers := ⋯,
    IsOpen := ⋯ }
⊢ Presieve.ofArrows V.obj V.map ≤ (Sieve.generate (Presieve.ofArrows U.obj U.map)).arrows
state_after: case mk
Y✝ : Scheme
U : Y✝.OpenCover
V : Y✝.OpenCover :=
  { J := ↑↑Y✝.toPresheafedSpace, obj := fun y => U.obj (U.f y), map := fun y => U.map (U.f y), f := id, covers := ⋯,
    IsOpen := ⋯ }
Y : Scheme
y : V.J
⊢ V.map y ∈ (Sieve.generate (Presieve.ofArrows U.obj U.map)).arrows

tactic: exact ⟨_, 𝟙 _, U.map (U.f y), ⟨_⟩, by simp⟩
state_before: case mk
Y✝ : Scheme
U : Y✝.OpenCover
V : Y✝.OpenCover :=
  { J := ↑↑Y✝.toPresheafedSpace, obj := fun y => U.obj (U.f y), map := fun y => U.map (U.f y), f := id, covers := ⋯,
    IsOpen := ⋯ }
Y : Scheme
y : V.J
⊢ V.map y ∈ (Sieve.generate (Presieve.ofArrows U.obj U.map)).arrows
state_after: no goals

tactic: simp
state_before: Y✝ : Scheme
U : Y✝.OpenCover
V : Y✝.OpenCover :=
  { J := ↑↑Y✝.toPresheafedSpace, obj := fun y => U.obj (U.f y), map := fun y => U.map (U.f y), f := id, covers := ⋯,
    IsOpen := ⋯ }
Y : Scheme
y : V.J
⊢ 𝟙 (V.obj y) ≫ U.map (U.f y) = V.map y
state_after: no goals
Theorem: MonoidHom.FixedPointFree.prod_pow_eq_one
File: Mathlib/GroupTheory/FixedPointFree.lean

tactic: obtain ⟨g, rfl⟩ := commutatorMap_surjective hφ g
state_before: G : Type u_1
inst✝¹ : Group G
φ : G →* G
hφ : FixedPointFree ⇑φ
inst✝ : Finite G
n : ℕ
hn : (⇑φ)^[n] = _root_.id
g : G
⊢ (List.map (fun k => (⇑φ)^[k] g) (List.range n)).prod = 1
state_after: case intro
G : Type u_1
inst✝¹ : Group G
φ : G →* G
hφ : FixedPointFree ⇑φ
inst✝ : Finite G
n : ℕ
hn : (⇑φ)^[n] = _root_.id
g : G
⊢ (List.map (fun k => (⇑φ)^[k] (commutatorMap (⇑φ) g)) (List.range n)).prod = 1

tactic: simp only [commutatorMap_apply, iterate_map_div, ← Function.iterate_succ_apply]
state_before: case intro
G : Type u_1
inst✝¹ : Group G
φ : G →* G
hφ : FixedPointFree ⇑φ
inst✝ : Finite G
n : ℕ
hn : (⇑φ)^[n] = _root_.id
g : G
⊢ (List.map (fun k => (⇑φ)^[k] (commutatorMap (⇑φ) g)) (List.range n)).prod = 1
state_after: case intro
G : Type u_1
inst✝¹ : Group G
φ : G →* G
hφ : FixedPointFree ⇑φ
inst✝ : Finite G
n : ℕ
hn : (⇑φ)^[n] = _root_.id
g : G
⊢ (List.map (fun k => (⇑φ)^[k] g / (⇑φ)^[k.succ] g) (List.range n)).prod = 1

tactic: rw [List.prod_range_div', Function.iterate_zero_apply, hn, Function.id_def, div_self']
state_before: case intro
G : Type u_1
inst✝¹ : Group G
φ : G →* G
hφ : FixedPointFree ⇑φ
inst✝ : Finite G
n : ℕ
hn : (⇑φ)^[n] = _root_.id
g : G
⊢ (List.map (fun k => (⇑φ)^[k] g / (⇑φ)^[k.succ] g) (List.range n)).prod = 1
state_after: no goals
Theorem: antivaryOn_inv_right
File: Mathlib/Algebra/Order/Monovary.lean

tactic: simpa [MonovaryOn, AntivaryOn] using forall₂_swap
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
inst✝¹ : OrderedCommGroup α
inst✝ : OrderedCommGroup β
s : Set ι
f f₁ f₂ : ι → α
g g₁ g₂ : ι → β
⊢ AntivaryOn f g⁻¹ s ↔ MonovaryOn f g s
state_after: no goals
Theorem: CategoryTheory.ShortComplex.ab_zero_apply
File: Mathlib/Algebra/Homology/ShortComplex/Ab.lean

tactic: erw [← comp_apply, S.zero]
state_before: S : ShortComplex Ab
x : ↑S.X₁
⊢ S.g (S.f x) = 0
state_after: S : ShortComplex Ab
x : ↑S.X₁
⊢ 0 x = 0

tactic: rfl
state_before: S : ShortComplex Ab
x : ↑S.X₁
⊢ 0 x = 0
state_after: no goals
Theorem: Set.range_eq_empty_iff
File: Mathlib/Data/Set/Image.lean

tactic: rw [← not_nonempty_iff, ← range_nonempty_iff_nonempty, not_nonempty_iff_eq_empty]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
ι' : Sort u_5
f✝ : ι → α
s t : Set α
f : ι → α
⊢ range f = ∅ ↔ IsEmpty ι
state_after: no goals
Theorem: HNNExtension.NormalWord.of_smul_eq_smul
File: Mathlib/GroupTheory/HNNExtension.lean

tactic: simp [instHSMul, SMul.smul, MulAction.toEndHom]
state_before: G : Type u_1
inst✝³ : Group G
A B : Subgroup G
φ : ↥A ≃* ↥B
H : Type u_2
inst✝² : Group H
M : Type u_3
inst✝¹ : Monoid M
d : TransversalPair G A B
inst✝ : DecidableEq G
g : G
w : NormalWord d
⊢ of g • w = g • w
state_after: no goals
Theorem: MulAction.stabilizer_smul_eq_stabilizer_map_conj
File: Mathlib/GroupTheory/GroupAction/Basic.lean

tactic: ext h
state_before: G : Type u_1
α : Type u_2
β : Type u_3
inst✝² : Group G
inst✝¹ : MulAction G α
inst✝ : MulAction G β
g : G
a : α
⊢ stabilizer G (g • a) = Subgroup.map (MulEquiv.toMonoidHom (MulAut.conj g)) (stabilizer G a)
state_after: case h
G : Type u_1
α : Type u_2
β : Type u_3
inst✝² : Group G
inst✝¹ : MulAction G α
inst✝ : MulAction G β
g : G
a : α
h : G
⊢ h ∈ stabilizer G (g • a) ↔ h ∈ Subgroup.map (MulEquiv.toMonoidHom (MulAut.conj g)) (stabilizer G a)

tactic: rw [mem_stabilizer_iff, ← smul_left_cancel_iff g⁻¹, smul_smul, smul_smul, smul_smul, mul_left_inv,
  one_smul, ← mem_stabilizer_iff, Subgroup.mem_map_equiv, MulAut.conj_symm_apply]
state_before: case h
G : Type u_1
α : Type u_2
β : Type u_3
inst✝² : Group G
inst✝¹ : MulAction G α
inst✝ : MulAction G β
g : G
a : α
h : G
⊢ h ∈ stabilizer G (g • a) ↔ h ∈ Subgroup.map (MulEquiv.toMonoidHom (MulAut.conj g)) (stabilizer G a)
state_after: no goals
Theorem: Batteries.DList.toList_singleton
File: Mathlib/Data/DList/Defs.lean

tactic: simp
state_before: α : Type u
x : α
⊢ (singleton x).toList = [x]
state_after: no goals
Theorem: MeasureTheory.lintegral_prod_mul
File: Mathlib/MeasureTheory/Constructions/Prod/Basic.lean

tactic: simp [lintegral_prod _ (hf.fst.mul hg.snd), lintegral_lintegral_mul hf hg]
state_before: α : Type u_1
α' : Type u_2
β : Type u_3
β' : Type u_4
γ : Type u_5
E : Type u_6
inst✝⁶ : MeasurableSpace α
inst✝⁵ : MeasurableSpace α'
inst✝⁴ : MeasurableSpace β
inst✝³ : MeasurableSpace β'
inst✝² : MeasurableSpace γ
μ μ' : Measure α
ν ν' : Measure β
τ : Measure γ
inst✝¹ : NormedAddCommGroup E
inst✝ : SFinite ν
f : α → ℝ≥0∞
g : β → ℝ≥0∞
hf : AEMeasurable f μ
hg : AEMeasurable g ν
⊢ ∫⁻ (z : α × β), f z.1 * g z.2 ∂μ.prod ν = (∫⁻ (x : α), f x ∂μ) * ∫⁻ (y : β), g y ∂ν
state_after: no goals
Theorem: Real.Wallis.W_pos
File: Mathlib/Data/Real/Pi/Wallis.lean

tactic: induction' k with k hk
state_before: k : ℕ
⊢ 0 < W k
state_after: case zero

⊢ 0 < W 0

case succ
k : ℕ
hk : 0 < W k
⊢ 0 < W (k + 1)

tactic: unfold W
state_before: case zero

⊢ 0 < W 0
state_after: case zero

⊢ 0 < ∏ i ∈ range 0, (2 * ↑i + 2) / (2 * ↑i + 1) * ((2 * ↑i + 2) / (2 * ↑i + 3))

tactic: simp
state_before: case zero

⊢ 0 < ∏ i ∈ range 0, (2 * ↑i + 2) / (2 * ↑i + 1) * ((2 * ↑i + 2) / (2 * ↑i + 3))
state_after: no goals

tactic: rw [W_succ]
state_before: case succ
k : ℕ
hk : 0 < W k
⊢ 0 < W (k + 1)
state_after: case succ
k : ℕ
hk : 0 < W k
⊢ 0 < W k * ((2 * ↑k + 2) / (2 * ↑k + 1) * ((2 * ↑k + 2) / (2 * ↑k + 3)))

tactic: refine mul_pos hk (mul_pos (div_pos ?_ ?_) (div_pos ?_ ?_)) <;> positivity
state_before: case succ
k : ℕ
hk : 0 < W k
⊢ 0 < W k * ((2 * ↑k + 2) / (2 * ↑k + 1) * ((2 * ↑k + 2) / (2 * ↑k + 3)))
state_after: no goals
Theorem: closedBall_div_singleton
File: Mathlib/Analysis/Normed/Group/Pointwise.lean

tactic: simp [div_eq_mul_inv]
state_before: E : Type u_1
inst✝ : SeminormedCommGroup E
ε δ : ℝ
s t : Set E
x y : E
⊢ closedBall x δ / {y} = closedBall (x / y) δ
state_after: no goals
Theorem: Submodule.sub_mem_orthogonal_of_inner_left
File: Mathlib/Analysis/InnerProductSpace/Orthogonal.lean

tactic: rw [mem_orthogonal']
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : RCLike 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace 𝕜 F
K : Submodule 𝕜 E
x y : E
h : ∀ (v : ↥K), ⟪x, ↑v⟫_𝕜 = ⟪y, ↑v⟫_𝕜
⊢ x - y ∈ Kᗮ
state_after: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : RCLike 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace 𝕜 F
K : Submodule 𝕜 E
x y : E
h : ∀ (v : ↥K), ⟪x, ↑v⟫_𝕜 = ⟪y, ↑v⟫_𝕜
⊢ ∀ u ∈ K, ⟪x - y, u⟫_𝕜 = 0

tactic: intro u hu
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : RCLike 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace 𝕜 F
K : Submodule 𝕜 E
x y : E
h : ∀ (v : ↥K), ⟪x, ↑v⟫_𝕜 = ⟪y, ↑v⟫_𝕜
⊢ ∀ u ∈ K, ⟪x - y, u⟫_𝕜 = 0
state_after: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : RCLike 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace 𝕜 F
K : Submodule 𝕜 E
x y : E
h : ∀ (v : ↥K), ⟪x, ↑v⟫_𝕜 = ⟪y, ↑v⟫_𝕜
u : E
hu : u ∈ K
⊢ ⟪x - y, u⟫_𝕜 = 0

tactic: rw [inner_sub_left, sub_eq_zero]
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : RCLike 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace 𝕜 F
K : Submodule 𝕜 E
x y : E
h : ∀ (v : ↥K), ⟪x, ↑v⟫_𝕜 = ⟪y, ↑v⟫_𝕜
u : E
hu : u ∈ K
⊢ ⟪x - y, u⟫_𝕜 = 0
state_after: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : RCLike 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace 𝕜 F
K : Submodule 𝕜 E
x y : E
h : ∀ (v : ↥K), ⟪x, ↑v⟫_𝕜 = ⟪y, ↑v⟫_𝕜
u : E
hu : u ∈ K
⊢ ⟪x, u⟫_𝕜 = ⟪y, u⟫_𝕜

tactic: exact h ⟨u, hu⟩
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : RCLike 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace 𝕜 F
K : Submodule 𝕜 E
x y : E
h : ∀ (v : ↥K), ⟪x, ↑v⟫_𝕜 = ⟪y, ↑v⟫_𝕜
u : E
hu : u ∈ K
⊢ ⟪x, u⟫_𝕜 = ⟪y, u⟫_𝕜
state_after: no goals
Theorem: Set.biInter_inter
File: Mathlib/Data/Set/Lattice.lean

tactic: haveI : Nonempty s := hs.to_subtype
state_before: α✝ : Type u_1
β : Type u_2
γ : Type u_3
ι✝ : Sort u_4
ι' : Sort u_5
ι₂ : Sort u_6
κ : ι✝ → Sort u_7
κ₁ : ι✝ → Sort u_8
κ₂ : ι✝ → Sort u_9
κ' : ι' → Sort u_10
ι : Type u_11
α : Type u_12
s : Set ι
hs : s.Nonempty
f : ι → Set α
t : Set α
⊢ ⋂ i ∈ s, f i ∩ t = (⋂ i ∈ s, f i) ∩ t
state_after: α✝ : Type u_1
β : Type u_2
γ : Type u_3
ι✝ : Sort u_4
ι' : Sort u_5
ι₂ : Sort u_6
κ : ι✝ → Sort u_7
κ₁ : ι✝ → Sort u_8
κ₂ : ι✝ → Sort u_9
κ' : ι' → Sort u_10
ι : Type u_11
α : Type u_12
s : Set ι
hs : s.Nonempty
f : ι → Set α
t : Set α
this : Nonempty ↑s
⊢ ⋂ i ∈ s, f i ∩ t = (⋂ i ∈ s, f i) ∩ t

tactic: simp [biInter_eq_iInter, ← iInter_inter]
state_before: α✝ : Type u_1
β : Type u_2
γ : Type u_3
ι✝ : Sort u_4
ι' : Sort u_5
ι₂ : Sort u_6
κ : ι✝ → Sort u_7
κ₁ : ι✝ → Sort u_8
κ₂ : ι✝ → Sort u_9
κ' : ι' → Sort u_10
ι : Type u_11
α : Type u_12
s : Set ι
hs : s.Nonempty
f : ι → Set α
t : Set α
this : Nonempty ↑s
⊢ ⋂ i ∈ s, f i ∩ t = (⋂ i ∈ s, f i) ∩ t
state_after: no goals
Theorem: Pi.continuous_curry
File: Mathlib/Control/LawfulFix.lean

tactic: ext x y
state_before: α : Type u_1
β : α → Type u_2
γ : (a : α) → β a → Type u_3
inst✝ : (x : α) → (y : β x) → OmegaCompletePartialOrder (γ x y)
c : Chain ((x : (a : α) × β a) → γ x.fst x.snd)
⊢ (monotoneCurry α β γ) (ωSup c) = ωSup (c.map (monotoneCurry α β γ))
state_after: case h.h
α : Type u_1
β : α → Type u_2
γ : (a : α) → β a → Type u_3
inst✝ : (x : α) → (y : β x) → OmegaCompletePartialOrder (γ x y)
c : Chain ((x : (a : α) × β a) → γ x.fst x.snd)
x : α
y : β x
⊢ (monotoneCurry α β γ) (ωSup c) x y = ωSup (c.map (monotoneCurry α β γ)) x y

tactic: dsimp [curry, ωSup]
state_before: case h.h
α : Type u_1
β : α → Type u_2
γ : (a : α) → β a → Type u_3
inst✝ : (x : α) → (y : β x) → OmegaCompletePartialOrder (γ x y)
c : Chain ((x : (a : α) × β a) → γ x.fst x.snd)
x : α
y : β x
⊢ (monotoneCurry α β γ) (ωSup c) x y = ωSup (c.map (monotoneCurry α β γ)) x y
state_after: case h.h
α : Type u_1
β : α → Type u_2
γ : (a : α) → β a → Type u_3
inst✝ : (x : α) → (y : β x) → OmegaCompletePartialOrder (γ x y)
c : Chain ((x : (a : α) × β a) → γ x.fst x.snd)
x : α
y : β x
⊢ ωSup (c.map (evalOrderHom ⟨x, y⟩)) = ωSup (((c.map (monotoneCurry α β γ)).map (evalOrderHom x)).map (evalOrderHom y))

tactic: rw [map_comp, map_comp]
state_before: case h.h
α : Type u_1
β : α → Type u_2
γ : (a : α) → β a → Type u_3
inst✝ : (x : α) → (y : β x) → OmegaCompletePartialOrder (γ x y)
c : Chain ((x : (a : α) × β a) → γ x.fst x.snd)
x : α
y : β x
⊢ ωSup (c.map (evalOrderHom ⟨x, y⟩)) = ωSup (((c.map (monotoneCurry α β γ)).map (evalOrderHom x)).map (evalOrderHom y))
state_after: case h.h
α : Type u_1
β : α → Type u_2
γ : (a : α) → β a → Type u_3
inst✝ : (x : α) → (y : β x) → OmegaCompletePartialOrder (γ x y)
c : Chain ((x : (a : α) × β a) → γ x.fst x.snd)
x : α
y : β x
⊢ ωSup (c.map (evalOrderHom ⟨x, y⟩)) =
    ωSup (c.map (((evalOrderHom y).comp (evalOrderHom x)).comp (monotoneCurry α β γ)))

tactic: rfl
state_before: case h.h
α : Type u_1
β : α → Type u_2
γ : (a : α) → β a → Type u_3
inst✝ : (x : α) → (y : β x) → OmegaCompletePartialOrder (γ x y)
c : Chain ((x : (a : α) × β a) → γ x.fst x.snd)
x : α
y : β x
⊢ ωSup (c.map (evalOrderHom ⟨x, y⟩)) =
    ωSup (c.map (((evalOrderHom y).comp (evalOrderHom x)).comp (monotoneCurry α β γ)))
state_after: no goals
Theorem: CompactIccSpace.mk''
File: Mathlib/Topology/Algebra/Order/Compact.lean

tactic: rintro rfl
state_before: α : Type u_1
inst✝¹ : TopologicalSpace α
inst✝ : PartialOrder α
h : ∀ {a b : α}, a < b → IsCompact (Icc a b)
a✝ b✝ : α
hab : a✝ ≤ b✝
⊢ a✝ = b✝ → IsCompact (Icc a✝ b✝)
state_after: α : Type u_1
inst✝¹ : TopologicalSpace α
inst✝ : PartialOrder α
h : ∀ {a b : α}, a < b → IsCompact (Icc a b)
a✝ : α
hab : a✝ ≤ a✝
⊢ IsCompact (Icc a✝ a✝)

tactic: simp
state_before: α : Type u_1
inst✝¹ : TopologicalSpace α
inst✝ : PartialOrder α
h : ∀ {a b : α}, a < b → IsCompact (Icc a b)
a✝ : α
hab : a✝ ≤ a✝
⊢ IsCompact (Icc a✝ a✝)
state_after: no goals
Theorem: ENNReal.toNNReal_strict_mono
File: Mathlib/Data/ENNReal/Real.lean

tactic: simpa [← ENNReal.coe_lt_coe, hb, h.ne_top]
state_before: a b c d : ℝ≥0∞
r p q : ℝ≥0
hb : b ≠ ⊤
h : a < b
⊢ a.toNNReal < b.toNNReal
state_after: no goals
Theorem: Finset.mul_prod_Ioi_eq_prod_Ici
File: Mathlib/Algebra/BigOperators/Intervals.lean

tactic: rw [Ici_eq_cons_Ioi, prod_cons]
state_before: α : Type u_1
M : Type u_2
inst✝² : PartialOrder α
inst✝¹ : CommMonoid M
f : α → M
a✝ b : α
inst✝ : LocallyFiniteOrderTop α
a : α
⊢ f a * ∏ x ∈ Ioi a, f x = ∏ x ∈ Ici a, f x
state_after: no goals