tasksource/leandojo huggingface dataset:
Theorem: MeasureTheory.Measure.restrict_inter_add_diff₀
File: Mathlib/MeasureTheory/Measure/MeasureSpace.lean

tactic: ext1 u hu
state_before: α : Type u_1
β : Type ?u.293388
γ : Type ?u.293391
δ : Type ?u.293394
ι : Type ?u.293397
R : Type ?u.293400
R' : Type ?u.293403
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t s : Set α
ht : NullMeasurableSet t
⊢ restrict μ (s ∩ t) + restrict μ (s \ t) = restrict μ s

tactic: simp only [add_apply, restrict_apply hu, ← inter_assoc, diff_eq]
state_before: case h
α : Type u_1
β : Type ?u.293388
γ : Type ?u.293391
δ : Type ?u.293394
ι : Type ?u.293397
R : Type ?u.293400
R' : Type ?u.293403
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t s : Set α
ht : NullMeasurableSet t
u : Set α
hu : MeasurableSet u
⊢ ↑↑(restrict μ (s ∩ t) + restrict μ (s \ t)) u = ↑↑(restrict μ s) u

tactic: exact measure_inter_add_diff₀ (u ∩ s) ht
state_before: case h
α : Type u_1
β : Type ?u.293388
γ : Type ?u.293391
δ : Type ?u.293394
ι : Type ?u.293397
R : Type ?u.293400
R' : Type ?u.293403
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t s : Set α
ht : NullMeasurableSet t
u : Set α
hu : MeasurableSet u
⊢ ↑↑μ (u ∩ s ∩ t) + ↑↑μ (u ∩ s ∩ tᶜ) = ↑↑μ (u ∩ s)
Theorem: Finsupp.single_eq_update
File: Mathlib/Data/Finsupp/Defs.lean

tactic: classical rw [single_eq_set_indicator, ← Set.piecewise_eq_indicator, Set.piecewise_singleton]
state_before: α : Type u_1
β : Type ?u.41852
γ : Type ?u.41855
ι : Type ?u.41858
M : Type u_2
M' : Type ?u.41864
N : Type ?u.41867
P : Type ?u.41870
G : Type ?u.41873
H : Type ?u.41876
R : Type ?u.41879
S : Type ?u.41882
inst✝¹ : Zero M
a✝ a' : α
b✝ : M
inst✝ : DecidableEq α
a : α
b : M
⊢ ↑(single a b) = update 0 a b

tactic: rw [single_eq_set_indicator, ← Set.piecewise_eq_indicator, Set.piecewise_singleton]
state_before: α : Type u_1
β : Type ?u.41852
γ : Type ?u.41855
ι : Type ?u.41858
M : Type u_2
M' : Type ?u.41864
N : Type ?u.41867
P : Type ?u.41870
G : Type ?u.41873
H : Type ?u.41876
R : Type ?u.41879
S : Type ?u.41882
inst✝¹ : Zero M
a✝ a' : α
b✝ : M
inst✝ : DecidableEq α
a : α
b : M
⊢ ↑(single a b) = update 0 a b
Theorem: FirstOrder.Language.Theory.SemanticallyEquivalent.symm
File: Mathlib/ModelTheory/Satisfiability.lean

tactic: rw [BoundedFormula.realize_iff, Iff.comm, ← BoundedFormula.realize_iff]
state_before: L : Language
T : Theory L
α : Type w
n : ℕ
φ ψ : BoundedFormula L α n
h : SemanticallyEquivalent T φ ψ
M : ModelType T
v : α → ↑M
xs : Fin n → ↑M
⊢ BoundedFormula.Realize (ψ ⇔ φ) v xs

tactic: exact h M v xs
state_before: L : Language
T : Theory L
α : Type w
n : ℕ
φ ψ : BoundedFormula L α n
h : SemanticallyEquivalent T φ ψ
M : ModelType T
v : α → ↑M
xs : Fin n → ↑M
⊢ BoundedFormula.Realize (φ ⇔ ψ) v xs
Theorem: sSup_image'
File: Mathlib/Order/CompleteLattice.lean

tactic: rw [iSup, image_eq_range]
state_before: α : Type u_2
β : Type u_1
β₂ : Type ?u.64182
γ : Type ?u.64185
ι : Sort ?u.64188
ι' : Sort ?u.64191
κ : ι → Sort ?u.64196
κ' : ι' → Sort ?u.64201
inst✝ : SupSet α
f✝ g : ι → α
s : Set β
f : β → α
⊢ sSup (f '' s) = ⨆ (a : ↑s), f ↑a
Theorem: Function.periodicOrbit_chain'
File: Mathlib/Dynamics/PeriodicPts.lean

