1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: IsSemisimpleModule.sup
File: Mathlib/RingTheory/SimpleModule.lean

tactic: let f : Bool → Submodule R M := Bool.rec q p
state_before: ι : Type u_1
R : Type u_2
S : Type u_3
inst✝⁵ : Ring R
inst✝⁴ : Ring S
M : Type u_4
inst✝³ : AddCommGroup M
inst✝² : Module R M
m : Submodule R M
N : Type u_5
inst✝¹ : AddCommGroup N
inst✝ : Module R N
p q : Submodule R M
x✝¹ : IsSemisimpleModule R ↥p
x✝ : IsSemisimpleModule R ↥q
⊢ IsSemisimpleModule R ↥(p ⊔ q)
state_after: ι : Type u_1
R : Type u_2
S : Type u_3
inst✝⁵ : Ring R
inst✝⁴ : Ring S
M : Type u_4
inst✝³ : AddCommGroup M
inst✝² : Module R M
m : Submodule R M
N : Type u_5
inst✝¹ : AddCommGroup N
inst✝ : Module R N
p q : Submodule R M
x✝¹ : IsSemisimpleModule R ↥p
x✝ : IsSemisimpleModule R ↥q
f : Bool → Submodule R M := fun t => Bool.rec q p t
⊢ IsSemisimpleModule R ↥(p ⊔ q)

tactic: rw [show p ⊔ q = ⨆ i ∈ Set.univ, f i by rw [iSup_univ, iSup_bool_eq]]
state_before: ι : Type u_1
R : Type u_2
S : Type u_3
inst✝⁵ : Ring R
inst✝⁴ : Ring S
M : Type u_4
inst✝³ : AddCommGroup M
inst✝² : Module R M
m : Submodule R M
N : Type u_5
inst✝¹ : AddCommGroup N
inst✝ : Module R N
p q : Submodule R M
x✝¹ : IsSemisimpleModule R ↥p
x✝ : IsSemisimpleModule R ↥q
f : Bool → Submodule R M := fun t => Bool.rec q p t
⊢ IsSemisimpleModule R ↥(p ⊔ q)
state_after: ι : Type u_1
R : Type u_2
S : Type u_3
inst✝⁵ : Ring R
inst✝⁴ : Ring S
M : Type u_4
inst✝³ : AddCommGroup M
inst✝² : Module R M
m : Submodule R M
N : Type u_5
inst✝¹ : AddCommGroup N
inst✝ : Module R N
p q : Submodule R M
x✝¹ : IsSemisimpleModule R ↥p
x✝ : IsSemisimpleModule R ↥q
f : Bool → Submodule R M := fun t => Bool.rec q p t
⊢ IsSemisimpleModule R ↥(⨆ i ∈ Set.univ, f i)

tactic: exact isSemisimpleModule_biSup_of_isSemisimpleModule_submodule (by rintro (_|_) _ <;> assumption)
state_before: ι : Type u_1
R : Type u_2
S : Type u_3
inst✝⁵ : Ring R
inst✝⁴ : Ring S
M : Type u_4
inst✝³ : AddCommGroup M
inst✝² : Module R M
m : Submodule R M
N : Type u_5
inst✝¹ : AddCommGroup N
inst✝ : Module R N
p q : Submodule R M
x✝¹ : IsSemisimpleModule R ↥p
x✝ : IsSemisimpleModule R ↥q
f : Bool → Submodule R M := fun t => Bool.rec q p t
⊢ IsSemisimpleModule R ↥(⨆ i ∈ Set.univ, f i)
state_after: no goals

tactic: rw [iSup_univ, iSup_bool_eq]
state_before: ι : Type u_1
R : Type u_2
S : Type u_3
inst✝⁵ : Ring R
inst✝⁴ : Ring S
M : Type u_4
inst✝³ : AddCommGroup M
inst✝² : Module R M
m : Submodule R M
N : Type u_5
inst✝¹ : AddCommGroup N
inst✝ : Module R N
p q : Submodule R M
x✝¹ : IsSemisimpleModule R ↥p
x✝ : IsSemisimpleModule R ↥q
f : Bool → Submodule R M := fun t => Bool.rec q p t
⊢ p ⊔ q = ⨆ i ∈ Set.univ, f i
state_after: no goals

tactic: rintro (_|_) _ <;> assumption
state_before: ι : Type u_1
R : Type u_2
S : Type u_3
inst✝⁵ : Ring R
inst✝⁴ : Ring S
M : Type u_4
inst✝³ : AddCommGroup M
inst✝² : Module R M
m : Submodule R M
N : Type u_5
inst✝¹ : AddCommGroup N
inst✝ : Module R N
p q : Submodule R M
x✝¹ : IsSemisimpleModule R ↥p
x✝ : IsSemisimpleModule R ↥q
f : Bool → Submodule R M := fun t => Bool.rec q p t
⊢ ∀ i ∈ Set.univ, IsSemisimpleModule R ↥(f i)
state_after: no goals
Theorem: MeasureTheory.pdf.IsUniform.isProbabilityMeasure
File: Mathlib/Probability/Distributions/Uniform.lean

