tasksource/leandojo huggingface dataset:
Theorem: ENNReal.young_inequality
File: Mathlib/Analysis/MeanInequalities.lean

tactic: by_cases h : a = ⊤ ∨ b = ⊤
state_before: ι : Type u
s : Finset ι
a b : ℝ≥0∞
p q : ℝ
hpq : Real.IsConjugateExponent p q
⊢ a * b ≤ a ^ p / ENNReal.ofReal p + b ^ q / ENNReal.ofReal q

tactic: push_neg  at h
state_before: case neg
ι : Type u
s : Finset ι
a b : ℝ≥0∞
p q : ℝ
hpq : Real.IsConjugateExponent p q
h : ¬(a = ⊤ ∨ b = ⊤)
⊢ a * b ≤ a ^ p / ENNReal.ofReal p + b ^ q / ENNReal.ofReal q

tactic: rw [← coe_toNNReal h.left, ← coe_toNNReal h.right, ← coe_mul, coe_rpow_of_nonneg _ hpq.nonneg,
  coe_rpow_of_nonneg _ hpq.symm.nonneg, ENNReal.ofReal, ENNReal.ofReal, ←
  @coe_div (Real.toNNReal p) _ (by simp [hpq.pos]), ←
  @coe_div (Real.toNNReal q) _ (by simp [hpq.symm.pos]), ← coe_add, coe_le_coe]
state_before: case neg
ι : Type u
s : Finset ι
a b : ℝ≥0∞
p q : ℝ
hpq : Real.IsConjugateExponent p q
h : a ≠ ⊤ ∧ b ≠ ⊤
⊢ a * b ≤ a ^ p / ENNReal.ofReal p + b ^ q / ENNReal.ofReal q

tactic: exact NNReal.young_inequality_real a.toNNReal b.toNNReal hpq
state_before: case neg
ι : Type u
s : Finset ι
a b : ℝ≥0∞
p q : ℝ
hpq : Real.IsConjugateExponent p q
h : a ≠ ⊤ ∧ b ≠ ⊤
⊢ ENNReal.toNNReal a * ENNReal.toNNReal b ≤
    ENNReal.toNNReal a ^ p / Real.toNNReal p + ENNReal.toNNReal b ^ q / Real.toNNReal q

tactic: refine' le_trans le_top (le_of_eq _)
state_before: case pos
ι : Type u
s : Finset ι
a b : ℝ≥0∞
p q : ℝ
hpq : Real.IsConjugateExponent p q
h : a = ⊤ ∨ b = ⊤
⊢ a * b ≤ a ^ p / ENNReal.ofReal p + b ^ q / ENNReal.ofReal q

tactic: repeat rw [div_eq_mul_inv]
state_before: case pos
ι : Type u
s : Finset ι
a b : ℝ≥0∞
p q : ℝ
hpq : Real.IsConjugateExponent p q
h : a = ⊤ ∨ b = ⊤
⊢ ⊤ = a ^ p / ENNReal.ofReal p + b ^ q / ENNReal.ofReal q

tactic: cases' h with h h <;> rw [h] <;> simp [h, hpq.pos, hpq.symm.pos]
state_before: case pos
ι : Type u
s : Finset ι
a b : ℝ≥0∞
p q : ℝ
hpq : Real.IsConjugateExponent p q
h : a = ⊤ ∨ b = ⊤
⊢ ⊤ = a ^ p * (ENNReal.ofReal p)⁻¹ + b ^ q * (ENNReal.ofReal q)⁻¹

tactic: rw [div_eq_mul_inv]
state_before: case pos
ι : Type u
s : Finset ι
a b : ℝ≥0∞
p q : ℝ
hpq : Real.IsConjugateExponent p q
h : a = ⊤ ∨ b = ⊤
⊢ ⊤ = a ^ p * (ENNReal.ofReal p)⁻¹ + b ^ q * (ENNReal.ofReal q)⁻¹

tactic: simp [hpq.pos]
state_before: ι : Type u
s : Finset ι
a b : ℝ≥0∞
p q : ℝ
hpq : Real.IsConjugateExponent p q
h : a ≠ ⊤ ∧ b ≠ ⊤
⊢ Real.toNNReal p ≠ 0

tactic: simp [hpq.symm.pos]
state_before: ι : Type u
s : Finset ι
a b : ℝ≥0∞
p q : ℝ
hpq : Real.IsConjugateExponent p q
h : a ≠ ⊤ ∧ b ≠ ⊤
⊢ Real.toNNReal q ≠ 0
Theorem: Nat.ModEq.mul_left'
File: Mathlib/Data/Nat/ModEq.lean

tactic: unfold ModEq at *
state_before: m n a b c✝ d c : ℕ
h : a ≡ b [MOD n]
⊢ c * a ≡ c * b [MOD c * n]

tactic: rw [mul_mod_mul_left, mul_mod_mul_left, h]
state_before: m n a b c✝ d c : ℕ
h : a % n = b % n
⊢ c * a % (c * n) = c * b % (c * n)
Theorem: Polynomial.smul_eval
File: Mathlib/Algebra/Polynomial/GroupRingAction.lean

