Add LoadPath "../..".
Definition world := (nat * ((var -> option adr)*(adr -> option adr)))%type.
Instance Join_world: Join world :=
Join_prod nat (Join_equiv nat)
_
(Join_prod
(var -> option adr) (Join_equiv _)
(adr -> option adr) (Join_fun adr (option adr) (Join_lower (Join_discrete adr)))).
Instance Perm_world : Perm_alg world := _.
Instance Sep_world : Perm_alg world := _.
Instance Canc_world : Perm_alg world := _.
Instance Disj_world : Perm_alg world := _.
Definition age_world (w: world) : option world :=
match fst w with S n => Some (n, snd w) | O => None end.
Definition level_world (w: world) : nat := fst w.

(* Specifications: *)
Lemma af_world: ageable_facts _ level_world age_world.
Instance ag_world: ageable world := mkAgeable _ _ _ af_world.