tactic: have : X ⁻¹' Set.univ = Set.univ := Set.preimage_univ
state_before: E : Type u_1
inst✝ : MeasurableSpace E
m μ : Measure E
Ω : Type u_2
x✝ : MeasurableSpace Ω
ℙ : Measure Ω
X : Ω → E
s : Set E
hns : μ s ≠ 0
hnt : μ s ≠ ⊤
hu : IsUniform X s ℙ μ
⊢ ℙ Set.univ = 1
state_after: E : Type u_1
inst✝ : MeasurableSpace E
m μ : Measure E
Ω : Type u_2
x✝ : MeasurableSpace Ω
ℙ : Measure Ω
X : Ω → E
s : Set E
hns : μ s ≠ 0
hnt : μ s ≠ ⊤
hu : IsUniform X s ℙ μ
this : X ⁻¹' Set.univ = Set.univ
⊢ ℙ Set.univ = 1

tactic: rw [← this, hu.measure_preimage hns hnt MeasurableSet.univ, Set.inter_univ,
  ENNReal.div_self hns hnt]
state_before: E : Type u_1
inst✝ : MeasurableSpace E
m μ : Measure E
Ω : Type u_2
x✝ : MeasurableSpace Ω
ℙ : Measure Ω
X : Ω → E
s : Set E
hns : μ s ≠ 0
hnt : μ s ≠ ⊤
hu : IsUniform X s ℙ μ
this : X ⁻¹' Set.univ = Set.univ
⊢ ℙ Set.univ = 1
state_after: no goals
Theorem: ContinuousMap.Nullhomotopic.comp_right
File: Mathlib/Topology/Homotopy/Contractible.lean

tactic: cases' hf with y hy
state_before: X : Type u_1
Y : Type u_2
Z : Type u_3
inst✝² : TopologicalSpace X
inst✝¹ : TopologicalSpace Y
inst✝ : TopologicalSpace Z
f : C(X, Y)
hf : f.Nullhomotopic
g : C(Y, Z)
⊢ (g.comp f).Nullhomotopic
state_after: case intro
X : Type u_1
Y : Type u_2
Z : Type u_3
inst✝² : TopologicalSpace X
inst✝¹ : TopologicalSpace Y
inst✝ : TopologicalSpace Z
f : C(X, Y)
g : C(Y, Z)
y : Y
hy : f.Homotopic (const X y)
⊢ (g.comp f).Nullhomotopic

tactic: use g y
state_before: case intro
X : Type u_1
Y : Type u_2
Z : Type u_3
inst✝² : TopologicalSpace X
inst✝¹ : TopologicalSpace Y
inst✝ : TopologicalSpace Z
f : C(X, Y)
g : C(Y, Z)
y : Y
hy : f.Homotopic (const X y)
⊢ (g.comp f).Nullhomotopic
state_after: case h
X : Type u_1
Y : Type u_2
Z : Type u_3
inst✝² : TopologicalSpace X
inst✝¹ : TopologicalSpace Y
inst✝ : TopologicalSpace Z
f : C(X, Y)
g : C(Y, Z)
y : Y
hy : f.Homotopic (const X y)
⊢ (g.comp f).Homotopic (const X (g y))

tactic: exact Homotopic.hcomp hy (Homotopic.refl g)
state_before: case h
X : Type u_1
Y : Type u_2
Z : Type u_3
inst✝² : TopologicalSpace X
inst✝¹ : TopologicalSpace Y
inst✝ : TopologicalSpace Z
f : C(X, Y)
g : C(Y, Z)
y : Y
hy : f.Homotopic (const X y)
⊢ (g.comp f).Homotopic (const X (g y))
state_after: no goals
Theorem: Ordnode.Sized.eq_node'
File: Mathlib/Data/Ordmap/Ordset.lean

tactic: rw [h.1]
state_before: α : Type u_1
s : ℕ
l : Ordnode α
x : α
r : Ordnode α
h : (node s l x r).Sized
⊢ node s l x r = l.node' x r
state_after: no goals
Theorem: Real.toNNReal_mul
File: Mathlib/Data/NNReal/Basic.lean

tactic: simp [mul_max_of_nonneg, hp]
state_before: p q : ℝ
hp : 0 ≤ p
⊢ ↑(p * q).toNNReal = ↑(p.toNNReal * q.toNNReal)
state_after: no goals
Theorem: SignType.coe_neg
File: Mathlib/Data/Sign.lean

tactic: cases s <;> simp
state_before: α✝ : Type u_1
inst✝⁴ : Zero α✝
inst✝³ : One α✝
inst✝² : Neg α✝
α : Type u_2
inst✝¹ : One α
inst✝ : SubtractionMonoid α
s : SignType
⊢ ↑(-s) = -↑s
state_after: no goals
Theorem: le_schnirelmannDensity_iff
File: Mathlib/Combinatorics/Schnirelmann.lean