tactic: rw [← smul_eval_smul, smul_inv_smul]
state_before: M : Type ?u.48740
inst✝⁶ : Monoid M
R : Type ?u.48746
inst✝⁵ : Semiring R
inst✝⁴ : MulSemiringAction M R
S : Type u_2
inst✝³ : CommSemiring S
inst✝² : MulSemiringAction M S
G : Type u_1
inst✝¹ : Group G
inst✝ : MulSemiringAction G S
g : G
f : S[X]
x : S
⊢ eval x (g • f) = g • eval (g⁻¹ • x) f
Theorem: MeasureTheory.Measure.restrict_toOuterMeasure_eq_toOuterMeasure_restrict
File: Mathlib/MeasureTheory/Measure/MeasureSpace.lean

tactic: simp_rw [restrict, restrictₗ, liftLinear, LinearMap.coe_mk, AddHom.coe_mk,
  toMeasure_toOuterMeasure, OuterMeasure.restrict_trim h, μ.trimmed]
state_before: α : Type u_1
β : Type ?u.276999
γ : Type ?u.277002
δ : Type ?u.277005
ι : Type ?u.277008
R : Type ?u.277011
R' : Type ?u.277014
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t : Set α
h : MeasurableSet s
⊢ ↑(restrict μ s) = ↑(OuterMeasure.restrict s) ↑μ
Theorem: Set.pi_inter_distrib
File: Mathlib/Data/Set/Prod.lean

tactic: simp only [forall_and, mem_pi, mem_inter_iff]
state_before: ι : Type u_1
α : ι → Type u_2
β : ι → Type ?u.114693
s s₁ s₂ : Set ι
t t₁ t₂ : (i : ι) → Set (α i)
i : ι
x : (i : ι) → α i
⊢ (x ∈ pi s fun i => t i ∩ t₁ i) ↔ x ∈ pi s t ∩ pi s t₁
Theorem: Fin.append_right_eq_snoc
File: Mathlib/Data/Fin/Tuple/Basic.lean

tactic: ext i
state_before: m n✝ : ℕ
α✝ : Fin (n✝ + 1) → Type u
x✝ : α✝ (last n✝)
q : (i : Fin (n✝ + 1)) → α✝ i
p : (i : Fin n✝) → α✝ (↑castSucc i)
i : Fin n✝
y : α✝ (↑castSucc i)
z : α✝ (last n✝)
α : Type u_1
n : ℕ
x : Fin n → α
x₀ : Fin 1 → α
⊢ append x x₀ = snoc x (x₀ 0)

tactic: refine' Fin.addCases _ _ i <;> clear i
state_before: case h
m n✝ : ℕ
α✝ : Fin (n✝ + 1) → Type u
x✝ : α✝ (last n✝)
q : (i : Fin (n✝ + 1)) → α✝ i
p : (i : Fin n✝) → α✝ (↑castSucc i)
i✝ : Fin n✝
y : α✝ (↑castSucc i✝)
z : α✝ (last n✝)
α : Type u_1
n : ℕ
x : Fin n → α
x₀ : Fin 1 → α
i : Fin (n + 1)
⊢ append x x₀ i = snoc x (x₀ 0) i

tactic: intro i
state_before: case h.refine'_1
m n✝ : ℕ
α✝ : Fin (n✝ + 1) → Type u
x✝ : α✝ (last n✝)
q : (i : Fin (n✝ + 1)) → α✝ i
p : (i : Fin n✝) → α✝ (↑castSucc i)
i : Fin n✝
y : α✝ (↑castSucc i)
z : α✝ (last n✝)
α : Type u_1
n : ℕ
x : Fin n → α
x₀ : Fin 1 → α
⊢ ∀ (i : Fin n), append x x₀ (↑(castAdd 1) i) = snoc x (x₀ 0) (↑(castAdd 1) i)

tactic: rw [Fin.append_left]
state_before: case h.refine'_1
m n✝ : ℕ
α✝ : Fin (n✝ + 1) → Type u
x✝ : α✝ (last n✝)
q : (i : Fin (n✝ + 1)) → α✝ i
p : (i : Fin n✝) → α✝ (↑castSucc i)
i✝ : Fin n✝
y : α✝ (↑castSucc i✝)
z : α✝ (last n✝)
α : Type u_1
n : ℕ
x : Fin n → α
x₀ : Fin 1 → α
i : Fin n
⊢ append x x₀ (↑(castAdd 1) i) = snoc x (x₀ 0) (↑(castAdd 1) i)

tactic: exact (@snoc_castSucc _ (fun _ => α) _ _ i).symm
state_before: case h.refine'_1
m n✝ : ℕ
α✝ : Fin (n✝ + 1) → Type u
x✝ : α✝ (last n✝)
q : (i : Fin (n✝ + 1)) → α✝ i
p : (i : Fin n✝) → α✝ (↑castSucc i)
i✝ : Fin n✝
y : α✝ (↑castSucc i✝)
z : α✝ (last n✝)
α : Type u_1
n : ℕ
x : Fin n → α
x₀ : Fin 1 → α
i : Fin n
⊢ x i = snoc x (x₀ 0) (↑(castAdd 1) i)

