/****************************/ /* plug-in architecture */ /* of HCLP interpreter */ /* -----plug-in module----- */ /* LPB comparator component */ /* (c) R. Bart‡k */ /* 1996 */ /****************************/ % this module implements a locally-predicate-better comparator for % general hierarchy solver (GHSmod.pr) % it is a plug-in module of plug-in architecture for HCLP % to get a complete comparator module, you need to define procedure % solve_constr (in FCSmod.pr) solve_level(Cs,[PartA|_],[LevelAnsw]):- solve_level_constr(Cs,PartA,LevelAnsw). solve_level(Cs,[_|PartAs],LevelAnsws):- solve_level(Cs,PartAs,LevelAnsws). solve_level_constr([C|R],PartAnsw,Answ):- solve_constr(C,PartAnsw,SubAnsw), solve_level_constr(R,SubAnsw,Answ). solve_level_constr([C|R],PartAnsw,Answ):- solve_level_constr(R,PartAnsw,Answ), not solve_constr(C,Answ,_). % solution can't be extended to cover C solve_level_constr([],Answ,Answ). select_answer(Answ,AnswList):- member(Answ,AnswList).