tasksource/leandojo huggingface dataset:
Theorem: contDiff_of_subsingleton
File: Mathlib/Analysis/Calculus/ContDiff.lean

tactic: rw [Subsingleton.elim f fun _ => 0]
state_before: 𝕜 : Type u_1
inst✝¹¹ : NontriviallyNormedField 𝕜
D : Type uD
inst✝¹⁰ : NormedAddCommGroup D
inst✝⁹ : NormedSpace 𝕜 D
E : Type uE
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : NormedSpace 𝕜 E
F : Type uF
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
G : Type uG
inst✝⁴ : NormedAddCommGroup G
inst✝³ : NormedSpace 𝕜 G
X : Type ?u.50033
inst✝² : NormedAddCommGroup X
inst✝¹ : NormedSpace 𝕜 X
s s₁ t u : Set E
f f₁ : E → F
g : F → G
x x₀ : E
c : F
b : E × F → G
m n : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
inst✝ : Subsingleton F
⊢ ContDiff 𝕜 n f

tactic: exact contDiff_const
state_before: 𝕜 : Type u_1
inst✝¹¹ : NontriviallyNormedField 𝕜
D : Type uD
inst✝¹⁰ : NormedAddCommGroup D
inst✝⁹ : NormedSpace 𝕜 D
E : Type uE
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : NormedSpace 𝕜 E
F : Type uF
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
G : Type uG
inst✝⁴ : NormedAddCommGroup G
inst✝³ : NormedSpace 𝕜 G
X : Type ?u.50033
inst✝² : NormedAddCommGroup X
inst✝¹ : NormedSpace 𝕜 X
s s₁ t u : Set E
f f₁ : E → F
g : F → G
x x₀ : E
c : F
b : E × F → G
m n : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
inst✝ : Subsingleton F
⊢ ContDiff 𝕜 n fun x => 0
Theorem: lowerClosure_image
File: Mathlib/Order/UpperLower/Basic.lean

tactic: rw [← f.symm_symm, ← LowerSet.symm_map, f.symm_symm]
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.137425
ι : Sort ?u.137428
κ : ι → Sort ?u.137433
inst✝¹ : Preorder α
inst✝ : Preorder β
s t : Set α
x : α
f : α ≃o β
⊢ lowerClosure (↑f '' s) = ↑(LowerSet.map f) (lowerClosure s)

tactic: ext
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.137425
ι : Sort ?u.137428
κ : ι → Sort ?u.137433
inst✝¹ : Preorder α
inst✝ : Preorder β
s t : Set α
x : α
f : α ≃o β
⊢ lowerClosure (↑f '' s) = ↑(OrderIso.symm (LowerSet.map (OrderIso.symm f))) (lowerClosure s)

tactic: simp [-LowerSet.symm_map, LowerSet.map, OrderIso.symm, ← f.symm_apply_le]
state_before: case a.h
α : Type u_1
β : Type u_2
γ : Type ?u.137425
ι : Sort ?u.137428
κ : ι → Sort ?u.137433
inst✝¹ : Preorder α
inst✝ : Preorder β
s t : Set α
x : α
f : α ≃o β
x✝ : β
⊢ x✝ ∈ ↑(lowerClosure (↑f '' s)) ↔ x✝ ∈ ↑(↑(OrderIso.symm (LowerSet.map (OrderIso.symm f))) (lowerClosure s))
Theorem: tsum_of_norm_bounded
File: Mathlib/Analysis/Normed/Group/InfiniteSum.lean

tactic: by_cases hf : Summable f
state_before: ι : Type u_1
α : Type ?u.16948
E : Type u_2
F : Type ?u.16954
inst✝¹ : SeminormedAddCommGroup E
inst✝ : SeminormedAddCommGroup F
f : ι → E
g : ι → ℝ
a : ℝ
hg : HasSum g a
h : ∀ (i : ι), ‖f i‖ ≤ g i
⊢ ‖∑' (i : ι), f i‖ ≤ a

tactic: exact hf.hasSum.norm_le_of_bounded hg h
state_before: case pos
ι : Type u_1
α : Type ?u.16948
E : Type u_2
F : Type ?u.16954
inst✝¹ : SeminormedAddCommGroup E
inst✝ : SeminormedAddCommGroup F
f : ι → E
g : ι → ℝ
a : ℝ
hg : HasSum g a
h : ∀ (i : ι), ‖f i‖ ≤ g i
hf : Summable f
⊢ ‖∑' (i : ι), f i‖ ≤ a

tactic: rw [tsum_eq_zero_of_not_summable hf, norm_zero]
state_before: case neg
ι : Type u_1
α : Type ?u.16948
E : Type u_2
F : Type ?u.16954
inst✝¹ : SeminormedAddCommGroup E
inst✝ : SeminormedAddCommGroup F
f : ι → E
g : ι → ℝ
a : ℝ
hg : HasSum g a
h : ∀ (i : ι), ‖f i‖ ≤ g i
hf : ¬Summable f
⊢ ‖∑' (i : ι), f i‖ ≤ a

