1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: Finset.powersetCard_eq_filter
File: Mathlib/Data/Finset/Powerset.lean

tactic: ext
state_before: α : Type u_1
s✝¹ t✝ : Finset α
n✝ : ?m.20896
s✝ t : Finset α
n : ℕ
s : Finset α
⊢ powersetCard n s = filter (fun x => x.card = n) s.powerset
state_after: case a
α : Type u_1
s✝¹ t✝ : Finset α
n✝ : ?m.20896
s✝ t : Finset α
n : ℕ
s a✝ : Finset α
⊢ a✝ ∈ powersetCard n s ↔ a✝ ∈ filter (fun x => x.card = n) s.powerset

tactic: simp [mem_powersetCard]
state_before: case a
α : Type u_1
s✝¹ t✝ : Finset α
n✝ : ?m.20896
s✝ t : Finset α
n : ℕ
s a✝ : Finset α
⊢ a✝ ∈ powersetCard n s ↔ a✝ ∈ filter (fun x => x.card = n) s.powerset
state_after: no goals
Theorem: Order.isMax_iterate_succ_of_eq_of_ne
File: Mathlib/Order/SuccPred/Basic.lean

tactic: rcases le_total n m with h | h
state_before: α : Type u_1
β : Type u_2
inst✝¹ : Preorder α
inst✝ : SuccOrder α
a b : α
n m : ℕ
h_eq : succ^[n] a = succ^[m] a
h_ne : n ≠ m
⊢ IsMax (succ^[n] a)
state_after: case inl
α : Type u_1
β : Type u_2
inst✝¹ : Preorder α
inst✝ : SuccOrder α
a b : α
n m : ℕ
h_eq : succ^[n] a = succ^[m] a
h_ne : n ≠ m
h : n ≤ m
⊢ IsMax (succ^[n] a)

case inr
α : Type u_1
β : Type u_2
inst✝¹ : Preorder α
inst✝ : SuccOrder α
a b : α
n m : ℕ
h_eq : succ^[n] a = succ^[m] a
h_ne : n ≠ m
h : m ≤ n
⊢ IsMax (succ^[n] a)

tactic: exact isMax_iterate_succ_of_eq_of_lt h_eq (lt_of_le_of_ne h h_ne)
state_before: case inl
α : Type u_1
β : Type u_2
inst✝¹ : Preorder α
inst✝ : SuccOrder α
a b : α
n m : ℕ
h_eq : succ^[n] a = succ^[m] a
h_ne : n ≠ m
h : n ≤ m
⊢ IsMax (succ^[n] a)
state_after: no goals

tactic: rw [h_eq]
state_before: case inr
α : Type u_1
β : Type u_2
inst✝¹ : Preorder α
inst✝ : SuccOrder α
a b : α
n m : ℕ
h_eq : succ^[n] a = succ^[m] a
h_ne : n ≠ m
h : m ≤ n
⊢ IsMax (succ^[n] a)
state_after: case inr
α : Type u_1
β : Type u_2
inst✝¹ : Preorder α
inst✝ : SuccOrder α
a b : α
n m : ℕ
h_eq : succ^[n] a = succ^[m] a
h_ne : n ≠ m
h : m ≤ n
⊢ IsMax (succ^[m] a)

tactic: exact isMax_iterate_succ_of_eq_of_lt h_eq.symm (lt_of_le_of_ne h h_ne.symm)
state_before: case inr
α : Type u_1
β : Type u_2
inst✝¹ : Preorder α
inst✝ : SuccOrder α
a b : α
n m : ℕ
h_eq : succ^[n] a = succ^[m] a
h_ne : n ≠ m
h : m ≤ n
⊢ IsMax (succ^[m] a)
state_after: no goals
Theorem: Rat.cast_pos
File: Mathlib/Data/Rat/Cast/Order.lean

tactic: norm_cast
state_before: F : Type u_1
ι : Type u_2
α : Type u_3
β : Type u_4
p q : ℚ
K : Type u_5
inst✝ : LinearOrderedField K
⊢ 0 < ↑q ↔ 0 < q
state_after: no goals
Theorem: Real.tsum_exp_neg_mul_int_sq
File: Mathlib/Analysis/SpecialFunctions/Gaussian/PoissonSummation.lean

tactic: simpa only [← ofReal_inj, ofReal_tsum, ofReal_exp, ofReal_mul, ofReal_neg, ofReal_pow,
  ofReal_intCast, ofReal_div, ofReal_one, ofReal_cpow ha.le, ofReal_ofNat, mul_zero, zero_mul,
  add_zero] using Complex.tsum_exp_neg_quadratic (by rwa [ofReal_re] : 0 < (a : ℂ).re) 0
