Computational Philosophy / One conclusion with many reasons

One conclusion with many reasons

SOCRATES : Hermeneutics is the interpretation, or understanding of texts. How can an interpretation of "I am happy" have one conclusion with many reasons?
LUCIAN : I eat an apple.
SOCRATES : What reason also?
LUCIAN : An apple makes me happy. This example shows that an interpretation has a single conclusion.
SOCRATES : A hotel has parts which need to be maintained, each with many reasons to be maintained. Name the first.
LUCIAN : A bed needs to be made, including its pillow and sheets.
SOCRATES : And the second?
LUCIAN : A picture needs to be chosen and hung straight.
SOCRATES : And the third?
LUCIAN : The carpet needs to be cleaned of toys and the dust removed.
SOCRATES : And the fourth?
LUCIAN : The windows need to be cleaned of bird droppings and the shutters need to be pulled up.
SOCRATES : And the fifth?
LUCIAN : The doors in the apartment should all be opened except the front door, and have each of their knobs polished.

%% traverse(Antecedent,Consequent,List)
%% Checks an argument is valid, or proven by parts given.
%% An argument is given by If <Antecedent>, then <Consequent>, where each of these is a subject, followed by a verb, followed by an object.
%% List is a list of reasons for the argument.

%% ?- traverse(a,c,[[a,b],[b,c]],_).
%% ?- traverse(a,d,[[a,c],[c,d],[a,b],[b,c]],_).

traverse(A,C,List) :-
traverse1(A,C,List,_).

%% traverse(Antecedent,Consequent,List,List)
%% Most of the variables are the same as for traverse/3
%% List2 is List with all the found reasons removed

traverse1(_,_,[],[]).
traverse1(A,C,List,List4) :-
delete(List,[A,B],List1), delete(List1,[B,C],List2),
traverse1(A,B,List2,List3), traverse1(B,C,List3,List4).

Hosted by www.Geocities.ws

1