tactic: exact ge_of_tendsto' hg fun s => sum_nonneg fun i _hi => (norm_nonneg _).trans (h i)
state_before: case neg
ι : Type u_1
α : Type ?u.16948
E : Type u_2
F : Type ?u.16954
inst✝¹ : SeminormedAddCommGroup E
inst✝ : SeminormedAddCommGroup F
f : ι → E
g : ι → ℝ
a : ℝ
hg : HasSum g a
h : ∀ (i : ι), ‖f i‖ ≤ g i
hf : ¬Summable f
⊢ 0 ≤ a
Theorem: GroupTopology.coinduced_continuous
File: Mathlib/Topology/Algebra/Group/Basic.lean

tactic: rw [continuous_sInf_rng]
state_before: α✝ : Type u
β✝ : Type v
G : Type w
H : Type x
inst✝¹ : Group α✝
α : Type u_1
β : Type u_2
t : TopologicalSpace α
inst✝ : Group β
f : α → β
⊢ Continuous f

tactic: rintro _ ⟨t', ht', rfl⟩
state_before: α✝ : Type u
β✝ : Type v
G : Type w
H : Type x
inst✝¹ : Group α✝
α : Type u_1
β : Type u_2
t : TopologicalSpace α
inst✝ : Group β
f : α → β
⊢ ∀ (t_1 : TopologicalSpace β),
    t_1 ∈ toTopologicalSpace '' {b | TopologicalSpace.coinduced f t ≤ b.toTopologicalSpace} → Continuous f

tactic: exact continuous_iff_coinduced_le.2 ht'
state_before: case intro.intro
α✝ : Type u
β✝ : Type v
G : Type w
H : Type x
inst✝¹ : Group α✝
α : Type u_1
β : Type u_2
t : TopologicalSpace α
inst✝ : Group β
f : α → β
t' : GroupTopology β
ht' : t' ∈ {b | TopologicalSpace.coinduced f t ≤ b.toTopologicalSpace}
⊢ Continuous f
Theorem: Ordinal.nhds_left_eq_nhds
File: Mathlib/SetTheory/Ordinal/Topology.lean

tactic: rw [← nhds_left_sup_nhds_right', nhds_right', sup_bot_eq]
state_before: s : Set Ordinal
a✝ : Ordinal
a : Ordinal
⊢ 𝓝[Set.Iic a] a = 𝓝 a
Theorem: WithTop.iInf_empty
File: Mathlib/Order/ConditionallyCompleteLattice/Basic.lean

tactic: rw [iInf, range_eq_empty, WithTop.sInf_empty]
state_before: α✝ : Type ?u.2629
β : Type ?u.2632
γ : Type ?u.2635
ι : Sort u_2
α : Type u_1
inst✝¹ : IsEmpty ι
inst✝ : InfSet α
f : ι → WithTop α
⊢ (⨅ (i : ι), f i) = ⊤
Theorem: Finset.powerset_eq_univ
File: Mathlib/Data/Fintype/Powerset.lean

tactic: rw [← Finset.powerset_univ, powerset_inj]
state_before: α : Type u_1
inst✝ : Fintype α
s : Finset α
⊢ powerset s = univ ↔ s = univ
Theorem: Sym2.other_ne
File: Mathlib/Data/Sym/Sym2.lean

tactic: contrapose! hd
state_before: α : Type u_1
β : Type ?u.41545
γ : Type ?u.41548
a : α
z : Sym2 α
hd : ¬IsDiag z
h : a ∈ z
⊢ Mem.other h ≠ a

tactic: have h' := Sym2.other_spec h
state_before: α : Type u_1
β : Type ?u.41545
γ : Type ?u.41548
a : α
z : Sym2 α
h : a ∈ z
hd : Mem.other h = a
⊢ IsDiag z

tactic: rw [hd] at h'
state_before: α : Type u_1
β : Type ?u.41545
γ : Type ?u.41548
a : α
z : Sym2 α
h : a ∈ z
hd : Mem.other h = a
h' : Quotient.mk (Rel.setoid α) (a, Mem.other h) = z
⊢ IsDiag z

