1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: MeasureTheory.nonempty_inter_of_measure_lt_add
File: Mathlib/MeasureTheory/Measure/MeasureSpace.lean

tactic: rw [← Set.not_disjoint_iff_nonempty_inter]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Type u_5
R : Type u_6
R' : Type u_7
m✝ : MeasurableSpace α
μ✝ μ₁ μ₂ : Measure α
s✝ s₁ s₂ t✝ : Set α
m : MeasurableSpace α
μ : Measure α
s t u : Set α
ht : MeasurableSet t
h's : s ⊆ u
h't : t ⊆ u
h : μ u < μ s + μ t
⊢ (s ∩ t).Nonempty
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Type u_5
R : Type u_6
R' : Type u_7
m✝ : MeasurableSpace α
μ✝ μ₁ μ₂ : Measure α
s✝ s₁ s₂ t✝ : Set α
m : MeasurableSpace α
μ : Measure α
s t u : Set α
ht : MeasurableSet t
h's : s ⊆ u
h't : t ⊆ u
h : μ u < μ s + μ t
⊢ ¬Disjoint s t

tactic: contrapose! h
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Type u_5
R : Type u_6
R' : Type u_7
m✝ : MeasurableSpace α
μ✝ μ₁ μ₂ : Measure α
s✝ s₁ s₂ t✝ : Set α
m : MeasurableSpace α
μ : Measure α
s t u : Set α
ht : MeasurableSet t
h's : s ⊆ u
h't : t ⊆ u
h : μ u < μ s + μ t
⊢ ¬Disjoint s t
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Type u_5
R : Type u_6
R' : Type u_7
m✝ : MeasurableSpace α
μ✝ μ₁ μ₂ : Measure α
s✝ s₁ s₂ t✝ : Set α
m : MeasurableSpace α
μ : Measure α
s t u : Set α
ht : MeasurableSet t
h's : s ⊆ u
h't : t ⊆ u
h : Disjoint s t
⊢ μ s + μ t ≤ μ u

tactic: calc
  μ s + μ t = μ (s ∪ t) := (measure_union h ht).symm
  _ ≤ μ u := measure_mono (union_subset h's h't)
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Type u_5
R : Type u_6
R' : Type u_7
m✝ : MeasurableSpace α
μ✝ μ₁ μ₂ : Measure α
s✝ s₁ s₂ t✝ : Set α
m : MeasurableSpace α
μ : Measure α
s t u : Set α
ht : MeasurableSet t
h's : s ⊆ u
h't : t ⊆ u
h : Disjoint s t
⊢ μ s + μ t ≤ μ u
state_after: no goals
Theorem: Nat.factorization_eq_of_coprime_left
File: Mathlib/Data/Nat/Factorization/Basic.lean

tactic: rw [factorization_mul_apply_of_coprime hab, ← factors_count_eq, ← factors_count_eq,
  count_eq_zero_of_not_mem (coprime_factors_disjoint hab hpa), add_zero]
state_before: a✝ b✝ m n p✝ p a b : ℕ
hab : a.Coprime b
hpa : p ∈ a.factors
⊢ (a * b).factorization p = a.factorization p
state_after: no goals
Theorem: List.reverse_join
File: Mathlib/Data/List/Join.lean

tactic: induction' L with _ _ ih
state_before: α : Type u_1
β : Type u_2
L : List (List α)
⊢ L.join.reverse = (map reverse L).reverse.join
state_after: case nil
α : Type u_1
β : Type u_2
⊢ [].join.reverse = (map reverse []).reverse.join

case cons
α : Type u_1
β : Type u_2
head✝ : List α
tail✝ : List (List α)
ih : tail✝.join.reverse = (map reverse tail✝).reverse.join
⊢ (head✝ :: tail✝).join.reverse = (map reverse (head✝ :: tail✝)).reverse.join

tactic: rfl
state_before: case nil
α : Type u_1
β : Type u_2
⊢ [].join.reverse = (map reverse []).reverse.join
state_after: no goals

tactic: rw [join, reverse_append, ih, map_cons, reverse_cons', join_concat]
state_before: case cons
α : Type u_1
β : Type u_2
head✝ : List α
tail✝ : List (List α)
ih : tail✝.join.reverse = (map reverse tail✝).reverse.join
⊢ (head✝ :: tail✝).join.reverse = (map reverse (head✝ :: tail✝)).reverse.join
state_after: no goals
Theorem: continuousWithinAt_Ioi_iff_Ici
File: Mathlib/Topology/Order/LeftRight.lean

tactic: simp only [← Ici_diff_left, continuousWithinAt_diff_self]
state_before: α : Type u_1
β : Type u_2
inst✝² : TopologicalSpace α
inst✝¹ : PartialOrder α
inst✝ : TopologicalSpace β
a : α
f : α → β
⊢ ContinuousWithinAt f (Ioi a) a ↔ ContinuousWithinAt f (Ici a) a
state_after: no goals
Theorem: Set.nonempty_compl_of_nontrivial
File: Mathlib/Data/Set/Basic.lean

tactic: obtain ⟨y, hy⟩ := exists_ne x
state_before: α : Type u
β : Type v
γ : Type w
ι : Sort x
a b : α
s s₁ s₂ t t₁ t₂ u : Set α
inst✝ : Nontrivial α
x : α
⊢ {x}ᶜ.Nonempty
state_after: case intro
α : Type u
β : Type v
γ : Type w
ι : Sort x
a b : α
s s₁ s₂ t t₁ t₂ u : Set α
inst✝ : Nontrivial α
x y : α
hy : y ≠ x
⊢ {x}ᶜ.Nonempty

tactic: exact ⟨y, by simp [hy]⟩
state_before: case intro
α : Type u
β : Type v
γ : Type w
ι : Sort x
a b : α
s s₁ s₂ t t₁ t₂ u : Set α
inst✝ : Nontrivial α
x y : α
hy : y ≠ x
⊢ {x}ᶜ.Nonempty
state_after: no goals

tactic: simp [hy]
state_before: α : Type u
β : Type v
γ : Type w
ι : Sort x
a b : α
s s₁ s₂ t t₁ t₂ u : Set α
inst✝ : Nontrivial α
x y : α
hy : y ≠ x
⊢ y ∈ {x}ᶜ
state_after: no goals
Theorem: String.leftpad_length
File: Mathlib/Data/String/Lemmas.lean

tactic: simp only [leftpad, String.length, List.leftpad_length]
state_before: n : ℕ
c : Char
s : List Char
⊢ (leftpad n c { data := s }).length = max n { data := s }.length
state_after: no goals
Theorem: CategoryTheory.Limits.Cocone.ofCotrident_ι
File: Mathlib/CategoryTheory/Limits/Shapes/WideEqualizers.lean

tactic: cases j <;> aesop_cat
state_before: J : Type w
C : Type u
inst✝ : Category.{v, u} C
X Y : C
f : J → (X ⟶ Y)
F : WalkingParallelFamily J ⥤ C
t : Cotrident fun j => F.map (line j)
j : WalkingParallelFamily J
⊢ F.obj j = (parallelFamily fun j => F.map (line j)).obj j
state_after: no goals
Theorem: List.prefix_concat
File: Mathlib/Data/List/Infix.lean

tactic: simp
state_before: α : Type u_1
β : Type u_2
l✝ l₁ l₂ l₃ : List α
a✝ b : α
m n : ℕ
a : α
l : List α
⊢ l <+: l.concat a
state_after: no goals
Theorem: List.drop_sublist_drop_left
File: Mathlib/Data/List/Infix.lean

tactic: rw [← Nat.sub_add_cancel h, ← drop_drop]
state_before: α : Type u_1
β : Type u_2
l✝ l₁ l₂ l₃ : List α
a b : α
m✝ n✝ : ℕ
l : List α
m n : ℕ
h : m ≤ n
⊢ drop n l <+ drop m l
state_after: α : Type u_1
β : Type u_2
l✝ l₁ l₂ l₃ : List α
a b : α
m✝ n✝ : ℕ
l : List α
m n : ℕ
h : m ≤ n
⊢ drop (n - m) (drop m l) <+ drop m l

tactic: apply drop_sublist
state_before: α : Type u_1
β : Type u_2
l✝ l₁ l₂ l₃ : List α
a b : α
m✝ n✝ : ℕ
l : List α
m n : ℕ
h : m ≤ n
⊢ drop (n - m) (drop m l) <+ drop m l
state_after: no goals
Theorem: InnerProductSpace.Core.inner_smul_right
File: Mathlib/Analysis/InnerProductSpace/Basic.lean

tactic: rw [← inner_conj_symm, inner_smul_left]
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝² : _root_.RCLike 𝕜
inst✝¹ : AddCommGroup F
inst✝ : Module 𝕜 F
c : Core 𝕜 F
x y : F
r : 𝕜
⊢ ⟪x, r • y⟫_𝕜 = r * ⟪x, y⟫_𝕜
state_after: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝² : _root_.RCLike 𝕜
inst✝¹ : AddCommGroup F
inst✝ : Module 𝕜 F
c : Core 𝕜 F
x y : F
r : 𝕜
⊢ (starRingEnd 𝕜) ((starRingEnd 𝕜) r * ⟪y, x⟫_𝕜) = r * ⟪x, y⟫_𝕜

tactic: simp only [conj_conj, inner_conj_symm, RingHom.map_mul]
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝² : _root_.RCLike 𝕜
inst✝¹ : AddCommGroup F
inst✝ : Module 𝕜 F
c : Core 𝕜 F
x y : F
r : 𝕜
⊢ (starRingEnd 𝕜) ((starRingEnd 𝕜) r * ⟪y, x⟫_𝕜) = r * ⟪x, y⟫_𝕜
state_after: no goals
Theorem: Seminorm.comp_smul
File: Mathlib/Analysis/Seminorm.lean

tactic: rw [comp_apply, smul_apply, LinearMap.smul_apply, map_smul_eq_mul, NNReal.smul_def, coe_nnnorm,
  smul_eq_mul, comp_apply]
state_before: R : Type u_1
R' : Type u_2
𝕜 : Type u_3
𝕜₂ : Type u_4
𝕜₃ : Type u_5
𝕝 : Type u_6
E : Type u_7
E₂ : Type u_8
E₃ : Type u_9
F : Type u_10
G : Type u_11
ι : Type u_12
inst✝⁶ : SeminormedRing 𝕜
inst✝⁵ : SeminormedCommRing 𝕜₂
σ₁₂ : 𝕜 →+* 𝕜₂
inst✝⁴ : RingHomIsometric σ₁₂
inst✝³ : AddCommGroup E
inst✝² : AddCommGroup E₂
inst✝¹ : Module 𝕜 E
inst✝ : Module 𝕜₂ E₂
p : Seminorm 𝕜₂ E₂
f : E →ₛₗ[σ₁₂] E₂
c : 𝕜₂
x✝ : E
⊢ (p.comp (c • f)) x✝ = (‖c‖₊ • p.comp f) x✝
state_after: no goals
Theorem: MeasureTheory.Measure.addHaar_closedBall_center
File: Mathlib/MeasureTheory/Measure/Lebesgue/EqHaar.lean

tactic: rw [this, measure_preimage_add]
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✝
E : Type u_3
inst✝³ : NormedAddCommGroup E
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
x : E
r : ℝ
this : closedBall 0 r = (fun x_1 => x + x_1) ⁻¹' closedBall x r
⊢ μ (closedBall x r) = μ (closedBall 0 r)
state_after: no goals

tactic: simp [preimage_add_closedBall]
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✝
E : Type u_3
inst✝³ : NormedAddCommGroup E
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
x : E
r : ℝ
⊢ closedBall 0 r = (fun x_1 => x + x_1) ⁻¹' closedBall x r
state_after: no goals
Theorem: Nat.card_eq_card_units_add_one
File: Mathlib/Data/Fintype/Units.lean

tactic: have : Fintype α := Fintype.ofFinite α
state_before: α : Type u_1
inst✝¹ : GroupWithZero α
inst✝ : Finite α
⊢ Nat.card α = Nat.card αˣ + 1
state_after: α : Type u_1
inst✝¹ : GroupWithZero α
inst✝ : Finite α
this : Fintype α
⊢ Nat.card α = Nat.card αˣ + 1

tactic: classical
  rw [Nat.card_eq_fintype_card, Nat.card_eq_fintype_card, Fintype.card_eq_card_units_add_one]
state_before: α : Type u_1
inst✝¹ : GroupWithZero α
inst✝ : Finite α
this : Fintype α
⊢ Nat.card α = Nat.card αˣ + 1
state_after: no goals

tactic: rw [Nat.card_eq_fintype_card, Nat.card_eq_fintype_card, Fintype.card_eq_card_units_add_one]
state_before: α : Type u_1
inst✝¹ : GroupWithZero α
inst✝ : Finite α
this : Fintype α
⊢ Nat.card α = Nat.card αˣ + 1
state_after: no goals
Theorem: IsCoprime.mulVecSL
File: Mathlib/LinearAlgebra/Matrix/SpecialLinearGroup.lean

tactic: simpa only [← vecMul_transpose] using hab.vecMulSL A.transpose
state_before: R : Type u_1
inst✝ : CommRing R
v : Fin 2 → R
hab : IsCoprime (v 0) (v 1)
A : SL(2, R)
⊢ IsCoprime ((↑A *ᵥ v) 0) ((↑A *ᵥ v) 1)
state_after: no goals
Theorem: Set.image2_iUnion₂_right
File: Mathlib/Data/Set/Lattice.lean

tactic: simp_rw [image2_iUnion_right]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
ι' : Sort u_5
ι₂ : Sort u_6
κ : ι → Sort u_7
κ₁ : ι → Sort u_8
κ₂ : ι → Sort u_9
κ' : ι' → Sort u_10
f : α → β → γ
s✝ : Set α
t✝ : Set β
s : Set α
t : (i : ι) → κ i → Set β
⊢ image2 f s (⋃ i, ⋃ j, t i j) = ⋃ i, ⋃ j, image2 f s (t i j)
state_after: no goals
Theorem: TopologicalSpace.countable_cover_nhds
File: Mathlib/Topology/Bases.lean

tactic: rcases isOpen_iUnion_countable (fun x => interior (f x)) fun x => isOpen_interior with
  ⟨s, hsc, hsU⟩
state_before: α : Type u
t : TopologicalSpace α
inst✝ : SecondCountableTopology α
f : α → Set α
hf : ∀ (x : α), f x ∈ 𝓝 x
⊢ ∃ s, s.Countable ∧ ⋃ x ∈ s, f x = univ
state_after: case intro.intro
α : Type u
t : TopologicalSpace α
inst✝ : SecondCountableTopology α
f : α → Set α
hf : ∀ (x : α), f x ∈ 𝓝 x
s : Set α
hsc : s.Countable
hsU : ⋃ i ∈ s, interior (f i) = ⋃ i, interior (f i)
⊢ ∃ s, s.Countable ∧ ⋃ x ∈ s, f x = univ

tactic: suffices ⋃ x ∈ s, interior (f x) = univ from
  ⟨s, hsc, flip eq_univ_of_subset this <| iUnion₂_mono fun _ _ => interior_subset⟩
state_before: case intro.intro
α : Type u
t : TopologicalSpace α
inst✝ : SecondCountableTopology α
f : α → Set α
hf : ∀ (x : α), f x ∈ 𝓝 x
s : Set α
hsc : s.Countable
hsU : ⋃ i ∈ s, interior (f i) = ⋃ i, interior (f i)
⊢ ∃ s, s.Countable ∧ ⋃ x ∈ s, f x = univ
state_after: case intro.intro
α : Type u
t : TopologicalSpace α
inst✝ : SecondCountableTopology α
f : α → Set α
hf : ∀ (x : α), f x ∈ 𝓝 x
s : Set α
hsc : s.Countable
hsU : ⋃ i ∈ s, interior (f i) = ⋃ i, interior (f i)
⊢ ⋃ x ∈ s, interior (f x) = univ

tactic: simp only [hsU, eq_univ_iff_forall, mem_iUnion]
state_before: case intro.intro
α : Type u
t : TopologicalSpace α
inst✝ : SecondCountableTopology α
f : α → Set α
hf : ∀ (x : α), f x ∈ 𝓝 x
s : Set α
hsc : s.Countable
hsU : ⋃ i ∈ s, interior (f i) = ⋃ i, interior (f i)
⊢ ⋃ x ∈ s, interior (f x) = univ
state_after: case intro.intro
α : Type u
t : TopologicalSpace α
inst✝ : SecondCountableTopology α
f : α → Set α
hf : ∀ (x : α), f x ∈ 𝓝 x
s : Set α
hsc : s.Countable
hsU : ⋃ i ∈ s, interior (f i) = ⋃ i, interior (f i)
⊢ ∀ (x : α), ∃ i, x ∈ interior (f i)

tactic: exact fun x => ⟨x, mem_interior_iff_mem_nhds.2 (hf x)⟩
state_before: case intro.intro
α : Type u
t : TopologicalSpace α
inst✝ : SecondCountableTopology α
f : α → Set α
hf : ∀ (x : α), f x ∈ 𝓝 x
s : Set α
hsc : s.Countable
hsU : ⋃ i ∈ s, interior (f i) = ⋃ i, interior (f i)
⊢ ∀ (x : α), ∃ i, x ∈ interior (f i)
state_after: no goals
Theorem: Linarith.zero_mul_eq
File: Mathlib/Tactic/Linarith/Lemmas.lean

tactic: simp [h]
state_before: α : Type u_1
R : α → α → Prop
inst✝ : Semiring α
a b : α
h : a = 0
x✝ : R b 0
⊢ a * b = 0
state_after: no goals
Theorem: groupCohomology.map_one_fst_of_isTwoCocycle
File: Mathlib/RepresentationTheory/GroupCohomology/LowDegree.lean

tactic: simpa only [one_smul, one_mul, mul_one, add_right_inj] using (hf 1 1 g).symm
state_before: k G✝ : Type u
inst✝⁴ : CommRing k
inst✝³ : Group G✝
A✝ : Rep k G✝
G : Type u_1
A : Type u_2
inst✝² : Monoid G
inst✝¹ : AddCommGroup A
inst✝ : MulAction G A
f : G × G → A
hf : IsTwoCocycle f
g : G
⊢ f (1, g) = f (1, 1)
state_after: no goals
Theorem: one_lt_one_div
File: Mathlib/Algebra/Order/Field/Basic.lean

tactic: rwa [lt_one_div (@zero_lt_one α _ _ _ _ _) h1, one_div_one]
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
inst✝ : LinearOrderedSemifield α
a b c d e : α
m n : ℤ
h1 : 0 < a
h2 : a < 1
⊢ 1 < 1 / a
state_after: no goals
Theorem: genericPoint_spec
File: Mathlib/Topology/Sober.lean

tactic: simpa using (IrreducibleSpace.isIrreducible_univ α).genericPoint_spec
state_before: α : Type u_1
β : Type u_2
inst✝³ : TopologicalSpace α
inst✝² : TopologicalSpace β
inst✝¹ : QuasiSober α
inst✝ : IrreducibleSpace α
⊢ IsGenericPoint (genericPoint α) ⊤
state_after: no goals
Theorem: Finset.subtype_map_of_mem
File: Mathlib/Data/Finset/Image.lean

tactic: simpa [subtype_map] using h
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
p : α → Prop
inst✝ : DecidablePred p
s : Finset α
h : ∀ x ∈ s, p x
⊢ ∀ (a : α), a ∈ map (Embedding.subtype p) (Finset.subtype p s) ↔ a ∈ s
state_after: no goals
Theorem: Subgroup.Normal.comap
File: Mathlib/Algebra/Group/Subgroup/Basic.lean

tactic: simp (config := { contextual := true }) [Subgroup.mem_comap, hH.conj_mem]
state_before: G : Type u_1
G' : Type u_2
G'' : Type u_3
inst✝⁴ : Group G
inst✝³ : Group G'
inst✝² : Group G''
A : Type u_4
inst✝¹ : AddGroup A
N : Type u_5
inst✝ : Group N
H : Subgroup N
hH : H.Normal
f : G →* N
x✝ : G
⊢ x✝ ∈ Subgroup.comap f H → ∀ (g : G), g * x✝ * g⁻¹ ∈ Subgroup.comap f H
state_after: no goals
Theorem: orderOf_neg_one
File: Mathlib/Algebra/CharP/Two.lean

tactic: split_ifs with h
state_before: R : Type u_1
ι : Type u_2
inst✝¹ : Ring R
inst✝ : Nontrivial R
⊢ orderOf (-1) = if ringChar R = 2 then 1 else 2
state_after: case pos
R : Type u_1
ι : Type u_2
inst✝¹ : Ring R
inst✝ : Nontrivial R
h : ringChar R = 2
⊢ orderOf (-1) = 1

case neg
R : Type u_1
ι : Type u_2
inst✝¹ : Ring R
inst✝ : Nontrivial R
h : ¬ringChar R = 2
⊢ orderOf (-1) = 2

tactic: apply orderOf_eq_prime
state_before: case neg
R : Type u_1
ι : Type u_2
inst✝¹ : Ring R
inst✝ : Nontrivial R
h : ¬ringChar R = 2
⊢ orderOf (-1) = 2
state_after: case neg.hg
R : Type u_1
ι : Type u_2
inst✝¹ : Ring R
inst✝ : Nontrivial R
h : ¬ringChar R = 2
⊢ (-1) ^ 2 = 1

case neg.hg1
R : Type u_1
ι : Type u_2
inst✝¹ : Ring R
inst✝ : Nontrivial R
h : ¬ringChar R = 2
⊢ -1 ≠ 1

tactic: simpa [neg_one_eq_one_iff] using h
state_before: case neg.hg1
R : Type u_1
ι : Type u_2
inst✝¹ : Ring R
inst✝ : Nontrivial R
h : ¬ringChar R = 2
⊢ -1 ≠ 1
state_after: no goals

tactic: rw [neg_one_eq_one_iff.2 h, orderOf_one]
state_before: case pos
R : Type u_1
ι : Type u_2
inst✝¹ : Ring R
inst✝ : Nontrivial R
h : ringChar R = 2
⊢ orderOf (-1) = 1
state_after: no goals

tactic: simp
state_before: case neg.hg
R : Type u_1
ι : Type u_2
inst✝¹ : Ring R
inst✝ : Nontrivial R
h : ¬ringChar R = 2
⊢ (-1) ^ 2 = 1
state_after: no goals
Theorem: PartialHomeomorph.univUnitBall_symm_apply_zero
File: Mathlib/Analysis/NormedSpace/HomeomorphBall.lean

tactic: simp [PartialHomeomorph.univUnitBall_symm_apply]
state_before: E : Type u_1
inst✝¹ : SeminormedAddCommGroup E
inst✝ : NormedSpace ℝ E
⊢ ↑univUnitBall.symm 0 = 0
state_after: no goals
Theorem: Set.Nontrivial.einfsep_lt_top
File: Mathlib/Topology/MetricSpace/Infsep.lean

tactic: rw [lt_top_iff_ne_top]
state_before: α : Type u_1
β : Type u_2
inst✝ : PseudoMetricSpace α
s : Set α
hs : s.Nontrivial
⊢ s.einfsep < ⊤
state_after: α : Type u_1
β : Type u_2
inst✝ : PseudoMetricSpace α
s : Set α
hs : s.Nontrivial
⊢ s.einfsep ≠ ⊤

tactic: exact hs.einfsep_ne_top
state_before: α : Type u_1
β : Type u_2
inst✝ : PseudoMetricSpace α
s : Set α
hs : s.Nontrivial
⊢ s.einfsep ≠ ⊤
state_after: no goals
Theorem: Filter.atTop_eq_generate_Ici
File: Mathlib/Order/Filter/AtTopBot.lean

tactic: rcases isEmpty_or_nonempty α with hα|hα
state_before: ι : Type u_1
ι' : Type u_2
α : Type u_3
β : Type u_4
γ : Type u_5
inst✝ : SemilatticeSup α
⊢ atTop = generate (range Ici)
state_after: case inl
ι : Type u_1
ι' : Type u_2
α : Type u_3
β : Type u_4
γ : Type u_5
inst✝ : SemilatticeSup α
hα : IsEmpty α
⊢ atTop = generate (range Ici)

case inr
ι : Type u_1
ι' : Type u_2
α : Type u_3
β : Type u_4
γ : Type u_5
inst✝ : SemilatticeSup α
hα : Nonempty α
⊢ atTop = generate (range Ici)

tactic: simp only [eq_iff_true_of_subsingleton]
state_before: case inl
ι : Type u_1
ι' : Type u_2
α : Type u_3
β : Type u_4
γ : Type u_5
inst✝ : SemilatticeSup α
hα : IsEmpty α
⊢ atTop = generate (range Ici)
state_after: no goals

tactic: simp [(atTop_basis (α := α)).eq_generate, range]
state_before: case inr
ι : Type u_1
ι' : Type u_2
α : Type u_3
β : Type u_4
γ : Type u_5
inst✝ : SemilatticeSup α
hα : Nonempty α
⊢ atTop = generate (range Ici)
state_after: no goals
Theorem: LieSubmodule.coe_toEnd_pow
File: Mathlib/Algebra/Lie/OfAssociative.lean

tactic: induction n generalizing y with
| zero => rfl
| succ n ih => simp only [pow_succ', LinearMap.mul_apply, ih, LieSubmodule.coe_toEnd]
state_before: R : Type u
L : Type v
M : Type w
inst✝⁶ : CommRing R
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
N : LieSubmodule R L M
x : L
y : ↥N
n : ℕ
⊢ ↑(((toEnd R L ↥↑N) x ^ n) y) = ((toEnd R L M) x ^ n) ↑y
state_after: no goals

tactic: rfl
state_before: case zero
R : Type u
L : Type v
M : Type w
inst✝⁶ : CommRing R
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
N : LieSubmodule R L M
x : L
y : ↥N
⊢ ↑(((toEnd R L ↥↑N) x ^ 0) y) = ((toEnd R L M) x ^ 0) ↑y
state_after: no goals

tactic: simp only [pow_succ', LinearMap.mul_apply, ih, LieSubmodule.coe_toEnd]
state_before: case succ
R : Type u
L : Type v
M : Type w
inst✝⁶ : CommRing R
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
N : LieSubmodule R L M
x : L
n : ℕ
ih : ∀ (y : ↥N), ↑(((toEnd R L ↥↑N) x ^ n) y) = ((toEnd R L M) x ^ n) ↑y
y : ↥N
⊢ ↑(((toEnd R L ↥↑N) x ^ (n + 1)) y) = ((toEnd R L M) x ^ (n + 1)) ↑y
state_after: no goals
Theorem: Zsqrtd.eq_of_smul_eq_smul_left
File: Mathlib/NumberTheory/Zsqrtd/Basic.lean

tactic: rw [Zsqrtd.ext_iff] at h ⊢
state_before: d a : ℤ
b c : ℤ√d
ha : a ≠ 0
h : ↑a * b = ↑a * c
⊢ b = c
state_after: d a : ℤ
b c : ℤ√d
ha : a ≠ 0
h : (↑a * b).re = (↑a * c).re ∧ (↑a * b).im = (↑a * c).im
⊢ b.re = c.re ∧ b.im = c.im

tactic: apply And.imp _ _ h <;> simpa only [smul_re, smul_im] using mul_left_cancel₀ ha
state_before: d a : ℤ
b c : ℤ√d
ha : a ≠ 0
h : (↑a * b).re = (↑a * c).re ∧ (↑a * b).im = (↑a * c).im
⊢ b.re = c.re ∧ b.im = c.im
state_after: no goals
Theorem: CategoryTheory.Functor.thin_diagram_of_surjective
File: Mathlib/CategoryTheory/CofilteredSystem.lean

tactic: simp_rw [← types_comp, ← F.map_comp, hφ]
state_before: J : Type u
inst✝¹ : Category.{u_1, u} J
F : J ⥤ Type v
i✝ j✝ k✝ : J
s : Set (F.obj i✝)
inst✝ : IsCofilteredOrEmpty J
Fsur : ∀ ⦃i j : J⦄ (f : i ⟶ j), Function.Surjective (F.map f)
i j : J
f g : i ⟶ j
k : J
φ : k ⟶ i
hφ : φ ≫ f = φ ≫ g
⊢ (fun g => g ∘ F.map φ) (F.map f) = (fun g => g ∘ F.map φ) (F.map g)
state_after: no goals
Theorem: Complex.div_ofReal_im
File: Mathlib/Data/Complex/Basic.lean

tactic: rw [div_ofReal]
state_before: z : ℂ
x : ℝ
⊢ (z / ↑x).im = z.im / x
state_after: no goals
Theorem: CategoryTheory.Functor.balanced_of_preserves
File: Mathlib/CategoryTheory/Functor/ReflectsIso.lean

tactic: rw [← isIso_iff_of_reflects_iso (F := F)]
state_before: C : Type u₁
inst✝⁶ : Category.{v₁, u₁} C
D : Type u₂
inst✝⁵ : Category.{v₂, u₂} D
E : Type u₃
inst✝⁴ : Category.{v₃, u₃} E
F : C ⥤ D
inst✝³ : F.ReflectsIsomorphisms
inst✝² : F.PreservesEpimorphisms
inst✝¹ : F.PreservesMonomorphisms
inst✝ : Balanced D
X✝ Y✝ : C
f : X✝ ⟶ Y✝
x✝¹ : Mono f
x✝ : Epi f
⊢ IsIso f
state_after: C : Type u₁
inst✝⁶ : Category.{v₁, u₁} C
D : Type u₂
inst✝⁵ : Category.{v₂, u₂} D
E : Type u₃
inst✝⁴ : Category.{v₃, u₃} E
F : C ⥤ D
inst✝³ : F.ReflectsIsomorphisms
inst✝² : F.PreservesEpimorphisms
inst✝¹ : F.PreservesMonomorphisms
inst✝ : Balanced D
X✝ Y✝ : C
f : X✝ ⟶ Y✝
x✝¹ : Mono f
x✝ : Epi f
⊢ IsIso (F.map f)

tactic: exact isIso_of_mono_of_epi _
state_before: C : Type u₁
inst✝⁶ : Category.{v₁, u₁} C
D : Type u₂
inst✝⁵ : Category.{v₂, u₂} D
E : Type u₃
inst✝⁴ : Category.{v₃, u₃} E
F : C ⥤ D
inst✝³ : F.ReflectsIsomorphisms
inst✝² : F.PreservesEpimorphisms
inst✝¹ : F.PreservesMonomorphisms
inst✝ : Balanced D
X✝ Y✝ : C
f : X✝ ⟶ Y✝
x✝¹ : Mono f
x✝ : Epi f
⊢ IsIso (F.map f)
state_after: no goals
Theorem: spectrum.pow_image_subset
File: Mathlib/FieldTheory/IsAlgClosed/Spectrum.lean

tactic: simpa only [eval_pow, eval_X, aeval_X_pow] using subset_polynomial_aeval a (X ^ n : 𝕜[X])
state_before: 𝕜 : Type u
A : Type v
inst✝² : Field 𝕜
inst✝¹ : Ring A
inst✝ : Algebra 𝕜 A
a : A
n : ℕ
⊢ (fun x => x ^ n) '' σ a ⊆ σ (a ^ n)
state_after: no goals
Theorem: Bool.and_elim_left
File: Mathlib/Data/Bool/Basic.lean

tactic: decide
state_before: ⊢ ∀ {a b : Bool}, (a && b) = true → a = true
state_after: no goals
Theorem: AlternatingMap.map_add_swap
File: Mathlib/LinearAlgebra/Alternating/Basic.lean

tactic: rw [add_comm]
state_before: R : Type u_1
inst✝¹⁵ : Semiring R
M : Type u_2
inst✝¹⁴ : AddCommMonoid M
inst✝¹³ : Module R M
N : Type u_3
inst✝¹² : AddCommMonoid N
inst✝¹¹ : Module R N
P : Type u_4
inst✝¹⁰ : AddCommMonoid P
inst✝⁹ : Module R P
M' : Type u_5
inst✝⁸ : AddCommGroup M'
inst✝⁷ : Module R M'
N' : Type u_6
inst✝⁶ : AddCommGroup N'
inst✝⁵ : Module R N'
ι : Type u_7
ι' : Type u_8
ι'' : Type u_9
M₂ : Type u_10
inst✝⁴ : AddCommMonoid M₂
inst✝³ : Module R M₂
M₃ : Type u_11
inst✝² : AddCommMonoid M₃
inst✝¹ : Module R M₃
f f' : M [⋀^ι]→ₗ[R] N
g g₂ : M [⋀^ι]→ₗ[R] N'
g' : M' [⋀^ι]→ₗ[R] N'
v : ι → M
v' : ι → M'
inst✝ : DecidableEq ι
i j : ι
hij : i ≠ j
⊢ f v + f (v ∘ ⇑(Equiv.swap i j)) = 0
state_after: R : Type u_1
inst✝¹⁵ : Semiring R
M : Type u_2
inst✝¹⁴ : AddCommMonoid M
inst✝¹³ : Module R M
N : Type u_3
inst✝¹² : AddCommMonoid N
inst✝¹¹ : Module R N
P : Type u_4
inst✝¹⁰ : AddCommMonoid P
inst✝⁹ : Module R P
M' : Type u_5
inst✝⁸ : AddCommGroup M'
inst✝⁷ : Module R M'
N' : Type u_6
inst✝⁶ : AddCommGroup N'
inst✝⁵ : Module R N'
ι : Type u_7
ι' : Type u_8
ι'' : Type u_9
M₂ : Type u_10
inst✝⁴ : AddCommMonoid M₂
inst✝³ : Module R M₂
M₃ : Type u_11
inst✝² : AddCommMonoid M₃
inst✝¹ : Module R M₃
f f' : M [⋀^ι]→ₗ[R] N
g g₂ : M [⋀^ι]→ₗ[R] N'
g' : M' [⋀^ι]→ₗ[R] N'
v : ι → M
v' : ι → M'
inst✝ : DecidableEq ι
i j : ι
hij : i ≠ j
⊢ f (v ∘ ⇑(Equiv.swap i j)) + f v = 0

tactic: exact f.map_swap_add v hij
state_before: R : Type u_1
inst✝¹⁵ : Semiring R
M : Type u_2
inst✝¹⁴ : AddCommMonoid M
inst✝¹³ : Module R M
N : Type u_3
inst✝¹² : AddCommMonoid N
inst✝¹¹ : Module R N
P : Type u_4
inst✝¹⁰ : AddCommMonoid P
inst✝⁹ : Module R P
M' : Type u_5
inst✝⁸ : AddCommGroup M'
inst✝⁷ : Module R M'
N' : Type u_6
inst✝⁶ : AddCommGroup N'
inst✝⁵ : Module R N'
ι : Type u_7
ι' : Type u_8
ι'' : Type u_9
M₂ : Type u_10
inst✝⁴ : AddCommMonoid M₂
inst✝³ : Module R M₂
M₃ : Type u_11
inst✝² : AddCommMonoid M₃
inst✝¹ : Module R M₃
f f' : M [⋀^ι]→ₗ[R] N
g g₂ : M [⋀^ι]→ₗ[R] N'
g' : M' [⋀^ι]→ₗ[R] N'
v : ι → M
v' : ι → M'
inst✝ : DecidableEq ι
i j : ι
hij : i ≠ j
⊢ f (v ∘ ⇑(Equiv.swap i j)) + f v = 0
state_after: no goals