tactic: intro i
state_before: case h.refine'_2
m n✝ : ℕ
α✝ : Fin (n✝ + 1) → Type u
x✝ : α✝ (last n✝)
q : (i : Fin (n✝ + 1)) → α✝ i
p : (i : Fin n✝) → α✝ (↑castSucc i)
i : Fin n✝
y : α✝ (↑castSucc i)
z : α✝ (last n✝)
α : Type u_1
n : ℕ
x : Fin n → α
x₀ : Fin 1 → α
⊢ ∀ (i : Fin 1), append x x₀ (↑(natAdd n) i) = snoc x (x₀ 0) (↑(natAdd n) i)

tactic: rw [Subsingleton.elim i 0, Fin.append_right]
state_before: case h.refine'_2
m n✝ : ℕ
α✝ : Fin (n✝ + 1) → Type u
x✝ : α✝ (last n✝)
q : (i : Fin (n✝ + 1)) → α✝ i
p : (i : Fin n✝) → α✝ (↑castSucc i)
i✝ : Fin n✝
y : α✝ (↑castSucc i✝)
z : α✝ (last n✝)
α : Type u_1
n : ℕ
x : Fin n → α
x₀ : Fin 1 → α
i : Fin 1
⊢ append x x₀ (↑(natAdd n) i) = snoc x (x₀ 0) (↑(natAdd n) i)

tactic: exact (@snoc_last _ (fun _ => α) _ _).symm
state_before: case h.refine'_2
m n✝ : ℕ
α✝ : Fin (n✝ + 1) → Type u
x✝ : α✝ (last n✝)
q : (i : Fin (n✝ + 1)) → α✝ i
p : (i : Fin n✝) → α✝ (↑castSucc i)
i✝ : Fin n✝
y : α✝ (↑castSucc i✝)
z : α✝ (last n✝)
α : Type u_1
n : ℕ
x : Fin n → α
x₀ : Fin 1 → α
i : Fin 1
⊢ x₀ 0 = snoc x (x₀ 0) (↑(natAdd n) 0)
Theorem: ae_not_liouville
File: Mathlib/NumberTheory/Liouville/Measure.lean

tactic: norm_num
state_before: x : ℝ
h₁ : ∀ (p : ℝ), p > 2 → ¬LiouvilleWith p x
h₂ : Liouville x
⊢ 3 > 2
Theorem: List.pmap_congr
File: Mathlib/Data/List/Basic.lean

tactic: induction' l with _ _ ih
state_before: ι : Type ?u.326072
α : Type u
β : Type v
γ : Type w
δ : Type x
l₁ l₂ : List α
p q : α → Prop
f : (a : α) → p a → β
g : (a : α) → q a → β
l : List α
H₁ : ∀ (a : α), a ∈ l → p a
H₂ : ∀ (a : α), a ∈ l → q a
h : ∀ (a : α), a ∈ l → ∀ (h₁ : p a) (h₂ : q a), f a h₁ = g a h₂
⊢ pmap f l H₁ = pmap g l H₂

tactic: rfl
state_before: case nil
ι : Type ?u.326072
α : Type u
β : Type v
γ : Type w
δ : Type x
l₁ l₂ : List α
p q : α → Prop
f : (a : α) → p a → β
g : (a : α) → q a → β
l : List α
H₁✝ : ∀ (a : α), a ∈ l → p a
H₂✝ : ∀ (a : α), a ∈ l → q a
h✝ : ∀ (a : α), a ∈ l → ∀ (h₁ : p a) (h₂ : q a), f a h₁ = g a h₂
H₁ : ∀ (a : α), a ∈ [] → p a
H₂ : ∀ (a : α), a ∈ [] → q a
h : ∀ (a : α), a ∈ [] → ∀ (h₁ : p a) (h₂ : q a), f a h₁ = g a h₂
⊢ pmap f [] H₁ = pmap g [] H₂

tactic: rw [pmap, pmap, h _ (mem_cons_self _ _), ih fun a ha => h a (mem_cons_of_mem _ ha)]
state_before: case cons
ι : Type ?u.326072
α : Type u
β : Type v
γ : Type w
δ : Type x
l₁ l₂ : List α
p q : α → Prop
f : (a : α) → p a → β
g : (a : α) → q a → β
l : List α
H₁✝ : ∀ (a : α), a ∈ l → p a
H₂✝ : ∀ (a : α), a ∈ l → q a
h✝ : ∀ (a : α), a ∈ l → ∀ (h₁ : p a) (h₂ : q a), f a h₁ = g a h₂
head✝ : α
tail✝ : List α
ih :
  ∀ {H₁ : ∀ (a : α), a ∈ tail✝ → p a} {H₂ : ∀ (a : α), a ∈ tail✝ → q a},
    (∀ (a : α), a ∈ tail✝ → ∀ (h₁ : p a) (h₂ : q a), f a h₁ = g a h₂) → pmap f tail✝ H₁ = pmap g tail✝ H₂
H₁ : ∀ (a : α), a ∈ head✝ :: tail✝ → p a
H₂ : ∀ (a : α), a ∈ head✝ :: tail✝ → q a
h : ∀ (a : α), a ∈ head✝ :: tail✝ → ∀ (h₁ : p a) (h₂ : q a), f a h₁ = g a h₂
⊢ pmap f (head✝ :: tail✝) H₁ = pmap g (head✝ :: tail✝) H₂
Theorem: Int.ofNat_dvd_right
File: Std/Data/Int/DivMod.lean

