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.

Theorem expnat_pos : forall x n, x > 0 -> expnat x n > 0.