state_before: E : Type u_1
inst✝ : NormedAddCommGroup E
a : ℝ
ha : 0 < a
⊢ ∑' (n : ℤ), rexp (-π * a * ↑n ^ 2) = 1 / a ^ (1 / 2) * ∑' (n : ℤ), rexp (-π / a * ↑n ^ 2)
state_after: no goals

tactic: rwa [ofReal_re]
state_before: E : Type u_1
inst✝ : NormedAddCommGroup E
a : ℝ
ha : 0 < a
⊢ 0 < (↑a).re
state_after: no goals
Theorem: PiTensorProduct.tprodCoeff_eq_smul_tprod
File: Mathlib/LinearAlgebra/PiTensorProduct.lean

tactic: have : z = z • (1 : R) := by simp only [mul_one, Algebra.id.smul_eq_mul]
state_before: ι : Type u_1
ι₂ : Type u_2
ι₃ : Type u_3
R : Type u_4
inst✝⁷ : CommSemiring R
R₁ : Type u_5
R₂ : Type u_6
s : ι → Type u_7
inst✝⁶ : (i : ι) → AddCommMonoid (s i)
inst✝⁵ : (i : ι) → Module R (s i)
M : Type u_8
inst✝⁴ : AddCommMonoid M
inst✝³ : Module R M
E : Type u_9
inst✝² : AddCommMonoid E
inst✝¹ : Module R E
F : Type u_10
inst✝ : AddCommMonoid F
z : R
f : (i : ι) → s i
⊢ tprodCoeff R z f = z • (tprod R) f
state_after: ι : Type u_1
ι₂ : Type u_2
ι₃ : Type u_3
R : Type u_4
inst✝⁷ : CommSemiring R
R₁ : Type u_5
R₂ : Type u_6
s : ι → Type u_7
inst✝⁶ : (i : ι) → AddCommMonoid (s i)
inst✝⁵ : (i : ι) → Module R (s i)
M : Type u_8
inst✝⁴ : AddCommMonoid M
inst✝³ : Module R M
E : Type u_9
inst✝² : AddCommMonoid E
inst✝¹ : Module R E
F : Type u_10
inst✝ : AddCommMonoid F
z : R
f : (i : ι) → s i
this : z = z • 1
⊢ tprodCoeff R z f = z • (tprod R) f

tactic: conv_lhs => rw [this]
state_before: ι : Type u_1
ι₂ : Type u_2
ι₃ : Type u_3
R : Type u_4
inst✝⁷ : CommSemiring R
R₁ : Type u_5
R₂ : Type u_6
s : ι → Type u_7
inst✝⁶ : (i : ι) → AddCommMonoid (s i)
inst✝⁵ : (i : ι) → Module R (s i)
M : Type u_8
inst✝⁴ : AddCommMonoid M
inst✝³ : Module R M
E : Type u_9
inst✝² : AddCommMonoid E
inst✝¹ : Module R E
F : Type u_10
inst✝ : AddCommMonoid F
z : R
f : (i : ι) → s i
this : z = z • 1
⊢ tprodCoeff R z f = z • (tprod R) f
state_after: ι : Type u_1
ι₂ : Type u_2
ι₃ : Type u_3
R : Type u_4
inst✝⁷ : CommSemiring R
R₁ : Type u_5
R₂ : Type u_6
s : ι → Type u_7
inst✝⁶ : (i : ι) → AddCommMonoid (s i)
inst✝⁵ : (i : ι) → Module R (s i)
M : Type u_8
inst✝⁴ : AddCommMonoid M
inst✝³ : Module R M
E : Type u_9
inst✝² : AddCommMonoid E
inst✝¹ : Module R E
F : Type u_10
inst✝ : AddCommMonoid F
z : R
f : (i : ι) → s i
this : z = z • 1
⊢ tprodCoeff R (z • 1) f = z • (tprod R) f

tactic: rfl
state_before: ι : Type u_1
ι₂ : Type u_2
ι₃ : Type u_3
R : Type u_4
inst✝⁷ : CommSemiring R
R₁ : Type u_5
R₂ : Type u_6
s : ι → Type u_7
inst✝⁶ : (i : ι) → AddCommMonoid (s i)
inst✝⁵ : (i : ι) → Module R (s i)
M : Type u_8
inst✝⁴ : AddCommMonoid M
inst✝³ : Module R M
E : Type u_9
inst✝² : AddCommMonoid E
inst✝¹ : Module R E
F : Type u_10
inst✝ : AddCommMonoid F
z : R
f : (i : ι) → s i
this : z = z • 1
⊢ tprodCoeff R (z • 1) f = z • (tprod R) f
state_after: no goals

