ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
Theorem: CategoryTheory.Functor.isLeftKanExtension_iff_isIso
File: Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean

Proof steps:
state_before: C : Type u_1
C' : Type u_2
H : Type u_3
H' : Type u_4
D : Type u_5
D' : Type u_6
inst✝⁷ : Category.{u_9, u_1} C
inst✝⁶ : Category.{?u.58489, u_2} C'
inst✝⁵ : Category.{u_8, u_3} H
inst✝⁴ : Category.{?u.58497, u_4} H'
inst✝³ : Category.{u_7, u_5} D
inst✝² : Category.{?u.58505, u_6} D'
F'✝ : D ⥤ H
L✝ : C ⥤ D
F✝ : C ⥤ H
α✝ : F✝ ⟶ L✝ ⋙ F'✝
inst✝¹ : F'✝.IsLeftKanExtension α✝
F' F'' : D ⥤ H
φ : F' ⟶ F''
L : C ⥤ D
F : C ⥤ H
α : F ⟶ L ⋙ F'
α' : F ⟶ L ⋙ F''
comm : α ≫ whiskerLeft L φ = α'
inst✝ : F'.IsLeftKanExtension α
⊢ F''.IsLeftKanExtension α' ↔ IsIso φ
state_after: case mp
C : Type u_1
C' : Type u_2
H : Type u_3
H' : Type u_4
D : Type u_5
D' : Type u_6
inst✝⁷ : Category.{u_9, u_1} C
inst✝⁶ : Category.{?u.58489, u_2} C'
inst✝⁵ : Category.{u_8, u_3} H
inst✝⁴ : Category.{?u.58497, u_4} H'
inst✝³ : Category.{u_7, u_5} D
inst✝² : Category.{?u.58505, u_6} D'
F'✝ : D ⥤ H
L✝ : C ⥤ D
F✝ : C ⥤ H
α✝ : F✝ ⟶ L✝ ⋙ F'✝
inst✝¹ : F'✝.IsLeftKanExtension α✝
F' F'' : D ⥤ H
φ : F' ⟶ F''
L : C ⥤ D
F : C ⥤ H
α : F ⟶ L ⋙ F'
α' : F ⟶ L ⋙ F''
comm : α ≫ whiskerLeft L φ = α'
inst✝ : F'.IsLeftKanExtension α
⊢ F''.IsLeftKanExtension α' → IsIso φ

case mpr
C : Type u_1
C' : Type u_2
H : Type u_3
H' : Type u_4
D : Type u_5
D' : Type u_6
inst✝⁷ : Category.{u_9, u_1} C
inst✝⁶ : Category.{?u.58489, u_2} C'
inst✝⁵ : Category.{u_8, u_3} H
inst✝⁴ : Category.{?u.58497, u_4} H'
inst✝³ : Category.{u_7, u_5} D
inst✝² : Category.{?u.58505, u_6} D'
F'✝ : D ⥤ H
L✝ : C ⥤ D
F✝ : C ⥤ H
α✝ : F✝ ⟶ L✝ ⋙ F'✝
inst✝¹ : F'✝.IsLeftKanExtension α✝
F' F'' : D ⥤ H
φ : F' ⟶ F''
L : C ⥤ D
F : C ⥤ H
α : F ⟶ L ⋙ F'
α' : F ⟶ L ⋙ F''
comm : α ≫ whiskerLeft L φ = α'
inst✝ : F'.IsLeftKanExtension α
⊢ IsIso φ → F''.IsLeftKanExtension α'
tactic: constructor
Theorem: CategoryTheory.isZero_Tor_succ_of_projective
File: Mathlib/CategoryTheory/Monoidal/Tor.lean

Proof steps:
state_before: C : Type u_1
inst✝⁵ : Category.{u_2, u_1} C
inst✝⁴ : MonoidalCategory C
inst✝³ : Abelian C
inst✝² : MonoidalPreadditive C
inst✝¹ : HasProjectiveResolutions C
X Y : C
inst✝ : Projective Y
n : ℕ
⊢ IsZero (((Tor C (n + 1)).obj X).obj Y)
state_after: no goals
tactic: apply Functor.isZero_leftDerived_obj_projective_succ
Theorem: symmetric_symmetrizeRel
File: Mathlib/Topology/UniformSpace/Basic.lean

