tasksource/leandojo huggingface dataset:
Theorem: Order.Ioi_pred_eq_insert_of_not_isMin
File: Mathlib/Order/SuccPred/Basic.lean

tactic: ext x
state_before: α : Type u_1
inst✝¹ : PartialOrder α
inst✝ : PredOrder α
a b : α
ha : ¬IsMin a
⊢ Ioi (pred a) = insert a (Ioi a)

tactic: simp only [insert, mem_setOf, @eq_comm _ x a, mem_Ioi, Set.insert]
state_before: case h
α : Type u_1
inst✝¹ : PartialOrder α
inst✝ : PredOrder α
a b : α
ha : ¬IsMin a
x : α
⊢ x ∈ Ioi (pred a) ↔ x ∈ insert a (Ioi a)

tactic: exact pred_lt_iff_eq_or_lt_of_not_isMin ha
state_before: case h
α : Type u_1
inst✝¹ : PartialOrder α
inst✝ : PredOrder α
a b : α
ha : ¬IsMin a
x : α
⊢ pred a < x ↔ a = x ∨ a < x
Theorem: Nat.pow_div
File: Mathlib/Data/Nat/Pow.lean

tactic: rw [Nat.div_eq_iff_eq_mul_left (pow_pos hx n) (pow_dvd_pow _ h), pow_sub_mul_pow _ h]
state_before: x m n : ℕ
h : n ≤ m
hx : 0 < x
⊢ x ^ m / x ^ n = x ^ (m - n)
Theorem: eq_imp_of_iff_imp
File: Mathlib/Tactic/Congr!.lean

tactic: cases he
state_before: x y : Prop
p : x = y → Prop
h : ∀ (he : x ↔ y), p (_ : x = y)
he : x = y
⊢ p he

tactic: exact h Iff.rfl
state_before: case refl
x : Prop
p : x = x → Prop
h : ∀ (he : x ↔ x), p (_ : x = x)
⊢ p (_ : x = x)
Theorem: Ordinal.le_sup_shrink_equiv
File: Mathlib/SetTheory/Ordinal/Arithmetic.lean

tactic: convert le_sup.{u, u} (fun x => ((@equivShrink s hs).symm x).val) ((@equivShrink s hs) ⟨a, ha⟩)
state_before: α : Type ?u.292293
β : Type ?u.292296
γ : Type ?u.292299
r : α → α → Prop
s✝ : β → β → Prop
t : γ → γ → Prop
s : Set Ordinal
hs : Small ↑s
a : Ordinal
ha : a ∈ s
⊢ a ≤ sup fun x => ↑(↑(equivShrink ↑s).symm x)

tactic: rw [symm_apply_apply]
state_before: case h.e'_3
α : Type ?u.292293
β : Type ?u.292296
γ : Type ?u.292299
r : α → α → Prop
s✝ : β → β → Prop
t : γ → γ → Prop
s : Set Ordinal
hs : Small ↑s
a : Ordinal
ha : a ∈ s
⊢ a = ↑(↑(equivShrink ↑s).symm (↑(equivShrink ↑s) { val := a, property := ha }))
Theorem: continuousWithinAt_Ico_iff_Ici
File: Mathlib/Topology/Order/Basic.lean

tactic: simp only [ContinuousWithinAt, nhdsWithin_Ico_eq_nhdsWithin_Ici h]
state_before: α : Type u
β : Type v
γ : Type w
inst✝⁴ : TopologicalSpace α
inst✝³ : LinearOrder α
inst✝² : OrderClosedTopology α
a✝ b✝ : α
inst✝¹ : TopologicalSpace γ
inst✝ : TopologicalSpace β
a b : α
f : α → β
h : a < b
⊢ ContinuousWithinAt f (Ico a b) a ↔ ContinuousWithinAt f (Ici a) a
Theorem: Real.ennnorm_eq_ofReal_abs
File: Mathlib/Analysis/Normed/Group/Basic.lean

tactic: rw [← Real.nnnorm_abs r, Real.ennnorm_eq_ofReal (abs_nonneg _)]
state_before: 𝓕 : Type ?u.1109014
𝕜 : Type ?u.1109017
α : Type ?u.1109020
ι : Type ?u.1109023
κ : Type ?u.1109026
E : Type ?u.1109029
F : Type ?u.1109032
G : Type ?u.1109035
inst✝¹ : SeminormedCommGroup E
inst✝ : SeminormedCommGroup F
a a₁ a₂ b b₁ b₂ : E
r✝ r₁ r₂ r : ℝ
⊢ ↑‖r‖₊ = ENNReal.ofReal (abs r)
Theorem: Real.zero_rpow_nonneg
File: Mathlib/Analysis/SpecialFunctions/Pow/Real.lean