tactic: rw [← h']
state_before: α : Type u_1
β : Type ?u.41545
γ : Type ?u.41548
a : α
z : Sym2 α
h : a ∈ z
hd : Mem.other h = a
h' : Quotient.mk (Rel.setoid α) (a, a) = z
⊢ IsDiag z

tactic: simp
state_before: α : Type u_1
β : Type ?u.41545
γ : Type ?u.41548
a : α
z : Sym2 α
h : a ∈ z
hd : Mem.other h = a
h' : Quotient.mk (Rel.setoid α) (a, a) = z
⊢ IsDiag (Quotient.mk (Rel.setoid α) (a, a))
Theorem: StrictConvex.add_smul_mem
File: Mathlib/Analysis/Convex/Strict.lean

tactic: have h : x + t • y = (1 - t) • x + t • (x + y) := by
  rw [smul_add, ← add_assoc, ← _root_.add_smul, sub_add_cancel, one_smul]
state_before: 𝕜 : Type u_1
𝕝 : Type ?u.179651
E : Type u_2
F : Type ?u.179657
β : Type ?u.179660
inst✝⁶ : OrderedRing 𝕜
inst✝⁵ : TopologicalSpace E
inst✝⁴ : TopologicalSpace F
inst✝³ : AddCommGroup E
inst✝² : AddCommGroup F
inst✝¹ : Module 𝕜 E
inst✝ : Module 𝕜 F
s t✝ : Set E
x y : E
hs : StrictConvex 𝕜 s
hx : x ∈ s
hxy : x + y ∈ s
hy : y ≠ 0
t : 𝕜
ht₀ : 0 < t
ht₁ : t < 1
⊢ x + t • y ∈ interior s

tactic: rw [h]
state_before: 𝕜 : Type u_1
𝕝 : Type ?u.179651
E : Type u_2
F : Type ?u.179657
β : Type ?u.179660
inst✝⁶ : OrderedRing 𝕜
inst✝⁵ : TopologicalSpace E
inst✝⁴ : TopologicalSpace F
inst✝³ : AddCommGroup E
inst✝² : AddCommGroup F
inst✝¹ : Module 𝕜 E
inst✝ : Module 𝕜 F
s t✝ : Set E
x y : E
hs : StrictConvex 𝕜 s
hx : x ∈ s
hxy : x + y ∈ s
hy : y ≠ 0
t : 𝕜
ht₀ : 0 < t
ht₁ : t < 1
h : x + t • y = (1 - t) • x + t • (x + y)
⊢ x + t • y ∈ interior s

tactic: refine' hs hx hxy (fun h => hy <| add_left_cancel _) (sub_pos_of_lt ht₁) ht₀ (sub_add_cancel _ _)
state_before: 𝕜 : Type u_1
𝕝 : Type ?u.179651
E : Type u_2
F : Type ?u.179657
β : Type ?u.179660
inst✝⁶ : OrderedRing 𝕜
inst✝⁵ : TopologicalSpace E
inst✝⁴ : TopologicalSpace F
inst✝³ : AddCommGroup E
inst✝² : AddCommGroup F
inst✝¹ : Module 𝕜 E
inst✝ : Module 𝕜 F
s t✝ : Set E
x y : E
hs : StrictConvex 𝕜 s
hx : x ∈ s
hxy : x + y ∈ s
hy : y ≠ 0
t : 𝕜
ht₀ : 0 < t
ht₁ : t < 1
h : x + t • y = (1 - t) • x + t • (x + y)
⊢ (1 - t) • x + t • (x + y) ∈ interior s

tactic: rw [← h, add_zero]
state_before: case refine'_1
𝕜 : Type u_1
𝕝 : Type ?u.179651
E : Type u_2
F : Type ?u.179657
β : Type ?u.179660
inst✝⁶ : OrderedRing 𝕜
inst✝⁵ : TopologicalSpace E
inst✝⁴ : TopologicalSpace F
inst✝³ : AddCommGroup E
inst✝² : AddCommGroup F
inst✝¹ : Module 𝕜 E
inst✝ : Module 𝕜 F
s t✝ : Set E
x y : E
hs : StrictConvex 𝕜 s
hx : x ∈ s
hxy : x + y ∈ s
hy : y ≠ 0
t : 𝕜
ht₀ : 0 < t
ht₁ : t < 1
h✝ : x + t • y = (1 - t) • x + t • (x + y)
h : x = x + y
⊢ ?refine'_2 h + y = ?refine'_2 h + 0

case refine'_2
𝕜 : Type u_1
𝕝 : Type ?u.179651
E : Type u_2
F : Type ?u.179657
β : Type ?u.179660
inst✝⁶ : OrderedRing 𝕜
inst✝⁵ : TopologicalSpace E
inst✝⁴ : TopologicalSpace F
inst✝³ : AddCommGroup E
inst✝² : AddCommGroup F
inst✝¹ : Module 𝕜 E
inst✝ : Module 𝕜 F
s t✝ : Set E
x y : E
hs : StrictConvex 𝕜 s
hx : x ∈ s
hxy : x + y ∈ s
hy : y ≠ 0
t : 𝕜
ht₀ : 0 < t
ht₁ : t < 1
h : x + t • y = (1 - t) • x + t • (x + y)
⊢ x = x + y → E

tactic: rw [smul_add, ← add_assoc, ← _root_.add_smul, sub_add_cancel, one_smul]
state_before: 𝕜 : Type u_1
𝕝 : Type ?u.179651
E : Type u_2
F : Type ?u.179657
β : Type ?u.179660
inst✝⁶ : OrderedRing 𝕜
inst✝⁵ : TopologicalSpace E
inst✝⁴ : TopologicalSpace F
inst✝³ : AddCommGroup E
inst✝² : AddCommGroup F
inst✝¹ : Module 𝕜 E
inst✝ : Module 𝕜 F
s t✝ : Set E
x y : E
hs : StrictConvex 𝕜 s
hx : x ∈ s
hxy : x + y ∈ s
hy : y ≠ 0
t : 𝕜
ht₀ : 0 < t
ht₁ : t < 1
⊢ x + t • y = (1 - t) • x + t • (x + y)
Theorem: Order.IsPredLimit.pred_ne
File: Mathlib/Order/SuccPred/Limit.lean

tactic: rintro rfl
state_before: α : Type u_1
inst✝² : Preorder α
a : α
inst✝¹ : PredOrder α
inst✝ : NoMinOrder α
h : IsPredLimit a
b : α
⊢ pred b ≠ a

tactic: exact not_isMin _ h.isMin
state_before: α : Type u_1
inst✝² : Preorder α
inst✝¹ : PredOrder α
inst✝ : NoMinOrder α
b : α
h : IsPredLimit (pred b)
⊢ False
Theorem: VitaliFamily.FineSubfamilyOn.measure_le_tsum_of_absolutelyContinuous
File: Mathlib/MeasureTheory/Covering/VitaliFamily.lean

tactic: simp only [subset_union_left, diff_union_self]
state_before: α : Type u_1
inst✝¹ : MetricSpace α
m0 : MeasurableSpace α
μ : MeasureTheory.Measure α
v : VitaliFamily μ
f : α → Set (Set α)
s : Set α
h : FineSubfamilyOn v f s
inst✝ : SecondCountableTopology α
ρ : MeasureTheory.Measure α
hρ : ρ ≪ μ
⊢ s ⊆
    (s \ ⋃ (p : α × Set α) (_ : p ∈ FineSubfamilyOn.index h), FineSubfamilyOn.covering h p) ∪
      ⋃ (p : α × Set α) (_ : p ∈ FineSubfamilyOn.index h), FineSubfamilyOn.covering h p

tactic: rw [hρ h.measure_diff_biUnion, zero_add,
  measure_biUnion h.index_countable h.covering_disjoint fun x hx => h.measurableSet_u hx]
state_before: α : Type u_1
inst✝¹ : MetricSpace α
m0 : MeasurableSpace α
μ : MeasureTheory.Measure α
v : VitaliFamily μ
f : α → Set (Set α)
s : Set α
h : FineSubfamilyOn v f s
inst✝ : SecondCountableTopology α
ρ : MeasureTheory.Measure α
hρ : ρ ≪ μ
⊢ ↑↑ρ (s \ ⋃ (p : α × Set α) (_ : p ∈ FineSubfamilyOn.index h), FineSubfamilyOn.covering h p) +
      ↑↑ρ (⋃ (p : α × Set α) (_ : p ∈ FineSubfamilyOn.index h), FineSubfamilyOn.covering h p) =
    ∑' (p : ↑(FineSubfamilyOn.index h)), ↑↑ρ (FineSubfamilyOn.covering h ↑p)
Theorem: Nat.lt_size
File: Mathlib/Data/Nat/Size.lean

tactic: rw [← not_lt, Decidable.iff_not_comm, not_lt, size_le]
state_before: m n : ℕ
⊢ m < size n ↔ 2 ^ m ≤ n
Theorem: ENNReal.inv_zero
File: Mathlib/Data/Real/ENNReal.lean

tactic: simp
state_before: α : Type ?u.213575
β : Type ?u.213578
a b c d : ℝ≥0∞
r p q : ℝ≥0
⊢ sInf {b | 1 ≤ 0 * b} = ⊤
Theorem: MeasureTheory.Memℒp.norm
File: Mathlib/MeasureTheory/Function/LpSeminorm.lean

tactic: simp
state_before: α : Type u_2
E : Type u_1
F : Type ?u.2311540
G : Type ?u.2311543
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
f : α → E
h : Memℒp f p
x : α
⊢ ‖‖f x‖‖ ≤ ‖f x‖
Theorem: Set.image2_right_comm
File: Mathlib/Data/Set/NAry.lean

tactic: rw [image2_swap g, image2_swap g']
state_before: α : Type u_4
α' : Type ?u.41691
β : Type u_5
β' : Type ?u.41697
γ : Type u_3
γ' : Type ?u.41703
δ : Type u_2
δ' : Type u_6
ε : Type u_1
ε' : Type ?u.41715
ζ : Type ?u.41718
ζ' : Type ?u.41721
ν : Type ?u.41724
f✝ f'✝ : α → β → γ
g✝ g'✝ : α → β → γ → δ
s s' : Set α
t t' : Set β
u u' : Set γ
v : Set δ
a a' : α
b b' : β
c c' : γ
d d' : δ
f : δ → γ → ε
g : α → β → δ
f' : α → γ → δ'
g' : δ' → β → ε
h_right_comm : ∀ (a : α) (b : β) (c : γ), f (g a b) c = g' (f' a c) b
⊢ image2 f (image2 g s t) u = image2 g' (image2 f' s u) t

