1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: CategoryTheory.PreGaloisCategory.exists_hom_from_galois_of_fiber
File: Mathlib/CategoryTheory/Galois/Decomposition.lean

tactic: obtain ⟨A, a, h1, h2⟩ := exists_galois_representative F X
state_before: C : Type u₁
inst✝² : Category.{u₂, u₁} C
inst✝¹ : GaloisCategory C
F : C ⥤ FintypeCat
inst✝ : FiberFunctor F
X : C
x : ↑(F.obj X)
⊢ ∃ A f a, IsGalois A ∧ F.map f a = x
state_after: case intro.intro.intro
C : Type u₁
inst✝² : Category.{u₂, u₁} C
inst✝¹ : GaloisCategory C
F : C ⥤ FintypeCat
inst✝ : FiberFunctor F
X : C
x : ↑(F.obj X)
A : C
a : ↑(F.obj A)
h1 : IsGalois A
h2 : Function.Bijective fun f => F.map f a
⊢ ∃ A f a, IsGalois A ∧ F.map f a = x

tactic: obtain ⟨f, hf⟩ := h2.surjective x
state_before: case intro.intro.intro
C : Type u₁
inst✝² : Category.{u₂, u₁} C
inst✝¹ : GaloisCategory C
F : C ⥤ FintypeCat
inst✝ : FiberFunctor F
X : C
x : ↑(F.obj X)
A : C
a : ↑(F.obj A)
h1 : IsGalois A
h2 : Function.Bijective fun f => F.map f a
⊢ ∃ A f a, IsGalois A ∧ F.map f a = x
state_after: case intro.intro.intro.intro
C : Type u₁
inst✝² : Category.{u₂, u₁} C
inst✝¹ : GaloisCategory C
F : C ⥤ FintypeCat
inst✝ : FiberFunctor F
X : C
x : ↑(F.obj X)
A : C
a : ↑(F.obj A)
h1 : IsGalois A
h2 : Function.Bijective fun f => F.map f a
f : A ⟶ X
hf : (fun f => F.map f a) f = x
⊢ ∃ A f a, IsGalois A ∧ F.map f a = x

tactic: exact ⟨A, f, a, h1, hf⟩
state_before: case intro.intro.intro.intro
C : Type u₁
inst✝² : Category.{u₂, u₁} C
inst✝¹ : GaloisCategory C
F : C ⥤ FintypeCat
inst✝ : FiberFunctor F
X : C
x : ↑(F.obj X)
A : C
a : ↑(F.obj A)
h1 : IsGalois A
h2 : Function.Bijective fun f => F.map f a
f : A ⟶ X
hf : (fun f => F.map f a) f = x
⊢ ∃ A f a, IsGalois A ∧ F.map f a = x
state_after: no goals
Theorem: Real.abs_exp_sub_one_sub_id_le
File: Mathlib/Data/Complex/Exponential.lean

tactic: rw [← _root_.sq_abs]
state_before: x : ℝ
hx : |x| ≤ 1
⊢ |rexp x - 1 - x| ≤ x ^ 2
state_after: x : ℝ
hx : |x| ≤ 1
⊢ |rexp x - 1 - x| ≤ |x| ^ 2

tactic: have : Complex.abs x ≤ 1 := mod_cast hx
state_before: x : ℝ
hx : |x| ≤ 1
⊢ |rexp x - 1 - x| ≤ |x| ^ 2
state_after: x : ℝ
hx : |x| ≤ 1
this : Complex.abs ↑x ≤ 1
⊢ |rexp x - 1 - x| ≤ |x| ^ 2

tactic: have := Complex.abs_exp_sub_one_sub_id_le this
state_before: x : ℝ
hx : |x| ≤ 1
this : Complex.abs ↑x ≤ 1
⊢ |rexp x - 1 - x| ≤ |x| ^ 2
state_after: x : ℝ
hx : |x| ≤ 1
this✝ : Complex.abs ↑x ≤ 1
this : Complex.abs (cexp ↑x - 1 - ↑x) ≤ Complex.abs ↑x ^ 2
⊢ |rexp x - 1 - x| ≤ |x| ^ 2

tactic: rw [← ofReal_one, ← ofReal_exp, ← ofReal_sub, ← ofReal_sub, abs_ofReal, abs_ofReal] at this
state_before: x : ℝ
hx : |x| ≤ 1
this✝ : Complex.abs ↑x ≤ 1
this : Complex.abs (cexp ↑x - 1 - ↑x) ≤ Complex.abs ↑x ^ 2
⊢ |rexp x - 1 - x| ≤ |x| ^ 2
state_after: x : ℝ
hx : |x| ≤ 1
this✝ : Complex.abs ↑x ≤ 1
this : |rexp x - 1 - x| ≤ |x| ^ 2
⊢ |rexp x - 1 - x| ≤ |x| ^ 2

