1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: Submodule.map_dualAnnihilator_linearEquiv_flip_symm
File: Mathlib/LinearAlgebra/PerfectPairing.lean

tactic: have : IsReflexive R N := e.isReflexive_of_equiv_dual_of_isReflexive
state_before: R : Type u_1
M : Type u_2
N : Type u_3
inst✝⁵ : CommRing R
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : AddCommGroup N
inst✝¹ : Module R N
inst✝ : IsReflexive R M
e : N ≃ₗ[R] Dual R M
p : Submodule R N
⊢ map e.flip.symm p.dualAnnihilator = (map e p).dualCoannihilator
state_after: R : Type u_1
M : Type u_2
N : Type u_3
inst✝⁵ : CommRing R
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : AddCommGroup N
inst✝¹ : Module R N
inst✝ : IsReflexive R M
e : N ≃ₗ[R] Dual R M
p : Submodule R N
this : IsReflexive R N
⊢ map e.flip.symm p.dualAnnihilator = (map e p).dualCoannihilator

tactic: rw [← dualCoannihilator_map_linearEquiv_flip, flip_flip]
state_before: R : Type u_1
M : Type u_2
N : Type u_3
inst✝⁵ : CommRing R
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : AddCommGroup N
inst✝¹ : Module R N
inst✝ : IsReflexive R M
e : N ≃ₗ[R] Dual R M
p : Submodule R N
this : IsReflexive R N
⊢ map e.flip.symm p.dualAnnihilator = (map e p).dualCoannihilator
state_after: no goals
Theorem: Antitone.ne_of_lt_of_lt_int
File: Mathlib/Order/Monotone/Basic.lean

tactic: rintro rfl
state_before: ι : Type u_1
α : Type u
β : Type v
γ : Type w
δ : Type u_2
π : ι → Type u_3
r : α → α → Prop
inst✝ : Preorder α
f : ℤ → α
hf : Antitone f
n : ℤ
x : α
h1 : f (n + 1) < x
h2 : x < f n
a : ℤ
⊢ f a ≠ x
state_after: ι : Type u_1
α : Type u
β : Type v
γ : Type w
δ : Type u_2
π : ι → Type u_3
r : α → α → Prop
inst✝ : Preorder α
f : ℤ → α
hf : Antitone f
n a : ℤ
h1 : f (n + 1) < f a
h2 : f a < f n
⊢ False

tactic: exact (hf.reflect_lt h2).not_le (Int.le_of_lt_add_one <| hf.reflect_lt h1)
state_before: ι : Type u_1
α : Type u
β : Type v
γ : Type w
δ : Type u_2
π : ι → Type u_3
r : α → α → Prop
inst✝ : Preorder α
f : ℤ → α
hf : Antitone f
n a : ℤ
h1 : f (n + 1) < f a
h2 : f a < f n
⊢ False
state_after: no goals
Theorem: discrim_lt_zero_of_neg
File: Mathlib/Algebra/QuadraticDiscriminant.lean

tactic: simpa only [neg_mul, ← neg_add, neg_pos]
state_before: K : Type u_1
inst✝ : LinearOrderedField K
a b c : K
ha : a ≠ 0
h : ∀ (x : K), a * x * x + b * x + c < 0
⊢ ∀ (x : K), 0 < -a * x * x + -b * x + -c
state_after: no goals
Theorem: AdicCompletion.sum_lof
File: Mathlib/RingTheory/AdicCompletion/Functoriality.lean

tactic: simp [sum]
state_before: R : Type u_1
inst✝¹¹ : CommRing R
I : Ideal R
M✝ : Type u_2
inst✝¹⁰ : AddCommGroup M✝
inst✝⁹ : Module R M✝
N : Type u_3
inst✝⁸ : AddCommGroup N
inst✝⁷ : Module R N
P : Type u_4
inst✝⁶ : AddCommGroup P
inst✝⁵ : Module R P
T : Type u_5
inst✝⁴ : AddCommGroup T
inst✝³ : Module (AdicCompletion I R) T
ι : Type u_6
inst✝² : DecidableEq ι
M : ι → Type u_7
inst✝¹ : (i : ι) → AddCommGroup (M i)
inst✝ : (i : ι) → Module R (M i)
j : ι
x : AdicCompletion I (M j)
⊢ (sum I M) ((lof (AdicCompletion I R) ι (fun i => AdicCompletion I (M i)) j) x) = (map I (lof R ι M j)) x
state_after: no goals
Theorem: Polynomial.degree_le_of_dvd
File: Mathlib/Algebra/Polynomial/RingDivision.lean