tactic: exact image2_assoc fun _ _ _ => h_right_comm _ _ _
state_before: α : Type u_4
α' : Type ?u.41691
β : Type u_5
β' : Type ?u.41697
γ : Type u_3
γ' : Type ?u.41703
δ : Type u_2
δ' : Type u_6
ε : Type u_1
ε' : Type ?u.41715
ζ : Type ?u.41718
ζ' : Type ?u.41721
ν : Type ?u.41724
f✝ f'✝ : α → β → γ
g✝ g'✝ : α → β → γ → δ
s s' : Set α
t t' : Set β
u u' : Set γ
v : Set δ
a a' : α
b b' : β
c c' : γ
d d' : δ
f : δ → γ → ε
g : α → β → δ
f' : α → γ → δ'
g' : δ' → β → ε
h_right_comm : ∀ (a : α) (b : β) (c : γ), f (g a b) c = g' (f' a c) b
⊢ image2 f (image2 (fun a b => g b a) t s) u = image2 (fun a b => g' b a) t (image2 f' s u)
Theorem: Basis.mem_span_repr_support
File: Mathlib/LinearAlgebra/Basis.lean

tactic: simp [Finsupp.mem_supported_support]
state_before: ι✝ : Type ?u.58229
ι' : Type ?u.58232
R : Type u_2
R₂ : Type ?u.58238
K : Type ?u.58241
M : Type u_3
M' : Type ?u.58247
M'' : Type ?u.58250
V : Type u
V' : Type ?u.58255
inst✝⁴ : Semiring R
inst✝³ : AddCommMonoid M
inst✝² : Module R M
inst✝¹ : AddCommMonoid M'
inst✝ : Module R M'
b✝ b₁ : Basis ι✝ R M
i : ι✝
c : R
x : M
ι : Type u_1
b : Basis ι R M
m : M
⊢ ↑b.repr m ∈ Finsupp.supported R R ↑(↑b.repr m).support ∧ ↑(Finsupp.total ι M R ↑b) (↑b.repr m) = m
Theorem: Pmf.mem_support_uniformOfFintype
File: Mathlib/Probability/ProbabilityMassFunction/Uniform.lean

