tasksource/leandojo huggingface dataset:
Theorem: Finsupp.totalOn_range
File: Mathlib/LinearAlgebra/Finsupp.lean

tactic: rw [Finsupp.totalOn, LinearMap.range_eq_map, LinearMap.map_codRestrict,
  ←LinearMap.range_le_iff_comap, range_subtype, Submodule.map_top, LinearMap.range_comp,
  range_subtype]
state_before: α : Type u_1
M : Type u_2
N : Type ?u.439719
P : Type ?u.439722
R : Type u_3
S : Type ?u.439728
inst✝¹² : Semiring R
inst✝¹¹ : Semiring S
inst✝¹⁰ : AddCommMonoid M
inst✝⁹ : Module R M
inst✝⁸ : AddCommMonoid N
inst✝⁷ : Module R N
inst✝⁶ : AddCommMonoid P
inst✝⁵ : Module R P
α' : Type ?u.439820
M' : Type ?u.439823
inst✝⁴ : Semiring R
inst✝³ : AddCommMonoid M'
inst✝² : AddCommMonoid M
inst✝¹ : Module R M'
inst✝ : Module R M
v : α → M
v' : α' → M'
s : Set α
⊢ LinearMap.range (Finsupp.totalOn α M R v s) = ⊤

tactic: exact (span_image_eq_map_total _ _).le
state_before: α : Type u_1
M : Type u_2
N : Type ?u.439719
P : Type ?u.439722
R : Type u_3
S : Type ?u.439728
inst✝¹² : Semiring R
inst✝¹¹ : Semiring S
inst✝¹⁰ : AddCommMonoid M
inst✝⁹ : Module R M
inst✝⁸ : AddCommMonoid N
inst✝⁷ : Module R N
inst✝⁶ : AddCommMonoid P
inst✝⁵ : Module R P
α' : Type ?u.439820
M' : Type ?u.439823
inst✝⁴ : Semiring R
inst✝³ : AddCommMonoid M'
inst✝² : AddCommMonoid M
inst✝¹ : Module R M'
inst✝ : Module R M
v : α → M
v' : α' → M'
s : Set α
⊢ span R (v '' s) ≤ map (Finsupp.total α M R v) (supported R R s)
Theorem: MeasureTheory.measure_union₀
File: Mathlib/MeasureTheory/Measure/NullMeasurable.lean

tactic: rw [← measure_union_add_inter₀ s ht, hd, add_zero]
state_before: ι : Type ?u.19593
α : Type u_1
β : Type ?u.19599
γ : Type ?u.19602
m0 : MeasurableSpace α
μ : Measure α
s t : Set α
ht : NullMeasurableSet t
hd : AEDisjoint μ s t
⊢ ↑↑μ (s ∪ t) = ↑↑μ s + ↑↑μ t
Theorem: MeasureTheory.Measure.quasiMeasurePreserving_fst
File: Mathlib/MeasureTheory/Constructions/Prod/Basic.lean

tactic: refine' ⟨measurable_fst, AbsolutelyContinuous.mk fun s hs h2s => _⟩
state_before: α : Type u_2
α' : Type ?u.4451554
β : Type u_1
β' : Type ?u.4451560
γ : Type ?u.4451563
E : Type ?u.4451566
inst✝⁶ : MeasurableSpace α
inst✝⁵ : MeasurableSpace α'
inst✝⁴ : MeasurableSpace β
inst✝³ : MeasurableSpace β'
inst✝² : MeasurableSpace γ
μ μ' : Measure α
ν ν' : Measure β
τ : Measure γ
inst✝¹ : NormedAddCommGroup E
inst✝ : SigmaFinite ν
⊢ QuasiMeasurePreserving Prod.fst

tactic: rw [map_apply measurable_fst hs, ← prod_univ, prod_prod, h2s, MulZeroClass.zero_mul]
state_before: α : Type u_2
α' : Type ?u.4451554
β : Type u_1
β' : Type ?u.4451560
γ : Type ?u.4451563
E : Type ?u.4451566
inst✝⁶ : MeasurableSpace α
inst✝⁵ : MeasurableSpace α'
inst✝⁴ : MeasurableSpace β
inst✝³ : MeasurableSpace β'
inst✝² : MeasurableSpace γ
μ μ' : Measure α
ν ν' : Measure β
τ : Measure γ
inst✝¹ : NormedAddCommGroup E
inst✝ : SigmaFinite ν
s : Set α
hs : MeasurableSet s
h2s : ↑↑μ s = 0
⊢ ↑↑(map Prod.fst (Measure.prod μ ν)) s = 0
Theorem: Setoid.eqvGen_of_setoid
File: Mathlib/Data/Setoid/Basic.lean

