1/* <module>
    2% =============================================
    3% File 'autoexec.pfc'
    4% Purpose: Agent Reactivity for SWI-Prolog
    5% Maintainer: Douglas Miles
    6% Contact: $Author: dmiles $@users.sourceforge.net ;
    7% Version: 'interface' 1.0.0
    8% Revision: $Revision: 1.9 $
    9% Revised At: $Date: 2002/06/27 14:13:20 $
   10% =============================================
   11%
   12%  PFC is a language extension for prolog.. there is so much that can be done in this language extension to Prolog
   13%
   14%
   15% props(Obj,[height(ObjHt)]) == t(height,Obj,ObjHt) == rdf(Obj,height,ObjHt) == t(height(Obj,ObjHt)).
   16% padd(Obj,[height(ObjHt)]) == prop_set(height,Obj,ObjHt,...) == ain(height(Obj,ObjHt))
   17% [pdel/pclr](Obj,[height(ObjHt)]) == [del/clr](height,Obj,ObjHt) == [del/clr]svo(Obj,height,ObjHt) == [del/clr](height(Obj,ObjHt))
   18% keraseall(AnyTerm).
   19%
   20%                      ANTECEEDANT                                   CONSEQUENT
   21%
   22%         P =         test nesc true                         assert(P),retract(~P) , enable(P).
   23%       ~ P =         test nesc false                        assert(~P),retract(P), disable(P)
   24%
   25%   ~ ~(P) =         test possible (via not impossible)      retract( ~(P)), enable(P).
   26%  \+ ~(P) =         test impossiblity is unknown            retract( ~(P))
   27%   ~ \+(P) =        same as P                               same as P
   28%     \+(P) =        test naf(P)                             retract(P)
   29%
   30% Dec 13, 2035
   31% Douglas Miles
   32*/

   33
   34:- add_to_search_path(pfc,'.').
   35
   36:-       op(990,xfx,(':=')),
   37         % op(250,yfx,('?')),
   38         op(1,fx,('$')),
   39         op(200,fy,('@')),
   40         op(100,yfx,('.')),
   41         op(400,yfx,('rdiv')),
   42         op(1150,fx,('meta_predicate')),
   43         op(400,yfx,('//')),
   44         op(500,yfx,('/\\')),
   45         op(1200,fx,('?-')),
   46         op(1150,fx,('module_transparent')),
   47         op(1150,fx,('multifile')),
   48         op(1150,fx,('public')),
   49         op(1150,fx,('thread_initialization')),
   50         op(200,fy,('-')),
   51         op(500,yfx,('-')),
   52         op(700,xfx,('=:=')),
   53         op(1150,fx,('thread_local')),
   54         op(700,xfx,('as')),
   55         op(700,xfx,('=\\=')),
   56         op(400,yfx,('mod')),
   57         op(700,xfx,('=@=')),
   58         op(700,xfx,('@>')),
   59         op(200,xfy,('^')),
   60         op(1200,xfx,('-->')),
   61         op(700,xfx,('=..')),
   62         op(1100,xfy,(';')),
   63         op(700,xfx,('>:<')),
   64         op(700,xfx,(':<')),
   65         op(700,xfx,('@<')),
   66         op(700,xfx,('@=<')),
   67         op(700,xfx,('@>=')),
   68         op(400,yfx,('div')),
   69         op(400,yfx,('/')),
   70         op(700,xfx,('\\=@=')),
   71         op(1150,fx,('discontiguous')),
   72         op(400,yfx,('rem')),
   73         op(700,xfx,('\\=')),
   74         op(1050,xfy,('->')),
   75         op(400,yfx,('>>')),
   76         op(200,fy,('\\')),
   77         op(900,fy,('\\+')),
   78         op(1105,xfy,('|')),
   79         op(700,xfx,('\\==')),
   80         op(200,xfx,('**')),
   81         op(1150,fx,('volatile')),
   82         op(500,yfx,('\\/')),
   83         op(1150,fx,('initialization')),
   84         op(400,yfx,('*')),
   85         op(1150,fx,('dynamic')),
   86         op(700,xfx,('>=')),
   87         op(700,xfx,('>')),
   88         op(200,fy,('+')),
   89         op(500,yfx,('+')),
   90         op(1050,xfy,('*->')),
   91         op(700,xfx,('=<')),
   92         op(700,xfx,('<')),
   93         op(700,xfx,('=')),
   94         op(700,xfx,('is')),
   95         op(600,xfy,(':')),
   96         op(400,yfx,('<<')),
   97         op(1200,fx,(':-')),
   98         op(1200,xfx,(':-')),
   99         op(400,yfx,('xor')),
  100      %   op(1000,xfy,(',')),
  101         op(700,xfx,('==')).
  102
  103%:- ensure_abox(baseKB).
  104
  105%:- set_fileAssertMt(baseKB).
  106:- set_prolog_flag(expect_pfc_file,always).
  107
  108%:- baseKB:ensure_loaded(library('pfclib/system_autoexec.pfc')).
  109
  110%:- mpred_unload_file.
  111:- set_fileAssertMt(baseKB).
  112% ensure this file does not get unloaded with mpred_reset
  113:- prolog_load_context(file,F), ain(mpred_unload_option(F,never)).
  114%:- ensure_loaded(('pfclib/system_base.pfc')).
  115
  116:- ensure_loaded('system_basic.pfc').
  117:- ensure_loaded('system_common.pfc').
  118:- ensure_loaded('system_constraints.pfc').
  119:- ensure_loaded('system_domains.pfc').
  120:- ensure_loaded('system_genls.pfc').
  121
  122:- ensure_loaded(('user_relationAllExists.pfc')).
  123
  124:- ensure_loaded(('user_transitiveViaArg.pfc')).
  125
  126:- ensure_loaded(('user_type_barriers.pfc')).
  127
  128
  129:- multifile(baseKB:locked_baseKB/0).
  130:- dynamic(baseKB:locked_baseKB/0).
  131:- asserta((baseKB:locked_baseKB)).
  132
  133
  134% :- mpred_test(ensure_loaded('pttpFWC.pfc')).