tactic: positivity
state_before: A : Set ℕ
inst✝ : DecidablePred fun x => x ∈ A
x x✝¹ : ℝ
x✝ : x✝¹ ∈ Set.range fun n => ↑(filter (fun x => x ∈ A) (Ioc 0 ↑n)).card / ↑↑n
w✝ : { n // 0 < n }
hx : (fun n => ↑(filter (fun x => x ∈ A) (Ioc 0 ↑n)).card / ↑↑n) w✝ = x✝¹
⊢ 0 ≤ (fun n => ↑(filter (fun x => x ∈ A) (Ioc 0 ↑n)).card / ↑↑n) w✝
state_after: no goals
Theorem: intrinsicInterior_nonempty
File: Mathlib/Analysis/Convex/Intrinsic.lean

tactic: simp_rw [nonempty_iff_ne_empty]
state_before: 𝕜 : Type u_1
V : Type u_2
W : Type u_3
Q : Type u_4
P : Type u_5
inst✝² : NormedAddCommGroup V
inst✝¹ : NormedSpace ℝ V
inst✝ : FiniteDimensional ℝ V
s : Set V
hs : Convex ℝ s
⊢ (intrinsicInterior ℝ s).Nonempty → s.Nonempty
state_after: 𝕜 : Type u_1
V : Type u_2
W : Type u_3
Q : Type u_4
P : Type u_5
inst✝² : NormedAddCommGroup V
inst✝¹ : NormedSpace ℝ V
inst✝ : FiniteDimensional ℝ V
s : Set V
hs : Convex ℝ s
⊢ intrinsicInterior ℝ s ≠ ∅ → s ≠ ∅

tactic: rintro h rfl
state_before: 𝕜 : Type u_1
V : Type u_2
W : Type u_3
Q : Type u_4
P : Type u_5
inst✝² : NormedAddCommGroup V
inst✝¹ : NormedSpace ℝ V
inst✝ : FiniteDimensional ℝ V
s : Set V
hs : Convex ℝ s
⊢ intrinsicInterior ℝ s ≠ ∅ → s ≠ ∅
state_after: 𝕜 : Type u_1
V : Type u_2
W : Type u_3
Q : Type u_4
P : Type u_5
inst✝² : NormedAddCommGroup V
inst✝¹ : NormedSpace ℝ V
inst✝ : FiniteDimensional ℝ V
hs : Convex ℝ ∅
h : intrinsicInterior ℝ ∅ ≠ ∅
⊢ False

tactic: exact h intrinsicInterior_empty
state_before: 𝕜 : Type u_1
V : Type u_2
W : Type u_3
Q : Type u_4
P : Type u_5
inst✝² : NormedAddCommGroup V
inst✝¹ : NormedSpace ℝ V
inst✝ : FiniteDimensional ℝ V
hs : Convex ℝ ∅
h : intrinsicInterior ℝ ∅ ≠ ∅
⊢ False
state_after: no goals
Theorem: riemannZeta_four
File: Mathlib/NumberTheory/LSeries/HurwitzZetaValues.lean

tactic: convert congr_arg ((↑) : ℝ → ℂ) hasSum_zeta_four.tsum_eq
state_before: ⊢ riemannZeta 4 = ↑π ^ 4 / 90
state_after: case h.e'_2

⊢ riemannZeta 4 = ↑(∑' (b : ℕ), 1 / ↑b ^ 4)

case h.e'_3

⊢ ↑π ^ 4 / 90 = ↑(π ^ 4 / 90)

tactic: rw [← Nat.cast_one, show (4 : ℂ) = (4 : ℕ) by norm_num,
  zeta_nat_eq_tsum_of_gt_one (by norm_num : 1 < 4)]
state_before: case h.e'_2

⊢ riemannZeta 4 = ↑(∑' (b : ℕ), 1 / ↑b ^ 4)
state_after: case h.e'_2

⊢ ∑' (n : ℕ), 1 / ↑n ^ 4 = ↑(∑' (b : ℕ), ↑1 / ↑b ^ 4)

tactic: simp only [push_cast]
state_before: case h.e'_2

⊢ ∑' (n : ℕ), 1 / ↑n ^ 4 = ↑(∑' (b : ℕ), ↑1 / ↑b ^ 4)
state_after: no goals

tactic: norm_num
state_before: ⊢ 4 = ↑4
state_after: no goals

tactic: norm_num
state_before: ⊢ 1 < 4
state_after: no goals

tactic: norm_cast
state_before: case h.e'_3

⊢ ↑π ^ 4 / 90 = ↑(π ^ 4 / 90)
state_after: no goals
Theorem: Complex.det_conjAe
File: Mathlib/Data/Complex/Determinant.lean

tactic: rw [← LinearMap.det_toMatrix basisOneI, toMatrix_conjAe, Matrix.det_fin_two_of]
state_before: ⊢ LinearMap.det conjAe.toLinearMap = -1
state_after: ⊢ 1 * -1 - 0 * 0 = -1

tactic: simp
state_before: ⊢ 1 * -1 - 0 * 0 = -1
state_after: no goals
Theorem: LinearMap.compl₁₂_id_id
File: Mathlib/LinearAlgebra/BilinearMap.lean

tactic: ext
state_before: R : Type u_1
inst✝²³ : CommSemiring R
R₂ : Type u_2
inst✝²² : CommSemiring R₂
R₃ : Type u_3
inst✝²¹ : CommSemiring R₃
R₄ : Type u_4
inst✝²⁰ : CommSemiring R₄
M : Type u_5
N : Type u_6
P : Type u_7
Q : Type u_8
Mₗ : Type u_9
Nₗ : Type u_10
Pₗ : Type u_11
Qₗ : Type u_12
Qₗ' : Type u_13
inst✝¹⁹ : AddCommMonoid M
inst✝¹⁸ : AddCommMonoid N
inst✝¹⁷ : AddCommMonoid P
inst✝¹⁶ : AddCommMonoid Q
inst✝¹⁵ : AddCommMonoid Mₗ
inst✝¹⁴ : AddCommMonoid Nₗ
inst✝¹³ : AddCommMonoid Pₗ
inst✝¹² : AddCommMonoid Qₗ
inst✝¹¹ : AddCommMonoid Qₗ'
inst✝¹⁰ : Module R M
inst✝⁹ : Module R₂ N
inst✝⁸ : Module R₃ P
inst✝⁷ : Module R₄ Q
inst✝⁶ : Module R Mₗ
inst✝⁵ : Module R Nₗ
inst✝⁴ : Module R Pₗ
inst✝³ : Module R Qₗ
inst✝² : Module R Qₗ'
σ₁₂ : R →+* R₂
σ₂₃ : R₂ →+* R₃
σ₁₃ : R →+* R₃
σ₄₂ : R₄ →+* R₂
σ₄₃ : R₄ →+* R₃
inst✝¹ : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
inst✝ : RingHomCompTriple σ₄₂ σ₂₃ σ₄₃
f✝ : M →ₛₗ[σ₁₃] N →ₛₗ[σ₂₃] P
f : Mₗ →ₗ[R] Nₗ →ₗ[R] Pₗ
⊢ f.compl₁₂ id id = f
state_after: case h.h
R : Type u_1
inst✝²³ : CommSemiring R
R₂ : Type u_2
inst✝²² : CommSemiring R₂
R₃ : Type u_3
inst✝²¹ : CommSemiring R₃
R₄ : Type u_4
inst✝²⁰ : CommSemiring R₄
M : Type u_5
N : Type u_6
P : Type u_7
Q : Type u_8
Mₗ : Type u_9
Nₗ : Type u_10
Pₗ : Type u_11
Qₗ : Type u_12
Qₗ' : Type u_13
inst✝¹⁹ : AddCommMonoid M
inst✝¹⁸ : AddCommMonoid N
inst✝¹⁷ : AddCommMonoid P
inst✝¹⁶ : AddCommMonoid Q
inst✝¹⁵ : AddCommMonoid Mₗ
inst✝¹⁴ : AddCommMonoid Nₗ
inst✝¹³ : AddCommMonoid Pₗ
inst✝¹² : AddCommMonoid Qₗ
inst✝¹¹ : AddCommMonoid Qₗ'
inst✝¹⁰ : Module R M
inst✝⁹ : Module R₂ N
inst✝⁸ : Module R₃ P
inst✝⁷ : Module R₄ Q
inst✝⁶ : Module R Mₗ
inst✝⁵ : Module R Nₗ
inst✝⁴ : Module R Pₗ
inst✝³ : Module R Qₗ
inst✝² : Module R Qₗ'
σ₁₂ : R →+* R₂
σ₂₃ : R₂ →+* R₃
σ₁₃ : R →+* R₃
σ₄₂ : R₄ →+* R₂
σ₄₃ : R₄ →+* R₃
inst✝¹ : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
inst✝ : RingHomCompTriple σ₄₂ σ₂₃ σ₄₃
f✝ : M →ₛₗ[σ₁₃] N →ₛₗ[σ₂₃] P
f : Mₗ →ₗ[R] Nₗ →ₗ[R] Pₗ
x✝¹ : Mₗ
x✝ : Nₗ
⊢ ((f.compl₁₂ id id) x✝¹) x✝ = (f x✝¹) x✝

tactic: simp_rw [compl₁₂_apply, id_coe, _root_.id]
state_before: case h.h
R : Type u_1
inst✝²³ : CommSemiring R
R₂ : Type u_2
inst✝²² : CommSemiring R₂
R₃ : Type u_3
inst✝²¹ : CommSemiring R₃
R₄ : Type u_4
inst✝²⁰ : CommSemiring R₄
M : Type u_5
N : Type u_6
P : Type u_7
Q : Type u_8
Mₗ : Type u_9
Nₗ : Type u_10
Pₗ : Type u_11
Qₗ : Type u_12
Qₗ' : Type u_13
inst✝¹⁹ : AddCommMonoid M
inst✝¹⁸ : AddCommMonoid N
inst✝¹⁷ : AddCommMonoid P
inst✝¹⁶ : AddCommMonoid Q
inst✝¹⁵ : AddCommMonoid Mₗ
inst✝¹⁴ : AddCommMonoid Nₗ
inst✝¹³ : AddCommMonoid Pₗ
inst✝¹² : AddCommMonoid Qₗ
inst✝¹¹ : AddCommMonoid Qₗ'
inst✝¹⁰ : Module R M
inst✝⁹ : Module R₂ N
inst✝⁸ : Module R₃ P
inst✝⁷ : Module R₄ Q
inst✝⁶ : Module R Mₗ
inst✝⁵ : Module R Nₗ
inst✝⁴ : Module R Pₗ
inst✝³ : Module R Qₗ
inst✝² : Module R Qₗ'
σ₁₂ : R →+* R₂
σ₂₃ : R₂ →+* R₃
σ₁₃ : R →+* R₃
σ₄₂ : R₄ →+* R₂
σ₄₃ : R₄ →+* R₃
inst✝¹ : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
inst✝ : RingHomCompTriple σ₄₂ σ₂₃ σ₄₃
f✝ : M →ₛₗ[σ₁₃] N →ₛₗ[σ₂₃] P
f : Mₗ →ₗ[R] Nₗ →ₗ[R] Pₗ
x✝¹ : Mₗ
x✝ : Nₗ
⊢ ((f.compl₁₂ id id) x✝¹) x✝ = (f x✝¹) x✝
state_after: no goals
Theorem: gelfandStarTransform_naturality
File: Mathlib/Analysis/NormedSpace/Star/GelfandDuality.lean

tactic: rfl
state_before: A : Type u_1
B : Type u_2
inst✝¹¹ : NormedCommRing A
inst✝¹⁰ : NormedAlgebra ℂ A
inst✝⁹ : CompleteSpace A
inst✝⁸ : StarRing A
inst✝⁷ : CstarRing A
inst✝⁶ : StarModule ℂ A
inst✝⁵ : NormedCommRing B
inst✝⁴ : NormedAlgebra ℂ B
inst✝³ : CompleteSpace B
inst✝² : StarRing B
inst✝¹ : CstarRing B
inst✝ : StarModule ℂ B
φ : A →⋆ₐ[ℂ] B
⊢ (↑(gelfandStarTransform B)).comp φ =
    (ContinuousMap.compStarAlgHom' ℂ ℂ (compContinuousMap φ)).comp ↑(gelfandStarTransform A)
state_after: no goals
Theorem: NumberField.mixedEmbedding.fundamentalDomain_stdBasis
File: Mathlib/NumberTheory/NumberField/CanonicalEmbedding/Basic.lean

tactic: ext
state_before: K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
⊢ fundamentalDomain (stdBasis K) =
    (Set.univ.pi fun x => Set.Ico 0 1) ×ˢ Set.univ.pi fun x => ⇑measurableEquivPi ⁻¹' Set.univ.pi fun x => Set.Ico 0 1
state_after: case h
K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
x✝ : ({ w // w.IsReal } → ℝ) × ({ w // w.IsComplex } → ℂ)
⊢ x✝ ∈ fundamentalDomain (stdBasis K) ↔
    x✝ ∈
      (Set.univ.pi fun x => Set.Ico 0 1) ×ˢ Set.univ.pi fun x => ⇑measurableEquivPi ⁻¹' Set.univ.pi fun x => Set.Ico 0 1

tactic: simp [stdBasis, mem_fundamentalDomain, Complex.measurableEquivPi]
state_before: case h
K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
x✝ : ({ w // w.IsReal } → ℝ) × ({ w // w.IsComplex } → ℂ)
⊢ x✝ ∈ fundamentalDomain (stdBasis K) ↔
    x✝ ∈
      (Set.univ.pi fun x => Set.Ico 0 1) ×ˢ Set.univ.pi fun x => ⇑measurableEquivPi ⁻¹' Set.univ.pi fun x => Set.Ico 0 1
state_after: no goals
Theorem: LinearIndependent.of_comp
File: Mathlib/LinearAlgebra/LinearIndependent.lean

tactic: simp_rw [← map_smul, ← map_sum, hg, f.map_zero]
state_before: ι : Type u'
ι' : Type u_1
R : Type u_2
K : Type u_3
M : Type u_4
M' : Type u_5
M'' : Type u_6
V : Type u
V' : Type u_7
v : ι → M
inst✝⁶ : Semiring R
inst✝⁵ : AddCommMonoid M
inst✝⁴ : AddCommMonoid M'
inst✝³ : AddCommMonoid M''
inst✝² : Module R M
inst✝¹ : Module R M'
inst✝ : Module R M''
a b : R
x y : M
f : M →ₗ[R] M'
hfv : LinearIndependent R (⇑f ∘ v)
s : Finset ι
g : ι → R
hg : ∑ i ∈ s, g i • v i = 0
i : ι
his : i ∈ s
⊢ ∑ i ∈ s, g i • f (v i) = 0
state_after: no goals
Theorem: MeasureTheory.measure_iUnion
File: Mathlib/MeasureTheory/Measure/NullMeasurable.lean

tactic: rw [measure_eq_extend (MeasurableSet.iUnion h),
  extend_iUnion MeasurableSet.empty _ MeasurableSet.iUnion _ hn h]
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
m0✝ : MeasurableSpace α
μ✝ : Measure α
s t : Set α
m0 : MeasurableSpace α
μ : Measure α
inst✝ : Countable ι
f : ι → Set α
hn : Pairwise (Disjoint on f)
h : ∀ (i : ι), MeasurableSet (f i)
⊢ μ (⋃ i, f i) = ∑' (i : ι), μ (f i)
state_after: ι : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
m0✝ : MeasurableSpace α
μ✝ : Measure α
s t : Set α
m0 : MeasurableSpace α
μ : Measure α
inst✝ : Countable ι
f : ι → Set α
hn : Pairwise (Disjoint on f)
h : ∀ (i : ι), MeasurableSet (f i)
⊢ ∑' (i : ι), extend (fun t _ht => μ t) (f i) = ∑' (i : ι), μ (f i)

ι : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
m0✝ : MeasurableSpace α
μ✝ : Measure α
s t : Set α
m0 : MeasurableSpace α
μ : Measure α
inst✝ : Countable ι
f : ι → Set α
hn : Pairwise (Disjoint on f)
h : ∀ (i : ι), MeasurableSet (f i)
⊢ μ ∅ = 0

ι : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
m0✝ : MeasurableSpace α
μ✝ : Measure α
s t : Set α
m0 : MeasurableSpace α
μ : Measure α
inst✝ : Countable ι
f : ι → Set α
hn : Pairwise (Disjoint on f)
h : ∀ (i : ι), MeasurableSet (f i)
⊢ ∀ ⦃f : ℕ → Set α⦄, (∀ (i : ℕ), MeasurableSet (f i)) → Pairwise (Disjoint on f) → μ (⋃ i, f i) = ∑' (i : ℕ), μ (f i)

tactic: simp [measure_eq_extend, h]
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
m0✝ : MeasurableSpace α
μ✝ : Measure α
s t : Set α
m0 : MeasurableSpace α
μ : Measure α
inst✝ : Countable ι
f : ι → Set α
hn : Pairwise (Disjoint on f)
h : ∀ (i : ι), MeasurableSet (f i)
⊢ ∑' (i : ι), extend (fun t _ht => μ t) (f i) = ∑' (i : ι), μ (f i)
state_after: no goals

tactic: exact μ.empty
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
m0✝ : MeasurableSpace α
μ✝ : Measure α
s t : Set α
m0 : MeasurableSpace α
μ : Measure α
inst✝ : Countable ι
f : ι → Set α
hn : Pairwise (Disjoint on f)
h : ∀ (i : ι), MeasurableSet (f i)
⊢ μ ∅ = 0
state_after: no goals

tactic: exact μ.m_iUnion
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
m0✝ : MeasurableSpace α
μ✝ : Measure α
s t : Set α
m0 : MeasurableSpace α
μ : Measure α
inst✝ : Countable ι
f : ι → Set α
hn : Pairwise (Disjoint on f)
h : ∀ (i : ι), MeasurableSet (f i)
⊢ ∀ ⦃f : ℕ → Set α⦄, (∀ (i : ℕ), MeasurableSet (f i)) → Pairwise (Disjoint on f) → μ (⋃ i, f i) = ∑' (i : ℕ), μ (f i)
state_after: no goals
Theorem: Nat.Primrec.sub
File: Mathlib/Computability/Primrec.lean

tactic: simp
state_before: p : ℕ
⊢ unpaired (fun z n => Nat.rec (id z) (fun y IH => (unpair (unpair (Nat.pair z (Nat.pair y IH))).2).2.pred) n) p =
    unpaired (fun x x_1 => x - x_1) p
state_after: p : ℕ
⊢ Nat.rec (unpair p).1 (fun y IH => IH - 1) (unpair p).2 = (unpair p).1 - (unpair p).2

tactic: induction p.unpair.2 <;> simp [*, Nat.sub_add_eq]
state_before: p : ℕ
⊢ Nat.rec (unpair p).1 (fun y IH => IH - 1) (unpair p).2 = (unpair p).1 - (unpair p).2
state_after: no goals
Theorem: MeasureTheory.SimpleFunc.posPart_sub_negPart
File: Mathlib/MeasureTheory/Integral/Bochner.lean

tactic: simp only [posPart, negPart]
state_before: α : Type u_1
E : Type u_2
F : Type u_3
𝕜 : Type u_4
inst✝² : LinearOrder E
inst✝¹ : Zero E
inst✝ : MeasurableSpace α
f : α →ₛ ℝ
⊢ f.posPart - f.negPart = f
state_after: α : Type u_1
E : Type u_2
F : Type u_3
𝕜 : Type u_4
inst✝² : LinearOrder E
inst✝¹ : Zero E
inst✝ : MeasurableSpace α
f : α →ₛ ℝ
⊢ map (fun b => max b 0) f - map (fun b => max b 0) (-f) = f

tactic: ext a
state_before: α : Type u_1
E : Type u_2
F : Type u_3
𝕜 : Type u_4
inst✝² : LinearOrder E
inst✝¹ : Zero E
inst✝ : MeasurableSpace α
f : α →ₛ ℝ
⊢ map (fun b => max b 0) f - map (fun b => max b 0) (-f) = f
state_after: case H
α : Type u_1
E : Type u_2
F : Type u_3
𝕜 : Type u_4
inst✝² : LinearOrder E
inst✝¹ : Zero E
inst✝ : MeasurableSpace α
f : α →ₛ ℝ
a : α
⊢ ↑(map (fun b => max b 0) f - map (fun b => max b 0) (-f)) a = ↑f a

tactic: rw [coe_sub]
state_before: case H
α : Type u_1
E : Type u_2
F : Type u_3
𝕜 : Type u_4
inst✝² : LinearOrder E
inst✝¹ : Zero E
inst✝ : MeasurableSpace α
f : α →ₛ ℝ
a : α
⊢ ↑(map (fun b => max b 0) f - map (fun b => max b 0) (-f)) a = ↑f a
state_after: case H
α : Type u_1
E : Type u_2
F : Type u_3
𝕜 : Type u_4
inst✝² : LinearOrder E
inst✝¹ : Zero E
inst✝ : MeasurableSpace α
f : α →ₛ ℝ
a : α
⊢ (↑(map (fun b => max b 0) f) - ↑(map (fun b => max b 0) (-f))) a = ↑f a

tactic: exact max_zero_sub_eq_self (f a)
state_before: case H
α : Type u_1
E : Type u_2
F : Type u_3
𝕜 : Type u_4
inst✝² : LinearOrder E
inst✝¹ : Zero E
inst✝ : MeasurableSpace α
f : α →ₛ ℝ
a : α
⊢ (↑(map (fun b => max b 0) f) - ↑(map (fun b => max b 0) (-f))) a = ↑f a
state_after: no goals
Theorem: Finset.offDiag_inter
File: Mathlib/Data/Finset/Prod.lean

tactic: push_cast
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝ : DecidableEq α
s t : Finset α
x : α × α
⊢ ↑(s ∩ t).offDiag = ↑(s.offDiag ∩ t.offDiag)
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝ : DecidableEq α
s t : Finset α
x : α × α
⊢ (↑s ∩ ↑t).offDiag = (↑s).offDiag ∩ (↑t).offDiag

tactic: exact Set.offDiag_inter _ _
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝ : DecidableEq α
s t : Finset α
x : α × α
⊢ (↑s ∩ ↑t).offDiag = (↑s).offDiag ∩ (↑t).offDiag
state_after: no goals
Theorem: Nat.floor_mono
File: Mathlib/Algebra/Order/Floor.lean

tactic: obtain ha | ha := le_total a 0
state_before: F : Type u_1
α : Type u_2
β : Type u_3
inst✝¹ : LinearOrderedSemiring α
inst✝ : FloorSemiring α
a✝ : α
n : ℕ
a b : α
h : a ≤ b
⊢ ⌊a⌋₊ ≤ ⌊b⌋₊
state_after: case inl
F : Type u_1
α : Type u_2
β : Type u_3
inst✝¹ : LinearOrderedSemiring α
inst✝ : FloorSemiring α
a✝ : α
n : ℕ
a b : α
h : a ≤ b
ha : a ≤ 0
⊢ ⌊a⌋₊ ≤ ⌊b⌋₊

case inr
F : Type u_1
α : Type u_2
β : Type u_3
inst✝¹ : LinearOrderedSemiring α
inst✝ : FloorSemiring α
a✝ : α
n : ℕ
a b : α
h : a ≤ b
ha : 0 ≤ a
⊢ ⌊a⌋₊ ≤ ⌊b⌋₊

tactic: rw [floor_of_nonpos ha]
state_before: case inl
F : Type u_1
α : Type u_2
β : Type u_3
inst✝¹ : LinearOrderedSemiring α
inst✝ : FloorSemiring α
a✝ : α
n : ℕ
a b : α
h : a ≤ b
ha : a ≤ 0
⊢ ⌊a⌋₊ ≤ ⌊b⌋₊
state_after: case inl
F : Type u_1
α : Type u_2
β : Type u_3
inst✝¹ : LinearOrderedSemiring α
inst✝ : FloorSemiring α
a✝ : α
n : ℕ
a b : α
h : a ≤ b
ha : a ≤ 0
⊢ 0 ≤ ⌊b⌋₊

tactic: exact Nat.zero_le _
state_before: case inl
F : Type u_1
α : Type u_2
β : Type u_3
inst✝¹ : LinearOrderedSemiring α
inst✝ : FloorSemiring α
a✝ : α
n : ℕ
a b : α
h : a ≤ b
ha : a ≤ 0
⊢ 0 ≤ ⌊b⌋₊
state_after: no goals

tactic: exact le_floor ((floor_le ha).trans h)
state_before: case inr
F : Type u_1
α : Type u_2
β : Type u_3
inst✝¹ : LinearOrderedSemiring α
inst✝ : FloorSemiring α
a✝ : α
n : ℕ
a b : α
h : a ≤ b
ha : 0 ≤ a
⊢ ⌊a⌋₊ ≤ ⌊b⌋₊
state_after: no goals
Theorem: IntermediateField.isSeparable_adjoin_pair_of_separable
File: Mathlib/FieldTheory/SeparableDegree.lean

tactic: rw [← adjoin_simple_adjoin_simple]
state_before: F : Type u
E : Type v
inst✝⁴ : Field F
inst✝³ : Field E
inst✝² : Algebra F E
K : Type w
inst✝¹ : Field K
inst✝ : Algebra F K
x y : E
hx : (minpoly F x).Separable
hy : (minpoly F y).Separable
⊢ IsSeparable F ↥F⟮x, y⟯
state_after: F : Type u
E : Type v
inst✝⁴ : Field F
inst✝³ : Field E
inst✝² : Algebra F E
K : Type w
inst✝¹ : Field K
inst✝ : Algebra F K
x y : E
hx : (minpoly F x).Separable
hy : (minpoly F y).Separable
⊢ IsSeparable F ↥(restrictScalars F (↥F⟮x⟯)⟮y⟯)

tactic: replace hy := hy.map_minpoly F⟮x⟯
state_before: F : Type u
E : Type v
inst✝⁴ : Field F
inst✝³ : Field E
inst✝² : Algebra F E
K : Type w
inst✝¹ : Field K
inst✝ : Algebra F K
x y : E
hx : (minpoly F x).Separable
hy : (minpoly F y).Separable
⊢ IsSeparable F ↥(restrictScalars F (↥F⟮x⟯)⟮y⟯)
state_after: F : Type u
E : Type v
inst✝⁴ : Field F
inst✝³ : Field E
inst✝² : Algebra F E
K : Type w
inst✝¹ : Field K
inst✝ : Algebra F K
x y : E
hx : (minpoly F x).Separable
hy : (minpoly (↥F⟮x⟯) y).Separable
⊢ IsSeparable F ↥(restrictScalars F (↥F⟮x⟯)⟮y⟯)

tactic: rw [← isSeparable_adjoin_simple_iff_separable] at hx hy
state_before: F : Type u
E : Type v
inst✝⁴ : Field F
inst✝³ : Field E
inst✝² : Algebra F E
K : Type w
inst✝¹ : Field K
inst✝ : Algebra F K
x y : E
hx : (minpoly F x).Separable
hy : (minpoly (↥F⟮x⟯) y).Separable
⊢ IsSeparable F ↥(restrictScalars F (↥F⟮x⟯)⟮y⟯)
state_after: F : Type u
E : Type v
inst✝⁴ : Field F
inst✝³ : Field E
inst✝² : Algebra F E
K : Type w
inst✝¹ : Field K
inst✝ : Algebra F K
x y : E
hx : IsSeparable F ↥F⟮x⟯
hy : IsSeparable ↥F⟮x⟯ ↥(↥F⟮x⟯)⟮y⟯
⊢ IsSeparable F ↥(restrictScalars F (↥F⟮x⟯)⟮y⟯)

tactic: exact IsSeparable.trans F F⟮x⟯ F⟮x⟯⟮y⟯
state_before: F : Type u
E : Type v
inst✝⁴ : Field F
inst✝³ : Field E
inst✝² : Algebra F E
K : Type w
inst✝¹ : Field K
inst✝ : Algebra F K
x y : E
hx : IsSeparable F ↥F⟮x⟯
hy : IsSeparable ↥F⟮x⟯ ↥(↥F⟮x⟯)⟮y⟯
⊢ IsSeparable F ↥(restrictScalars F (↥F⟮x⟯)⟮y⟯)
state_after: no goals
Theorem: pow_bit1
File: Mathlib/Algebra/Group/Commute/Defs.lean

tactic: rw [bit1, pow_succ, pow_bit0]
state_before: G : Type u_1
M : Type u_2
S : Type u_3
inst✝ : Monoid M
a : M
n : ℕ
⊢ a ^ bit1 n = a ^ n * a ^ n * a
state_after: no goals