mathlib-initiative/mathlib-tactics huggingface dataset:
Module: Mathlib.Topology.Sheaves.Flasque

Goal state before:
pp: X : TopCat
U : Opens ↑X
S : ShortComplex (Sheaf AddCommGrpCat X)
hS : S.ShortExact
inst✝ : S.X₁.IsFlasque
s : ↑(S.X₃.obj.obj (op U))
t : Under S.g s
ht : ∀ (a : Under S.g s), Nonempty (a ⟶ t) → Nonempty (t ⟶ a)
tle : unop (StructuredArrow.right t).fst ≤ U
tcomp :
  (s |_ unop (StructuredArrow.right t).fst) tle =
    (ConcreteCategory.hom (S.g.hom.app (StructuredArrow.right t).fst)) (StructuredArrow.right t).snd
x : ↑X
hx : x ∈ U
this✝¹ : Presheaf.IsLocallySurjective S.g.hom
W : Opens ↑X
Wle : W ≤ U
hW : x ∈ W
t₁ : ↑(S.X₂.obj.obj (op W))
ht₁ : (ConcreteCategory.hom (S.g.hom.app (op W))) t₁ = (s |_ W) Wle
t₂ : ToType (S.X₂.obj.obj (op (unop (StructuredArrow.right t).fst ⊓ W))) :=
  ((StructuredArrow.right t).snd |_ (unop (StructuredArrow.right t).fst ⊓ W)) ⋯ -
    (t₁ |_ (unop (StructuredArrow.right t).fst ⊓ W)) ⋯
this✝ : (ConcreteCategory.hom (S.g.hom.app (op (unop (StructuredArrow.right t).fst ⊓ W)))) t₂ = 0
t₃ : ↑(S.X₁.obj.obj (op (unop (StructuredArrow.right t).fst ⊓ W)))
ht₃ : (ConcreteCategory.hom (S.f.hom.app (op (unop (StructuredArrow.right t).fst ⊓ W)))) t₃ = t₂
t₄ : ↑(S.X₁.obj.obj (op W))
ht₄ : (t₄ |_ (unop (StructuredArrow.right t).fst ⊓ W)) ⋯ = t₃
f : Fin 2 → Opens ↑X := ![unop (StructuredArrow.right t).fst, W]
sf : (i : Fin 2) → ↑(S.X₂.obj.obj (op (f i))) :=
  fun x ↦
    match x with
    | 0 => (StructuredArrow.right t).snd
    | 1 => t₁ + (ConcreteCategory.hom (S.f.hom.app (op W))) t₄
this : (sf 0 |_ (unop (StructuredArrow.right t).fst ⊓ W)) ⋯ = (sf 1 |_ (unop (StructuredArrow.right t).fst ⊓ W)) ⋯
⊢ ∃! t₅, IsGluing S.X₂.obj f sf t₅

Tactic:
apply Sheaf.existsUnique_gluing
      simp only [IsCompatible, Fin.forall_fin_two]
      refine ⟨⟨rfl, this⟩, Eq.symm ?_, rfl⟩
      apply_fun (fun s ↦ restrictOpen s (W ⊓ t.right.1.unop) (le_of_eq (inf_comm _ _))) at this
      rw [restrict_restrict, restrict_restrict] at this
      exact this

Goal state after:
Module: Mathlib.Topology.Sheaves.SheafCondition.EqualizerProducts

Goal state before:
pp: case op.single
C : Type u
inst✝¹ : Category.{v, u} C
inst✝ : HasProducts C
X : TopCat
F : Presheaf C X
ι : Type v'
U : ι → Opens ↑X
c : Cone ((diagram U).op ⋙ F)
a✝ : ι
⊢ 𝟙 ((𝟭 (Cone ((diagram U).op ⋙ F))).obj c).pt ≫
      ((coneEquivFunctor F U ⋙ coneEquivInverse F U).obj c).π.app (op (single a✝)) =
    ((𝟭 (Cone ((diagram U).op ⋙ F))).obj c).π.app (op (single a✝))

Tactic:
dsimp [coneEquivInverse]

