%% ['edinburgh.db']. :- multifile property/3, def_predicate/2, axiom/2. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Representation of PC Configuration Example % Definition of The Domain % % Edinburgh Site Definition % % Jessica Chen-Burger % % In this document, we will adopt a convention that words starting % with a capital letter stand for variables, whereas words starting % with a lower case letter stand for constants. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% property(processor, cost, 400). property(disk_controller, cost, 200). property(io, cost, 200). property(optionI, cost, 200). property(optionII, cost, 300). property(optionIII, cost, 220). property(optionIV, cost, 150). %%%%%%%%%%%%%%%%%% low-level local knowledge !! %%%%%%%%%%%%%%%%%%% def_predicate(cost_domain(X), [X >= 0, X < 10000]). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % (forall) dynamic_constraint/3, the same grammar as % static_constraint/2. dynamic_constraint( [], [total_cost(Cost), less_than(Cost, X)], [less_than(Cost, X)] ). dynamic_constraint( [], [total_cost(Cost), less_equal(Cost, X)], [less_equal(Cost, X)] ). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % end of file %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%