tactic: exact this
state_before: x : ℝ
hx : |x| ≤ 1
this✝ : Complex.abs ↑x ≤ 1
this : |rexp x - 1 - x| ≤ |x| ^ 2
⊢ |rexp x - 1 - x| ≤ |x| ^ 2
state_after: no goals
Theorem: closure_Ioi'
File: Mathlib/Topology/Order/DenselyOrdered.lean

tactic: apply Subset.antisymm
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝³ : TopologicalSpace α
inst✝² : LinearOrder α
inst✝¹ : OrderTopology α
inst✝ : DenselyOrdered α
a✝ b : α
s : Set α
a : α
h : (Ioi a).Nonempty
⊢ closure (Ioi a) = Ici a
state_after: case h₁
α : Type u_1
β : Type u_2
γ : Type u_3
inst✝³ : TopologicalSpace α
inst✝² : LinearOrder α
inst✝¹ : OrderTopology α
inst✝ : DenselyOrdered α
a✝ b : α
s : Set α
a : α
h : (Ioi a).Nonempty
⊢ closure (Ioi a) ⊆ Ici a

case h₂
α : Type u_1
β : Type u_2
γ : Type u_3
inst✝³ : TopologicalSpace α
inst✝² : LinearOrder α
inst✝¹ : OrderTopology α
inst✝ : DenselyOrdered α
a✝ b : α
s : Set α
a : α
h : (Ioi a).Nonempty
⊢ Ici a ⊆ closure (Ioi a)

tactic: exact closure_minimal Ioi_subset_Ici_self isClosed_Ici
state_before: case h₁
α : Type u_1
β : Type u_2
γ : Type u_3
inst✝³ : TopologicalSpace α
inst✝² : LinearOrder α
inst✝¹ : OrderTopology α
inst✝ : DenselyOrdered α
a✝ b : α
s : Set α
a : α
h : (Ioi a).Nonempty
⊢ closure (Ioi a) ⊆ Ici a
state_after: no goals

tactic: rw [← diff_subset_closure_iff, Ici_diff_Ioi_same, singleton_subset_iff]
state_before: case h₂
α : Type u_1
β : Type u_2
γ : Type u_3
inst✝³ : TopologicalSpace α
inst✝² : LinearOrder α
inst✝¹ : OrderTopology α
inst✝ : DenselyOrdered α
a✝ b : α
s : Set α
a : α
h : (Ioi a).Nonempty
⊢ Ici a ⊆ closure (Ioi a)
state_after: case h₂
α : Type u_1
β : Type u_2
γ : Type u_3
inst✝³ : TopologicalSpace α
inst✝² : LinearOrder α
inst✝¹ : OrderTopology α
inst✝ : DenselyOrdered α
a✝ b : α
s : Set α
a : α
h : (Ioi a).Nonempty
⊢ a ∈ closure (Ioi a)

tactic: exact isGLB_Ioi.mem_closure h
state_before: case h₂
α : Type u_1
β : Type u_2
γ : Type u_3
inst✝³ : TopologicalSpace α
inst✝² : LinearOrder α
inst✝¹ : OrderTopology α
inst✝ : DenselyOrdered α
a✝ b : α
s : Set α
a : α
h : (Ioi a).Nonempty
⊢ a ∈ closure (Ioi a)
state_after: no goals
Theorem: Finsupp.card_Icc
File: Mathlib/Data/Finsupp/Interval.lean

tactic: simp_rw [Icc_eq, card_finsupp, coe_rangeIcc]
state_before: ι : Type u_1
α : Type u_2
inst✝² : PartialOrder α
inst✝¹ : Zero α
inst✝ : LocallyFiniteOrder α
f g : ι →₀ α
⊢ (Icc f g).card = ∏ i ∈ f.support ∪ g.support, (Icc (f i) (g i)).card
state_after: no goals
Theorem: List.prod_int_mod
File: Mathlib/Algebra/BigOperators/Group/List.lean

tactic: induction l <;> simp [Int.mul_emod, *]
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
M : Type u_4
N : Type u_5
P : Type u_6
G : Type u_7
l : List ℤ
n : ℤ
⊢ l.prod % n = (map (fun x => x % n) l).prod % n
state_after: no goals
Theorem: Complex.norm_eq_one_of_mem_rootsOfUnity
File: Mathlib/RingTheory/RootsOfUnity/Complex.lean

