1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: Submonoid.mem_sup_right
File: Mathlib/Algebra/Group/Submonoid/Membership.lean

tactic: rw [← SetLike.le_def]
state_before: M : Type u_1
A : Type u_2
B : Type u_3
inst✝ : MulOneClass M
S T : Submonoid M
⊢ ∀ {x : M}, x ∈ T → x ∈ S ⊔ T
state_after: M : Type u_1
A : Type u_2
B : Type u_3
inst✝ : MulOneClass M
S T : Submonoid M
⊢ T ≤ S ⊔ T

tactic: exact le_sup_right
state_before: M : Type u_1
A : Type u_2
B : Type u_3
inst✝ : MulOneClass M
S T : Submonoid M
⊢ T ≤ S ⊔ T
state_after: no goals
Theorem: Submodule.mem_span_pair
File: Mathlib/LinearAlgebra/Span.lean

tactic: simp_rw [mem_span_insert, mem_span_singleton, exists_exists_eq_and, eq_comm]
state_before: R : Type u_1
R₂ : Type u_2
K : Type u_3
M : Type u_4
M₂ : Type u_5
V : Type u_6
S : Type u_7
inst✝⁷ : Semiring R
inst✝⁶ : AddCommMonoid M
inst✝⁵ : Module R M
x✝ : M
p p' : Submodule R M
inst✝⁴ : Semiring R₂
σ₁₂ : R →+* R₂
inst✝³ : AddCommMonoid M₂
inst✝² : Module R₂ M₂
F : Type u_8
inst✝¹ : FunLike F M M₂
inst✝ : SemilinearMapClass F σ₁₂ M M₂
s t : Set M
x y z : M
⊢ z ∈ span R {x, y} ↔ ∃ a b, a • x + b • y = z
state_after: no goals
Theorem: Int.natCast_pred_of_pos
File: Mathlib/Data/Int/Defs.lean

tactic: cases n
state_before: a b c d m n✝ : ℤ
n : ℕ
h : 0 < n
⊢ ↑(n - 1) = ↑n - 1
state_after: case zero
a b c d m n : ℤ
h : 0 < 0
⊢ ↑(0 - 1) = ↑0 - 1

case succ
a b c d m n : ℤ
n✝ : ℕ
h : 0 < n✝ + 1
⊢ ↑(n✝ + 1 - 1) = ↑(n✝ + 1) - 1

tactic: cases h
state_before: case zero
a b c d m n : ℤ
h : 0 < 0
⊢ ↑(0 - 1) = ↑0 - 1

case succ
a b c d m n : ℤ
n✝ : ℕ
h : 0 < n✝ + 1
⊢ ↑(n✝ + 1 - 1) = ↑(n✝ + 1) - 1
state_after: case succ
a b c d m n : ℤ
n✝ : ℕ
h : 0 < n✝ + 1
⊢ ↑(n✝ + 1 - 1) = ↑(n✝ + 1) - 1

tactic: simp [ofNat_succ]
state_before: case succ
a b c d m n : ℤ
n✝ : ℕ
h : 0 < n✝ + 1
⊢ ↑(n✝ + 1 - 1) = ↑(n✝ + 1) - 1
state_after: no goals
Theorem: SzemerediRegularity.a_add_one_le_four_pow_parts_card
File: Mathlib/Combinatorics/SimpleGraph/Regularity/Bound.lean

tactic: have h : 1 ≤ 4 ^ P.parts.card := one_le_pow_of_one_le (by norm_num) _
state_before: α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
P : Finpartition univ
u : Finset α
ε : ℝ
⊢ a + 1 ≤ 4 ^ P.parts.card
state_after: α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
P : Finpartition univ
u : Finset α
ε : ℝ
h : 1 ≤ 4 ^ P.parts.card
⊢ a + 1 ≤ 4 ^ P.parts.card

tactic: rw [stepBound, ← Nat.div_div_eq_div_mul]
state_before: α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
P : Finpartition univ
u : Finset α
ε : ℝ
h : 1 ≤ 4 ^ P.parts.card
⊢ a + 1 ≤ 4 ^ P.parts.card
state_after: α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
P : Finpartition univ
u : Finset α
ε : ℝ
h : 1 ≤ 4 ^ P.parts.card
⊢ Fintype.card α / P.parts.card - Fintype.card α / P.parts.card / 4 ^ P.parts.card * 4 ^ P.parts.card + 1 ≤
    4 ^ P.parts.card

tactic: conv_rhs => rw [← Nat.sub_add_cancel h]
state_before: α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
P : Finpartition univ
u : Finset α
ε : ℝ
h : 1 ≤ 4 ^ P.parts.card
⊢ Fintype.card α / P.parts.card - Fintype.card α / P.parts.card / 4 ^ P.parts.card * 4 ^ P.parts.card + 1 ≤
    4 ^ P.parts.card
