1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: CategoryTheory.Subgroupoid.mem_im_iff
File: Mathlib/CategoryTheory/Groupoid/Subgroupoid.lean

tactic: convert Map.arrows_iff φ hφ ⊤ f
state_before: C : Type u
inst✝¹ : Groupoid C
S : Subgroupoid C
D : Type u_1
inst✝ : Groupoid D
φ : C ⥤ D
hφ : Function.Injective φ.obj
c d : D
f : c ⟶ d
⊢ f ∈ (im φ hφ).arrows c d ↔ ∃ a b g, ∃ (ha : φ.obj a = c) (hb : φ.obj b = d), f = eqToHom ⋯ ≫ φ.map g ≫ eqToHom hb
state_after: case h.e'_2.h.e'_2.h.h.e'_2.h.h.e'_2.h.h.e'_2.h.h.e'_2.h.a
C : Type u
inst✝¹ : Groupoid C
S : Subgroupoid C
D : Type u_1
inst✝ : Groupoid D
φ : C ⥤ D
hφ : Function.Injective φ.obj
c d : D
f : c ⟶ d
x✝⁴ x✝³ : C
x✝² : x✝⁴ ⟶ x✝³
x✝¹ : φ.obj x✝⁴ = c
x✝ : φ.obj x✝³ = d
⊢ f = eqToHom ⋯ ≫ φ.map x✝² ≫ eqToHom x✝ ↔ ∃ (_ : x✝² ∈ ⊤.arrows x✝⁴ x✝³), f = eqToHom ⋯ ≫ φ.map x✝² ≫ eqToHom x✝

tactic: simp only [Top.top, mem_univ, exists_true_left]
state_before: case h.e'_2.h.e'_2.h.h.e'_2.h.h.e'_2.h.h.e'_2.h.h.e'_2.h.a
C : Type u
inst✝¹ : Groupoid C
S : Subgroupoid C
D : Type u_1
inst✝ : Groupoid D
φ : C ⥤ D
hφ : Function.Injective φ.obj
c d : D
f : c ⟶ d
x✝⁴ x✝³ : C
x✝² : x✝⁴ ⟶ x✝³
x✝¹ : φ.obj x✝⁴ = c
x✝ : φ.obj x✝³ = d
⊢ f = eqToHom ⋯ ≫ φ.map x✝² ≫ eqToHom x✝ ↔ ∃ (_ : x✝² ∈ ⊤.arrows x✝⁴ x✝³), f = eqToHom ⋯ ≫ φ.map x✝² ≫ eqToHom x✝
state_after: no goals
Theorem: SimpleGraph.isClique_singleton
File: Mathlib/Combinatorics/SimpleGraph/Clique.lean

tactic: simp
state_before: α : Type u_1
β : Type u_2
G H : SimpleGraph α
s t : Set α
a✝ b a : α
⊢ G.IsClique {a}
state_after: no goals
Theorem: EuclideanGeometry.dist_reflection_eq_of_mem
File: Mathlib/Geometry/Euclidean/Basic.lean

tactic: rw [← reflection_eq_self_iff p₁] at hp₁
state_before: V : Type u_1
P : Type u_2
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : InnerProductSpace ℝ V
inst✝³ : MetricSpace P
inst✝² : NormedAddTorsor V P
s : AffineSubspace ℝ P
inst✝¹ : Nonempty ↥s
inst✝ : HasOrthogonalProjection s.direction
p₁ : P
hp₁ : p₁ ∈ s
p₂ : P
⊢ dist p₁ ((reflection s) p₂) = dist p₁ p₂
state_after: V : Type u_1
P : Type u_2
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : InnerProductSpace ℝ V
inst✝³ : MetricSpace P
inst✝² : NormedAddTorsor V P
s : AffineSubspace ℝ P
inst✝¹ : Nonempty ↥s
inst✝ : HasOrthogonalProjection s.direction
p₁ : P
hp₁ : (reflection s) p₁ = p₁
p₂ : P
⊢ dist p₁ ((reflection s) p₂) = dist p₁ p₂

tactic: convert (reflection s).dist_map p₁ p₂
state_before: V : Type u_1
P : Type u_2
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : InnerProductSpace ℝ V
inst✝³ : MetricSpace P
inst✝² : NormedAddTorsor V P
s : AffineSubspace ℝ P
inst✝¹ : Nonempty ↥s
inst✝ : HasOrthogonalProjection s.direction
p₁ : P
hp₁ : (reflection s) p₁ = p₁
p₂ : P
⊢ dist p₁ ((reflection s) p₂) = dist p₁ p₂
state_after: case h.e'_2.h.e'_3
V : Type u_1
P : Type u_2
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : InnerProductSpace ℝ V
inst✝³ : MetricSpace P
inst✝² : NormedAddTorsor V P
s : AffineSubspace ℝ P
inst✝¹ : Nonempty ↥s
inst✝ : HasOrthogonalProjection s.direction
p₁ : P
hp₁ : (reflection s) p₁ = p₁
p₂ : P
⊢ p₁ = (reflection s) p₁