tactic: rw [← natAbs_dvd_natAbs, natAbs_ofNat]
state_before: n : Nat
z : Int
⊢ z ∣ ↑n ↔ natAbs z ∣ n
Theorem: ContinuousMap.liftCover_coe
File: Mathlib/Topology/ContinuousFunction/Basic.lean

tactic: rw [liftCover, coe_mk, Set.liftCover_coe _]
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.56918
δ : Type ?u.56921
inst✝³ : TopologicalSpace α
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
inst✝ : TopologicalSpace δ
f g : C(α, β)
ι : Type u_3
S : ι → Set α
φ : (i : ι) → C(↑(S i), β)
hφ :
  ∀ (i j : ι) (x : α) (hxi : x ∈ S i) (hxj : x ∈ S j),
    ↑(φ i) { val := x, property := hxi } = ↑(φ j) { val := x, property := hxj }
hS : ∀ (x : α), ∃ i, S i ∈ nhds x
i : ι
x : ↑(S i)
⊢ ↑(liftCover S φ hφ hS) ↑x = ↑(φ i) x
Theorem: Con.pow
File: Mathlib/GroupTheory/Congruence.lean

tactic: simpa using c.refl _
state_before: M✝ : Type ?u.81771
N : Type ?u.81774
P : Type ?u.81777
M : Type u_1
inst✝ : Monoid M
c : Con M
w x : M
x✝ : ↑c w x
⊢ ↑c (w ^ 0) (x ^ 0)

tactic: simpa [pow_succ] using c.mul h (Con.pow c n h)
state_before: M✝ : Type ?u.81771
N : Type ?u.81774
P : Type ?u.81777
M : Type u_1
inst✝ : Monoid M
c : Con M
n : ℕ
w x : M
h : ↑c w x
⊢ ↑c (w ^ Nat.succ n) (x ^ Nat.succ n)
Theorem: CategoryTheory.Limits.inr_inl_pushoutLeftPushoutInrIso_hom
File: Mathlib/CategoryTheory/Limits/Shapes/Pullbacks.lean

tactic: rw [← Category.assoc, ← Iso.eq_comp_inv, Category.assoc, inr_pushoutLeftPushoutInrIso_inv,
  pushout.condition]