tactic: simp only [mul_one, Algebra.id.smul_eq_mul]
state_before: ι : Type u_1
ι₂ : Type u_2
ι₃ : Type u_3
R : Type u_4
inst✝⁷ : CommSemiring R
R₁ : Type u_5
R₂ : Type u_6
s : ι → Type u_7
inst✝⁶ : (i : ι) → AddCommMonoid (s i)
inst✝⁵ : (i : ι) → Module R (s i)
M : Type u_8
inst✝⁴ : AddCommMonoid M
inst✝³ : Module R M
E : Type u_9
inst✝² : AddCommMonoid E
inst✝¹ : Module R E
F : Type u_10
inst✝ : AddCommMonoid F
z : R
f : (i : ι) → s i
⊢ z = z • 1
state_after: no goals
Theorem: Complex.abs_exp_eq_iff_re_eq
File: Mathlib/Data/Complex/Exponential.lean

tactic: rw [abs_exp, abs_exp, Real.exp_eq_exp]
state_before: x y : ℂ
⊢ abs (cexp x) = abs (cexp y) ↔ x.re = y.re
state_after: no goals
Theorem: CategoryTheory.IsIso.of_mono_retraction'
File: Mathlib/CategoryTheory/EpiMono.lean

tactic: simp
state_before: C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
X Y : C
f : X ⟶ Y
hf : SplitMono f
inst✝ : Mono hf.retraction
⊢ f ≫ hf.retraction = 𝟙 X
state_after: no goals

tactic: simp
state_before: C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
X Y : C
f : X ⟶ Y
hf : SplitMono f
inst✝ : Mono hf.retraction
⊢ (hf.retraction ≫ f) ≫ hf.retraction = hf.retraction
state_after: no goals
Theorem: pow_lt_self_of_lt_one
File: Mathlib/Algebra/Order/Ring/Basic.lean

tactic: simpa only [pow_one] using pow_lt_pow_right_of_lt_one h₀ h₁ hn
state_before: α : Type u_1
M : Type u_2
R : Type u_3
inst✝ : StrictOrderedSemiring R
a x y : R
n m : ℕ
h₀ : 0 < a
h₁ : a < 1
hn : 1 < n
⊢ a ^ n < a
state_after: no goals
Theorem: MeasureTheory.OuterMeasure.boundedBy_zero
File: Mathlib/MeasureTheory/OuterMeasure/OfFunction.lean

tactic: rw [← coe_bot, eq_bot_iff]
state_before: α : Type u_1
m : Set α → ℝ≥0∞
⊢ boundedBy 0 = 0
state_after: α : Type u_1
m : Set α → ℝ≥0∞
⊢ boundedBy 0 ≤ ⊥

tactic: apply boundedBy_le
state_before: α : Type u_1
m : Set α → ℝ≥0∞
⊢ boundedBy 0 ≤ ⊥
state_after: no goals
Theorem: SimpleGraph.Walk.connected_induce_support
File: Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean

tactic: rw [← p.verts_toSubgraph]
state_before: V : Type u
V' : Type v
G : SimpleGraph V
G' : SimpleGraph V'
u v : V
p : G.Walk u v
⊢ (induce {v_1 | v_1 ∈ p.support} G).Connected
state_after: V : Type u
V' : Type v
G : SimpleGraph V
G' : SimpleGraph V'
u v : V
p : G.Walk u v
⊢ (induce p.toSubgraph.verts G).Connected

tactic: exact p.toSubgraph_connected.induce_verts
state_before: V : Type u
V' : Type v
G : SimpleGraph V
G' : SimpleGraph V'
u v : V
p : G.Walk u v
⊢ (induce p.toSubgraph.verts G).Connected
state_after: no goals
Theorem: EMetric.mem_closedBall_self
File: Mathlib/Topology/EMetricSpace/Basic.lean

tactic: rw [mem_closedBall, edist_self]
state_before: α : Type u
β : Type v
X : Type u_1
inst✝ : PseudoEMetricSpace α
x y z : α
ε ε₁ ε₂ : ℝ≥0∞
s t : Set α
⊢ x ∈ closedBall x ε
state_after: α : Type u
β : Type v
X : Type u_1
inst✝ : PseudoEMetricSpace α
x y z : α
ε ε₁ ε₂ : ℝ≥0∞
s t : Set α
⊢ 0 ≤ ε

tactic: apply zero_le
state_before: α : Type u
β : Type v
X : Type u_1
inst✝ : PseudoEMetricSpace α
x y z : α
ε ε₁ ε₂ : ℝ≥0∞
s t : Set α
⊢ 0 ≤ ε
state_after: no goals
Theorem: map_hnot
File: Mathlib/Order/Heyting/Hom.lean

