anchor.diff:  -ifdef(DEBUG).
   -define(debug(__String, __Args), io:format(__String, __Args)).
   -define(mk_fun_var(Fun, Vars), mk_fun_var(?LINE, Fun, Vars)).
  +-define(pp_map(S, M), pp_map(S, M)).
   -else.
   -define(debug(__String, __Args), ok).
   -define(mk_fun_var(Fun, Vars), mk_fun_var(Fun, Vars)).
  +-define(pp_map(S, M), ok).
   -endif.
   
   %% ============================================================================
  
positive.code:          case _PartU of
             {_Part, _U} ->
               io:format("Id: ~w Vars: ~w\n", [_Id, _U]),
               [pp_map("Part", maps:from_list(_Part)) || _Part =/= []];
             failed ->
               io:format("Id: ~w failed list\n", [_Id])
           end
  
negative.code:     {ok, Map, V2State1, U} ->
        ?debug("disj I=~w U=~w~n", [I, U]),
        V2State = save_local_map(V2State1, Id, U, Map),
        ?pp_map("DMap", Map),
        v2_solve_disj(Is, Cs, I+1, Map0, V2State, [U|UL], [Map|MapL],
                      [I|Eval], Uneval, Failed0)
    end;
  