Goal state after:
case op.single
C : Type u
inst✝¹ : Category.{v, u} C
inst✝ : HasProducts C
X : TopCat
F : Presheaf C X
ι : Type v'
U : ι → Opens ↑X
c : Cone ((diagram U).op ⋙ F)
a✝ : ι
⊢ 𝟙 c.pt ≫ (Pi.lift fun i ↦ c.π.app (op (single i))) ≫ Pi.π (fun i ↦ F.obj (op (U i))) a✝ = c.π.app (op (single a✝))
Module: Mathlib.Topology.Sheaves.SheafCondition.EqualizerProducts

Goal state before:
pp: case op.pair
C : Type u
inst✝¹ : Category.{v, u} C
inst✝ : HasProducts C
X : TopCat
F : Presheaf C X
ι : Type v'
U : ι → Opens ↑X
c : Cone ((diagram U).op ⋙ F)
a✝¹ a✝ : ι
⊢ 𝟙 ((𝟭 (Cone ((diagram U).op ⋙ F))).obj c).pt ≫
      ((coneEquivFunctor F U ⋙ coneEquivInverse F U).obj c).π.app (op (Pairwise.pair a✝¹ a✝)) =
    ((𝟭 (Cone ((diagram U).op ⋙ F))).obj c).π.app (op (Pairwise.pair a✝¹ a✝))

Tactic:
dsimp [coneEquivInverse]

Goal state after:
case op.pair
C : Type u
inst✝¹ : Category.{v, u} C
inst✝ : HasProducts C
X : TopCat
F : Presheaf C X
ι : Type v'
U : ι → Opens ↑X
c : Cone ((diagram U).op ⋙ F)
a✝¹ a✝ : ι
⊢ 𝟙 c.pt ≫
      (Pi.lift fun b ↦ c.π.app (op (Pairwise.pair b.1 b.2))) ≫ Pi.π (fun p ↦ F.obj (op (U p.1 ⊓ U p.2))) (a✝¹, a✝) =
    c.π.app (op (Pairwise.pair a✝¹ a✝))
Module: Mathlib.Topology.Sheaves.SheafCondition.EqualizerProducts

Goal state before:
pp: case op.single
C : Type u
inst✝¹ : Category.{v, u} C
inst✝ : HasProducts C
X : TopCat
F : Presheaf C X
ι : Type v'
U : ι → Opens ↑X
c : Cone ((diagram U).op ⋙ F)
a✝ : ι
⊢ 𝟙 ((coneEquivFunctor F U ⋙ coneEquivInverse F U).obj c).pt ≫
      ((𝟭 (Cone ((diagram U).op ⋙ F))).obj c).π.app (op (single a✝)) =
    ((coneEquivFunctor F U ⋙ coneEquivInverse F U).obj c).π.app (op (single a✝))

Tactic:
dsimp [coneEquivInverse]

Goal state after:
case op.single
C : Type u
inst✝¹ : Category.{v, u} C
inst✝ : HasProducts C
X : TopCat
F : Presheaf C X
ι : Type v'
U : ι → Opens ↑X
c : Cone ((diagram U).op ⋙ F)
a✝ : ι
⊢ 𝟙 c.pt ≫ c.π.app (op (single a✝)) = (Pi.lift fun i ↦ c.π.app (op (single i))) ≫ Pi.π (fun i ↦ F.obj (op (U i))) a✝
Module: Mathlib.Topology.Sheaves.SheafCondition.EqualizerProducts

Goal state before:
pp: case op.pair
C : Type u
inst✝¹ : Category.{v, u} C
inst✝ : HasProducts C
X : TopCat
F : Presheaf C X
ι : Type v'
U : ι → Opens ↑X
c : Cone ((diagram U).op ⋙ F)
a✝¹ a✝ : ι
⊢ 𝟙 ((coneEquivFunctor F U ⋙ coneEquivInverse F U).obj c).pt ≫
      ((𝟭 (Cone ((diagram U).op ⋙ F))).obj c).π.app (op (Pairwise.pair a✝¹ a✝)) =
    ((coneEquivFunctor F U ⋙ coneEquivInverse F U).obj c).π.app (op (Pairwise.pair a✝¹ a✝))