tactic: rw [hp₁]
state_before: case h.e'_2.h.e'_3
V : Type u_1
P : Type u_2
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : InnerProductSpace ℝ V
inst✝³ : MetricSpace P
inst✝² : NormedAddTorsor V P
s : AffineSubspace ℝ P
inst✝¹ : Nonempty ↥s
inst✝ : HasOrthogonalProjection s.direction
p₁ : P
hp₁ : (reflection s) p₁ = p₁
p₂ : P
⊢ p₁ = (reflection s) p₁
state_after: no goals
Theorem: Set.prod_eq_biUnion_left
File: Mathlib/Data/Set/Lattice.lean

tactic: rw [iUnion_image_left, image2_mk_eq_prod]
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 ×ˢ t = ⋃ a ∈ s, (fun b => (a, b)) '' t
state_after: no goals
Theorem: forall_and_left
File: Mathlib/Logic/Basic.lean

tactic: rw [forall_and, forall_const]
state_before: α : Sort u_1
r p✝ q✝ : α → Prop
P Q : (x : α) → p✝ x → Prop
b : Prop
inst✝ : Nonempty α
q : Prop
p : α → Prop
⊢ (∀ (x : α), q ∧ p x) ↔ q ∧ ∀ (x : α), p x
state_after: no goals
Theorem: Relation.TransGen.head'_iff
File: Mathlib/Logic/Relation.lean

tactic: refine ⟨fun h ↦ ?_, fun ⟨b, hab, hbc⟩ ↦ head' hab hbc⟩
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ε : Type u_5
ζ : Type u_6
r : α → α → Prop
a b c d : α
⊢ TransGen r a c ↔ ∃ b, r a b ∧ ReflTransGen r b c
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ε : Type u_5
ζ : Type u_6
r : α → α → Prop
a b c d : α
h : TransGen r a c
⊢ ∃ b, r a b ∧ ReflTransGen r b c

tactic: induction h with
| single hac => exact ⟨_, hac, by rfl⟩
| tail _ hbc IH =>
rcases IH with ⟨d, had, hdb⟩
exact ⟨_, had, hdb.tail hbc⟩
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ε : Type u_5
ζ : Type u_6
r : α → α → Prop
a b c d : α
h : TransGen r a c
⊢ ∃ b, r a b ∧ ReflTransGen r b c
state_after: no goals

tactic: exact ⟨_, hac, by rfl⟩
state_before: case single
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ε : Type u_5
ζ : Type u_6
r : α → α → Prop
a b c d b✝ : α
hac : r a b✝
⊢ ∃ b, r a b ∧ ReflTransGen r b b✝
state_after: no goals

tactic: rfl
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ε : Type u_5
ζ : Type u_6
r : α → α → Prop
a b c d b✝ : α
hac : r a b✝
⊢ ReflTransGen r b✝ b✝
state_after: no goals

tactic: rcases IH with ⟨d, had, hdb⟩
state_before: case tail
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ε : Type u_5
ζ : Type u_6
r : α → α → Prop
a b c d b✝ c✝ : α
a✝ : TransGen r a b✝
hbc : r b✝ c✝
IH : ∃ b, r a b ∧ ReflTransGen r b b✝
⊢ ∃ b, r a b ∧ ReflTransGen r b c✝
state_after: case tail.intro.intro
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ε : Type u_5
ζ : Type u_6
r : α → α → Prop
a b c d✝ b✝ c✝ : α
a✝ : TransGen r a b✝
hbc : r b✝ c✝
d : α
had : r a d
hdb : ReflTransGen r d b✝
⊢ ∃ b, r a b ∧ ReflTransGen r b c✝

tactic: exact ⟨_, had, hdb.tail hbc⟩
state_before: case tail.intro.intro
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ε : Type u_5
ζ : Type u_6
r : α → α → Prop
a b c d✝ b✝ c✝ : α
a✝ : TransGen r a b✝
hbc : r b✝ c✝
d : α
had : r a d
hdb : ReflTransGen r d b✝
⊢ ∃ b, r a b ∧ ReflTransGen r b c✝
state_after: no goals
Theorem: Nat.multichoose_zero_succ
File: Mathlib/Data/Nat/Choose/Basic.lean

tactic: simp [multichoose]
state_before: k : ℕ
⊢ multichoose 0 (k + 1) = 0
state_after: no goals
Theorem: Set.image_image2_distrib_right
File: Mathlib/Data/Set/NAry.lean

