Instance nz_posnat : forall (p : posnat),
  nz p.Definition natToPosnat(n : nat)(pf : nz n) :=
  (exist (fun x => x > 0) n agz).Notation "'pos' x" := (@natToPosnat x _) (at level 40).Fixpoint expnat n1 n2 :=
  match n2 with
    | 0 => 1
    | S n2' =>
      n1 * (expnat n1 n2')
  end.

(* Specifications: *)
Theorem expnat_pos : forall x n, x > 0 -> expnat x n > 0.
Lemma div2_le : forall n, le (div2 n) n.
Lemma div2_ge_double : forall n, n >= (div2 n) + (div2 n).