ITV0060 lab 2 example

Allikas: Lambda
Redaktsioon seisuga 14. märts 2011, kell 12:44 kasutajalt Tammet (arutelu | kaastöö)
(erin) ←Vanem redaktsioon | Viimane redaktsiooni (erin) | Uuem redaktsioon→ (erin)
Mine navigeerimisribale Mine otsikasti
% clear automatic strategy selection and preprocessing
clear(auto).

% use capital letters (A,X,T,...) as vars
set(prolog_style_variables).

% select the search strategy
%set(pos_hyper_resolution).
set(hyper_res).
set(factor).
%set(positive_inference).
%set(paramodulation).
set(para_into).
set(para_from).

% select sensible amount of output
%clear(echo_input).
%clear(print_initial_clauses). % remove this to see input!
clear(print_given). 
set(print_kept).  % this is important: prints all generated and kept clauses
assign(stats_level, 0).

% just make it stop after N secs
assign(max_seconds, 10).

% useful iff you want to have several proofs/more than one query answer
assign(max_proofs, 1000000).

formula_list(sos).

type(car1,van,1).
type(car2,van,2).
type(car3,bike,3).

subclass(van,vehicle,4).
subclass(vehicle,thing,5).

all X all Y all Z all P all Q 
  (type(X,Y,P) & subclass(Y,Z,Q)  -> type(X,Z,$PROD(P,Q))) .

% example query: remove if you do not want to query

all X all Z (-type(X,thing,Z) | $answer(X,Z)).

end_of_list.