tactic: rw [image_id']
state_before: α : Type u_1
α' : Type u_2
β : Type u_3
β' : Type u_4
γ : Type u_5
γ' : Type u_6
δ : Type u_7
δ' : Type u_8
ε : Type u_9
ε' : Type u_10
ζ : Type u_11
ζ' : Type u_12
ν : Type u_13
f f'✝ : α → β → γ
g✝ g'✝ : α → β → γ → δ
s s' : Set α
t t' : Set β
u u' : Set γ
v : Set δ
a a' : α
b b' : β
c c' : γ
d d' : δ
g : γ → δ
f' : α → β' → δ
g' : β → β'
h_distrib : ∀ (a : α) (b : β), g (f a b) = f' a (g' b)
⊢ image2 f' ((fun a => a) '' s) (g' '' t) = image2 f' s (g' '' t)
state_after: no goals
Theorem: IsGδ.inter
File: Mathlib/Topology/GDelta.lean

tactic: rw [inter_eq_iInter]
state_before: X : Type u_1
Y : Type u_2
ι : Type u_3
ι' : Sort u_4
inst✝ : TopologicalSpace X
s t : Set X
hs : IsGδ s
ht : IsGδ t
⊢ IsGδ (s ∩ t)
state_after: X : Type u_1
Y : Type u_2
ι : Type u_3
ι' : Sort u_4
inst✝ : TopologicalSpace X
s t : Set X
hs : IsGδ s
ht : IsGδ t
⊢ IsGδ (⋂ b, bif b then s else t)

tactic: exact .iInter (Bool.forall_bool.2 ⟨ht, hs⟩)
state_before: X : Type u_1
Y : Type u_2
ι : Type u_3
ι' : Sort u_4
inst✝ : TopologicalSpace X
s t : Set X
hs : IsGδ s
ht : IsGδ t
⊢ IsGδ (⋂ b, bif b then s else t)
state_after: no goals
Theorem: AffineBasis.coord_apply_combination_of_mem
File: Mathlib/LinearAlgebra/AffineSpace/Basis.lean

tactic: classical simp only [coord_apply, hi, Finset.affineCombination_eq_linear_combination, if_true,
    mul_boole, hw, Function.comp_apply, smul_eq_mul, s.sum_ite_eq,
    s.map_affineCombination b w hw]
state_before: ι : Type u_1
ι' : Type u_2
k : Type u_3
V : Type u_4
P : Type u_5
inst✝³ : AddCommGroup V
inst✝² : AffineSpace V P
inst✝¹ : Ring k
inst✝ : Module k V
b : AffineBasis ι k P
s : Finset ι
i j : ι
e : ι ≃ ι'
hi : i ∈ s
w : ι → k
hw : s.sum w = 1
⊢ (b.coord i) ((Finset.affineCombination k s ⇑b) w) = w i
state_after: no goals

tactic: simp only [coord_apply, hi, Finset.affineCombination_eq_linear_combination, if_true,
mul_boole, hw, Function.comp_apply, smul_eq_mul, s.sum_ite_eq,
s.map_affineCombination b w hw]
state_before: ι : Type u_1
ι' : Type u_2
k : Type u_3
V : Type u_4
P : Type u_5
inst✝³ : AddCommGroup V
inst✝² : AffineSpace V P
inst✝¹ : Ring k
inst✝ : Module k V
b : AffineBasis ι k P
s : Finset ι
i j : ι
e : ι ≃ ι'
hi : i ∈ s
w : ι → k
hw : s.sum w = 1
⊢ (b.coord i) ((Finset.affineCombination k s ⇑b) w) = w i
state_after: no goals
Theorem: Finset.image₂_subset_iff_right
File: Mathlib/Data/Finset/NAry.lean

tactic: simp_rw [image₂_subset_iff, image_subset_iff, @forall₂_swap α]
state_before: α : Type u_1
α' : Type u_2
β : Type u_3
β' : Type u_4
γ : Type u_5
γ' : Type u_6
δ : Type u_7
δ' : Type u_8
ε : Type u_9
ε' : Type u_10
ζ : Type u_11
ζ' : Type u_12
ν : Type u_13
inst✝⁷ : DecidableEq α'
inst✝⁶ : DecidableEq β'
inst✝⁵ : DecidableEq γ
inst✝⁴ : DecidableEq γ'
inst✝³ : DecidableEq δ
inst✝² : DecidableEq δ'
inst✝¹ : DecidableEq ε
inst✝ : DecidableEq ε'
f f' : α → β → γ
g g' : α → β → γ → δ
s s' : Finset α
t t' : Finset β
u u' : Finset γ
a a' : α
b b' : β
c : γ
⊢ image₂ f s t ⊆ u ↔ ∀ b ∈ t, image (fun a => f a b) s ⊆ u
state_after: no goals
Theorem: Cubic.leadingCoeff_of_c_eq_zero
File: Mathlib/Algebra/CubicDiscriminant.lean

tactic: rw [of_c_eq_zero ha hb hc, leadingCoeff_C]
state_before: R : Type u_1
S : Type u_2
F : Type u_3
K : Type u_4
P Q : Cubic R
a b c d a' b' c' d' : R
inst✝ : Semiring R
ha : P.a = 0
hb : P.b = 0
hc : P.c = 0
⊢ P.toPoly.leadingCoeff = P.d
state_after: no goals
Theorem: SimpleGraph.neighborSet_subgraphOfAdj_of_ne_of_ne
File: Mathlib/Combinatorics/SimpleGraph/Subgraph.lean

tactic: ext
state_before: ι : Sort u_1
V : Type u
W : Type v
G : SimpleGraph V
G' : SimpleGraph W
u v w : V
hvw : G.Adj v w
hv : u ≠ v
hw : u ≠ w
⊢ (G.subgraphOfAdj hvw).neighborSet u = ∅
state_after: case h
ι : Sort u_1
V : Type u
W : Type v
G : SimpleGraph V
G' : SimpleGraph W
u v w : V
hvw : G.Adj v w
hv : u ≠ v
hw : u ≠ w
x✝ : V
⊢ x✝ ∈ (G.subgraphOfAdj hvw).neighborSet u ↔ x✝ ∈ ∅

tactic: simp [hv.symm, hw.symm]
state_before: case h
ι : Sort u_1
V : Type u
W : Type v
G : SimpleGraph V
G' : SimpleGraph W
u v w : V
hvw : G.Adj v w
hv : u ≠ v
hw : u ≠ w
x✝ : V
⊢ x✝ ∈ (G.subgraphOfAdj hvw).neighborSet u ↔ x✝ ∈ ∅
state_after: no goals
Theorem: Finset.one_le_prod'
File: Mathlib/Algebra/Order/BigOperators/Group/Finset.lean

tactic: rw [prod_const_one]
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
M : Type u_4
N : Type u_5
G : Type u_6
k : Type u_7
R : Type u_8
inst✝¹ : CommMonoid M
inst✝ : OrderedCommMonoid N
f g : ι → N
s t : Finset ι
h : ∀ i ∈ s, 1 ≤ f i
⊢ 1 ≤ ∏ i ∈ s, 1
state_after: no goals
Theorem: toIcoDiv_sub_zsmul'
File: Mathlib/Algebra/Order/ToIntervalMod.lean

