#
# KEHOME/kb/spo.mkr
# Mar/10/2007 iswith differentia
#=============================================#
# entity-characteristic-proposition hierarchy #
#=============================================#
begin hierarchy TABULA RASA;
existent;
/ unknown; # no genus, not member, not alternative
/ group; # abstract entity
// ingroup; # inclusive
/// plural concept;
/// list; # List[integer]
/// array; # Array[name]
/// set;
// exgroup; # exclusive
/// singular concept;
/// enum;
/ entity;
// ANIMAL;
/// person;
//// i:user;
// PLANT;
// OBJECT;
/// i:ke;
/// file;
/// symbol;
/// knowledge;
/ characteristic;
// differentia; # definition
// attribute;
/// i:value;
/// space;
/// time;
/// view;
// part;
/// i:value;
/// context;
/// sentence;
// relation;
/// i:infon;
// action;
/// i:event;
// interaction;
/ proposition;
sentence;
/ statement;
// s_identification;
// s_knowledge ;
// s_proposition ;
// s_stv ;
// s_context ;
// definition ;
/// s_alias ;
/// s_def_species;
/// s_def_unit ;
// s_attribute ;
// s_relation ;
/// s_iss ;
/// s_isu ;
// s_part ;
// s_action ;
/// s_ke_command ;
/// s_sh_command ;
/// s_user_command;
// s_interaction ;
// s_iteration ;
// s_conditional ;
// s_ingroup ;
// s_exgroup ;
// s_begin_group ;
// s_end_group ;
// s_production ;
symbol;
/ word;
// verb;
/// i:is;
/// i:has;
/// i:haspart;
/// i:rel;
/// i:can; # "power" to do
/// i:do;
/// i:!; # sh COMMAND
/// i:causes; # interaction
/// i:iswith; # differentia
/// i:isu;
/// i:iss;
/// i:isa;
/// i:ismem;
/// i:isalt;
/// i:isnon; # wrt genus
/// i:isnot; # wrt existent
/// i:xor; # disjoint
/// i:isand; # intersection
/// i:isor; # union
/// i:isxor; # disjoint union
/// i:inverse;
// preposition;
/// i:at;
/// i:out;
/// i:of;
/// i:with;
/// i:from;
/// i:to;
/// i:in;
// quantifier;
/// i:a;
/// i:all;
/// i:any;
/// i:non; # wrt genus
/// i:not; # wrt existent
/// i:some;
/// i:the;
// control;
/// i:begin;
/// i:end;
/// i:every;
/// i:until;
/// i:while;
/// i:when;
/// i:if;
/// i:then;
/// i:else;
/// i:fi;
/// i:break;
/// i:return;
#/// i:exit;
context;
sentence;
/ production;
/ statement;
// svop ;# existent:1 verb existent:2 pplist [done];
/ command;
/ question;
/ compound sentence;
end hierarchy TABULA RASA;
begin hierarchy imaginary;
nonexistent;
end hierarchy imaginary;
#===========#
# relations #
#===========#
isp inverse isu;
isg inverse iss;
isc inverse isa;
isall inverse ismem;
isany inverse isalt;
true, false, yes isu attribute;
false isnon true;
no isnon yes;
#========================#
# NSM universal concepts #
#========================#
do read from kb/NSM.mkr done;
#==============#
# propositions #
#==============#
s_identification :: knowledge := man do identify od existent with purpose done;
s_knowledge :: knowledge haspart proposition list;
s_proposition :: proposition haspart context, sentence;
s_stv :: context has space,time,view;
s_context :: at space=here, time=now, view=spo;
s_def_species :: species iss genus of domain with differentia; # isa,is okay
s_def_unit :: unit isu genus of domain with differentia; # isa,is okay
s_alias :: existent:1 is existent:2;
s_attribute :: existent has attribute=value;
s_relation :: existent:1 rel relation existent:2;
s_iss :: species rel iss genus;
s_isu :: individual rel isu concept;
s_part :: existent haspart part=value;
s_action :: entity do action=event od ... done;
s_ke_command :: do COMMAND od ... done;
s_sh_command :: ! COMMAND od ... done;
s_user_command :: do method od ... done;
s_interaction :: event:1 causes event:2;
s_ingroup :: ingroup isall member; member ismem ingroup;
s_exgroup :: exgroup isany alternative; alternative isalt exgroup;
s_iteration :: every variable verb object; { propositionlist; };
s_conditional :: if proposition;
then propositionlist;
else propositionlist;
fi;
s_begin_group :: begin group gname;
s_end_group :: end group gname;
s_production :: product := sentence;
#