(*************)
(** * Zero   *)
(*************)

(** In set theory, zero is implemented as the empty set.  As a
    pointed graph, we can take any (non-empty) carrier and any
    root, with an empty edge relation: *)

Definition unit : Typ1 := forall X : Typ0, X -> X.Definition id : unit := fun X x => x.Definition ZERO : Rel unit := fun _ _ => bot.

(* Specifications: *)
Lemma ZERO_elim : forall (X : Typ1) (A : Rel X) (a : X), ELT X A a unit ZERO id -> bot.