Date: Nov 8, 2012 4:49 PM
Author: Hercules ofZeus
Subject: MODUS PONENS PROGRAM <<REVISION>>
AN INFERENCE RULE IN PROLOG LOGIC
==LHS=============RHS
if( and(lt(X,Y),lt(Y,Z)) , lt(X,Z) ).
LOG4.PRO uses MODUS PONENS on the above inference rule!
MP
t(RHS) <- if(LHS,RHS) ^ t(LHS).
--------------------------------
TEST RUN!
lt(2,5).
lt(5,10). (ADD SOME FACTS ABOUT 2<5, 5<10)
?- lt(2,X).
X = 5 (PROLOG MISSED THE INFERENCE RULE)
?- t(lt(2,X)). (TRY AGAIN!)
X = 5
X = 10
This is the format to Query and include further inferences.
.
.
- - - - - - - - - - - -MODUS PONENS
(2<5) ^ (5<10) ---------------------------> (2<10)
- - - - - - - - - - - -INFERENCE RULE
.
.
.
.
.
Herc
----LOG4.PRO-----
f(0).
t(1).
t(X) :- f(f(X)).
wff(X) :- t(X).
wff(X) :- f(X).
what(X,true) :- t(X).
what(X,false) :- f(X).
t(if(X,Y)) :- t(X), t(Y).
t(if(X,Y)) :- f(X), f(Y).
t(if(X,Y)) :- f(X), t(Y).
t(or(X,Y)) :- t(X).
t(or(X,Y)) :- t(Y).
t(and(X,Y)) :- t(X),t(Y).
t(iff(X,Y)) :- t(X),t(Y).
t(iff(X,Y)) :- f(X),f(Y).
t(xor(X,Y)) :- t(X),f(Y).
t(xor(X,Y)) :- f(X),t(Y).
f(if(X,Y)) :- t(X),f(Y).
f(or(X,Y)) :- f(X),f(Y).
f(and(X,Y)) :- f(X).
f(and(X,Y)) :- f(Y).
f(iff(X,Y)) :- t(X),f(Y).
f(iff(X,Y)) :- f(X),t(Y).
f(xor(X,Y)) :- t(X),t(Y).
f(xor(X,Y)) :- f(X),f(Y).
t(lt(A,B)) :- lt(A,B).
if( and(lt(X,Y),lt(Y,Z)) , lt(X,Z) ). .... INFERENCE RULE
t(RHS) :- if(LHS,RHS), t(LHS). .... MODUS PONENS