tasksource/leandojo huggingface dataset:
Theorem: pi_norm_le_iff_of_nonempty'
File: Mathlib/Analysis/Normed/Group/Basic.lean

tactic: by_cases hr : 0 ≤ r
state_before: 𝓕 : Type ?u.1269284
𝕜 : Type ?u.1269287
α : Type ?u.1269290
ι : Type u_1
κ : Type ?u.1269296
E : Type ?u.1269299
F : Type ?u.1269302
G : Type ?u.1269305
π : ι → Type u_2
inst✝³ : Fintype ι
inst✝² : (i : ι) → SeminormedGroup (π i)
inst✝¹ : SeminormedGroup E
f x : (i : ι) → π i
r : ℝ
inst✝ : Nonempty ι
⊢ ‖f‖ ≤ r ↔ ∀ (b : ι), ‖f b‖ ≤ r

tactic: exact pi_norm_le_iff_of_nonneg' hr
state_before: case pos
𝓕 : Type ?u.1269284
𝕜 : Type ?u.1269287
α : Type ?u.1269290
ι : Type u_1
κ : Type ?u.1269296
E : Type ?u.1269299
F : Type ?u.1269302
G : Type ?u.1269305
π : ι → Type u_2
inst✝³ : Fintype ι
inst✝² : (i : ι) → SeminormedGroup (π i)
inst✝¹ : SeminormedGroup E
f x : (i : ι) → π i
r : ℝ
inst✝ : Nonempty ι
hr : 0 ≤ r
⊢ ‖f‖ ≤ r ↔ ∀ (b : ι), ‖f b‖ ≤ r