tactic: by_cases h : x = 0 <;> simp [h, zero_le_one]
state_before: x : ℝ
⊢ 0 ≤ 0 ^ x
Theorem: Nat.Subtype.orderIsoOfNat_apply
File: Mathlib/Order/OrderIsoNat.lean

tactic: simp [orderIsoOfNat]
state_before: α : Type ?u.33687
s : Set ℕ
inst✝ : Infinite ↑s
dP : DecidablePred fun x => x ∈ s
n : ℕ
⊢ ↑(orderIsoOfNat s) n = ofNat s n

tactic: congr!
state_before: α : Type ?u.33687
s : Set ℕ
inst✝ : Infinite ↑s
dP : DecidablePred fun x => x ∈ s
n : ℕ
⊢ ofNat s n = ofNat s n
Theorem: Finset.sum_smul_const_vsub_eq_neg_weightedVSub
File: Mathlib/LinearAlgebra/AffineSpace/Combination.lean

tactic: rw [sum_smul_vsub_eq_weightedVSub_sub, s.weightedVSub_apply_const _ _ h, zero_sub]
state_before: k : Type u_1
V : Type u_3
P : Type u_4
inst✝² : Ring k
inst✝¹ : AddCommGroup V
inst✝ : Module k V
S : AffineSpace V P
ι : Type u_2
s : Finset ι
ι₂ : Type ?u.206676
s₂ : Finset ι₂
w : ι → k
p₂ : ι → P
p₁ : P
h : ∑ i in s, w i = 0
⊢ ∑ i in s, w i • (p₁ -ᵥ p₂ i) = -↑(weightedVSub s p₂) w
Theorem: Real.surjOn_log'
File: Mathlib/Analysis/SpecialFunctions/Log/Basic.lean

tactic: rw [log_neg_eq_log, log_exp]
state_before: x✝¹ y x : ℝ
x✝ : x ∈ univ
⊢ log (-exp x) = x
Theorem: Int.sub_zero
File: Std/Data/Int/Lemmas.lean

tactic: simp [Int.sub_eq_add_neg]
state_before: a : Int
⊢ a - 0 = a
Theorem: ClosedEmbedding.polishSpace
File: Mathlib/Topology/MetricSpace/Polish.lean

tactic: letI := upgradePolishSpace β
state_before: α : Type u_1
β : Type u_2
inst✝² : TopologicalSpace α
inst✝¹ : TopologicalSpace β
inst✝ : PolishSpace β
f : α → β
hf : ClosedEmbedding f
⊢ PolishSpace α

tactic: letI : MetricSpace α := hf.toEmbedding.comapMetricSpace f
state_before: α : Type u_1
β : Type u_2
inst✝² : TopologicalSpace α
inst✝¹ : TopologicalSpace β
inst✝ : PolishSpace β
f : α → β
hf : ClosedEmbedding f
this : UpgradedPolishSpace β := upgradePolishSpace β
⊢ PolishSpace α

tactic: haveI : SecondCountableTopology α := hf.toEmbedding.secondCountableTopology
state_before: α : Type u_1
β : Type u_2
inst✝² : TopologicalSpace α
inst✝¹ : TopologicalSpace β
inst✝ : PolishSpace β
f : α → β
hf : ClosedEmbedding f
this✝ : UpgradedPolishSpace β := upgradePolishSpace β
this : MetricSpace α := Embedding.comapMetricSpace f (_ : _root_.Embedding f)
⊢ PolishSpace α

tactic: have : CompleteSpace α := by
  rw [completeSpace_iff_isComplete_range hf.toEmbedding.to_isometry.uniformInducing]
  exact hf.closed_range.isComplete
state_before: α : Type u_1
β : Type u_2
inst✝² : TopologicalSpace α
inst✝¹ : TopologicalSpace β
inst✝ : PolishSpace β
f : α → β
hf : ClosedEmbedding f
this✝¹ : UpgradedPolishSpace β := upgradePolishSpace β
this✝ : MetricSpace α := Embedding.comapMetricSpace f (_ : _root_.Embedding f)
this : SecondCountableTopology α
⊢ PolishSpace α

