:- module(meta, [go/3]).

:- use_module(input_normalize).
:- use_module(unification_operations, [unify/2]).
:- use_module(domain,[domain/1]).


go(File,Goal,Domain) :-
    retractall(domain(_)),
    load_file(File),
    assert(domain(Domain)),
    solve(Goal).


  solve([]).
  solve([unify(A,B)|Goal]) :- 
      unify(A,B), solve(Goal).
  solve([H|Goal]) :-
      my_clause(H,Body),
      solve(Body), solve(Goal).