tactic: refine norm_eq_one_of_pow_eq_one ?_ <| n.ne_zero
state_before: ζ : ℂˣ
n : ℕ+
hζ : ζ ∈ rootsOfUnity n ℂ
⊢ ‖↑ζ‖ = 1
state_after: ζ : ℂˣ
n : ℕ+
hζ : ζ ∈ rootsOfUnity n ℂ
⊢ ↑ζ ^ ↑n = 1

tactic: norm_cast
state_before: ζ : ℂˣ
n : ℕ+
hζ : ζ ∈ rootsOfUnity n ℂ
⊢ ↑ζ ^ ↑n = 1
state_after: ζ : ℂˣ
n : ℕ+
hζ : ζ ∈ rootsOfUnity n ℂ
⊢ ↑(ζ ^ ↑n) = 1

tactic: rw [_root_.mem_rootsOfUnity] at hζ
state_before: ζ : ℂˣ
n : ℕ+
hζ : ζ ∈ rootsOfUnity n ℂ
⊢ ↑(ζ ^ ↑n) = 1
state_after: ζ : ℂˣ
n : ℕ+
hζ : ζ ^ ↑n = 1
⊢ ↑(ζ ^ ↑n) = 1

tactic: rw [hζ, Units.val_one]
state_before: ζ : ℂˣ
n : ℕ+
hζ : ζ ^ ↑n = 1
⊢ ↑(ζ ^ ↑n) = 1
state_after: no goals
Theorem: Real.logb_lt_logb
File: Mathlib/Analysis/SpecialFunctions/Log/Base.lean

tactic: rw [logb, logb, div_lt_div_right (log_pos hb)]
state_before: b x y : ℝ
hb : 1 < b
hx : 0 < x
hxy : x < y
⊢ logb b x < logb b y
state_after: b x y : ℝ
hb : 1 < b
hx : 0 < x
hxy : x < y
⊢ log x < log y

tactic: exact log_lt_log hx hxy
state_before: b x y : ℝ
hb : 1 < b
hx : 0 < x
hxy : x < y
⊢ log x < log y
state_after: no goals
Theorem: Ideal.le_comap_pow
File: Mathlib/RingTheory/Ideal/Maps.lean

tactic: induction' n with n n_ih
state_before: R : Type u
S : Type v
F : Type u_1
inst✝² : CommRing R
inst✝¹ : CommRing S
inst✝ : FunLike F R S
rc : RingHomClass F R S
f : F
I J : Ideal R
K L : Ideal S
n : ℕ
⊢ comap f K ^ n ≤ comap f (K ^ n)
state_after: case zero
R : Type u
S : Type v
F : Type u_1
inst✝² : CommRing R
inst✝¹ : CommRing S
inst✝ : FunLike F R S
rc : RingHomClass F R S
f : F
I J : Ideal R
K L : Ideal S
⊢ comap f K ^ 0 ≤ comap f (K ^ 0)

case succ
R : Type u
S : Type v
F : Type u_1
inst✝² : CommRing R
inst✝¹ : CommRing S
inst✝ : FunLike F R S
rc : RingHomClass F R S
f : F
I J : Ideal R
K L : Ideal S
n : ℕ
n_ih : comap f K ^ n ≤ comap f (K ^ n)
⊢ comap f K ^ (n + 1) ≤ comap f (K ^ (n + 1))

tactic: rw [pow_zero, pow_zero, Ideal.one_eq_top, Ideal.one_eq_top]
state_before: case zero
R : Type u
S : Type v
F : Type u_1
inst✝² : CommRing R
inst✝¹ : CommRing S
inst✝ : FunLike F R S
rc : RingHomClass F R S
f : F
I J : Ideal R
K L : Ideal S
⊢ comap f K ^ 0 ≤ comap f (K ^ 0)
state_after: case zero
R : Type u
S : Type v
F : Type u_1
inst✝² : CommRing R
inst✝¹ : CommRing S
inst✝ : FunLike F R S
rc : RingHomClass F R S
f : F
I J : Ideal R
K L : Ideal S
⊢ ⊤ ≤ comap f ⊤

tactic: exact rfl.le
state_before: case zero
R : Type u
S : Type v
F : Type u_1
inst✝² : CommRing R
inst✝¹ : CommRing S
inst✝ : FunLike F R S
rc : RingHomClass F R S
f : F
I J : Ideal R
K L : Ideal S
⊢ ⊤ ≤ comap f ⊤
state_after: no goals