tactic: infer_instance
state_before: α : Type u_1
β : Type u_2
inst✝² : TopologicalSpace α
inst✝¹ : TopologicalSpace β
inst✝ : PolishSpace β
f : α → β
hf : ClosedEmbedding f
this✝² : UpgradedPolishSpace β := upgradePolishSpace β
this✝¹ : MetricSpace α := Embedding.comapMetricSpace f (_ : _root_.Embedding f)
this✝ : SecondCountableTopology α
this : CompleteSpace α
⊢ PolishSpace α

tactic: rw [completeSpace_iff_isComplete_range hf.toEmbedding.to_isometry.uniformInducing]
state_before: α : Type u_1
β : Type u_2
inst✝² : TopologicalSpace α
inst✝¹ : TopologicalSpace β
inst✝ : PolishSpace β
f : α → β
hf : ClosedEmbedding f
this✝¹ : UpgradedPolishSpace β := upgradePolishSpace β
this✝ : MetricSpace α := Embedding.comapMetricSpace f (_ : _root_.Embedding f)
this : SecondCountableTopology α
⊢ CompleteSpace α

tactic: exact hf.closed_range.isComplete
state_before: α : Type u_1
β : Type u_2
inst✝² : TopologicalSpace α
inst✝¹ : TopologicalSpace β
inst✝ : PolishSpace β
f : α → β
hf : ClosedEmbedding f
this✝¹ : UpgradedPolishSpace β := upgradePolishSpace β
this✝ : MetricSpace α := Embedding.comapMetricSpace f (_ : _root_.Embedding f)
this : SecondCountableTopology α
⊢ IsComplete (range f)
Theorem: Polynomial.mem_lifts
File: Mathlib/Data/Polynomial/Lifts.lean

tactic: simp only [coe_mapRingHom, lifts, RingHom.mem_rangeS]
state_before: R : Type u
inst✝¹ : Semiring R
S : Type v
inst✝ : Semiring S
f : R →+* S
p : S[X]
⊢ p ∈ lifts f ↔ ∃ q, map f q = p
Theorem: Nat.prod_pow_factorization_centralBinom
File: Mathlib/Data/Nat/Choose/Factorization.lean

tactic: apply prod_pow_factorization_choose
state_before: p n✝ k n : ℕ
⊢ ∏ p in Finset.range (2 * n + 1), p ^ ↑(factorization (centralBinom n)) p = centralBinom n

tactic: linarith
state_before: case hkn
p n✝ k n : ℕ
⊢ n ≤ 2 * n
Theorem: toIocMod_sub'
File: Mathlib/Algebra/Order/ToIntervalMod.lean

tactic: simpa only [one_zsmul] using toIocMod_sub_zsmul' hp a b 1
state_before: α : Type u_1
inst✝ : LinearOrderedAddCommGroup α
hα : Archimedean α
p : α
hp : 0 < p
a✝ b✝ c : α
n : ℤ
a b : α
⊢ toIocMod hp (a - p) b = toIocMod hp a b - p
Theorem: Nat.sub_sub
File: src/lean/Init/Data/Nat/Basic.lean

tactic: induction k with
| zero => simp
| succ k ih => rw [Nat.add_succ, Nat.sub_succ, Nat.sub_succ, ih]
state_before: n m k : Nat
⊢ n - m - k = n - (m + k)

tactic: simp
state_before: case zero
n m : Nat
⊢ n - m - zero = n - (m + zero)

tactic: rw [Nat.add_succ, Nat.sub_succ, Nat.sub_succ, ih]
state_before: case succ
n m k : Nat
ih : n - m - k = n - (m + k)
⊢ n - m - succ k = n - (m + succ k)
Theorem: Polynomial.integralNormalization_coeff_ne_degree
File: Mathlib/Data/Polynomial/IntegralNormalization.lean

tactic: rw [integralNormalization_coeff, if_neg hi]
state_before: R : Type u
S : Type v
a b : R
m n : ℕ
ι : Type y
inst✝ : Semiring R
f : R[X]
i : ℕ
hi : degree f ≠ ↑i
⊢ coeff (integralNormalization f) i = coeff f i * leadingCoeff f ^ (natDegree f - 1 - i)
Theorem: MeasureTheory.FinMeasAdditive.of_smul_measure
File: Mathlib/MeasureTheory/Integral/SetToL1.lean

tactic: refine' of_eq_top_imp_eq_top (fun s _ hμs => _) hT
state_before: α : Type u_1
E : Type ?u.26387
F : Type ?u.26390
F' : Type ?u.26393
G : Type ?u.26396
𝕜 : Type ?u.26399
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 α
β : Type u_2
inst✝ : AddCommMonoid β
T T' : Set α → β
c : ℝ≥0∞
hc_ne_top : c ≠ ⊤
hT : FinMeasAdditive (c • μ) T
⊢ FinMeasAdditive μ T

