tasksource/leandojo huggingface dataset:
Theorem: MeasureTheory.lintegral_indicator_const_comp
File: Mathlib/MeasureTheory/Integral/Lebesgue.lean

tactic: erw [lintegral_comp (measurable_const.indicator hs) hf, lintegral_indicator_const hs,
  Measure.map_apply hf hs]
state_before: α : Type u_2
β : Type u_1
γ : Type ?u.1365626
δ : Type ?u.1365629
m : MeasurableSpace α
μ ν : Measure α
mβ : MeasurableSpace β
f : α → β
s : Set β
hf : Measurable f
hs : MeasurableSet s
c : ℝ≥0∞
⊢ (∫⁻ (a : α), indicator s (fun x => c) (f a) ∂μ) = c * ↑↑μ (f ⁻¹' s)
Theorem: Nat.mod_div_self
File: Mathlib/Data/Nat/Order/Lemmas.lean

tactic: cases n
state_before: a b m✝ n✝ k m n : ℕ
⊢ m % n / n = 0

tactic: exact (m % 0).div_zero
state_before: case zero
a b m✝ n k m : ℕ
⊢ m % zero / zero = 0

tactic: case succ n => exact Nat.div_eq_zero (m.mod_lt n.succ_pos)
state_before: case succ
a b m✝ n k m n✝ : ℕ
⊢ m % succ n✝ / succ n✝ = 0

tactic: exact Nat.div_eq_zero (m.mod_lt n.succ_pos)
state_before: a b m✝ n✝ k m n : ℕ
⊢ m % succ n / succ n = 0
Theorem: Nat.lcm_zero_right
File: Std/Data/Nat/Gcd.lean

tactic: simp [lcm]
state_before: m : Nat
⊢ lcm m 0 = 0
Theorem: EuclideanGeometry.cospherical_pair
File: Mathlib/Geometry/Euclidean/Sphere/Basic.lean

tactic: rintro p (rfl | rfl | _)
state_before: V : Type ?u.9686
P : Type u_1
inst✝³ : NormedAddCommGroup V
inst✝² : NormedSpace ℝ V
inst✝¹ : MetricSpace P
inst✝ : NormedAddTorsor V P
p₁ p₂ : P
⊢ ∀ (p : P), p ∈ {p₁, p₂} → dist p (midpoint ℝ p₁ p₂) = ‖2‖⁻¹ * dist p₁ p₂

tactic: rw [dist_comm, dist_midpoint_left (𝕜 := ℝ)]
state_before: case inl
V : Type ?u.9686
P : Type u_1
inst✝³ : NormedAddCommGroup V
inst✝² : NormedSpace ℝ V
inst✝¹ : MetricSpace P
inst✝ : NormedAddTorsor V P
p₂ p : P
⊢ dist p (midpoint ℝ p p₂) = ‖2‖⁻¹ * dist p p₂

tactic: rw [dist_comm, dist_midpoint_right (𝕜 := ℝ)]
state_before: case inr.refl
V : Type ?u.9686
P : Type u_1
inst✝³ : NormedAddCommGroup V
inst✝² : NormedSpace ℝ V
inst✝¹ : MetricSpace P
inst✝ : NormedAddTorsor V P
p₁ p₂ : P
⊢ dist p₂ (midpoint ℝ p₁ p₂) = ‖2‖⁻¹ * dist p₁ p₂
Theorem: Con.inv
File: Mathlib/GroupTheory/Congruence.lean

tactic: simpa using c.symm (c.mul (c.mul (c.refl x⁻¹) h) (c.refl y⁻¹))
state_before: M : Type u_1
N : Type ?u.96860
P : Type ?u.96863
inst✝² : Group M
inst✝¹ : Group N
inst✝ : Group P
c : Con M
x y : M
h : ↑c x y
⊢ ↑c x⁻¹ y⁻¹
Theorem: Vector.get_tail_succ
File: Mathlib/Data/Vector/Basic.lean

tactic: simp [get_eq_get]
state_before: n : ℕ
α : Type u_1
a : α
l : List α
e : List.length (a :: l) = Nat.succ n
i : ℕ
h : i < n
⊢ get (tail { val := a :: l, property := e }) { val := i, isLt := h } =
    get { val := a :: l, property := e } (Fin.succ { val := i, isLt := h })

tactic: rfl
state_before: n : ℕ
α : Type u_1
a : α
l : List α
e : List.length (a :: l) = Nat.succ n
i : ℕ
h : i < n
⊢ List.get (toList (tail { val := a :: l, property := e }))
      { val := i, isLt := (_ : i < List.length (toList (tail { val := a :: l, property := e }))) } =
    List.get l { val := i, isLt := (_ : i < List.length l) }
Theorem: List.nil_subperm
File: Mathlib/Data/List/Perm.lean

tactic: simp
state_before: α : Type uu
β : Type vv
l₁ l₂ l : List α
⊢ [] <+ l
Theorem: Algebra.TensorProduct.includeLeft_comp_algebraMap
File: Mathlib/RingTheory/TensorProduct.lean

tactic: ext
state_before: R✝ : Type u
inst✝¹⁵ : CommSemiring R✝
A : Type v₁
inst✝¹⁴ : Semiring A
inst✝¹³ : Algebra R✝ A
B : Type v₂
inst✝¹² : Semiring B
inst✝¹¹ : Algebra R✝ B
S✝ : Type ?u.805787
inst✝¹⁰ : CommSemiring S✝
inst✝⁹ : Algebra R✝ S✝
inst✝⁸ : Algebra S✝ A
inst✝⁷ : IsScalarTower R✝ S✝ A
C : Type v₃
inst✝⁶ : Semiring C
inst✝⁵ : Algebra R✝ C
R : Type u_1
S : Type u_2
T : Type u_3
inst✝⁴ : CommRing R
inst✝³ : CommRing S
inst✝² : CommRing T
inst✝¹ : Algebra R S
inst✝ : Algebra R T
⊢ RingHom.comp (↑includeLeft) (algebraMap R S) = RingHom.comp (↑includeRight) (algebraMap R T)

tactic: simp
state_before: case a
R✝ : Type u
inst✝¹⁵ : CommSemiring R✝
A : Type v₁
inst✝¹⁴ : Semiring A
inst✝¹³ : Algebra R✝ A
B : Type v₂
inst✝¹² : Semiring B
inst✝¹¹ : Algebra R✝ B
S✝ : Type ?u.805787
inst✝¹⁰ : CommSemiring S✝
inst✝⁹ : Algebra R✝ S✝
inst✝⁸ : Algebra S✝ A
inst✝⁷ : IsScalarTower R✝ S✝ A
C : Type v₃
inst✝⁶ : Semiring C
inst✝⁵ : Algebra R✝ C
R : Type u_1
S : Type u_2
T : Type u_3
inst✝⁴ : CommRing R
inst✝³ : CommRing S
inst✝² : CommRing T
inst✝¹ : Algebra R S
inst✝ : Algebra R T
x✝ : R
⊢ ↑(RingHom.comp (↑includeLeft) (algebraMap R S)) x✝ = ↑(RingHom.comp (↑includeRight) (algebraMap R T)) x✝
Theorem: Finsupp.sum_ite_self_eq'
File: Mathlib/Algebra/BigOperators/Finsupp.lean

tactic: classical
  convert f.sum_ite_eq' a fun _ => id
  simp [ite_eq_right_iff.2 Eq.symm]
state_before: α : Type u_1
ι : Type ?u.74791
γ : Type ?u.74794
A : Type ?u.74797
B : Type ?u.74800
C : Type ?u.74803
inst✝⁷ : AddCommMonoid A
inst✝⁶ : AddCommMonoid B
inst✝⁵ : AddCommMonoid C
t : ι → A → C
h0 : ∀ (i : ι), t i 0 = 0
h1 : ∀ (i : ι) (x y : A), t i (x + y) = t i x + t i y
s : Finset α
f✝ : α → ι →₀ A
i : ι
g : ι →₀ A
k : ι → A → γ → B
x : γ
β : Type ?u.77933
M : Type ?u.77936
M' : Type ?u.77939
N✝ : Type ?u.77942
P : Type ?u.77945
G : Type ?u.77948
H : Type ?u.77951
R : Type ?u.77954
S : Type ?u.77957
inst✝⁴ : Zero M
inst✝³ : Zero M'
inst✝² : CommMonoid N✝
inst✝¹ : DecidableEq α
N : Type u_2
inst✝ : AddCommMonoid N
f : α →₀ N
a : α
⊢ (sum f fun x v => if x = a then v else 0) = ↑f a

tactic: convert f.sum_ite_eq' a fun _ => id
state_before: α : Type u_1
ι : Type ?u.74791
γ : Type ?u.74794
A : Type ?u.74797
B : Type ?u.74800
C : Type ?u.74803
inst✝⁷ : AddCommMonoid A
inst✝⁶ : AddCommMonoid B
inst✝⁵ : AddCommMonoid C
t : ι → A → C
h0 : ∀ (i : ι), t i 0 = 0
h1 : ∀ (i : ι) (x y : A), t i (x + y) = t i x + t i y
s : Finset α
f✝ : α → ι →₀ A
i : ι
g : ι →₀ A
k : ι → A → γ → B
x : γ
β : Type ?u.77933
M : Type ?u.77936
M' : Type ?u.77939
N✝ : Type ?u.77942
P : Type ?u.77945
G : Type ?u.77948
H : Type ?u.77951
R : Type ?u.77954
S : Type ?u.77957
inst✝⁴ : Zero M
inst✝³ : Zero M'
inst✝² : CommMonoid N✝
inst✝¹ : DecidableEq α
N : Type u_2
inst✝ : AddCommMonoid N
f : α →₀ N
a : α
⊢ (sum f fun x v => if x = a then v else 0) = ↑f a

tactic: simp [ite_eq_right_iff.2 Eq.symm]
state_before: case h.e'_3
α : Type u_1
ι : Type ?u.74791
γ : Type ?u.74794
A : Type ?u.74797
B : Type ?u.74800
C : Type ?u.74803
inst✝⁷ : AddCommMonoid A
inst✝⁶ : AddCommMonoid B
inst✝⁵ : AddCommMonoid C
t : ι → A → C
h0 : ∀ (i : ι), t i 0 = 0
h1 : ∀ (i : ι) (x y : A), t i (x + y) = t i x + t i y
s : Finset α
f✝ : α → ι →₀ A
i : ι
g : ι →₀ A
k : ι → A → γ → B
x : γ
β : Type ?u.77933
M : Type ?u.77936
M' : Type ?u.77939
N✝ : Type ?u.77942
P : Type ?u.77945
G : Type ?u.77948
H : Type ?u.77951
R : Type ?u.77954
S : Type ?u.77957
inst✝⁴ : Zero M
inst✝³ : Zero M'
inst✝² : CommMonoid N✝
inst✝¹ : DecidableEq α
N : Type u_2
inst✝ : AddCommMonoid N
f : α →₀ N
a : α
⊢ ↑f a = if a ∈ f.support then id (↑f a) else 0
Theorem: ae_not_liouvilleWith
File: Mathlib/NumberTheory/Liouville/Measure.lean

tactic: simpa only [ae_iff, not_forall, Classical.not_not, setOf_exists] using
  volume_iUnion_setOf_liouvilleWith
state_before: ⊢ ∀ᵐ (x : ℝ), ∀ (p : ℝ), p > 2 → ¬LiouvilleWith p x
Theorem: Pmf.support_map
File: Mathlib/Probability/ProbabilityMassFunction/Constructions.lean

tactic: simp [map, @eq_comm β b]
state_before: α : Type u_2
β : Type u_1
γ : Type ?u.4250
f : α → β
p : Pmf α
b✝ b : β
⊢ b ∈ support (map f p) ↔ b ∈ f '' support p
Theorem: frontier_univ_prod_eq
File: Mathlib/Topology/Constructions.lean

tactic: simp [frontier_prod_eq]
state_before: α : Type u
β : Type v
γ : Type ?u.61888
δ : Type ?u.61891
ε : Type ?u.61894
ζ : Type ?u.61897
inst✝⁵ : TopologicalSpace α
inst✝⁴ : TopologicalSpace β
inst✝³ : TopologicalSpace γ
inst✝² : TopologicalSpace δ
inst✝¹ : TopologicalSpace ε
inst✝ : TopologicalSpace ζ
s : Set β
⊢ frontier (univ ×ˢ s) = univ ×ˢ frontier s
Theorem: Submodule.prod_span_singleton
File: Mathlib/Algebra/Algebra/Operations.lean

tactic: rw [prod_span, Set.finset_prod_singleton]
state_before: ι✝ : Sort uι
R : Type u
inst✝² : CommSemiring R
A : Type v
inst✝¹ : CommSemiring A
inst✝ : Algebra R A
M N : Submodule R A
m n : A
ι : Type u_1
s : Finset ι
x : ι → A
⊢ ∏ i in s, span R {x i} = span R {∏ i in s, x i}
Theorem: MeasurableSpace.generateFrom_induction
File: Mathlib/MeasureTheory/MeasurableSpaceDef.lean

tactic: induction hs
state_before: α : Type u_1
β : Type ?u.16280
γ : Type ?u.16283
δ : Type ?u.16286
δ' : Type ?u.16289
ι : Sort ?u.16292
s✝ t u : Set α
p : Set α → Prop
C : Set (Set α)
hC : ∀ (t : Set α), t ∈ C → p t
h_empty : p ∅
h_compl : ∀ (t : Set α), p t → p (tᶜ)
h_Union : ∀ (f : ℕ → Set α), (∀ (n : ℕ), p (f n)) → p (⋃ (i : ℕ), f i)
s : Set α
hs : MeasurableSet s
⊢ p s

tactic: exacts [hC _ ‹_›, h_empty, h_compl _ ‹_›, h_Union ‹_› ‹_›]
state_before: case basic
α : Type u_1
β : Type ?u.16280
γ : Type ?u.16283
δ : Type ?u.16286
δ' : Type ?u.16289
ι : Sort ?u.16292
s✝ t u : Set α
p : Set α → Prop
C : Set (Set α)
hC : ∀ (t : Set α), t ∈ C → p t
h_empty : p ∅
h_compl : ∀ (t : Set α), p t → p (tᶜ)
h_Union : ∀ (f : ℕ → Set α), (∀ (n : ℕ), p (f n)) → p (⋃ (i : ℕ), f i)
s u✝ : Set α
a✝ : u✝ ∈ C
⊢ p u✝

case empty
α : Type u_1
β : Type ?u.16280
γ : Type ?u.16283
δ : Type ?u.16286
δ' : Type ?u.16289
ι : Sort ?u.16292
s✝ t u : Set α
p : Set α → Prop
C : Set (Set α)
hC : ∀ (t : Set α), t ∈ C → p t
h_empty : p ∅
h_compl : ∀ (t : Set α), p t → p (tᶜ)
h_Union : ∀ (f : ℕ → Set α), (∀ (n : ℕ), p (f n)) → p (⋃ (i : ℕ), f i)
s : Set α
⊢ p ∅

case compl
α : Type u_1
β : Type ?u.16280
γ : Type ?u.16283
δ : Type ?u.16286
δ' : Type ?u.16289
ι : Sort ?u.16292
s✝ t u : Set α
p : Set α → Prop
C : Set (Set α)
hC : ∀ (t : Set α), t ∈ C → p t
h_empty : p ∅
h_compl : ∀ (t : Set α), p t → p (tᶜ)
h_Union : ∀ (f : ℕ → Set α), (∀ (n : ℕ), p (f n)) → p (⋃ (i : ℕ), f i)
s t✝ : Set α
a✝ : GenerateMeasurable C t✝
a_ih✝ : p t✝
⊢ p (t✝ᶜ)

case iUnion
α : Type u_1
β : Type ?u.16280
γ : Type ?u.16283
δ : Type ?u.16286
δ' : Type ?u.16289
ι : Sort ?u.16292
s✝ t u : Set α
p : Set α → Prop
C : Set (Set α)
hC : ∀ (t : Set α), t ∈ C → p t
h_empty : p ∅
h_compl : ∀ (t : Set α), p t → p (tᶜ)
h_Union : ∀ (f : ℕ → Set α), (∀ (n : ℕ), p (f n)) → p (⋃ (i : ℕ), f i)
s : Set α
f✝ : ℕ → Set α
a✝ : ∀ (n : ℕ), GenerateMeasurable C (f✝ n)
a_ih✝ : ∀ (n : ℕ), p (f✝ n)
⊢ p (⋃ (i : ℕ), f✝ i)
Theorem: Nat.ceil_pos
File: Mathlib/Algebra/Order/Floor.lean

tactic: rw [lt_ceil, cast_zero]
state_before: F : Type ?u.53526
α : Type u_1
β : Type ?u.53532
inst✝¹ : LinearOrderedSemiring α
inst✝ : FloorSemiring α
a : α
n : ℕ
⊢ 0 < ⌈a⌉₊ ↔ 0 < a
Theorem: Filter.forall_neBot_le_iff
File: Mathlib/Order/Filter/Ultrafilter.lean

tactic: refine' ⟨fun H f hf => H f f.neBot hf, _⟩
state_before: α : Type u
β : Type v
γ : Type ?u.53069
f : Filter α
s : Set α
a : α
g : Filter α
p : Filter α → Prop
hp : Monotone p
⊢ (∀ (f : Filter α), NeBot f → f ≤ g → p f) ↔ ∀ (f : Ultrafilter α), ↑f ≤ g → p ↑f

tactic: intro H f hf hfg
state_before: α : Type u
β : Type v
γ : Type ?u.53069
f : Filter α
s : Set α
a : α
g : Filter α
p : Filter α → Prop
hp : Monotone p
⊢ (∀ (f : Ultrafilter α), ↑f ≤ g → p ↑f) → ∀ (f : Filter α), NeBot f → f ≤ g → p f

tactic: exact hp (of_le f) (H _ ((of_le f).trans hfg))
state_before: α : Type u
β : Type v
γ : Type ?u.53069
f✝ : Filter α
s : Set α
a : α
g : Filter α
p : Filter α → Prop
hp : Monotone p
H : ∀ (f : Ultrafilter α), ↑f ≤ g → p ↑f
f : Filter α
hf : NeBot f
hfg : f ≤ g
⊢ p f
Theorem: LinearEquiv.self_trans_symm
File: Mathlib/Algebra/Module/Equiv.lean

tactic: ext x
state_before: R : Type ?u.216670
R₁ : Type u_1
R₂ : Type u_2
R₃ : Type ?u.216679
k : Type ?u.216682
S : Type ?u.216685
M : Type ?u.216688
M₁ : Type u_3
M₂ : Type u_4
M₃ : Type ?u.216697
N₁ : Type ?u.216700
N₂ : Type ?u.216703
N₃ : Type ?u.216706
N₄ : Type ?u.216709
ι : Type ?u.216712
M₄ : Type ?u.216715
inst✝¹⁷ : Semiring R
inst✝¹⁶ : Semiring S
inst✝¹⁵ : Semiring R₁
inst✝¹⁴ : Semiring R₂
inst✝¹³ : Semiring R₃
inst✝¹² : AddCommMonoid M
inst✝¹¹ : AddCommMonoid M₁
inst✝¹⁰ : AddCommMonoid M₂
inst✝⁹ : AddCommMonoid M₃
inst✝⁸ : AddCommMonoid M₄
inst✝⁷ : AddCommMonoid N₁
inst✝⁶ : AddCommMonoid N₂
module_M : Module R M
module_S_M₂ : Module S M₂
σ : R →+* S
σ' : S →+* R
re₁ : RingHomInvPair σ σ'
re₂ : RingHomInvPair σ' σ
e e' : M ≃ₛₗ[σ] M₂
module_M₁ : Module R₁ M₁
module_M₂ : Module R₂ M₂
module_M₃ : Module R₃ M₃
module_N₁ : Module R₁ N₁
module_N₂ : Module R₁ N₂
σ₁₂ : R₁ →+* R₂
σ₂₃ : R₂ →+* R₃
σ₁₃ : R₁ →+* R₃
σ₂₁ : R₂ →+* R₁
σ₃₂ : R₃ →+* R₂
σ₃₁ : R₃ →+* R₁
inst✝⁵ : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
inst✝⁴ : RingHomCompTriple σ₃₂ σ₂₁ σ₃₁
re₁₂ : RingHomInvPair σ₁₂ σ₂₁
re₂₃ : RingHomInvPair σ₂₃ σ₃₂
inst✝³ : RingHomInvPair σ₁₃ σ₃₁
re₂₁ : RingHomInvPair σ₂₁ σ₁₂
re₃₂ : RingHomInvPair σ₃₂ σ₂₃
inst✝² : RingHomInvPair σ₃₁ σ₁₃
e₁₂ : M₁ ≃ₛₗ[σ₁₂] M₂
e₂₃ : M₂ ≃ₛₗ[σ₂₃] M₃
inst✝¹ : RingHomCompTriple σ₂₁ σ₁₃ σ₂₃
inst✝ : RingHomCompTriple σ₃₁ σ₁₂ σ₃₂
f : M₁ ≃ₛₗ[σ₁₂] M₂
⊢ trans f (symm f) = refl R₁ M₁

tactic: simp
state_before: case h
R : Type ?u.216670
R₁ : Type u_1
R₂ : Type u_2
R₃ : Type ?u.216679
k : Type ?u.216682
S : Type ?u.216685
M : Type ?u.216688
M₁ : Type u_3
M₂ : Type u_4
M₃ : Type ?u.216697
N₁ : Type ?u.216700
N₂ : Type ?u.216703
N₃ : Type ?u.216706
N₄ : Type ?u.216709
ι : Type ?u.216712
M₄ : Type ?u.216715
inst✝¹⁷ : Semiring R
inst✝¹⁶ : Semiring S
inst✝¹⁵ : Semiring R₁
inst✝¹⁴ : Semiring R₂
inst✝¹³ : Semiring R₃
inst✝¹² : AddCommMonoid M
inst✝¹¹ : AddCommMonoid M₁
inst✝¹⁰ : AddCommMonoid M₂
inst✝⁹ : AddCommMonoid M₃
inst✝⁸ : AddCommMonoid M₄
inst✝⁷ : AddCommMonoid N₁
inst✝⁶ : AddCommMonoid N₂
module_M : Module R M
module_S_M₂ : Module S M₂
σ : R →+* S
σ' : S →+* R
re₁ : RingHomInvPair σ σ'
re₂ : RingHomInvPair σ' σ
e e' : M ≃ₛₗ[σ] M₂
module_M₁ : Module R₁ M₁
module_M₂ : Module R₂ M₂
module_M₃ : Module R₃ M₃
module_N₁ : Module R₁ N₁
module_N₂ : Module R₁ N₂
σ₁₂ : R₁ →+* R₂
σ₂₃ : R₂ →+* R₃
σ₁₃ : R₁ →+* R₃
σ₂₁ : R₂ →+* R₁
σ₃₂ : R₃ →+* R₂
σ₃₁ : R₃ →+* R₁
inst✝⁵ : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
inst✝⁴ : RingHomCompTriple σ₃₂ σ₂₁ σ₃₁
re₁₂ : RingHomInvPair σ₁₂ σ₂₁
re₂₃ : RingHomInvPair σ₂₃ σ₃₂
inst✝³ : RingHomInvPair σ₁₃ σ₃₁
re₂₁ : RingHomInvPair σ₂₁ σ₁₂
re₃₂ : RingHomInvPair σ₃₂ σ₂₃
inst✝² : RingHomInvPair σ₃₁ σ₁₃
e₁₂ : M₁ ≃ₛₗ[σ₁₂] M₂
e₂₃ : M₂ ≃ₛₗ[σ₂₃] M₃
inst✝¹ : RingHomCompTriple σ₂₁ σ₁₃ σ₂₃
inst✝ : RingHomCompTriple σ₃₁ σ₁₂ σ₃₂
f : M₁ ≃ₛₗ[σ₁₂] M₂
x : M₁
⊢ ↑(trans f (symm f)) x = ↑(refl R₁ M₁) x
Theorem: MeasureTheory.integral_mono_ae
File: Mathlib/MeasureTheory/Integral/Bochner.lean

tactic: simp only [integral, L1.integral]
state_before: α : Type u_1
E : Type ?u.1219372
F : Type ?u.1219375
𝕜 : Type ?u.1219378
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℝ E
inst✝⁸ : CompleteSpace E
inst✝⁷ : NontriviallyNormedField 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : SMulCommClass ℝ 𝕜 E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : CompleteSpace F
f✝ g✝ : α → E
m : MeasurableSpace α
μ : Measure α
X : Type ?u.1222069
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
f g : α → ℝ
hf : Integrable f
hg : Integrable g
h : f ≤ᵐ[μ] g
⊢ (∫ (a : α), f a ∂μ) ≤ ∫ (a : α), g a ∂μ

tactic: exact setToFun_mono (dominatedFinMeasAdditive_weightedSMul μ)
  (fun s _ _ => weightedSMul_nonneg s) hf hg h
state_before: α : Type u_1
E : Type ?u.1219372
F : Type ?u.1219375
𝕜 : Type ?u.1219378
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℝ E
inst✝⁸ : CompleteSpace E
inst✝⁷ : NontriviallyNormedField 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : SMulCommClass ℝ 𝕜 E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : CompleteSpace F
f✝ g✝ : α → E
m : MeasurableSpace α
μ : Measure α
X : Type ?u.1222069
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
f g : α → ℝ
hf : Integrable f
hg : Integrable g
h : f ≤ᵐ[μ] g
⊢ (if hf : Integrable fun a => f a then ↑L1.integralCLM (Integrable.toL1 (fun a => f a) hf) else 0) ≤
    if hf : Integrable fun a => g a then ↑L1.integralCLM (Integrable.toL1 (fun a => g a) hf) else 0
Theorem: ProbabilityTheory.IndepFun.comp
File: Mathlib/Probability/Independence/Basic.lean

tactic: rintro _ _ ⟨A, hA, rfl⟩ ⟨B, hB, rfl⟩
state_before: Ω : Type u_5
ι : Type ?u.3311612
β : Type u_1
β' : Type u_2
γ : Type u_3
γ' : Type u_4
mΩ : MeasurableSpace Ω
μ : MeasureTheory.Measure Ω
f : Ω → β
g : Ω → β'
mβ : MeasurableSpace β
mβ' : MeasurableSpace β'
mγ : MeasurableSpace γ
mγ' : MeasurableSpace γ'
φ : β → γ
ψ : β' → γ'
hfg : IndepFun f g
hφ : Measurable φ
hψ : Measurable ψ
⊢ IndepFun (φ ∘ f) (ψ ∘ g)

tactic: apply hfg
state_before: case intro.intro.intro.intro
Ω : Type u_5
ι : Type ?u.3311612
β : Type u_1
β' : Type u_2
γ : Type u_3
γ' : Type u_4
mΩ : MeasurableSpace Ω
μ : MeasureTheory.Measure Ω
f : Ω → β
g : Ω → β'
mβ : MeasurableSpace β
mβ' : MeasurableSpace β'
mγ : MeasurableSpace γ
mγ' : MeasurableSpace γ'
φ : β → γ
ψ : β' → γ'
hfg : IndepFun f g
hφ : Measurable φ
hψ : Measurable ψ
A : Set γ
hA : MeasurableSet A
B : Set γ'
hB : MeasurableSet B
⊢ ↑↑μ (φ ∘ f ⁻¹' A ∩ ψ ∘ g ⁻¹' B) = ↑↑μ (φ ∘ f ⁻¹' A) * ↑↑μ (ψ ∘ g ⁻¹' B)

tactic: exact ⟨φ ⁻¹' A, hφ hA, Set.preimage_comp.symm⟩
state_before: case intro.intro.intro.intro.a
Ω : Type u_5
ι : Type ?u.3311612
β : Type u_1
β' : Type u_2
γ : Type u_3
γ' : Type u_4
mΩ : MeasurableSpace Ω
μ : MeasureTheory.Measure Ω
f : Ω → β
g : Ω → β'
mβ : MeasurableSpace β
mβ' : MeasurableSpace β'
mγ : MeasurableSpace γ
mγ' : MeasurableSpace γ'
φ : β → γ
ψ : β' → γ'
hfg : IndepFun f g
hφ : Measurable φ
hψ : Measurable ψ
A : Set γ
hA : MeasurableSet A
B : Set γ'
hB : MeasurableSet B
⊢ φ ∘ f ⁻¹' A ∈ {s | MeasurableSet s}

tactic: exact ⟨ψ ⁻¹' B, hψ hB, Set.preimage_comp.symm⟩
state_before: case intro.intro.intro.intro.a
Ω : Type u_5
ι : Type ?u.3311612
β : Type u_1
β' : Type u_2
γ : Type u_3
γ' : Type u_4
mΩ : MeasurableSpace Ω
μ : MeasureTheory.Measure Ω
f : Ω → β
g : Ω → β'
mβ : MeasurableSpace β
mβ' : MeasurableSpace β'
mγ : MeasurableSpace γ
mγ' : MeasurableSpace γ'
φ : β → γ
ψ : β' → γ'
hfg : IndepFun f g
hφ : Measurable φ
hψ : Measurable ψ
A : Set γ
hA : MeasurableSet A
B : Set γ'
hB : MeasurableSet B
⊢ ψ ∘ g ⁻¹' B ∈ {s | MeasurableSet s}
Theorem: Uniform.tendsto_nhds_right
File: Mathlib/Topology/UniformSpace/Basic.lean

tactic: rw [nhds_eq_comap_uniformity, tendsto_comap_iff]
state_before: α : Type ua
β : Type ub
γ : Type uc
δ : Type ud
ι : Sort ?u.196733
inst✝ : UniformSpace α
f : Filter β
u : β → α
a : α
⊢ Tendsto u f (𝓝 a) ↔ Tendsto (fun x => (a, u x)) f (𝓤 α)

tactic: rfl
state_before: α : Type ua
β : Type ub
γ : Type uc
δ : Type ud
ι : Sort ?u.196733
inst✝ : UniformSpace α
f : Filter β
u : β → α
a : α
⊢ Tendsto (Prod.mk a ∘ u) f (𝓤 α) ↔ Tendsto (fun x => (a, u x)) f (𝓤 α)
Theorem: CategoryTheory.Limits.epi_of_target_iso_zero
File: Mathlib/CategoryTheory/Limits/Shapes/ZeroMorphisms.lean

tactic: rw [zero_of_source_iso_zero g i, zero_of_source_iso_zero h i]
state_before: C : Type u
inst✝³ : Category C
D : Type u'
inst✝² : Category D
inst✝¹ : HasZeroObject C
inst✝ : HasZeroMorphisms C
X Y : C
f : X ⟶ Y
i : Y ≅ 0
Z : C
g h : Y ⟶ Z
x✝ : f ≫ g = f ≫ h
⊢ g = h
Theorem: HasFPowerSeriesOnBall.neg
File: Mathlib/Analysis/Analytic/Basic.lean

tactic: rw [pf.radius_neg]
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type ?u.532806
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
f g : E → F
p pf pg : FormalMultilinearSeries 𝕜 E F
x : E
r r' : ℝ≥0∞
hf : HasFPowerSeriesOnBall f pf x r
⊢ r ≤ FormalMultilinearSeries.radius (-pf)

tactic: exact hf.r_le
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type ?u.532806
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
f g : E → F
p pf pg : FormalMultilinearSeries 𝕜 E F
x : E
r r' : ℝ≥0∞
hf : HasFPowerSeriesOnBall f pf x r
⊢ r ≤ FormalMultilinearSeries.radius pf
Theorem: List.get_drop
File: Mathlib/Data/List/Basic.lean

tactic: have A : i < L.length := lt_of_le_of_lt (Nat.le.intro rfl) h
state_before: ι : Type ?u.209291
α : Type u
β : Type v
γ : Type w
δ : Type x
l₁ l₂ L : List α
i j : ℕ
h : i + j < length L
⊢ j < length (drop i L)

tactic: rw [(take_append_drop i L).symm] at h
state_before: ι : Type ?u.209291
α : Type u
β : Type v
γ : Type w
δ : Type x
l₁ l₂ L : List α
i j : ℕ
h : i + j < length L
A : i < length L
⊢ j < length (drop i L)

tactic: simpa only [le_of_lt A, min_eq_left, add_lt_add_iff_left, length_take,
  length_append] using h
state_before: ι : Type ?u.209291
α : Type u
β : Type v
γ : Type w
δ : Type x
l₁ l₂ L : List α
i j : ℕ
h : i + j < length (take i L ++ drop i L)
A : i < length L
⊢ j < length (drop i L)

tactic: rw [← nthLe_eq, ← nthLe_eq]
state_before: ι : Type ?u.209291
α : Type u
β : Type v
γ : Type w
δ : Type x
l₁ l₂ L : List α
i j : ℕ
h : i + j < length L
⊢ get L { val := i + j, isLt := h } = get (drop i L) { val := j, isLt := (_ : j < length (drop i L)) }

tactic: rw [nthLe_of_eq (take_append_drop i L).symm h, nthLe_append_right] <;>
simp [min_eq_left (show i ≤ length L from le_trans (by simp) (le_of_lt h))]
state_before: ι : Type ?u.209291
α : Type u
β : Type v
γ : Type w
δ : Type x
l₁ l₂ L : List α
i j : ℕ
h : i + j < length L
⊢ nthLe L (i + j) h = nthLe (drop i L) j (_ : j < length (drop i L))

tactic: simp
state_before: ι : Type ?u.209291
α : Type u
β : Type v
γ : Type w
δ : Type x
l₁ l₂ L : List α
i j : ℕ
h : i + j < length L
⊢ i ≤ i + j
Theorem: ContinuousLinearMap.toContinuousAffineMap_map_zero
File: Mathlib/Topology/Algebra/ContinuousAffineMap.lean

tactic: simp
state_before: R : Type u_1
V : Type u_2
W : Type u_3
inst✝⁶ : Ring R
inst✝⁵ : AddCommGroup V
inst✝⁴ : Module R V
inst✝³ : TopologicalSpace V
inst✝² : AddCommGroup W
inst✝¹ : Module R W
inst✝ : TopologicalSpace W
f : V →L[R] W
⊢ ↑(toContinuousAffineMap f) 0 = 0
Theorem: CategoryTheory.Limits.IsLimit.OfNatIso.coneOfHom_homOfCone
File: Mathlib/CategoryTheory/Limits/IsLimit.lean

tactic: dsimp [coneOfHom, homOfCone]
state_before: J : Type u₁
inst✝² : Category J
K : Type u₂
inst✝¹ : Category K
C : Type u₃
inst✝ : Category C
F : J ⥤ C
t : Cone F
X : C
h : yoneda.obj X ⋙ uliftFunctor ≅ Functor.cones F
s : Cone F
⊢ coneOfHom h (homOfCone h s) = s

tactic: match s with
| .mk s_pt s_π =>
  congr; dsimp
  convert congrFun (congrFun (congrArg NatTrans.app h.inv_hom_id) (op s_pt)) s_π using 1
state_before: J : Type u₁
inst✝² : Category J
K : Type u₂
inst✝¹ : Category K
C : Type u₃
inst✝ : Category C
F : J ⥤ C
t : Cone F
X : C
h : yoneda.obj X ⋙ uliftFunctor ≅ Functor.cones F
s : Cone F
⊢ { pt := s.pt, π := h.hom.app s.pt.op { down := (h.inv.app s.pt.op s.π).down } } = s

tactic: congr
state_before: J : Type u₁
inst✝² : Category J
K : Type u₂
inst✝¹ : Category K
C : Type u₃
inst✝ : Category C
F : J ⥤ C
t : Cone F
X : C
h : yoneda.obj X ⋙ uliftFunctor ≅ Functor.cones F
s : Cone F
s_pt : C
s_π : (const J).obj s_pt ⟶ F
⊢ { pt := { pt := s_pt, π := s_π }.pt,
      π :=
        h.hom.app { pt := s_pt, π := s_π }.pt.op
          { down := (h.inv.app { pt := s_pt, π := s_π }.pt.op { pt := s_pt, π := s_π }.π).down } } =
    { pt := s_pt, π := s_π }

tactic: dsimp
state_before: case e_π
J : Type u₁
inst✝² : Category J
K : Type u₂
inst✝¹ : Category K
C : Type u₃
inst✝ : Category C
F : J ⥤ C
t : Cone F
X : C
h : yoneda.obj X ⋙ uliftFunctor ≅ Functor.cones F
s : Cone F
s_pt : C
s_π : (const J).obj s_pt ⟶ F
⊢ h.hom.app { pt := s_pt, π := s_π }.pt.op
      { down := (h.inv.app { pt := s_pt, π := s_π }.pt.op { pt := s_pt, π := s_π }.π).down } =
    s_π

tactic: convert congrFun (congrFun (congrArg NatTrans.app h.inv_hom_id) (op s_pt)) s_π using 1
state_before: case e_π
J : Type u₁
inst✝² : Category J
K : Type u₂
inst✝¹ : Category K
C : Type u₃
inst✝ : Category C
F : J ⥤ C
t : Cone F
X : C
h : yoneda.obj X ⋙ uliftFunctor ≅ Functor.cones F
s : Cone F
s_pt : C
s_π : (const J).obj s_pt ⟶ F
⊢ h.hom.app s_pt.op { down := (h.inv.app s_pt.op s_π).down } = s_π
Theorem: Int.bit0_ne_bit1
File: Mathlib/Data/Int/Bitwise.lean

tactic: simp
state_before: m n : ℤ
⊢ ¬bodd (bit0 m) = bodd (bit1 n)
Theorem: Set.Ioo_eq_empty_iff
File: Mathlib/Data/Set/Intervals/Basic.lean

tactic: rw [← not_nonempty_iff_eq_empty, not_iff_not, nonempty_Ioo]
state_before: α : Type u_1
β : Type ?u.28100
inst✝¹ : Preorder α
a a₁ a₂ b b₁ b₂ c x : α
inst✝ : DenselyOrdered α
⊢ Ioo a b = ∅ ↔ ¬a < b