Library UniMath.CategoryTheory.GrothendieckToposes.Topologies

1. The property for a collection of sieves of being a topology


  Context {C : category}.

  Definition sieve_selection : UU := (c : C), hsubtype (sieve c).

  Definition sieve_selection_to_product (GT : sieve_selection)
    : (c : C), hsubtype (sieve c)
    := GT.

  Coercion sieve_selection_to_product : sieve_selection >-> Funclass.

  Section IsGrothendieckTopology.

    Context (selection : sieve_selection).

    Definition Grothendieck_topology_maximal_sieve_ax : hProp :=
       (c : C), selection c (maximal_sieve c).

    Definition Grothendieck_topology_stability_ax : hProp :=
       (c c' : C) (h : c' --> c) (s : sieve c),
        selection c s
        selection c' (sieve_pullback h s).

    Definition Grothendieck_topology_transitivity_ax : hProp :=
       (c : C) (s : sieve c),
        ( (c' : C) (h : c' --> c),
          selection c' (sieve_pullback h s))
         selection c s.

    Definition is_Grothendieck_topology : hProp :=
      Grothendieck_topology_maximal_sieve_ax
       Grothendieck_topology_stability_ax
       Grothendieck_topology_transitivity_ax.

    Definition make_is_Grothendieck_topology
      (H1 : Grothendieck_topology_maximal_sieve_ax)
      (H2 : Grothendieck_topology_stability_ax)
      (H3 : Grothendieck_topology_transitivity_ax)
      : is_Grothendieck_topology
      := H1 ,, H2 ,, H3.

  End IsGrothendieckTopology.

2. Grothendieck topologies