3:- mpred_unload_file. 4 5:- set_prolog_flag_until_eof(do_renames,term_expansion). 6 7:- file_begin(pfc). 8 9:- set_fileAssertMt(baseKB). 10% ensure this file does not get unloaded with mpred_reset 11:- prolog_load_context(file,F), ain(mpred_unload_option(F,never)). 12 13:- dynamic(pass4/0). 14 15/* 16colen syntax and Mts 17 18ist(mt1,isa(foo,bar)) == mt1:isa(foo,bar). 19 20 21 22*/ 23 24/* 25 26isa(foo,bar):-mt1. % 5 27isa(baz,bar):-mt1. % 5 28isa(X,Y,mt1):-with_assertion(mt1,isa(X,Y)). % 11 29 30% x50 = 261 31 32 33vs 34 35mt1_isa(foo,bar). % 4 36mt1_isa(baz,bar). % 4 37isa(X,Y,mt1):-mt1_isa(X,Y). % 8 38 39mung(mt1_isa(_,_),mt1). % 6 40mung(mt1_genls(_,_),mt1). % 6 41 42% x50 = 208 + 6 = 214 43 44mt1_genls(_,_):-mt1_isa(_,_),mt1_genls(_,_). 45 46 47vs. 48 49 50mt1:isa(foo,bar). % 4 51mt1:isa(baz,bar). % 4 52isa(X,Y,mt1):-mt1:isa(X,Y). % 8 53 54% x50 = 208 55 56vs. 57 58isa(foo,bar,mt1). % 5 59isa(baz,bar,mt1). % 5 60 61 62genls(_,_,MT):-isa(_,_,MT),genls(_,_,MT). 63 64% x50 = 250 65 66*/ 67 68 69 70:- op(500,fx,'~'). 71:- op(1050,xfx,('==>')). 72:- op(1050,xfx,'<==>'). 73:- op(1050,xfx,('<-')). 74:- op(1100,fx,('==>')). 75:- op(1150,xfx,('::::')). 76:- kb_shared(tCol/1). 77:- kb_shared(tHominid/1). 78 79:- kb_shared(relationAllOnly/3). 80:- kb_shared(rtTransitiveBinaryPredicate/1). 81:- kb_shared(predInterArgIsa/1).