tactic: rcases h1 with ⟨q, rfl⟩
state_before: R : Type u
S : Type v
T : Type w
a b : R
n : ℕ
inst✝¹ : Semiring R
inst✝ : NoZeroDivisors R
p✝ q✝ p q : R[X]
h1 : p ∣ q
h2 : q ≠ 0
⊢ p.degree ≤ q.degree
state_after: case intro
R : Type u
S : Type v
T : Type w
a b : R
n : ℕ
inst✝¹ : Semiring R
inst✝ : NoZeroDivisors R
p✝ q✝ p q : R[X]
h2 : p * q ≠ 0
⊢ p.degree ≤ (p * q).degree

tactic: rw [mul_ne_zero_iff] at h2
state_before: case intro
R : Type u
S : Type v
T : Type w
a b : R
n : ℕ
inst✝¹ : Semiring R
inst✝ : NoZeroDivisors R
p✝ q✝ p q : R[X]
h2 : p * q ≠ 0
⊢ p.degree ≤ (p * q).degree
state_after: case intro
R : Type u
S : Type v
T : Type w
a b : R
n : ℕ
inst✝¹ : Semiring R
inst✝ : NoZeroDivisors R
p✝ q✝ p q : R[X]
h2 : p ≠ 0 ∧ q ≠ 0
⊢ p.degree ≤ (p * q).degree

tactic: exact degree_le_mul_left p h2.2
state_before: case intro
R : Type u
S : Type v
T : Type w
a b : R
n : ℕ
inst✝¹ : Semiring R
inst✝ : NoZeroDivisors R
p✝ q✝ p q : R[X]
h2 : p ≠ 0 ∧ q ≠ 0
⊢ p.degree ≤ (p * q).degree
state_after: no goals
Theorem: padicValNat.maxPowDiv_eq_multiplicity
File: Mathlib/NumberTheory/Padics/PadicVal.lean

tactic: apply multiplicity.unique <| pow_dvd p n
state_before: p✝ p n : ℕ
hp : 1 < p
hn : 0 < n
⊢ ↑(p.maxPowDiv n) = multiplicity p n
state_after: p✝ p n : ℕ
hp : 1 < p
hn : 0 < n
⊢ ¬p ^ (p.maxPowDiv n + 1) ∣ n

tactic: intro h
state_before: p✝ p n : ℕ
hp : 1 < p
hn : 0 < n
⊢ ¬p ^ (p.maxPowDiv n + 1) ∣ n
state_after: p✝ p n : ℕ
hp : 1 < p
hn : 0 < n
h : p ^ (p.maxPowDiv n + 1) ∣ n
⊢ False

tactic: apply Nat.not_lt.mpr <| le_of_dvd hp hn h
state_before: p✝ p n : ℕ
hp : 1 < p
hn : 0 < n
h : p ^ (p.maxPowDiv n + 1) ∣ n
⊢ False
state_after: p✝ p n : ℕ
hp : 1 < p
hn : 0 < n
h : p ^ (p.maxPowDiv n + 1) ∣ n
⊢ p.maxPowDiv n < p.maxPowDiv n + 1

tactic: simp
state_before: p✝ p n : ℕ
hp : 1 < p
hn : 0 < n
h : p ^ (p.maxPowDiv n + 1) ∣ n
⊢ p.maxPowDiv n < p.maxPowDiv n + 1
state_after: no goals
Theorem: NNReal.iSup_mul_le
File: Mathlib/Data/NNReal/Basic.lean

tactic: rw [iSup_mul]
state_before: ι : Sort u_1
f : ι → ℝ≥0
a : ℝ≥0
g : ι → ℝ≥0
h : ℝ≥0
H : ∀ (i : ι), g i * h ≤ a
⊢ iSup g * h ≤ a
state_after: ι : Sort u_1
f : ι → ℝ≥0
a : ℝ≥0
g : ι → ℝ≥0
h : ℝ≥0
H : ∀ (i : ι), g i * h ≤ a
⊢ ⨆ i, g i * h ≤ a

tactic: exact ciSup_le' H
state_before: ι : Sort u_1
f : ι → ℝ≥0
a : ℝ≥0
g : ι → ℝ≥0
h : ℝ≥0
H : ∀ (i : ι), g i * h ≤ a
⊢ ⨆ i, g i * h ≤ a
state_after: no goals
Theorem: MeasureTheory.Measure.mkMetric_le_liminf_sum
File: Mathlib/MeasureTheory/Measure/Hausdorff.lean

