Library UniMath.CategoryTheory.DisplayedCats.Examples.SetStructures

1. The trivial structure
Definition struct_plain_hset_data
  : hset_struct_data.
Show proof.
  simple refine (_ ,, _).
  - exact (λ X, unit).
  - exact (λ X Y x y f, unit).

Definition struct_plain_hset_laws
  : hset_struct_laws struct_plain_hset_data.
Show proof.
  repeat split.
  - intro X.
    apply isasetunit.
  - intros X Y px py f.
    apply isapropunit.
  - intros X px py f g.
    apply isapropunit.

Definition struct_plain_hset
  : hset_struct
  := struct_plain_hset_data ,, struct_plain_hset_laws.

2. The trivial structure is cartesian
3. The trivial structure is cartesian closed
4. Some limits and colimits for trivial structures
Definition equalizers_struct_plain_hset
  : hset_equalizer_struct struct_plain_hset.
Show proof.
  refine ((λ _ _ _ _ _ _ _ _, tt) ,, _).
  abstract (repeat split).

Definition coequalizers_struct_plain_hset
  : hset_coequalizer_struct struct_plain_hset.
Show proof.
  refine ((λ _ _ _ _ _ _ _ _, tt) ,, _).
  abstract (repeat split).

Definition type_products_struct_plain_hset
           (I : UU)
  : hset_struct_type_prod struct_plain_hset I.
Show proof.
  simple refine ((λ _ _, tt) ,, _).
  abstract (repeat split).