tactic: simp
state_before: α : Type u_1
β : Type ?u.18621
γ : Type ?u.18624
inst✝¹ : Fintype α
inst✝ : Nonempty α
a : α
⊢ a ∈ support (uniformOfFintype α)
Theorem: PNat.Coprime.factor_eq_gcd_right
File: Mathlib/Data/PNat/Prime.lean

tactic: rw [mul_comm]
state_before: a b m n : ℕ+
cop : Coprime m n
am : a ∣ m
bn : b ∣ n
⊢ a = gcd (b * a) m

tactic: apply Coprime.factor_eq_gcd_left cop am bn
state_before: a b m n : ℕ+
cop : Coprime m n
am : a ∣ m
bn : b ∣ n
⊢ a = gcd (a * b) m
Theorem: LinearMap.toMatrix_apply
File: Mathlib/LinearAlgebra/Matrix/ToLin.lean

tactic: rw [LinearMap.toMatrix, LinearEquiv.trans_apply, LinearMap.toMatrix'_apply,
  LinearEquiv.arrowCongr_apply, Basis.equivFun_symm_apply, Finset.sum_eq_single j, if_pos rfl,
  one_smul, Basis.equivFun_apply]
state_before: R : Type u_1
inst✝⁷ : CommSemiring R
l : Type ?u.1489579
m : Type u_4
n : Type u_5
inst✝⁶ : Fintype n
inst✝⁵ : Fintype m
inst✝⁴ : DecidableEq n
M₁ : Type u_2
M₂ : Type u_3
inst✝³ : AddCommMonoid M₁
inst✝² : AddCommMonoid M₂
inst✝¹ : Module R M₁
inst✝ : Module R M₂
v₁ : Basis n R M₁
v₂ : Basis m R M₂
f : M₁ →ₗ[R] M₂
i : m
j : n
⊢ ↑(toMatrix v₁ v₂) f i j = ↑(↑v₂.repr (↑f (↑v₁ j))) i