tactic: rw [← top_sdiff', ← top_sdiff', map_sdiff, map_top]
state_before: F : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
δ : Type u_5
inst✝³ : FunLike F α β
inst✝² : CoheytingAlgebra α
inst✝¹ : CoheytingAlgebra β
inst✝ : CoheytingHomClass F α β
f : F
a : α
⊢ f (￢a) = ￢f a
state_after: no goals
Theorem: ZFSet.toSet_union
File: Mathlib/SetTheory/ZFC/Basic.lean

tactic: change (⋃₀ {x, y}).toSet = _
state_before: x y : ZFSet
⊢ (x ∪ y).toSet = x.toSet ∪ y.toSet
state_after: x y : ZFSet
⊢ (⋃₀ {x, y}).toSet = x.toSet ∪ y.toSet

tactic: simp
state_before: x y : ZFSet
⊢ (⋃₀ {x, y}).toSet = x.toSet ∪ y.toSet
state_after: no goals
Theorem: one_lt_ack_succ_left
File: Mathlib/Computability/Ackermann.lean

tactic: simp
state_before: n : ℕ
⊢ 1 < ack (0 + 1) n
state_after: no goals

tactic: rw [ack_succ_zero]
state_before: m : ℕ
⊢ 1 < ack (m + 1 + 1) 0
state_after: m : ℕ
⊢ 1 < ack (m + 1) 1

tactic: apply one_lt_ack_succ_left
state_before: m : ℕ
⊢ 1 < ack (m + 1) 1
state_after: no goals

tactic: rw [ack_succ_succ]
state_before: m n : ℕ
⊢ 1 < ack (m + 1 + 1) (n + 1)
state_after: m n : ℕ
⊢ 1 < ack (m + 1) (ack (m + 1 + 1) n)

tactic: apply one_lt_ack_succ_left
state_before: m n : ℕ
⊢ 1 < ack (m + 1) (ack (m + 1 + 1) n)
state_after: no goals
Theorem: Partrec.cond
File: Mathlib/Computability/Halting.lean

tactic: cases c a <;> simp [ef, eg, encodek]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
σ : Type u_4
inst✝³ : Primcodable α
inst✝² : Primcodable β
inst✝¹ : Primcodable γ
inst✝ : Primcodable σ
c : α → Bool
f g : α →. σ
hc : Computable c
hf : Partrec f
hg : Partrec g
cf : Code
ef : cf.eval = fun n => (↑(decode n)).bind fun a => Part.map encode (f a)
cg : Code
eg : cg.eval = fun n => (↑(decode n)).bind fun a => Part.map encode (g a)
a : α
⊢ (((bif c a then cf else cg).eval (encode a)).bind fun b => ↑(decode (a, b).2)) = bif c a then f a else g a
state_after: no goals
Theorem: exists_nat_pow_near_of_lt_one
File: Mathlib/Algebra/Order/Archimedean.lean

tactic: rcases exists_nat_pow_near (one_le_inv_iff.2 ⟨xpos, hx⟩) (one_lt_inv_iff.2 ⟨ypos, hy⟩) with
  ⟨n, hn, h'n⟩
state_before: α : Type u_1
M : Type u_2
inst✝² : LinearOrderedSemifield α
inst✝¹ : Archimedean α
inst✝ : ExistsAddOfLE α
x y ε : α
xpos : 0 < x
hx : x ≤ 1
ypos : 0 < y
hy : y < 1
⊢ ∃ n, y ^ (n + 1) < x ∧ x ≤ y ^ n
state_after: case intro.intro
α : Type u_1
M : Type u_2
inst✝² : LinearOrderedSemifield α
inst✝¹ : Archimedean α
inst✝ : ExistsAddOfLE α
x y ε : α
xpos : 0 < x
hx : x ≤ 1
ypos : 0 < y
hy : y < 1
n : ℕ
hn : y⁻¹ ^ n ≤ x⁻¹
h'n : x⁻¹ < y⁻¹ ^ (n + 1)
⊢ ∃ n, y ^ (n + 1) < x ∧ x ≤ y ^ n

tactic: refine ⟨n, ?_, ?_⟩
state_before: case intro.intro
α : Type u_1
M : Type u_2
inst✝² : LinearOrderedSemifield α
inst✝¹ : Archimedean α
inst✝ : ExistsAddOfLE α
x y ε : α
xpos : 0 < x
hx : x ≤ 1
ypos : 0 < y
hy : y < 1
n : ℕ
hn : y⁻¹ ^ n ≤ x⁻¹
h'n : x⁻¹ < y⁻¹ ^ (n + 1)
⊢ ∃ n, y ^ (n + 1) < x ∧ x ≤ y ^ n
state_after: case intro.intro.refine_1
α : Type u_1
M : Type u_2
inst✝² : LinearOrderedSemifield α
inst✝¹ : Archimedean α
inst✝ : ExistsAddOfLE α
x y ε : α
xpos : 0 < x
hx : x ≤ 1
ypos : 0 < y
hy : y < 1
n : ℕ
hn : y⁻¹ ^ n ≤ x⁻¹
h'n : x⁻¹ < y⁻¹ ^ (n + 1)
⊢ y ^ (n + 1) < x