state_after: α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
P : Finpartition univ
u : Finset α
ε : ℝ
h : 1 ≤ 4 ^ P.parts.card
⊢ Fintype.card α / P.parts.card - Fintype.card α / P.parts.card / 4 ^ P.parts.card * 4 ^ P.parts.card + 1 ≤
    4 ^ P.parts.card - 1 + 1

tactic: rw [add_le_add_iff_right, tsub_le_iff_left, ← Nat.add_sub_assoc h]
state_before: α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
P : Finpartition univ
u : Finset α
ε : ℝ
h : 1 ≤ 4 ^ P.parts.card
⊢ Fintype.card α / P.parts.card - Fintype.card α / P.parts.card / 4 ^ P.parts.card * 4 ^ P.parts.card + 1 ≤
    4 ^ P.parts.card - 1 + 1
state_after: α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
P : Finpartition univ
u : Finset α
ε : ℝ
h : 1 ≤ 4 ^ P.parts.card
⊢ Fintype.card α / P.parts.card ≤
    Fintype.card α / P.parts.card / 4 ^ P.parts.card * 4 ^ P.parts.card + 4 ^ P.parts.card - 1

tactic: exact Nat.le_sub_one_of_lt (Nat.lt_div_mul_add h)
state_before: α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
P : Finpartition univ
u : Finset α
ε : ℝ
h : 1 ≤ 4 ^ P.parts.card
⊢ Fintype.card α / P.parts.card ≤
    Fintype.card α / P.parts.card / 4 ^ P.parts.card * 4 ^ P.parts.card + 4 ^ P.parts.card - 1
state_after: no goals

tactic: norm_num
state_before: α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
P : Finpartition univ
u : Finset α
ε : ℝ
⊢ 1 ≤ 4
state_after: no goals
Theorem: CoxeterSystem.not_isRightDescent_one
File: Mathlib/GroupTheory/Coxeter/Length.lean

tactic: simp [IsRightDescent]
state_before: B : Type u_1
W : Type u_2
inst✝ : Group W
M : CoxeterMatrix B
cs : CoxeterSystem M W
i : B
⊢ ¬cs.IsRightDescent 1 i
state_after: no goals
Theorem: Ordinal.opow_zero
File: Mathlib/SetTheory/Ordinal/Exponential.lean

tactic: by_cases h : a = 0
state_before: a : Ordinal.{u_1}
⊢ a ^ 0 = 1
state_after: case pos
a : Ordinal.{u_1}
h : a = 0
⊢ a ^ 0 = 1

case neg
a : Ordinal.{u_1}
h : ¬a = 0
⊢ a ^ 0 = 1

tactic: simp only [opow_def, if_pos h, sub_zero]
state_before: case pos
a : Ordinal.{u_1}
h : a = 0
⊢ a ^ 0 = 1
state_after: no goals

tactic: simp only [opow_def, if_neg h, limitRecOn_zero]
state_before: case neg
a : Ordinal.{u_1}
h : ¬a = 0
⊢ a ^ 0 = 1
state_after: no goals
Theorem: Real.borel_eq_generateFrom_Ici_rat
File: Mathlib/MeasureTheory/Constructions/BorelSpace/Real.lean

tactic: rw [borel_eq_generateFrom_Iio_rat, iUnion_singleton_eq_range, iUnion_singleton_eq_range]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Sort y
s t u : Set α
⊢ borel ℝ = generateFrom (⋃ a, {Ici ↑a})
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Sort y
s t u : Set α
⊢ generateFrom (range fun a => Iio ↑a) = generateFrom (range fun a => Ici ↑a)

tactic: refine le_antisymm (generateFrom_le ?_) (generateFrom_le ?_) <;>
rintro _ ⟨q, rfl⟩ <;>
dsimp only <;>
[rw [← compl_Ici]; rw [← compl_Iio]] <;>
exact MeasurableSet.compl (GenerateMeasurable.basic _ (mem_range_self q))
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Sort y
s t u : Set α
⊢ generateFrom (range fun a => Iio ↑a) = generateFrom (range fun a => Ici ↑a)
state_after: no goals
Theorem: ModuleCat.Derivation.d_add
File: Mathlib/Algebra/Category/ModuleCat/Differentials/Basic.lean