tactic: rw [Measure.smul_apply, smul_eq_mul, ENNReal.mul_eq_top] at hμs
state_before: α : Type u_1
E : Type ?u.26387
F : Type ?u.26390
F' : Type ?u.26393
G : Type ?u.26396
𝕜 : Type ?u.26399
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 α
β : Type u_2
inst✝ : AddCommMonoid β
T T' : Set α → β
c : ℝ≥0∞
hc_ne_top : c ≠ ⊤
hT : FinMeasAdditive (c • μ) T
s : Set α
x✝ : MeasurableSet s
hμs : ↑↑(c • μ) s = ⊤
⊢ ↑↑μ s = ⊤

tactic: simp only [hc_ne_top, or_false_iff, Ne.def, false_and_iff] at hμs
state_before: α : Type u_1
E : Type ?u.26387
F : Type ?u.26390
F' : Type ?u.26393
G : Type ?u.26396
𝕜 : Type ?u.26399
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 α
β : Type u_2
inst✝ : AddCommMonoid β
T T' : Set α → β
c : ℝ≥0∞
hc_ne_top : c ≠ ⊤
hT : FinMeasAdditive (c • μ) T
s : Set α
x✝ : MeasurableSet s
hμs : c ≠ 0 ∧ ↑↑μ s = ⊤ ∨ c = ⊤ ∧ ↑↑μ s ≠ 0
⊢ ↑↑μ s = ⊤

tactic: exact hμs.2
state_before: α : Type u_1
E : Type ?u.26387
F : Type ?u.26390
F' : Type ?u.26393
G : Type ?u.26396
𝕜 : Type ?u.26399
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 α
β : Type u_2
inst✝ : AddCommMonoid β
T T' : Set α → β
c : ℝ≥0∞
hc_ne_top : c ≠ ⊤
hT : FinMeasAdditive (c • μ) T
s : Set α
x✝ : MeasurableSet s
hμs : ¬c = 0 ∧ ↑↑μ s = ⊤
⊢ ↑↑μ s = ⊤
Theorem: RingHom.map_vecMul
File: Mathlib/Data/Matrix/Basic.lean

tactic: simp only [Matrix.vecMul, Matrix.map_apply, RingHom.map_dotProduct, Function.comp]
state_before: l : Type ?u.1326869
m : Type u_4
n : Type u_3
o : Type ?u.1326878
m' : o → Type ?u.1326883
n' : o → Type ?u.1326888
R : Type u_1
S : Type u_2
α : Type v
β : Type w
γ : Type ?u.1326901
inst✝⁴ : Fintype n
inst✝³ : NonAssocSemiring α
inst✝² : NonAssocSemiring β
inst✝¹ : NonAssocSemiring R
inst✝ : NonAssocSemiring S
f : R →+* S
M : Matrix n m R
v : n → R
i : m
⊢ ↑f (vecMul v M i) = vecMul (↑f ∘ v) (map M ↑f) i
Theorem: frontier_union_subset
File: Mathlib/Topology/Basic.lean

tactic: simpa only [frontier_compl, ← compl_union] using frontier_inter_subset (sᶜ) (tᶜ)
state_before: α : Type u
β : Type v
ι : Sort w
a : α
s✝ s₁ s₂ t✝ : Set α
p p₁ p₂ : α → Prop
inst✝ : TopologicalSpace α
s t : Set α
⊢ frontier (s ∪ t) ⊆ frontier s ∩ closure (tᶜ) ∪ closure (sᶜ) ∩ frontier t
Theorem: Ideal.prod_le_prime
File: Mathlib/RingTheory/DedekindDomain/Ideal.lean

tactic: by_cases hP0 : P = ⊥
state_before: R : Type u_2
A : Type ?u.1190669
K : Type ?u.1190672
inst✝⁵ : CommRing R
inst✝⁴ : CommRing A
inst✝³ : Field K
inst✝² : IsDomain A
inst✝¹ : IsDomain R
inst✝ : IsDedekindDomain R
ι : Type u_1
s : Finset ι
f : ι → Ideal R
P : Ideal R
hP : IsPrime P
⊢ ∏ i in s, f i ≤ P ↔ ∃ i, i ∈ s ∧ f i ≤ P