case intro.intro.refine_2
α : Type u_1
M : Type u_2
inst✝² : LinearOrderedSemifield α
inst✝¹ : Archimedean α
inst✝ : ExistsAddOfLE α
x y ε : α
xpos : 0 < x
hx : x ≤ 1
ypos : 0 < y
hy : y < 1
n : ℕ
hn : y⁻¹ ^ n ≤ x⁻¹
h'n : x⁻¹ < y⁻¹ ^ (n + 1)
⊢ x ≤ y ^ n

tactic: rwa [inv_pow, inv_lt_inv xpos (pow_pos ypos _)] at h'n
state_before: case intro.intro.refine_1
α : Type u_1
M : Type u_2
inst✝² : LinearOrderedSemifield α
inst✝¹ : Archimedean α
inst✝ : ExistsAddOfLE α
x y ε : α
xpos : 0 < x
hx : x ≤ 1
ypos : 0 < y
hy : y < 1
n : ℕ
hn : y⁻¹ ^ n ≤ x⁻¹
h'n : x⁻¹ < y⁻¹ ^ (n + 1)
⊢ y ^ (n + 1) < x
state_after: no goals

tactic: rwa [inv_pow, inv_le_inv (pow_pos ypos _) xpos] at hn
state_before: case intro.intro.refine_2
α : Type u_1
M : Type u_2
inst✝² : LinearOrderedSemifield α
inst✝¹ : Archimedean α
inst✝ : ExistsAddOfLE α
x y ε : α
xpos : 0 < x
hx : x ≤ 1
ypos : 0 < y
hy : y < 1
n : ℕ
hn : y⁻¹ ^ n ≤ x⁻¹
h'n : x⁻¹ < y⁻¹ ^ (n + 1)
⊢ x ≤ y ^ n
state_after: no goals
Theorem: UniversalEnvelopingAlgebra.lift_ι_apply
File: Mathlib/Algebra/Lie/UniversalEnveloping.lean

tactic: rw [← Function.comp_apply (f := lift R f) (g := ι R) (x := x), ι_comp_lift]
state_before: R : Type u₁
L : Type u₂
inst✝⁴ : CommRing R
inst✝³ : LieRing L
inst✝² : LieAlgebra R L
A : Type u₃
inst✝¹ : Ring A
inst✝ : Algebra R A
f : L →ₗ⁅R⁆ A
x : L
⊢ ((lift R) f) ((ι R) x) = f x
state_after: no goals
Theorem: CofiniteTopology.isOpen_iff'
File: Mathlib/Topology/Constructions.lean

tactic: simp only [isOpen_iff, nonempty_iff_ne_empty, or_iff_not_imp_left]
state_before: X : Type u
Y : Type v
Z : Type u_1
W : Type u_2
ε : Type u_3
ζ : Type u_4
s : Set (CofiniteTopology X)
⊢ IsOpen s ↔ s = ∅ ∨ sᶜ.Finite
state_after: no goals
Theorem: derivWithin_zero_of_isolated
File: Mathlib/Analysis/Calculus/Deriv/Basic.lean

tactic: rw [derivWithin, fderivWithin_zero_of_isolated h, ContinuousLinearMap.zero_apply]
state_before: 𝕜 : Type u
inst✝⁴ : NontriviallyNormedField 𝕜
F : Type v
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
E : Type w
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
f f₀ f₁ g : 𝕜 → F
f' f₀' f₁' g' : F
x : 𝕜
s t : Set 𝕜
L L₁ L₂ : Filter 𝕜
h : 𝓝[s \ {x}] x = ⊥
⊢ derivWithin f s x = 0
state_after: no goals
Theorem: MvPolynomial.C_dvd_iff_map_hom_eq_zero
File: Mathlib/Algebra/MvPolynomial/Basic.lean