tactic: rw [eqvGen_eq]
state_before: α : Type u_1
β : Type ?u.10362
r : Setoid α
⊢ EqvGen.Setoid Setoid.r ≤ r

tactic: exact sInf_le fun _ _ => id
state_before: α : Type u_1
β : Type ?u.10362
r : Setoid α
⊢ sInf {s | ∀ ⦃x y : α⦄, Setoid.r x y → Rel s x y} ≤ r
Theorem: UFModel.Agrees.mk'
File: Mathlib/Data/UnionFind.lean

tactic: cases e
state_before: α : Type u_1
β : Sort u_2
arr : Array α
f : α → β
n : ℕ
g : Fin n → β
e : n = Array.size arr
H :
  ∀ (i : ℕ) (h₁ : i < Array.size arr) (h₂ : i < n),
    f (Array.get arr { val := i, isLt := h₁ }) = g { val := i, isLt := h₂ }
⊢ Agrees arr f g

tactic: have : (fun i ↦ f (arr.get i)) = g := by funext ⟨i, h⟩; apply H
state_before: case refl
α : Type u_1
β : Sort u_2
arr : Array α
f : α → β
g : Fin (Array.size arr) → β
H : ∀ (i : ℕ) (h₁ h₂ : i < Array.size arr), f (Array.get arr { val := i, isLt := h₁ }) = g { val := i, isLt := h₂ }
⊢ Agrees arr f g

tactic: cases this
state_before: case refl
α : Type u_1
β : Sort u_2
arr : Array α
f : α → β
g : Fin (Array.size arr) → β
H : ∀ (i : ℕ) (h₁ h₂ : i < Array.size arr), f (Array.get arr { val := i, isLt := h₁ }) = g { val := i, isLt := h₂ }
this : (fun i => f (Array.get arr i)) = g
⊢ Agrees arr f g

tactic: constructor
state_before: case refl.refl
α : Type u_1
β : Sort u_2
arr : Array α
f : α → β
H :
  ∀ (i : ℕ) (h₁ h₂ : i < Array.size arr),
    f (Array.get arr { val := i, isLt := h₁ }) = (fun i => f (Array.get arr i)) { val := i, isLt := h₂ }
⊢ Agrees arr f fun i => f (Array.get arr i)

tactic: funext ⟨i, h⟩
state_before: α : Type u_1
β : Sort u_2
arr : Array α
f : α → β
g : Fin (Array.size arr) → β
H : ∀ (i : ℕ) (h₁ h₂ : i < Array.size arr), f (Array.get arr { val := i, isLt := h₁ }) = g { val := i, isLt := h₂ }
⊢ (fun i => f (Array.get arr i)) = g

tactic: apply H
state_before: case h
α : Type u_1
β : Sort u_2
arr : Array α
f : α → β
g : Fin (Array.size arr) → β
H : ∀ (i : ℕ) (h₁ h₂ : i < Array.size arr), f (Array.get arr { val := i, isLt := h₁ }) = g { val := i, isLt := h₂ }
i : ℕ
h : i < Array.size arr
⊢ f (Array.get arr { val := i, isLt := h }) = g { val := i, isLt := h }
Theorem: PrimeSpectrum.basicOpen_one
File: Mathlib/AlgebraicGeometry/PrimeSpectrum/Basic.lean

tactic: simp
state_before: R : Type u
S : Type v
inst✝¹ : CommRing R
inst✝ : CommRing S
⊢ ↑(basicOpen 1) = ↑⊤
Theorem: Ordnode.Valid'.balanceR
File: Mathlib/Data/Ordmap/Ordset.lean