tactic: simp [d]
state_before: A B : CommRingCat
M : ModuleCat ↑B
f : A ⟶ B
D : M.Derivation f
b b' : ↑B
⊢ D.d (b + b') = D.d b + D.d b'
state_after: no goals
Theorem: MeasureTheory.ComplexMeasure.absolutelyContinuous_ennreal_iff
File: Mathlib/MeasureTheory/Measure/Complex.lean

tactic: constructor <;> intro h
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
c : ComplexMeasure α
μ : VectorMeasure α ℝ≥0∞
⊢ c ≪ᵥ μ ↔ re c ≪ᵥ μ ∧ im c ≪ᵥ μ
state_after: case mp
α : Type u_1
β : Type u_2
m : MeasurableSpace α
c : ComplexMeasure α
μ : VectorMeasure α ℝ≥0∞
h : c ≪ᵥ μ
⊢ re c ≪ᵥ μ ∧ im c ≪ᵥ μ

case mpr
α : Type u_1
β : Type u_2
m : MeasurableSpace α
c : ComplexMeasure α
μ : VectorMeasure α ℝ≥0∞
h : re c ≪ᵥ μ ∧ im c ≪ᵥ μ
⊢ c ≪ᵥ μ

tactic: intro i hi
state_before: case mp.right
α : Type u_1
β : Type u_2
m : MeasurableSpace α
c : ComplexMeasure α
μ : VectorMeasure α ℝ≥0∞
h : c ≪ᵥ μ
⊢ im c ≪ᵥ μ
state_after: case mp.right
α : Type u_1
β : Type u_2
m : MeasurableSpace α
c : ComplexMeasure α
μ : VectorMeasure α ℝ≥0∞
h : c ≪ᵥ μ
i : Set α
hi : ↑μ i = 0
⊢ ↑(im c) i = 0

tactic: simp [h hi]
state_before: case mp.right
α : Type u_1
β : Type u_2
m : MeasurableSpace α
c : ComplexMeasure α
μ : VectorMeasure α ℝ≥0∞
h : c ≪ᵥ μ
i : Set α
hi : ↑μ i = 0
⊢ ↑(im c) i = 0
state_after: no goals

tactic: intro i hi
state_before: case mpr
α : Type u_1
β : Type u_2
m : MeasurableSpace α
c : ComplexMeasure α
μ : VectorMeasure α ℝ≥0∞
h : re c ≪ᵥ μ ∧ im c ≪ᵥ μ
⊢ c ≪ᵥ μ
state_after: case mpr
α : Type u_1
β : Type u_2
m : MeasurableSpace α
c : ComplexMeasure α
μ : VectorMeasure α ℝ≥0∞
h : re c ≪ᵥ μ ∧ im c ≪ᵥ μ
i : Set α
hi : ↑μ i = 0
⊢ ↑c i = 0

tactic: rw [← Complex.re_add_im (c i), (_ : (c i).re = 0), (_ : (c i).im = 0)]
state_before: case mpr
α : Type u_1
β : Type u_2
m : MeasurableSpace α
c : ComplexMeasure α
μ : VectorMeasure α ℝ≥0∞
h : re c ≪ᵥ μ ∧ im c ≪ᵥ μ
i : Set α
hi : ↑μ i = 0
⊢ ↑c i = 0
state_after: case mpr
α : Type u_1
β : Type u_2
m : MeasurableSpace α
c : ComplexMeasure α
μ : VectorMeasure α ℝ≥0∞
h : re c ≪ᵥ μ ∧ im c ≪ᵥ μ
i : Set α
hi : ↑μ i = 0
⊢ ↑0 + ↑0 * Complex.I = 0

α : Type u_1
β : Type u_2
m : MeasurableSpace α
c : ComplexMeasure α
μ : VectorMeasure α ℝ≥0∞
h : re c ≪ᵥ μ ∧ im c ≪ᵥ μ
i : Set α
hi : ↑μ i = 0
⊢ (↑c i).im = 0

α : Type u_1
β : Type u_2
m : MeasurableSpace α
c : ComplexMeasure α
μ : VectorMeasure α ℝ≥0∞
h : re c ≪ᵥ μ ∧ im c ≪ᵥ μ
i : Set α
hi : ↑μ i = 0
⊢ (↑c i).re = 0

tactic: exacts [by simp, h.2 hi, h.1 hi]
state_before: case mpr
α : Type u_1
β : Type u_2
m : MeasurableSpace α
c : ComplexMeasure α
μ : VectorMeasure α ℝ≥0∞
h : re c ≪ᵥ μ ∧ im c ≪ᵥ μ
i : Set α
hi : ↑μ i = 0
⊢ ↑0 + ↑0 * Complex.I = 0

α : Type u_1
β : Type u_2
m : MeasurableSpace α
c : ComplexMeasure α
μ : VectorMeasure α ℝ≥0∞
h : re c ≪ᵥ μ ∧ im c ≪ᵥ μ
i : Set α
hi : ↑μ i = 0
⊢ (↑c i).im = 0

α : Type u_1
β : Type u_2
m : MeasurableSpace α
c : ComplexMeasure α
μ : VectorMeasure α ℝ≥0∞
h : re c ≪ᵥ μ ∧ im c ≪ᵥ μ
i : Set α
hi : ↑μ i = 0
⊢ (↑c i).re = 0
state_after: no goals

tactic: simp
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
c : ComplexMeasure α
μ : VectorMeasure α ℝ≥0∞
h : re c ≪ᵥ μ ∧ im c ≪ᵥ μ
i : Set α
hi : ↑μ i = 0
⊢ ↑0 + ↑0 * Complex.I = 0
state_after: no goals
Theorem: Real.doublingGamma_eq_Gamma
File: Mathlib/Analysis/SpecialFunctions/Gamma/BohrMollerup.lean

tactic: refine
  eq_Gamma_of_log_convex doublingGamma_log_convex_Ioi
    (fun {y} hy => doublingGamma_add_one y hy.ne') (fun {y} hy => ?_) doublingGamma_one hs
state_before: s : ℝ
hs : 0 < s
⊢ s.doublingGamma = Gamma s
state_after: s : ℝ
hs : 0 < s
y : ℝ
hy : 0 < y
⊢ 0 < y.doublingGamma

tactic: apply_rules [mul_pos, Gamma_pos_of_pos, add_pos, inv_pos_of_pos, rpow_pos_of_pos, two_pos,
  one_pos, sqrt_pos_of_pos pi_pos]
state_before: s : ℝ
hs : 0 < s
y : ℝ
hy : 0 < y
⊢ 0 < y.doublingGamma
state_after: no goals
Theorem: Polynomial.isFixedPt_newtonMap_of_isUnit_iff
File: Mathlib/Dynamics/Newton.lean

tactic: rw [IsFixedPt, newtonMap_apply, sub_eq_self, Ring.inverse_mul_eq_iff_eq_mul _ _ _ h, mul_zero]
state_before: R : Type u_1
S : Type u_2
inst✝² : CommRing R
inst✝¹ : CommRing S
inst✝ : Algebra R S
P : R[X]
x : S
h : IsUnit ((aeval x) (derivative P))
⊢ IsFixedPt P.newtonMap x ↔ (aeval x) P = 0
state_after: no goals
Theorem: gramSchmidtNormed_unit_length_coe
File: Mathlib/Analysis/InnerProductSpace/GramSchmidtOrtho.lean

tactic: simp only [gramSchmidt_ne_zero_coe n h₀, gramSchmidtNormed, norm_smul_inv_norm, Ne,
  not_false_iff]
state_before: 𝕜 : Type u_1
E : Type u_2
inst✝⁵ : RCLike 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : InnerProductSpace 𝕜 E
ι : Type u_3
inst✝² : LinearOrder ι
inst✝¹ : LocallyFiniteOrderBot ι
inst✝ : IsWellOrder ι fun x x_1 => x < x_1
f : ι → E
n : ι
h₀ : LinearIndependent (ι := { x // x ∈ Set.Iic n }) 𝕜 (f ∘ Subtype.val)
⊢ ‖gramSchmidtNormed 𝕜 f n‖ = 1
state_after: no goals
Theorem: Finset.card_eq_iff_eq_univ
File: Mathlib/Data/Fintype/Card.lean

tactic: rintro rfl
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝ : Fintype α
s : Finset α
⊢ s = univ → s.card = Fintype.card α
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝ : Fintype α
⊢ univ.card = Fintype.card α

tactic: exact Finset.card_univ
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝ : Fintype α
⊢ univ.card = Fintype.card α
state_after: no goals
Theorem: MeasureTheory.Measure.addHaar_ball
File: Mathlib/MeasureTheory/Measure/Lebesgue/EqHaar.lean

tactic: rw [← addHaar_ball_mul μ x hr, mul_one]
state_before: E : Type u_1
inst✝⁹ : NormedAddCommGroup E
inst✝⁸ : NormedSpace ℝ E
inst✝⁷ : MeasurableSpace E
inst✝⁶ : BorelSpace E
inst✝⁵ : FiniteDimensional ℝ E
μ : Measure E
inst✝⁴ : μ.IsAddHaarMeasure
F : Type u_2
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace F
s : Set E
inst✝ : Nontrivial E
x : E
r : ℝ
hr : 0 ≤ r
⊢ μ (ball x r) = ENNReal.ofReal (r ^ finrank ℝ E) * μ (ball 0 1)
state_after: no goals
Theorem: CochainComplex.mappingCone.id
File: Mathlib/Algebra/Homology/HomotopyCategory/MappingCone.lean

tactic: simp [ext_cochain_from_iff φ (-1) 0 (neg_add_self 1)]
state_before: C : Type u_1
inst✝² : Category.{u_2, u_1} C
inst✝¹ : Preadditive C
F G : CochainComplex C ℤ
φ : F ⟶ G
inst✝ : HasHomotopyCofiber φ
⊢ (↑(fst φ)).comp (inl φ) ⋯ + (snd φ).comp (Cochain.ofHom (inr φ)) ⋯ = Cochain.ofHom (𝟙 (mappingCone φ))
state_after: no goals
Theorem: Basis.restrictScalars_toMatrix
File: Mathlib/LinearAlgebra/Matrix/Basis.lean

tactic: ext
state_before: ι : Type u_1
ι' : Type u_2
κ : Type u_3
κ' : Type u_4
R : Type u_5
M : Type u_6
inst✝¹³ : CommSemiring R
inst✝¹² : AddCommMonoid M
inst✝¹¹ : Module R M
R₂ : Type u_7
M₂ : Type u_8
inst✝¹⁰ : CommRing R₂
inst✝⁹ : AddCommGroup M₂
inst✝⁸ : Module R₂ M₂
e : Basis ι R M
v✝ : ι' → M
i : ι
j : ι'
inst✝⁷ : Fintype ι
inst✝⁶ : DecidableEq ι
S : Type u_9
inst✝⁵ : CommRing S
inst✝⁴ : Nontrivial S
inst✝³ : Algebra R₂ S
inst✝² : Module S M₂
inst✝¹ : IsScalarTower R₂ S M₂
inst✝ : NoZeroSMulDivisors R₂ S
b : Basis ι S M₂
v : ι → ↥(span R₂ (Set.range ⇑b))
⊢ (algebraMap R₂ S).mapMatrix ((restrictScalars R₂ b).toMatrix v) = b.toMatrix fun i => ↑(v i)
state_after: case a
ι : Type u_1
ι' : Type u_2
κ : Type u_3
κ' : Type u_4
R : Type u_5
M : Type u_6
inst✝¹³ : CommSemiring R
inst✝¹² : AddCommMonoid M
inst✝¹¹ : Module R M
R₂ : Type u_7
M₂ : Type u_8
inst✝¹⁰ : CommRing R₂
inst✝⁹ : AddCommGroup M₂
inst✝⁸ : Module R₂ M₂
e : Basis ι R M
v✝ : ι' → M
i : ι
j : ι'
inst✝⁷ : Fintype ι
inst✝⁶ : DecidableEq ι
S : Type u_9
inst✝⁵ : CommRing S
inst✝⁴ : Nontrivial S
inst✝³ : Algebra R₂ S
inst✝² : Module S M₂
inst✝¹ : IsScalarTower R₂ S M₂
inst✝ : NoZeroSMulDivisors R₂ S
b : Basis ι S M₂
v : ι → ↥(span R₂ (Set.range ⇑b))
i✝ j✝ : ι
⊢ (algebraMap R₂ S).mapMatrix ((restrictScalars R₂ b).toMatrix v) i✝ j✝ = b.toMatrix (fun i => ↑(v i)) i✝ j✝

tactic: rw [RingHom.mapMatrix_apply, Matrix.map_apply, Basis.toMatrix_apply,
  Basis.restrictScalars_repr_apply, Basis.toMatrix_apply]
state_before: case a
ι : Type u_1
ι' : Type u_2
κ : Type u_3
κ' : Type u_4
R : Type u_5
M : Type u_6
inst✝¹³ : CommSemiring R
inst✝¹² : AddCommMonoid M
inst✝¹¹ : Module R M
R₂ : Type u_7
M₂ : Type u_8
inst✝¹⁰ : CommRing R₂
inst✝⁹ : AddCommGroup M₂
inst✝⁸ : Module R₂ M₂
e : Basis ι R M
v✝ : ι' → M
i : ι
j : ι'
inst✝⁷ : Fintype ι
inst✝⁶ : DecidableEq ι
S : Type u_9
inst✝⁵ : CommRing S
inst✝⁴ : Nontrivial S
inst✝³ : Algebra R₂ S
inst✝² : Module S M₂
inst✝¹ : IsScalarTower R₂ S M₂
inst✝ : NoZeroSMulDivisors R₂ S
b : Basis ι S M₂
v : ι → ↥(span R₂ (Set.range ⇑b))
i✝ j✝ : ι
⊢ (algebraMap R₂ S).mapMatrix ((restrictScalars R₂ b).toMatrix v) i✝ j✝ = b.toMatrix (fun i => ↑(v i)) i✝ j✝
state_after: no goals
Theorem: Fin.val_bit0
File: Mathlib/Data/Fin/Basic.lean

tactic: cases k
state_before: n✝ m n : ℕ
k : Fin n
⊢ ↑(bit0 k) = bit0 ↑k % n
state_after: case mk
n✝ m n val✝ : ℕ
isLt✝ : val✝ < n
⊢ ↑(bit0 ⟨val✝, isLt✝⟩) = bit0 ↑⟨val✝, isLt✝⟩ % n

tactic: rfl
state_before: case mk
n✝ m n val✝ : ℕ
isLt✝ : val✝ < n
⊢ ↑(bit0 ⟨val✝, isLt✝⟩) = bit0 ↑⟨val✝, isLt✝⟩ % n
state_after: no goals
Theorem: Finsupp.total_fin_zero
File: Mathlib/LinearAlgebra/Finsupp.lean

tactic: ext i
state_before: α : Type u_1
M : Type u_2
N : Type u_3
P : Type u_4
R : Type u_5
S : Type u_6
inst✝⁹ : Semiring R
inst✝⁸ : Semiring S
inst✝⁷ : AddCommMonoid M
inst✝⁶ : Module R M
inst✝⁵ : AddCommMonoid N
inst✝⁴ : Module R N
inst✝³ : AddCommMonoid P
inst✝² : Module R P
α' : Type u_7
M' : Type u_8
inst✝¹ : AddCommMonoid M'
inst✝ : Module R M'
v : α → M
v' : α' → M'
f : Fin 0 → M
⊢ Finsupp.total (Fin 0) M R f = 0
state_after: case h.h
α : Type u_1
M : Type u_2
N : Type u_3
P : Type u_4
R : Type u_5
S : Type u_6
inst✝⁹ : Semiring R
inst✝⁸ : Semiring S
inst✝⁷ : AddCommMonoid M
inst✝⁶ : Module R M
inst✝⁵ : AddCommMonoid N
inst✝⁴ : Module R N
inst✝³ : AddCommMonoid P
inst✝² : Module R P
α' : Type u_7
M' : Type u_8
inst✝¹ : AddCommMonoid M'
inst✝ : Module R M'
v : α → M
v' : α' → M'
f : Fin 0 → M
i : Fin 0
⊢ (Finsupp.total (Fin 0) M R f ∘ₗ lsingle i) 1 = (0 ∘ₗ lsingle i) 1

tactic: apply finZeroElim i
state_before: case h.h
α : Type u_1
M : Type u_2
N : Type u_3
P : Type u_4
R : Type u_5
S : Type u_6
inst✝⁹ : Semiring R
inst✝⁸ : Semiring S
inst✝⁷ : AddCommMonoid M
inst✝⁶ : Module R M
inst✝⁵ : AddCommMonoid N
inst✝⁴ : Module R N
inst✝³ : AddCommMonoid P
inst✝² : Module R P
α' : Type u_7
M' : Type u_8
inst✝¹ : AddCommMonoid M'
inst✝ : Module R M'
v : α → M
v' : α' → M'
f : Fin 0 → M
i : Fin 0
⊢ (Finsupp.total (Fin 0) M R f ∘ₗ lsingle i) 1 = (0 ∘ₗ lsingle i) 1
state_after: no goals
Theorem: Rat.toNNRat_add
File: Mathlib/Data/NNRat/Defs.lean

tactic: simp [toNNRat, hq, hp, add_nonneg]
state_before: p q : ℚ
hq : 0 ≤ q
hp : 0 ≤ p
⊢ ↑(q + p).toNNRat = ↑(q.toNNRat + p.toNNRat)
state_after: no goals
Theorem: ProbabilityTheory.kernel.densityProcess_le_one
File: Mathlib/Probability/Kernel/Disintegration/Density.lean

tactic: refine ENNReal.toReal_le_of_le_ofReal zero_le_one (ENNReal.div_le_of_le_mul ?_)
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
mγ : MeasurableSpace γ
inst✝ : CountablyGenerated γ
κ : ↥(kernel α (γ × β))
ν : ↥(kernel α γ)
hκν : fst κ ≤ ν
n : ℕ
a : α
x : γ
s : Set β
⊢ densityProcess κ ν n a x s ≤ 1
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
mγ : MeasurableSpace γ
inst✝ : CountablyGenerated γ
κ : ↥(kernel α (γ × β))
ν : ↥(kernel α γ)
hκν : fst κ ≤ ν
n : ℕ
a : α
x : γ
s : Set β
⊢ (κ a) (countablePartitionSet n x ×ˢ s) ≤ ENNReal.ofReal 1 * (ν a) (countablePartitionSet n x)

tactic: rw [ENNReal.ofReal_one, one_mul]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
mγ : MeasurableSpace γ
inst✝ : CountablyGenerated γ
κ : ↥(kernel α (γ × β))
ν : ↥(kernel α γ)
hκν : fst κ ≤ ν
n : ℕ
a : α
x : γ
s : Set β
⊢ (κ a) (countablePartitionSet n x ×ˢ s) ≤ ENNReal.ofReal 1 * (ν a) (countablePartitionSet n x)
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
mγ : MeasurableSpace γ
inst✝ : CountablyGenerated γ
κ : ↥(kernel α (γ × β))
ν : ↥(kernel α γ)
hκν : fst κ ≤ ν
n : ℕ
a : α
x : γ
s : Set β
⊢ (κ a) (countablePartitionSet n x ×ˢ s) ≤ (ν a) (countablePartitionSet n x)

tactic: exact meas_countablePartitionSet_le_of_fst_le hκν n a x s
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
mγ : MeasurableSpace γ
inst✝ : CountablyGenerated γ
κ : ↥(kernel α (γ × β))
ν : ↥(kernel α γ)
hκν : fst κ ≤ ν
n : ℕ
a : α
x : γ
s : Set β
⊢ (κ a) (countablePartitionSet n x ×ˢ s) ≤ (ν a) (countablePartitionSet n x)
state_after: no goals
Theorem: MeasureTheory.measure_union_null_iff
File: Mathlib/MeasureTheory/OuterMeasure/Basic.lean

tactic: simp [union_eq_iUnion, and_comm]
state_before: α : Type u_1
ι : Type u_2
F : Type u_3
inst✝¹ : FunLike F (Set α) ℝ≥0∞
inst✝ : OuterMeasureClass F α
μ : F
s t : Set α
⊢ μ (s ∪ t) = 0 ↔ μ s = 0 ∧ μ t = 0
state_after: no goals
Theorem: FirstOrder.Language.Theory.CompleteType.setOf_mem_eq_univ_iff
File: Mathlib/ModelTheory/Types.lean

tactic: rw [models_iff_not_satisfiable, ← compl_empty_iff, compl_setOf_mem, ← setOf_subset_eq_empty_iff]
state_before: L : Language
T : L.Theory
α : Type w
φ : L[[α]].Sentence
⊢ {p | φ ∈ p} = Set.univ ↔ (L.lhomWithConstants α).onTheory T ⊨ᵇ φ
state_after: L : Language
T : L.Theory
α : Type w
φ : L[[α]].Sentence
⊢ {p | Formula.not φ ∈ p} = ∅ ↔ {p | {Formula.not φ} ⊆ ↑p} = ∅

tactic: simp
state_before: L : Language
T : L.Theory
α : Type w
φ : L[[α]].Sentence
⊢ {p | Formula.not φ ∈ p} = ∅ ↔ {p | {Formula.not φ} ⊆ ↑p} = ∅
state_after: no goals
Theorem: toIocMod_zsmul_add
File: Mathlib/Algebra/Order/ToIntervalMod.lean

tactic: rw [add_comm, toIocMod_add_zsmul]
state_before: α : Type u_1
inst✝ : LinearOrderedAddCommGroup α
hα : Archimedean α
p : α
hp : 0 < p
a✝ b✝ c : α
n : ℤ
a b : α
m : ℤ
⊢ toIocMod hp a (m • p + b) = toIocMod hp a b
state_after: no goals
Theorem: Monoid.CoprodI.NeWord.prod_singleton
File: Mathlib/GroupTheory/CoprodI.lean

tactic: simp [toWord, prod, Word.prod]
state_before: ι : Type u_1
M : ι → Type u_2
inst✝¹ : (i : ι) → Monoid (M i)
N : Type u_3
inst✝ : Monoid N
i : ι
x : M i
hne_one : x ≠ 1
⊢ (singleton x hne_one).prod = of x
state_after: no goals
Theorem: OmegaCompletePartialOrder.ContinuousHom.map_continuous'
File: Mathlib/Order/OmegaCompletePartialOrder.lean

tactic: simp only [map_eq_bind_pure_comp]
state_before: α : Type u
α' : Type u_1
β✝ : Type v
β' : Type u_2
γ✝ : Type u_3
φ : Type u_4
inst✝⁵ : OmegaCompletePartialOrder α
inst✝⁴ : OmegaCompletePartialOrder β✝
inst✝³ : OmegaCompletePartialOrder γ✝
inst✝² : OmegaCompletePartialOrder φ
inst✝¹ : OmegaCompletePartialOrder α'
inst✝ : OmegaCompletePartialOrder β'
β γ : Type v
f : β → γ
g : α → Part β
hg : Continuous' g
⊢ Continuous' fun x => f <$> g x
state_after: α : Type u
α' : Type u_1
β✝ : Type v
β' : Type u_2
γ✝ : Type u_3
φ : Type u_4
inst✝⁵ : OmegaCompletePartialOrder α
inst✝⁴ : OmegaCompletePartialOrder β✝
inst✝³ : OmegaCompletePartialOrder γ✝
inst✝² : OmegaCompletePartialOrder φ
inst✝¹ : OmegaCompletePartialOrder α'
inst✝ : OmegaCompletePartialOrder β'
β γ : Type v
f : β → γ
g : α → Part β
hg : Continuous' g
⊢ Continuous' fun x => g x >>= pure ∘ f

tactic: apply bind_continuous' _ _ hg
state_before: α : Type u
α' : Type u_1
β✝ : Type v
β' : Type u_2
γ✝ : Type u_3
φ : Type u_4
inst✝⁵ : OmegaCompletePartialOrder α
inst✝⁴ : OmegaCompletePartialOrder β✝
inst✝³ : OmegaCompletePartialOrder γ✝
inst✝² : OmegaCompletePartialOrder φ
inst✝¹ : OmegaCompletePartialOrder α'
inst✝ : OmegaCompletePartialOrder β'
β γ : Type v
f : β → γ
g : α → Part β
hg : Continuous' g
⊢ Continuous' fun x => g x >>= pure ∘ f
state_after: α : Type u
α' : Type u_1
β✝ : Type v
β' : Type u_2
γ✝ : Type u_3
φ : Type u_4
inst✝⁵ : OmegaCompletePartialOrder α
inst✝⁴ : OmegaCompletePartialOrder β✝
inst✝³ : OmegaCompletePartialOrder γ✝
inst✝² : OmegaCompletePartialOrder φ
inst✝¹ : OmegaCompletePartialOrder α'
inst✝ : OmegaCompletePartialOrder β'
β γ : Type v
f : β → γ
g : α → Part β
hg : Continuous' g
⊢ Continuous' fun x => pure ∘ f

tactic: apply const_continuous'
state_before: α : Type u
α' : Type u_1
β✝ : Type v
β' : Type u_2
γ✝ : Type u_3
φ : Type u_4
inst✝⁵ : OmegaCompletePartialOrder α
inst✝⁴ : OmegaCompletePartialOrder β✝
inst✝³ : OmegaCompletePartialOrder γ✝
inst✝² : OmegaCompletePartialOrder φ
inst✝¹ : OmegaCompletePartialOrder α'
inst✝ : OmegaCompletePartialOrder β'
β γ : Type v
f : β → γ
g : α → Part β
hg : Continuous' g
⊢ Continuous' fun x => pure ∘ f
state_after: no goals
Theorem: AntilipschitzWith.le_mul_norm'
File: Mathlib/Analysis/Normed/Group/Uniform.lean

tactic: simpa only [dist_one_right, hf] using h.le_mul_dist x 1
state_before: 𝓕 : Type u_1
α : Type u_2
E : Type u_3
F : Type u_4
inst✝² : SeminormedGroup E
inst✝¹ : SeminormedGroup F
s : Set E
a a₁ a₂ b b₁ b₂ : E
r r₁ r₂ : ℝ
inst✝ : FunLike 𝓕 E F
f : E → F
K : ℝ≥0
h : AntilipschitzWith K f
hf : f 1 = 1
x : E
⊢ ‖x‖ ≤ ↑K * ‖f x‖
state_after: no goals
Theorem: Function.update_eq_self_iff
File: Mathlib/Logic/Function/Basic.lean

tactic: simp [update_eq_iff]
state_before: α : Sort u
β : α → Sort v
α' : Sort w
inst✝¹ : DecidableEq α
inst✝ : DecidableEq α'
f g : (a : α) → β a
a : α
b : β a
⊢ update f a b = f ↔ b = f a
state_after: no goals
Theorem: CategoryTheory.regularTopology.equalizerCondition_w
File: Mathlib/CategoryTheory/Sites/Coherent/RegularSheaves.lean

tactic: simp only [← Functor.map_comp, ← op_comp, c.condition]
state_before: C : Type u_1
D : Type u_2
E : Type u_3
inst✝² : Category.{u_4, u_1} C
inst✝¹ : Category.{u_5, u_2} D
inst✝ : Category.{?u.362, u_3} E
P : Cᵒᵖ ⥤ D
X B : C
π : X ⟶ B
c : PullbackCone π π
⊢ P.map π.op ≫ P.map c.fst.op = P.map π.op ≫ P.map c.snd.op
state_after: no goals
Theorem: Filter.lift_inf
File: Mathlib/Order/Filter/Lift.lean

tactic: simp only [Filter.lift, iInf_inf_eq]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
f✝ f₁ f₂ : Filter α
g✝ g₁ g₂ : Set α → Filter β
f : Filter α
g h : Set α → Filter β
⊢ (f.lift fun x => g x ⊓ h x) = f.lift g ⊓ f.lift h
state_after: no goals