tactic: rw [C_dvd_iff_dvd_coeff, MvPolynomial.ext_iff]
state_before: R : Type u
S₁ : Type v
S₂ : Type w
S₃ : Type x
σ : Type u_1
a a' a₁ a₂ : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝¹ : CommSemiring R
inst✝ : CommSemiring S₁
p q✝ : MvPolynomial σ R
f q : R →+* S₁
r : R
hr : ∀ (r' : R), q r' = 0 ↔ r ∣ r'
φ : MvPolynomial σ R
⊢ C r ∣ φ ↔ (map q) φ = 0
state_after: R : Type u
S₁ : Type v
S₂ : Type w
S₃ : Type x
σ : Type u_1
a a' a₁ a₂ : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝¹ : CommSemiring R
inst✝ : CommSemiring S₁
p q✝ : MvPolynomial σ R
f q : R →+* S₁
r : R
hr : ∀ (r' : R), q r' = 0 ↔ r ∣ r'
φ : MvPolynomial σ R
⊢ (∀ (i : σ →₀ ℕ), r ∣ coeff i φ) ↔ ∀ (m : σ →₀ ℕ), coeff m ((map q) φ) = coeff m 0

tactic: simp only [coeff_map, coeff_zero, hr]
state_before: R : Type u
S₁ : Type v
S₂ : Type w
S₃ : Type x
σ : Type u_1
a a' a₁ a₂ : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝¹ : CommSemiring R
inst✝ : CommSemiring S₁
p q✝ : MvPolynomial σ R
f q : R →+* S₁
r : R
hr : ∀ (r' : R), q r' = 0 ↔ r ∣ r'
φ : MvPolynomial σ R
⊢ (∀ (i : σ →₀ ℕ), r ∣ coeff i φ) ↔ ∀ (m : σ →₀ ℕ), coeff m ((map q) φ) = coeff m 0
state_after: no goals
Theorem: Multiset.sup_ndinsert
File: Mathlib/Data/Multiset/Lattice.lean

tactic: rw [← sup_dedup, dedup_ext.2, sup_dedup, sup_cons]
state_before: α : Type u_1
inst✝² : SemilatticeSup α
inst✝¹ : OrderBot α
inst✝ : DecidableEq α
a : α
s : Multiset α
⊢ (ndinsert a s).sup = a ⊔ s.sup
state_after: α : Type u_1
inst✝² : SemilatticeSup α
inst✝¹ : OrderBot α
inst✝ : DecidableEq α
a : α
s : Multiset α
⊢ ∀ (a_1 : α), a_1 ∈ ndinsert a s ↔ a_1 ∈ a ::ₘ s

tactic: simp
state_before: α : Type u_1
inst✝² : SemilatticeSup α
inst✝¹ : OrderBot α
inst✝ : DecidableEq α
a : α
s : Multiset α
⊢ ∀ (a_1 : α), a_1 ∈ ndinsert a s ↔ a_1 ∈ a ::ₘ s
state_after: no goals
Theorem: Finset.pow_subset_pow_of_one_mem
File: Mathlib/Data/Finset/Pointwise.lean

tactic: apply Nat.le_induction
state_before: F : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
inst✝² : DecidableEq α
inst✝¹ : DecidableEq β
inst✝ : Monoid α
s t : Finset α
a : α
m n : ℕ
hs : 1 ∈ s
⊢ m ≤ n → s ^ m ⊆ s ^ n
state_after: case base
F : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
inst✝² : DecidableEq α
inst✝¹ : DecidableEq β
inst✝ : Monoid α
s t : Finset α
a : α
m n : ℕ
hs : 1 ∈ s
⊢ s ^ m ⊆ s ^ m

case succ
F : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
inst✝² : DecidableEq α
inst✝¹ : DecidableEq β
inst✝ : Monoid α
s t : Finset α
a : α
m n : ℕ
hs : 1 ∈ s
⊢ ∀ (n : ℕ), m ≤ n → s ^ m ⊆ s ^ n → s ^ m ⊆ s ^ (n + 1)

tactic: exact fun _ hn => hn
state_before: case base
F : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
inst✝² : DecidableEq α
inst✝¹ : DecidableEq β
inst✝ : Monoid α
s t : Finset α
a : α
m n : ℕ
hs : 1 ∈ s
⊢ s ^ m ⊆ s ^ m
state_after: no goals

tactic: intro n _ hmn
state_before: case succ
F : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
inst✝² : DecidableEq α
inst✝¹ : DecidableEq β
inst✝ : Monoid α
s t : Finset α
a : α
m n : ℕ
hs : 1 ∈ s
⊢ ∀ (n : ℕ), m ≤ n → s ^ m ⊆ s ^ n → s ^ m ⊆ s ^ (n + 1)
state_after: case succ
F : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
inst✝² : DecidableEq α
inst✝¹ : DecidableEq β
inst✝ : Monoid α
s t : Finset α
a : α
m n✝ : ℕ
hs : 1 ∈ s
n : ℕ
hmn✝ : m ≤ n
hmn : s ^ m ⊆ s ^ n
⊢ s ^ m ⊆ s ^ (n + 1)

tactic: rw [pow_succ]
state_before: case succ
F : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
inst✝² : DecidableEq α
inst✝¹ : DecidableEq β
inst✝ : Monoid α
s t : Finset α
a : α
m n✝ : ℕ
hs : 1 ∈ s
n : ℕ
hmn✝ : m ≤ n
hmn : s ^ m ⊆ s ^ n
⊢ s ^ m ⊆ s ^ (n + 1)
state_after: case succ
F : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
inst✝² : DecidableEq α
inst✝¹ : DecidableEq β
inst✝ : Monoid α
s t : Finset α
a : α
m n✝ : ℕ
hs : 1 ∈ s
n : ℕ
hmn✝ : m ≤ n
hmn : s ^ m ⊆ s ^ n
⊢ s ^ m ⊆ s ^ n * s

tactic: exact hmn.trans (subset_mul_left (s ^ n) hs)
state_before: case succ
F : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
inst✝² : DecidableEq α
inst✝¹ : DecidableEq β
inst✝ : Monoid α
s t : Finset α
a : α
m n✝ : ℕ
hs : 1 ∈ s
n : ℕ
hmn✝ : m ≤ n
hmn : s ^ m ⊆ s ^ n
⊢ s ^ m ⊆ s ^ n * s
state_after: no goals
Theorem: Finset.powersetCard_card_add
File: Mathlib/Data/Finset/Powerset.lean

tactic: simpa
state_before: α : Type u_1
s✝¹ t✝ : Finset α
n : ℕ
s✝ t s : Finset α
hn : 0 < n
⊢ powersetCard (s.card + n) s = ∅
state_after: no goals
Theorem: sbtw_pointReflection_of_ne
File: Mathlib/Analysis/Convex/Between.lean

tactic: refine ⟨wbtw_pointReflection _ _ _, h, ?_⟩
state_before: R : Type u_1
V : Type u_2
V' : Type u_3
P : Type u_4
P' : Type u_5
inst✝³ : LinearOrderedField R
inst✝² : AddCommGroup V
inst✝¹ : Module R V
inst✝ : AddTorsor V P
x y : P
h : x ≠ y
⊢ Sbtw R y x ((pointReflection R x) y)
state_after: R : Type u_1
V : Type u_2
V' : Type u_3
P : Type u_4
P' : Type u_5
inst✝³ : LinearOrderedField R
inst✝² : AddCommGroup V
inst✝¹ : Module R V
inst✝ : AddTorsor V P
x y : P
h : x ≠ y
⊢ x ≠ (pointReflection R x) y

tactic: nth_rw 1 [← pointReflection_self R x]
state_before: R : Type u_1
V : Type u_2
V' : Type u_3
P : Type u_4
P' : Type u_5
inst✝³ : LinearOrderedField R
inst✝² : AddCommGroup V
inst✝¹ : Module R V
inst✝ : AddTorsor V P
x y : P
h : x ≠ y
⊢ x ≠ (pointReflection R x) y
state_after: R : Type u_1
V : Type u_2
V' : Type u_3
P : Type u_4
P' : Type u_5
inst✝³ : LinearOrderedField R
inst✝² : AddCommGroup V
inst✝¹ : Module R V
inst✝ : AddTorsor V P
x y : P
h : x ≠ y
⊢ (pointReflection R x) x ≠ (pointReflection R x) y

tactic: exact (pointReflection_involutive R x).injective.ne h
state_before: R : Type u_1
V : Type u_2
V' : Type u_3
P : Type u_4
P' : Type u_5
inst✝³ : LinearOrderedField R
inst✝² : AddCommGroup V
inst✝¹ : Module R V
inst✝ : AddTorsor V P
x y : P
h : x ≠ y
⊢ (pointReflection R x) x ≠ (pointReflection R x) y
state_after: no goals
Theorem: Finsupp.prod_embDomain
File: Mathlib/Algebra/BigOperators/Finsupp.lean

tactic: rw [prod, prod, support_embDomain, Finset.prod_map]
state_before: α : Type u_1
ι : Type u_2
γ : Type u_3
A : Type u_4
B : Type u_5
C : Type u_6
inst✝⁴ : AddCommMonoid A
inst✝³ : AddCommMonoid B
inst✝² : AddCommMonoid C
t : ι → A → C
h0 : ∀ (i : ι), t i 0 = 0
h1 : ∀ (i : ι) (x y : A), t i (x + y) = t i x + t i y
s : Finset α
f✝ : α → ι →₀ A
i : ι
g✝ : ι →₀ A
k : ι → A → γ → B
x : γ
β : Type u_7
M : Type u_8
M' : Type u_9
N : Type u_10
P : Type u_11
G : Type u_12
H : Type u_13
R : Type u_14
S : Type u_15
inst✝¹ : Zero M
inst✝ : CommMonoid N
v : α →₀ M
f : α ↪ β
g : β → M → N
⊢ (embDomain f v).prod g = v.prod fun a b => g (f a) b
state_after: α : Type u_1
ι : Type u_2
γ : Type u_3
A : Type u_4
B : Type u_5
C : Type u_6
inst✝⁴ : AddCommMonoid A
inst✝³ : AddCommMonoid B
inst✝² : AddCommMonoid C
t : ι → A → C
h0 : ∀ (i : ι), t i 0 = 0
h1 : ∀ (i : ι) (x y : A), t i (x + y) = t i x + t i y
s : Finset α
f✝ : α → ι →₀ A
i : ι
g✝ : ι →₀ A
k : ι → A → γ → B
x : γ
β : Type u_7
M : Type u_8
M' : Type u_9
N : Type u_10
P : Type u_11
G : Type u_12
H : Type u_13
R : Type u_14
S : Type u_15
inst✝¹ : Zero M
inst✝ : CommMonoid N
v : α →₀ M
f : α ↪ β
g : β → M → N
⊢ ∏ x ∈ v.support, g (f x) ((embDomain f v) (f x)) = ∏ a ∈ v.support, g (f a) (v a)

tactic: simp_rw [embDomain_apply]
state_before: α : Type u_1
ι : Type u_2
γ : Type u_3
A : Type u_4
B : Type u_5
C : Type u_6
inst✝⁴ : AddCommMonoid A
inst✝³ : AddCommMonoid B
inst✝² : AddCommMonoid C
t : ι → A → C
h0 : ∀ (i : ι), t i 0 = 0
h1 : ∀ (i : ι) (x y : A), t i (x + y) = t i x + t i y
s : Finset α
f✝ : α → ι →₀ A
i : ι
g✝ : ι →₀ A
k : ι → A → γ → B
x : γ
β : Type u_7
M : Type u_8
M' : Type u_9
N : Type u_10
P : Type u_11
G : Type u_12
H : Type u_13
R : Type u_14
S : Type u_15
inst✝¹ : Zero M
inst✝ : CommMonoid N
v : α →₀ M
f : α ↪ β
g : β → M → N
⊢ ∏ x ∈ v.support, g (f x) ((embDomain f v) (f x)) = ∏ a ∈ v.support, g (f a) (v a)
state_after: no goals
Theorem: Isometry.norm_map_of_map_one
File: Mathlib/Analysis/Normed/Group/Uniform.lean

tactic: rw [← dist_one_right, ← h₁, hi.dist_eq, dist_one_right]
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₂ : ℝ
f : E → F
hi : Isometry f
h₁ : f 1 = 1
x : E
⊢ ‖f x‖ = ‖x‖
state_after: no goals
Theorem: ProbabilityTheory.condCount_isProbabilityMeasure
File: Mathlib/Probability/CondCount.lean

tactic: rw [condCount, cond_apply _ hs.measurableSet, Set.inter_univ, ENNReal.inv_mul_cancel]
state_before: Ω : Type u_1
inst✝¹ : MeasurableSpace Ω
inst✝ : MeasurableSingletonClass Ω
s : Set Ω
hs : s.Finite
hs' : s.Nonempty
⊢ (condCount s) Set.univ = 1
state_after: case h0
Ω : Type u_1
inst✝¹ : MeasurableSpace Ω
inst✝ : MeasurableSingletonClass Ω
s : Set Ω
hs : s.Finite
hs' : s.Nonempty
⊢ Measure.count s ≠ 0

case ht
Ω : Type u_1
inst✝¹ : MeasurableSpace Ω
inst✝ : MeasurableSingletonClass Ω
s : Set Ω
hs : s.Finite
hs' : s.Nonempty
⊢ Measure.count s ≠ ⊤

tactic: exact fun h => hs'.ne_empty <| Measure.empty_of_count_eq_zero h
state_before: case h0
Ω : Type u_1
inst✝¹ : MeasurableSpace Ω
inst✝ : MeasurableSingletonClass Ω
s : Set Ω
hs : s.Finite
hs' : s.Nonempty
⊢ Measure.count s ≠ 0
state_after: no goals

tactic: exact (Measure.count_apply_lt_top.2 hs).ne
state_before: case ht
Ω : Type u_1
inst✝¹ : MeasurableSpace Ω
inst✝ : MeasurableSingletonClass Ω
s : Set Ω
hs : s.Finite
hs' : s.Nonempty
⊢ Measure.count s ≠ ⊤
state_after: no goals
Theorem: IsMonoidHom.comp
File: Mathlib/Deprecated/Group.lean

tactic: rw [hf.map_one, hg.map_one]
state_before: α : Type u
β : Type v
inst✝² : MulOneClass α
inst✝¹ : MulOneClass β
f : α → β
hf : IsMonoidHom f
γ : Type u_1
inst✝ : MulOneClass γ
g : β → γ
hg : IsMonoidHom g
⊢ g (f 1) = 1
state_after: no goals