tactic: simp only [← Ideal.dvd_iff_le]
state_before: case neg
R : Type u_2
A : Type ?u.1190669
K : Type ?u.1190672
inst✝⁵ : CommRing R
inst✝⁴ : CommRing A
inst✝³ : Field K
inst✝² : IsDomain A
inst✝¹ : IsDomain R
inst✝ : IsDedekindDomain R
ι : Type u_1
s : Finset ι
f : ι → Ideal R
P : Ideal R
hP : IsPrime P
hP0 : ¬P = ⊥
⊢ ∏ i in s, f i ≤ P ↔ ∃ i, i ∈ s ∧ f i ≤ P

tactic: exact ((Ideal.prime_iff_isPrime hP0).mpr hP).dvd_finset_prod_iff _
state_before: case neg
R : Type u_2
A : Type ?u.1190669
K : Type ?u.1190672
inst✝⁵ : CommRing R
inst✝⁴ : CommRing A
inst✝³ : Field K
inst✝² : IsDomain A
inst✝¹ : IsDomain R
inst✝ : IsDedekindDomain R
ι : Type u_1
s : Finset ι
f : ι → Ideal R
P : Ideal R
hP : IsPrime P
hP0 : ¬P = ⊥
⊢ P ∣ ∏ i in s, f i ↔ ∃ i, i ∈ s ∧ P ∣ f i

tactic: simp only [hP0, le_bot_iff]
state_before: case pos
R : Type u_2
A : Type ?u.1190669
K : Type ?u.1190672
inst✝⁵ : CommRing R
inst✝⁴ : CommRing A
inst✝³ : Field K
inst✝² : IsDomain A
inst✝¹ : IsDomain R
inst✝ : IsDedekindDomain R
ι : Type u_1
s : Finset ι
f : ι → Ideal R
P : Ideal R
hP : IsPrime P
hP0 : P = ⊥
⊢ ∏ i in s, f i ≤ P ↔ ∃ i, i ∈ s ∧ f i ≤ P

tactic: rw [← Ideal.zero_eq_bot, Finset.prod_eq_zero_iff]
state_before: case pos
R : Type u_2
A : Type ?u.1190669
K : Type ?u.1190672
inst✝⁵ : CommRing R
inst✝⁴ : CommRing A
inst✝³ : Field K
inst✝² : IsDomain A
inst✝¹ : IsDomain R
inst✝ : IsDedekindDomain R
ι : Type u_1
s : Finset ι
f : ι → Ideal R
P : Ideal R
hP : IsPrime P
hP0 : P = ⊥
⊢ ∏ i in s, f i = ⊥ ↔ ∃ i, i ∈ s ∧ f i = ⊥
Theorem: MeasureTheory.L1.setToL1_mono
File: Mathlib/MeasureTheory/Integral/SetToL1.lean