state_before: C : Type u
inst✝⁴ : Category C
D : Type u₂
inst✝³ : Category D
W X Y Z : C
f : X ⟶ Y
g : X ⟶ Z
g' : Z ⟶ W
inst✝² : HasPushout f g
inst✝¹ : HasPushout pushout.inr g'
inst✝ : HasPushout f (g ≫ g')
⊢ pushout.inr ≫ pushout.inl ≫ (pushoutLeftPushoutInrIso f g g').hom = g' ≫ pushout.inr
Theorem: Finset.sup'_insert
File: Mathlib/Data/Finset/Lattice.lean

tactic: rw [← WithBot.coe_eq_coe]
state_before: F : Type ?u.239145
α : Type u_2
β : Type u_1
γ : Type ?u.239154
ι : Type ?u.239157
κ : Type ?u.239160
inst✝¹ : SemilatticeSup α
s : Finset β
H : Finset.Nonempty s
f : β → α
inst✝ : DecidableEq β
b : β
h : Finset.Nonempty (insert b s)
⊢ sup' (insert b s) h f = f b ⊔ sup' s H f

tactic: simp [WithBot.coe_sup]
state_before: F : Type ?u.239145
α : Type u_2
β : Type u_1
γ : Type ?u.239154
ι : Type ?u.239157
κ : Type ?u.239160
inst✝¹ : SemilatticeSup α
s : Finset β
H : Finset.Nonempty s
f : β → α
inst✝ : DecidableEq β
b : β
h : Finset.Nonempty (insert b s)
⊢ ↑(sup' (insert b s) h f) = ↑(f b ⊔ sup' s H f)
Theorem: Std.RBNode.DelProp.redred
File: Std/Data/RBMap/WF.lean

tactic: unfold DelProp at h
state_before: c : RBColor
α✝ : Type u_1
t : RBNode α✝
n : Nat
h : DelProp c t n
⊢ ∃ n', RedRed (c = black) t n'

tactic: exact match c, h with
| red, ⟨_, h⟩ => ⟨_, .balanced h⟩
| black, ⟨_, _, h⟩ => ⟨_, h.imp fun _ => rfl⟩
state_before: c : RBColor
α✝ : Type u_1
t : RBNode α✝
n : Nat
h :
  match c with
  | black => ∃ n', n = n' + 1 ∧ RedRed True t n'
  | red => ∃ c, Balanced t c n
⊢ ∃ n', RedRed (c = black) t n'
Theorem: CategoryTheory.Localization.natTrans_ext
File: Mathlib/CategoryTheory/Localization/Predicate.lean

tactic: haveI : CategoryTheory.EssSurj L := essSurj L W
state_before: C : Type u_6
D : Type u_3
inst✝³ : Category C
inst✝² : Category D
L : C ⥤ D
W : MorphismProperty C
E : Type u_4
inst✝¹ : Category E
inst✝ : Functor.IsLocalization L W
F₁ F₂ : D ⥤ E
τ τ' : F₁ ⟶ F₂
h : ∀ (X : C), τ.app (L.obj X) = τ'.app (L.obj X)
⊢ τ = τ'

tactic: ext Y
state_before: C : Type u_6
D : Type u_3
inst✝³ : Category C
inst✝² : Category D
L : C ⥤ D
W : MorphismProperty C
E : Type u_4
inst✝¹ : Category E
inst✝ : Functor.IsLocalization L W
F₁ F₂ : D ⥤ E
τ τ' : F₁ ⟶ F₂
h : ∀ (X : C), τ.app (L.obj X) = τ'.app (L.obj X)
this : EssSurj L
⊢ τ = τ'

tactic: rw [← cancel_epi (F₁.map (L.objObjPreimageIso Y).hom), τ.naturality, τ'.naturality, h]
state_before: case w.h
C : Type u_6
D : Type u_3
inst✝³ : Category C
inst✝² : Category D
L : C ⥤ D
W : MorphismProperty C
E : Type u_4
inst✝¹ : Category E
inst✝ : Functor.IsLocalization L W
F₁ F₂ : D ⥤ E
τ τ' : F₁ ⟶ F₂
h : ∀ (X : C), τ.app (L.obj X) = τ'.app (L.obj X)
this : EssSurj L
Y : D
⊢ τ.app Y = τ'.app Y
Theorem: Class.eq_univ_of_powerset_subset
File: Mathlib/SetTheory/ZFC/Basic.lean

tactic: by_contra' hnA
state_before: A : Class
hA : powerset A ⊆ A
⊢ ∀ (x : ZFSet), A x

tactic: exact
  WellFounded.min_mem ZFSet.mem_wf _ hnA
    (hA fun x hx =>
      Classical.not_not.1 fun hB =>
        WellFounded.not_lt_min ZFSet.mem_wf _ hnA hB <| coe_apply.1 hx)
state_before: A : Class
hA : powerset A ⊆ A
hnA : ∃ x, ¬A x
⊢ False
Theorem: CategoryTheory.Limits.cospanExt_hom_app_left
File: Mathlib/CategoryTheory/Limits/Shapes/Pullbacks.lean

tactic: dsimp [cospanExt]
state_before: C : Type u
inst✝¹ : Category C
D : Type u₂
inst✝ : Category D
X Y Z X' Y' Z' : C
iX : X ≅ X'
iY : Y ≅ Y'
iZ : Z ≅ Z'
f : X ⟶ Z
g : Y ⟶ Z
f' : X' ⟶ Z'
g' : Y' ⟶ Z'
wf : iX.hom ≫ f' = f ≫ iZ.hom
wg : iY.hom ≫ g' = g ≫ iZ.hom
⊢ (cospanExt iX iY iZ wf wg).hom.app WalkingCospan.left = iX.hom
Theorem: Complex.sin_antiperiodic
File: Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean

tactic: simp [sin_add]
state_before: ⊢ Function.Antiperiodic sin ↑π
Theorem: Left.pow_le_one_of_le
File: Mathlib/Algebra/GroupPower/Order.lean

tactic: rw [pow_succ]
state_before: β : Type ?u.51554
A : Type ?u.51557
G : Type ?u.51560
M : Type u_1
R : Type ?u.51566
inst✝² : Monoid M
inst✝¹ : Preorder M
inst✝ : CovariantClass M M (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
x : M
hx : x ≤ 1
n : ℕ
⊢ x ^ (n + 1) ≤ 1

tactic: exact Left.mul_le_one hx <| Left.pow_le_one_of_le hx
state_before: β : Type ?u.51554
A : Type ?u.51557
G : Type ?u.51560
M : Type u_1
R : Type ?u.51566
inst✝² : Monoid M
inst✝¹ : Preorder M
inst✝ : CovariantClass M M (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
x : M
hx : x ≤ 1
n : ℕ
⊢ x * x ^ n ≤ 1
Theorem: ContinuousLinearMap.op_norm_smul_le
File: Mathlib/Analysis/NormedSpace/OperatorNorm.lean

tactic: erw [norm_smul, mul_assoc]
state_before: 𝕜 : Type u_4
𝕜₂ : Type u_3
𝕜₃ : Type ?u.426197
E : Type u_5
Eₗ : Type ?u.426203
F : Type u_2
Fₗ : Type ?u.426209
G : Type ?u.426212
Gₗ : Type ?u.426215
𝓕 : Type ?u.426218
inst✝²⁰ : SeminormedAddCommGroup E
inst✝¹⁹ : SeminormedAddCommGroup Eₗ
inst✝¹⁸ : SeminormedAddCommGroup F
inst✝¹⁷ : SeminormedAddCommGroup Fₗ
inst✝¹⁶ : SeminormedAddCommGroup G
inst✝¹⁵ : SeminormedAddCommGroup Gₗ
inst✝¹⁴ : NontriviallyNormedField 𝕜
inst✝¹³ : NontriviallyNormedField 𝕜₂
inst✝¹² : NontriviallyNormedField 𝕜₃
inst✝¹¹ : NormedSpace 𝕜 E
inst✝¹⁰ : NormedSpace 𝕜 Eₗ
inst✝⁹ : NormedSpace 𝕜₂ F
inst✝⁸ : NormedSpace 𝕜 Fₗ
inst✝⁷ : NormedSpace 𝕜₃ G
inst✝⁶ : NormedSpace 𝕜 Gₗ
σ₁₂ : 𝕜 →+* 𝕜₂
σ₂₃ : 𝕜₂ →+* 𝕜₃
σ₁₃ : 𝕜 →+* 𝕜₃
inst✝⁵ : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
inst✝⁴ : RingHomIsometric σ₁₂
inst✝³ : RingHomIsometric σ₂₃
f✝ g : E →SL[σ₁₂] F
h : F →SL[σ₂₃] G
x : E
𝕜' : Type u_1
inst✝² : NormedField 𝕜'
inst✝¹ : NormedSpace 𝕜' F
inst✝ : SMulCommClass 𝕜₂ 𝕜' F
c : 𝕜'
f : E →SL[σ₁₂] F
x✝ : E
⊢ ‖↑(c • f) x✝‖ ≤ ‖c‖ * ‖f‖ * ‖x✝‖

tactic: exact mul_le_mul_of_nonneg_left (le_op_norm _ _) (norm_nonneg _)
state_before: 𝕜 : Type u_4
𝕜₂ : Type u_3
𝕜₃ : Type ?u.426197
E : Type u_5
Eₗ : Type ?u.426203
F : Type u_2
Fₗ : Type ?u.426209
G : Type ?u.426212
Gₗ : Type ?u.426215
𝓕 : Type ?u.426218
inst✝²⁰ : SeminormedAddCommGroup E
inst✝¹⁹ : SeminormedAddCommGroup Eₗ
inst✝¹⁸ : SeminormedAddCommGroup F
inst✝¹⁷ : SeminormedAddCommGroup Fₗ
inst✝¹⁶ : SeminormedAddCommGroup G
inst✝¹⁵ : SeminormedAddCommGroup Gₗ
inst✝¹⁴ : NontriviallyNormedField 𝕜
inst✝¹³ : NontriviallyNormedField 𝕜₂
inst✝¹² : NontriviallyNormedField 𝕜₃
inst✝¹¹ : NormedSpace 𝕜 E
inst✝¹⁰ : NormedSpace 𝕜 Eₗ
inst✝⁹ : NormedSpace 𝕜₂ F
inst✝⁸ : NormedSpace 𝕜 Fₗ
inst✝⁷ : NormedSpace 𝕜₃ G
inst✝⁶ : NormedSpace 𝕜 Gₗ
σ₁₂ : 𝕜 →+* 𝕜₂
σ₂₃ : 𝕜₂ →+* 𝕜₃
σ₁₃ : 𝕜 →+* 𝕜₃
inst✝⁵ : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
inst✝⁴ : RingHomIsometric σ₁₂
inst✝³ : RingHomIsometric σ₂₃
f✝ g : E →SL[σ₁₂] F
h : F →SL[σ₂₃] G
x : E
𝕜' : Type u_1
inst✝² : NormedField 𝕜'
inst✝¹ : NormedSpace 𝕜' F
inst✝ : SMulCommClass 𝕜₂ 𝕜' F
c : 𝕜'
f : E →SL[σ₁₂] F
x✝ : E
⊢ ‖c‖ * ‖↑↑f x✝‖ ≤ ‖c‖ * (‖f‖ * ‖x✝‖)
Theorem: round_sub_one
File: Mathlib/Algebra/Order/Floor.lean

tactic: rw [←round_sub_int a 1, cast_one]
state_before: F : Type ?u.256004
α : Type u_1
β : Type ?u.256010
inst✝¹ : LinearOrderedRing α
inst✝ : FloorRing α
a : α
⊢ round (a - 1) = round a - 1
Theorem: LinearMap.comp_zero
File: Mathlib/Algebra/Module/LinearMap.lean

tactic: rw [comp_apply, zero_apply, zero_apply, g.map_zero]
state_before: R : Type ?u.500438
R₁ : Type u_6
R₂ : Type u_1
R₃ : Type u_2
k : Type ?u.500450
S : Type ?u.500453
S₃ : Type ?u.500456
T : Type ?u.500459
M : Type u_5
M₁ : Type ?u.500465
M₂ : Type u_3
M₃ : Type u_4
N₁ : Type ?u.500474
N₂ : Type ?u.500477
N₃ : Type ?u.500480
ι : Type ?u.500483
inst✝¹⁵ : Semiring R₁
inst✝¹⁴ : Semiring R₂
inst✝¹³ : Semiring R₃
inst✝¹² : AddCommMonoid M
inst✝¹¹ : AddCommMonoid M₂
inst✝¹⁰ : AddCommMonoid M₃
inst✝⁹ : AddCommGroup N₁
inst✝⁸ : AddCommGroup N₂
inst✝⁷ : AddCommGroup N₃
inst✝⁶ : Module R₁ M
inst✝⁵ : Module R₂ M₂
inst✝⁴ : Module R₃ M₃
inst✝³ : Module R₁ N₁
inst✝² : Module R₂ N₂
inst✝¹ : Module R₃ N₃
σ₁₂ : R₁ →+* R₂
σ₂₃ : R₂ →+* R₃
σ₁₃ : R₁ →+* R₃
inst✝ : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
g : M₂ →ₛₗ[σ₂₃] M₃
c : M
⊢ ↑(comp g 0) c = ↑0 c
Theorem: Valuation.IsEquiv.map
File: Mathlib/RingTheory/Valuation/Basic.lean

tactic: rw [H.le_iff_le]
state_before: K : Type ?u.2583735
F : Type ?u.2583738
R : Type u_1
inst✝⁴ : DivisionRing K
Γ₀ : Type u_2
Γ'₀ : Type u_3
Γ''₀ : Type ?u.2583753
inst✝³ : LinearOrderedCommMonoidWithZero Γ''₀
inst✝² : Ring R
inst✝¹ : LinearOrderedCommMonoidWithZero Γ₀
inst✝ : LinearOrderedCommMonoidWithZero Γ'₀
v v₁ : Valuation R Γ₀
v₂ : Valuation R Γ'₀
v₃ : Valuation R Γ''₀
v' : Valuation R Γ₀
f : Γ₀ →*₀ Γ'₀
hf : Monotone ↑f
inf : Injective ↑f
h : IsEquiv v v'
H : StrictMono ↑f := Monotone.strictMono_of_injective hf inf
r s : R
⊢ ↑f (↑v r) ≤ ↑f (↑v s) ↔ ↑v r ≤ ↑v s

tactic: rw [H.le_iff_le]
state_before: K : Type ?u.2583735
F : Type ?u.2583738
R : Type u_1
inst✝⁴ : DivisionRing K
Γ₀ : Type u_2
Γ'₀ : Type u_3
Γ''₀ : Type ?u.2583753
inst✝³ : LinearOrderedCommMonoidWithZero Γ''₀
inst✝² : Ring R
inst✝¹ : LinearOrderedCommMonoidWithZero Γ₀
inst✝ : LinearOrderedCommMonoidWithZero Γ'₀
v v₁ : Valuation R Γ₀
v₂ : Valuation R Γ'₀
v₃ : Valuation R Γ''₀
v' : Valuation R Γ₀
f : Γ₀ →*₀ Γ'₀
hf : Monotone ↑f
inf : Injective ↑f
h : IsEquiv v v'
H : StrictMono ↑f := Monotone.strictMono_of_injective hf inf
r s : R
⊢ ↑v' r ≤ ↑v' s ↔ ↑f (↑v' r) ≤ ↑f (↑v' s)
Theorem: MeasureTheory.Measure.pi_of_empty
File: Mathlib/MeasureTheory/Constructions/Pi.lean

tactic: haveI : ∀ a, SigmaFinite (μ a) := isEmptyElim
state_before: ι : Type ?u.3164347
ι' : Type ?u.3164350
α✝ : ι → Type ?u.3164355
inst✝³ : Fintype ι
m✝ : (i : ι) → OuterMeasure (α✝ i)
inst✝² : (i : ι) → MeasurableSpace (α✝ i)
μ✝ : (i : ι) → Measure (α✝ i)
inst✝¹ : ∀ (i : ι), SigmaFinite (μ✝ i)
α : Type u_1
inst✝ : IsEmpty α
β : α → Type u_2
m : (a : α) → MeasurableSpace (β a)
μ : (a : α) → Measure (β a)
x : optParam ((a : α) → β a) fun a => isEmptyElim a
⊢ Measure.pi μ = dirac x

tactic: refine' pi_eq fun s _ => _
state_before: ι : Type ?u.3164347
ι' : Type ?u.3164350
α✝ : ι → Type ?u.3164355
inst✝³ : Fintype ι
m✝ : (i : ι) → OuterMeasure (α✝ i)
inst✝² : (i : ι) → MeasurableSpace (α✝ i)
μ✝ : (i : ι) → Measure (α✝ i)
inst✝¹ : ∀ (i : ι), SigmaFinite (μ✝ i)
α : Type u_1
inst✝ : IsEmpty α
β : α → Type u_2
m : (a : α) → MeasurableSpace (β a)
μ : (a : α) → Measure (β a)
x : optParam ((a : α) → β a) fun a => isEmptyElim a
this : ∀ (a : α), SigmaFinite (μ a)
⊢ Measure.pi μ = dirac x

tactic: rw [Fintype.prod_empty, dirac_apply_of_mem]
state_before: ι : Type ?u.3164347
ι' : Type ?u.3164350
α✝ : ι → Type ?u.3164355
inst✝³ : Fintype ι
m✝ : (i : ι) → OuterMeasure (α✝ i)
inst✝² : (i : ι) → MeasurableSpace (α✝ i)
μ✝ : (i : ι) → Measure (α✝ i)
inst✝¹ : ∀ (i : ι), SigmaFinite (μ✝ i)
α : Type u_1
inst✝ : IsEmpty α
β : α → Type u_2
m : (a : α) → MeasurableSpace (β a)
μ : (a : α) → Measure (β a)
x : optParam ((a : α) → β a) fun a => isEmptyElim a
this : ∀ (a : α), SigmaFinite (μ a)
s : (i : α) → Set (β i)
x✝ : ∀ (i : α), MeasurableSet (s i)
⊢ ↑↑(dirac x) (Set.pi univ s) = ∏ i : α, ↑↑(μ i) (s i)

tactic: exact isEmptyElim (α := α)
state_before: ι : Type ?u.3164347
ι' : Type ?u.3164350
α✝ : ι → Type ?u.3164355
inst✝³ : Fintype ι
m✝ : (i : ι) → OuterMeasure (α✝ i)
inst✝² : (i : ι) → MeasurableSpace (α✝ i)
μ✝ : (i : ι) → Measure (α✝ i)
inst✝¹ : ∀ (i : ι), SigmaFinite (μ✝ i)
α : Type u_1
inst✝ : IsEmpty α
β : α → Type u_2
m : (a : α) → MeasurableSpace (β a)
μ : (a : α) → Measure (β a)
x : optParam ((a : α) → β a) fun a => isEmptyElim a
this : ∀ (a : α), SigmaFinite (μ a)
s : (i : α) → Set (β i)
x✝ : ∀ (i : α), MeasurableSet (s i)
⊢ x ∈ Set.pi univ s
Theorem: Pi.image_update_openSegment
File: Mathlib/Analysis/Convex/Segment.lean

tactic: ext z
state_before: 𝕜 : Type u_3
E : Type ?u.408197
F : Type ?u.408200
G : Type ?u.408203
ι : Type u_1
π : ι → Type u_2
inst✝³ : OrderedSemiring 𝕜
inst✝² : (i : ι) → AddCommMonoid (π i)
inst✝¹ : (i : ι) → Module 𝕜 (π i)
s : Set ι
inst✝ : DecidableEq ι
i : ι
x₁ x₂ : π i
y : (i : ι) → π i
⊢ update y i '' openSegment 𝕜 x₁ x₂ = openSegment 𝕜 (update y i x₁) (update y i x₂)

tactic: simp_rw [Set.mem_image, openSegment, Set.mem_setOf, ← update_smul, ← update_add, update_eq_iff, ←
  exists_and_right, @exists_comm (π i), exists_eq_left']
state_before: case h
𝕜 : Type u_3
E : Type ?u.408197
F : Type ?u.408200
G : Type ?u.408203
ι : Type u_1
π : ι → Type u_2
inst✝³ : OrderedSemiring 𝕜
inst✝² : (i : ι) → AddCommMonoid (π i)
inst✝¹ : (i : ι) → Module 𝕜 (π i)
s : Set ι
inst✝ : DecidableEq ι
i : ι
x₁ x₂ : π i
y z : (a : ι) → π a
⊢ z ∈ update y i '' openSegment 𝕜 x₁ x₂ ↔ z ∈ openSegment 𝕜 (update y i x₁) (update y i x₂)

tactic: refine' exists₅_congr fun a b ha hb hab => _
state_before: case h
𝕜 : Type u_3
E : Type ?u.408197
F : Type ?u.408200
G : Type ?u.408203
ι : Type u_1
π : ι → Type u_2
inst✝³ : OrderedSemiring 𝕜
inst✝² : (i : ι) → AddCommMonoid (π i)
inst✝¹ : (i : ι) → Module 𝕜 (π i)
s : Set ι
inst✝ : DecidableEq ι
i : ι
x₁ x₂ : π i
y z : (a : ι) → π a
⊢ (∃ b b_1 h h h, b • x₁ + b_1 • x₂ = z i ∧ ∀ (x : ι), x ≠ i → y x = z x) ↔
    ∃ a b h h h, a • x₁ + b • x₂ = z i ∧ ∀ (x : ι), x ≠ i → (a • y + b • y) x = z x

tactic: rw [Convex.combo_self hab]
state_before: case h
𝕜 : Type u_3
E : Type ?u.408197
F : Type ?u.408200
G : Type ?u.408203
ι : Type u_1
π : ι → Type u_2
inst✝³ : OrderedSemiring 𝕜
inst✝² : (i : ι) → AddCommMonoid (π i)
inst✝¹ : (i : ι) → Module 𝕜 (π i)
s : Set ι
inst✝ : DecidableEq ι
i : ι
x₁ x₂ : π i
y z : (a : ι) → π a
a b : 𝕜
ha : 0 < a
hb : 0 < b
hab : a + b = 1
⊢ (a • x₁ + b • x₂ = z i ∧ ∀ (x : ι), x ≠ i → y x = z x) ↔
    a • x₁ + b • x₂ = z i ∧ ∀ (x : ι), x ≠ i → (a • y + b • y) x = z x
Theorem: CircleDeg1Lift.mul_floor_map_zero_le_floor_iterate_zero
File: Mathlib/Dynamics/Circle/RotationNumber/TranslationNumber.lean

tactic: rw [le_floor, Int.cast_mul, Int.cast_ofNat, ← zero_add ((n : ℝ) * _)]
state_before: f g : CircleDeg1Lift
n : ℕ
⊢ ↑n * ⌊↑f 0⌋ ≤ ⌊(↑f^[n]) 0⌋

tactic: apply le_iterate_of_add_int_le_map
state_before: f g : CircleDeg1Lift
n : ℕ
⊢ 0 + ↑n * ↑⌊↑f 0⌋ ≤ (↑f^[n]) 0

tactic: simp [floor_le]
state_before: case h
f g : CircleDeg1Lift
n : ℕ
⊢ 0 + ↑⌊↑f 0⌋ ≤ ↑f 0