tactic: rw [pow_succ, pow_succ]
state_before: case succ
R : Type u
S : Type v
F : Type u_1
inst✝² : CommRing R
inst✝¹ : CommRing S
inst✝ : FunLike F R S
rc : RingHomClass F R S
f : F
I J : Ideal R
K L : Ideal S
n : ℕ
n_ih : comap f K ^ n ≤ comap f (K ^ n)
⊢ comap f K ^ (n + 1) ≤ comap f (K ^ (n + 1))
state_after: case succ
R : Type u
S : Type v
F : Type u_1
inst✝² : CommRing R
inst✝¹ : CommRing S
inst✝ : FunLike F R S
rc : RingHomClass F R S
f : F
I J : Ideal R
K L : Ideal S
n : ℕ
n_ih : comap f K ^ n ≤ comap f (K ^ n)
⊢ comap f K ^ n * comap f K ≤ comap f (K ^ n * K)

tactic: exact (Ideal.mul_mono_left n_ih).trans (Ideal.le_comap_mul f)
state_before: case succ
R : Type u
S : Type v
F : Type u_1
inst✝² : CommRing R
inst✝¹ : CommRing S
inst✝ : FunLike F R S
rc : RingHomClass F R S
f : F
I J : Ideal R
K L : Ideal S
n : ℕ
n_ih : comap f K ^ n ≤ comap f (K ^ n)
⊢ comap f K ^ n * comap f K ≤ comap f (K ^ n * K)
state_after: no goals
Theorem: Equiv.Perm.SameCycle.exists_pow_eq_of_mem_support
File: Mathlib/GroupTheory/Perm/Cycle/Factors.lean

tactic: rw [mem_support] at hx
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
f✝ g : Perm α
x y : α
inst✝³ : DecidableRel f✝.SameCycle
inst✝² : DecidableRel g.SameCycle
f : Perm α
inst✝¹ : DecidableEq α
inst✝ : Fintype α
h : f.SameCycle x y
hx : x ∈ f.support
⊢ ∃ i < (f.cycleOf x).support.card, (f ^ i) x = y
state_after: ι : Type u_1
α : Type u_2
β : Type u_3
f✝ g : Perm α
x y : α
inst✝³ : DecidableRel f✝.SameCycle
inst✝² : DecidableRel g.SameCycle
f : Perm α
inst✝¹ : DecidableEq α
inst✝ : Fintype α
h : f.SameCycle x y
hx : f x ≠ x
⊢ ∃ i < (f.cycleOf x).support.card, (f ^ i) x = y

tactic: exact Equiv.Perm.IsCycleOn.exists_pow_eq (b := y) (f.isCycleOn_support_cycleOf x)
  (by rw [mem_support_cycleOf_iff' hx]) (by rwa [mem_support_cycleOf_iff' hx])
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
f✝ g : Perm α
x y : α
inst✝³ : DecidableRel f✝.SameCycle
inst✝² : DecidableRel g.SameCycle
f : Perm α
inst✝¹ : DecidableEq α
inst✝ : Fintype α
h : f.SameCycle x y
hx : f x ≠ x
⊢ ∃ i < (f.cycleOf x).support.card, (f ^ i) x = y
state_after: no goals