tactic: rw [← sub_nonneg] at hfg ⊢
state_before: α : Type u_1
E : Type ?u.1241130
F : Type ?u.1241133
F' : Type ?u.1241136
G : Type ?u.1241139
𝕜 : Type ?u.1241142
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'' : ℝ
G' : Type u_2
G'' : Type u_3
inst✝⁴ : NormedLatticeAddCommGroup G''
inst✝³ : NormedSpace ℝ G''
inst✝² : CompleteSpace G''
inst✝¹ : NormedLatticeAddCommGroup G'
inst✝ : NormedSpace ℝ G'
T : Set α → G' →L[ℝ] G''
C : ℝ
hT : DominatedFinMeasAdditive μ T C
hT_nonneg : ∀ (s : Set α), MeasurableSet s → ↑↑μ s < ⊤ → ∀ (x : G'), 0 ≤ x → 0 ≤ ↑(T s) x
f g : { x // x ∈ Lp G' 1 }
hfg : f ≤ g
⊢ ↑(setToL1 hT) f ≤ ↑(setToL1 hT) g

tactic: rw [← (setToL1 hT).map_sub]
state_before: α : Type u_1
E : Type ?u.1241130
F : Type ?u.1241133
F' : Type ?u.1241136
G : Type ?u.1241139
𝕜 : Type ?u.1241142
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'' : ℝ
G' : Type u_2
G'' : Type u_3
inst✝⁴ : NormedLatticeAddCommGroup G''
inst✝³ : NormedSpace ℝ G''
inst✝² : CompleteSpace G''
inst✝¹ : NormedLatticeAddCommGroup G'
inst✝ : NormedSpace ℝ G'
T : Set α → G' →L[ℝ] G''
C : ℝ
hT : DominatedFinMeasAdditive μ T C
hT_nonneg : ∀ (s : Set α), MeasurableSet s → ↑↑μ s < ⊤ → ∀ (x : G'), 0 ≤ x → 0 ≤ ↑(T s) x
f g : { x // x ∈ Lp G' 1 }
hfg✝ : f ≤ g
hfg : 0 ≤ g - f
⊢ 0 ≤ ↑(setToL1 hT) g - ↑(setToL1 hT) f

tactic: exact setToL1_nonneg hT hT_nonneg hfg
state_before: α : Type u_1
E : Type ?u.1241130
F : Type ?u.1241133
F' : Type ?u.1241136
G : Type ?u.1241139
𝕜 : Type ?u.1241142
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'' : ℝ
G' : Type u_2
G'' : Type u_3
inst✝⁴ : NormedLatticeAddCommGroup G''
inst✝³ : NormedSpace ℝ G''
inst✝² : CompleteSpace G''
inst✝¹ : NormedLatticeAddCommGroup G'
inst✝ : NormedSpace ℝ G'
T : Set α → G' →L[ℝ] G''
C : ℝ
hT : DominatedFinMeasAdditive μ T C
hT_nonneg : ∀ (s : Set α), MeasurableSet s → ↑↑μ s < ⊤ → ∀ (x : G'), 0 ≤ x → 0 ≤ ↑(T s) x
f g : { x // x ∈ Lp G' 1 }
hfg✝ : f ≤ g
hfg : 0 ≤ g - f
⊢ 0 ≤ ↑(setToL1 hT) (g - f)
Theorem: Int.eq_mul_of_ediv_eq_left
File: Std/Data/Int/DivMod.lean

tactic: rw [Int.mul_comm, Int.eq_mul_of_ediv_eq_right H1 H2]
state_before: a b c : Int
H1 : b ∣ a
H2 : a / b = c
⊢ a = c * b
Theorem: Set.definable_empty
File: Mathlib/ModelTheory/Definability.lean

tactic: ext
state_before: M : Type w
A : Set M
L : Language
inst✝ : Structure L M
α : Type u₁
β : Type ?u.9278
B : Set M
s : Set (α → M)
⊢ ∅ = setOf (Formula.Realize ⊥)

tactic: simp
state_before: case h
M : Type w
A : Set M
L : Language
inst✝ : Structure L M
α : Type u₁
β : Type ?u.9278
B : Set M
s : Set (α → M)
x✝ : α → M
⊢ x✝ ∈ ∅ ↔ x✝ ∈ setOf (Formula.Realize ⊥)
Theorem: Polynomial.degree_restriction
File: Mathlib/RingTheory/Polynomial/Basic.lean

tactic: simp [degree]
state_before: R : Type u
S : Type ?u.74066
inst✝ : Ring R
p : R[X]
⊢ degree (restriction p) = degree p
Theorem: Finset.map_add_left_Icc
File: Mathlib/Data/Finset/LocallyFinite.lean

tactic: rw [← coe_inj, coe_map, coe_Icc, coe_Icc]
state_before: ι : Type ?u.210544
α : Type u_1
inst✝² : OrderedCancelAddCommMonoid α
inst✝¹ : ExistsAddOfLE α
inst✝ : LocallyFiniteOrder α
a b c : α
⊢ map (addLeftEmbedding c) (Icc a b) = Icc (c + a) (c + b)

tactic: exact Set.image_const_add_Icc _ _ _
state_before: ι : Type ?u.210544
α : Type u_1
inst✝² : OrderedCancelAddCommMonoid α
inst✝¹ : ExistsAddOfLE α
inst✝ : LocallyFiniteOrder α
a b c : α
⊢ ↑(addLeftEmbedding c) '' Set.Icc a b = Set.Icc (c + a) (c + b)
Theorem: Set.Finite.toFinset_ssubset
File: Mathlib/Data/Set/Finite.lean

tactic: rw [← Finset.coe_ssubset, Finite.coe_toFinset]
state_before: α : Type u
β : Type v
ι : Sort w
γ : Type x
s t✝ : Set α
a : α
hs : Set.Finite s
ht : Set.Finite t✝
t : Finset α
⊢ Finite.toFinset hs ⊂ t ↔ s ⊂ ↑t
Theorem: AffineSubspace.mem_affineSpan_singleton
File: Mathlib/LinearAlgebra/AffineSpace/AffineSubspace.lean

tactic: simp [← mem_coe]
state_before: k : Type u_2
V : Type u_3
P : Type u_1
inst✝² : Ring k
inst✝¹ : AddCommGroup V
inst✝ : Module k V
S : AffineSpace V P
p₁ p₂ : P
⊢ p₁ ∈ affineSpan k {p₂} ↔ p₁ = p₂
Theorem: abs_mul_sign
File: Mathlib/Data/Sign.lean

tactic: rcases lt_trichotomy x 0 with (hx | rfl | hx)
state_before: α : Type u_1
inst✝ : LinearOrderedRing α
a b x : α
⊢ abs x * ↑(↑sign x) = x

tactic: rw [sign_neg hx, abs_of_neg hx, coe_neg_one, mul_neg_one, neg_neg]
state_before: case inl
α : Type u_1
inst✝ : LinearOrderedRing α
a b x : α
hx : x < 0
⊢ abs x * ↑(↑sign x) = x

tactic: rw [abs_zero, zero_mul]
state_before: case inr.inl
α : Type u_1
inst✝ : LinearOrderedRing α
a b : α
⊢ abs 0 * ↑(↑sign 0) = 0

tactic: rw [sign_pos hx, abs_of_pos hx, coe_one, mul_one]
state_before: case inr.inr
α : Type u_1
inst✝ : LinearOrderedRing α
a b x : α
hx : 0 < x
⊢ abs x * ↑(↑sign x) = x
Theorem: addSalemSpencer_iff_eq_right
File: Mathlib/Combinatorics/Additive/SalemSpencer.lean

tactic: refine' forall₄_congr fun a b c _ => forall₃_congr fun _ _ habc => ⟨_, _⟩
state_before: F : Type ?u.109851
α : Type ?u.109854
β : Type ?u.109857
𝕜 : Type ?u.109860
E : Type ?u.109863
s : Set ℕ
⊢ AddSalemSpencer s ↔ ∀ ⦃a b c : ℕ⦄, a ∈ s → b ∈ s → c ∈ s → a + b = c + c → a = c

tactic: rintro rfl
state_before: case refine'_1
F : Type ?u.109851
α : Type ?u.109854
β : Type ?u.109857
𝕜 : Type ?u.109860
E : Type ?u.109863
s : Set ℕ
a b c : ℕ
x✝² : a ∈ s
x✝¹ : b ∈ s
x✝ : c ∈ s
habc : a + b = c + c
⊢ a = b → a = c

tactic: simp_rw [← two_mul] at habc
state_before: case refine'_1
F : Type ?u.109851
α : Type ?u.109854
β : Type ?u.109857
𝕜 : Type ?u.109860
E : Type ?u.109863
s : Set ℕ
a c : ℕ
x✝² : a ∈ s
x✝¹ : c ∈ s
x✝ : a ∈ s
habc : a + a = c + c
⊢ a = c

tactic: exact mul_left_cancel₀ two_ne_zero habc
state_before: case refine'_1
F : Type ?u.109851
α : Type ?u.109854
β : Type ?u.109857
𝕜 : Type ?u.109860
E : Type ?u.109863
s : Set ℕ
a c : ℕ
x✝² : a ∈ s
x✝¹ : c ∈ s
x✝ : a ∈ s
habc : 2 * a = 2 * c
⊢ a = c

tactic: rintro rfl
state_before: case refine'_2
F : Type ?u.109851
α : Type ?u.109854
β : Type ?u.109857
𝕜 : Type ?u.109860
E : Type ?u.109863
s : Set ℕ
a b c : ℕ
x✝² : a ∈ s
x✝¹ : b ∈ s
x✝ : c ∈ s
habc : a + b = c + c
⊢ a = c → a = b

tactic: exact (add_left_cancel habc).symm
state_before: case refine'_2
F : Type ?u.109851
α : Type ?u.109854
β : Type ?u.109857
𝕜 : Type ?u.109860
E : Type ?u.109863
s : Set ℕ
a b : ℕ
x✝² : a ∈ s
x✝¹ : b ∈ s
x✝ : a ∈ s
habc : a + b = a + a
⊢ a = b
Theorem: ENNReal.coe_inv
File: Mathlib/Data/Real/ENNReal.lean

tactic: rw [← coe_mul, mul_inv_cancel hr, coe_one]
state_before: α : Type ?u.217852
β : Type ?u.217855
a b c d : ℝ≥0∞
r p q : ℝ≥0
hr : r ≠ 0
⊢ 1 ≤ ↑r * ↑r⁻¹
Theorem: Ne.nhdsWithin_diff_singleton
File: Mathlib/Topology/Separation.lean

tactic: rw [diff_eq, inter_comm, nhdsWithin_inter_of_mem]
state_before: α : Type u
β : Type v
inst✝¹ : TopologicalSpace α
inst✝ : T1Space α
x y : α
h : x ≠ y
s : Set α
⊢ 𝓝[s \ {y}] x = 𝓝[s] x

tactic: exact mem_nhdsWithin_of_mem_nhds (isOpen_ne.mem_nhds h)
state_before: α : Type u
β : Type v
inst✝¹ : TopologicalSpace α
inst✝ : T1Space α
x y : α
h : x ≠ y
s : Set α
⊢ {y}ᶜ ∈ 𝓝[s] x
Theorem: CircleIntegrable.out
File: Mathlib/MeasureTheory/Integral/CircleIntegral.lean

tactic: simp only [CircleIntegrable, deriv_circleMap, intervalIntegrable_iff] at *
state_before: E : Type u_1
inst✝¹ : NormedAddCommGroup E
f g : ℂ → E
c : ℂ
R : ℝ
inst✝ : NormedSpace ℂ E
hf : CircleIntegrable f c R
⊢ IntervalIntegrable (fun θ => deriv (circleMap c R) θ • f (circleMap c R θ)) volume 0 (2 * π)

tactic: refine' (hf.norm.const_mul (|R|)).mono' _ _
state_before: E : Type u_1
inst✝¹ : NormedAddCommGroup E
f g : ℂ → E
c : ℂ
R : ℝ
inst✝ : NormedSpace ℂ E
hf : IntegrableOn (fun θ => f (circleMap c R θ)) (Ι 0 (2 * π))
⊢ IntegrableOn (fun θ => (circleMap 0 R θ * I) • f (circleMap c R θ)) (Ι 0 (2 * π))

tactic: exact ((continuous_circleMap _ _).aestronglyMeasurable.mul_const I).smul hf.aestronglyMeasurable
state_before: case refine'_1
E : Type u_1
inst✝¹ : NormedAddCommGroup E
f g : ℂ → E
c : ℂ
R : ℝ
inst✝ : NormedSpace ℂ E
hf : IntegrableOn (fun θ => f (circleMap c R θ)) (Ι 0 (2 * π))
⊢ AEStronglyMeasurable (fun θ => (circleMap 0 R θ * I) • f (circleMap c R θ)) (Measure.restrict volume (Ι 0 (2 * π)))

tactic: simp [norm_smul]
state_before: case refine'_2
E : Type u_1
inst✝¹ : NormedAddCommGroup E
f g : ℂ → E
c : ℂ
R : ℝ
inst✝ : NormedSpace ℂ E
hf : IntegrableOn (fun θ => f (circleMap c R θ)) (Ι 0 (2 * π))
⊢ ∀ᵐ (a : ℝ) ∂Measure.restrict volume (Ι 0 (2 * π)),
    ‖(circleMap 0 R a * I) • f (circleMap c R a)‖ ≤ Abs.abs R * ‖f (circleMap c R a)‖
Theorem: IntermediateField.adjoin_simple_le_iff
File: Mathlib/FieldTheory/Adjoin.lean

tactic: simp
state_before: F : Type u_1
inst✝² : Field F
E : Type u_2
inst✝¹ : Field E
inst✝ : Algebra F E
S : Set E
α : E
K : IntermediateField F E
⊢ F⟮α⟯ ≤ K ↔ α ∈ K
Theorem: Int.floor_pos
File: Mathlib/Algebra/Order/Floor.lean

tactic: rw [Int.lt_iff_add_one_le, zero_add, le_floor, cast_one]
state_before: F : Type ?u.129017
α : Type u_1
β : Type ?u.129023
inst✝¹ : LinearOrderedRing α
inst✝ : FloorRing α
z : ℤ
a : α
⊢ 0 < ⌊a⌋ ↔ 1 ≤ a
Theorem: CategoryTheory.Subobject.le_of_comm
File: Mathlib/CategoryTheory/Subobject/Basic.lean

tactic: convert mk_le_mk_of_comm _ w <;> simp
state_before: C : Type u₁
inst✝¹ : Category C
X✝ Y✝ Z : C
D : Type u₂
inst✝ : Category D
B : C
X Y : Subobject B
f : underlying.obj X ⟶ underlying.obj Y
w : f ≫ arrow Y = arrow X
⊢ X ≤ Y