tactic: simpa only [tsum_fintype] using mkMetric_le_liminf_tsum s r hr t ht hst m
state_before: ι✝ : Type u_1
X : Type u_2
Y : Type u_3
inst✝³ : EMetricSpace X
inst✝² : EMetricSpace Y
inst✝¹ : MeasurableSpace X
inst✝ : BorelSpace X
β : Type u_4
ι : β → Type u_5
hι : (n : β) → Fintype (ι n)
s : Set X
l : Filter β
r : β → ℝ≥0∞
hr : Tendsto r l (𝓝 0)
t : (n : β) → ι n → Set X
ht : ∀ᶠ (n : β) in l, ∀ (i : ι n), diam (t n i) ≤ r n
hst : ∀ᶠ (n : β) in l, s ⊆ ⋃ i, t n i
m : ℝ≥0∞ → ℝ≥0∞
⊢ (mkMetric m) s ≤ liminf (fun n => ∑ i : ι n, m (diam (t n i))) l
state_after: no goals
Theorem: Convex.lipschitzOnWith_of_nnnorm_hasFDerivWithin_le
File: Mathlib/Analysis/Calculus/MeanValue.lean

tactic: rw [lipschitzOnWith_iff_norm_sub_le]
state_before: E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
F : Type u_2
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace ℝ F
𝕜 : Type u_3
G : Type u_4
inst✝³ : RCLike 𝕜
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
f g : E → G
C✝ : ℝ
s : Set E
x y : E
f' g' : E → E →L[𝕜] G
φ : E →L[𝕜] G
C : ℝ≥0
hf : ∀ x ∈ s, HasFDerivWithinAt f (f' x) s x
bound : ∀ x ∈ s, ‖f' x‖₊ ≤ C
hs : Convex ℝ s
⊢ LipschitzOnWith C f s
state_after: E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
F : Type u_2
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace ℝ F
𝕜 : Type u_3
G : Type u_4
inst✝³ : RCLike 𝕜
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
f g : E → G
C✝ : ℝ
s : Set E
x y : E
f' g' : E → E →L[𝕜] G
φ : E →L[𝕜] G
C : ℝ≥0
hf : ∀ x ∈ s, HasFDerivWithinAt f (f' x) s x
bound : ∀ x ∈ s, ‖f' x‖₊ ≤ C
hs : Convex ℝ s
⊢ ∀ ⦃x : E⦄, x ∈ s → ∀ ⦃y : E⦄, y ∈ s → ‖f x - f y‖ ≤ ↑C * ‖x - y‖

tactic: intro x x_in y y_in
state_before: E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
F : Type u_2
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace ℝ F
𝕜 : Type u_3
G : Type u_4
inst✝³ : RCLike 𝕜
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
f g : E → G
C✝ : ℝ
s : Set E
x y : E
f' g' : E → E →L[𝕜] G
φ : E →L[𝕜] G
C : ℝ≥0
hf : ∀ x ∈ s, HasFDerivWithinAt f (f' x) s x
bound : ∀ x ∈ s, ‖f' x‖₊ ≤ C
hs : Convex ℝ s
⊢ ∀ ⦃x : E⦄, x ∈ s → ∀ ⦃y : E⦄, y ∈ s → ‖f x - f y‖ ≤ ↑C * ‖x - y‖
state_after: E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
F : Type u_2
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace ℝ F
𝕜 : Type u_3
G : Type u_4
inst✝³ : RCLike 𝕜
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
f g : E → G
C✝ : ℝ
s : Set E
x✝ y✝ : E
f' g' : E → E →L[𝕜] G
φ : E →L[𝕜] G
C : ℝ≥0
hf : ∀ x ∈ s, HasFDerivWithinAt f (f' x) s x
bound : ∀ x ∈ s, ‖f' x‖₊ ≤ C
hs : Convex ℝ s
x : E
x_in : x ∈ s
y : E
y_in : y ∈ s
⊢ ‖f x - f y‖ ≤ ↑C * ‖x - y‖

tactic: exact hs.norm_image_sub_le_of_norm_hasFDerivWithin_le hf bound y_in x_in
state_before: E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
F : Type u_2
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace ℝ F
𝕜 : Type u_3
G : Type u_4
inst✝³ : RCLike 𝕜
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
f g : E → G
C✝ : ℝ
s : Set E
x✝ y✝ : E
f' g' : E → E →L[𝕜] G
φ : E →L[𝕜] G
C : ℝ≥0
hf : ∀ x ∈ s, HasFDerivWithinAt f (f' x) s x
bound : ∀ x ∈ s, ‖f' x‖₊ ≤ C
hs : Convex ℝ s
x : E
x_in : x ∈ s
y : E
y_in : y ∈ s
⊢ ‖f x - f y‖ ≤ ↑C * ‖x - y‖
state_after: no goals
Theorem: disjoint_compl_left_iff
File: Mathlib/Order/BooleanAlgebra.lean

tactic: rw [← le_compl_iff_disjoint_left, compl_compl]
state_before: α : Type u
β : Type u_1
w x y z : α
inst✝ : BooleanAlgebra α
⊢ Disjoint xᶜ y ↔ y ≤ x
state_after: no goals
Theorem: rank_matrix''
File: Mathlib/LinearAlgebra/Dimension/Constructions.lean

tactic: simp
state_before: R S : Type u
M : Type v
M' : Type v'
M₁ : Type v
ι : Type w
ι' : Type w'
η : Type u₁'
φ : η → Type u_1
inst✝¹² : Ring R
inst✝¹¹ : CommRing S
inst✝¹⁰ : AddCommGroup M
inst✝⁹ : AddCommGroup M'
inst✝⁸ : AddCommGroup M₁
inst✝⁷ : Module R M
inst✝⁶ : Module R M'
inst✝⁵ : Module R M₁
inst✝⁴ : StrongRankCondition R
inst✝³ : Module.Free R M
inst✝² : Module.Free R M'
m n : Type u
inst✝¹ : Finite m
inst✝ : Finite n
⊢ Module.rank R (Matrix m n R) = #m * #n
state_after: no goals
Theorem: cfc_const
File: Mathlib/Topology/ContinuousFunction/FunctionalCalculus.lean

tactic: rw [cfc_apply (fun _ : R ↦ r) a, ← AlgHomClass.commutes (cfcHom ha (p := p)) r]
state_before: R : Type u_1
A : Type u_2
p : A → Prop
inst✝⁹ : CommSemiring R
inst✝⁸ : StarRing R
inst✝⁷ : MetricSpace R
inst✝⁶ : TopologicalSemiring R
inst✝⁵ : ContinuousStar R
inst✝⁴ : TopologicalSpace A
inst✝³ : Ring A
inst✝² : StarRing A
inst✝¹ : Algebra R A
inst✝ : ContinuousFunctionalCalculus R p
f g : R → R
a✝ : A
ha✝ : autoParam (p a✝) _auto✝
hf : autoParam (ContinuousOn f (spectrum R a✝)) _auto✝
hg : autoParam (ContinuousOn g (spectrum R a✝)) _auto✝
r : R
a : A
ha : autoParam (p a) _auto✝
⊢ cfc (fun x => r) a = (algebraMap R A) r
state_after: R : Type u_1
A : Type u_2
p : A → Prop
inst✝⁹ : CommSemiring R
inst✝⁸ : StarRing R
inst✝⁷ : MetricSpace R
inst✝⁶ : TopologicalSemiring R
inst✝⁵ : ContinuousStar R
inst✝⁴ : TopologicalSpace A
inst✝³ : Ring A
inst✝² : StarRing A
inst✝¹ : Algebra R A
inst✝ : ContinuousFunctionalCalculus R p
f g : R → R
a✝ : A
ha✝ : autoParam (p a✝) _auto✝
hf : autoParam (ContinuousOn f (spectrum R a✝)) _auto✝
hg : autoParam (ContinuousOn g (spectrum R a✝)) _auto✝
r : R
a : A
ha : autoParam (p a) _auto✝
⊢ (cfcHom ha) { toFun := (spectrum R a).restrict fun x => r, continuous_toFun := ⋯ } =
    (cfcHom ha) ((algebraMap R C(↑(spectrum R a), R)) r)

tactic: congr
state_before: R : Type u_1
A : Type u_2
p : A → Prop
inst✝⁹ : CommSemiring R
inst✝⁸ : StarRing R
inst✝⁷ : MetricSpace R
inst✝⁶ : TopologicalSemiring R
inst✝⁵ : ContinuousStar R
inst✝⁴ : TopologicalSpace A
inst✝³ : Ring A
inst✝² : StarRing A
inst✝¹ : Algebra R A
inst✝ : ContinuousFunctionalCalculus R p
f g : R → R
a✝ : A
ha✝ : autoParam (p a✝) _auto✝
hf : autoParam (ContinuousOn f (spectrum R a✝)) _auto✝
hg : autoParam (ContinuousOn g (spectrum R a✝)) _auto✝
r : R
a : A
ha : autoParam (p a) _auto✝
⊢ (cfcHom ha) { toFun := (spectrum R a).restrict fun x => r, continuous_toFun := ⋯ } =
    (cfcHom ha) ((algebraMap R C(↑(spectrum R a), R)) r)
state_after: no goals
Theorem: jacobiTheta₂'_add_left
File: Mathlib/NumberTheory/ModularForms/JacobiTheta/TwoVariable.lean

tactic: unfold jacobiTheta₂' jacobiTheta₂'_term jacobiTheta₂_term
state_before: z τ : ℂ
⊢ jacobiTheta₂' (z + 1) τ = jacobiTheta₂' z τ
state_after: z τ : ℂ
⊢ ∑' (n : ℤ), 2 * ↑π * I * ↑n * cexp (2 * ↑π * I * ↑n * (z + 1) + ↑π * I * ↑n ^ 2 * τ) =
    ∑' (n : ℤ), 2 * ↑π * I * ↑n * cexp (2 * ↑π * I * ↑n * z + ↑π * I * ↑n ^ 2 * τ)

tactic: refine tsum_congr (fun n ↦ ?_)
state_before: z τ : ℂ
⊢ ∑' (n : ℤ), 2 * ↑π * I * ↑n * cexp (2 * ↑π * I * ↑n * (z + 1) + ↑π * I * ↑n ^ 2 * τ) =
    ∑' (n : ℤ), 2 * ↑π * I * ↑n * cexp (2 * ↑π * I * ↑n * z + ↑π * I * ↑n ^ 2 * τ)
state_after: z τ : ℂ
n : ℤ
⊢ 2 * ↑π * I * ↑n * cexp (2 * ↑π * I * ↑n * (z + 1) + ↑π * I * ↑n ^ 2 * τ) =
    2 * ↑π * I * ↑n * cexp (2 * ↑π * I * ↑n * z + ↑π * I * ↑n ^ 2 * τ)

tactic: simp only [mul_add, Complex.exp_add, mul_one, mul_comm _ (n : ℂ), exp_int_mul_two_pi_mul_I,
  mul_one]
state_before: z τ : ℂ
n : ℤ
⊢ 2 * ↑π * I * ↑n * cexp (2 * ↑π * I * ↑n * (z + 1) + ↑π * I * ↑n ^ 2 * τ) =
    2 * ↑π * I * ↑n * cexp (2 * ↑π * I * ↑n * z + ↑π * I * ↑n ^ 2 * τ)
state_after: no goals
Theorem: BoundedContinuousFunction.range_toLpHom
File: Mathlib/MeasureTheory/Function/LpSpace.lean

tactic: symm
state_before: α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedAddCommGroup G
inst✝⁴ : TopologicalSpace α
inst✝³ : BorelSpace α
inst✝² : SecondCountableTopologyEither α E
inst✝¹ : IsFiniteMeasure μ
inst✝ : Fact (1 ≤ p)
⊢ (toLpHom p μ).range = Lp.boundedContinuousFunction E p μ
state_after: α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedAddCommGroup G
inst✝⁴ : TopologicalSpace α
inst✝³ : BorelSpace α
inst✝² : SecondCountableTopologyEither α E
inst✝¹ : IsFiniteMeasure μ
inst✝ : Fact (1 ≤ p)
⊢ Lp.boundedContinuousFunction E p μ = (toLpHom p μ).range

tactic: convert AddMonoidHom.addSubgroupOf_range_eq_of_le
    ((ContinuousMap.toAEEqFunAddHom μ).comp (toContinuousMapAddHom α E))
    (by rintro - ⟨f, rfl⟩; exact mem_Lp f : _ ≤ Lp E p μ)
state_before: α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedAddCommGroup G
inst✝⁴ : TopologicalSpace α
inst✝³ : BorelSpace α
inst✝² : SecondCountableTopologyEither α E
inst✝¹ : IsFiniteMeasure μ
inst✝ : Fact (1 ≤ p)
⊢ Lp.boundedContinuousFunction E p μ = (toLpHom p μ).range
state_after: no goals

tactic: rintro - ⟨f, rfl⟩
state_before: α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedAddCommGroup G
inst✝⁴ : TopologicalSpace α
inst✝³ : BorelSpace α
inst✝² : SecondCountableTopologyEither α E
inst✝¹ : IsFiniteMeasure μ
inst✝ : Fact (1 ≤ p)
⊢ ((ContinuousMap.toAEEqFunAddHom μ).comp (toContinuousMapAddHom α E)).range ≤ Lp E p μ
state_after: case intro
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedAddCommGroup G
inst✝⁴ : TopologicalSpace α
inst✝³ : BorelSpace α
inst✝² : SecondCountableTopologyEither α E
inst✝¹ : IsFiniteMeasure μ
inst✝ : Fact (1 ≤ p)
f : α →ᵇ E
⊢ ((ContinuousMap.toAEEqFunAddHom μ).comp (toContinuousMapAddHom α E)) f ∈ Lp E p μ

tactic: exact mem_Lp f
state_before: case intro
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedAddCommGroup G
inst✝⁴ : TopologicalSpace α
inst✝³ : BorelSpace α
inst✝² : SecondCountableTopologyEither α E
inst✝¹ : IsFiniteMeasure μ
inst✝ : Fact (1 ≤ p)
f : α →ᵇ E
⊢ ((ContinuousMap.toAEEqFunAddHom μ).comp (toContinuousMapAddHom α E)) f ∈ Lp E p μ
state_after: no goals
Theorem: FirstOrder.Language.BoundedFormula.realize_inf
File: Mathlib/ModelTheory/Semantics.lean

tactic: simp [Inf.inf, Realize]
state_before: L : Language
L' : Language
M : Type w
N : Type u_1
P : Type u_2
inst✝² : L.Structure M
inst✝¹ : L.Structure N
inst✝ : L.Structure P
α : Type u'
β : Type v'
γ : Type u_3
n l : ℕ
φ ψ : L.BoundedFormula α l
θ : L.BoundedFormula α l.succ
v : α → M
xs : Fin l → M
⊢ (φ ⊓ ψ).Realize v xs ↔ φ.Realize v xs ∧ ψ.Realize v xs
state_after: no goals
Theorem: ProbabilityTheory.condIndepFun_iff
File: Mathlib/Probability/Independence/Conditional.lean

tactic: rw [condIndepFun_iff_condIndep, condIndep_iff _ _ _ _ hf.comap_le hg.comap_le]
state_before: Ω : Type u_1
ι : Type u_2
m' mΩ : MeasurableSpace Ω
inst✝² : StandardBorelSpace Ω
inst✝¹ : Nonempty Ω
hm' : m' ≤ mΩ
β : Type u_3
γ : Type u_4
mβ : MeasurableSpace β
mγ : MeasurableSpace γ
f : Ω → β
g : Ω → γ
hf : Measurable f
hg : Measurable g
μ : Measure Ω
inst✝ : IsFiniteMeasure μ
⊢ CondIndepFun m' hm' f g μ ↔
    ∀ (t1 t2 : Set Ω),
      MeasurableSet t1 →
        MeasurableSet t2 →
          μ[(t1 ∩ t2).indicator fun ω => 1|m'] =ᶠ[ae μ] μ[t1.indicator fun ω => 1|m'] * μ[t2.indicator fun ω => 1|m']
state_after: no goals
Theorem: Nat.cast_eq_one
File: Mathlib/Algebra/CharZero/Defs.lean

tactic: rw [← cast_one, cast_inj]
state_before: R : Type u_1
inst✝¹ : AddMonoidWithOne R
inst✝ : CharZero R
n : ℕ
⊢ ↑n = 1 ↔ n = 1
state_after: no goals
Theorem: Cardinal.power_nat_le_max
File: Mathlib/SetTheory/Cardinal/Ordinal.lean

tactic: rcases le_or_lt ℵ₀ c with hc | hc
state_before: c : Cardinal.{u}
n : ℕ
⊢ c ^ ↑n ≤ max c ℵ₀
state_after: case inl
c : Cardinal.{u}
n : ℕ
hc : ℵ₀ ≤ c
⊢ c ^ ↑n ≤ max c ℵ₀

case inr
c : Cardinal.{u}
n : ℕ
hc : c < ℵ₀
⊢ c ^ ↑n ≤ max c ℵ₀

tactic: exact le_max_of_le_left (power_nat_le hc)
state_before: case inl
c : Cardinal.{u}
n : ℕ
hc : ℵ₀ ≤ c
⊢ c ^ ↑n ≤ max c ℵ₀
state_after: no goals

tactic: exact le_max_of_le_right (power_lt_aleph0 hc (nat_lt_aleph0 _)).le
state_before: case inr
c : Cardinal.{u}
n : ℕ
hc : c < ℵ₀
⊢ c ^ ↑n ≤ max c ℵ₀
state_after: no goals
Theorem: Real.quadratic_le_exp_of_nonneg
File: Mathlib/Data/Complex/Exponential.lean

tactic: simp only [sum_range_succ, range_one, sum_singleton, _root_.pow_zero, factorial, cast_one,
  ne_eq, one_ne_zero, not_false_eq_true, div_self, pow_one, mul_one, div_one, Nat.mul_one,
  cast_succ, add_right_inj]
state_before: x✝ y x : ℝ
hx : 0 ≤ x
⊢ 1 + x + x ^ 2 / 2 = ∑ i ∈ range 3, x ^ i / ↑i !
state_after: x✝ y x : ℝ
hx : 0 ≤ x
⊢ 1 + x + x ^ 2 / 2 = 1 / (↑0 + 1) + x / (↑0 + 1) + x ^ 2 / (↑0 + 1 + 1)

tactic: ring_nf
state_before: x✝ y x : ℝ
hx : 0 ≤ x
⊢ 1 + x + x ^ 2 / 2 = 1 / (↑0 + 1) + x / (↑0 + 1) + x ^ 2 / (↑0 + 1 + 1)
state_after: no goals
Theorem: Nat.ceil_intCast
File: Mathlib/Algebra/Order/Floor.lean

tactic: simp only [ceil_le, Int.toNat_le]
state_before: F : Type u_1
α✝ : Type u_2
β : Type u_3
inst✝³ : LinearOrderedSemiring α✝
inst✝² : FloorSemiring α✝
a✝ : α✝
n : ℕ
α : Type u_4
inst✝¹ : LinearOrderedRing α
inst✝ : FloorSemiring α
z : ℤ
a : ℕ
⊢ ⌈↑z⌉₊ ≤ a ↔ z.toNat ≤ a
state_after: F : Type u_1
α✝ : Type u_2
β : Type u_3
inst✝³ : LinearOrderedSemiring α✝
inst✝² : FloorSemiring α✝
a✝ : α✝
n : ℕ
α : Type u_4
inst✝¹ : LinearOrderedRing α
inst✝ : FloorSemiring α
z : ℤ
a : ℕ
⊢ ↑z ≤ ↑a ↔ z ≤ ↑a

tactic: norm_cast
state_before: F : Type u_1
α✝ : Type u_2
β : Type u_3
inst✝³ : LinearOrderedSemiring α✝
inst✝² : FloorSemiring α✝
a✝ : α✝
n : ℕ
α : Type u_4
inst✝¹ : LinearOrderedRing α
inst✝ : FloorSemiring α
z : ℤ
a : ℕ
⊢ ↑z ≤ ↑a ↔ z ≤ ↑a
state_after: no goals
Theorem: FractionalIdeal.den_mul_self_eq_num
File: Mathlib/RingTheory/FractionalIdeal/Basic.lean

tactic: rw [den, num, Submodule.map_comap_eq]
state_before: R : Type u_1
inst✝² : CommRing R
S : Submonoid R
P : Type u_2
inst✝¹ : CommRing P
inst✝ : Algebra R P
loc : IsLocalization S P
I : FractionalIdeal S P
⊢ I.den • ↑I = Submodule.map (Algebra.linearMap R P) I.num
state_after: R : Type u_1
inst✝² : CommRing R
S : Submonoid R
P : Type u_2
inst✝¹ : CommRing P
inst✝ : Algebra R P
loc : IsLocalization S P
I : FractionalIdeal S P
⊢ ⟨Exists.choose ⋯, ⋯⟩ • ↑I = LinearMap.range (Algebra.linearMap R P) ⊓ I.den • ↑I

tactic: refine (inf_of_le_right ?_).symm
state_before: R : Type u_1
inst✝² : CommRing R
S : Submonoid R
P : Type u_2
inst✝¹ : CommRing P
inst✝ : Algebra R P
loc : IsLocalization S P
I : FractionalIdeal S P
⊢ ⟨Exists.choose ⋯, ⋯⟩ • ↑I = LinearMap.range (Algebra.linearMap R P) ⊓ I.den • ↑I
state_after: R : Type u_1
inst✝² : CommRing R
S : Submonoid R
P : Type u_2
inst✝¹ : CommRing P
inst✝ : Algebra R P
loc : IsLocalization S P
I : FractionalIdeal S P
⊢ ⟨Exists.choose ⋯, ⋯⟩ • ↑I ≤ LinearMap.range (Algebra.linearMap R P)

tactic: rintro _ ⟨a, ha, rfl⟩
state_before: R : Type u_1
inst✝² : CommRing R
S : Submonoid R
P : Type u_2
inst✝¹ : CommRing P
inst✝ : Algebra R P
loc : IsLocalization S P
I : FractionalIdeal S P
⊢ ⟨Exists.choose ⋯, ⋯⟩ • ↑I ≤ LinearMap.range (Algebra.linearMap R P)
state_after: case intro.intro
R : Type u_1
inst✝² : CommRing R
S : Submonoid R
P : Type u_2
inst✝¹ : CommRing P
inst✝ : Algebra R P
loc : IsLocalization S P
I : FractionalIdeal S P
a : P
ha : a ∈ ↑↑I
⊢ (DistribMulAction.toLinearMap R P (S.subtype ⟨Exists.choose ⋯, ⋯⟩)) a ∈ LinearMap.range (Algebra.linearMap R P)

tactic: exact I.2.choose_spec.2 a ha
state_before: case intro.intro
R : Type u_1
inst✝² : CommRing R
S : Submonoid R
P : Type u_2
inst✝¹ : CommRing P
inst✝ : Algebra R P
loc : IsLocalization S P
I : FractionalIdeal S P
a : P
ha : a ∈ ↑↑I
⊢ (DistribMulAction.toLinearMap R P (S.subtype ⟨Exists.choose ⋯, ⋯⟩)) a ∈ LinearMap.range (Algebra.linearMap R P)
state_after: no goals
Theorem: CategoryTheory.isZero_Tor_succ_of_projective
File: Mathlib/CategoryTheory/Monoidal/Tor.lean

tactic: apply Functor.isZero_leftDerived_obj_projective_succ
state_before: C : Type u_1
inst✝⁵ : Category.{u_2, u_1} C
inst✝⁴ : MonoidalCategory C
inst✝³ : Abelian C
inst✝² : MonoidalPreadditive C
inst✝¹ : HasProjectiveResolutions C
X Y : C
inst✝ : Projective Y
n : ℕ
⊢ IsZero (((Tor C (n + 1)).obj X).obj Y)
state_after: no goals
Theorem: Matrix.conjTranspose_mul
File: Mathlib/Data/Matrix/Basic.lean

tactic: simp [mul_apply]
state_before: l : Type u_1
m : Type u_2
n : Type u_3
o : Type u_4
m' : o → Type u_5
n' : o → Type u_6
R : Type u_7
S : Type u_8
α : Type v
β : Type w
γ : Type u_9
inst✝² : Fintype n
inst✝¹ : NonUnitalSemiring α
inst✝ : StarRing α
M : Matrix m n α
N : Matrix n l α
⊢ ∀ (i : l) (j : m), (M * N)ᴴ i j = (Nᴴ * Mᴴ) i j
state_after: no goals
Theorem: Lagrange.nodalWeight_ne_zero
File: Mathlib/LinearAlgebra/Lagrange.lean

tactic: rw [nodalWeight, prod_ne_zero_iff]
state_before: F : Type u_1
inst✝¹ : Field F
ι : Type u_2
inst✝ : DecidableEq ι
s : Finset ι
v : ι → F
i : ι
hvs : Set.InjOn v ↑s
hi : i ∈ s
⊢ nodalWeight s v i ≠ 0
state_after: F : Type u_1
inst✝¹ : Field F
ι : Type u_2
inst✝ : DecidableEq ι
s : Finset ι
v : ι → F
i : ι
hvs : Set.InjOn v ↑s
hi : i ∈ s
⊢ ∀ a ∈ s.erase i, (v i - v a)⁻¹ ≠ 0

tactic: intro j hj
state_before: F : Type u_1
inst✝¹ : Field F
ι : Type u_2
inst✝ : DecidableEq ι
s : Finset ι
v : ι → F
i : ι
hvs : Set.InjOn v ↑s
hi : i ∈ s
⊢ ∀ a ∈ s.erase i, (v i - v a)⁻¹ ≠ 0
state_after: F : Type u_1
inst✝¹ : Field F
ι : Type u_2
inst✝ : DecidableEq ι
s : Finset ι
v : ι → F
i : ι
hvs : Set.InjOn v ↑s
hi : i ∈ s
j : ι
hj : j ∈ s.erase i
⊢ (v i - v j)⁻¹ ≠ 0

tactic: rcases mem_erase.mp hj with ⟨hij, hj⟩
state_before: F : Type u_1
inst✝¹ : Field F
ι : Type u_2
inst✝ : DecidableEq ι
s : Finset ι
v : ι → F
i : ι
hvs : Set.InjOn v ↑s
hi : i ∈ s
j : ι
hj : j ∈ s.erase i
⊢ (v i - v j)⁻¹ ≠ 0
state_after: case intro
F : Type u_1
inst✝¹ : Field F
ι : Type u_2
inst✝ : DecidableEq ι
s : Finset ι
v : ι → F
i : ι
hvs : Set.InjOn v ↑s
hi : i ∈ s
j : ι
hj✝ : j ∈ s.erase i
hij : j ≠ i
hj : j ∈ s
⊢ (v i - v j)⁻¹ ≠ 0

tactic: exact inv_ne_zero (sub_ne_zero_of_ne (mt (hvs.eq_iff hi hj).mp hij.symm))
state_before: case intro
F : Type u_1
inst✝¹ : Field F
ι : Type u_2
inst✝ : DecidableEq ι
s : Finset ι
v : ι → F
i : ι
hvs : Set.InjOn v ↑s
hi : i ∈ s
j : ι
hj✝ : j ∈ s.erase i
hij : j ≠ i
hj : j ∈ s
⊢ (v i - v j)⁻¹ ≠ 0
state_after: no goals