Tactic:
dsimp [coneEquivInverse]

Goal state after:
case op.pair
C : Type u
inst✝¹ : Category.{v, u} C
inst✝ : HasProducts C
X : TopCat
F : Presheaf C X
ι : Type v'
U : ι → Opens ↑X
c : Cone ((diagram U).op ⋙ F)
a✝¹ a✝ : ι
⊢ 𝟙 c.pt ≫ c.π.app (op (Pairwise.pair a✝¹ a✝)) =
    (Pi.lift fun b ↦ c.π.app (op (Pairwise.pair b.1 b.2))) ≫ Pi.π (fun p ↦ F.obj (op (U p.1 ⊓ U p.2))) (a✝¹, a✝)
Module: Mathlib.Topology.Spectral.ConstructibleTopology

Goal state before:
pp: X : Type u_1
inst✝⁴ : TopologicalSpace X
inst✝³ : CompactSpace X
inst✝² : QuasiSober X
inst✝¹ : PrespectralSpace X
inst✝ : QuasiSeparatedSpace X
𝔅 : Set (Set X) := constructibleTopologySubbasis X
𝒮 : Set (Set (Set X)) := {P | P ⊆ 𝔅 ∧ (∀ Q ⊆ P, Q.Finite → (⋂₀ Q).Nonempty) ∧ ⋂₀ P = ∅}
s : Set (Set X)
hs : s ∈ 𝒮
B : Set (Set X)
hsB : s ⊆ B
hB : Maximal (fun x ↦ x ∈ 𝒮) B
⊢ False

Tactic:
let B' := {s | s ∈ B ∧ IsClosed s}

Goal state after:
X : Type u_1
inst✝⁴ : TopologicalSpace X
inst✝³ : CompactSpace X
inst✝² : QuasiSober X
inst✝¹ : PrespectralSpace X
inst✝ : QuasiSeparatedSpace X
𝔅 : Set (Set X) := constructibleTopologySubbasis X
𝒮 : Set (Set (Set X)) := {P | P ⊆ 𝔅 ∧ (∀ Q ⊆ P, Q.Finite → (⋂₀ Q).Nonempty) ∧ ⋂₀ P = ∅}
s : Set (Set X)
hs : s ∈ 𝒮
B : Set (Set X)
hsB : s ⊆ B
hB : Maximal (fun x ↦ x ∈ 𝒮) B
B' : Set (Set X) := {s | s ∈ B ∧ IsClosed[inst✝⁴] s}
⊢ False
Module: Mathlib.Topology.Subpath

Goal state before:
pp: X : Type u_1
inst✝ : TopologicalSpace X
a b : X
γ : Path a b
t₀ t₁ : ↑I
h : t₀ ≤ t₁
⊢ range ⇑(γ.subpath t₀ t₁) = ⇑γ '' Icc t₀ t₁

Tactic:
simp [h]

Goal state after:
Module: Mathlib.Topology.Subpath

Goal state before:
pp: X : Type u_1
inst✝ : TopologicalSpace X
a b : X
γ : Path a b
t₀ t₁ : ↑I
h : t₁ ≤ t₀
⊢ range ⇑(γ.subpath t₀ t₁) = ⇑γ '' Icc t₁ t₀

Tactic:
simp [h]

Goal state after:
Module: Mathlib.Topology.UniformSpace.Path

Goal state before:
pp: case pos
X : Type u_1
inst✝ : UniformSpace X
x y z : X
U : Set (X × X)
hU : U ∈ 𝓤 X
x✝² x✝¹ : Path x y × Path y z
t : ↑I
fst✝¹ : Path x y
snd✝¹ : Path y z
fst✝ : Path x y
snd✝ : Path y z
x✝ :
  ((fst✝¹, snd✝¹), fst✝, snd✝) ∈
    entourageProd {γ | ∀ (t : ↑I), (γ.1 t, γ.2 t) ∈ (U, U).1} {γ | ∀ (t : ↑I), (γ.1 t, γ.2 t) ∈ (U, U).2}