tactic: exact
  iff_of_false (fun h => hr <| (norm_nonneg' _).trans h) fun h =>
    hr <| (norm_nonneg' _).trans <| h <| Classical.arbitrary _
state_before: case neg
𝓕 : Type ?u.1269284
𝕜 : Type ?u.1269287
α : Type ?u.1269290
ι : Type u_1
κ : Type ?u.1269296
E : Type ?u.1269299
F : Type ?u.1269302
G : Type ?u.1269305
π : ι → Type u_2
inst✝³ : Fintype ι
inst✝² : (i : ι) → SeminormedGroup (π i)
inst✝¹ : SeminormedGroup E
f x : (i : ι) → π i
r : ℝ
inst✝ : Nonempty ι
hr : ¬0 ≤ r
⊢ ‖f‖ ≤ r ↔ ∀ (b : ι), ‖f b‖ ≤ r
Theorem: pow_padicValNat_dvd
File: Mathlib/NumberTheory/Padics/PadicVal.lean

tactic: rcases n.eq_zero_or_pos with (rfl | hn)
state_before: p n : ℕ
⊢ p ^ padicValNat p n ∣ n

tactic: rcases eq_or_ne p 1 with (rfl | hp)
state_before: case inr
p n : ℕ
hn : n > 0
⊢ p ^ padicValNat p n ∣ n

tactic: rw [multiplicity.pow_dvd_iff_le_multiplicity, padicValNat_def'] <;> assumption
state_before: case inr.inr
p n : ℕ
hn : n > 0
hp : p ≠ 1
⊢ p ^ padicValNat p n ∣ n

tactic: simp
state_before: case inl
p : ℕ
⊢ p ^ padicValNat p 0 ∣ 0

tactic: simp
state_before: case inr.inl
n : ℕ
hn : n > 0
⊢ 1 ^ padicValNat 1 n ∣ n
Theorem: LinearMap.span_inl_union_inr
File: Mathlib/LinearAlgebra/Prod.lean

tactic: rw [span_union, prod_eq_sup_map, ← span_image, ← span_image]
state_before: R : Type u
K : Type u'
M : Type v
V : Type v'
M₂ : Type w
V₂ : Type w'
M₃ : Type y
V₃ : Type y'
M₄ : Type z
ι : Type x
M₅ : Type ?u.223392
M₆ : Type ?u.223395
inst✝⁸ : Semiring R
inst✝⁷ : AddCommMonoid M
inst✝⁶ : AddCommMonoid M₂
inst✝⁵ : AddCommMonoid M₃
inst✝⁴ : AddCommMonoid M₄
inst✝³ : Module R M
inst✝² : Module R M₂
inst✝¹ : Module R M₃
inst✝ : Module R M₄
s : Set M
t : Set M₂
⊢ span R (↑(inl R M M₂) '' s ∪ ↑(inr R M M₂) '' t) = Submodule.prod (span R s) (span R t)
Theorem: Tree.numLeaves_pos
File: Mathlib/Data/Tree.lean

tactic: rw [numLeaves_eq_numNodes_succ]
state_before: α : Type u
x : Tree α
⊢ 0 < numLeaves x

tactic: exact x.numNodes.zero_lt_succ
state_before: α : Type u
x : Tree α
⊢ 0 < numNodes x + 1
Theorem: orderOf_map_dvd
File: Mathlib/GroupTheory/OrderOfElement.lean

tactic: apply orderOf_dvd_of_pow_eq_one
state_before: G : Type u
A : Type v
x✝ y : G
a b : A
n m : ℕ
inst✝² : Monoid G
inst✝¹ : AddMonoid A
H : Type u_1
inst✝ : Monoid H
ψ : G →* H
x : G
⊢ orderOf (↑ψ x) ∣ orderOf x

tactic: rw [← map_pow, pow_orderOf_eq_one]
state_before: case h
G : Type u
A : Type v
x✝ y : G
a b : A
n m : ℕ
inst✝² : Monoid G
inst✝¹ : AddMonoid A
H : Type u_1
inst✝ : Monoid H
ψ : G →* H
x : G
⊢ ↑ψ x ^ orderOf x = 1

tactic: apply map_one
state_before: case h
G : Type u
A : Type v
x✝ y : G
a b : A
n m : ℕ
inst✝² : Monoid G
inst✝¹ : AddMonoid A
H : Type u_1
inst✝ : Monoid H
ψ : G →* H
x : G
⊢ ↑ψ 1 = 1
Theorem: FormalMultilinearSeries.coeff_fslope
File: Mathlib/Analysis/Calculus/FormalMultilinearSeries.lean

tactic: simp only [fslope, coeff, ContinuousMultilinearMap.curryLeft_apply]
state_before: 𝕜 : Type u
𝕜' : Type u'
E : Type v
F : Type w
G : Type x
inst✝² : NontriviallyNormedField 𝕜
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
p : FormalMultilinearSeries 𝕜 𝕜 E
n : ℕ
⊢ coeff (fslope p) n = coeff p (n + 1)

tactic: congr 1
state_before: 𝕜 : Type u
𝕜' : Type u'
E : Type v
F : Type w
G : Type x
inst✝² : NontriviallyNormedField 𝕜
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
p : FormalMultilinearSeries 𝕜 𝕜 E
n : ℕ
⊢ ↑(p (n + 1)) (cons 1 1) = ↑(p (n + 1)) 1

tactic: exact Fin.cons_self_tail 1
state_before: case h.e_6.h
𝕜 : Type u
𝕜' : Type u'
E : Type v
F : Type w
G : Type x
inst✝² : NontriviallyNormedField 𝕜
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
p : FormalMultilinearSeries 𝕜 𝕜 E
n : ℕ
⊢ cons 1 1 = 1
Theorem: MeasureTheory.Measure.sum_apply_eq_zero'
File: Mathlib/MeasureTheory/Measure/MeasureSpace.lean

tactic: simp [hs]
state_before: α : Type u_1
β : Type ?u.338998
γ : Type ?u.339001
δ : Type ?u.339004
ι : Type u_2
R : Type ?u.339010
R' : Type ?u.339013
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ✝ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t : Set α
μ : ι → Measure α
s : Set α
hs : MeasurableSet s
⊢ ↑↑(sum μ) s = 0 ↔ ∀ (i : ι), ↑↑(μ i) s = 0
Theorem: MeasureTheory.IsFundamentalDomain.set_lintegral_eq_tsum'
File: Mathlib/MeasureTheory/Group/FundamentalDomain.lean

tactic: simp only [smul_set_inter, inv_smul_smul]
state_before: G : Type u_1
H : Type ?u.206231
α : Type u_2
β : Type ?u.206237
E : Type ?u.206240
inst✝¹⁰ : Group G
inst✝⁹ : Group H
inst✝⁸ : MulAction G α
inst✝⁷ : MeasurableSpace α
inst✝⁶ : MulAction H β
inst✝⁵ : MeasurableSpace β
inst✝⁴ : NormedAddCommGroup E
s t✝ : Set α
μ : Measure α
inst✝³ : MeasurableSpace G
inst✝² : MeasurableSMul G α
inst✝¹ : SMulInvariantMeasure G α μ
inst✝ : Countable G
ν : Measure α
h : IsFundamentalDomain G s
f : α → ℝ≥0∞
t : Set α
⊢ (∑' (g : G), ∫⁻ (x : α) in t ∩ g⁻¹ • s, f x ∂μ) = ∑' (g : G), ∫⁻ (x : α) in g⁻¹ • (g • t ∩ s), f x ∂μ
Theorem: contDiffAt_zero
File: Mathlib/Analysis/Calculus/ContDiffDef.lean

tactic: rw [← contDiffWithinAt_univ]
state_before: 𝕜 : Type u
inst✝⁸ : NontriviallyNormedField 𝕜
E : Type uE
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
F : Type uF
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
G : Type uG
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
X : Type uX
inst✝¹ : NormedAddCommGroup X
inst✝ : NormedSpace 𝕜 X
s s₁ t u : Set E
f f₁ : E → F
g : F → G
x x₀ : E
c : F
m n : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
⊢ ContDiffAt 𝕜 0 f x ↔ ∃ u, u ∈ 𝓝 x ∧ ContinuousOn f u

tactic: simp [contDiffWithinAt_zero, nhdsWithin_univ]
state_before: 𝕜 : Type u
inst✝⁸ : NontriviallyNormedField 𝕜
E : Type uE
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
F : Type uF
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
G : Type uG
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
X : Type uX
inst✝¹ : NormedAddCommGroup X
inst✝ : NormedSpace 𝕜 X
s s₁ t u : Set E
f f₁ : E → F
g : F → G
x x₀ : E
c : F
m n : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
⊢ ContDiffWithinAt 𝕜 0 f univ x ↔ ∃ u, u ∈ 𝓝 x ∧ ContinuousOn f u
Theorem: Finset.noncommProd_map
File: Mathlib/Data/Finset/NoncommProd.lean

tactic: simp [noncommProd, Multiset.noncommProd_map]
state_before: F : Type u_1
ι : Type ?u.159885
α : Type u_4
β : Type u_2
γ : Type u_3
f✝ : α → β → β
op : α → α → α
inst✝² : Monoid β
inst✝¹ : Monoid γ
inst✝ : MonoidHomClass F β γ
s : Finset α
f : α → β
comm : Set.Pairwise ↑s fun a b => Commute (f a) (f b)
g : F
⊢ ↑g (noncommProd s f comm) =
    noncommProd s (fun i => ↑g (f i))
      (_ : ∀ (x : α), x ∈ ↑s → ∀ (y : α), y ∈ ↑s → x ≠ y → Commute (↑g (f x)) (↑g (f y)))
Theorem: MeasureTheory.sum_measure_preimage_singleton
File: Mathlib/MeasureTheory/Measure/MeasureSpace.lean

tactic: simp only [← measure_biUnion_finset (pairwiseDisjoint_fiber f s) hf,
  Finset.set_biUnion_preimage_singleton]
state_before: α : Type u_2
β : Type u_1
γ : Type ?u.19527
δ : Type ?u.19530
ι : Type ?u.19533
R : Type ?u.19536
R' : Type ?u.19539
m : MeasurableSpace α
μ μ₁ μ₂ : Measure α
s✝ s₁ s₂ t : Set α
s : Finset β
f : α → β
hf : ∀ (y : β), y ∈ s → MeasurableSet (f ⁻¹' {y})
⊢ ∑ b in s, ↑↑μ (f ⁻¹' {b}) = ↑↑μ (f ⁻¹' ↑s)
Theorem: Relation.ReflTransGen.total_of_right_unique
File: Mathlib/Logic/Relation.lean

tactic: induction' ab with b d _ bd IH
state_before: α : Type u_1
β : Type ?u.18068
γ : Type ?u.18071
δ : Type ?u.18074
r : α → α → Prop
a b c d : α
U : Relator.RightUnique r
ab : ReflTransGen r a b
ac : ReflTransGen r a c
⊢ ReflTransGen r b c ∨ ReflTransGen r c b

tactic: exact Or.inl ac
state_before: case refl
α : Type u_1
β : Type ?u.18068
γ : Type ?u.18071
δ : Type ?u.18074
r : α → α → Prop
a b c d : α
U : Relator.RightUnique r
ac : ReflTransGen r a c
⊢ ReflTransGen r a c ∨ ReflTransGen r c a

tactic: rcases IH with (IH | IH)
state_before: case tail
α : Type u_1
β : Type ?u.18068
γ : Type ?u.18071
δ : Type ?u.18074
r : α → α → Prop
a b✝ c d✝ : α
U : Relator.RightUnique r
ac : ReflTransGen r a c
b d : α
a✝ : ReflTransGen r a b
bd : r b d
IH : ReflTransGen r b c ∨ ReflTransGen r c b
⊢ ReflTransGen r d c ∨ ReflTransGen r c d

tactic: rcases cases_head IH with (rfl | ⟨e, be, ec⟩)
state_before: case tail.inl
α : Type u_1
β : Type ?u.18068
γ : Type ?u.18071
δ : Type ?u.18074
r : α → α → Prop
a b✝ c d✝ : α
U : Relator.RightUnique r
ac : ReflTransGen r a c
b d : α
a✝ : ReflTransGen r a b
bd : r b d
IH : ReflTransGen r b c
⊢ ReflTransGen r d c ∨ ReflTransGen r c d

tactic: exact Or.inr (single bd)
state_before: case tail.inl.inl
α : Type u_1
β : Type ?u.18068
γ : Type ?u.18071
δ : Type ?u.18074
r : α → α → Prop
a b✝ d✝ : α
U : Relator.RightUnique r
b d : α
a✝ : ReflTransGen r a b
bd : r b d
ac : ReflTransGen r a b
IH : ReflTransGen r b b
⊢ ReflTransGen r d b ∨ ReflTransGen r b d

tactic: cases U bd be
state_before: case tail.inl.inr.intro.intro
α : Type u_1
β : Type ?u.18068
γ : Type ?u.18071
δ : Type ?u.18074
r : α → α → Prop
a b✝ c d✝ : α
U : Relator.RightUnique r
ac : ReflTransGen r a c
b d : α
a✝ : ReflTransGen r a b
bd : r b d
IH : ReflTransGen r b c
e : α
be : r b e
ec : ReflTransGen r e c
⊢ ReflTransGen r d c ∨ ReflTransGen r c d

tactic: exact Or.inl ec
state_before: case tail.inl.inr.intro.intro.refl
α : Type u_1
β : Type ?u.18068
γ : Type ?u.18071
δ : Type ?u.18074
r : α → α → Prop
a b✝ c d✝ : α
U : Relator.RightUnique r
ac : ReflTransGen r a c
b d : α
a✝ : ReflTransGen r a b
bd : r b d
IH : ReflTransGen r b c
be : r b d
ec : ReflTransGen r d c
⊢ ReflTransGen r d c ∨ ReflTransGen r c d

tactic: exact Or.inr (IH.tail bd)
state_before: case tail.inr
α : Type u_1
β : Type ?u.18068
γ : Type ?u.18071
δ : Type ?u.18074
r : α → α → Prop
a b✝ c d✝ : α
U : Relator.RightUnique r
ac : ReflTransGen r a c
b d : α
a✝ : ReflTransGen r a b
bd : r b d
IH : ReflTransGen r c b
⊢ ReflTransGen r d c ∨ ReflTransGen r c d
Theorem: gcd_mul_right
File: Mathlib/Algebra/GCDMonoid/Basic.lean

tactic: simp only [mul_comm, gcd_mul_left]
state_before: α : Type u_1
inst✝¹ : CancelCommMonoidWithZero α
inst✝ : NormalizedGCDMonoid α
a b c : α
⊢ gcd (b * a) (c * a) = gcd b c * ↑normalize a
Theorem: Matrix.rank_zero
File: Mathlib/Data/Matrix/Rank.lean

tactic: rw [rank, mulVecLin_zero, LinearMap.range_zero, finrank_bot]
state_before: l : Type ?u.9554
m : Type u_2
n : Type u_3
o : Type ?u.9563
R : Type u_1
m_fin : Fintype m
inst✝³ : Fintype n
inst✝² : Fintype o
inst✝¹ : CommRing R
inst✝ : Nontrivial R
⊢ rank 0 = 0
Theorem: Cardinal.empty_theory_categorical
File: Mathlib/ModelTheory/Satisfiability.lean

tactic: rw [empty.nonempty_equiv_iff, hM, hN]
state_before: L : Language
κ : Cardinal
T✝ : Theory L
T : Theory Language.empty
M N : Theory.ModelType T
hM : (#↑M) = κ
hN : (#↑N) = κ
⊢ Nonempty (↑M ≃[Language.empty] ↑N)
Theorem: Finset.Ico_subset_Ico_union_Ico
File: Mathlib/Data/Finset/LocallyFinite.lean

tactic: rw [← coe_subset, coe_union, coe_Ico, coe_Ico, coe_Ico]
state_before: ι : Type ?u.128088
α : Type u_1
inst✝¹ : LinearOrder α
inst✝ : LocallyFiniteOrder α
a✝ b✝ a b c : α
⊢ Ico a c ⊆ Ico a b ∪ Ico b c

tactic: exact Set.Ico_subset_Ico_union_Ico
state_before: ι : Type ?u.128088
α : Type u_1
inst✝¹ : LinearOrder α
inst✝ : LocallyFiniteOrder α
a✝ b✝ a b c : α
⊢ Set.Ico a c ⊆ Set.Ico a b ∪ Set.Ico b c
Theorem: Int.units_mul_self
File: Mathlib/Data/Int/Order/Units.lean

tactic: rw [← sq, units_sq]
state_before: u : ℤˣ
⊢ u * u = 1
Theorem: StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_source
File: Mathlib/Geometry/Manifold/LocalInvariantProperties.lean

tactic: rw [liftPropWithinAt_self_source, LiftPropWithinAt,
  e.symm.continuousWithinAt_iff_continuousWithinAt_comp_right xe, e.symm_symm]
state_before: H : Type u_1
M : Type u_2
H' : Type u_3
M' : Type u_4
X : Type ?u.25242
inst✝⁷ : TopologicalSpace H
inst✝⁶ : TopologicalSpace M
inst✝⁵ : ChartedSpace H M
inst✝⁴ : TopologicalSpace H'
inst✝³ : TopologicalSpace M'
inst✝² : ChartedSpace H' M'
inst✝¹ : TopologicalSpace X
G : StructureGroupoid H
G' : StructureGroupoid H'
e e' : LocalHomeomorph M H
f f' : LocalHomeomorph M' H'
P : (H → H') → Set H → H → Prop
g g' : M → M'
s t : Set M
x : M
Q : (H → H) → Set H → H → Prop
hG : LocalInvariantProp G G' P
inst✝ : HasGroupoid M G
he : e ∈ maximalAtlas M G
xe : x ∈ e.source
⊢ LiftPropWithinAt P g s x ↔ LiftPropWithinAt P (g ∘ ↑(LocalHomeomorph.symm e)) (↑(LocalHomeomorph.symm e) ⁻¹' s) (↑e x)

tactic: refine' and_congr Iff.rfl _
state_before: H : Type u_1
M : Type u_2
H' : Type u_3
M' : Type u_4
X : Type ?u.25242
inst✝⁷ : TopologicalSpace H
inst✝⁶ : TopologicalSpace M
inst✝⁵ : ChartedSpace H M
inst✝⁴ : TopologicalSpace H'
inst✝³ : TopologicalSpace M'
inst✝² : ChartedSpace H' M'
inst✝¹ : TopologicalSpace X
G : StructureGroupoid H
G' : StructureGroupoid H'
e e' : LocalHomeomorph M H
f f' : LocalHomeomorph M' H'
P : (H → H') → Set H → H → Prop
g g' : M → M'
s t : Set M
x : M
Q : (H → H) → Set H → H → Prop
hG : LocalInvariantProp G G' P
inst✝ : HasGroupoid M G
he : e ∈ maximalAtlas M G
xe : x ∈ e.source
⊢ ContinuousWithinAt (g ∘ ↑(LocalHomeomorph.symm e)) (↑(LocalHomeomorph.symm e) ⁻¹' s) (↑e x) ∧
      P (↑(chartAt H' (g x)) ∘ g ∘ ↑(LocalHomeomorph.symm (chartAt H x))) (↑(LocalHomeomorph.symm (chartAt H x)) ⁻¹' s)
        (↑(chartAt H x) x) ↔
    ContinuousWithinAt (g ∘ ↑(LocalHomeomorph.symm e)) (↑(LocalHomeomorph.symm e) ⁻¹' s) (↑e x) ∧
      P (↑(chartAt H' ((g ∘ ↑(LocalHomeomorph.symm e)) (↑e x))) ∘ g ∘ ↑(LocalHomeomorph.symm e))
        (↑(LocalHomeomorph.symm e) ⁻¹' s) (↑e x)

tactic: rw [Function.comp_apply, e.left_inv xe, ← Function.comp.assoc,
  hG.liftPropWithinAt_indep_chart_source_aux (chartAt _ (g x) ∘ g) (chart_mem_maximalAtlas G x)
    (mem_chart_source _ x) he xe, Function.comp.assoc]
state_before: H : Type u_1
M : Type u_2
H' : Type u_3
M' : Type u_4
X : Type ?u.25242
inst✝⁷ : TopologicalSpace H
inst✝⁶ : TopologicalSpace M
inst✝⁵ : ChartedSpace H M
inst✝⁴ : TopologicalSpace H'
inst✝³ : TopologicalSpace M'
inst✝² : ChartedSpace H' M'
inst✝¹ : TopologicalSpace X
G : StructureGroupoid H
G' : StructureGroupoid H'
e e' : LocalHomeomorph M H
f f' : LocalHomeomorph M' H'
P : (H → H') → Set H → H → Prop
g g' : M → M'
s t : Set M
x : M
Q : (H → H) → Set H → H → Prop
hG : LocalInvariantProp G G' P
inst✝ : HasGroupoid M G
he : e ∈ maximalAtlas M G
xe : x ∈ e.source
⊢ P (↑(chartAt H' (g x)) ∘ g ∘ ↑(LocalHomeomorph.symm (chartAt H x))) (↑(LocalHomeomorph.symm (chartAt H x)) ⁻¹' s)
      (↑(chartAt H x) x) ↔
    P (↑(chartAt H' ((g ∘ ↑(LocalHomeomorph.symm e)) (↑e x))) ∘ g ∘ ↑(LocalHomeomorph.symm e))
      (↑(LocalHomeomorph.symm e) ⁻¹' s) (↑e x)
Theorem: List.aemeasurable_prod'
File: Mathlib/MeasureTheory/Group/Arithmetic.lean

tactic: induction' l with f l ihl
state_before: M : Type u_1
α : Type u_2
inst✝² : Monoid M
inst✝¹ : MeasurableSpace M
inst✝ : MeasurableMul₂ M
m : MeasurableSpace α
μ : MeasureTheory.Measure α
l : List (α → M)
hl : ∀ (f : α → M), f ∈ l → AEMeasurable f
⊢ AEMeasurable (prod l)

tactic: rw [List.forall_mem_cons] at hl
state_before: case cons
M : Type u_1
α : Type u_2
inst✝² : Monoid M
inst✝¹ : MeasurableSpace M
inst✝ : MeasurableMul₂ M
m : MeasurableSpace α
μ : MeasureTheory.Measure α
l✝ : List (α → M)
hl✝ : ∀ (f : α → M), f ∈ l✝ → AEMeasurable f
f : α → M
l : List (α → M)
ihl : (∀ (f : α → M), f ∈ l → AEMeasurable f) → AEMeasurable (prod l)
hl : ∀ (f_1 : α → M), f_1 ∈ f :: l → AEMeasurable f_1
⊢ AEMeasurable (prod (f :: l))

tactic: rw [List.prod_cons]
state_before: case cons
M : Type u_1
α : Type u_2
inst✝² : Monoid M
inst✝¹ : MeasurableSpace M
inst✝ : MeasurableMul₂ M
m : MeasurableSpace α
μ : MeasureTheory.Measure α
l✝ : List (α → M)
hl✝ : ∀ (f : α → M), f ∈ l✝ → AEMeasurable f
f : α → M
l : List (α → M)
ihl : (∀ (f : α → M), f ∈ l → AEMeasurable f) → AEMeasurable (prod l)
hl : AEMeasurable f ∧ ∀ (x : α → M), x ∈ l → AEMeasurable x
⊢ AEMeasurable (prod (f :: l))

tactic: exact hl.1.mul (ihl hl.2)
state_before: case cons
M : Type u_1
α : Type u_2
inst✝² : Monoid M
inst✝¹ : MeasurableSpace M
inst✝ : MeasurableMul₂ M
m : MeasurableSpace α
μ : MeasureTheory.Measure α
l✝ : List (α → M)
hl✝ : ∀ (f : α → M), f ∈ l✝ → AEMeasurable f
f : α → M
l : List (α → M)
ihl : (∀ (f : α → M), f ∈ l → AEMeasurable f) → AEMeasurable (prod l)
hl : AEMeasurable f ∧ ∀ (x : α → M), x ∈ l → AEMeasurable x
⊢ AEMeasurable (f * prod l)

tactic: exact aemeasurable_one
state_before: case nil
M : Type u_1
α : Type u_2
inst✝² : Monoid M
inst✝¹ : MeasurableSpace M
inst✝ : MeasurableMul₂ M
m : MeasurableSpace α
μ : MeasureTheory.Measure α
l : List (α → M)
hl✝ : ∀ (f : α → M), f ∈ l → AEMeasurable f
hl : ∀ (f : α → M), f ∈ [] → AEMeasurable f
⊢ AEMeasurable (prod [])
Theorem: MeasureTheory.snormEssSup_le_nnreal_smul_snormEssSup_of_ae_le_mul
File: Mathlib/MeasureTheory/Function/LpSeminorm.lean

tactic: simp_rw [ENNReal.coe_mul]
state_before: α : Type u_1
E : Type ?u.5056591
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‖₊
⊢ essSup (fun x => ↑(c * ‖g x‖₊)) μ = essSup (fun x => ↑c * ↑‖g x‖₊) μ
Theorem: Commute.div_add_div
File: Mathlib/Algebra/Field/Basic.lean

tactic: rw [add_div, mul_div_mul_right _ b hd, hbc.eq, hbd.eq, mul_div_mul_right c d hb]
state_before: α : Type u_1
β : Type ?u.8938
K : Type ?u.8941
inst✝ : DivisionSemiring α
a b c d : α
hbc : _root_.Commute b c
hbd : _root_.Commute b d
hb : b ≠ 0
hd : d ≠ 0
⊢ a / b + c / d = (a * d + b * c) / (b * d)
Theorem: Ordinal.CNFRec_pos
File: Mathlib/SetTheory/Ordinal/CantorNormalForm.lean

tactic: rw [CNFRec, dif_neg ho]
state_before: b o : Ordinal
C : Ordinal → Sort u_2
ho : o ≠ 0
H0 : C 0
H : (o : Ordinal) → o ≠ 0 → C (o % b ^ log b o) → C o
⊢ CNFRec b H0 H o = H o ho (CNFRec b H0 H (o % b ^ log b o))
Theorem: MeasureTheory.L1.setToL1_simpleFunc_indicatorConst
File: Mathlib/MeasureTheory/Integral/SetToL1.lean

tactic: rw [setToL1_eq_setToL1SCLM]
state_before: α : Type u_1
E : Type u_2
F : Type u_3
F' : Type ?u.1184044
G : Type ?u.1184047
𝕜 : Type ?u.1184050
p : ℝ≥0∞
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℝ E
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace ℝ F
inst✝⁶ : NormedAddCommGroup F'
inst✝⁵ : NormedSpace ℝ F'
inst✝⁴ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
inst✝³ : NontriviallyNormedField 𝕜
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedSpace 𝕜 F
inst✝ : CompleteSpace F
T T' T'' : Set α → E →L[ℝ] F
C C' C'' : ℝ
hT : DominatedFinMeasAdditive μ T C
s : Set α
hs : MeasurableSet s
hμs : ↑↑μ s < ⊤
x : E
⊢ ↑(setToL1 hT) ↑(indicatorConst 1 hs (_ : ↑↑μ s ≠ ⊤) x) = ↑(T s) x

tactic: exact setToL1S_indicatorConst (fun s => hT.eq_zero_of_measure_zero) hT.1 hs hμs x
state_before: α : Type u_1
E : Type u_2
F : Type u_3
F' : Type ?u.1184044
G : Type ?u.1184047
𝕜 : Type ?u.1184050
p : ℝ≥0∞
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℝ E
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace ℝ F
inst✝⁶ : NormedAddCommGroup F'
inst✝⁵ : NormedSpace ℝ F'
inst✝⁴ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
inst✝³ : NontriviallyNormedField 𝕜
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedSpace 𝕜 F
inst✝ : CompleteSpace F
T T' T'' : Set α → E →L[ℝ] F
C C' C'' : ℝ
hT : DominatedFinMeasAdditive μ T C
s : Set α
hs : MeasurableSet s
hμs : ↑↑μ s < ⊤
x : E
⊢ ↑(setToL1SCLM α E μ hT) (indicatorConst 1 hs (_ : ↑↑μ s ≠ ⊤) x) = ↑(T s) x
Theorem: innerDualCone_insert
File: Mathlib/Analysis/Convex/Cone/Dual.lean

tactic: rw [insert_eq, innerDualCone_union]
state_before: 𝕜 : Type ?u.14771
E : Type ?u.14774
F : Type ?u.14777
G : Type ?u.14780
H : Type u_1
inst✝¹ : NormedAddCommGroup H
inst✝ : InnerProductSpace ℝ H
s✝ t : Set H
x : H
s : Set H
⊢ innerDualCone (insert x s) = innerDualCone {x} ⊓ innerDualCone s
Theorem: NNReal.rpow_nat_inv_pow_nat
File: Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean

tactic: rw [← NNReal.coe_eq, NNReal.coe_pow, coe_rpow]
state_before: x : ℝ≥0
n : ℕ
hn : n ≠ 0
⊢ (x ^ (↑n)⁻¹) ^ n = x

tactic: exact Real.rpow_nat_inv_pow_nat x.2 hn
state_before: x : ℝ≥0
n : ℕ
hn : n ≠ 0
⊢ (↑x ^ (↑n)⁻¹) ^ n = ↑x
Theorem: Matrix.rank_self_mul_conjTranspose
File: Mathlib/Data/Matrix/Rank.lean

tactic: simpa only [rank_conjTranspose, conjTranspose_conjTranspose] using
  rank_conjTranspose_mul_self Aᴴ
state_before: l : Type ?u.262172
m : Type u_1
n : Type u_2
o : Type ?u.262181
R : Type u_3
m_fin : Fintype m
inst✝⁵ : Fintype n
inst✝⁴ : Fintype o
inst✝³ : Fintype m
inst✝² : Field R
inst✝¹ : PartialOrder R
inst✝ : StarOrderedRing R
A : Matrix m n R
⊢ rank (A ⬝ Aᴴ) = rank A
Theorem: LieSubalgebra.mem_normalizer_iff
File: Mathlib/Algebra/Lie/Normalizer.lean

tactic: rw [mem_normalizer_iff']
state_before: R : Type u_2
L : Type u_1
M : Type ?u.39536
M' : Type ?u.39539
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
H : LieSubalgebra R L
x : L
⊢ x ∈ normalizer H ↔ ∀ (y : L), y ∈ H → ⁅x, y⁆ ∈ H

tactic: refine' forall₂_congr fun y hy => _
state_before: R : Type u_2
L : Type u_1
M : Type ?u.39536
M' : Type ?u.39539
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
H : LieSubalgebra R L
x : L
⊢ (∀ (y : L), y ∈ H → ⁅y, x⁆ ∈ H) ↔ ∀ (y : L), y ∈ H → ⁅x, y⁆ ∈ H

tactic: rw [← lie_skew, neg_mem_iff (G := L)]
state_before: R : Type u_2
L : Type u_1
M : Type ?u.39536
M' : Type ?u.39539
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
H : LieSubalgebra R L
x y : L
hy : y ∈ H
⊢ ⁅y, x⁆ ∈ H ↔ ⁅x, y⁆ ∈ H
Theorem: Finset.sumLift₂_nonempty
File: Mathlib/Data/Sum/Interval.lean

tactic: simp only [nonempty_iff_ne_empty, Ne, sumLift₂_eq_empty, not_and_or, not_forall, not_imp]
state_before: α₁ : Type u_3
α₂ : Type u_4
β₁ : Type u_5
β₂ : Type u_6
γ₁ : Type u_1
γ₂ : Type u_2
f f₁ g₁ : α₁ → β₁ → Finset γ₁
g f₂ g₂ : α₂ → β₂ → Finset γ₂
a : α₁ ⊕ α₂
b : β₁ ⊕ β₂
c : γ₁ ⊕ γ₂
⊢ Finset.Nonempty (sumLift₂ f g a b) ↔
    (∃ a₁ b₁, a = inl a₁ ∧ b = inl b₁ ∧ Finset.Nonempty (f a₁ b₁)) ∨
      ∃ a₂ b₂, a = inr a₂ ∧ b = inr b₂ ∧ Finset.Nonempty (g a₂ b₂)
Theorem: List.takeD_eq_takeDTR
File: Std/Data/List/Basic.lean

tactic: funext α f n l
state_before: ⊢ @takeD = @takeDTR

tactic: simp [takeDTR, takeDTR_go_eq]
state_before: case h.h.h.h
α : Type u_1
f : Nat
n : List α
l : α
⊢ takeD f n l = takeDTR f n l
Theorem: Set.image_sInter_subset
File: Mathlib/Data/Set/Lattice.lean

tactic: rw [sInter_eq_biInter]
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.185546
ι : Sort ?u.185549
ι' : Sort ?u.185552
ι₂ : Sort ?u.185555
κ : ι → Sort ?u.185560
κ₁ : ι → Sort ?u.185565
κ₂ : ι → Sort ?u.185570
κ' : ι' → Sort ?u.185575
S : Set (Set α)
f : α → β
⊢ f '' ⋂₀ S ⊆ ⋂ (s : Set α) (_ : s ∈ S), f '' s

tactic: apply image_iInter₂_subset
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.185546
ι : Sort ?u.185549
ι' : Sort ?u.185552
ι₂ : Sort ?u.185555
κ : ι → Sort ?u.185560
κ₁ : ι → Sort ?u.185565
κ₂ : ι → Sort ?u.185570
κ' : ι' → Sort ?u.185575
S : Set (Set α)
f : α → β
⊢ (f '' ⋂ (i : Set α) (_ : i ∈ S), i) ⊆ ⋂ (s : Set α) (_ : s ∈ S), f '' s