Proof steps:
state_before: α : Type ua
β : Type ub
γ : Type uc
δ : Type ud
ι : Sort u_1
V : Set (α × α)
⊢ SymmetricRel (symmetrizeRel V)
state_after: no goals
tactic: simp [SymmetricRel, symmetrizeRel, preimage_inter, inter_comm, ← preimage_comp]
Theorem: Finset.dens_empty
File: Mathlib/Data/Finset/Density.lean

Proof steps:
state_before: 𝕜 : Type u_1
α : Type u_2
β : Type u_3
inst✝ : Fintype α
s t : Finset α
a b : α
⊢ ∅.dens = 0
state_after: no goals
tactic: simp [dens]
Theorem: DivisorChain.card_subset_divisors_le_length_of_chain
File: Mathlib/RingTheory/ChainOfDivisors.lean

Proof steps:
state_before: M : Type u_1
inst✝ : CancelCommMonoidWithZero M
q : Associates M
n : ℕ
c : Fin (n + 1) → Associates M
h₂ : ∀ {r : Associates M}, r ≤ q ↔ ∃ i, r = c i
m : Finset (Associates M)
hm : ∀ r ∈ m, r ≤ q
⊢ m.card ≤ n + 1
state_after: no goals
tactic: classical
    have mem_image : ∀ r : Associates M, r ≤ q → r ∈ Finset.univ.image c := by
      intro r hr
      obtain ⟨i, hi⟩ := h₂.1 hr
      exact Finset.mem_image.2 ⟨i, Finset.mem_univ _, hi.symm⟩
    rw [← Finset.card_fin (n + 1)]
    exact (Finset.card_le_card fun x hx => mem_image x <| hm x hx).trans Finset.card_image_le
Theorem: RootPairing.coroot_root_eq_pairing
File: Mathlib/LinearAlgebra/RootSystem/Defs.lean

Proof steps:
state_before: ι : Type u_1
R : Type u_2
M : Type u_3
N : Type u_4
inst✝⁴ : CommRing R
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : AddCommGroup N
inst✝ : Module R N
P : RootPairing ι R M N
i j : ι
⊢ (P.toLin.flip (P.coroot i)) (P.root j) = P.pairing j i
state_after: no goals
tactic: simp
Theorem: Finset.image₂_empty_left
File: Mathlib/Data/Finset/NAry.lean

Proof steps:
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 ∅ t) = ↑∅
state_after: no goals
tactic: simp
Theorem: FiniteField.Matrix.charpoly_pow_card
File: Mathlib/LinearAlgebra/Matrix/Charpoly/FiniteField.lean

Proof steps:
state_before: n : Type u_1
inst✝³ : DecidableEq n
inst✝² : Fintype n
K : Type u_2
inst✝¹ : Field K
inst✝ : Fintype K
M : Matrix n n K
⊢ (M ^ Fintype.card K).charpoly = M.charpoly
state_after: case inl
n : Type u_1
inst✝³ : DecidableEq n
inst✝² : Fintype n
K : Type u_2
inst✝¹ : Field K
inst✝ : Fintype K
M : Matrix n n K
h✝ : Nonempty n
⊢ (M ^ Fintype.card K).charpoly = M.charpoly

case inr
n : Type u_1
inst✝³ : DecidableEq n
inst✝² : Fintype n
K : Type u_2
inst✝¹ : Field K
inst✝ : Fintype K
M : Matrix n n K
h✝ : IsEmpty n
⊢ (M ^ Fintype.card K).charpoly = M.charpoly
tactic: cases (isEmpty_or_nonempty n).symm
Theorem: CliffordAlgebra.foldl_one
File: Mathlib/LinearAlgebra/CliffordAlgebra/Fold.lean

Proof steps:
state_before: R : Type u_1
M : Type u_2
N : Type u_3
inst✝⁴ : CommRing R
inst✝³ : AddCommGroup M
inst✝² : AddCommGroup N
inst✝¹ : Module R M
inst✝ : Module R N
Q : QuadraticForm R M
f : M →ₗ[R] N →ₗ[R] N
hf : ∀ (m : M) (x : N), (f m) ((f m) x) = Q m • x
n : N
⊢ ((foldl Q f hf) n) 1 = n
state_after: no goals
tactic: rw [← foldr_reverse, reverse.map_one, foldr_one]
Theorem: Subfield.sInf_toSubring
File: Mathlib/Algebra/Field/Subfield.lean

