tasksource/leandojo huggingface dataset:
Theorem: Urysohns.CU.approx_le_succ
File: Mathlib/Topology/UrysohnsLemma.lean

tactic: induction' n with n ihn generalizing c
state_before: X : Type u_1
inst✝¹ : TopologicalSpace X
inst✝ : NormalSpace X
c : CU X
n : ℕ
x : X
⊢ approx n c x ≤ approx (n + 1) c x

tactic: simp only [approx, right_U, right_le_midpoint]
state_before: case zero
X : Type u_1
inst✝¹ : TopologicalSpace X
inst✝ : NormalSpace X
c✝ : CU X
x : X
c : CU X
⊢ approx Nat.zero c x ≤ approx (Nat.zero + 1) c x

tactic: exact (approx_mem_Icc_right_left c 0 x).2
state_before: case zero
X : Type u_1
inst✝¹ : TopologicalSpace X
inst✝ : NormalSpace X
c✝ : CU X
x : X
c : CU X
⊢ indicator (c.Uᶜ) 1 x ≤ indicator ((left c).Uᶜ) 1 x

tactic: rw [approx, approx]
state_before: case succ
X : Type u_1
inst✝¹ : TopologicalSpace X
inst✝ : NormalSpace X
c✝ : CU X
x : X
n : ℕ
ihn : ∀ (c : CU X), approx n c x ≤ approx (n + 1) c x
c : CU X
⊢ approx (Nat.succ n) c x ≤ approx (Nat.succ n + 1) c x

tactic: exact midpoint_le_midpoint (ihn _) (ihn _)
state_before: case succ
X : Type u_1
inst✝¹ : TopologicalSpace X
inst✝ : NormalSpace X
c✝ : CU X
x : X
n : ℕ
ihn : ∀ (c : CU X), approx n c x ≤ approx (n + 1) c x
c : CU X
⊢ midpoint ℝ (approx n (left c) x) (approx n (right c) x) ≤
    midpoint ℝ (approx (n + 1) (left c) x) (approx (n + 1) (right c) x)
Theorem: Filter.lift'_bot
File: Mathlib/Order/Filter/Lift.lean

tactic: rw [← principal_empty, lift'_principal hh]
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.36509
ι : Sort ?u.36512
f f₁ f₂ : Filter α
h h₁ h₂ : Set α → Set β
hh : Monotone h
⊢ Filter.lift' ⊥ h = 𝓟 (h ∅)
Theorem: ContinuousLinearMap.apply_norm_sq_eq_inner_adjoint_right
File: Mathlib/Analysis/InnerProductSpace/Adjoint.lean

tactic: have h : ⟪x, (A† * A) x⟫ = ⟪A x, A x⟫ := by rw [← adjoint_inner_right]; rfl
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type ?u.658805
G : Type ?u.658808
inst✝⁹ : IsROrC 𝕜
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedAddCommGroup G
inst✝⁵ : InnerProductSpace 𝕜 E
inst✝⁴ : InnerProductSpace 𝕜 F
inst✝³ : InnerProductSpace 𝕜 G
inst✝² : CompleteSpace E
inst✝¹ : CompleteSpace G
inst✝ : CompleteSpace F
A : E →L[𝕜] E
x : E
⊢ ‖↑A x‖ ^ 2 = ↑re (inner x (↑(↑adjoint A * A) x))

tactic: rw [h, ← inner_self_eq_norm_sq (𝕜 := 𝕜) _]
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type ?u.658805
G : Type ?u.658808
inst✝⁹ : IsROrC 𝕜
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedAddCommGroup G
inst✝⁵ : InnerProductSpace 𝕜 E
inst✝⁴ : InnerProductSpace 𝕜 F
inst✝³ : InnerProductSpace 𝕜 G
inst✝² : CompleteSpace E
inst✝¹ : CompleteSpace G
inst✝ : CompleteSpace F
A : E →L[𝕜] E
x : E
h : inner x (↑(↑adjoint A * A) x) = inner (↑A x) (↑A x)
⊢ ‖↑A x‖ ^ 2 = ↑re (inner x (↑(↑adjoint A * A) x))

tactic: rw [← adjoint_inner_right]
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type ?u.658805
G : Type ?u.658808
inst✝⁹ : IsROrC 𝕜
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedAddCommGroup G
inst✝⁵ : InnerProductSpace 𝕜 E
inst✝⁴ : InnerProductSpace 𝕜 F
inst✝³ : InnerProductSpace 𝕜 G
inst✝² : CompleteSpace E
inst✝¹ : CompleteSpace G
inst✝ : CompleteSpace F
A : E →L[𝕜] E
x : E
⊢ inner x (↑(↑adjoint A * A) x) = inner (↑A x) (↑A x)

tactic: rfl
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type ?u.658805
G : Type ?u.658808
inst✝⁹ : IsROrC 𝕜
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedAddCommGroup G
inst✝⁵ : InnerProductSpace 𝕜 E
inst✝⁴ : InnerProductSpace 𝕜 F
inst✝³ : InnerProductSpace 𝕜 G
inst✝² : CompleteSpace E
inst✝¹ : CompleteSpace G
inst✝ : CompleteSpace F
A : E →L[𝕜] E
x : E
⊢ inner x (↑(↑adjoint A * A) x) = inner x (↑(↑adjoint A) (↑A x))
Theorem: sum_add_tsum_subtype_compl
File: Mathlib/Topology/Algebra/InfiniteSum/Basic.lean

tactic: rw [← tsum_subtype_add_tsum_subtype_compl hf s]
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.770476
δ : Type ?u.770479
inst✝⁴ : AddCommGroup α
inst✝³ : UniformSpace α
inst✝² : UniformAddGroup α
f✝ g : β → α
a a₁ a₂ : α
inst✝¹ : CompleteSpace α
inst✝ : T2Space α
f : β → α
hf : Summable f
s : Finset β
⊢ (∑ x in s, f x + ∑' (x : { x // ¬x ∈ s }), f ↑x) = ∑' (x : β), f x

tactic: simp only [Finset.tsum_subtype', add_right_inj]
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.770476
δ : Type ?u.770479
inst✝⁴ : AddCommGroup α
inst✝³ : UniformSpace α
inst✝² : UniformAddGroup α
f✝ g : β → α
a a₁ a₂ : α
inst✝¹ : CompleteSpace α
inst✝ : T2Space α
f : β → α
hf : Summable f
s : Finset β
⊢ (∑ x in s, f x + ∑' (x : { x // ¬x ∈ s }), f ↑x) = (∑' (x : ↑↑s), f ↑x) + ∑' (x : ↑(↑sᶜ)), f ↑x

tactic: rfl
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.770476
δ : Type ?u.770479
inst✝⁴ : AddCommGroup α
inst✝³ : UniformSpace α
inst✝² : UniformAddGroup α
f✝ g : β → α
a a₁ a₂ : α
inst✝¹ : CompleteSpace α
inst✝ : T2Space α
f : β → α
hf : Summable f
s : Finset β
⊢ (∑' (x : { x // ¬x ∈ s }), f ↑x) = ∑' (x : ↑(↑sᶜ)), f ↑x
Theorem: MvPolynomial.constantCoeff_rename
File: Mathlib/Data/MvPolynomial/Rename.lean

tactic: apply φ.induction_on
state_before: σ : Type u_2
τ✝ : Type ?u.978943
α : Type ?u.978946
R : Type u_3
S : Type ?u.978952
inst✝¹ : CommSemiring R
inst✝ : CommSemiring S
τ : Type u_1
f : σ → τ
φ : MvPolynomial σ R
⊢ ↑constantCoeff (↑(rename f) φ) = ↑constantCoeff φ

tactic: intro a
state_before: case h_C
σ : Type u_2
τ✝ : Type ?u.978943
α : Type ?u.978946
R : Type u_3
S : Type ?u.978952
inst✝¹ : CommSemiring R
inst✝ : CommSemiring S
τ : Type u_1
f : σ → τ
φ : MvPolynomial σ R
⊢ ∀ (a : R), ↑constantCoeff (↑(rename f) (↑C a)) = ↑constantCoeff (↑C a)

tactic: simp only [constantCoeff_C, rename_C]
state_before: case h_C
σ : Type u_2
τ✝ : Type ?u.978943
α : Type ?u.978946
R : Type u_3
S : Type ?u.978952
inst✝¹ : CommSemiring R
inst✝ : CommSemiring S
τ : Type u_1
f : σ → τ
φ : MvPolynomial σ R
a : R
⊢ ↑constantCoeff (↑(rename f) (↑C a)) = ↑constantCoeff (↑C a)

tactic: intro p q hp hq
state_before: case h_add
σ : Type u_2
τ✝ : Type ?u.978943
α : Type ?u.978946
R : Type u_3
S : Type ?u.978952
inst✝¹ : CommSemiring R
inst✝ : CommSemiring S
τ : Type u_1
f : σ → τ
φ : MvPolynomial σ R
⊢ ∀ (p q : MvPolynomial σ R),
    ↑constantCoeff (↑(rename f) p) = ↑constantCoeff p →
      ↑constantCoeff (↑(rename f) q) = ↑constantCoeff q → ↑constantCoeff (↑(rename f) (p + q)) = ↑constantCoeff (p + q)

tactic: simp only [hp, hq, RingHom.map_add, AlgHom.map_add]
state_before: case h_add
σ : Type u_2
τ✝ : Type ?u.978943
α : Type ?u.978946
R : Type u_3
S : Type ?u.978952
inst✝¹ : CommSemiring R
inst✝ : CommSemiring S
τ : Type u_1
f : σ → τ
φ p q : MvPolynomial σ R
hp : ↑constantCoeff (↑(rename f) p) = ↑constantCoeff p
hq : ↑constantCoeff (↑(rename f) q) = ↑constantCoeff q
⊢ ↑constantCoeff (↑(rename f) (p + q)) = ↑constantCoeff (p + q)

tactic: intro p n hp
state_before: case h_X
σ : Type u_2
τ✝ : Type ?u.978943
α : Type ?u.978946
R : Type u_3
S : Type ?u.978952
inst✝¹ : CommSemiring R
inst✝ : CommSemiring S
τ : Type u_1
f : σ → τ
φ : MvPolynomial σ R
⊢ ∀ (p : MvPolynomial σ R) (n : σ),
    ↑constantCoeff (↑(rename f) p) = ↑constantCoeff p →
      ↑constantCoeff (↑(rename f) (p * X n)) = ↑constantCoeff (p * X n)

tactic: simp only [hp, rename_X, constantCoeff_X, RingHom.map_mul, AlgHom.map_mul]
state_before: case h_X
σ : Type u_2
τ✝ : Type ?u.978943
α : Type ?u.978946
R : Type u_3
S : Type ?u.978952
inst✝¹ : CommSemiring R
inst✝ : CommSemiring S
τ : Type u_1
f : σ → τ
φ p : MvPolynomial σ R
n : σ
hp : ↑constantCoeff (↑(rename f) p) = ↑constantCoeff p
⊢ ↑constantCoeff (↑(rename f) (p * X n)) = ↑constantCoeff (p * X n)
Theorem: Polynomial.finite_setOf_isRoot
File: Mathlib/Data/Polynomial/RingDivision.lean

tactic: simpa only [← Finset.setOf_mem, Multiset.mem_toFinset, mem_roots hp]
  using p.roots.toFinset.finite_toSet
state_before: R : Type u
S : Type v
T : Type w
a b : R
n : ℕ
inst✝¹ : CommRing R
inst✝ : IsDomain R
p✝ q p : R[X]
hp : p ≠ 0
⊢ Set.Finite {x | IsRoot p x}
Theorem: Ideal.sup_pow_eq_top
File: Mathlib/RingTheory/Ideal/Operations.lean

tactic: rw [← Finset.card_range n, ← Finset.prod_const]
state_before: R : Type u
ι : Type ?u.280883
inst✝ : CommSemiring R
I J K L : Ideal R
n : ℕ
h : I ⊔ J = ⊤
⊢ I ⊔ J ^ n = ⊤

tactic: exact sup_prod_eq_top fun _ _ => h
state_before: R : Type u
ι : Type ?u.280883
inst✝ : CommSemiring R
I J K L : Ideal R
n : ℕ
h : I ⊔ J = ⊤
⊢ I ⊔ ∏ _x in Finset.range n, J = ⊤
Theorem: RingHom.FiniteType.of_surjective
File: Mathlib/RingTheory/FiniteType.lean

tactic: rw [← f.comp_id]
state_before: A : Type u_1
B : Type u_2
C : Type ?u.122685
inst✝² : CommRing A
inst✝¹ : CommRing B
inst✝ : CommRing C
f : A →+* B
hf : Surjective ↑f
⊢ FiniteType f

tactic: exact (id A).comp_surjective hf
state_before: A : Type u_1
B : Type u_2
C : Type ?u.122685
inst✝² : CommRing A
inst✝¹ : CommRing B
inst✝ : CommRing C
f : A →+* B
hf : Surjective ↑f
⊢ FiniteType (comp f (RingHom.id A))
Theorem: Int.eq_one_of_mul_eq_one_left
File: Std/Data/Int/DivMod.lean

tactic: rw [Int.mul_comm, H']
state_before: a b : Int
H : 0 ≤ b
H' : a * b = 1
⊢ b * ?m.93792 H H' = 1
Theorem: Finset.filter_union
File: Mathlib/Data/Finset/Basic.lean

tactic: simp only [mem_filter, mem_union, or_and_right]
state_before: α : Type u_1
β : Type ?u.368807
γ : Type ?u.368810
p q : α → Prop
inst✝² : DecidablePred p
inst✝¹ : DecidablePred q
inst✝ : DecidableEq α
s₁ s₂ : Finset α
x✝ : α
⊢ x✝ ∈ filter p (s₁ ∪ s₂) ↔ x✝ ∈ filter p s₁ ∪ filter p s₂
Theorem: Complex.arg_coe_angle_eq_iff_eq_toReal
File: Mathlib/Analysis/SpecialFunctions/Complex/Arg.lean

tactic: rw [← Real.Angle.toReal_inj, arg_coe_angle_toReal_eq_arg]
state_before: z : ℂ
θ : Angle
⊢ ↑(arg z) = θ ↔ arg z = Angle.toReal θ
Theorem: Mathlib.Meta.NormNum.isNat_pow
File: Mathlib/Tactic/NormNum/Basic.lean

tactic: simp
state_before: α : Type u_1
inst✝ : Semiring α
n✝¹ n✝ : ℕ
⊢ ↑n✝¹ ^ ↑n✝ = ↑(Nat.pow n✝¹ n✝)
Theorem: Multiset.map_eq_cons
File: Mathlib/Data/Multiset/Basic.lean

tactic: constructor
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.122604
inst✝ : DecidableEq α
f : α → β
s : Multiset α
t : Multiset β
b : β
⊢ (∃ a, a ∈ s ∧ f a = b ∧ map f (erase s a) = t) ↔ map f s = b ::ₘ t

tactic: rintro ⟨a, ha, rfl, rfl⟩
state_before: case mp
α : Type u_1
β : Type u_2
γ : Type ?u.122604
inst✝ : DecidableEq α
f : α → β
s : Multiset α
t : Multiset β
b : β
⊢ (∃ a, a ∈ s ∧ f a = b ∧ map f (erase s a) = t) → map f s = b ::ₘ t

tactic: rw [← map_cons, Multiset.cons_erase ha]
state_before: case mp.intro.intro.intro
α : Type u_1
β : Type u_2
γ : Type ?u.122604
inst✝ : DecidableEq α
f : α → β
s : Multiset α
a : α
ha : a ∈ s
⊢ map f s = f a ::ₘ map f (erase s a)

tactic: intro h
state_before: case mpr
α : Type u_1
β : Type u_2
γ : Type ?u.122604
inst✝ : DecidableEq α
f : α → β
s : Multiset α
t : Multiset β
b : β
⊢ map f s = b ::ₘ t → ∃ a, a ∈ s ∧ f a = b ∧ map f (erase s a) = t

tactic: have : b ∈ s.map f := by
  rw [h]
  exact mem_cons_self _ _
state_before: case mpr
α : Type u_1
β : Type u_2
γ : Type ?u.122604
inst✝ : DecidableEq α
f : α → β
s : Multiset α
t : Multiset β
b : β
h : map f s = b ::ₘ t
⊢ ∃ a, a ∈ s ∧ f a = b ∧ map f (erase s a) = t

tactic: obtain ⟨a, h1, rfl⟩ := mem_map.mp this
state_before: case mpr
α : Type u_1
β : Type u_2
γ : Type ?u.122604
inst✝ : DecidableEq α
f : α → β
s : Multiset α
t : Multiset β
b : β
h : map f s = b ::ₘ t
this : b ∈ map f s
⊢ ∃ a, a ∈ s ∧ f a = b ∧ map f (erase s a) = t

tactic: obtain ⟨u, rfl⟩ := exists_cons_of_mem h1
state_before: case mpr.intro.intro
α : Type u_1
β : Type u_2
γ : Type ?u.122604
inst✝ : DecidableEq α
f : α → β
s : Multiset α
t : Multiset β
a : α
h1 : a ∈ s
h : map f s = f a ::ₘ t
this : f a ∈ map f s
⊢ ∃ a_1, a_1 ∈ s ∧ f a_1 = f a ∧ map f (erase s a_1) = t

tactic: rw [map_cons, cons_inj_right] at h
state_before: case mpr.intro.intro.intro
α : Type u_1
β : Type u_2
γ : Type ?u.122604
inst✝ : DecidableEq α
f : α → β
t : Multiset β
a : α
u : Multiset α
h1 : a ∈ a ::ₘ u
h : map f (a ::ₘ u) = f a ::ₘ t
this : f a ∈ map f (a ::ₘ u)
⊢ ∃ a_1, a_1 ∈ a ::ₘ u ∧ f a_1 = f a ∧ map f (erase (a ::ₘ u) a_1) = t

tactic: refine' ⟨a, mem_cons_self _ _, rfl, _⟩
state_before: case mpr.intro.intro.intro
α : Type u_1
β : Type u_2
γ : Type ?u.122604
inst✝ : DecidableEq α
f : α → β
t : Multiset β
a : α
u : Multiset α
h1 : a ∈ a ::ₘ u
h : map f u = t
this : f a ∈ map f (a ::ₘ u)
⊢ ∃ a_1, a_1 ∈ a ::ₘ u ∧ f a_1 = f a ∧ map f (erase (a ::ₘ u) a_1) = t

tactic: rw [Multiset.erase_cons_head, h]
state_before: case mpr.intro.intro.intro
α : Type u_1
β : Type u_2
γ : Type ?u.122604
inst✝ : DecidableEq α
f : α → β
t : Multiset β
a : α
u : Multiset α
h1 : a ∈ a ::ₘ u
h : map f u = t
this : f a ∈ map f (a ::ₘ u)
⊢ map f (erase (a ::ₘ u) a) = t

tactic: rw [h]
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.122604
inst✝ : DecidableEq α
f : α → β
s : Multiset α
t : Multiset β
b : β
h : map f s = b ::ₘ t
⊢ b ∈ map f s

tactic: exact mem_cons_self _ _
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.122604
inst✝ : DecidableEq α
f : α → β
s : Multiset α
t : Multiset β
b : β
h : map f s = b ::ₘ t
⊢ b ∈ b ::ₘ t
Theorem: MeasureTheory.snorm_le_nnreal_smul_snorm_of_ae_le_mul
File: Mathlib/MeasureTheory/Function/LpSeminorm.lean

tactic: by_cases h0 : p = 0
state_before: α : Type u_1
E : Type ?u.5059288
F : Type u_2
G : Type u_3
m m0 : MeasurableSpace α
p✝ : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
f : α → F
g : α → G
c : ℝ≥0
h : ∀ᵐ (x : α) ∂μ, ‖f x‖₊ ≤ c * ‖g x‖₊
p : ℝ≥0∞
⊢ snorm f p μ ≤ c • snorm g p μ

tactic: by_cases h_top : p = ∞
state_before: case neg
α : Type u_1
E : Type ?u.5059288
F : Type u_2
G : Type u_3
m m0 : MeasurableSpace α
p✝ : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
f : α → F
g : α → G
c : ℝ≥0
h : ∀ᵐ (x : α) ∂μ, ‖f x‖₊ ≤ c * ‖g x‖₊
p : ℝ≥0∞
h0 : ¬p = 0
⊢ snorm f p μ ≤ c • snorm g p μ

tactic: simp_rw [snorm_eq_snorm' h0 h_top]
state_before: case neg
α : Type u_1
E : Type ?u.5059288
F : Type u_2
G : Type u_3
m m0 : MeasurableSpace α
p✝ : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
f : α → F
g : α → G
c : ℝ≥0
h : ∀ᵐ (x : α) ∂μ, ‖f x‖₊ ≤ c * ‖g x‖₊
p : ℝ≥0∞
h0 : ¬p = 0
h_top : ¬p = ⊤
⊢ snorm f p μ ≤ c • snorm g p μ

tactic: exact snorm'_le_nnreal_smul_snorm'_of_ae_le_mul h (ENNReal.toReal_pos h0 h_top)
state_before: case neg
α : Type u_1
E : Type ?u.5059288
F : Type u_2
G : Type u_3
m m0 : MeasurableSpace α
p✝ : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
f : α → F
g : α → G
c : ℝ≥0
h : ∀ᵐ (x : α) ∂μ, ‖f x‖₊ ≤ c * ‖g x‖₊
p : ℝ≥0∞
h0 : ¬p = 0
h_top : ¬p = ⊤
⊢ snorm' f (ENNReal.toReal p) μ ≤ c • snorm' g (ENNReal.toReal p) μ

tactic: simp [h0]
state_before: case pos
α : Type u_1
E : Type ?u.5059288
F : Type u_2
G : Type u_3
m m0 : MeasurableSpace α
p✝ : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
f : α → F
g : α → G
c : ℝ≥0
h : ∀ᵐ (x : α) ∂μ, ‖f x‖₊ ≤ c * ‖g x‖₊
p : ℝ≥0∞
h0 : p = 0
⊢ snorm f p μ ≤ c • snorm g p μ

tactic: rw [h_top]
state_before: case pos
α : Type u_1
E : Type ?u.5059288
F : Type u_2
G : Type u_3
m m0 : MeasurableSpace α
p✝ : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
f : α → F
g : α → G
c : ℝ≥0
h : ∀ᵐ (x : α) ∂μ, ‖f x‖₊ ≤ c * ‖g x‖₊
p : ℝ≥0∞
h0 : ¬p = 0
h_top : p = ⊤
⊢ snorm f p μ ≤ c • snorm g p μ

tactic: exact snormEssSup_le_nnreal_smul_snormEssSup_of_ae_le_mul h
state_before: case pos
α : Type u_1
E : Type ?u.5059288
F : Type u_2
G : Type u_3
m m0 : MeasurableSpace α
p✝ : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
f : α → F
g : α → G
c : ℝ≥0
h : ∀ᵐ (x : α) ∂μ, ‖f x‖₊ ≤ c * ‖g x‖₊
p : ℝ≥0∞
h0 : ¬p = 0
h_top : p = ⊤
⊢ snorm f ⊤ μ ≤ c • snorm g ⊤ μ
Theorem: Real.Angle.coe_two_pi
File: Mathlib/Analysis/SpecialFunctions/Trigonometric/Angle.lean

tactic: rw [sub_zero, Int.cast_one, mul_one]
state_before: ⊢ 2 * π - 0 = 2 * π * ↑1
Theorem: ModelWithCorners.image_eq
File: Mathlib/Geometry/Manifold/SmoothManifoldWithCorners.lean

tactic: refine' (I.toLocalEquiv.image_eq_target_inter_inv_preimage _).trans _
state_before: 𝕜 : Type u_3
inst✝³ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace 𝕜 E
H : Type u_1
inst✝ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
s : Set H
⊢ ↑I '' s = ↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I

tactic: rw [I.source_eq]
state_before: case refine'_1
𝕜 : Type u_3
inst✝³ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace 𝕜 E
H : Type u_1
inst✝ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
s : Set H
⊢ s ⊆ I.source

tactic: exact subset_univ _
state_before: case refine'_1
𝕜 : Type u_3
inst✝³ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace 𝕜 E
H : Type u_1
inst✝ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
s : Set H
⊢ s ⊆ univ

tactic: rw [inter_comm, I.target_eq, I.toLocalEquiv_coe_symm]
state_before: case refine'_2
𝕜 : Type u_3
inst✝³ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace 𝕜 E
H : Type u_1
inst✝ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
s : Set H
⊢ I.target ∩ ↑(LocalEquiv.symm I.toLocalEquiv) ⁻¹' s = ↑(ModelWithCorners.symm I) ⁻¹' s ∩ range ↑I
Theorem: SimplicialObject.Splitting.IndexSet.eqId_iff_mono
File: Mathlib/AlgebraicTopology/SplitSimplicialObject.lean

tactic: constructor
state_before: C : Type ?u.5440
inst✝ : Category C
Δ : SimplexCategoryᵒᵖ
A : IndexSet Δ
⊢ EqId A ↔ Mono (e A)

tactic: intro h
state_before: case mp
C : Type ?u.5440
inst✝ : Category C
Δ : SimplexCategoryᵒᵖ
A : IndexSet Δ
⊢ EqId A → Mono (e A)

tactic: dsimp at h
state_before: case mp
C : Type ?u.5440
inst✝ : Category C
Δ : SimplexCategoryᵒᵖ
A : IndexSet Δ
h : EqId A
⊢ Mono (e A)

tactic: subst h
state_before: case mp
C : Type ?u.5440
inst✝ : Category C
Δ : SimplexCategoryᵒᵖ
A : IndexSet Δ
h : A = id Δ
⊢ Mono (e A)

tactic: dsimp only [id, e]
state_before: case mp
C : Type ?u.5440
inst✝ : Category C
Δ : SimplexCategoryᵒᵖ
⊢ Mono (e (id Δ))

tactic: infer_instance
state_before: case mp
C : Type ?u.5440
inst✝ : Category C
Δ : SimplexCategoryᵒᵖ
⊢ Mono (𝟙 Δ.unop)

tactic: intro h
state_before: case mpr
C : Type ?u.5440
inst✝ : Category C
Δ : SimplexCategoryᵒᵖ
A : IndexSet Δ
⊢ Mono (e A) → EqId A

tactic: rw [eqId_iff_len_le]
state_before: case mpr
C : Type ?u.5440
inst✝ : Category C
Δ : SimplexCategoryᵒᵖ
A : IndexSet Δ
h : Mono (e A)
⊢ EqId A

tactic: exact len_le_of_mono h
state_before: case mpr
C : Type ?u.5440
inst✝ : Category C
Δ : SimplexCategoryᵒᵖ
A : IndexSet Δ
h : Mono (e A)
⊢ len Δ.unop ≤ len A.fst.unop
Theorem: ZMod.val_one
File: Mathlib/Data/ZMod/Basic.lean

tactic: rw [val_one_eq_one_mod]
state_before: n : ℕ
inst✝ : Fact (1 < n)
⊢ val 1 = 1

tactic: exact Nat.mod_eq_of_lt Fact.out
state_before: n : ℕ
inst✝ : Fact (1 < n)
⊢ 1 % n = 1
Theorem: AddLECancellable.tsub_lt_iff_left
File: Mathlib/Algebra/Order/Sub/Canonical.lean

tactic: refine' ⟨hb.lt_add_of_tsub_lt_left, _⟩
state_before: α : Type u_1
inst✝⁵ : AddCommSemigroup α
inst✝⁴ : PartialOrder α
inst✝³ : ExistsAddOfLE α
inst✝² : CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1
inst✝¹ : Sub α
inst✝ : OrderedSub α
a b c d : α
hb : AddLECancellable b
hba : b ≤ a
⊢ a - b < c ↔ a < b + c

tactic: intro h
state_before: α : Type u_1
inst✝⁵ : AddCommSemigroup α
inst✝⁴ : PartialOrder α
inst✝³ : ExistsAddOfLE α
inst✝² : CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1
inst✝¹ : Sub α
inst✝ : OrderedSub α
a b c d : α
hb : AddLECancellable b
hba : b ≤ a
⊢ a < b + c → a - b < c

tactic: refine' (tsub_le_iff_left.mpr h.le).lt_of_ne _
state_before: α : Type u_1
inst✝⁵ : AddCommSemigroup α
inst✝⁴ : PartialOrder α
inst✝³ : ExistsAddOfLE α
inst✝² : CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1
inst✝¹ : Sub α
inst✝ : OrderedSub α
a b c d : α
hb : AddLECancellable b
hba : b ≤ a
h : a < b + c
⊢ a - b < c

tactic: rintro rfl
state_before: α : Type u_1
inst✝⁵ : AddCommSemigroup α
inst✝⁴ : PartialOrder α
inst✝³ : ExistsAddOfLE α
inst✝² : CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1
inst✝¹ : Sub α
inst✝ : OrderedSub α
a b c d : α
hb : AddLECancellable b
hba : b ≤ a
h : a < b + c
⊢ a - b ≠ c

tactic: exact h.ne' (add_tsub_cancel_of_le hba)
state_before: α : Type u_1
inst✝⁵ : AddCommSemigroup α
inst✝⁴ : PartialOrder α
inst✝³ : ExistsAddOfLE α
inst✝² : CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1
inst✝¹ : Sub α
inst✝ : OrderedSub α
a b d : α
hb : AddLECancellable b
hba : b ≤ a
h : a < b + (a - b)
⊢ False
Theorem: Matrix.toBilin_comp
File: Mathlib/LinearAlgebra/Matrix/BilinearForm.lean

tactic: simp only [BilinForm.toMatrix_comp b c, BilinForm.toMatrix_toBilin, toMatrix_toLin]
state_before: R : Type ?u.1830938
M✝ : Type ?u.1830941
inst✝²⁰ : Semiring R
inst✝¹⁹ : AddCommMonoid M✝
inst✝¹⁸ : Module R M✝
R₁ : Type ?u.1830977
M₁ : Type ?u.1830980
inst✝¹⁷ : Ring R₁
inst✝¹⁶ : AddCommGroup M₁
inst✝¹⁵ : Module R₁ M₁
R₂ : Type u_2
M₂ : Type u_5
inst✝¹⁴ : CommSemiring R₂
inst✝¹³ : AddCommMonoid M₂
inst✝¹² : Module R₂ M₂
R₃ : Type ?u.1831779
M₃ : Type ?u.1831782
inst✝¹¹ : CommRing R₃
inst✝¹⁰ : AddCommGroup M₃
inst✝⁹ : Module R₃ M₃
V : Type ?u.1832370
K : Type ?u.1832373
inst✝⁸ : Field K
inst✝⁷ : AddCommGroup V
inst✝⁶ : Module K V
B : BilinForm R M✝
B₁ : BilinForm R₁ M₁
B₂ : BilinForm R₂ M₂
n : Type u_1
o : Type u_3
inst✝⁵ : Fintype n
inst✝⁴ : Fintype o
inst✝³ : DecidableEq n
b : Basis n R₂ M₂
M₂' : Type u_4
inst✝² : AddCommMonoid M₂'
inst✝¹ : Module R₂ M₂'
c : Basis o R₂ M₂'
inst✝ : DecidableEq o
M : Matrix n n R₂
P Q : Matrix n o R₂
⊢ ↑(BilinForm.toMatrix c) (BilinForm.comp (↑(toBilin b) M) (↑(toLin c b) P) (↑(toLin c b) Q)) =
    ↑(BilinForm.toMatrix c) (↑(toBilin c) (Pᵀ ⬝ M ⬝ Q))
Theorem: Nat.succ_mul_binomial
File: Mathlib/Data/Nat/Choose/Multinomial.lean

tactic: rw [binomial_eq_choose _ h, binomial_eq_choose _ h, mul_comm (f a).succ, Function.update_same,
  Function.update_noteq (ne_comm.mp h)]
state_before: α : Type u_1
s : Finset α
f : α → ℕ
a b : α
n : ℕ
inst✝ : DecidableEq α
h : a ≠ b
⊢ succ (f a + f b) * multinomial {a, b} f = succ (f a) * multinomial {a, b} (Function.update f a (succ (f a)))

tactic: rw [succ_mul_choose_eq (f a + f b) (f a), succ_add (f a) (f b)]
state_before: α : Type u_1
s : Finset α
f : α → ℕ
a b : α
n : ℕ
inst✝ : DecidableEq α
h : a ≠ b
⊢ succ (f a + f b) * choose (f a + f b) (f a) = choose (succ (f a) + f b) (succ (f a)) * succ (f a)
Theorem: AlgebraicGeometry.StructureSheaf.toOpen_germ
File: Mathlib/AlgebraicGeometry/StructureSheaf.lean

tactic: rw [← toOpen_res R ⊤ U (homOfLE le_top : U ⟶ ⊤), Category.assoc, Presheaf.germ_res]
state_before: R : Type u
inst✝ : CommRing R
U : Opens ↑(PrimeSpectrum.Top R)
x : { x // x ∈ U }
⊢ toOpen R U ≫ germ (Sheaf.presheaf (structureSheaf R)) x = toStalk R ↑x

tactic: rfl
state_before: R : Type u
inst✝ : CommRing R
U : Opens ↑(PrimeSpectrum.Top R)
x : { x // x ∈ U }
⊢ toOpen R ⊤ ≫ germ (structureSheaf R).val ((fun x => { val := ↑x, property := (_ : ↑x ∈ ↑⊤) }) x) = toStalk R ↑x
Theorem: Finite.card_sum
File: Mathlib/Data/Finite/Card.lean

tactic: haveI := Fintype.ofFinite α
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.5063
inst✝¹ : Finite α
inst✝ : Finite β
⊢ Nat.card (α ⊕ β) = Nat.card α + Nat.card β

tactic: haveI := Fintype.ofFinite β
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.5063
inst✝¹ : Finite α
inst✝ : Finite β
this : Fintype α
⊢ Nat.card (α ⊕ β) = Nat.card α + Nat.card β

tactic: simp only [Nat.card_eq_fintype_card, Fintype.card_sum]
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.5063
inst✝¹ : Finite α
inst✝ : Finite β
this✝ : Fintype α
this : Fintype β
⊢ Nat.card (α ⊕ β) = Nat.card α + Nat.card β