Program Instance ag_knot : ageable knot :=
  { age1 := k_age1
  ; level := level
  }.

(* Specifications: *)
Lemma approx_spec : forall n p (k:knot * other), proj1_sig (approx n p) k = (ageable.level k < n /\ proj1_sig p k).
Lemma knot_level : forall k:knot, level k = fst (unsquash k).
Lemma knot_age1 : forall k, age1 k = match unsquash k with | (O,_) => None | (S n,x) => Some (squash (n,x)) end.