tactic: rw [mem_support_cycleOf_iff' hx]
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
f✝ g : Perm α
x y : α
inst✝³ : DecidableRel f✝.SameCycle
inst✝² : DecidableRel g.SameCycle
f : Perm α
inst✝¹ : DecidableEq α
inst✝ : Fintype α
h : f.SameCycle x y
hx : f x ≠ x
⊢ x ∈ (f.cycleOf x).support
state_after: no goals

tactic: rwa [mem_support_cycleOf_iff' hx]
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
f✝ g : Perm α
x y : α
inst✝³ : DecidableRel f✝.SameCycle
inst✝² : DecidableRel g.SameCycle
f : Perm α
inst✝¹ : DecidableEq α
inst✝ : Fintype α
h : f.SameCycle x y
hx : f x ≠ x
⊢ y ∈ (f.cycleOf x).support
state_after: no goals
Theorem: MonoidHom.mker_prod_map
File: Mathlib/Algebra/Group/Submonoid/Operations.lean

tactic: rw [← comap_bot', ← comap_bot', ← comap_bot', ← prod_map_comap_prod', bot_prod_bot]
state_before: M : Type u_1
N : Type u_2
P : Type u_3
inst✝⁶ : MulOneClass M
inst✝⁵ : MulOneClass N
inst✝⁴ : MulOneClass P
S : Submonoid M
A : Type u_4
inst✝³ : SetLike A M
hA : SubmonoidClass A M
S' : A
F : Type u_5
inst✝² : FunLike F M N
mc : MonoidHomClass F M N
M' : Type u_6
N' : Type u_7
inst✝¹ : MulOneClass M'
inst✝ : MulOneClass N'
f : M →* N
g : M' →* N'
⊢ mker (f.prodMap g) = (mker f).prod (mker g)
state_after: no goals
Theorem: Equiv.Perm.mem_iff_ofSubtype_apply_mem
File: Mathlib/GroupTheory/Perm/Basic.lean

tactic: simpa only [h, true_iff_iff, MonoidHom.coe_mk, ofSubtype_apply_of_mem f h] using (f ⟨x, h⟩).2
state_before: α : Type u
β : Type v
p : α → Prop
f✝ : Perm α
inst✝ : DecidablePred p
a : α
f : Perm (Subtype p)
x : α
h : p x
⊢ p x ↔ p ((ofSubtype f) x)
state_after: no goals

tactic: simp [h, ofSubtype_apply_of_not_mem f h]
state_before: α : Type u
β : Type v
p : α → Prop
f✝ : Perm α
inst✝ : DecidablePred p
a : α
f : Perm (Subtype p)
x : α
h : ¬p x
⊢ p x ↔ p ((ofSubtype f) x)
state_after: no goals
Theorem: CochainComplex.HomComplex.Cochain.rightUnshift_units_smul
File: Mathlib/Algebra/Homology/HomotopyCategory/HomComplexShift.lean

tactic: apply rightUnshift_smul
state_before: C : Type u
inst✝³ : Category.{v, u} C
inst✝² : Preadditive C
R : Type u_1
inst✝¹ : Ring R
inst✝ : Linear R C
K L M : CochainComplex C ℤ
n✝ : ℤ
γ✝ γ₁ γ₂ : Cochain K L n✝
n' a : ℤ
γ : Cochain K ((CategoryTheory.shiftFunctor (CochainComplex C ℤ) a).obj L) n'
n : ℤ
hn : n' + a = n
x : Rˣ
⊢ (x • γ).rightUnshift n hn = x • γ.rightUnshift n hn
state_after: no goals
Theorem: Fintype.sum_piFinset_apply
File: Mathlib/Algebra/Module/BigOperators.lean

tactic: classical
rw [Finset.sum_comp]
simp only [eval_image_piFinset_const, card_filter_piFinset_const s, ite_smul, zero_smul, smul_sum,
  sum_ite_mem, inter_self]
state_before: ι : Type u_1
κ : Type u_2
α : Type u_3
β : Type u_4
R : Type u_5
M : Type u_6
inst✝² : DecidableEq ι
inst✝¹ : Fintype ι
inst✝ : AddCommMonoid α
f : κ → α
s : Finset κ
i : ι
⊢ ∑ g ∈ piFinset fun x => s, f (g i) = s.card ^ (card ι - 1) • ∑ b ∈ s, f b
state_after: no goals

tactic: rw [Finset.sum_comp]
state_before: ι : Type u_1
κ : Type u_2
α : Type u_3
β : Type u_4
R : Type u_5
M : Type u_6
inst✝² : DecidableEq ι
inst✝¹ : Fintype ι
inst✝ : AddCommMonoid α
f : κ → α
s : Finset κ
i : ι
⊢ ∑ g ∈ piFinset fun x => s, f (g i) = s.card ^ (card ι - 1) • ∑ b ∈ s, f b
state_after: ι : Type u_1
κ : Type u_2
α : Type u_3
β : Type u_4
R : Type u_5
M : Type u_6
inst✝² : DecidableEq ι
inst✝¹ : Fintype ι
inst✝ : AddCommMonoid α
f : κ → α
s : Finset κ
i : ι
⊢ ∑ b ∈ image (fun g => g i) (piFinset fun x => s), (filter (fun a => a i = b) (piFinset fun x => s)).card • f b =
    s.card ^ (card ι - 1) • ∑ b ∈ s, f b

tactic: simp only [eval_image_piFinset_const, card_filter_piFinset_const s, ite_smul, zero_smul, smul_sum,
  sum_ite_mem, inter_self]
state_before: ι : Type u_1
κ : Type u_2
α : Type u_3
β : Type u_4
R : Type u_5
M : Type u_6
inst✝² : DecidableEq ι
inst✝¹ : Fintype ι
inst✝ : AddCommMonoid α
f : κ → α
s : Finset κ
i : ι
⊢ ∑ b ∈ image (fun g => g i) (piFinset fun x => s), (filter (fun a => a i = b) (piFinset fun x => s)).card • f b =
    s.card ^ (card ι - 1) • ∑ b ∈ s, f b
state_after: no goals
Theorem: MeasureTheory.Measure.addHaar_sphere_of_ne_zero
File: Mathlib/MeasureTheory/Measure/Lebesgue/EqHaar.lean

tactic: rcases hr.lt_or_lt with (h | h)
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
x : E
r : ℝ
hr : r ≠ 0
⊢ μ (sphere x r) = 0
state_after: case inl
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
x : E
r : ℝ
hr : r ≠ 0
h : r < 0
⊢ μ (sphere x r) = 0

case inr
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
x : E
r : ℝ
hr : r ≠ 0
h : 0 < r
⊢ μ (sphere x r) = 0

tactic: simp only [empty_diff, measure_empty, ← closedBall_diff_ball, closedBall_eq_empty.2 h]
state_before: case inl
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
x : E
r : ℝ
hr : r ≠ 0
h : r < 0
⊢ μ (sphere x r) = 0
state_after: no goals

tactic: rw [← closedBall_diff_ball,
  measure_diff ball_subset_closedBall measurableSet_ball measure_ball_lt_top.ne,
  addHaar_ball_of_pos μ _ h, addHaar_closedBall μ _ h.le, tsub_self]
state_before: case inr
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
x : E
r : ℝ
hr : r ≠ 0
h : 0 < r
⊢ μ (sphere x r) = 0
state_after: no goals
Theorem: PartialHomeomorph.restr_source'
File: Mathlib/Topology/PartialHomeomorph.lean

tactic: rw [e.restr_source, hs.interior_eq]
state_before: X : Type u_1
X' : Type u_2
Y : Type u_3
Y' : Type u_4
Z : Type u_5
Z' : Type u_6
inst✝⁵ : TopologicalSpace X
inst✝⁴ : TopologicalSpace X'
inst✝³ : TopologicalSpace Y
inst✝² : TopologicalSpace Y'
inst✝¹ : TopologicalSpace Z
inst✝ : TopologicalSpace Z'
e : PartialHomeomorph X Y
s : Set X
hs : IsOpen s
⊢ (e.restr s).source = e.source ∩ s
state_after: no goals
Theorem: QuadraticForm.Ring.associated_pi
File: Mathlib/LinearAlgebra/QuadraticForm/Prod.lean

tactic: dsimp [associated, associatedHom]
state_before: ι : Type u_1
R : Type u_2
M₁ : Type u_3
M₂ : Type u_4
N₁ : Type u_5
N₂ : Type u_6
Mᵢ : ι → Type u_7
Nᵢ : ι → Type u_8
inst✝⁶ : CommRing R
inst✝⁵ : (i : ι) → AddCommGroup (Mᵢ i)
inst✝⁴ : (i : ι) → AddCommGroup (Nᵢ i)
inst✝³ : (i : ι) → Module R (Mᵢ i)
inst✝² : (i : ι) → Module R (Nᵢ i)
inst✝¹ : Fintype ι
inst✝ : Invertible 2
Q : (i : ι) → QuadraticForm R (Mᵢ i)
⊢ associated (pi Q) = ∑ i : ι, LinearMap.compl₁₂ (associated (Q i)) (LinearMap.proj i) (LinearMap.proj i)
state_after: ι : Type u_1
R : Type u_2
M₁ : Type u_3
M₂ : Type u_4
N₁ : Type u_5
N₂ : Type u_6
Mᵢ : ι → Type u_7
Nᵢ : ι → Type u_8
inst✝⁶ : CommRing R
inst✝⁵ : (i : ι) → AddCommGroup (Mᵢ i)
inst✝⁴ : (i : ι) → AddCommGroup (Nᵢ i)
inst✝³ : (i : ι) → Module R (Mᵢ i)
inst✝² : (i : ι) → Module R (Nᵢ i)
inst✝¹ : Fintype ι
inst✝ : Invertible 2
Q : (i : ι) → QuadraticForm R (Mᵢ i)
⊢ ⟨⅟2, ⋯⟩ • (pi Q).polarBilin =
    ∑ i : ι, LinearMap.compl₁₂ (⟨⅟2, ⋯⟩ • (Q i).polarBilin) (LinearMap.proj i) (LinearMap.proj i)

tactic: rw [polarBilin_pi, Finset.smul_sum]
state_before: ι : Type u_1
R : Type u_2
M₁ : Type u_3
M₂ : Type u_4
N₁ : Type u_5
N₂ : Type u_6
Mᵢ : ι → Type u_7
Nᵢ : ι → Type u_8
inst✝⁶ : CommRing R
inst✝⁵ : (i : ι) → AddCommGroup (Mᵢ i)
inst✝⁴ : (i : ι) → AddCommGroup (Nᵢ i)
inst✝³ : (i : ι) → Module R (Mᵢ i)
inst✝² : (i : ι) → Module R (Nᵢ i)
inst✝¹ : Fintype ι
inst✝ : Invertible 2
Q : (i : ι) → QuadraticForm R (Mᵢ i)
⊢ ⟨⅟2, ⋯⟩ • (pi Q).polarBilin =
    ∑ i : ι, LinearMap.compl₁₂ (⟨⅟2, ⋯⟩ • (Q i).polarBilin) (LinearMap.proj i) (LinearMap.proj i)
state_after: ι : Type u_1
R : Type u_2
M₁ : Type u_3
M₂ : Type u_4
N₁ : Type u_5
N₂ : Type u_6
Mᵢ : ι → Type u_7
Nᵢ : ι → Type u_8
inst✝⁶ : CommRing R
inst✝⁵ : (i : ι) → AddCommGroup (Mᵢ i)
inst✝⁴ : (i : ι) → AddCommGroup (Nᵢ i)
inst✝³ : (i : ι) → Module R (Mᵢ i)
inst✝² : (i : ι) → Module R (Nᵢ i)
inst✝¹ : Fintype ι
inst✝ : Invertible 2
Q : (i : ι) → QuadraticForm R (Mᵢ i)
⊢ ∑ x : ι, ⟨⅟2, ⋯⟩ • LinearMap.compl₁₂ (Q x).polarBilin (LinearMap.proj x) (LinearMap.proj x) =
    ∑ i : ι, LinearMap.compl₁₂ (⟨⅟2, ⋯⟩ • (Q i).polarBilin) (LinearMap.proj i) (LinearMap.proj i)

tactic: rfl
state_before: ι : Type u_1
R : Type u_2
M₁ : Type u_3
M₂ : Type u_4
N₁ : Type u_5
N₂ : Type u_6
Mᵢ : ι → Type u_7
Nᵢ : ι → Type u_8
inst✝⁶ : CommRing R
inst✝⁵ : (i : ι) → AddCommGroup (Mᵢ i)
inst✝⁴ : (i : ι) → AddCommGroup (Nᵢ i)
inst✝³ : (i : ι) → Module R (Mᵢ i)
inst✝² : (i : ι) → Module R (Nᵢ i)
inst✝¹ : Fintype ι
inst✝ : Invertible 2
Q : (i : ι) → QuadraticForm R (Mᵢ i)
⊢ ∑ x : ι, ⟨⅟2, ⋯⟩ • LinearMap.compl₁₂ (Q x).polarBilin (LinearMap.proj x) (LinearMap.proj x) =
    ∑ i : ι, LinearMap.compl₁₂ (⟨⅟2, ⋯⟩ • (Q i).polarBilin) (LinearMap.proj i) (LinearMap.proj i)
state_after: no goals
Theorem: Set.Ici_eq_singleton_iff_isTop
File: Mathlib/Order/Interval/Set/Basic.lean

tactic: refine ⟨fun h y ↦ ?_, fun h ↦ by ext y; simp [(h y).ge_iff_eq]⟩
state_before: α : Type u_1
β : Type u_2
inst✝ : LinearOrder α
a a₁ a₂ b b₁ b₂ c d x : α
⊢ Ici x = {x} ↔ IsTop x
state_after: α : Type u_1
β : Type u_2
inst✝ : LinearOrder α
a a₁ a₂ b b₁ b₂ c d x : α
h : Ici x = {x}
y : α
⊢ y ≤ x

tactic: by_contra! H
state_before: α : Type u_1
β : Type u_2
inst✝ : LinearOrder α
a a₁ a₂ b b₁ b₂ c d x : α
h : Ici x = {x}
y : α
⊢ y ≤ x
state_after: α : Type u_1
β : Type u_2
inst✝ : LinearOrder α
a a₁ a₂ b b₁ b₂ c d x : α
h : Ici x = {x}
y : α
H : x < y
⊢ False

tactic: have : y ∈ Ici x := H.le
state_before: α : Type u_1
β : Type u_2
inst✝ : LinearOrder α
a a₁ a₂ b b₁ b₂ c d x : α
h : Ici x = {x}
y : α
H : x < y
⊢ False
state_after: α : Type u_1
β : Type u_2
inst✝ : LinearOrder α
a a₁ a₂ b b₁ b₂ c d x : α
h : Ici x = {x}
y : α
H : x < y
this : y ∈ Ici x
⊢ False

tactic: rw [h, mem_singleton_iff] at this
state_before: α : Type u_1
β : Type u_2
inst✝ : LinearOrder α
a a₁ a₂ b b₁ b₂ c d x : α
h : Ici x = {x}
y : α
H : x < y
this : y ∈ Ici x
⊢ False
state_after: α : Type u_1
β : Type u_2
inst✝ : LinearOrder α
a a₁ a₂ b b₁ b₂ c d x : α
h : Ici x = {x}
y : α
H : x < y
this : y = x
⊢ False

tactic: exact lt_irrefl y (this.le.trans_lt H)
state_before: α : Type u_1
β : Type u_2
inst✝ : LinearOrder α
a a₁ a₂ b b₁ b₂ c d x : α
h : Ici x = {x}
y : α
H : x < y
this : y = x
⊢ False
state_after: no goals

tactic: ext y
state_before: α : Type u_1
β : Type u_2
inst✝ : LinearOrder α
a a₁ a₂ b b₁ b₂ c d x : α
h : IsTop x
⊢ Ici x = {x}
state_after: case h
α : Type u_1
β : Type u_2
inst✝ : LinearOrder α
a a₁ a₂ b b₁ b₂ c d x : α
h : IsTop x
y : α
⊢ y ∈ Ici x ↔ y ∈ {x}

tactic: simp [(h y).ge_iff_eq]
state_before: case h
α : Type u_1
β : Type u_2
inst✝ : LinearOrder α
a a₁ a₂ b b₁ b₂ c d x : α
h : IsTop x
y : α
⊢ y ∈ Ici x ↔ y ∈ {x}
state_after: no goals
Theorem: RCLike.ofNat_mul_im
File: Mathlib/Analysis/RCLike/Basic.lean

tactic: rw [← ofReal_ofNat, im_ofReal_mul]
state_before: K : Type u_1
E : Type u_2
inst✝¹ : RCLike K
z✝ : K
n : ℕ
inst✝ : n.AtLeastTwo
z : K
⊢ im (OfNat.ofNat n * z) = OfNat.ofNat n * im z
state_after: no goals
Theorem: norm_pos_iff'''
File: Mathlib/Analysis/Normed/Group/Basic.lean

tactic: rw [← not_le, norm_le_zero_iff''']
state_before: 𝓕 : Type u_1
𝕜 : Type u_2
α : Type u_3
ι : Type u_4
κ : Type u_5
E : Type u_6
F : Type u_7
G : Type u_8
inst✝⁴ : SeminormedGroup E
inst✝³ : SeminormedGroup F
inst✝² : SeminormedGroup G
s : Set E
a✝ a₁ a₂ b b₁ b₂ : E
r r₁ r₂ : ℝ
inst✝¹ : FunLike 𝓕 E F
inst✝ : T0Space E
a : E
⊢ 0 < ‖a‖ ↔ a ≠ 1
state_after: no goals
Theorem: List.rdrop_append_length_add
File: Mathlib/Data/List/DropRight.lean

tactic: rw [← rdrop_add, rdrop_append_length]
state_before: α : Type u_1
p : α → Bool
l : List α
n : ℕ
l₁ l₂ : List α
k : ℕ
⊢ (l₁ ++ l₂).rdrop (l₂.length + k) = l₁.rdrop k
state_after: no goals
Theorem: inner_self_nonpos
File: Mathlib/Analysis/InnerProductSpace/Basic.lean

tactic: rw [← norm_sq_eq_inner, (sq_nonneg _).le_iff_eq, sq_eq_zero_iff, norm_eq_zero]
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : _root_.RCLike 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace ℝ F
x : E
⊢ re ⟪x, x⟫_𝕜 ≤ 0 ↔ x = 0
state_after: no goals
Theorem: Set.preimage_mul_const_Ico
File: Mathlib/Data/Set/Pointwise/Interval.lean

tactic: simp [← Ici_inter_Iio, h]
state_before: α : Type u_1
inst✝ : LinearOrderedField α
a✝ a b c : α
h : 0 < c
⊢ (fun x => x * c) ⁻¹' Ico a b = Ico (a / c) (b / c)
state_after: no goals
Theorem: RootPairing.coxeterWeight_swap
File: Mathlib/LinearAlgebra/RootSystem/Defs.lean

tactic: simp only [coxeterWeight, mul_comm]
state_before: ι : Type u_1
R : Type u_2
M : Type u_3
N : Type u_4
inst✝⁴ : CommRing R
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : AddCommGroup N
inst✝ : Module R N
P : RootPairing ι R M N
i j : ι
⊢ P.coxeterWeight i j = P.coxeterWeight j i
state_after: no goals