tactic: rw [Valid'.dual_iff, dual_balanceR]
state_before: α : Type u_1
inst✝ : Preorder α
l : Ordnode α
x : α
r : Ordnode α
o₁ : WithBot α
o₂ : WithTop α
hl : Valid' o₁ l ↑x
hr : Valid' (↑x) r o₂
H : (∃ l', Raised (size l) l' ∧ BalancedSz l' (size r)) ∨ ∃ r', Raised r' (size r) ∧ BalancedSz (size l) r'
⊢ Valid' o₁ (Ordnode.balanceR l x r) o₂

tactic: exact hr.dual.balanceL hl.dual (balance_sz_dual H)
state_before: α : Type u_1
inst✝ : Preorder α
l : Ordnode α
x : α
r : Ordnode α
o₁ : WithBot α
o₂ : WithTop α
hl : Valid' o₁ l ↑x
hr : Valid' (↑x) r o₂
H : (∃ l', Raised (size l) l' ∧ BalancedSz l' (size r)) ∨ ∃ r', Raised r' (size r) ∧ BalancedSz (size l) r'
⊢ Valid' o₂ (Ordnode.balanceL (Ordnode.dual r) x (Ordnode.dual l)) o₁
Theorem: MeasureTheory.AEStronglyMeasurable.nullMeasurableSet_le
File: Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean

tactic: apply
  (hf.stronglyMeasurable_mk.measurableSet_le hg.stronglyMeasurable_mk).nullMeasurableSet.congr
state_before: α : Type u_2
β : Type u_1
γ : Type ?u.345549
ι : Type ?u.345552
inst✝⁵ : Countable ι
m : MeasurableSpace α
μ : Measure α
inst✝⁴ : TopologicalSpace β
inst✝³ : TopologicalSpace γ
f✝ g✝ : α → β
inst✝² : Preorder β
inst✝¹ : OrderClosedTopology β
inst✝ : PseudoMetrizableSpace β
f g : α → β
hf : AEStronglyMeasurable f μ
hg : AEStronglyMeasurable g μ
⊢ NullMeasurableSet {a | f a ≤ g a}

tactic: filter_upwards [hf.ae_eq_mk, hg.ae_eq_mk] with x hfx hgx
state_before: α : Type u_2
β : Type u_1
γ : Type ?u.345549
ι : Type ?u.345552
inst✝⁵ : Countable ι
m : MeasurableSpace α
μ : Measure α
inst✝⁴ : TopologicalSpace β
inst✝³ : TopologicalSpace γ
f✝ g✝ : α → β
inst✝² : Preorder β
inst✝¹ : OrderClosedTopology β
inst✝ : PseudoMetrizableSpace β
f g : α → β
hf : AEStronglyMeasurable f μ
hg : AEStronglyMeasurable g μ
⊢ {a | AEStronglyMeasurable.mk f hf a ≤ AEStronglyMeasurable.mk g hg a} =ᶠ[ae μ] {a | f a ≤ g a}

tactic: change (hf.mk f x ≤ hg.mk g x) = (f x ≤ g x)
state_before: case h
α : Type u_2
β : Type u_1
γ : Type ?u.345549
ι : Type ?u.345552
inst✝⁵ : Countable ι
m : MeasurableSpace α
μ : Measure α
inst✝⁴ : TopologicalSpace β
inst✝³ : TopologicalSpace γ
f✝ g✝ : α → β
inst✝² : Preorder β
inst✝¹ : OrderClosedTopology β
inst✝ : PseudoMetrizableSpace β
f g : α → β
hf : AEStronglyMeasurable f μ
hg : AEStronglyMeasurable g μ
x : α
hfx : f x = AEStronglyMeasurable.mk f hf x
hgx : g x = AEStronglyMeasurable.mk g hg x
⊢ setOf (fun a => AEStronglyMeasurable.mk f hf a ≤ AEStronglyMeasurable.mk g hg a) x = setOf (fun a => f a ≤ g a) x

tactic: simp only [hfx, hgx]
state_before: case h
α : Type u_2
β : Type u_1
γ : Type ?u.345549
ι : Type ?u.345552
inst✝⁵ : Countable ι
m : MeasurableSpace α
μ : Measure α
inst✝⁴ : TopologicalSpace β
inst✝³ : TopologicalSpace γ
f✝ g✝ : α → β
inst✝² : Preorder β
inst✝¹ : OrderClosedTopology β
inst✝ : PseudoMetrizableSpace β
f g : α → β
hf : AEStronglyMeasurable f μ
hg : AEStronglyMeasurable g μ
x : α
hfx : f x = AEStronglyMeasurable.mk f hf x
hgx : g x = AEStronglyMeasurable.mk g hg x
⊢ (AEStronglyMeasurable.mk f hf x ≤ AEStronglyMeasurable.mk g hg x) = (f x ≤ g x)
Theorem: Ideal.quotientMap_injective'
File: Mathlib/RingTheory/Ideal/QuotientOperations.lean

tactic: refine' (injective_iff_map_eq_zero (quotientMap I f H)).2 fun a ha => _
state_before: R : Type u
S : Type v
F : Type w
inst✝⁸ : CommRing R
inst✝⁷ : CommRing S
R₁ : Type ?u.1390678
R₂ : Type ?u.1390681
A : Type ?u.1390684
B : Type ?u.1390687
inst✝⁶ : CommSemiring R₁
inst✝⁵ : CommSemiring R₂
inst✝⁴ : CommRing A
inst✝³ : CommRing B
inst✝² : Algebra R₁ A
inst✝¹ : Algebra R₂ A
inst✝ : Algebra R₁ B
J : Ideal R
I : Ideal S
f : R →+* S
H : J ≤ comap f I
h : comap f I ≤ J
⊢ Function.Injective ↑(quotientMap I f H)

tactic: obtain ⟨r, rfl⟩ := Quotient.mk_surjective a
state_before: R : Type u
S : Type v
F : Type w
inst✝⁸ : CommRing R
inst✝⁷ : CommRing S
R₁ : Type ?u.1390678
R₂ : Type ?u.1390681
A : Type ?u.1390684
B : Type ?u.1390687
inst✝⁶ : CommSemiring R₁
inst✝⁵ : CommSemiring R₂
inst✝⁴ : CommRing A
inst✝³ : CommRing B
inst✝² : Algebra R₁ A
inst✝¹ : Algebra R₂ A
inst✝ : Algebra R₁ B
J : Ideal R
I : Ideal S
f : R →+* S
H : J ≤ comap f I
h : comap f I ≤ J
a : R ⧸ J
ha : ↑(quotientMap I f H) a = 0
⊢ a = 0

tactic: rw [quotientMap_mk, Quotient.eq_zero_iff_mem] at ha
state_before: case intro
R : Type u
S : Type v
F : Type w
inst✝⁸ : CommRing R
inst✝⁷ : CommRing S
R₁ : Type ?u.1390678
R₂ : Type ?u.1390681
A : Type ?u.1390684
B : Type ?u.1390687
inst✝⁶ : CommSemiring R₁
inst✝⁵ : CommSemiring R₂
inst✝⁴ : CommRing A
inst✝³ : CommRing B
inst✝² : Algebra R₁ A
inst✝¹ : Algebra R₂ A
inst✝ : Algebra R₁ B
J : Ideal R
I : Ideal S
f : R →+* S
H : J ≤ comap f I
h : comap f I ≤ J
r : R
ha : ↑(quotientMap I f H) (↑(Quotient.mk J) r) = 0
⊢ ↑(Quotient.mk J) r = 0

tactic: exact Quotient.eq_zero_iff_mem.mpr (h ha)
state_before: case intro
R : Type u
S : Type v
F : Type w
inst✝⁸ : CommRing R
inst✝⁷ : CommRing S
R₁ : Type ?u.1390678
R₂ : Type ?u.1390681
A : Type ?u.1390684
B : Type ?u.1390687
inst✝⁶ : CommSemiring R₁
inst✝⁵ : CommSemiring R₂
inst✝⁴ : CommRing A
inst✝³ : CommRing B
inst✝² : Algebra R₁ A
inst✝¹ : Algebra R₂ A
inst✝ : Algebra R₁ B
J : Ideal R
I : Ideal S
f : R →+* S
H : J ≤ comap f I
h : comap f I ≤ J
r : R
ha : ↑f r ∈ I
⊢ ↑(Quotient.mk J) r = 0
Theorem: intervalIntegral.integral_comp_sub_right
File: Mathlib/MeasureTheory/Integral/IntervalIntegral.lean

tactic: simpa only [sub_eq_add_neg] using integral_comp_add_right f (-d)
state_before: ι : Type ?u.14957297
𝕜 : Type ?u.14957300
E : Type u_1
F : Type ?u.14957306
A : Type ?u.14957309
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
a b c d✝ : ℝ
f : ℝ → E
d : ℝ
⊢ (∫ (x : ℝ) in a..b, f (x - d)) = ∫ (x : ℝ) in a - d..b - d, f x
Theorem: Set.Icc.one_sub_mem
File: Mathlib/Data/Set/Intervals/Instances.lean

tactic: rw [mem_Icc] at *
state_before: α : Type ?u.24560
inst✝¹ : OrderedSemiring α
β : Type u_1
inst✝ : OrderedRing β
t : β
ht : t ∈ Icc 0 1
⊢ 1 - t ∈ Icc 0 1

tactic: exact ⟨sub_nonneg.2 ht.2, (sub_le_self_iff _).2 ht.1⟩
state_before: α : Type ?u.24560
inst✝¹ : OrderedSemiring α
β : Type u_1
inst✝ : OrderedRing β
t : β
ht : 0 ≤ t ∧ t ≤ 1
⊢ 0 ≤ 1 - t ∧ 1 - t ≤ 1
Theorem: Nat.add_mod
File: Std/Data/Nat/Lemmas.lean

tactic: rw [add_mod_mod, mod_add_mod]
state_before: a b n : Nat
⊢ (a + b) % n = (a % n + b % n) % n
Theorem: Multiset.prod_le_prod_of_rel_le
File: Mathlib/Algebra/BigOperators/Multiset/Basic.lean

tactic: induction' h with _ _ _ _ rh _ rt
state_before: ι : Type ?u.127230
α : Type u_1
β : Type ?u.127236
γ : Type ?u.127239
inst✝ : OrderedCommMonoid α
s t : Multiset α
a : α
h : Rel (fun x x_1 => x ≤ x_1) s t
⊢ prod s ≤ prod t

tactic: rfl
state_before: case zero
ι : Type ?u.127230
α : Type u_1
β : Type ?u.127236
γ : Type ?u.127239
inst✝ : OrderedCommMonoid α
s t : Multiset α
a : α
⊢ prod 0 ≤ prod 0

tactic: rw [prod_cons, prod_cons]
state_before: case cons
ι : Type ?u.127230
α : Type u_1
β : Type ?u.127236
γ : Type ?u.127239
inst✝ : OrderedCommMonoid α
s t : Multiset α
a a✝¹ b✝ : α
as✝ bs✝ : Multiset α
rh : a✝¹ ≤ b✝
a✝ : Rel (fun x x_1 => x ≤ x_1) as✝ bs✝
rt : prod as✝ ≤ prod bs✝
⊢ prod (a✝¹ ::ₘ as✝) ≤ prod (b✝ ::ₘ bs✝)

tactic: exact mul_le_mul' rh rt
state_before: case cons
ι : Type ?u.127230
α : Type u_1
β : Type ?u.127236
γ : Type ?u.127239
inst✝ : OrderedCommMonoid α
s t : Multiset α
a a✝¹ b✝ : α
as✝ bs✝ : Multiset α
rh : a✝¹ ≤ b✝
a✝ : Rel (fun x x_1 => x ≤ x_1) as✝ bs✝
rt : prod as✝ ≤ prod bs✝
⊢ a✝¹ * prod as✝ ≤ b✝ * prod bs✝
Theorem: Ordinal.sup_succ_le_lsub
File: Mathlib/SetTheory/Ordinal/Arithmetic.lean

tactic: refine' ⟨fun h => _, _⟩
state_before: α : Type ?u.322882
β : Type ?u.322885
γ : Type ?u.322888
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
ι : Type u
f : ι → Ordinal
⊢ succ (sup f) ≤ lsub f ↔ ∃ i, f i = sup f

tactic: rintro ⟨_, hf⟩
state_before: case refine'_2
α : Type ?u.322882
β : Type ?u.322885
γ : Type ?u.322888
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
ι : Type u
f : ι → Ordinal
⊢ (∃ i, f i = sup f) → succ (sup f) ≤ lsub f

tactic: rw [succ_le_iff, ← hf]
state_before: case refine'_2.intro
α : Type ?u.322882
β : Type ?u.322885
γ : Type ?u.322888
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
ι : Type u
f : ι → Ordinal
w✝ : ι
hf : f w✝ = sup f
⊢ succ (sup f) ≤ lsub f

tactic: exact lt_lsub _ _
state_before: case refine'_2.intro
α : Type ?u.322882
β : Type ?u.322885
γ : Type ?u.322888
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
ι : Type u
f : ι → Ordinal
w✝ : ι
hf : f w✝ = sup f
⊢ f w✝ < lsub f

tactic: by_contra' hf
state_before: case refine'_1
α : Type ?u.322882
β : Type ?u.322885
γ : Type ?u.322888
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
ι : Type u
f : ι → Ordinal
h : succ (sup f) ≤ lsub f
⊢ ∃ i, f i = sup f

tactic: exact (succ_le_iff.1 h).ne ((sup_le_lsub f).antisymm (lsub_le (ne_sup_iff_lt_sup.1 hf)))
state_before: case refine'_1
α : Type ?u.322882
β : Type ?u.322885
γ : Type ?u.322888
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
ι : Type u
f : ι → Ordinal
h : succ (sup f) ≤ lsub f
hf : ∀ (i : ι), f i ≠ sup f
⊢ False
Theorem: Metric.closure_eq_iInter_thickening
File: Mathlib/Topology/MetricSpace/HausdorffDistance.lean

tactic: rw [← cthickening_zero]
state_before: ι : Sort ?u.145496
α : Type u
β : Type v
inst✝ : PseudoEMetricSpace α
δ ε : ℝ
s t : Set α
x : α
E : Set α
⊢ closure E = ⋂ (δ : ℝ) (_ : 0 < δ), thickening δ E

tactic: exact cthickening_eq_iInter_thickening rfl.ge E
state_before: ι : Sort ?u.145496
α : Type u
β : Type v
inst✝ : PseudoEMetricSpace α
δ ε : ℝ
s t : Set α
x : α
E : Set α
⊢ cthickening 0 E = ⋂ (δ : ℝ) (_ : 0 < δ), thickening δ E
Theorem: Fin.eta
File: Mathlib/Data/Fin/Basic.lean

tactic: cases a
state_before: n m : ℕ
a : Fin n
h : ↑a < n
⊢ { val := ↑a, isLt := h } = a

tactic: rfl
state_before: case mk
n m val✝ : ℕ
isLt✝ : val✝ < n
h : ↑{ val := val✝, isLt := isLt✝ } < n
⊢ { val := ↑{ val := val✝, isLt := isLt✝ }, isLt := h } = { val := val✝, isLt := isLt✝ }
Theorem: LowerSet.mem_iSup₂_iff
File: Mathlib/Order/UpperLower/Basic.lean

tactic: simp_rw [mem_iSup_iff]
state_before: α : Type u_1
β : Type ?u.77303
γ : Type ?u.77306
ι : Sort u_2
κ : ι → Sort u_3
inst✝ : LE α
S : Set (LowerSet α)
s t : LowerSet α
a : α
f : (i : ι) → κ i → LowerSet α
⊢ (a ∈ ⨆ (i : ι) (j : κ i), f i j) ↔ ∃ i j, a ∈ f i j
Theorem: SemiconjBy.zpow_right₀
File: Mathlib/Algebra/GroupWithZero/Power.lean

tactic: simp [h.pow_right n]
state_before: G₀ : Type u_1
inst✝ : GroupWithZero G₀
a x y : G₀
h : SemiconjBy a x y
n : ℕ
⊢ SemiconjBy a (x ^ ↑n) (y ^ ↑n)

tactic: simp only [zpow_negSucc, (h.pow_right (n + 1)).inv_right₀]
state_before: G₀ : Type u_1
inst✝ : GroupWithZero G₀
a x y : G₀
h : SemiconjBy a x y
n : ℕ
⊢ SemiconjBy a (x ^ -[n+1]) (y ^ -[n+1])
Theorem: Basis.op_norm_le
File: Mathlib/Analysis/NormedSpace/FiniteDimension.lean

tactic: simpa using NNReal.coe_le_coe.mpr (v.op_nnnorm_le ⟨M, hM⟩ hu)
state_before: 𝕜 : Type u
inst✝¹¹ : NontriviallyNormedField 𝕜
E : Type v
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace 𝕜 E
F : Type w
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace 𝕜 F
F' : Type x
inst✝⁶ : AddCommGroup F'
inst✝⁵ : Module 𝕜 F'
inst✝⁴ : TopologicalSpace F'
inst✝³ : TopologicalAddGroup F'
inst✝² : ContinuousSMul 𝕜 F'
inst✝¹ : CompleteSpace 𝕜
ι : Type u_1
inst✝ : Fintype ι
v : Basis ι 𝕜 E
u : E →L[𝕜] F
M : ℝ
hM : 0 ≤ M
hu : ∀ (i : ι), ‖↑u (↑v i)‖ ≤ M
⊢ ‖u‖ ≤ Fintype.card ι • ‖↑(equivFunL v)‖ * M
Theorem: InnerProductGeometry.sin_eq_one_iff_angle_eq_pi_div_two
File: Mathlib/Geometry/Euclidean/Angle/Unoriented/Basic.lean

tactic: refine' ⟨fun h => _, fun h => by rw [h, sin_pi_div_two]⟩
state_before: V : Type u_1
inst✝¹ : NormedAddCommGroup V
inst✝ : InnerProductSpace ℝ V
x y : V
⊢ sin (angle x y) = 1 ↔ angle x y = π / 2

tactic: rw [← cos_eq_zero_iff_angle_eq_pi_div_two, ← abs_eq_zero, abs_cos_eq_sqrt_one_sub_sin_sq, h]
state_before: V : Type u_1
inst✝¹ : NormedAddCommGroup V
inst✝ : InnerProductSpace ℝ V
x y : V
h : sin (angle x y) = 1
⊢ angle x y = π / 2

tactic: simp
state_before: V : Type u_1
inst✝¹ : NormedAddCommGroup V
inst✝ : InnerProductSpace ℝ V
x y : V
h : sin (angle x y) = 1
⊢ sqrt (1 - 1 ^ 2) = 0

tactic: rw [h, sin_pi_div_two]
state_before: V : Type u_1
inst✝¹ : NormedAddCommGroup V
inst✝ : InnerProductSpace ℝ V
x y : V
h : angle x y = π / 2
⊢ sin (angle x y) = 1
Theorem: Acc.TransGen
File: Mathlib/Logic/Relation.lean

tactic: induction' h with x _ H
state_before: α : Type u_1
β : Type ?u.22046
γ : Type ?u.22049
δ : Type ?u.22052
r : α → α → Prop
a b c d : α
h : Acc r a
⊢ Acc (Relation.TransGen r) a

tactic: refine' Acc.intro x fun y hy ↦ _
state_before: case intro
α : Type u_1
β : Type ?u.22046
γ : Type ?u.22049
δ : Type ?u.22052
r : α → α → Prop
a b c d x : α
h✝ : ∀ (y : α), r y x → Acc r y
H : ∀ (y : α), r y x → Acc (Relation.TransGen r) y
⊢ Acc (Relation.TransGen r) x

tactic: cases' hy with _ hyx z _ hyz hzx
state_before: case intro
α : Type u_1
β : Type ?u.22046
γ : Type ?u.22049
δ : Type ?u.22052
r : α → α → Prop
a b c d x : α
h✝ : ∀ (y : α), r y x → Acc r y
H : ∀ (y : α), r y x → Acc (Relation.TransGen r) y
y : α
hy : Relation.TransGen r y x
⊢ Acc (Relation.TransGen r) y

tactic: exacts [H y hyx, (H z hzx).inv hyz]
state_before: case intro.single
α : Type u_1
β : Type ?u.22046
γ : Type ?u.22049
δ : Type ?u.22052
r : α → α → Prop
a b c d x : α
h✝ : ∀ (y : α), r y x → Acc r y
H : ∀ (y : α), r y x → Acc (Relation.TransGen r) y
y : α
hyx : r y x
⊢ Acc (Relation.TransGen r) y

case intro.tail
α : Type u_1
β : Type ?u.22046
γ : Type ?u.22049
δ : Type ?u.22052
r : α → α → Prop
a b c d x : α
h✝ : ∀ (y : α), r y x → Acc r y
H : ∀ (y : α), r y x → Acc (Relation.TransGen r) y
y z : α
hyz : Relation.TransGen r y z
hzx : r z x
⊢ Acc (Relation.TransGen r) y
Theorem: Set.ordConnected_singleton
File: Mathlib/Data/Set/Intervals/OrdConnected.lean

tactic: rw [← Icc_self]
state_before: α✝ : Type ?u.6443
β : Type ?u.6446
inst✝² : Preorder α✝
inst✝¹ : Preorder β
s t : Set α✝
α : Type u_1
inst✝ : PartialOrder α
a : α
⊢ OrdConnected {a}

tactic: exact ordConnected_Icc
state_before: α✝ : Type ?u.6443
β : Type ?u.6446
inst✝² : Preorder α✝
inst✝¹ : Preorder β
s t : Set α✝
α : Type u_1
inst✝ : PartialOrder α
a : α
⊢ OrdConnected (Icc a a)
Theorem: MvPolynomial.eval₂_monomial
File: Mathlib/Data/MvPolynomial/Basic.lean

tactic: simp [f.map_zero]
state_before: R : Type u
S₁ : Type v
S₂ : Type w
S₃ : Type x
σ : Type u_1
a a' a₁ a₂ : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝¹ : CommSemiring R
inst✝ : CommSemiring S₁
p q : MvPolynomial σ R
f : R →+* S₁
g : σ → S₁
⊢ (↑f 0 * Finsupp.prod s fun n e => g n ^ e) = 0
Theorem: toIocMod_eq_iff
File: Mathlib/Algebra/Order/ToIntervalMod.lean

tactic: refine'
  ⟨fun h =>
    ⟨h ▸ toIocMod_mem_Ioc hp a b, toIocDiv hp a b, h ▸ (toIocMod_add_toIocDiv_zsmul hp _ _).symm⟩,
    _⟩
state_before: α : Type u_1
inst✝ : LinearOrderedAddCommGroup α
hα : Archimedean α
p : α
hp : 0 < p
a b c : α
n : ℤ
⊢ toIocMod hp a b = c ↔ c ∈ Set.Ioc a (a + p) ∧ ∃ z, b = c + z • p

tactic: simp_rw [← @sub_eq_iff_eq_add]
state_before: α : Type u_1
inst✝ : LinearOrderedAddCommGroup α
hα : Archimedean α
p : α
hp : 0 < p
a b c : α
n : ℤ
⊢ (c ∈ Set.Ioc a (a + p) ∧ ∃ z, b = c + z • p) → toIocMod hp a b = c

tactic: rintro ⟨hc, n, rfl⟩
state_before: α : Type u_1
inst✝ : LinearOrderedAddCommGroup α
hα : Archimedean α
p : α
hp : 0 < p
a b c : α
n : ℤ
⊢ (c ∈ Set.Ioc a (a + p) ∧ ∃ z, b - z • p = c) → toIocMod hp a b = c

tactic: rw [← toIocDiv_eq_of_sub_zsmul_mem_Ioc hp hc, toIocMod]
state_before: case intro.intro
α : Type u_1
inst✝ : LinearOrderedAddCommGroup α
hα : Archimedean α
p : α
hp : 0 < p
a b : α
n✝ n : ℤ
hc : b - n • p ∈ Set.Ioc a (a + p)
⊢ toIocMod hp a b = b - n • p
Theorem: StieltjesFunction.measure_univ
File: Mathlib/MeasureTheory/Measure/Stieltjes.lean

tactic: refine' tendsto_nhds_unique (tendsto_measure_Iic_atTop _) _
state_before: f : StieltjesFunction
l u : ℝ
hfl : Tendsto (↑f) atBot (𝓝 l)
hfu : Tendsto (↑f) atTop (𝓝 u)
⊢ ↑↑(StieltjesFunction.measure f) univ = ofReal (u - l)

tactic: simp_rw [measure_Iic f hfl]
state_before: f : StieltjesFunction
l u : ℝ
hfl : Tendsto (↑f) atBot (𝓝 l)
hfu : Tendsto (↑f) atTop (𝓝 u)
⊢ Tendsto (fun x => ↑↑(StieltjesFunction.measure f) (Iic x)) atTop (𝓝 (ofReal (u - l)))

tactic: exact ENNReal.tendsto_ofReal (Tendsto.sub_const hfu _)
state_before: f : StieltjesFunction
l u : ℝ
hfl : Tendsto (↑f) atBot (𝓝 l)
hfu : Tendsto (↑f) atTop (𝓝 u)
⊢ Tendsto (fun x => ofReal (↑f x - l)) atTop (𝓝 (ofReal (u - l)))
Theorem: Finset.sdiff_insert_insert_of_mem_of_not_mem
File: Mathlib/Data/Finset/Basic.lean

tactic: rw [sdiff_insert, insert_erase (mem_sdiff.mpr ⟨hxs, hxt⟩)]
state_before: α : Type u_1
β : Type ?u.269252
γ : Type ?u.269255
inst✝ : DecidableEq α
s✝ t✝ u v : Finset α
a b : α
s t : Finset α
x : α
hxs : x ∈ s
hxt : ¬x ∈ t
⊢ insert x (s \ insert x t) = s \ t
Theorem: Real.abs_log_mul_self_rpow_lt
File: Mathlib/Analysis/SpecialFunctions/Pow/Real.lean

tactic: rw [lt_div_iff ht]
state_before: x✝ y z x t : ℝ
h1 : 0 < x
h2 : x ≤ 1
ht : 0 < t
⊢ abs (log x * x ^ t) < 1 / t

tactic: have := abs_log_mul_self_lt (x ^ t) (rpow_pos_of_pos h1 t) (rpow_le_one h1.le h2 ht.le)
state_before: x✝ y z x t : ℝ
h1 : 0 < x
h2 : x ≤ 1
ht : 0 < t
⊢ abs (log x * x ^ t) * t < 1

tactic: rwa [log_rpow h1, mul_assoc, abs_mul, abs_of_pos ht, mul_comm] at this
state_before: x✝ y z x t : ℝ
h1 : 0 < x
h2 : x ≤ 1
ht : 0 < t
this : abs (log (x ^ t) * x ^ t) < 1
⊢ abs (log x * x ^ t) * t < 1