1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: Asymptotics.isLittleO_norm_right
File: Mathlib/Analysis/Asymptotics/Asymptotics.lean

tactic: simp only [IsLittleO_def]
state_before: α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
G : Type u_5
E' : Type u_6
F' : Type u_7
G' : Type u_8
E'' : Type u_9
F'' : Type u_10
G'' : Type u_11
E''' : Type u_12
R : Type u_13
R' : Type u_14
𝕜 : Type u_15
𝕜' : Type u_16
inst✝¹³ : Norm E
inst✝¹² : Norm F
inst✝¹¹ : Norm G
inst✝¹⁰ : SeminormedAddCommGroup E'
inst✝⁹ : SeminormedAddCommGroup F'
inst✝⁸ : SeminormedAddCommGroup G'
inst✝⁷ : NormedAddCommGroup E''
inst✝⁶ : NormedAddCommGroup F''
inst✝⁵ : NormedAddCommGroup G''
inst✝⁴ : SeminormedRing R
inst✝³ : SeminormedAddGroup E'''
inst✝² : SeminormedRing R'
inst✝¹ : NormedDivisionRing 𝕜
inst✝ : NormedDivisionRing 𝕜'
c c' c₁ c₂ : ℝ
f : α → E
g : α → F
k : α → G
f' : α → E'
g' : α → F'
k' : α → G'
f'' : α → E''
g'' : α → F''
k'' : α → G''
l l' : Filter α
u v : α → ℝ
⊢ (f =o[l] fun x => ‖g' x‖) ↔ f =o[l] g'
state_after: α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
G : Type u_5
E' : Type u_6
F' : Type u_7
G' : Type u_8
E'' : Type u_9
F'' : Type u_10
G'' : Type u_11
E''' : Type u_12
R : Type u_13
R' : Type u_14
𝕜 : Type u_15
𝕜' : Type u_16
inst✝¹³ : Norm E
inst✝¹² : Norm F
inst✝¹¹ : Norm G
inst✝¹⁰ : SeminormedAddCommGroup E'
inst✝⁹ : SeminormedAddCommGroup F'
inst✝⁸ : SeminormedAddCommGroup G'
inst✝⁷ : NormedAddCommGroup E''
inst✝⁶ : NormedAddCommGroup F''
inst✝⁵ : NormedAddCommGroup G''
inst✝⁴ : SeminormedRing R
inst✝³ : SeminormedAddGroup E'''
inst✝² : SeminormedRing R'
inst✝¹ : NormedDivisionRing 𝕜
inst✝ : NormedDivisionRing 𝕜'
c c' c₁ c₂ : ℝ
f : α → E
g : α → F
k : α → G
f' : α → E'
g' : α → F'
k' : α → G'
f'' : α → E''
g'' : α → F''
k'' : α → G''
l l' : Filter α
u v : α → ℝ
⊢ (∀ ⦃c : ℝ⦄, 0 < c → IsBigOWith c l f fun x => ‖g' x‖) ↔ ∀ ⦃c : ℝ⦄, 0 < c → IsBigOWith c l f g'

tactic: exact forall₂_congr fun _ _ => isBigOWith_norm_right
state_before: α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
G : Type u_5
E' : Type u_6
F' : Type u_7
G' : Type u_8
E'' : Type u_9
F'' : Type u_10
G'' : Type u_11
E''' : Type u_12
R : Type u_13
R' : Type u_14
𝕜 : Type u_15
𝕜' : Type u_16
inst✝¹³ : Norm E
inst✝¹² : Norm F
inst✝¹¹ : Norm G
inst✝¹⁰ : SeminormedAddCommGroup E'
inst✝⁹ : SeminormedAddCommGroup F'
inst✝⁸ : SeminormedAddCommGroup G'
inst✝⁷ : NormedAddCommGroup E''
inst✝⁶ : NormedAddCommGroup F''
inst✝⁵ : NormedAddCommGroup G''
inst✝⁴ : SeminormedRing R
inst✝³ : SeminormedAddGroup E'''
inst✝² : SeminormedRing R'
inst✝¹ : NormedDivisionRing 𝕜
inst✝ : NormedDivisionRing 𝕜'
c c' c₁ c₂ : ℝ
f : α → E
g : α → F
k : α → G
f' : α → E'
g' : α → F'
k' : α → G'
f'' : α → E''
g'' : α → F''
k'' : α → G''
l l' : Filter α
u v : α → ℝ
⊢ (∀ ⦃c : ℝ⦄, 0 < c → IsBigOWith c l f fun x => ‖g' x‖) ↔ ∀ ⦃c : ℝ⦄, 0 < c → IsBigOWith c l f g'
state_after: no goals
Theorem: PFun.preimage_comp
File: Mathlib/Data/PFun.lean

tactic: ext
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ε : Type u_5
ι : Type u_6
f✝ : α →. β
f : β →. γ
g : α →. β
s : Set γ
⊢ (f.comp g).preimage s = g.preimage (f.preimage s)
state_after: case h
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ε : Type u_5
ι : Type u_6
f✝ : α →. β
f : β →. γ
g : α →. β
s : Set γ
x✝ : α
⊢ x✝ ∈ (f.comp g).preimage s ↔ x✝ ∈ g.preimage (f.preimage s)

tactic: simp_rw [mem_preimage, comp_apply, Part.mem_bind_iff, ← exists_and_right, ← exists_and_left]
state_before: case h
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ε : Type u_5
ι : Type u_6
f✝ : α →. β
f : β →. γ
g : α →. β
s : Set γ
x✝ : α
⊢ x✝ ∈ (f.comp g).preimage s ↔ x✝ ∈ g.preimage (f.preimage s)
state_after: case h
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ε : Type u_5
ι : Type u_6
f✝ : α →. β
f : β →. γ
g : α →. β
s : Set γ
x✝ : α
⊢ (∃ y x, y ∈ s ∧ x ∈ g x✝ ∧ y ∈ f x) ↔ ∃ y x, (x ∈ s ∧ x ∈ f y) ∧ y ∈ g x✝

tactic: rw [exists_comm]
state_before: case h
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ε : Type u_5
ι : Type u_6
f✝ : α →. β
f : β →. γ
g : α →. β
s : Set γ
x✝ : α
⊢ (∃ y x, y ∈ s ∧ x ∈ g x✝ ∧ y ∈ f x) ↔ ∃ y x, (x ∈ s ∧ x ∈ f y) ∧ y ∈ g x✝
state_after: case h
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ε : Type u_5
ι : Type u_6
f✝ : α →. β
f : β →. γ
g : α →. β
s : Set γ
x✝ : α
⊢ (∃ b, ∃ a ∈ s, b ∈ g x✝ ∧ a ∈ f b) ↔ ∃ y x, (x ∈ s ∧ x ∈ f y) ∧ y ∈ g x✝

tactic: simp_rw [and_assoc, and_comm]
state_before: case h
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ε : Type u_5
ι : Type u_6
f✝ : α →. β
f : β →. γ
g : α →. β
s : Set γ
x✝ : α
⊢ (∃ b, ∃ a ∈ s, b ∈ g x✝ ∧ a ∈ f b) ↔ ∃ y x, (x ∈ s ∧ x ∈ f y) ∧ y ∈ g x✝
state_after: no goals
Theorem: equicontinuous_iff_continuous
File: Mathlib/Topology/UniformSpace/Equicontinuity.lean

tactic: simp_rw [Equicontinuous, continuous_iff_continuousAt, equicontinuousAt_iff_continuousAt]
state_before: ι : Type u_1
κ : Type u_2
X : Type u_3
X' : Type u_4
Y : Type u_5
Z : Type u_6
α : Type u_7
α' : Type u_8
β : Type u_9
β' : Type u_10
γ : Type u_11
𝓕 : Type u_12
tX : TopologicalSpace X
tY : TopologicalSpace Y
tZ : TopologicalSpace Z
uα : UniformSpace α
uβ : UniformSpace β
uγ : UniformSpace γ
F : ι → X → α
⊢ Equicontinuous F ↔ Continuous (⇑UniformFun.ofFun ∘ swap F)
state_after: no goals
Theorem: SimpleGraph.ComponentCompl.ind
File: Mathlib/Combinatorics/SimpleGraph/Ends/Defs.lean

tactic: apply ConnectedComponent.ind
state_before: V : Type u
G : SimpleGraph V
K L L' M : Set V
β : G.ComponentCompl K → Prop
f : ∀ ⦃v : V⦄ (hv : v ∉ K), β (G.componentComplMk hv)
⊢ ∀ (C : G.ComponentCompl K), β C
state_after: case h
V : Type u
G : SimpleGraph V
K L L' M : Set V
β : G.ComponentCompl K → Prop
f : ∀ ⦃v : V⦄ (hv : v ∉ K), β (G.componentComplMk hv)
⊢ ∀ (v : ↑Kᶜ), β ((induce Kᶜ G).connectedComponentMk v)

tactic: exact fun ⟨v, vnK⟩ => f vnK
state_before: case h
V : Type u
G : SimpleGraph V
K L L' M : Set V
β : G.ComponentCompl K → Prop
f : ∀ ⦃v : V⦄ (hv : v ∉ K), β (G.componentComplMk hv)
⊢ ∀ (v : ↑Kᶜ), β ((induce Kᶜ G).connectedComponentMk v)
state_after: no goals
Theorem: Nat.fib_le_fib_succ
File: Mathlib/Data/Nat/Fib/Basic.lean

tactic: cases n <;> simp [fib_add_two]
state_before: n : ℕ
⊢ fib n ≤ fib (n + 1)
state_after: no goals
Theorem: tendsto_norm_one
File: Mathlib/Analysis/Normed/Group/Basic.lean

tactic: simpa using tendsto_norm_div_self (1 : E)
state_before: 𝓕 : Type u_1
𝕜 : Type u_2
α : Type u_3
ι : Type u_4
κ : Type u_5
E : Type u_6
F : Type u_7
G : Type u_8
inst✝³ : SeminormedGroup E
inst✝² : SeminormedGroup F
inst✝¹ : SeminormedGroup G
s : Set E
a a₁ a₂ b b₁ b₂ : E
r r₁ r₂ : ℝ
inst✝ : FunLike 𝓕 E F
⊢ Tendsto (fun a => ‖a‖) (𝓝 1) (𝓝 0)
state_after: no goals
Theorem: IsometryEquiv.ediam_univ
File: Mathlib/Topology/MetricSpace/Isometry.lean

tactic: rw [← h.range_eq_univ, h.isometry.ediam_range]
state_before: ι : Type u_1
α : Type u
β : Type v
γ : Type w
inst✝² : PseudoEMetricSpace α
inst✝¹ : PseudoEMetricSpace β
inst✝ : PseudoEMetricSpace γ
h : α ≃ᵢ β
⊢ EMetric.diam univ = EMetric.diam univ
state_after: no goals
Theorem: Ordnode.size_eq_realSize
File: Mathlib/Data/Ordmap/Ordset.lean

tactic: rw [size, h₁, size_eq_realSize h₂, size_eq_realSize h₃]
state_before: α : Type u_1
s : ℕ
l : Ordnode α
x : α
r : Ordnode α
h₁ : s = l.size + r.size + 1
h₂ : l.Sized
h₃ : r.Sized
⊢ (node s l x r).size = (node s l x r).realSize
state_after: α : Type u_1
s : ℕ
l : Ordnode α
x : α
r : Ordnode α
h₁ : s = l.size + r.size + 1
h₂ : l.Sized
h₃ : r.Sized
⊢ (match node (l.realSize + r.realSize + 1) l x r with
    | nil => 0
    | node sz l x r => sz) =
    (node (l.realSize + r.realSize + 1) l x r).realSize

tactic: rfl
state_before: α : Type u_1
s : ℕ
l : Ordnode α
x : α
r : Ordnode α
h₁ : s = l.size + r.size + 1
h₂ : l.Sized
h₃ : r.Sized
⊢ (match node (l.realSize + r.realSize + 1) l x r with
    | nil => 0
    | node sz l x r => sz) =
    (node (l.realSize + r.realSize + 1) l x r).realSize
state_after: no goals
Theorem: FormalMultilinearSeries.changeOriginSeriesTerm_bound
File: Mathlib/Analysis/Analytic/CPolynomial.lean

tactic: set_option maxSynthPendingDepth 2 in
rw [changeOriginSeriesTerm, hn _ hkl, map_zero]
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
f g : E → F
p✝¹ pf pg : FormalMultilinearSeries 𝕜 E F
x✝ : E
r✝ r' : ℝ≥0∞
n✝ m : ℕ
p✝ : FormalMultilinearSeries 𝕜 E F
x y : E
r R : ℝ≥0
p : FormalMultilinearSeries 𝕜 E F
n : ℕ
hn : ∀ (m : ℕ), n ≤ m → p m = 0
k l : ℕ
s : Finset (Fin (k + l))
hs : s.card = l
hkl : n ≤ k + l
⊢ p.changeOriginSeriesTerm k l s hs = 0
state_after: no goals

tactic: rw [changeOriginSeriesTerm, hn _ hkl, map_zero]
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
f g : E → F
p✝¹ pf pg : FormalMultilinearSeries 𝕜 E F
x✝ : E
r✝ r' : ℝ≥0∞
n✝ m : ℕ
p✝ : FormalMultilinearSeries 𝕜 E F
x y : E
r R : ℝ≥0
p : FormalMultilinearSeries 𝕜 E F
n : ℕ
hn : ∀ (m : ℕ), n ≤ m → p m = 0
k l : ℕ
s : Finset (Fin (k + l))
hs : s.card = l
hkl : n ≤ k + l
⊢ p.changeOriginSeriesTerm k l s hs = 0
state_after: no goals
Theorem: groupCohomology.resolution.εToSingle₀_comp_eq
File: Mathlib/RepresentationTheory/GroupCohomology/Resolution.lean

tactic: ext1
state_before: k G : Type u
inst✝¹ : CommRing k
n : ℕ
inst✝ : Monoid G
⊢ ((forget₂ (Rep k G) (ModuleCat k)).mapHomologicalComplex (ComplexShape.down ℕ)).map (εToSingle₀ k G) ≫
      (HomologicalComplex.singleMapHomologicalComplex (forget₂ (Rep k G) (ModuleCat k)) (ComplexShape.down ℕ) 0).hom.app
        (Rep.trivial k G k) =
    (forget₂ToModuleCatHomotopyEquiv k G).hom
state_after: case hfg
k G : Type u
inst✝¹ : CommRing k
n : ℕ
inst✝ : Monoid G
⊢ (((forget₂ (Rep k G) (ModuleCat k)).mapHomologicalComplex (ComplexShape.down ℕ)).map (εToSingle₀ k G) ≫
          (HomologicalComplex.singleMapHomologicalComplex (forget₂ (Rep k G) (ModuleCat k)) (ComplexShape.down ℕ)
                  0).hom.app
            (Rep.trivial k G k)).f
      0 =
    (forget₂ToModuleCatHomotopyEquiv k G).hom.f 0

tactic: dsimp
state_before: case hfg
k G : Type u
inst✝¹ : CommRing k
n : ℕ
inst✝ : Monoid G
⊢ (((forget₂ (Rep k G) (ModuleCat k)).mapHomologicalComplex (ComplexShape.down ℕ)).map (εToSingle₀ k G) ≫
          (HomologicalComplex.singleMapHomologicalComplex (forget₂ (Rep k G) (ModuleCat k)) (ComplexShape.down ℕ)
                  0).hom.app
            (Rep.trivial k G k)).f
      0 =
    (forget₂ToModuleCatHomotopyEquiv k G).hom.f 0
state_after: case hfg
k G : Type u
inst✝¹ : CommRing k
n : ℕ
inst✝ : Monoid G
⊢ (forget₂ (Rep k G) (ModuleCat k)).map ((εToSingle₀ k G).f 0) ≫
      ((HomologicalComplex.singleMapHomologicalComplex (forget₂ (Rep k G) (ModuleCat k)) (ComplexShape.down ℕ)
                  0).hom.app
            (Rep.trivial k G k)).f
        0 =
    (forget₂ToModuleCatHomotopyEquiv k G).hom.f 0

tactic: simpa using (forget₂ToModuleCatHomotopyEquiv_f_0_eq k G).symm
state_before: case hfg
k G : Type u
inst✝¹ : CommRing k
n : ℕ
inst✝ : Monoid G
⊢ (forget₂ (Rep k G) (ModuleCat k)).map ((εToSingle₀ k G).f 0) ≫
      ((HomologicalComplex.singleMapHomologicalComplex (forget₂ (Rep k G) (ModuleCat k)) (ComplexShape.down ℕ)
                  0).hom.app
            (Rep.trivial k G k)).f
        0 =
    (forget₂ToModuleCatHomotopyEquiv k G).hom.f 0
state_after: no goals
Theorem: AlgebraicGeometry.Scheme.OpenCover.gluedCoverT'_fst_fst
File: Mathlib/AlgebraicGeometry/Gluing.lean

tactic: delta gluedCoverT'
state_before: X : Scheme
𝒰 : X.OpenCover
x y z : 𝒰.J
⊢ 𝒰.gluedCoverT' x y z ≫ pullback.fst ≫ pullback.fst = pullback.fst ≫ pullback.snd
state_after: X : Scheme
𝒰 : X.OpenCover
x y z : 𝒰.J
⊢ ((pullbackRightPullbackFstIso (𝒰.map x) (𝒰.map z) pullback.fst).hom ≫
        (pullback.map (pullback.fst ≫ 𝒰.map x) (𝒰.map z) (pullback.fst ≫ 𝒰.map y) (𝒰.map z)
              (pullbackSymmetry (𝒰.map x) (𝒰.map y)).hom (𝟙 (𝒰.obj z)) (𝟙 X) ⋯ ⋯ ≫
            (pullbackRightPullbackFstIso (𝒰.map y) (𝒰.map z) pullback.fst).inv) ≫
          (pullbackSymmetry pullback.fst pullback.fst).hom) ≫
      pullback.fst ≫ pullback.fst =
    pullback.fst ≫ pullback.snd

tactic: simp
state_before: X : Scheme
𝒰 : X.OpenCover
x y z : 𝒰.J
⊢ ((pullbackRightPullbackFstIso (𝒰.map x) (𝒰.map z) pullback.fst).hom ≫
        (pullback.map (pullback.fst ≫ 𝒰.map x) (𝒰.map z) (pullback.fst ≫ 𝒰.map y) (𝒰.map z)
              (pullbackSymmetry (𝒰.map x) (𝒰.map y)).hom (𝟙 (𝒰.obj z)) (𝟙 X) ⋯ ⋯ ≫
            (pullbackRightPullbackFstIso (𝒰.map y) (𝒰.map z) pullback.fst).inv) ≫
          (pullbackSymmetry pullback.fst pullback.fst).hom) ≫
      pullback.fst ≫ pullback.fst =
    pullback.fst ≫ pullback.snd
state_after: no goals
Theorem: WeierstrassCurve.Jacobian.nonsingular_some
File: Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian.lean

tactic: simp_rw [nonsingular_iff, equation_some, fin3_def_ext, Affine.nonsingular_iff',
  Affine.equation_iff', and_congr_right_iff, ← not_and_or, not_iff_not, one_pow, mul_one,
  and_congr_right_iff, Iff.comm, iff_self_and]
state_before: R : Type u
inst✝¹ : CommRing R
W' : Jacobian R
F : Type v
inst✝ : Field F
W : Jacobian F
X Y : R
⊢ W'.Nonsingular ![X, Y, 1] ↔ W'.toAffine.Nonsingular X Y
state_after: R : Type u
inst✝¹ : CommRing R
W' : Jacobian R
F : Type v
inst✝ : Field F
W : Jacobian F
X Y : R
⊢ Y ^ 2 + W'.toAffine.a₁ * X * Y + W'.toAffine.a₃ * Y -
        (X ^ 3 + W'.toAffine.a₂ * X ^ 2 + W'.toAffine.a₄ * X + W'.toAffine.a₆) =
      0 →
    W'.a₁ * Y - (3 * X ^ 2 + 2 * W'.a₂ * X + W'.a₄) = 0 →
      2 * Y + W'.toAffine.a₁ * X + W'.toAffine.a₃ = 0 →
        W'.a₁ * X * Y + 3 * W'.a₃ * Y - (2 * W'.a₂ * X ^ 2 + 4 * W'.a₄ * X + 6 * W'.a₆) = 0

tactic: intro h hX hY
state_before: R : Type u
inst✝¹ : CommRing R
W' : Jacobian R
F : Type v
inst✝ : Field F
W : Jacobian F
X Y : R
⊢ Y ^ 2 + W'.toAffine.a₁ * X * Y + W'.toAffine.a₃ * Y -
        (X ^ 3 + W'.toAffine.a₂ * X ^ 2 + W'.toAffine.a₄ * X + W'.toAffine.a₆) =
      0 →
    W'.a₁ * Y - (3 * X ^ 2 + 2 * W'.a₂ * X + W'.a₄) = 0 →
      2 * Y + W'.toAffine.a₁ * X + W'.toAffine.a₃ = 0 →
        W'.a₁ * X * Y + 3 * W'.a₃ * Y - (2 * W'.a₂ * X ^ 2 + 4 * W'.a₄ * X + 6 * W'.a₆) = 0
state_after: R : Type u
inst✝¹ : CommRing R
W' : Jacobian R
F : Type v
inst✝ : Field F
W : Jacobian F
X Y : R
h :
  Y ^ 2 + W'.toAffine.a₁ * X * Y + W'.toAffine.a₃ * Y -
      (X ^ 3 + W'.toAffine.a₂ * X ^ 2 + W'.toAffine.a₄ * X + W'.toAffine.a₆) =
    0
hX : W'.a₁ * Y - (3 * X ^ 2 + 2 * W'.a₂ * X + W'.a₄) = 0
hY : 2 * Y + W'.toAffine.a₁ * X + W'.toAffine.a₃ = 0
⊢ W'.a₁ * X * Y + 3 * W'.a₃ * Y - (2 * W'.a₂ * X ^ 2 + 4 * W'.a₄ * X + 6 * W'.a₆) = 0

tactic: linear_combination (norm := ring1) 6 * h - 2 * X * hX - 3 * Y * hY
state_before: R : Type u
inst✝¹ : CommRing R
W' : Jacobian R
F : Type v
inst✝ : Field F
W : Jacobian F
X Y : R
h :
  Y ^ 2 + W'.toAffine.a₁ * X * Y + W'.toAffine.a₃ * Y -
      (X ^ 3 + W'.toAffine.a₂ * X ^ 2 + W'.toAffine.a₄ * X + W'.toAffine.a₆) =
    0
hX : W'.a₁ * Y - (3 * X ^ 2 + 2 * W'.a₂ * X + W'.a₄) = 0
hY : 2 * Y + W'.toAffine.a₁ * X + W'.toAffine.a₃ = 0
⊢ W'.a₁ * X * Y + 3 * W'.a₃ * Y - (2 * W'.a₂ * X ^ 2 + 4 * W'.a₄ * X + 6 * W'.a₆) = 0
state_after: no goals
Theorem: SimpleGraph.card_commonNeighbors_le_degree_right
File: Mathlib/Combinatorics/SimpleGraph/Finite.lean

tactic: simp_rw [commonNeighbors_symm _ v w, card_commonNeighbors_le_degree_left]
state_before: V : Type u_1
G : SimpleGraph V
e : Sym2 V
inst✝¹ : Fintype V
inst✝ : DecidableRel G.Adj
v w : V
⊢ Fintype.card ↑(G.commonNeighbors v w) ≤ G.degree w
state_after: no goals
Theorem: AlgebraicGeometry.Scheme.Pullback.pullbackP1Iso_hom_snd
File: Mathlib/AlgebraicGeometry/Pullbacks.lean

tactic: simp_rw [pullbackP1Iso, pullback.lift_snd]
state_before: C : Type u
inst✝¹ : Category.{v, u} C
X Y Z : Scheme
𝒰 : X.OpenCover
f : X ⟶ Z
g : Y ⟶ Z
inst✝ : ∀ (i : 𝒰.J), HasPullback (𝒰.map i ≫ f) g
s : PullbackCone f g
i : 𝒰.J
⊢ (pullbackP1Iso 𝒰 f g i).hom ≫ pullback.snd = pullback.fst ≫ p2 𝒰 f g
state_after: no goals
Theorem: gauge_empty
File: Mathlib/Analysis/Convex/Gauge.lean

tactic: ext
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝¹ : AddCommGroup E
inst✝ : Module ℝ E
s t : Set E
x : E
a : ℝ
⊢ gauge ∅ = 0
state_after: case h
𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝¹ : AddCommGroup E
inst✝ : Module ℝ E
s t : Set E
x : E
a : ℝ
x✝ : E
⊢ gauge ∅ x✝ = 0 x✝

tactic: simp only [gauge_def', Real.sInf_empty, mem_empty_iff_false, Pi.zero_apply, sep_false]
state_before: case h
𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝¹ : AddCommGroup E
inst✝ : Module ℝ E
s t : Set E
x : E
a : ℝ
x✝ : E
⊢ gauge ∅ x✝ = 0 x✝
state_after: no goals
Theorem: MeasureTheory.lintegral_add_left
File: Mathlib/MeasureTheory/Integral/Lebesgue.lean

tactic: refine le_antisymm ?_ (le_lintegral_add _ _)
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
f : α → ℝ≥0∞
hf : Measurable f
g : α → ℝ≥0∞
⊢ ∫⁻ (a : α), f a + g a ∂μ = ∫⁻ (a : α), f a ∂μ + ∫⁻ (a : α), g a ∂μ
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
f : α → ℝ≥0∞
hf : Measurable f
g : α → ℝ≥0∞
⊢ ∫⁻ (a : α), f a + g a ∂μ ≤ ∫⁻ (a : α), f a ∂μ + ∫⁻ (a : α), g a ∂μ

tactic: rcases exists_measurable_le_lintegral_eq μ fun a => f a + g a with ⟨φ, hφm, hφ_le, hφ_eq⟩
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
f : α → ℝ≥0∞
hf : Measurable f
g : α → ℝ≥0∞
⊢ ∫⁻ (a : α), f a + g a ∂μ ≤ ∫⁻ (a : α), f a ∂μ + ∫⁻ (a : α), g a ∂μ
state_after: case intro.intro.intro
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
f : α → ℝ≥0∞
hf : Measurable f
g φ : α → ℝ≥0∞
hφm : Measurable φ
hφ_le : φ ≤ fun a => f a + g a
hφ_eq : ∫⁻ (a : α), f a + g a ∂μ = ∫⁻ (a : α), φ a ∂μ
⊢ ∫⁻ (a : α), f a + g a ∂μ ≤ ∫⁻ (a : α), f a ∂μ + ∫⁻ (a : α), g a ∂μ

tactic: calc
  ∫⁻ a, f a + g a ∂μ = ∫⁻ a, φ a ∂μ := hφ_eq
  _ ≤ ∫⁻ a, f a + (φ a - f a) ∂μ := lintegral_mono fun a => le_add_tsub
  _ = ∫⁻ a, f a ∂μ + ∫⁻ a, φ a - f a ∂μ := lintegral_add_aux hf (hφm.sub hf)
  _ ≤ ∫⁻ a, f a ∂μ + ∫⁻ a, g a ∂μ :=
    add_le_add_left (lintegral_mono fun a => tsub_le_iff_left.2 <| hφ_le a) _
state_before: case intro.intro.intro
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
f : α → ℝ≥0∞
hf : Measurable f
g φ : α → ℝ≥0∞
hφm : Measurable φ
hφ_le : φ ≤ fun a => f a + g a
hφ_eq : ∫⁻ (a : α), f a + g a ∂μ = ∫⁻ (a : α), φ a ∂μ
⊢ ∫⁻ (a : α), f a + g a ∂μ ≤ ∫⁻ (a : α), f a ∂μ + ∫⁻ (a : α), g a ∂μ
state_after: no goals
Theorem: IsPrimitiveRoot.inv_iff
File: Mathlib/RingTheory/RootsOfUnity/Basic.lean

tactic: refine ⟨?_, fun h => inv h⟩
state_before: M : Type u_1
N : Type u_2
G : Type u_3
R : Type u_4
S : Type u_5
F : Type u_6
inst✝² : CommMonoid M
inst✝¹ : CommMonoid N
inst✝ : DivisionCommMonoid G
k l : ℕ
ζ : G
⊢ IsPrimitiveRoot ζ⁻¹ k ↔ IsPrimitiveRoot ζ k
state_after: M : Type u_1
N : Type u_2
G : Type u_3
R : Type u_4
S : Type u_5
F : Type u_6
inst✝² : CommMonoid M
inst✝¹ : CommMonoid N
inst✝ : DivisionCommMonoid G
k l : ℕ
ζ : G
⊢ IsPrimitiveRoot ζ⁻¹ k → IsPrimitiveRoot ζ k

tactic: intro h
state_before: M : Type u_1
N : Type u_2
G : Type u_3
R : Type u_4
S : Type u_5
F : Type u_6
inst✝² : CommMonoid M
inst✝¹ : CommMonoid N
inst✝ : DivisionCommMonoid G
k l : ℕ
ζ : G
⊢ IsPrimitiveRoot ζ⁻¹ k → IsPrimitiveRoot ζ k
state_after: M : Type u_1
N : Type u_2
G : Type u_3
R : Type u_4
S : Type u_5
F : Type u_6
inst✝² : CommMonoid M
inst✝¹ : CommMonoid N
inst✝ : DivisionCommMonoid G
k l : ℕ
ζ : G
h : IsPrimitiveRoot ζ⁻¹ k
⊢ IsPrimitiveRoot ζ k

tactic: rw [← inv_inv ζ]
state_before: M : Type u_1
N : Type u_2
G : Type u_3
R : Type u_4
S : Type u_5
F : Type u_6
inst✝² : CommMonoid M
inst✝¹ : CommMonoid N
inst✝ : DivisionCommMonoid G
k l : ℕ
ζ : G
h : IsPrimitiveRoot ζ⁻¹ k
⊢ IsPrimitiveRoot ζ k
state_after: M : Type u_1
N : Type u_2
G : Type u_3
R : Type u_4
S : Type u_5
F : Type u_6
inst✝² : CommMonoid M
inst✝¹ : CommMonoid N
inst✝ : DivisionCommMonoid G
k l : ℕ
ζ : G
h : IsPrimitiveRoot ζ⁻¹ k
⊢ IsPrimitiveRoot ζ⁻¹⁻¹ k

tactic: exact inv h
state_before: M : Type u_1
N : Type u_2
G : Type u_3
R : Type u_4
S : Type u_5
F : Type u_6
inst✝² : CommMonoid M
inst✝¹ : CommMonoid N
inst✝ : DivisionCommMonoid G
k l : ℕ
ζ : G
h : IsPrimitiveRoot ζ⁻¹ k
⊢ IsPrimitiveRoot ζ⁻¹⁻¹ k
state_after: no goals
Theorem: Int.clog_mono_right
File: Mathlib/Data/Int/Log.lean

tactic: rw [← neg_log_inv_eq_clog, ← neg_log_inv_eq_clog, neg_le_neg_iff]
state_before: R : Type u_1
inst✝¹ : LinearOrderedSemifield R
inst✝ : FloorSemiring R
b : ℕ
r₁ r₂ : R
h₀ : 0 < r₁
h : r₁ ≤ r₂
⊢ clog b r₁ ≤ clog b r₂
state_after: R : Type u_1
inst✝¹ : LinearOrderedSemifield R
inst✝ : FloorSemiring R
b : ℕ
r₁ r₂ : R
h₀ : 0 < r₁
h : r₁ ≤ r₂
⊢ log b r₂⁻¹ ≤ log b r₁⁻¹

tactic: exact log_mono_right (inv_pos.mpr <| h₀.trans_le h) (inv_le_inv_of_le h₀ h)
state_before: R : Type u_1
inst✝¹ : LinearOrderedSemifield R
inst✝ : FloorSemiring R
b : ℕ
r₁ r₂ : R
h₀ : 0 < r₁
h : r₁ ≤ r₂
⊢ log b r₂⁻¹ ≤ log b r₁⁻¹
state_after: no goals
Theorem: Monotone.image_upperBounds_subset_upperBounds_image
File: Mathlib/Order/Bounds/Basic.lean

tactic: rintro _ ⟨a, ha, rfl⟩
state_before: α : Type u
β : Type v
γ : Type w
ι : Sort x
inst✝¹ : Preorder α
inst✝ : Preorder β
f : α → β
Hf : Monotone f
a : α
s : Set α
⊢ f '' upperBounds s ⊆ upperBounds (f '' s)
state_after: case intro.intro
α : Type u
β : Type v
γ : Type w
ι : Sort x
inst✝¹ : Preorder α
inst✝ : Preorder β
f : α → β
Hf : Monotone f
a✝ : α
s : Set α
a : α
ha : a ∈ upperBounds s
⊢ f a ∈ upperBounds (f '' s)

tactic: exact Hf.mem_upperBounds_image ha
state_before: case intro.intro
α : Type u
β : Type v
γ : Type w
ι : Sort x
inst✝¹ : Preorder α
inst✝ : Preorder β
f : α → β
Hf : Monotone f
a✝ : α
s : Set α
a : α
ha : a ∈ upperBounds s
⊢ f a ∈ upperBounds (f '' s)
state_after: no goals
Theorem: Real.smul_map_volume_mul_left
File: Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean

tactic: refine (Real.measure_ext_Ioo_rat fun p q => ?_).symm
state_before: ι : Type u_1
inst✝ : Fintype ι
a : ℝ
h : a ≠ 0
⊢ ofReal |a| • Measure.map (fun x => a * x) volume = volume
state_after: ι : Type u_1
inst✝ : Fintype ι
a : ℝ
h : a ≠ 0
p q : ℚ
⊢ volume (Ioo ↑p ↑q) = (ofReal |a| • Measure.map (fun x => a * x) volume) (Ioo ↑p ↑q)

tactic: cases' lt_or_gt_of_ne h with h h
state_before: ι : Type u_1
inst✝ : Fintype ι
a : ℝ
h : a ≠ 0
p q : ℚ
⊢ volume (Ioo ↑p ↑q) = (ofReal |a| • Measure.map (fun x => a * x) volume) (Ioo ↑p ↑q)
state_after: case inl
ι : Type u_1
inst✝ : Fintype ι
a : ℝ
h✝ : a ≠ 0
p q : ℚ
h : a < 0
⊢ volume (Ioo ↑p ↑q) = (ofReal |a| • Measure.map (fun x => a * x) volume) (Ioo ↑p ↑q)

case inr
ι : Type u_1
inst✝ : Fintype ι
a : ℝ
h✝ : a ≠ 0
p q : ℚ
h : a > 0
⊢ volume (Ioo ↑p ↑q) = (ofReal |a| • Measure.map (fun x => a * x) volume) (Ioo ↑p ↑q)

tactic: simp only [Real.volume_Ioo, Measure.smul_apply, ← ENNReal.ofReal_mul (le_of_lt <| neg_pos.2 h),
  Measure.map_apply (measurable_const_mul a) measurableSet_Ioo, neg_sub_neg, neg_mul,
  preimage_const_mul_Ioo_of_neg _ _ h, abs_of_neg h, mul_sub, smul_eq_mul,
  mul_div_cancel₀ _ (ne_of_lt h)]
state_before: case inl
ι : Type u_1
inst✝ : Fintype ι
a : ℝ
h✝ : a ≠ 0
p q : ℚ
h : a < 0
⊢ volume (Ioo ↑p ↑q) = (ofReal |a| • Measure.map (fun x => a * x) volume) (Ioo ↑p ↑q)
state_after: no goals

tactic: simp only [Real.volume_Ioo, Measure.smul_apply, ← ENNReal.ofReal_mul (le_of_lt h),
  Measure.map_apply (measurable_const_mul a) measurableSet_Ioo, preimage_const_mul_Ioo _ _ h,
  abs_of_pos h, mul_sub, mul_div_cancel₀ _ (ne_of_gt h), smul_eq_mul]
state_before: case inr
ι : Type u_1
inst✝ : Fintype ι
a : ℝ
h✝ : a ≠ 0
p q : ℚ
h : a > 0
⊢ volume (Ioo ↑p ↑q) = (ofReal |a| • Measure.map (fun x => a * x) volume) (Ioo ↑p ↑q)
state_after: no goals
Theorem: ArithmeticFunction.pow_zero_eq_zeta
File: Mathlib/NumberTheory/ArithmeticFunction.lean

tactic: ext n
state_before: R : Type u_1
⊢ pow 0 = ζ
state_after: case h
R : Type u_1
n : ℕ
⊢ (pow 0) n = ζ n

tactic: simp
state_before: case h
R : Type u_1
n : ℕ
⊢ (pow 0) n = ζ n
state_after: no goals