1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: IsGδ.iInter_of_isOpen
File: Mathlib/Topology/GDelta.lean

tactic: rwa [forall_mem_range]
state_before: X : Type u_1
Y : Type u_2
ι : Type u_3
ι' : Sort u_4
inst✝¹ : TopologicalSpace X
inst✝ : Countable ι'
f : ι' → Set X
hf : ∀ (i : ι'), IsOpen (f i)
⊢ ∀ t ∈ range f, IsOpen t
state_after: no goals

tactic: rw [sInter_range]
state_before: X : Type u_1
Y : Type u_2
ι : Type u_3
ι' : Sort u_4
inst✝¹ : TopologicalSpace X
inst✝ : Countable ι'
f : ι' → Set X
hf : ∀ (i : ι'), IsOpen (f i)
⊢ ⋂ i, f i = ⋂₀ range f
state_after: no goals
Theorem: Real.sum_mul_le_sqrt_mul_sqrt
File: Mathlib/Data/Real/Sqrt.lean

tactic: positivity
state_before: α : Type u_1
inst✝ : TopologicalSpace α
f✝¹ : α → ℝ
s✝ : Set α
x : α
ι : Type u_2
f✝ g✝ : ι → ℝ
s : Finset ι
f g : ι → ℝ
x✝¹ : ι
x✝ : x✝¹ ∈ s
⊢ 0 ≤ f x✝¹ ^ 2
state_after: no goals
Theorem: LieSubmodule.coe_map_toEnd_le
File: Mathlib/Algebra/Lie/OfAssociative.lean

tactic: rintro n ⟨m, hm, rfl⟩
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
⊢ Submodule.map ((toEnd R L M) x) ↑N ≤ ↑N
state_after: case intro.intro
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
m : M
hm : m ∈ ↑↑N
⊢ ((toEnd R L M) x) m ∈ ↑N

tactic: exact N.lie_mem hm
state_before: case intro.intro
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
m : M
hm : m ∈ ↑↑N
⊢ ((toEnd R L M) x) m ∈ ↑N
state_after: no goals
Theorem: HomologicalComplex₂.ι_D₁
File: Mathlib/Algebra/Homology/TotalComplex.lean

tactic: apply totalAux.ιMapObj_D₁
state_before: C : Type u_1
inst✝⁴ : Category.{u_5, u_1} C
inst✝³ : Preadditive C
I₁ : Type u_2
I₂ : Type u_3
I₁₂ : Type u_4
c₁ : ComplexShape I₁
c₂ : ComplexShape I₂
K L M : HomologicalComplex₂ C c₁ c₂
φ : K ⟶ L
e : K ≅ L
ψ : L ⟶ M
c₁₂ : ComplexShape I₁₂
inst✝² : DecidableEq I₁₂
inst✝¹ : TotalComplexShape c₁ c₂ c₁₂
inst✝ : K.HasTotal c₁₂
i₁₂ i₁₂' : I₁₂
i₁ : I₁
i₂ : I₂
h : c₁.π c₂ c₁₂ (i₁, i₂) = i₁₂
⊢ K.ιTotal c₁₂ i₁ i₂ i₁₂ h ≫ K.D₁ c₁₂ i₁₂ i₁₂' = K.d₁ c₁₂ i₁ i₂ i₁₂'
state_after: no goals
Theorem: ZNum.ofInt'_eq
File: Mathlib/Data/Num/Lemmas.lean

tactic: show Num.toZNumNeg (n + 1 : ℕ) = -(n + 1 : ℕ)
state_before: α : Type u_1
n : ℕ
⊢ ofInt' -[n+1] = ↑-[n+1]
state_after: α : Type u_1
n : ℕ
⊢ (↑(n + 1)).toZNumNeg = -↑(n + 1)

tactic: rw [← neg_inj, neg_neg, Nat.cast_succ, Num.add_one, Num.zneg_toZNumNeg, Num.toZNum_succ,
  Nat.cast_succ, ZNum.add_one]
state_before: α : Type u_1
n : ℕ
⊢ (↑(n + 1)).toZNumNeg = -↑(n + 1)
state_after: α : Type u_1
n : ℕ
⊢ (↑n).toZNum.succ = (↑n).succ

tactic: rfl
state_before: α : Type u_1
n : ℕ
⊢ (↑n).toZNum.succ = (↑n).succ
state_after: no goals
Theorem: Multiset.toDFinsupp_union
File: Mathlib/Data/DFinsupp/Multiset.lean

tactic: ext i
state_before: α : Type u_1
β : α → Type u_2
inst✝ : DecidableEq α
s✝ t✝ s t : Multiset α
⊢ toDFinsupp (s ∪ t) = toDFinsupp s ⊔ toDFinsupp t
state_after: case h
α : Type u_1
β : α → Type u_2
inst✝ : DecidableEq α
s✝ t✝ s t : Multiset α
i : α
⊢ (toDFinsupp (s ∪ t)) i = (toDFinsupp s ⊔ toDFinsupp t) i

tactic: simp [sup_eq_max]
state_before: case h
α : Type u_1
β : α → Type u_2
inst✝ : DecidableEq α
s✝ t✝ s t : Multiset α
i : α
⊢ (toDFinsupp (s ∪ t)) i = (toDFinsupp s ⊔ toDFinsupp t) i
state_after: no goals
Theorem: CategoryTheory.Sieve.ofArrows_le_ofObjects
File: Mathlib/CategoryTheory/Sites/Sieves.lean

tactic: intro W g hg
state_before: C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
D : Type u₂
inst✝ : Category.{v₂, u₂} D
F : C ⥤ D
X✝ Y✝ Z : C
f✝ : Y✝ ⟶ X✝
S R : Sieve X✝
I : Type u_1
Y : I → C
X : C
f : (i : I) → Y i ⟶ X
⊢ ofArrows Y f ≤ ofObjects Y X
state_after: C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
D : Type u₂
inst✝ : Category.{v₂, u₂} D
F : C ⥤ D
X✝ Y✝ Z : C
f✝ : Y✝ ⟶ X✝
S R : Sieve X✝
I : Type u_1
Y : I → C
X : C
f : (i : I) → Y i ⟶ X
W : C
g : W ⟶ X
hg : (ofArrows Y f).arrows g
⊢ (ofObjects Y X).arrows g

tactic: rw [mem_ofArrows_iff] at hg
state_before: C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
D : Type u₂
inst✝ : Category.{v₂, u₂} D
F : C ⥤ D
X✝ Y✝ Z : C
f✝ : Y✝ ⟶ X✝
S R : Sieve X✝
I : Type u_1
Y : I → C
X : C
f : (i : I) → Y i ⟶ X
W : C
g : W ⟶ X
hg : (ofArrows Y f).arrows g
⊢ (ofObjects Y X).arrows g
state_after: C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
D : Type u₂
inst✝ : Category.{v₂, u₂} D
F : C ⥤ D
X✝ Y✝ Z : C
f✝ : Y✝ ⟶ X✝
S R : Sieve X✝
I : Type u_1
Y : I → C
X : C
f : (i : I) → Y i ⟶ X
W : C
g : W ⟶ X
hg : ∃ i a, g = a ≫ f i
⊢ (ofObjects Y X).arrows g

tactic: obtain ⟨i, a, rfl⟩ := hg
state_before: C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
D : Type u₂
inst✝ : Category.{v₂, u₂} D
F : C ⥤ D
X✝ Y✝ Z : C
f✝ : Y✝ ⟶ X✝
S R : Sieve X✝
I : Type u_1
Y : I → C
X : C
f : (i : I) → Y i ⟶ X
W : C
g : W ⟶ X
hg : ∃ i a, g = a ≫ f i
⊢ (ofObjects Y X).arrows g
state_after: case intro.intro
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
D : Type u₂
inst✝ : Category.{v₂, u₂} D
F : C ⥤ D
X✝ Y✝ Z : C
f✝ : Y✝ ⟶ X✝
S R : Sieve X✝
I : Type u_1
Y : I → C
X : C
f : (i : I) → Y i ⟶ X
W : C
i : I
a : W ⟶ Y i
⊢ (ofObjects Y X).arrows (a ≫ f i)

tactic: exact ⟨i, ⟨a⟩⟩
state_before: case intro.intro
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
D : Type u₂
inst✝ : Category.{v₂, u₂} D
F : C ⥤ D
X✝ Y✝ Z : C
f✝ : Y✝ ⟶ X✝
S R : Sieve X✝
I : Type u_1
Y : I → C
X : C
f : (i : I) → Y i ⟶ X
W : C
i : I
a : W ⟶ Y i
⊢ (ofObjects Y X).arrows (a ≫ f i)
state_after: no goals
Theorem: List.one_le_prod_of_one_le
File: Mathlib/Algebra/Order/BigOperators/Group/List.lean

tactic: induction' l with hd tl ih
state_before: ι : Type u_1
α : Type u_2
M : Type u_3
N : Type u_4
P : Type u_5
M₀ : Type u_6
G : Type u_7
R : Type u_8
inst✝² : Monoid M
inst✝¹ : Preorder M
inst✝ : CovariantClass M M (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
l : List M
hl₁ : ∀ x ∈ l, 1 ≤ x
⊢ 1 ≤ l.prod
state_after: case nil
ι : Type u_1
α : Type u_2
M : Type u_3
N : Type u_4
P : Type u_5
M₀ : Type u_6
G : Type u_7
R : Type u_8
inst✝² : Monoid M
inst✝¹ : Preorder M
inst✝ : CovariantClass M M (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
hl₁ : ∀ x ∈ [], 1 ≤ x
⊢ 1 ≤ [].prod

case cons
ι : Type u_1
α : Type u_2
M : Type u_3
N : Type u_4
P : Type u_5
M₀ : Type u_6
G : Type u_7
R : Type u_8
inst✝² : Monoid M
inst✝¹ : Preorder M
inst✝ : CovariantClass M M (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
hd : M
tl : List M
ih : (∀ x ∈ tl, 1 ≤ x) → 1 ≤ tl.prod
hl₁ : ∀ x ∈ hd :: tl, 1 ≤ x
⊢ 1 ≤ (hd :: tl).prod

tactic: rw [prod_cons]
state_before: case cons
ι : Type u_1
α : Type u_2
M : Type u_3
N : Type u_4
P : Type u_5
M₀ : Type u_6
G : Type u_7
R : Type u_8
inst✝² : Monoid M
inst✝¹ : Preorder M
inst✝ : CovariantClass M M (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
hd : M
tl : List M
ih : (∀ x ∈ tl, 1 ≤ x) → 1 ≤ tl.prod
hl₁ : ∀ x ∈ hd :: tl, 1 ≤ x
⊢ 1 ≤ (hd :: tl).prod
state_after: case cons
ι : Type u_1
α : Type u_2
M : Type u_3
N : Type u_4
P : Type u_5
M₀ : Type u_6
G : Type u_7
R : Type u_8
inst✝² : Monoid M
inst✝¹ : Preorder M
inst✝ : CovariantClass M M (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
hd : M
tl : List M
ih : (∀ x ∈ tl, 1 ≤ x) → 1 ≤ tl.prod
hl₁ : ∀ x ∈ hd :: tl, 1 ≤ x
⊢ 1 ≤ hd * tl.prod

tactic: exact one_le_mul (hl₁ hd (mem_cons_self hd tl)) (ih fun x h => hl₁ x (mem_cons_of_mem hd h))
state_before: case cons
ι : Type u_1
α : Type u_2
M : Type u_3
N : Type u_4
P : Type u_5
M₀ : Type u_6
G : Type u_7
R : Type u_8
inst✝² : Monoid M
inst✝¹ : Preorder M
inst✝ : CovariantClass M M (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
hd : M
tl : List M
ih : (∀ x ∈ tl, 1 ≤ x) → 1 ≤ tl.prod
hl₁ : ∀ x ∈ hd :: tl, 1 ≤ x
⊢ 1 ≤ hd * tl.prod
state_after: no goals

tactic: rfl
state_before: case nil
ι : Type u_1
α : Type u_2
M : Type u_3
N : Type u_4
P : Type u_5
M₀ : Type u_6
G : Type u_7
R : Type u_8
inst✝² : Monoid M
inst✝¹ : Preorder M
inst✝ : CovariantClass M M (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
hl₁ : ∀ x ∈ [], 1 ≤ x
⊢ 1 ≤ [].prod
state_after: no goals
Theorem: Filter.compl_mem_comap
File: Mathlib/Order/Filter/Basic.lean

tactic: rw [mem_comap_iff_compl, compl_compl]
state_before: α : Type u
β : Type v
γ : Type w
δ : Type u_1
ι : Sort x
l✝ : Filter α
f : α → β
l : Filter β
p : α → Prop
s : Set α
⊢ sᶜ ∈ comap f l ↔ (f '' s)ᶜ ∈ l
state_after: no goals
Theorem: Cardinal.derivBFamily_lt_ord
File: Mathlib/SetTheory/Cardinal/Cofinality.lean

tactic: rwa [lift_id]
state_before: α : Type u_1
r : α → α → Prop
o : Ordinal.{u}
f : (a : Ordinal.{u}) → a < o → Ordinal.{u} → Ordinal.{u}
c : Cardinal.{u}
hc : c.IsRegular
hι : o.card < c
hc' : c ≠ ℵ₀
hf : ∀ (i : Ordinal.{u}) (hi : i < o), ∀ b < c.ord, f i hi b < c.ord
a : Ordinal.{u}
⊢ lift.{u, u} o.card < c
state_after: no goals
Theorem: EReal.top_mul_of_pos
File: Mathlib/Data/Real/EReal.lean

tactic: rw [EReal.mul_comm]
state_before: x : EReal
h : 0 < x
⊢ ⊤ * x = ⊤
state_after: x : EReal
h : 0 < x
⊢ x * ⊤ = ⊤

tactic: exact mul_top_of_pos h
state_before: x : EReal
h : 0 < x
⊢ x * ⊤ = ⊤
state_after: no goals
Theorem: Bool.coe_true
File: Mathlib/Init/Data/Bool/Lemmas.lean

tactic: simp
state_before: ⊢ (true = true) = True
state_after: no goals
Theorem: NumberField.mixedEmbedding.convexBodySum_compact
File: Mathlib/NumberTheory/NumberField/CanonicalEmbedding/ConvexBody.lean

tactic: rw [Metric.isCompact_iff_isClosed_bounded]
state_before: K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
B : ℝ
⊢ IsCompact (convexBodySum K B)
state_after: K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
B : ℝ
⊢ IsClosed (convexBodySum K B) ∧ Bornology.IsBounded (convexBodySum K B)

tactic: refine ⟨?_, convexBodySum_isBounded K B⟩
state_before: K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
B : ℝ
⊢ IsClosed (convexBodySum K B) ∧ Bornology.IsBounded (convexBodySum K B)
state_after: K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
B : ℝ
⊢ IsClosed (convexBodySum K B)

tactic: convert IsClosed.preimage (convexBodySumFun_continuous K) (isClosed_Icc : IsClosed (Set.Icc 0 B))
state_before: K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
B : ℝ
⊢ IsClosed (convexBodySum K B)
state_after: case h.e'_3
K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
B : ℝ
⊢ convexBodySum K B = convexBodySumFun ⁻¹' Set.Icc 0 B

tactic: ext
state_before: case h.e'_3
K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
B : ℝ
⊢ convexBodySum K B = convexBodySumFun ⁻¹' Set.Icc 0 B
state_after: case h.e'_3.h
K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
B : ℝ
x✝ : ({ w // w.IsReal } → ℝ) × ({ w // w.IsComplex } → ℂ)
⊢ x✝ ∈ convexBodySum K B ↔ x✝ ∈ convexBodySumFun ⁻¹' Set.Icc 0 B

tactic: simp [convexBodySumFun_nonneg]
state_before: case h.e'_3.h
K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
B : ℝ
x✝ : ({ w // w.IsReal } → ℝ) × ({ w // w.IsComplex } → ℂ)
⊢ x✝ ∈ convexBodySum K B ↔ x✝ ∈ convexBodySumFun ⁻¹' Set.Icc 0 B
state_after: no goals
Theorem: MeasureTheory.Measure.mkMetric_mono_smul
File: Mathlib/MeasureTheory/Measure/Hausdorff.lean

tactic: rw [← OuterMeasure.coe_mkMetric, coe_smul, ← OuterMeasure.coe_mkMetric]
state_before: ι : Type u_1
X : Type u_2
Y : Type u_3
inst✝³ : EMetricSpace X
inst✝² : EMetricSpace Y
inst✝¹ : MeasurableSpace X
inst✝ : BorelSpace X
m₁ m₂ : ℝ≥0∞ → ℝ≥0∞
c : ℝ≥0∞
hc : c ≠ ⊤
h0 : c ≠ 0
hle : m₁ ≤ᶠ[𝓝[≥] 0] c • m₂
s : Set X
⊢ (mkMetric m₁) s ≤ (c • mkMetric m₂) s
state_after: ι : Type u_1
X : Type u_2
Y : Type u_3
inst✝³ : EMetricSpace X
inst✝² : EMetricSpace Y
inst✝¹ : MeasurableSpace X
inst✝ : BorelSpace X
m₁ m₂ : ℝ≥0∞ → ℝ≥0∞
c : ℝ≥0∞
hc : c ≠ ⊤
h0 : c ≠ 0
hle : m₁ ≤ᶠ[𝓝[≥] 0] c • m₂
s : Set X
⊢ (OuterMeasure.mkMetric m₁) s ≤ (c • ⇑(OuterMeasure.mkMetric m₂)) s

tactic: exact OuterMeasure.mkMetric_mono_smul hc h0 hle s
state_before: ι : Type u_1
X : Type u_2
Y : Type u_3
inst✝³ : EMetricSpace X
inst✝² : EMetricSpace Y
inst✝¹ : MeasurableSpace X
inst✝ : BorelSpace X
m₁ m₂ : ℝ≥0∞ → ℝ≥0∞
c : ℝ≥0∞
hc : c ≠ ⊤
h0 : c ≠ 0
hle : m₁ ≤ᶠ[𝓝[≥] 0] c • m₂
s : Set X
⊢ (OuterMeasure.mkMetric m₁) s ≤ (c • ⇑(OuterMeasure.mkMetric m₂)) s
state_after: no goals
Theorem: MetricSpace.replaceTopology_eq
File: Mathlib/Topology/MetricSpace/Basic.lean

tactic: ext
state_before: α : Type u
β : Type v
X : Type u_1
ι : Type u_2
inst✝¹ : PseudoMetricSpace α
γ✝ : Type w
inst✝ : MetricSpace γ✝
γ : Type u_3
U : TopologicalSpace γ
m : MetricSpace γ
H : U = UniformSpace.toTopologicalSpace
⊢ m.replaceTopology H = m
state_after: case h.dist.h.h
α : Type u
β : Type v
X : Type u_1
ι : Type u_2
inst✝¹ : PseudoMetricSpace α
γ✝ : Type w
inst✝ : MetricSpace γ✝
γ : Type u_3
U : TopologicalSpace γ
m : MetricSpace γ
H : U = UniformSpace.toTopologicalSpace
x✝¹ x✝ : γ
⊢ dist x✝¹ x✝ = dist x✝¹ x✝

tactic: rfl
state_before: case h.dist.h.h
α : Type u
β : Type v
X : Type u_1
ι : Type u_2
inst✝¹ : PseudoMetricSpace α
γ✝ : Type w
inst✝ : MetricSpace γ✝
γ : Type u_3
U : TopologicalSpace γ
m : MetricSpace γ
H : U = UniformSpace.toTopologicalSpace
x✝¹ x✝ : γ
⊢ dist x✝¹ x✝ = dist x✝¹ x✝
state_after: no goals
Theorem: Nat.mod_add_div'
File: Mathlib/Data/Nat/Defs.lean

tactic: rw [Nat.mul_comm]
state_before: a✝ b✝ c d m n k : ℕ
p q : ℕ → Prop
a b : ℕ
⊢ a % b + a / b * b = a
state_after: a✝ b✝ c d m n k : ℕ
p q : ℕ → Prop
a b : ℕ
⊢ a % b + b * (a / b) = a

tactic: exact mod_add_div _ _
state_before: a✝ b✝ c d m n k : ℕ
p q : ℕ → Prop
a b : ℕ
⊢ a % b + b * (a / b) = a
state_after: no goals
Theorem: MeasureTheory.Measure.restrict_iUnion_apply_eq_iSup
File: Mathlib/MeasureTheory/Measure/Restrict.lean

tactic: simp only [restrict_apply ht, inter_iUnion]
state_before: R : Type u_1
α : Type u_2
β : Type u_3
δ : Type u_4
γ : Type u_5
ι : Type u_6
m0 : MeasurableSpace α
inst✝² : MeasurableSpace β
inst✝¹ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t✝ : Set α
inst✝ : Countable ι
s : ι → Set α
hd : Directed (fun x x_1 => x ⊆ x_1) s
t : Set α
ht : MeasurableSet t
⊢ (μ.restrict (⋃ i, s i)) t = ⨆ i, (μ.restrict (s i)) t
state_after: R : Type u_1
α : Type u_2
β : Type u_3
δ : Type u_4
γ : Type u_5
ι : Type u_6
m0 : MeasurableSpace α
inst✝² : MeasurableSpace β
inst✝¹ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t✝ : Set α
inst✝ : Countable ι
s : ι → Set α
hd : Directed (fun x x_1 => x ⊆ x_1) s
t : Set α
ht : MeasurableSet t
⊢ μ (⋃ i, t ∩ s i) = ⨆ i, μ (t ∩ s i)

tactic: rw [measure_iUnion_eq_iSup]
state_before: R : Type u_1
α : Type u_2
β : Type u_3
δ : Type u_4
γ : Type u_5
ι : Type u_6
m0 : MeasurableSpace α
inst✝² : MeasurableSpace β
inst✝¹ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t✝ : Set α
inst✝ : Countable ι
s : ι → Set α
hd : Directed (fun x x_1 => x ⊆ x_1) s
t : Set α
ht : MeasurableSet t
⊢ μ (⋃ i, t ∩ s i) = ⨆ i, μ (t ∩ s i)
state_after: R : Type u_1
α : Type u_2
β : Type u_3
δ : Type u_4
γ : Type u_5
ι : Type u_6
m0 : MeasurableSpace α
inst✝² : MeasurableSpace β
inst✝¹ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t✝ : Set α
inst✝ : Countable ι
s : ι → Set α
hd : Directed (fun x x_1 => x ⊆ x_1) s
t : Set α
ht : MeasurableSet t
⊢ Directed (fun x x_1 => x ⊆ x_1) fun i => t ∩ s i

tactic: exacts [hd.mono_comp _ fun s₁ s₂ => inter_subset_inter_right _]
state_before: R : Type u_1
α : Type u_2
β : Type u_3
δ : Type u_4
γ : Type u_5
ι : Type u_6
m0 : MeasurableSpace α
inst✝² : MeasurableSpace β
inst✝¹ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t✝ : Set α
inst✝ : Countable ι
s : ι → Set α
hd : Directed (fun x x_1 => x ⊆ x_1) s
t : Set α
ht : MeasurableSet t
⊢ Directed (fun x x_1 => x ⊆ x_1) fun i => t ∩ s i
state_after: no goals
Theorem: Matroid.setOf_dual_base_eq
File: Mathlib/Data/Matroid/Dual.lean

tactic: ext B
state_before: α : Type u_1
M : Matroid α
I B X : Set α
⊢ {B | M✶.Base B} = (fun X => M.E \ X) '' {B | M.Base B}
state_after: case h
α : Type u_1
M : Matroid α
I B✝ X B : Set α
⊢ B ∈ {B | M✶.Base B} ↔ B ∈ (fun X => M.E \ X) '' {B | M.Base B}

tactic: simp only [mem_setOf_eq, mem_image, dual_base_iff']
state_before: case h
α : Type u_1
M : Matroid α
I B✝ X B : Set α
⊢ B ∈ {B | M✶.Base B} ↔ B ∈ (fun X => M.E \ X) '' {B | M.Base B}
state_after: case h
α : Type u_1
M : Matroid α
I B✝ X B : Set α
⊢ M.Base (M.E \ B) ∧ B ⊆ M.E ↔ ∃ x, M.Base x ∧ M.E \ x = B

tactic: refine ⟨fun h ↦ ⟨_, h.1, diff_diff_cancel_left h.2⟩,
  fun ⟨B', hB', h⟩ ↦ ⟨?_,h.symm.trans_subset diff_subset⟩⟩
state_before: case h
α : Type u_1
M : Matroid α
I B✝ X B : Set α
⊢ M.Base (M.E \ B) ∧ B ⊆ M.E ↔ ∃ x, M.Base x ∧ M.E \ x = B
state_after: case h
α : Type u_1
M : Matroid α
I B✝ X B : Set α
x✝ : ∃ x, M.Base x ∧ M.E \ x = B
B' : Set α
hB' : M.Base B'
h : M.E \ B' = B
⊢ M.Base (M.E \ B)

tactic: rwa [← h, diff_diff_cancel_left hB'.subset_ground]
state_before: case h
α : Type u_1
M : Matroid α
I B✝ X B : Set α
x✝ : ∃ x, M.Base x ∧ M.E \ x = B
B' : Set α
hB' : M.Base B'
h : M.E \ B' = B
⊢ M.Base (M.E \ B)
state_after: no goals
Theorem: Submodule.map_smul
File: Mathlib/Algebra/Module/Submodule/Map.lean

tactic: rw [map_le_iff_le_comap, comap_smul f _ a h, ← map_le_iff_le_comap]
state_before: R : Type u_1
R₁ : Type u_2
R₂ : Type u_3
R₃ : Type u_4
M : Type u_5
M₁ : Type u_6
M₂ : Type u_7
M₃ : Type u_8
K : Type u_9
V : Type u_10
V₂ : Type u_11
inst✝⁴ : Semifield K
inst✝³ : AddCommMonoid V
inst✝² : Module K V
inst✝¹ : AddCommMonoid V₂
inst✝ : Module K V₂
f : V →ₗ[K] V₂
p : Submodule K V
a : K
h : a ≠ 0
⊢ map (a • f) p ≤ map f p
state_after: no goals

tactic: rw [map_le_iff_le_comap, ← comap_smul f _ a h, ← map_le_iff_le_comap]
state_before: R : Type u_1
R₁ : Type u_2
R₂ : Type u_3
R₃ : Type u_4
M : Type u_5
M₁ : Type u_6
M₂ : Type u_7
M₃ : Type u_8
K : Type u_9
V : Type u_10
V₂ : Type u_11
inst✝⁴ : Semifield K
inst✝³ : AddCommMonoid V
inst✝² : Module K V
inst✝¹ : AddCommMonoid V₂
inst✝ : Module K V₂
f : V →ₗ[K] V₂
p : Submodule K V
a : K
h : a ≠ 0
⊢ map f p ≤ map (a • f) p
state_after: no goals
Theorem: StieltjesFunction.ext
File: Mathlib/MeasureTheory/Measure/Stieltjes.lean

tactic: exact (StieltjesFunction.mk.injEq ..).mpr (funext h)
state_before: f g : StieltjesFunction
h : ∀ (x : ℝ), ↑f x = ↑g x
⊢ f = g
state_after: no goals
Theorem: riemannZeta_one_sub
File: Mathlib/NumberTheory/LSeries/RiemannZeta.lean

tactic: rw [riemannZeta, hurwitzZetaEven_one_sub 0 hs (Or.inr hs'), cosZeta_zero, hurwitzZetaEven_zero]
state_before: s : ℂ
hs : ∀ (n : ℕ), s ≠ -↑n
hs' : s ≠ 1
⊢ riemannZeta (1 - s) = 2 * (2 * ↑π) ^ (-s) * Complex.Gamma s * Complex.cos (↑π * s / 2) * riemannZeta s
state_after: no goals
Theorem: Matrix.isUnit_transpose
File: Mathlib/Data/Matrix/Invertible.lean

tactic: simp only [← nonempty_invertible_iff_isUnit,
  (transposeInvertibleEquivInvertible A).nonempty_congr]
state_before: m : Type u_1
n : Type u_2
α : Type u_3
inst✝² : Fintype n
inst✝¹ : DecidableEq n
inst✝ : CommSemiring α
A : Matrix n n α
⊢ IsUnit Aᵀ ↔ IsUnit A
state_after: no goals
Theorem: finCongr_eq_equivCast
File: Mathlib/Data/Fin/Basic.lean

tactic: subst h
state_before: n m : ℕ
h : n = m
⊢ finCongr h = Equiv.cast ⋯
state_after: n : ℕ
⊢ finCongr ⋯ = Equiv.cast ⋯

tactic: simp
state_before: n : ℕ
⊢ finCongr ⋯ = Equiv.cast ⋯
state_after: no goals
Theorem: LinearPMap.inverse_range
File: Mathlib/LinearAlgebra/LinearPMap.lean

tactic: rw [inverse, Submodule.toLinearPMap_range _ (mem_inverse_graph_snd_eq_zero hf),
  ← graph_map_fst_eq_domain, ← LinearEquiv.snd_comp_prodComm, Submodule.map_comp]
state_before: R : Type u_1
inst✝⁶ : Ring R
E : Type u_2
inst✝⁵ : AddCommGroup E
inst✝⁴ : Module R E
F : Type u_3
inst✝³ : AddCommGroup F
inst✝² : Module R F
G : Type u_4
inst✝¹ : AddCommGroup G
inst✝ : Module R G
f : E →ₗ.[R] F
hf : LinearMap.ker f.toFun = ⊥
⊢ LinearMap.range f.inverse.toFun = f.domain
state_after: R : Type u_1
inst✝⁶ : Ring R
E : Type u_2
inst✝⁵ : AddCommGroup E
inst✝⁴ : Module R E
F : Type u_3
inst✝³ : AddCommGroup F
inst✝² : Module R F
G : Type u_4
inst✝¹ : AddCommGroup G
inst✝ : Module R G
f : E →ₗ.[R] F
hf : LinearMap.ker f.toFun = ⊥
⊢ Submodule.map (LinearMap.snd R F E) (Submodule.map (LinearEquiv.prodComm R E F) f.graph) =
    Submodule.map (LinearMap.snd R F E) (Submodule.map (↑(LinearEquiv.prodComm R E F)) f.graph)

tactic: rfl
state_before: R : Type u_1
inst✝⁶ : Ring R
E : Type u_2
inst✝⁵ : AddCommGroup E
inst✝⁴ : Module R E
F : Type u_3
inst✝³ : AddCommGroup F
inst✝² : Module R F
G : Type u_4
inst✝¹ : AddCommGroup G
inst✝ : Module R G
f : E →ₗ.[R] F
hf : LinearMap.ker f.toFun = ⊥
⊢ Submodule.map (LinearMap.snd R F E) (Submodule.map (LinearEquiv.prodComm R E F) f.graph) =
    Submodule.map (LinearMap.snd R F E) (Submodule.map (↑(LinearEquiv.prodComm R E F)) f.graph)
state_after: no goals
Theorem: disjoint_nhds_nhds_iff_not_inseparable
File: Mathlib/Topology/Separation.lean

tactic: rw [disjoint_nhds_nhds_iff_not_specializes, specializes_iff_inseparable]
state_before: X : Type u_1
Y : Type u_2
inst✝² : TopologicalSpace X
inst✝¹ : FirstCountableTopology X
inst✝ : R1Space X
x y : X
⊢ Disjoint (𝓝 x) (𝓝 y) ↔ ¬Inseparable x y
state_after: no goals
Theorem: Complex.continuousOn_prod_circle_transform_function
File: Mathlib/MeasureTheory/Integral/CircleTransform.lean

tactic: simp_rw [← one_div]
state_before: E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℂ E
R✝ : ℝ
z✝ w : ℂ
R r : ℝ
hr : r < R
z : ℂ
⊢ ContinuousOn (fun w => (circleMap z R w.2 - w.1)⁻¹ ^ 2) (closedBall z r ×ˢ univ)
state_after: E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℂ E
R✝ : ℝ
z✝ w : ℂ
R r : ℝ
hr : r < R
z : ℂ
⊢ ContinuousOn (fun w => (1 / (circleMap z R w.2 - w.1)) ^ 2) (closedBall z r ×ˢ univ)

tactic: apply_rules [ContinuousOn.pow, ContinuousOn.div, continuousOn_const]
state_before: E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℂ E
R✝ : ℝ
z✝ w : ℂ
R r : ℝ
hr : r < R
z : ℂ
⊢ ContinuousOn (fun w => (1 / (circleMap z R w.2 - w.1)) ^ 2) (closedBall z r ×ˢ univ)
state_after: case hf.hg
E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℂ E
R✝ : ℝ
z✝ w : ℂ
R r : ℝ
hr : r < R
z : ℂ
⊢ ContinuousOn (fun x => circleMap z R x.2 - x.1) (closedBall z r ×ˢ univ)

case hf.h₀
E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℂ E
R✝ : ℝ
z✝ w : ℂ
R r : ℝ
hr : r < R
z : ℂ
⊢ ∀ x ∈ closedBall z r ×ˢ univ, circleMap z R x.2 - x.1 ≠ 0

tactic: exact ((continuous_circleMap z R).comp_continuousOn continuousOn_snd).sub continuousOn_fst
state_before: case hf.hg
E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℂ E
R✝ : ℝ
z✝ w : ℂ
R r : ℝ
hr : r < R
z : ℂ
⊢ ContinuousOn (fun x => circleMap z R x.2 - x.1) (closedBall z r ×ˢ univ)
state_after: no goals

tactic: rintro ⟨a, b⟩ ⟨ha, -⟩
state_before: case hf.h₀
E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℂ E
R✝ : ℝ
z✝ w : ℂ
R r : ℝ
hr : r < R
z : ℂ
⊢ ∀ x ∈ closedBall z r ×ˢ univ, circleMap z R x.2 - x.1 ≠ 0
state_after: case hf.h₀.mk.intro
E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℂ E
R✝ : ℝ
z✝ w : ℂ
R r : ℝ
hr : r < R
z a : ℂ
b : ℝ
ha : (a, b).1 ∈ closedBall z r
⊢ circleMap z R (a, b).2 - (a, b).1 ≠ 0

tactic: have ha2 : a ∈ ball z R := closedBall_subset_ball hr ha
state_before: case hf.h₀.mk.intro
E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℂ E
R✝ : ℝ
z✝ w : ℂ
R r : ℝ
hr : r < R
z a : ℂ
b : ℝ
ha : (a, b).1 ∈ closedBall z r
⊢ circleMap z R (a, b).2 - (a, b).1 ≠ 0
state_after: case hf.h₀.mk.intro
E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℂ E
R✝ : ℝ
z✝ w : ℂ
R r : ℝ
hr : r < R
z a : ℂ
b : ℝ
ha : (a, b).1 ∈ closedBall z r
ha2 : a ∈ ball z R
⊢ circleMap z R (a, b).2 - (a, b).1 ≠ 0

tactic: exact sub_ne_zero.2 (circleMap_ne_mem_ball ha2 b)
state_before: case hf.h₀.mk.intro
E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℂ E
R✝ : ℝ
z✝ w : ℂ
R r : ℝ
hr : r < R
z a : ℂ
b : ℝ
ha : (a, b).1 ∈ closedBall z r
ha2 : a ∈ ball z R
⊢ circleMap z R (a, b).2 - (a, b).1 ≠ 0
state_after: no goals
Theorem: Prod.one_mk_mul_one_mk
File: Mathlib/Algebra/Group/Prod.lean

tactic: rw [mk_mul_mk, mul_one]
state_before: A : Type u_1
B : Type u_2
G : Type u_3
H : Type u_4
M : Type u_5
N : Type u_6
P : Type u_7
inst✝¹ : Monoid M
inst✝ : Mul N
b₁ b₂ : N
⊢ (1, b₁) * (1, b₂) = (1, b₁ * b₂)
state_after: no goals