tactic: rw [sub_eq_add_neg, ← neg_smul, toIcoDiv_add_zsmul', sub_neg_eq_add]
state_before: α : Type u_1
inst✝ : LinearOrderedAddCommGroup α
hα : Archimedean α
p : α
hp : 0 < p
a✝ b✝ c : α
n : ℤ
a b : α
m : ℤ
⊢ toIcoDiv hp (a - m • p) b = toIcoDiv hp a b + m
state_after: no goals
Theorem: WeierstrassCurve.Affine.CoordinateRing.mk_ψ₂_sq
File: Mathlib/AlgebraicGeometry/EllipticCurve/DivisionPolynomial/Basic.lean

tactic: rw [C_Ψ₂Sq, map_sub, map_mul, AdjoinRoot.mk_self, mul_zero, sub_zero, map_pow]
state_before: R : Type r
S : Type s
inst✝¹ : CommRing R
inst✝ : CommRing S
W : WeierstrassCurve R
⊢ (mk W) W.ψ₂ ^ 2 = (mk W) (C W.Ψ₂Sq)
state_after: no goals
Theorem: DirectSum.coe_decompose_mul_add_of_left_mem
File: Mathlib/RingTheory/GradedAlgebra/Basic.lean

tactic: lift a to 𝒜 i using a_mem
state_before: ι : Type u_1
R : Type u_2
A : Type u_3
σ : Type u_4
inst✝⁵ : DecidableEq ι
inst✝⁴ : Semiring A
inst✝³ : SetLike σ A
inst✝² : AddSubmonoidClass σ A
𝒜 : ι → σ
i j : ι
inst✝¹ : AddLeftCancelMonoid ι
inst✝ : GradedRing 𝒜
a b : A
a_mem : a ∈ 𝒜 i
⊢ ↑(((decompose 𝒜) (a * b)) (i + j)) = a * ↑(((decompose 𝒜) b) j)
state_after: case intro
ι : Type u_1
R : Type u_2
A : Type u_3
σ : Type u_4
inst✝⁵ : DecidableEq ι
inst✝⁴ : Semiring A
inst✝³ : SetLike σ A
inst✝² : AddSubmonoidClass σ A
𝒜 : ι → σ
i j : ι
inst✝¹ : AddLeftCancelMonoid ι
inst✝ : GradedRing 𝒜
b : A
a : ↥(𝒜 i)
⊢ ↑(((decompose 𝒜) (↑a * b)) (i + j)) = ↑a * ↑(((decompose 𝒜) b) j)

tactic: rw [decompose_mul, decompose_coe, coe_of_mul_apply_add]
state_before: case intro
ι : Type u_1
R : Type u_2
A : Type u_3
σ : Type u_4
inst✝⁵ : DecidableEq ι
inst✝⁴ : Semiring A
inst✝³ : SetLike σ A
inst✝² : AddSubmonoidClass σ A
𝒜 : ι → σ
i j : ι
inst✝¹ : AddLeftCancelMonoid ι
inst✝ : GradedRing 𝒜
b : A
a : ↥(𝒜 i)
⊢ ↑(((decompose 𝒜) (↑a * b)) (i + j)) = ↑a * ↑(((decompose 𝒜) b) j)
state_after: no goals
Theorem: LieModule.weightSpace_neg_add_chainBot
File: Mathlib/Algebra/Lie/Weights/Chain.lean

tactic: rw [← chainTop_neg, weightSpace_add_chainTop _ _ (by simpa using hα)]
state_before: R : Type u_1
L : Type u_2
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
M : Type u_3
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : LieAlgebra.IsNilpotent R L
inst✝² : NoZeroSMulDivisors ℤ R
inst✝¹ : NoZeroSMulDivisors R M
inst✝ : IsNoetherian R M
α : L → R
β : Weight R L M
hα : α ≠ 0
⊢ weightSpace M (-α + ⇑(chainBot α β)) = ⊥
state_after: no goals

tactic: simpa using hα
state_before: R : Type u_1
L : Type u_2
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
M : Type u_3
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : LieAlgebra.IsNilpotent R L
inst✝² : NoZeroSMulDivisors ℤ R
inst✝¹ : NoZeroSMulDivisors R M
inst✝ : IsNoetherian R M
α : L → R
β : Weight R L M
hα : α ≠ 0
⊢ -α ≠ 0
state_after: no goals
Theorem: HasFiniteFPowerSeriesOnBall.eq_partialSum'
File: Mathlib/Analysis/Analytic/CPolynomial.lean

tactic: intro y hy m hm
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
f g : E → F
p pf pg : FormalMultilinearSeries 𝕜 E F
x : E
r r' : ℝ≥0∞
n m : ℕ
hf : HasFiniteFPowerSeriesOnBall f p x n r
⊢ ∀ y ∈ EMetric.ball x r, ∀ (m : ℕ), n ≤ m → f y = p.partialSum m (y - x)
state_after: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
f g : E → F
p pf pg : FormalMultilinearSeries 𝕜 E F
x : E
r r' : ℝ≥0∞
n m✝ : ℕ
hf : HasFiniteFPowerSeriesOnBall f p x n r
y : E
hy : y ∈ EMetric.ball x r
m : ℕ
hm : n ≤ m
⊢ f y = p.partialSum m (y - x)

tactic: rw [EMetric.mem_ball, edist_eq_coe_nnnorm_sub, ← mem_emetric_ball_zero_iff] at hy
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
f g : E → F
p pf pg : FormalMultilinearSeries 𝕜 E F
x : E
r r' : ℝ≥0∞
n m✝ : ℕ
hf : HasFiniteFPowerSeriesOnBall f p x n r
y : E
hy : y ∈ EMetric.ball x r
m : ℕ
hm : n ≤ m
⊢ f y = p.partialSum m (y - x)
state_after: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
f g : E → F
p pf pg : FormalMultilinearSeries 𝕜 E F
x : E
r r' : ℝ≥0∞
n m✝ : ℕ
hf : HasFiniteFPowerSeriesOnBall f p x n r
y : E
hy : y - x ∈ EMetric.ball 0 r
m : ℕ
hm : n ≤ m
⊢ f y = p.partialSum m (y - x)

tactic: rw [← (HasFiniteFPowerSeriesOnBall.eq_partialSum hf _ hy m hm), add_sub_cancel]
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
f g : E → F
p pf pg : FormalMultilinearSeries 𝕜 E F
x : E
r r' : ℝ≥0∞
n m✝ : ℕ
hf : HasFiniteFPowerSeriesOnBall f p x n r
y : E
hy : y - x ∈ EMetric.ball 0 r
m : ℕ
hm : n ≤ m
⊢ f y = p.partialSum m (y - x)
state_after: no goals
Theorem: Order.Ideal.IsProper.not_mem_or_compl_not_mem
File: Mathlib/Order/Ideal.lean

tactic: have h : xᶜ ∈ I → x ∉ I := hI.not_mem_of_compl_mem
state_before: P : Type u_1
inst✝ : BooleanAlgebra P
x : P
I : Ideal P
hI : I.IsProper
⊢ x ∉ I ∨ xᶜ ∉ I
state_after: P : Type u_1
inst✝ : BooleanAlgebra P
x : P
I : Ideal P
hI : I.IsProper
h : xᶜ ∈ I → x ∉ I
⊢ x ∉ I ∨ xᶜ ∉ I

tactic: tauto
state_before: P : Type u_1
inst✝ : BooleanAlgebra P
x : P
I : Ideal P
hI : I.IsProper
h : xᶜ ∈ I → x ∉ I
⊢ x ∉ I ∨ xᶜ ∉ I
state_after: no goals
Theorem: Multiset.sym2_eq_zero_iff
File: Mathlib/Data/Multiset/Sym.lean

tactic: simp
state_before: α : Type u_1
m : Multiset α
xs : List α
⊢ Multiset.sym2 ⟦xs⟧ = 0 ↔ ⟦xs⟧ = 0
state_after: no goals
Theorem: CategoryTheory.Localization.Construction.natTrans_hcomp_injective
File: Mathlib/CategoryTheory/Localization/Construction.lean

tactic: ext X
state_before: C : Type uC
inst✝¹ : Category.{uC', uC} C
W : MorphismProperty C
D : Type uD
inst✝ : Category.{uD', uD} D
G✝ : C ⥤ D
hG : W.IsInvertedBy G✝
F G : W.Localization ⥤ D
τ₁ τ₂ : F ⟶ G
h : 𝟙 W.Q ◫ τ₁ = 𝟙 W.Q ◫ τ₂
⊢ τ₁ = τ₂
state_after: case w.h
C : Type uC
inst✝¹ : Category.{uC', uC} C
W : MorphismProperty C
D : Type uD
inst✝ : Category.{uD', uD} D
G✝ : C ⥤ D
hG : W.IsInvertedBy G✝
F G : W.Localization ⥤ D
τ₁ τ₂ : F ⟶ G
h : 𝟙 W.Q ◫ τ₁ = 𝟙 W.Q ◫ τ₂
X : W.Localization
⊢ τ₁.app X = τ₂.app X

tactic: have eq := (objEquiv W).right_inv X
state_before: case w.h
C : Type uC
inst✝¹ : Category.{uC', uC} C
W : MorphismProperty C
D : Type uD
inst✝ : Category.{uD', uD} D
G✝ : C ⥤ D
hG : W.IsInvertedBy G✝
F G : W.Localization ⥤ D
τ₁ τ₂ : F ⟶ G
h : 𝟙 W.Q ◫ τ₁ = 𝟙 W.Q ◫ τ₂
X : W.Localization
⊢ τ₁.app X = τ₂.app X
state_after: case w.h
C : Type uC
inst✝¹ : Category.{uC', uC} C
W : MorphismProperty C
D : Type uD
inst✝ : Category.{uD', uD} D
G✝ : C ⥤ D
hG : W.IsInvertedBy G✝
F G : W.Localization ⥤ D
τ₁ τ₂ : F ⟶ G
h : 𝟙 W.Q ◫ τ₁ = 𝟙 W.Q ◫ τ₂
X : W.Localization
eq : (objEquiv W).toFun ((objEquiv W).invFun X) = X
⊢ τ₁.app X = τ₂.app X

tactic: simp only [objEquiv] at eq
state_before: case w.h
C : Type uC
inst✝¹ : Category.{uC', uC} C
W : MorphismProperty C
D : Type uD
inst✝ : Category.{uD', uD} D
G✝ : C ⥤ D
hG : W.IsInvertedBy G✝
F G : W.Localization ⥤ D
τ₁ τ₂ : F ⟶ G
h : 𝟙 W.Q ◫ τ₁ = 𝟙 W.Q ◫ τ₂
X : W.Localization
eq : (objEquiv W).toFun ((objEquiv W).invFun X) = X
⊢ τ₁.app X = τ₂.app X
state_after: case w.h
C : Type uC
inst✝¹ : Category.{uC', uC} C
W : MorphismProperty C
D : Type uD
inst✝ : Category.{uD', uD} D
G✝ : C ⥤ D
hG : W.IsInvertedBy G✝
F G : W.Localization ⥤ D
τ₁ τ₂ : F ⟶ G
h : 𝟙 W.Q ◫ τ₁ = 𝟙 W.Q ◫ τ₂
X : W.Localization
eq : W.Q.obj X.as.obj = X
⊢ τ₁.app X = τ₂.app X

tactic: rw [← eq, ← NatTrans.id_hcomp_app, ← NatTrans.id_hcomp_app, h]
state_before: case w.h
C : Type uC
inst✝¹ : Category.{uC', uC} C
W : MorphismProperty C
D : Type uD
inst✝ : Category.{uD', uD} D
G✝ : C ⥤ D
hG : W.IsInvertedBy G✝
F G : W.Localization ⥤ D
τ₁ τ₂ : F ⟶ G
h : 𝟙 W.Q ◫ τ₁ = 𝟙 W.Q ◫ τ₂
X : W.Localization
eq : W.Q.obj X.as.obj = X
⊢ τ₁.app X = τ₂.app X
state_after: no goals
Theorem: ContinuousLinearMap.toSpanSingleton_add
File: Mathlib/Topology/Algebra/Module/Basic.lean

tactic: ext1
state_before: R₁ : Type u_1
R₂ : Type u_2
R₃ : Type u_3
inst✝²² : Semiring R₁
inst✝²¹ : Semiring R₂
inst✝²⁰ : Semiring R₃
σ₁₂ : R₁ →+* R₂
σ₂₃ : R₂ →+* R₃
σ₁₃ : R₁ →+* R₃
M₁ : Type u_4
inst✝¹⁹ : TopologicalSpace M₁
inst✝¹⁸ : AddCommMonoid M₁
M'₁ : Type u_5
inst✝¹⁷ : TopologicalSpace M'₁
inst✝¹⁶ : AddCommMonoid M'₁
M₂ : Type u_6
inst✝¹⁵ : TopologicalSpace M₂
inst✝¹⁴ : AddCommMonoid M₂
M₃ : Type u_7
inst✝¹³ : TopologicalSpace M₃
inst✝¹² : AddCommMonoid M₃
M₄ : Type u_8
inst✝¹¹ : TopologicalSpace M₄
inst✝¹⁰ : AddCommMonoid M₄
inst✝⁹ : Module R₁ M₁
inst✝⁸ : Module R₁ M'₁
inst✝⁷ : Module R₂ M₂
inst✝⁶ : Module R₃ M₃
inst✝⁵ : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
F : Type u_9
inst✝⁴ : Module R₁ M₂
inst✝³ : TopologicalSpace R₁
inst✝² : ContinuousSMul R₁ M₂
inst✝¹ : ContinuousSMul R₁ M₁
inst✝ : ContinuousAdd M₁
x y : M₁
⊢ toSpanSingleton R₁ (x + y) = toSpanSingleton R₁ x + toSpanSingleton R₁ y
state_after: case h
R₁ : Type u_1
R₂ : Type u_2
R₃ : Type u_3
inst✝²² : Semiring R₁
inst✝²¹ : Semiring R₂
inst✝²⁰ : Semiring R₃
σ₁₂ : R₁ →+* R₂
σ₂₃ : R₂ →+* R₃
σ₁₃ : R₁ →+* R₃
M₁ : Type u_4
inst✝¹⁹ : TopologicalSpace M₁
inst✝¹⁸ : AddCommMonoid M₁
M'₁ : Type u_5
inst✝¹⁷ : TopologicalSpace M'₁
inst✝¹⁶ : AddCommMonoid M'₁
M₂ : Type u_6
inst✝¹⁵ : TopologicalSpace M₂
inst✝¹⁴ : AddCommMonoid M₂
M₃ : Type u_7
inst✝¹³ : TopologicalSpace M₃
inst✝¹² : AddCommMonoid M₃
M₄ : Type u_8
inst✝¹¹ : TopologicalSpace M₄
inst✝¹⁰ : AddCommMonoid M₄
inst✝⁹ : Module R₁ M₁
inst✝⁸ : Module R₁ M'₁
inst✝⁷ : Module R₂ M₂
inst✝⁶ : Module R₃ M₃
inst✝⁵ : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
F : Type u_9
inst✝⁴ : Module R₁ M₂
inst✝³ : TopologicalSpace R₁
inst✝² : ContinuousSMul R₁ M₂
inst✝¹ : ContinuousSMul R₁ M₁
inst✝ : ContinuousAdd M₁
x y : M₁
⊢ (toSpanSingleton R₁ (x + y)) 1 = (toSpanSingleton R₁ x + toSpanSingleton R₁ y) 1

tactic: simp [toSpanSingleton_apply]
state_before: case h
R₁ : Type u_1
R₂ : Type u_2
R₃ : Type u_3
inst✝²² : Semiring R₁
inst✝²¹ : Semiring R₂
inst✝²⁰ : Semiring R₃
σ₁₂ : R₁ →+* R₂
σ₂₃ : R₂ →+* R₃
σ₁₃ : R₁ →+* R₃
M₁ : Type u_4
inst✝¹⁹ : TopologicalSpace M₁
inst✝¹⁸ : AddCommMonoid M₁
M'₁ : Type u_5
inst✝¹⁷ : TopologicalSpace M'₁
inst✝¹⁶ : AddCommMonoid M'₁
M₂ : Type u_6
inst✝¹⁵ : TopologicalSpace M₂
inst✝¹⁴ : AddCommMonoid M₂
M₃ : Type u_7
inst✝¹³ : TopologicalSpace M₃
inst✝¹² : AddCommMonoid M₃
M₄ : Type u_8
inst✝¹¹ : TopologicalSpace M₄
inst✝¹⁰ : AddCommMonoid M₄
inst✝⁹ : Module R₁ M₁
inst✝⁸ : Module R₁ M'₁
inst✝⁷ : Module R₂ M₂
inst✝⁶ : Module R₃ M₃
inst✝⁵ : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
F : Type u_9
inst✝⁴ : Module R₁ M₂
inst✝³ : TopologicalSpace R₁
inst✝² : ContinuousSMul R₁ M₂
inst✝¹ : ContinuousSMul R₁ M₁
inst✝ : ContinuousAdd M₁
x y : M₁
⊢ (toSpanSingleton R₁ (x + y)) 1 = (toSpanSingleton R₁ x + toSpanSingleton R₁ y) 1
state_after: no goals
Theorem: mem_maximals_iff_forall_lt_not_mem'
File: Mathlib/Order/Minimal.lean

tactic: simp [maximals, right_iff_left_not_left_of r rlt, not_imp_not, imp.swap (a := _ ∈ _)]
state_before: α : Type u_1
β : Type u_2
r r₁ r₂ : α → α → Prop
s t : Set α
a b x : α
inst✝¹ : IsAntisymm α r
rlt : α → α → Prop
inst✝ : IsNonstrictStrictOrder α r rlt
⊢ x ∈ maximals r s ↔ x ∈ s ∧ ∀ ⦃y : α⦄, rlt x y → y ∉ s
state_after: no goals
Theorem: Equiv.Set.sumCompl_symm_apply_of_not_mem
File: Mathlib/Logic/Equiv/Set.lean

tactic: have : ((⟨x, Or.inr hx⟩ : (s ∪ sᶜ : Set α)) : α) ∈ sᶜ := hx
state_before: α✝ : Sort u
β : Sort v
γ : Sort w
α : Type u
s : Set α
inst✝ : DecidablePred fun x => x ∈ s
x : α
hx : x ∉ s
⊢ (Set.sumCompl s).symm x = Sum.inr ⟨x, hx⟩
state_after: α✝ : Sort u
β : Sort v
γ : Sort w
α : Type u
s : Set α
inst✝ : DecidablePred fun x => x ∈ s
x : α
hx : x ∉ s
this : ↑⟨x, ⋯⟩ ∈ sᶜ
⊢ (Set.sumCompl s).symm x = Sum.inr ⟨x, hx⟩

tactic: rw [Equiv.Set.sumCompl]
state_before: α✝ : Sort u
β : Sort v
γ : Sort w
α : Type u
s : Set α
inst✝ : DecidablePred fun x => x ∈ s
x : α
hx : x ∉ s
this : ↑⟨x, ⋯⟩ ∈ sᶜ
⊢ (Set.sumCompl s).symm x = Sum.inr ⟨x, hx⟩
state_after: α✝ : Sort u
β : Sort v
γ : Sort w
α : Type u
s : Set α
inst✝ : DecidablePred fun x => x ∈ s
x : α
hx : x ∉ s
this : ↑⟨x, ⋯⟩ ∈ sᶜ
⊢ (Trans.trans (Trans.trans (Set.union ⋯).symm (Set.ofEq ⋯)) (Set.univ α)).symm x = Sum.inr ⟨x, hx⟩

tactic: simpa using Set.union_apply_right (by simp) this
state_before: α✝ : Sort u
β : Sort v
γ : Sort w
α : Type u
s : Set α
inst✝ : DecidablePred fun x => x ∈ s
x : α
hx : x ∉ s
this : ↑⟨x, ⋯⟩ ∈ sᶜ
⊢ (Trans.trans (Trans.trans (Set.union ⋯).symm (Set.ofEq ⋯)) (Set.univ α)).symm x = Sum.inr ⟨x, hx⟩
state_after: no goals

tactic: simp
state_before: α✝ : Sort u
β : Sort v
γ : Sort w
α : Type u
s : Set α
inst✝ : DecidablePred fun x => x ∈ s
x : α
hx : x ∉ s
this : ↑⟨x, ⋯⟩ ∈ sᶜ
⊢ s ∩ sᶜ ⊆ ∅
state_after: no goals