\import Paths
\import Set
\class Pointed \extends BaseSet
| ide : E
\where {
\func equals.{u} {X Y : Pointed.{u}} (p : X = {\Set u} Y) (q : coe (p @) ide right = ide) : X = {Pointed.{u}} Y
=> path (\lam i => \new Pointed (p @ i) (pathOver {p @} q @ i))
}
\class AddPointed \extends BaseSet {
| zro : E
\protected \func IsZero : \Prop
=> \Pi (x : E) -> x = 0
} \where {
\use \coerce fromPointed (P : Pointed) => \new AddPointed P.E P.ide
\use \coerce toPointed (P : AddPointed) => \new Pointed P.E P.zro
}