Proof steps:
state_before: K : Type u
L : Type v
M : Type w
inst✝² : DivisionRing K
inst✝¹ : DivisionRing L
inst✝ : DivisionRing M
s : Set (Subfield K)
⊢ (sInf s).toSubring = ⨅ t ∈ s, t.toSubring
state_after: case h
K : Type u
L : Type v
M : Type w
inst✝² : DivisionRing K
inst✝¹ : DivisionRing L
inst✝ : DivisionRing M
s : Set (Subfield K)
x : K
⊢ x ∈ (sInf s).toSubring ↔ x ∈ ⨅ t ∈ s, t.toSubring
tactic: ext x
state_before: case h
K : Type u
L : Type v
M : Type w
inst✝² : DivisionRing K
inst✝¹ : DivisionRing L
inst✝ : DivisionRing M
s : Set (Subfield K)
x : K
⊢ x ∈ (sInf s).toSubring ↔ x ∈ ⨅ t ∈ s, t.toSubring
state_after: case h
K : Type u
L : Type v
M : Type w
inst✝² : DivisionRing K
inst✝¹ : DivisionRing L
inst✝ : DivisionRing M
s : Set (Subfield K)
x : K
⊢ (∀ p ∈ s, x ∈ p) ↔ x ∈ ⨅ t ∈ s, t.toSubring
tactic: rw [mem_toSubring, mem_sInf]
state_before: case h
K : Type u
L : Type v
M : Type w
inst✝² : DivisionRing K
inst✝¹ : DivisionRing L
inst✝ : DivisionRing M
s : Set (Subfield K)
x : K
⊢ (∀ p ∈ s, x ∈ p) ↔ x ∈ ⨅ t ∈ s, t.toSubring
state_after: case h
K : Type u
L : Type v
M : Type w
inst✝² : DivisionRing K
inst✝¹ : DivisionRing L
inst✝ : DivisionRing M
s : Set (Subfield K)
x : K
⊢ (∀ p ∈ s, x ∈ p) ↔ ∀ p ∈ Set.range fun t => ⨅ (_ : t ∈ s), t.toSubring, x ∈ p
tactic: erw [Subring.mem_sInf]
state_before: case h
K : Type u
L : Type v
M : Type w
inst✝² : DivisionRing K
inst✝¹ : DivisionRing L
inst✝ : DivisionRing M
s : Set (Subfield K)
x : K
⊢ (∀ p ∈ s, x ∈ p) ↔ ∀ p ∈ Set.range fun t => ⨅ (_ : t ∈ s), t.toSubring, x ∈ p
state_after: no goals
tactic: exact
    ⟨fun h p ⟨p', hp⟩ => hp ▸ Subring.mem_sInf.mpr fun p ⟨hp', hp⟩ => hp ▸ h _ hp', fun h p hp =>
      h p.toSubring
        ⟨p,
          Subring.ext fun x =>
            ⟨fun hx => Subring.mem_sInf.mp hx _ ⟨hp, rfl⟩, fun hx =>
              Subring.mem_sInf.mpr fun p' ⟨_, p'_eq⟩ => p'_eq ▸ hx⟩⟩⟩
Theorem: HomologicalComplex₂.ι_totalDesc
File: Mathlib/Algebra/Homology/TotalComplex.lean

Proof steps:
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₁₂
A : C
i₁₂ : I₁₂
f : (i₁ : I₁) → (i₂ : I₂) → c₁.π c₂ c₁₂ (i₁, i₂) = i₁₂ → ((K.X i₁).X i₂ ⟶ A)
i₁ : I₁
i₂ : I₂
hi : c₁.π c₂ c₁₂ (i₁, i₂) = i₁₂
⊢ K.ιTotal c₁₂ i₁ i₂ i₁₂ hi ≫ K.totalDesc f = f i₁ i₂ hi
state_after: no goals
tactic: simp [totalDesc, ιTotal]
Theorem: AddMonoidAlgebra.mapDomainAlgHom_comp
File: Mathlib/Algebra/MonoidAlgebra/Basic.lean

