Existing Instance ag_nat. Hint Resolve ag_nat.
Program Definition fash {A: Type} `{NA: ageable A} (P: pred A): pred nat :=
fun n => forall y, n >= level y -> P y.
Next Obligation.
destruct P as [P HP].
simpl in *.
apply H0.
unfold age, age1, ag_nat,natAge1 in H.
destruct a; inv H.
omega.
Qed.
Notation "'#' e" := (fash e) (at level 30, right associativity): pred.

(* Specifications: *)
Lemma fash_K {A} `{H: ageable A}: forall (P Q: pred A),
# (P --> Q) |-- # P --> # Q.
Lemma laterR_nat: forall (n n': nat), laterR n n' <-> (n > n')%nat.
Lemma fash_fash {A} `{NA: ageable A}:  forall P: pred A,  # # P = # P.
Lemma fash_derives {A} `{agA : ageable A}:
forall (P Q: pred A), P |-- Q  ->  # P |-- # Q.
Lemma fash_and {A} `{H : ageable A}: forall (P Q:pred A),
# (P && Q) = # P && # Q.