h₁ : (fst✝¹, fst✝) ∈ {γ | ∀ (t : ↑I), (γ.1 t, γ.2 t) ∈ (U, U).1}
h₂ : (snd✝¹, snd✝) ∈ {γ | ∀ (t : ↑I), (γ.1 t, γ.2 t) ∈ (U, U).2}
ht : ↑t ≤ 2⁻¹
⊢ ((Function.uncurry trans (fst✝¹, snd✝¹), Function.uncurry trans (fst✝, snd✝)).1 t,
      (Function.uncurry trans (fst✝¹, snd✝¹), Function.uncurry trans (fst✝, snd✝)).2 t) ∈
    U

Tactic:
simp [Path.trans_apply, ht, h₁ _, h₂ _]

Goal state after:
Module: Mathlib.Topology.UniformSpace.Path

Goal state before:
pp: case neg
X : Type u_1
inst✝ : UniformSpace X
x y z : X
U : Set (X × X)
hU : U ∈ 𝓤 X
x✝² x✝¹ : Path x y × Path y z
t : ↑I
fst✝¹ : Path x y
snd✝¹ : Path y z
fst✝ : Path x y
snd✝ : Path y z
x✝ :
  ((fst✝¹, snd✝¹), fst✝, snd✝) ∈
    entourageProd {γ | ∀ (t : ↑I), (γ.1 t, γ.2 t) ∈ (U, U).1} {γ | ∀ (t : ↑I), (γ.1 t, γ.2 t) ∈ (U, U).2}
h₁ : (fst✝¹, fst✝) ∈ {γ | ∀ (t : ↑I), (γ.1 t, γ.2 t) ∈ (U, U).1}
h₂ : (snd✝¹, snd✝) ∈ {γ | ∀ (t : ↑I), (γ.1 t, γ.2 t) ∈ (U, U).2}
ht : ¬↑t ≤ 2⁻¹
⊢ ((Function.uncurry trans (fst✝¹, snd✝¹), Function.uncurry trans (fst✝, snd✝)).1 t,
      (Function.uncurry trans (fst✝¹, snd✝¹), Function.uncurry trans (fst✝, snd✝)).2 t) ∈
    U

Tactic:
simp [Path.trans_apply, ht, h₁ _, h₂ _]

Goal state after:
Module: Mathlib.Topology.Sion

Goal state before:
pp: case a.inl.mp
E : Type u_1
F : Type u_2
β : Type u_3
inst✝¹¹ : LinearOrder β
X : Set E
f : E → F → β
inst✝¹⁰ : TopologicalSpace E
inst✝⁹ : AddCommGroup E
inst✝⁸ : Module ℝ E
inst✝⁷ : IsTopologicalAddGroup E
inst✝⁶ : ContinuousSMul ℝ E
ne_X : X.Nonempty
kX : IsCompact X
inst✝⁵ : TopologicalSpace F
inst✝⁴ : AddCommGroup F
inst✝³ : Module ℝ F
inst✝² : DenselyOrdered β
inst✝¹ : IsTopologicalAddGroup F
inst✝ : ContinuousSMul ℝ F
cX : Convex ℝ X
sup_y : E → β
inf_sup : β
hinf_sup : IsGLB {x | ∃ x_1 ∈ X, sup_y x_1 = x} inf_sup
inf_x : F → β
sup_inf : β
cY : Convex ℝ ∅
hfx : ∀ x ∈ X, UpperSemicontinuousOn (fun y ↦ f x y) ∅
hfx' : ∀ x ∈ X, QuasiconcaveOn ℝ ∅ fun y ↦ f x y
hfy hfy' hinf_x : True
hsup_inf : IsBot sup_inf
hsup_y : ∀ x ∈ X, sup_y x = sup_inf
t : β
⊢ (∃ x ∈ X, sup_y x = t) → t = sup_inf

Tactic:
rintro ⟨x, hx, rfl⟩
      exact hsup_y x hx

Goal state after: