Documentation

LeanPool.WhiteheadTheorem.Shapes.Pushout

LeanPool.WhiteheadTheorem.Shapes.Pushout #

Imported Lean Pool material for LeanPool.WhiteheadTheorem.Shapes.Pushout.

TODO:

Explicit description of the topology on the pushout

@[reducible, inline]
abbrev TopCat.homToDiscreteSpaceOfFun {X : TopCat} {Y : Type u} (f : XY) :
X of Y

Construct a morphism into a discrete space Y using a function into Y.

Equations
Instances For

    In the pushout square below, the image of inl and the image of inr cover the space (pushout f g).carrier.

    X ----f----> Y
    |            |
    g           inl
    |            |
    v            v
    Z ---inr---> pushout f g
    
    theorem TopCat.injective_pushoutInr' {X Y Z : TopCat} (f : X Y) (g : X Z) :

    In the pushout square below, the map inr restricted to {z | zSet.range g} is injective.

    X ----f----> Y
    |            |
    g           inl
    |            |
    v            v
    Z ---inr---> pushout f g
    

    The proof is similar to the one in https://math.stackexchange.com/questions/3906319/pushout-of-injective-is-injective TODO: prove this in the category of types.

    theorem Function.Injective.preimage_image_of_restrict (X Y : Type u) (A : Set X) (s : Set A) (f : XY) (inj_f : Injective (A.restrict f)) (hf : aA, bA, f a f b) :
    theorem TopCat.isOpenMap_pushoutInr' {X Y Z : TopCat} (f : X Y) (g : X Z) (hg : IsClosed {z : Z | z Set.range (CategoryTheory.ConcreteCategory.hom g)}) :

    In the pushout square below, if g X is closed in Z, then the map inr restricted to {z | zSet.range g} is an open map.

    X ----f----> Y
    |            |
    g           inl
    |            |
    v            v
    Z ---inr---> pushout f g
    

    In the pushout square below, if g X is closed in Z, then the map inr restricted to {z | zSet.range g} is an open embedding.

    X ----f----> Y
    |            |
    g           inl
    |            |
    v            v
    Z ---inr---> pushout f g