tactic: intro j' _ hj'
state_before: case h₀
R : Type u_1
inst✝⁷ : CommSemiring R
l : Type ?u.1489579
m : Type u_4
n : Type u_5
inst✝⁶ : Fintype n
inst✝⁵ : Fintype m
inst✝⁴ : DecidableEq n
M₁ : Type u_2
M₂ : Type u_3
inst✝³ : AddCommMonoid M₁
inst✝² : AddCommMonoid M₂
inst✝¹ : Module R M₁
inst✝ : Module R M₂
v₁ : Basis n R M₁
v₂ : Basis m R M₂
f : M₁ →ₗ[R] M₂
i : m
j : n
⊢ ∀ (b : n), b ∈ Finset.univ → b ≠ j → (if b = j then 1 else 0) • ↑v₁ b = 0

tactic: rw [if_neg hj', zero_smul]
state_before: case h₀
R : Type u_1
inst✝⁷ : CommSemiring R
l : Type ?u.1489579
m : Type u_4
n : Type u_5
inst✝⁶ : Fintype n
inst✝⁵ : Fintype m
inst✝⁴ : DecidableEq n
M₁ : Type u_2
M₂ : Type u_3
inst✝³ : AddCommMonoid M₁
inst✝² : AddCommMonoid M₂
inst✝¹ : Module R M₁
inst✝ : Module R M₂
v₁ : Basis n R M₁
v₂ : Basis m R M₂
f : M₁ →ₗ[R] M₂
i : m
j j' : n
a✝ : j' ∈ Finset.univ
hj' : j' ≠ j
⊢ (if j' = j then 1 else 0) • ↑v₁ j' = 0

tactic: intro hj
state_before: case h₁
R : Type u_1
inst✝⁷ : CommSemiring R
l : Type ?u.1489579
m : Type u_4
n : Type u_5
inst✝⁶ : Fintype n
inst✝⁵ : Fintype m
inst✝⁴ : DecidableEq n
M₁ : Type u_2
M₂ : Type u_3
inst✝³ : AddCommMonoid M₁
inst✝² : AddCommMonoid M₂
inst✝¹ : Module R M₁
inst✝ : Module R M₂
v₁ : Basis n R M₁
v₂ : Basis m R M₂
f : M₁ →ₗ[R] M₂
i : m
j : n
⊢ ¬j ∈ Finset.univ → (if j = j then 1 else 0) • ↑v₁ j = 0

tactic: have := Finset.mem_univ j
state_before: case h₁
R : Type u_1
inst✝⁷ : CommSemiring R
l : Type ?u.1489579
m : Type u_4
n : Type u_5
inst✝⁶ : Fintype n
inst✝⁵ : Fintype m
inst✝⁴ : DecidableEq n
M₁ : Type u_2
M₂ : Type u_3
inst✝³ : AddCommMonoid M₁
inst✝² : AddCommMonoid M₂
inst✝¹ : Module R M₁
inst✝ : Module R M₂
v₁ : Basis n R M₁
v₂ : Basis m R M₂
f : M₁ →ₗ[R] M₂
i : m
j : n
hj : ¬j ∈ Finset.univ
⊢ (if j = j then 1 else 0) • ↑v₁ j = 0

tactic: contradiction
state_before: case h₁
R : Type u_1
inst✝⁷ : CommSemiring R
l : Type ?u.1489579
m : Type u_4
n : Type u_5
inst✝⁶ : Fintype n
inst✝⁵ : Fintype m
inst✝⁴ : DecidableEq n
M₁ : Type u_2
M₂ : Type u_3
inst✝³ : AddCommMonoid M₁
inst✝² : AddCommMonoid M₂
inst✝¹ : Module R M₁
inst✝ : Module R M₂
v₁ : Basis n R M₁
v₂ : Basis m R M₂
f : M₁ →ₗ[R] M₂
i : m
j : n
hj : ¬j ∈ Finset.univ
this : j ∈ Finset.univ
⊢ (if j = j then 1 else 0) • ↑v₁ j = 0
Theorem: IntermediateField.eq_adjoin_of_eq_algebra_adjoin
File: Mathlib/FieldTheory/Adjoin.lean

tactic: apply toSubalgebra_injective
state_before: F : Type u_1
inst✝² : Field F
E : Type u_2
inst✝¹ : Field E
inst✝ : Algebra F E
S : Set E
K : IntermediateField F E
h : K.toSubalgebra = Algebra.adjoin F S
⊢ K = adjoin F S

tactic: rw [h]
state_before: case h
F : Type u_1
inst✝² : Field F
E : Type u_2
inst✝¹ : Field E
inst✝ : Algebra F E
S : Set E
K : IntermediateField F E
h : K.toSubalgebra = Algebra.adjoin F S
⊢ K.toSubalgebra = (adjoin F S).toSubalgebra

tactic: refine' (adjoin_eq_algebra_adjoin F _ _).symm
state_before: case h
F : Type u_1
inst✝² : Field F
E : Type u_2
inst✝¹ : Field E
inst✝ : Algebra F E
S : Set E
K : IntermediateField F E
h : K.toSubalgebra = Algebra.adjoin F S
⊢ Algebra.adjoin F S = (adjoin F S).toSubalgebra

tactic: intro x
state_before: case h
F : Type u_1
inst✝² : Field F
E : Type u_2
inst✝¹ : Field E
inst✝ : Algebra F E
S : Set E
K : IntermediateField F E
h : K.toSubalgebra = Algebra.adjoin F S
⊢ ∀ (x : E), x ∈ Algebra.adjoin F S → x⁻¹ ∈ Algebra.adjoin F S

tactic: convert K.inv_mem (x := x) <;> rw [← h] <;> rfl
state_before: case h
F : Type u_1
inst✝² : Field F
E : Type u_2
inst✝¹ : Field E
inst✝ : Algebra F E
S : Set E
K : IntermediateField F E
h : K.toSubalgebra = Algebra.adjoin F S
x : E
⊢ x ∈ Algebra.adjoin F S → x⁻¹ ∈ Algebra.adjoin F S
Theorem: Subgroup.bot_or_exists_ne_one
File: Mathlib/GroupTheory/Subgroup/Basic.lean

tactic: convert H.bot_or_nontrivial
state_before: G : Type u_1
G' : Type ?u.178833
inst✝² : Group G
inst✝¹ : Group G'
A : Type ?u.178842
inst✝ : AddGroup A
H✝ K H : Subgroup G
⊢ H = ⊥ ∨ ∃ x, x ∈ H ∧ x ≠ 1

tactic: rw [nontrivial_iff_exists_ne_one]
state_before: case h.e'_2.a
G : Type u_1
G' : Type ?u.178833
inst✝² : Group G
inst✝¹ : Group G'
A : Type ?u.178842
inst✝ : AddGroup A
H✝ K H : Subgroup G
⊢ (∃ x, x ∈ H ∧ x ≠ 1) ↔ Nontrivial { x // x ∈ H }
Theorem: singleton_mul_ball_one
File: Mathlib/Analysis/Normed/Group/Pointwise.lean

tactic: simp
state_before: E : Type u_1
inst✝ : SeminormedCommGroup E
ε δ : ℝ
s t : Set E
x y : E
⊢ {x} * ball 1 δ = ball x δ
Theorem: Filter.eventuallyEq_empty
File: Mathlib/Order/Filter/Basic.lean

tactic: simp
state_before: α : Type u
β : Type v
γ : Type w
δ : Type ?u.188651
ι : Sort x
s : Set α
l : Filter α
⊢ (∀ᶠ (x : α) in l, x ∈ s ↔ x ∈ ∅) ↔ ∀ᶠ (x : α) in l, ¬x ∈ s
Theorem: intervalIntegral.integral_comp_add_right
File: Mathlib/MeasureTheory/Integral/IntervalIntegral.lean

tactic: simp [intervalIntegral, A.set_integral_map]
state_before: ι : Type ?u.14853336
𝕜 : Type ?u.14853339
E : Type u_1
F : Type ?u.14853345
A✝ : Type ?u.14853348
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
a b c d✝ : ℝ
f : ℝ → E
d : ℝ
A : MeasurableEmbedding fun x => x + d
⊢ (∫ (x : ℝ) in a..b, f (x + d)) = ∫ (x : ℝ) in a + d..b + d, f x ∂Measure.map (fun x => x + d) volume

tactic: rw [map_add_right_eq_self]
state_before: ι : Type ?u.14853336
𝕜 : Type ?u.14853339
E : Type u_1
F : Type ?u.14853345
A✝ : Type ?u.14853348
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
a b c d✝ : ℝ
f : ℝ → E
d : ℝ
A : MeasurableEmbedding fun x => x + d
⊢ (∫ (x : ℝ) in a + d..b + d, f x ∂Measure.map (fun x => x + d) volume) = ∫ (x : ℝ) in a + d..b + d, f x
Theorem: FirstOrder.Language.realize_iff_of_model_completeTheory
File: Mathlib/ModelTheory/Semantics.lean

tactic: refine' ⟨fun h => _, (L.completeTheory M).realize_sentence_of_mem⟩
state_before: L : Language
L' : Language
M : Type w
N : Type u_1
P : Type ?u.600632
inst✝³ : Structure L M
inst✝² : Structure L N
inst✝¹ : Structure L P
α : Type u'
β : Type v'
n : ℕ
T : Theory L
inst✝ : N ⊨ completeTheory L M
φ : Sentence L
⊢ N ⊨ φ ↔ M ⊨ φ

tactic: contrapose! h
state_before: L : Language
L' : Language
M : Type w
N : Type u_1
P : Type ?u.600632
inst✝³ : Structure L M
inst✝² : Structure L N
inst✝¹ : Structure L P
α : Type u'
β : Type v'
n : ℕ
T : Theory L
inst✝ : N ⊨ completeTheory L M
φ : Sentence L
h : N ⊨ φ
⊢ M ⊨ φ

tactic: rw [← Sentence.realize_not] at *
state_before: L : Language
L' : Language
M : Type w
N : Type u_1
P : Type ?u.600632
inst✝³ : Structure L M
inst✝² : Structure L N
inst✝¹ : Structure L P
α : Type u'
β : Type v'
n : ℕ
T : Theory L
inst✝ : N ⊨ completeTheory L M
φ : Sentence L
h : ¬M ⊨ φ
⊢ ¬N ⊨ φ

tactic: exact (L.completeTheory M).realize_sentence_of_mem (mem_completeTheory.2 h)
state_before: L : Language
L' : Language
M : Type w
N : Type u_1
P : Type ?u.600632
inst✝³ : Structure L M
inst✝² : Structure L N
inst✝¹ : Structure L P
α : Type u'
β : Type v'
n : ℕ
T : Theory L
inst✝ : N ⊨ completeTheory L M
φ : Sentence L
h : M ⊨ Formula.not φ
⊢ N ⊨ Formula.not φ
Theorem: ContDiff.sub
File: Mathlib/Analysis/Calculus/ContDiff.lean

tactic: simpa only [sub_eq_add_neg] using hf.add hg.neg
state_before: 𝕜 : Type u_1
inst✝¹⁰ : NontriviallyNormedField 𝕜
D : Type uD
inst✝⁹ : NormedAddCommGroup D
inst✝⁸ : NormedSpace 𝕜 D
E : Type uE
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
F : Type uF
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
G : Type uG
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
X : Type ?u.1857203
inst✝¹ : NormedAddCommGroup X
inst✝ : NormedSpace 𝕜 X
s s₁ t u : Set E
f✝ f₁ : E → F
g✝ : F → G
x x₀ : E
c : F
b : E × F → G
m n : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
f g : E → F
hf : ContDiff 𝕜 n f
hg : ContDiff 𝕜 n g
⊢ ContDiff 𝕜 n fun x => f x - g x
Theorem: FreeProduct.NeWord.replaceHead_head
File: Mathlib/GroupTheory/FreeProduct.lean

tactic: induction w
state_before: ι : Type u_2
M : ι → Type u_1
inst✝¹ : (i : ι) → Monoid (M i)
N : Type ?u.614378
inst✝ : Monoid N
i j : ι
x : M i
hnotone : x ≠ 1
w : NeWord M i j
⊢ head (replaceHead x hnotone w) = x

tactic: rfl
state_before: case singleton
ι : Type u_2
M : ι → Type u_1
inst✝¹ : (i : ι) → Monoid (M i)
N : Type ?u.614378
inst✝ : Monoid N
i j i✝ : ι
x✝ : M i✝
a✝ : x✝ ≠ 1
x : M i✝
hnotone : x ≠ 1
⊢ head (replaceHead x hnotone (singleton x✝ a✝)) = x

case append
ι : Type u_2
M : ι → Type u_1
inst✝¹ : (i : ι) → Monoid (M i)
N : Type ?u.614378
inst✝ : Monoid N
i j i✝ j✝ k✝ l✝ : ι
_w₁✝ : NeWord M i✝ j✝
_hne✝ : j✝ ≠ k✝
_w₂✝ : NeWord M k✝ l✝
_w₁_ih✝ : ∀ (x : M i✝) (hnotone : x ≠ 1), head (replaceHead x hnotone _w₁✝) = x
_w₂_ih✝ : ∀ (x : M k✝) (hnotone : x ≠ 1), head (replaceHead x hnotone _w₂✝) = x
x : M i✝
hnotone : x ≠ 1
⊢ head (replaceHead x hnotone (append _w₁✝ _hne✝ _w₂✝)) = x

tactic: simp [*]
state_before: case append
ι : Type u_2
M : ι → Type u_1
inst✝¹ : (i : ι) → Monoid (M i)
N : Type ?u.614378
inst✝ : Monoid N
i j i✝ j✝ k✝ l✝ : ι
_w₁✝ : NeWord M i✝ j✝
_hne✝ : j✝ ≠ k✝
_w₂✝ : NeWord M k✝ l✝
_w₁_ih✝ : ∀ (x : M i✝) (hnotone : x ≠ 1), head (replaceHead x hnotone _w₁✝) = x
_w₂_ih✝ : ∀ (x : M k✝) (hnotone : x ≠ 1), head (replaceHead x hnotone _w₂✝) = x
x : M i✝
hnotone : x ≠ 1
⊢ head (replaceHead x hnotone (append _w₁✝ _hne✝ _w₂✝)) = x