Proof steps:
state_before: k✝ : Type u₁
G : Type u₂
H : Type u_1
R : Type u_2
k : Type u_3
A : Type u_4
G₁ : Type u_5
G₂ : Type u_6
G₃ : Type u_7
inst✝⁵ : CommSemiring k
inst✝⁴ : Semiring A
inst✝³ : Algebra k A
inst✝² : AddMonoid G₁
inst✝¹ : AddMonoid G₂
inst✝ : AddMonoid G₃
f : G₁ →+ G₂
g : G₂ →+ G₃
⊢ mapDomainAlgHom k A (g.comp f) = (mapDomainAlgHom k A g).comp (mapDomainAlgHom k A f)
state_after: case H
k✝ : Type u₁
G : Type u₂
H : Type u_1
R : Type u_2
k : Type u_3
A : Type u_4
G₁ : Type u_5
G₂ : Type u_6
G₃ : Type u_7
inst✝⁵ : CommSemiring k
inst✝⁴ : Semiring A
inst✝³ : Algebra k A
inst✝² : AddMonoid G₁
inst✝¹ : AddMonoid G₂
inst✝ : AddMonoid G₃
f : G₁ →+ G₂
g : G₂ →+ G₃
x✝ : A[G₁]
⊢ (mapDomainAlgHom k A (g.comp f)) x✝ = ((mapDomainAlgHom k A g).comp (mapDomainAlgHom k A f)) x✝
tactic: ext
state_before: case H
k✝ : Type u₁
G : Type u₂
H : Type u_1
R : Type u_2
k : Type u_3
A : Type u_4
G₁ : Type u_5
G₂ : Type u_6
G₃ : Type u_7
inst✝⁵ : CommSemiring k
inst✝⁴ : Semiring A
inst✝³ : Algebra k A
inst✝² : AddMonoid G₁
inst✝¹ : AddMonoid G₂
inst✝ : AddMonoid G₃
f : G₁ →+ G₂
g : G₂ →+ G₃
x✝ : A[G₁]
⊢ (mapDomainAlgHom k A (g.comp f)) x✝ = ((mapDomainAlgHom k A g).comp (mapDomainAlgHom k A f)) x✝
state_after: no goals
tactic: simp [mapDomain_comp]
Theorem: affinity_unitClosedBall
File: Mathlib/Analysis/NormedSpace/Pointwise.lean

Proof steps:
state_before: 𝕜 : Type u_1
E : Type u_2
inst✝³ : NormedField 𝕜
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace 𝕜 E
inst✝ : NormedSpace ℝ E
r : ℝ
hr : 0 ≤ r
x : E
⊢ x +ᵥ r • closedBall 0 1 = closedBall x r
state_after: no goals
tactic: rw [smul_closedUnitBall, Real.norm_of_nonneg hr, vadd_closedBall_zero]
Theorem: CategoryTheory.Functor.RightExtension.coneAtFunctor_map_hom
File: Mathlib/CategoryTheory/Functor/KanExtension/Pointwise.lean

Proof steps:
state_before: C : Type u_1
D : Type u_2
H : Type u_3
inst✝² : Category.{?u.51683, u_1} C
inst✝¹ : Category.{?u.51687, u_2} D
inst✝ : Category.{?u.51691, u_3} H
L : C ⥤ D
F : C ⥤ H
E✝ E'✝ : L.RightExtension F
Y : D
E E' : L.RightExtension F
φ : E ⟶ E'
G : StructuredArrow Y L
⊢ φ.left.app Y ≫ ((fun E => E.coneAt Y) E').π.app G = ((fun E => E.coneAt Y) E).π.app G
state_after: C : Type u_1
D : Type u_2
H : Type u_3
inst✝² : Category.{?u.51683, u_1} C
inst✝¹ : Category.{?u.51687, u_2} D
inst✝ : Category.{?u.51691, u_3} H
L : C ⥤ D
F : C ⥤ H
E✝ E'✝ : L.RightExtension F
Y : D
E E' : L.RightExtension F
φ : E ⟶ E'
G : StructuredArrow Y L
⊢ φ.left.app Y ≫ E'.left.map G.hom ≫ E'.hom.app G.right = E.left.map G.hom ≫ E.hom.app G.right
tactic: dsimp
state_before: C : Type u_1
D : Type u_2
H : Type u_3
inst✝² : Category.{?u.51683, u_1} C
inst✝¹ : Category.{?u.51687, u_2} D
inst✝ : Category.{?u.51691, u_3} H
L : C ⥤ D
F : C ⥤ H
E✝ E'✝ : L.RightExtension F
Y : D
E E' : L.RightExtension F
φ : E ⟶ E'
G : StructuredArrow Y L
⊢ φ.left.app Y ≫ E'.left.map G.hom ≫ E'.hom.app G.right = E.left.map G.hom ≫ E.hom.app G.right
state_after: C : Type u_1
D : Type u_2
H : Type u_3
inst✝² : Category.{?u.51683, u_1} C
inst✝¹ : Category.{?u.51687, u_2} D
inst✝ : Category.{?u.51691, u_3} H
L : C ⥤ D
F : C ⥤ H
E✝ E'✝ : L.RightExtension F
Y : D
E E' : L.RightExtension F
φ : E ⟶ E'
G : StructuredArrow Y L
⊢ φ.left.app Y ≫ E'.left.map G.hom ≫ E'.hom.app G.right =
    E.left.map G.hom ≫ (((whiskeringLeft C D H).obj L).map φ.left ≫ E'.hom).app G.right
tactic: rw [← CostructuredArrow.w φ]
state_before: C : Type u_1
D : Type u_2
H : Type u_3
inst✝² : Category.{?u.51683, u_1} C
inst✝¹ : Category.{?u.51687, u_2} D
inst✝ : Category.{?u.51691, u_3} H
L : C ⥤ D
F : C ⥤ H
E✝ E'✝ : L.RightExtension F
Y : D
E E' : L.RightExtension F
φ : E ⟶ E'
G : StructuredArrow Y L
⊢ φ.left.app Y ≫ E'.left.map G.hom ≫ E'.hom.app G.right =
    E.left.map G.hom ≫ (((whiskeringLeft C D H).obj L).map φ.left ≫ E'.hom).app G.right
state_after: no goals
tactic: simp
Theorem: perfectSpace_iff_forall_not_isolated
File: Mathlib/Topology/Perfect.lean

Proof steps:
state_before: X : Type u_1
inst✝ : TopologicalSpace X
⊢ PerfectSpace X ↔ ∀ (x : X), (𝓝[≠] x).NeBot
state_after: no goals
tactic: simp [perfectSpace_def, Preperfect, AccPt]
Theorem: OrderIso.map_sSup_eq_sSup_symm_preimage
File: Mathlib/Order/CompleteLattice.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
β₂ : Type u_3
γ : Type u_4
ι : Sort u_5
ι' : Sort u_6
κ : ι → Sort u_7
κ' : ι' → Sort u_8
inst✝¹ : CompleteLattice α
f✝ g s✝ t : ι → α
a b : α
inst✝ : CompleteLattice β
f : α ≃o β
s : Set α
⊢ f (sSup s) = sSup (⇑f.symm ⁻¹' s)
state_after: no goals
tactic: rw [map_sSup, ← sSup_image, f.image_eq_preimage]
Theorem: MeasureTheory.lintegral_iUnion_le
File: Mathlib/MeasureTheory/Integral/Lebesgue.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
inst✝ : Countable β
s : β → Set α
f : α → ℝ≥0∞
⊢ ∫⁻ (a : α) in ⋃ i, s i, f a ∂μ ≤ ∑' (i : β), ∫⁻ (a : α) in s i, f a ∂μ
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
inst✝ : Countable β
s : β → Set α
f : α → ℝ≥0∞
⊢ ∫⁻ (a : α) in ⋃ i, s i, f a ∂μ ≤ ∫⁻ (a : α), f a ∂sum fun i => μ.restrict (s i)
tactic: rw [← lintegral_sum_measure]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
inst✝ : Countable β
s : β → Set α
f : α → ℝ≥0∞
⊢ ∫⁻ (a : α) in ⋃ i, s i, f a ∂μ ≤ ∫⁻ (a : α), f a ∂sum fun i => μ.restrict (s i)
state_after: no goals
tactic: exact lintegral_mono' restrict_iUnion_le le_rfl
Theorem: mem_rootsOfUnity_prime_pow_mul_iff
File: Mathlib/RingTheory/RootsOfUnity/Basic.lean

Proof steps:
state_before: M : Type u_1
N : Type u_2
G : Type u_3
R : Type u_4
S : Type u_5
F : Type u_6
inst✝⁵ : CommMonoid M
inst✝⁴ : CommMonoid N
inst✝³ : DivisionCommMonoid G
k✝ l : ℕ+
inst✝² : CommRing R
inst✝¹ : IsReduced R
p k : ℕ
m : ℕ+
inst✝ : ExpChar R p
ζ : Rˣ
⊢ ζ ∈ rootsOfUnity (⟨p, ⋯⟩ ^ k * m) R ↔ ζ ∈ rootsOfUnity m R
state_after: no goals
tactic: simp only [mem_rootsOfUnity', PNat.mul_coe, PNat.pow_coe, PNat.mk_coe,
    ExpChar.pow_prime_pow_mul_eq_one_iff]
Theorem: FormalMultilinearSeries.changeOriginSeriesTerm_bound
File: Mathlib/Analysis/Analytic/CPolynomial.lean

Proof steps:
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 : ℕ
p✝ : FormalMultilinearSeries 𝕜 E F
x y : E
r R : ℝ≥0
p : FormalMultilinearSeries 𝕜 E F
n : ℕ
hn : ∀ (m : ℕ), n ≤ m → p m = 0
k l : ℕ
s : Finset (Fin (k + l))
hs : s.card = l
hkl : n ≤ k + l
⊢ p.changeOriginSeriesTerm k l s hs = 0
state_after: no goals
tactic: set_option maxSynthPendingDepth 2 in
  rw [changeOriginSeriesTerm, hn _ hkl, map_zero]
Theorem: TopologicalSpace.IsTopologicalBasis.subset_of_forall_subset
File: Mathlib/Topology/Bases.lean

Proof steps:
state_before: α : Type u
β : Type u_1
t✝ : TopologicalSpace α
B : Set (Set α)
s t : Set α
hB : IsTopologicalBasis B
hs : IsOpen s
h : ∀ U ∈ B, U ⊆ s → U ⊆ t
⊢ s ⊆ t
state_after: α : Type u
β : Type u_1
t✝ : TopologicalSpace α
B : Set (Set α)
s t : Set α
hB : IsTopologicalBasis B
hs : IsOpen s
h : ∀ U ∈ B, U ⊆ s → U ⊆ t
⊢ ⋃₀ {s_1 | s_1 ∈ B ∧ s_1 ⊆ s} ⊆ t
tactic: rw [hB.open_eq_sUnion' hs]
state_before: α : Type u
β : Type u_1
t✝ : TopologicalSpace α
B : Set (Set α)
s t : Set α
hB : IsTopologicalBasis B
hs : IsOpen s
h : ∀ U ∈ B, U ⊆ s → U ⊆ t
⊢ ⋃₀ {s_1 | s_1 ∈ B ∧ s_1 ⊆ s} ⊆ t
state_after: no goals
tactic: simpa [sUnion_subset_iff]
Theorem: MeasureTheory.VectorMeasure.le_restrict_empty
File: Mathlib/MeasureTheory/Measure/VectorMeasure.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : AddCommMonoid M
inst✝ : PartialOrder M
v w : VectorMeasure α M
⊢ v.restrict ∅ ≤ w.restrict ∅
state_after: α : Type u_1
β : Type u_2
m : MeasurableSpace α
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : AddCommMonoid M
inst✝ : PartialOrder M
v w : VectorMeasure α M
j : Set α
a✝ : MeasurableSet j
⊢ ↑(v.restrict ∅) j ≤ ↑(w.restrict ∅) j
tactic: intro j _
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : AddCommMonoid M
inst✝ : PartialOrder M
v w : VectorMeasure α M
j : Set α
a✝ : MeasurableSet j
⊢ ↑(v.restrict ∅) j ≤ ↑(w.restrict ∅) j
state_after: no goals
tactic: rw [restrict_empty, restrict_empty]
Theorem: Real.sqrt_sq
File: Mathlib/Data/Real/Sqrt.lean

Proof steps:
state_before: x y : ℝ
h : 0 ≤ x
⊢ √(x ^ 2) = x
state_after: no goals
tactic: rw [sq, sqrt_mul_self h]
Theorem: dist_add_self_right
File: Mathlib/Analysis/Normed/Group/Uniform.lean

Proof steps:
state_before: 𝓕 : Type u_1
α : Type u_2
E : Type u_3
F : Type u_4
inst✝¹ : SeminormedGroup E
inst✝ : SeminormedGroup F
s : Set E
a✝ a₁ a₂ b✝ b₁ b₂ : E
r r₁ r₂ : ℝ
a b : E
⊢ dist b (a * b) = ‖a‖
state_after: no goals
tactic: rw [← dist_one_left, ← dist_mul_right 1 a b, one_mul]
Theorem: Rack.left_cancel_inv
File: Mathlib/Algebra/Quandle.lean

Proof steps:
state_before: R : Type u_1
inst✝ : Rack R
x y y' : R
⊢ x ◃⁻¹ y = x ◃⁻¹ y' ↔ y = y'
state_after: case mp
R : Type u_1
inst✝ : Rack R
x y y' : R
⊢ x ◃⁻¹ y = x ◃⁻¹ y' → y = y'

case mpr
R : Type u_1
inst✝ : Rack R
x y y' : R
⊢ y = y' → x ◃⁻¹ y = x ◃⁻¹ y'
tactic: constructor
state_before: case mpr
R : Type u_1
inst✝ : Rack R
x y y' : R
⊢ y = y' → x ◃⁻¹ y = x ◃⁻¹ y'
state_after: case mpr
R : Type u_1
inst✝ : Rack R
x y : R
⊢ x ◃⁻¹ y = x ◃⁻¹ y
tactic: rintro rfl
state_before: case mpr
R : Type u_1
inst✝ : Rack R
x y : R
⊢ x ◃⁻¹ y = x ◃⁻¹ y
state_after: no goals
tactic: rfl
Theorem: Finset.sigmaLift_mono
File: Mathlib/Data/Finset/Sigma.lean

Proof steps:
state_before: ι : Type u_1
α : ι → Type u_2
β : ι → Type u_3
γ : ι → Type u_4
inst✝ : DecidableEq ι
f g : ⦃i : ι⦄ → α i → β i → Finset (γ i)
a✝ : (i : ι) × α i
b✝ : (i : ι) × β i
h : ∀ ⦃i : ι⦄ ⦃a : α i⦄ ⦃b : β i⦄, f a b ⊆ g a b
a : (i : ι) × α i
b : (i : ι) × β i
⊢ sigmaLift f a b ⊆ sigmaLift g a b
state_after: ι : Type u_1
α : ι → Type u_2
β : ι → Type u_3
γ : ι → Type u_4
inst✝ : DecidableEq ι
f g : ⦃i : ι⦄ → α i → β i → Finset (γ i)
a✝ : (i : ι) × α i
b✝ : (i : ι) × β i
h : ∀ ⦃i : ι⦄ ⦃a : α i⦄ ⦃b : β i⦄, f a b ⊆ g a b
a : (i : ι) × α i
b : (i : ι) × β i
x : Sigma γ
hx : x ∈ sigmaLift f a b
⊢ x ∈ sigmaLift g a b
tactic: rintro x hx
state_before: ι : Type u_1
α : ι → Type u_2
β : ι → Type u_3
γ : ι → Type u_4
inst✝ : DecidableEq ι
f g : ⦃i : ι⦄ → α i → β i → Finset (γ i)
a✝ : (i : ι) × α i
b✝ : (i : ι) × β i
h : ∀ ⦃i : ι⦄ ⦃a : α i⦄ ⦃b : β i⦄, f a b ⊆ g a b
a : (i : ι) × α i
b : (i : ι) × β i
x : Sigma γ
hx : x ∈ sigmaLift f a b
⊢ x ∈ sigmaLift g a b
state_after: ι : Type u_1
α : ι → Type u_2
β : ι → Type u_3
γ : ι → Type u_4
inst✝ : DecidableEq ι
f g : ⦃i : ι⦄ → α i → β i → Finset (γ i)
a✝ : (i : ι) × α i
b✝ : (i : ι) × β i
h : ∀ ⦃i : ι⦄ ⦃a : α i⦄ ⦃b : β i⦄, f a b ⊆ g a b
a : (i : ι) × α i
b : (i : ι) × β i
x : Sigma γ
hx : ∃ (ha : a.fst = x.fst) (hb : b.fst = x.fst), x.snd ∈ f (ha ▸ a.snd) (hb ▸ b.snd)
⊢ ∃ (ha : a.fst = x.fst) (hb : b.fst = x.fst), x.snd ∈ g (ha ▸ a.snd) (hb ▸ b.snd)
tactic: rw [mem_sigmaLift] at hx ⊢
state_before: ι : Type u_1
α : ι → Type u_2
β : ι → Type u_3
γ : ι → Type u_4
inst✝ : DecidableEq ι
f g : ⦃i : ι⦄ → α i → β i → Finset (γ i)
a✝ : (i : ι) × α i
b✝ : (i : ι) × β i
h : ∀ ⦃i : ι⦄ ⦃a : α i⦄ ⦃b : β i⦄, f a b ⊆ g a b
a : (i : ι) × α i
b : (i : ι) × β i
x : Sigma γ
hx : ∃ (ha : a.fst = x.fst) (hb : b.fst = x.fst), x.snd ∈ f (ha ▸ a.snd) (hb ▸ b.snd)
⊢ ∃ (ha : a.fst = x.fst) (hb : b.fst = x.fst), x.snd ∈ g (ha ▸ a.snd) (hb ▸ b.snd)
state_after: case intro.intro
ι : Type u_1
α : ι → Type u_2
β : ι → Type u_3
γ : ι → Type u_4
inst✝ : DecidableEq ι
f g : ⦃i : ι⦄ → α i → β i → Finset (γ i)
a✝ : (i : ι) × α i
b✝ : (i : ι) × β i
h : ∀ ⦃i : ι⦄ ⦃a : α i⦄ ⦃b : β i⦄, f a b ⊆ g a b
a : (i : ι) × α i
b : (i : ι) × β i
x : Sigma γ
ha : a.fst = x.fst
hb : b.fst = x.fst
hx : x.snd ∈ f (ha ▸ a.snd) (hb ▸ b.snd)
⊢ ∃ (ha : a.fst = x.fst) (hb : b.fst = x.fst), x.snd ∈ g (ha ▸ a.snd) (hb ▸ b.snd)
tactic: obtain ⟨ha, hb, hx⟩ := hx
state_before: case intro.intro
ι : Type u_1
α : ι → Type u_2
β : ι → Type u_3
γ : ι → Type u_4
inst✝ : DecidableEq ι
f g : ⦃i : ι⦄ → α i → β i → Finset (γ i)
a✝ : (i : ι) × α i
b✝ : (i : ι) × β i
h : ∀ ⦃i : ι⦄ ⦃a : α i⦄ ⦃b : β i⦄, f a b ⊆ g a b
a : (i : ι) × α i
b : (i : ι) × β i
x : Sigma γ
ha : a.fst = x.fst
hb : b.fst = x.fst
hx : x.snd ∈ f (ha ▸ a.snd) (hb ▸ b.snd)
⊢ ∃ (ha : a.fst = x.fst) (hb : b.fst = x.fst), x.snd ∈ g (ha ▸ a.snd) (hb ▸ b.snd)
state_after: no goals
tactic: exact ⟨ha, hb, h hx⟩
Theorem: FirstOrder.Language.BoundedFormula.inf_semanticallyEquivalent_not_sup_not
File: Mathlib/ModelTheory/Satisfiability.lean

Proof steps:
state_before: L : Language
T : L.Theory
α : Type w
n : ℕ
φ ψ : L.BoundedFormula α n
M : T.ModelType
v : α → ↑M
xs : Fin n → ↑M
⊢ (φ ⊓ ψ ⇔ ∼(∼φ ⊔ ∼ψ)).Realize v xs
state_after: no goals
tactic: simp
Theorem: QuotientGroup.leftRel_apply
File: Mathlib/GroupTheory/Coset.lean

Proof steps:
state_before: α : Type u_1
inst✝ : Group α
s : Subgroup α
x y : α
⊢ (∃ a, y * ↑a = x) ↔ ∃ a, x⁻¹ * y = ↑a⁻¹
state_after: no goals
tactic: simp only [inv_mul_eq_iff_eq_mul, Subgroup.coe_inv, eq_mul_inv_iff_mul_eq]
state_before: α : Type u_1
inst✝ : Group α
s : Subgroup α
x y : α
⊢ (∃ a, x⁻¹ * y = ↑a⁻¹) ↔ x⁻¹ * y ∈ s
state_after: no goals
tactic: simp [exists_inv_mem_iff_exists_mem]