tactic: rw [periodicOrbit_chain r]
state_before: α : Type u_1
β : Type ?u.36142
f✝ fa : α → α
fb : β → β
x✝ y : α
m n : ℕ
r : α → α → Prop
f : α → α
x : α
hx : x ∈ periodicPts f
⊢ Cycle.Chain r (periodicOrbit f x) ↔ ∀ (n : ℕ), r ((f^[n]) x) ((f^[n + 1]) x)

tactic: refine' ⟨fun H n => _, fun H n _ => H n⟩
state_before: α : Type u_1
β : Type ?u.36142
f✝ fa : α → α
fb : β → β
x✝ y : α
m n : ℕ
r : α → α → Prop
f : α → α
x : α
hx : x ∈ periodicPts f
⊢ (∀ (n : ℕ), n < minimalPeriod f x → r ((f^[n]) x) ((f^[n + 1]) x)) ↔ ∀ (n : ℕ), r ((f^[n]) x) ((f^[n + 1]) x)

tactic: rw [iterate_succ_apply, ← iterate_mod_minimalPeriod_eq, ← iterate_mod_minimalPeriod_eq (n := n),
  ← iterate_succ_apply, minimalPeriod_apply hx]
state_before: α : Type u_1
β : Type ?u.36142
f✝ fa : α → α
fb : β → β
x✝ y : α
m n✝ : ℕ
r : α → α → Prop
f : α → α
x : α
hx : x ∈ periodicPts f
H : ∀ (n : ℕ), n < minimalPeriod f x → r ((f^[n]) x) ((f^[n + 1]) x)
n : ℕ
⊢ r ((f^[n]) x) ((f^[n + 1]) x)

tactic: exact H _ (mod_lt _ (minimalPeriod_pos_of_mem_periodicPts hx))
state_before: α : Type u_1
β : Type ?u.36142
f✝ fa : α → α
fb : β → β
x✝ y : α
m n✝ : ℕ
r : α → α → Prop
f : α → α
x : α
hx : x ∈ periodicPts f
H : ∀ (n : ℕ), n < minimalPeriod f x → r ((f^[n]) x) ((f^[n + 1]) x)
n : ℕ
⊢ r ((f^[n % minimalPeriod f x]) x) ((f^[succ (n % minimalPeriod f x)]) x)
Theorem: nhdsSet_diagonal
File: Mathlib/Topology/NhdsSet.lean

tactic: rw [nhdsSet, ← range_diag, ← range_comp]
state_before: α✝ : Type ?u.6536
β : Type ?u.6539
inst✝² : TopologicalSpace α✝
inst✝¹ : TopologicalSpace β
s t s₁ s₂ t₁ t₂ : Set α✝
x : α✝
α : Type u_1
inst✝ : TopologicalSpace (α × α)
⊢ 𝓝ˢ (diagonal α) = ⨆ (x : α), 𝓝 (x, x)

tactic: rfl
state_before: α✝ : Type ?u.6536
β : Type ?u.6539
inst✝² : TopologicalSpace α✝
inst✝¹ : TopologicalSpace β
s t s₁ s₂ t₁ t₂ : Set α✝
x : α✝
α : Type u_1
inst✝ : TopologicalSpace (α × α)
⊢ sSup (range (𝓝 ∘ fun x => (x, x))) = ⨆ (x : α), 𝓝 (x, x)
Theorem: MeasureTheory.fundamentalFrontier_smul
File: Mathlib/MeasureTheory/Group/FundamentalDomain.lean

tactic: simp_rw [fundamentalFrontier, smul_set_inter, smul_set_Union, smul_comm g (_ : G) (_ : Set α)]
state_before: G : Type u_3
H : Type u_1
α : Type u_2
β : Type ?u.495604
E : Type ?u.495607
inst✝⁴ : Group G
inst✝³ : MulAction G α
s : Set α
x : α
inst✝² : Group H
inst✝¹ : MulAction H α
inst✝ : SMulCommClass H G α
g : H
⊢ fundamentalFrontier G (g • s) = g • fundamentalFrontier G s
Theorem: abs_le
File: Mathlib/Algebra/Order/Group/Abs.lean

tactic: rw [abs_le', and_comm, @neg_le α]
state_before: α : Type u_1
inst✝ : LinearOrderedAddCommGroup α
a b c d : α
⊢ abs a ≤ b ↔ -b ≤ a ∧ a ≤ b
Theorem: NormedAddGroupHom.zero_comp
File: Mathlib/Analysis/Normed/Group/Hom.lean

tactic: ext
state_before: V : Type ?u.478704
V₁ : Type u_1
V₂ : Type u_2
V₃ : Type u_3
inst✝³ : SeminormedAddCommGroup V
inst✝² : SeminormedAddCommGroup V₁
inst✝¹ : SeminormedAddCommGroup V₂
inst✝ : SeminormedAddCommGroup V₃
f✝ g f : NormedAddGroupHom V₁ V₂
⊢ NormedAddGroupHom.comp 0 f = 0

tactic: rfl
state_before: case H
V : Type ?u.478704
V₁ : Type u_1
V₂ : Type u_2
V₃ : Type u_3
inst✝³ : SeminormedAddCommGroup V
inst✝² : SeminormedAddCommGroup V₁
inst✝¹ : SeminormedAddCommGroup V₂
inst✝ : SeminormedAddCommGroup V₃
f✝ g f : NormedAddGroupHom V₁ V₂
x✝ : V₁
⊢ ↑(NormedAddGroupHom.comp 0 f) x✝ = ↑0 x✝
Theorem: PiTensorProduct.tmul_apply
File: Mathlib/LinearAlgebra/PiTensorProduct.lean

tactic: erw [TensorProduct.lift.tmul, PiTensorProduct.lift.tprod, PiTensorProduct.lift.tprod]
state_before: ι : Type u_1
ι₂ : Type u_2
ι₃ : Type ?u.627942
R : Type u_3
inst✝⁷ : CommSemiring R
R₁ : Type ?u.627951
R₂ : Type ?u.627954
s : ι → Type ?u.627959
inst✝⁶ : (i : ι) → AddCommMonoid (s i)
inst✝⁵ : (i : ι) → Module R (s i)
M : Type u_4
inst✝⁴ : AddCommMonoid M
inst✝³ : Module R M
E : Type ?u.628278
inst✝² : AddCommMonoid E
inst✝¹ : Module R E
F : Type ?u.628412
inst✝ : AddCommMonoid F
φ : MultilinearMap R s E
a : ι → M
b : ι₂ → M
⊢ ↑PiTensorProduct.tmul ((⨂ₜ[R] (i : ι), a i) ⊗ₜ[R] ⨂ₜ[R] (i : ι₂), b i) = ⨂ₜ[R] (i : ι ⊕ ι₂), Sum.elim a b i

tactic: rfl
state_before: ι : Type u_1
ι₂ : Type u_2
ι₃ : Type ?u.627942
R : Type u_3
inst✝⁷ : CommSemiring R
R₁ : Type ?u.627951
R₂ : Type ?u.627954
s : ι → Type ?u.627959
inst✝⁶ : (i : ι) → AddCommMonoid (s i)
inst✝⁵ : (i : ι) → Module R (s i)
M : Type u_4
inst✝⁴ : AddCommMonoid M
inst✝³ : Module R M
E : Type ?u.628278
inst✝² : AddCommMonoid E
inst✝¹ : Module R E
F : Type ?u.628412
inst✝ : AddCommMonoid F
φ : MultilinearMap R s E
a : ι → M
b : ι₂ → M
⊢ (↑(↑(↑(currySumEquiv R ι (⨂[R] (i : ι ⊕ ι₂), M) M ι₂) (tprod R)) fun i => a i) fun i => b i) =
    ⨂ₜ[R] (i : ι ⊕ ι₂), Sum.elim a b i
Theorem: Finset.piecewise_empty
File: Mathlib/Data/Finset/Basic.lean

tactic: ext i
state_before: α : Type u_1
β : Type ?u.294612
γ : Type ?u.294615
δ : α → Sort u_2
s : Finset α
f g : (i : α) → δ i
inst✝ : (i : α) → Decidable (i ∈ ∅)
⊢ piecewise ∅ f g = g

tactic: simp [piecewise]
state_before: case h
α : Type u_1
β : Type ?u.294612
γ : Type ?u.294615
δ : α → Sort u_2
s : Finset α
f g : (i : α) → δ i
inst✝ : (i : α) → Decidable (i ∈ ∅)
i : α
⊢ piecewise ∅ f g i = g i
Theorem: ContinuousLinearMap.IsPositive.conj_adjoint
File: Mathlib/Analysis/InnerProductSpace/Positive.lean

tactic: refine' ⟨hT.isSelfAdjoint.conj_adjoint S, fun x => _⟩
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁶ : IsROrC 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : InnerProductSpace 𝕜 E
inst✝² : InnerProductSpace 𝕜 F
inst✝¹ : CompleteSpace E
inst✝ : CompleteSpace F
T : E →L[𝕜] E
hT : IsPositive T
S : E →L[𝕜] F
⊢ IsPositive (comp S (comp T (↑adjoint S)))

tactic: rw [reApplyInnerSelf, comp_apply, ← adjoint_inner_right]
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁶ : IsROrC 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : InnerProductSpace 𝕜 E
inst✝² : InnerProductSpace 𝕜 F
inst✝¹ : CompleteSpace E
inst✝ : CompleteSpace F
T : E →L[𝕜] E
hT : IsPositive T
S : E →L[𝕜] F
x : F
⊢ 0 ≤ reApplyInnerSelf (comp S (comp T (↑adjoint S))) x

tactic: exact hT.inner_nonneg_left _
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁶ : IsROrC 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : InnerProductSpace 𝕜 E
inst✝² : InnerProductSpace 𝕜 F
inst✝¹ : CompleteSpace E
inst✝ : CompleteSpace F
T : E →L[𝕜] E
hT : IsPositive T
S : E →L[𝕜] F
x : F
⊢ 0 ≤ ↑re (inner (↑(comp T (↑adjoint S)) x) (↑(↑adjoint S) x))
Theorem: pi_le_borel_pi
File: Mathlib/MeasureTheory/Constructions/BorelSpace/Basic.lean

tactic: have : ‹∀ i, MeasurableSpace (π i)› = fun i => borel (π i) :=
  funext fun i => BorelSpace.measurable_eq
state_before: α : Type ?u.1048612
β : Type ?u.1048615
γ : Type ?u.1048618
γ₂ : Type ?u.1048621
δ : Type ?u.1048624
ι✝ : Sort y
s t u : Set α
inst✝¹² : TopologicalSpace α
inst✝¹¹ : MeasurableSpace α
inst✝¹⁰ : BorelSpace α
inst✝⁹ : TopologicalSpace β
inst✝⁸ : MeasurableSpace β
inst✝⁷ : BorelSpace β
inst✝⁶ : TopologicalSpace γ
inst✝⁵ : MeasurableSpace γ
inst✝⁴ : BorelSpace γ
inst✝³ : MeasurableSpace δ
ι : Type u_1
π : ι → Type u_2
inst✝² : (i : ι) → TopologicalSpace (π i)
inst✝¹ : (i : ι) → MeasurableSpace (π i)
inst✝ : ∀ (i : ι), BorelSpace (π i)
⊢ MeasurableSpace.pi ≤ borel ((i : ι) → π i)

tactic: rw [this]
state_before: α : Type ?u.1048612
β : Type ?u.1048615
γ : Type ?u.1048618
γ₂ : Type ?u.1048621
δ : Type ?u.1048624
ι✝ : Sort y
s t u : Set α
inst✝¹² : TopologicalSpace α
inst✝¹¹ : MeasurableSpace α
inst✝¹⁰ : BorelSpace α
inst✝⁹ : TopologicalSpace β
inst✝⁸ : MeasurableSpace β
inst✝⁷ : BorelSpace β
inst✝⁶ : TopologicalSpace γ
inst✝⁵ : MeasurableSpace γ
inst✝⁴ : BorelSpace γ
inst✝³ : MeasurableSpace δ
ι : Type u_1
π : ι → Type u_2
inst✝² : (i : ι) → TopologicalSpace (π i)
inst✝¹ : (i : ι) → MeasurableSpace (π i)
inst✝ : ∀ (i : ι), BorelSpace (π i)
this : inst✝¹ = fun i => borel (π i)
⊢ MeasurableSpace.pi ≤ borel ((i : ι) → π i)

tactic: exact iSup_le fun i => comap_le_iff_le_map.2 <| (continuous_apply i).borel_measurable
state_before: α : Type ?u.1048612
β : Type ?u.1048615
γ : Type ?u.1048618
γ₂ : Type ?u.1048621
δ : Type ?u.1048624
ι✝ : Sort y
s t u : Set α
inst✝¹² : TopologicalSpace α
inst✝¹¹ : MeasurableSpace α
inst✝¹⁰ : BorelSpace α
inst✝⁹ : TopologicalSpace β
inst✝⁸ : MeasurableSpace β
inst✝⁷ : BorelSpace β
inst✝⁶ : TopologicalSpace γ
inst✝⁵ : MeasurableSpace γ
inst✝⁴ : BorelSpace γ
inst✝³ : MeasurableSpace δ
ι : Type u_1
π : ι → Type u_2
inst✝² : (i : ι) → TopologicalSpace (π i)
inst✝¹ : (i : ι) → MeasurableSpace (π i)
inst✝ : ∀ (i : ι), BorelSpace (π i)
this : inst✝¹ = fun i => borel (π i)
⊢ MeasurableSpace.pi ≤ borel ((i : ι) → π i)
Theorem: EuclideanGeometry.inner_pos_of_dist_lt_radius
File: Mathlib/Geometry/Euclidean/Sphere/Basic.lean

tactic: by_cases h : p₁ = p₂
state_before: V : Type u_2
P : Type u_1
inst✝³ : NormedAddCommGroup V
inst✝² : InnerProductSpace ℝ V
inst✝¹ : MetricSpace P
inst✝ : NormedAddTorsor V P
s : Sphere P
p₁ p₂ : P
hp₁ : p₁ ∈ s
hp₂ : dist p₂ s.center < s.radius
⊢ 0 < inner (p₁ -ᵥ p₂) (p₁ -ᵥ s.center)

tactic: exact (inner_pos_or_eq_of_dist_le_radius hp₁ hp₂.le).resolve_right h
state_before: case neg
V : Type u_2
P : Type u_1
inst✝³ : NormedAddCommGroup V
inst✝² : InnerProductSpace ℝ V
inst✝¹ : MetricSpace P
inst✝ : NormedAddTorsor V P
s : Sphere P
p₁ p₂ : P
hp₁ : p₁ ∈ s
hp₂ : dist p₂ s.center < s.radius
h : ¬p₁ = p₂
⊢ 0 < inner (p₁ -ᵥ p₂) (p₁ -ᵥ s.center)

tactic: rw [h, mem_sphere] at hp₁
state_before: case pos
V : Type u_2
P : Type u_1
inst✝³ : NormedAddCommGroup V
inst✝² : InnerProductSpace ℝ V
inst✝¹ : MetricSpace P
inst✝ : NormedAddTorsor V P
s : Sphere P
p₁ p₂ : P
hp₁ : p₁ ∈ s
hp₂ : dist p₂ s.center < s.radius
h : p₁ = p₂
⊢ 0 < inner (p₁ -ᵥ p₂) (p₁ -ᵥ s.center)

tactic: exact False.elim (hp₂.ne hp₁)
state_before: case pos
V : Type u_2
P : Type u_1
inst✝³ : NormedAddCommGroup V
inst✝² : InnerProductSpace ℝ V
inst✝¹ : MetricSpace P
inst✝ : NormedAddTorsor V P
s : Sphere P
p₁ p₂ : P
hp₁ : dist p₂ s.center = s.radius
hp₂ : dist p₂ s.center < s.radius
h : p₁ = p₂
⊢ 0 < inner (p₁ -ᵥ p₂) (p₁ -ᵥ s.center)
Theorem: Units.mul_left_dvd
File: Mathlib/Algebra/Divisibility/Units.lean

tactic: rw [mul_comm]
state_before: α : Type u_1
inst✝ : CommMonoid α
a b : α
u : αˣ
⊢ ↑u * a ∣ b ↔ a ∣ b

tactic: apply mul_right_dvd
state_before: α : Type u_1
inst✝ : CommMonoid α
a b : α
u : αˣ
⊢ a * ↑u ∣ b ↔ a ∣ b
Theorem: MeasureTheory.memℒp_top_const
File: Mathlib/MeasureTheory/Function/LpSeminorm.lean

tactic: refine' ⟨aestronglyMeasurable_const, _⟩
state_before: α : Type u_2
E : Type u_1
F : Type ?u.1271944
G : Type ?u.1271947
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
c : E
⊢ Memℒp (fun x => c) ⊤

tactic: by_cases h : μ = 0
state_before: α : Type u_2
E : Type u_1
F : Type ?u.1271944
G : Type ?u.1271947
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
c : E
⊢ snorm (fun x => c) ⊤ μ < ⊤

tactic: simp only [h, snorm_measure_zero, WithTop.zero_lt_top]
state_before: case pos
α : Type u_2
E : Type u_1
F : Type ?u.1271944
G : Type ?u.1271947
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
c : E
h : μ = 0
⊢ snorm (fun x => c) ⊤ μ < ⊤

tactic: rw [snorm_const _ ENNReal.top_ne_zero h]
state_before: case neg
α : Type u_2
E : Type u_1
F : Type ?u.1271944
G : Type ?u.1271947
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
c : E
h : ¬μ = 0
⊢ snorm (fun x => c) ⊤ μ < ⊤

tactic: simp only [ENNReal.top_toReal, _root_.div_zero, ENNReal.rpow_zero, mul_one, ENNReal.coe_lt_top]
state_before: case neg
α : Type u_2
E : Type u_1
F : Type ?u.1271944
G : Type ?u.1271947
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
c : E
h : ¬μ = 0
⊢ ↑‖c‖₊ * ↑↑μ Set.univ ^ (1 / ENNReal.toReal ⊤) < ⊤
Theorem: Finmap.keys_replace
File: Mathlib/Data/Finmap.lean

tactic: simp
state_before: α : Type u
β : α → Type v
inst✝ : DecidableEq α
a : α
b : β a
s✝ : Finmap β
s : AList β
⊢ keys (replace a b ⟦s⟧) = keys ⟦s⟧
Theorem: MeasureTheory.Measure.map_zero
File: Mathlib/MeasureTheory/Measure/MeasureSpace.lean

tactic: by_cases hf : AEMeasurable f (0 : Measure α) <;> simp [map, hf]
state_before: α : Type u_2
β : Type u_1
γ : Type ?u.178625
δ : Type ?u.178628
ι : Type ?u.178631
R : Type ?u.178634
R' : Type ?u.178637
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t : Set α
f : α → β
⊢ map f 0 = 0
Theorem: GeneralizedContinuedFraction.continuants_recurrenceAux
File: Mathlib/Algebra/ContinuedFractions/ContinuantsRecurrence.lean

tactic: simp [nth_cont_eq_succ_nth_cont_aux,
  continuantsAux_recurrence nth_s_eq nth_conts_aux_eq succ_nth_conts_aux_eq]
state_before: K : Type u_1
g : GeneralizedContinuedFraction K
n : ℕ
inst✝ : DivisionRing K
gp ppred pred : Pair K
nth_s_eq : Stream'.Seq.get? g.s n = some gp
nth_conts_aux_eq : continuantsAux g n = ppred
succ_nth_conts_aux_eq : continuantsAux g (n + 1) = pred
⊢ continuants g (n + 1) = { a := gp.b * pred.a + gp.a * ppred.a, b := gp.b * pred.b + gp.a * ppred.b }
Theorem: CategoryTheory.Limits.inr_coprodZeroIso_hom
File: Mathlib/CategoryTheory/Limits/Constructions/ZeroObjects.lean

tactic: dsimp [coprodZeroIso, binaryCofanZeroRight]
state_before: C : Type u_2
inst✝² : Category C
inst✝¹ : HasZeroObject C
inst✝ : HasZeroMorphisms C
X : C
⊢ coprod.inl ≫ (coprodZeroIso X).hom = 𝟙 X

tactic: simp
state_before: C : Type u_2
inst✝² : Category C
inst✝¹ : HasZeroObject C
inst✝ : HasZeroMorphisms C
X : C
⊢ coprod.inl ≫
      (colimit.isoColimitCocone
          { cocone := BinaryCofan.mk (𝟙 X) 0, isColimit := binaryCofanZeroRightIsColimit X }).hom =
    𝟙 X
Theorem: Polynomial.natDegree_restriction
File: Mathlib/RingTheory/Polynomial/Basic.lean

tactic: simp [natDegree]
state_before: R : Type u
S : Type ?u.74744
inst✝ : Ring R
p : R[X]
⊢ natDegree (restriction p) = natDegree p
Theorem: IsLocalizedModule.mk'_sub_mk'
File: Mathlib/Algebra/Module/LocalizedModule.lean

tactic: rw [sub_eq_add_neg, ← mk'_neg, mk'_add_mk', smul_neg, ← sub_eq_add_neg]
state_before: R : Type u_3
inst✝¹² : CommRing R
S : Submonoid R
M✝ : Type ?u.872148
M'✝ : Type ?u.872151
M'' : Type ?u.872154
inst✝¹¹ : AddCommMonoid M✝
inst✝¹⁰ : AddCommMonoid M'✝
inst✝⁹ : AddCommMonoid M''
inst✝⁸ : Module R M✝
inst✝⁷ : Module R M'✝
inst✝⁶ : Module R M''
f✝ : M✝ →ₗ[R] M'✝
g : M✝ →ₗ[R] M''
inst✝⁵ : IsLocalizedModule S f✝
M : Type u_1
M' : Type u_2
inst✝⁴ : AddCommGroup M
inst✝³ : AddCommGroup M'
inst✝² : Module R M
inst✝¹ : Module R M'
f : M →ₗ[R] M'
inst✝ : IsLocalizedModule S f
m₁ m₂ : M
s₁ s₂ : { x // x ∈ S }
⊢ mk' f m₁ s₁ - mk' f m₂ s₂ = mk' f (s₂ • m₁ - s₁ • m₂) (s₁ * s₂)
Theorem: Dense.open_subset_closure_inter
File: Mathlib/Topology/Basic.lean

tactic: rw [hs.closure_eq, inter_univ]
state_before: α : Type u
β : Type v
ι : Sort w
a : α
s✝ s₁ s₂ t✝ : Set α
p p₁ p₂ : α → Prop
inst✝ : TopologicalSpace α
s t : Set α
hs : Dense s
ht : IsOpen t
⊢ t = t ∩ closure s
Theorem: CategoryTheory.Limits.kernelSubobject_factors_iff
File: Mathlib/CategoryTheory/Subobject/Limits.lean

tactic: rw [← Subobject.factorThru_arrow _ _ w, Category.assoc, kernelSubobject_arrow_comp,
  comp_zero]
state_before: C : Type u
inst✝² : Category C
X Y Z : C
inst✝¹ : HasZeroMorphisms C
f : X ⟶ Y
inst✝ : HasKernel f
W : C
h : W ⟶ X
w : Factors (kernelSubobject f) h
⊢ h ≫ f = 0
Theorem: MulChar.map_zero
File: Mathlib/NumberTheory/LegendreSymbol/MulCharacter.lean

tactic: rw [map_nonunit χ not_isUnit_zero]
state_before: R✝ : Type u
inst✝³ : CommMonoid R✝
R' : Type v
inst✝² : CommMonoidWithZero R'
R : Type u
inst✝¹ : CommMonoidWithZero R
inst✝ : Nontrivial R
χ : MulChar R R'
⊢ ↑χ 0 = 0
Theorem: orderOf_dvd_of_mem_zpowers
File: Mathlib/GroupTheory/OrderOfElement.lean

tactic: obtain ⟨k, rfl⟩ := Subgroup.mem_zpowers_iff.mp h
state_before: G : Type u
A : Type v
x y : G
a b : A
n m : ℕ
inst✝¹ : Group G
inst✝ : AddGroup A
i : ℤ
h : y ∈ Subgroup.zpowers x
⊢ orderOf y ∣ orderOf x

tactic: rw [orderOf_dvd_iff_pow_eq_one]
state_before: case intro
G : Type u
A : Type v
x : G
a b : A
n m : ℕ
inst✝¹ : Group G
inst✝ : AddGroup A
i k : ℤ
h : x ^ k ∈ Subgroup.zpowers x
⊢ orderOf (x ^ k) ∣ orderOf x

tactic: exact zpow_pow_orderOf
state_before: case intro
G : Type u
A : Type v
x : G
a b : A
n m : ℕ
inst✝¹ : Group G
inst✝ : AddGroup A
i k : ℤ
h : x ^ k ∈ Subgroup.zpowers x
⊢ (x ^ k) ^ orderOf x = 1
Theorem: MonoidAlgebra.induction_on
File: Mathlib/Algebra/MonoidAlgebra/Basic.lean

tactic: refine' Finsupp.induction_linear f _ (fun f g hf hg => hadd f g hf hg) fun g r => _
state_before: k : Type u₁
G : Type u₂
R : Type ?u.1051513
inst✝¹ : Semiring k
inst✝ : Monoid G
p : MonoidAlgebra k G → Prop
f : MonoidAlgebra k G
hM : ∀ (g : G), p (↑(of k G) g)
hadd : ∀ (f g : MonoidAlgebra k G), p f → p g → p (f + g)
hsmul : ∀ (r : k) (f : MonoidAlgebra k G), p f → p (r • f)
⊢ p f

tactic: simpa using hsmul 0 (of k G 1) (hM 1)
state_before: case refine'_1
k : Type u₁
G : Type u₂
R : Type ?u.1051513
inst✝¹ : Semiring k
inst✝ : Monoid G
p : MonoidAlgebra k G → Prop
f : MonoidAlgebra k G
hM : ∀ (g : G), p (↑(of k G) g)
hadd : ∀ (f g : MonoidAlgebra k G), p f → p g → p (f + g)
hsmul : ∀ (r : k) (f : MonoidAlgebra k G), p f → p (r • f)
⊢ p 0

tactic: convert hsmul r (of k G g) (hM g)
state_before: case refine'_2
k : Type u₁
G : Type u₂
R : Type ?u.1051513
inst✝¹ : Semiring k
inst✝ : Monoid G
p : MonoidAlgebra k G → Prop
f : MonoidAlgebra k G
hM : ∀ (g : G), p (↑(of k G) g)
hadd : ∀ (f g : MonoidAlgebra k G), p f → p g → p (f + g)
hsmul : ∀ (r : k) (f : MonoidAlgebra k G), p f → p (r • f)
g : G
r : k
⊢ p (Finsupp.single g r)

tactic: rw [of_apply, smul_single', mul_one]
state_before: case h.e'_1
k : Type u₁
G : Type u₂
R : Type ?u.1051513
inst✝¹ : Semiring k
inst✝ : Monoid G
p : MonoidAlgebra k G → Prop
f : MonoidAlgebra k G
hM : ∀ (g : G), p (↑(of k G) g)
hadd : ∀ (f g : MonoidAlgebra k G), p f → p g → p (f + g)
hsmul : ∀ (r : k) (f : MonoidAlgebra k G), p f → p (r • f)
g : G
r : k
⊢ Finsupp.single g r = r • ↑(of k G) g
Theorem: isIntegral_map_of_comp_eq_of_isIntegral
File: Mathlib/RingTheory/IntegralClosure.lean

tactic: rw [IsIntegral, RingHom.IsIntegralElem] at ha⊢
state_before: R✝ : Type ?u.130170
A : Type ?u.130173
B : Type ?u.130176
S✝ : Type ?u.130179
inst✝¹¹ : CommRing R✝
inst✝¹⁰ : CommRing A
inst✝⁹ : CommRing B
inst✝⁸ : CommRing S✝
inst✝⁷ : Algebra R✝ A
inst✝⁶ : Algebra R✝ B
f : R✝ →+* S✝
R : Type u_1
S : Type u_2
T : Type u_3
U : Type u_4
inst✝⁵ : CommRing R
inst✝⁴ : CommRing S
inst✝³ : CommRing T
inst✝² : CommRing U
inst✝¹ : Algebra R S
inst✝ : Algebra T U
φ : R →+* T
ψ : S →+* U
h : RingHom.comp (algebraMap T U) φ = RingHom.comp ψ (algebraMap R S)
a : S
ha : IsIntegral R a
⊢ IsIntegral T (↑ψ a)

tactic: obtain ⟨p, hp⟩ := ha
state_before: R✝ : Type ?u.130170
A : Type ?u.130173
B : Type ?u.130176
S✝ : Type ?u.130179
inst✝¹¹ : CommRing R✝
inst✝¹⁰ : CommRing A
inst✝⁹ : CommRing B
inst✝⁸ : CommRing S✝
inst✝⁷ : Algebra R✝ A
inst✝⁶ : Algebra R✝ B
f : R✝ →+* S✝
R : Type u_1
S : Type u_2
T : Type u_3
U : Type u_4
inst✝⁵ : CommRing R
inst✝⁴ : CommRing S
inst✝³ : CommRing T
inst✝² : CommRing U
inst✝¹ : Algebra R S
inst✝ : Algebra T U
φ : R →+* T
ψ : S →+* U
h : RingHom.comp (algebraMap T U) φ = RingHom.comp ψ (algebraMap R S)
a : S
ha : ∃ p, Monic p ∧ eval₂ (algebraMap R S) a p = 0
⊢ ∃ p, Monic p ∧ eval₂ (algebraMap T ((fun x => U) a)) (↑ψ a) p = 0

tactic: refine' ⟨p.map φ, hp.left.map _, _⟩
state_before: case intro
R✝ : Type ?u.130170
A : Type ?u.130173
B : Type ?u.130176
S✝ : Type ?u.130179
inst✝¹¹ : CommRing R✝
inst✝¹⁰ : CommRing A
inst✝⁹ : CommRing B
inst✝⁸ : CommRing S✝
inst✝⁷ : Algebra R✝ A
inst✝⁶ : Algebra R✝ B
f : R✝ →+* S✝
R : Type u_1
S : Type u_2
T : Type u_3
U : Type u_4
inst✝⁵ : CommRing R
inst✝⁴ : CommRing S
inst✝³ : CommRing T
inst✝² : CommRing U
inst✝¹ : Algebra R S
inst✝ : Algebra T U
φ : R →+* T
ψ : S →+* U
h : RingHom.comp (algebraMap T U) φ = RingHom.comp ψ (algebraMap R S)
a : S
p : R[X]
hp : Monic p ∧ eval₂ (algebraMap R S) a p = 0
⊢ ∃ p, Monic p ∧ eval₂ (algebraMap T ((fun x => U) a)) (↑ψ a) p = 0

tactic: rw [← eval_map, map_map, h, ← map_map, eval_map, eval₂_at_apply, eval_map, hp.right,
  RingHom.map_zero]
state_before: case intro
R✝ : Type ?u.130170
A : Type ?u.130173
B : Type ?u.130176
S✝ : Type ?u.130179
inst✝¹¹ : CommRing R✝
inst✝¹⁰ : CommRing A
inst✝⁹ : CommRing B
inst✝⁸ : CommRing S✝
inst✝⁷ : Algebra R✝ A
inst✝⁶ : Algebra R✝ B
f : R✝ →+* S✝
R : Type u_1
S : Type u_2
T : Type u_3
U : Type u_4
inst✝⁵ : CommRing R
inst✝⁴ : CommRing S
inst✝³ : CommRing T
inst✝² : CommRing U
inst✝¹ : Algebra R S
inst✝ : Algebra T U
φ : R →+* T
ψ : S →+* U
h : RingHom.comp (algebraMap T U) φ = RingHom.comp ψ (algebraMap R S)
a : S
p : R[X]
hp : Monic p ∧ eval₂ (algebraMap R S) a p = 0
⊢ eval₂ (algebraMap T ((fun x => U) a)) (↑ψ a) (Polynomial.map φ p) = 0