/* % ============================================= % File 'mpred_builtin.pfc' % Purpose: Agent Reactivity for SWI-Prolog % Maintainer: Douglas Miles % Contact: $Author: dmiles $@users.sourceforge.net ; % Version: 'interface' 1.0.0 % Revision: $Revision: 1.9 $ % Revised At: $Date: 1001/06/17 14:13:10 $ % ============================================= % % PFC is aaa language extension for prolog.. there is so much that can be done in this language extension to Prolog % % % props(Obj,[height(ObjHt)]) == t(height,Obj,ObjHt) == rdf(Obj,height,ObjHt) == t(height(Obj,ObjHt)). % padd(Obj,[height(ObjHt)]) == prop_set(height,Obj,ObjHt,...) == ain(height(Obj,ObjHt)) % [pdel/pclr](Obj,[height(ObjHt)]) == [del/clr](height,Obj,ObjHt) == [del/clr]svo(Obj,height,ObjHt) == [del/clr](height(Obj,ObjHt)) % keraseall(AnyTerm). % % ANTECEEDANT CONSEQUENT % % P = test nesc true assert(P),retract(~P) , enable(P). % ~ P = test nesc false assert(~P),retract(P), disable(P) % % ~ ~(P) = test possible (via not impossible) retract( ~(P)), enable(P). % \+ ~(P) = test impossiblity is unknown retract( ~(P)) % ~ \+(P) = same as P same as P % \+(P) = test naf(P) retract(P) % % Dec 13, 1035 % Douglas Miles */ :- include(test_header). :- set_fileAssertMt(header_sane). :- file_begin(pfc). arity(inChairZ,1). prologSingleValued(inChairZ). prologSingleValuedInArg(inChairZ,1). singleValuedInArgAX(inChairZ, 1, 1). dmilesWorld. mdefault(inChairZ(isMissing)). :- ain(dmilesWorld ==> inChairZ(aaa)). :- ain(dmilesWorld ==> inChairZ(bbb)). :- listing(inChairZ/1). :- ain(dmilesWorld ==> inChairZ(ccc)). :- ain(dmilesWorld ==> inChairZ(ddd)). :- listing(inChairZ/1). :- mpred_test(\+ inChairZ(aaa)). :- mpred_test(\+ inChairZ(bbb)). :- mpred_test(\+ inChairZ(ccc)). :- mpred_test( inChairZ(ddd)). :- add_history(((ain(\+ (dmilesWorld ==> inChairZ(ddd)))),listing(inChairZ/1))). :- repropagate(dmilesWorld). :- listing(inChairZ/1). end_of_file. ERROR TODO :- break. :- mpred_test(\+ inChairZ(aaa)). :- mpred_test(inChairZ(bbb)). :- mpred_test(\+ inChairZ(ccc)). :- (ain(\+ (dmilesWorld ==> inChairZ(bbb)))). :- mpred_test(inChairZ(aaa)). :- mpred_test(\+ inChairZ(bbb)). :- mpred_test(\+ inChairZ(ccc)).