anchor.diff:      [ if L >= Max -> {V,F,locked};
   	 true -> Vd
         end || {V,F,L}=Vd <- Vdb, F < Min, L >= Min ].
  -
  -%% is_in_guard() -> true|false.
  -
  -is_in_guard() ->
  -    get(guard_refc) > 0.
  
positive.code: %% must be sorted.
  
  init_vars(Vs) ->
      sort([{V,0,0} || {var,V} <- Vs]).
  
  new_vars([], _, Vdb) -> Vdb;
  new_vars([V], I, Vdb) -> vdb_store_new(V, {V,I,I}, Vdb);
  
negative.code: 
  add_var(V, F, L, Vdb) ->
      vdb_store_new(V, {V,F,L}, Vdb).
  
  %% is_in_guard() -> true|false.
  
  is_in_guard() ->
      get(guard_refc) > 0.
  
  %% vdb
  
  vdb_new(Vs) ->
      sort([{V,0,0} || {var,V} <- Vs]).
  
  vdb_find(V, Vdb) ->
      case lists:keyfind(V, 1, Vdb) of
  