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.