    # KEHOME/kb/ke.html
    # Aug/14/2003

    #####at view = mkr;
    #####at view = mke;

    #=========================#
    # knowledge explorer (ke) #
    #=========================#
    begin hierarchy kehi;
    group;
    /   enumeration;
    /   requisite;
    /   family;
    /   file system;
    /   file;
    /   union;		# for OWL
    /   intersection;	# for OWL
    attribute;
    /    variable;   # ke attribute
    //       pronoun;
    action;
    /    method;	 # user command
    /    COMMAND;    # ke command
    //       class;	 # lub of concepts or units
    word;
    /    VERB;  # verb iss attribute
    /    quantifier;
    /    preposition;
    /    conjunction;
    /    control;
    statement;
    /    s_identity;
    /    s_definition;
    /    s_meaning;
    /    s_relation;
    //       s_relstatement;
    /    s_hierarchy;
    //       s_hostatement;
    /    s_part;
    /    s_attribute;
    /    s_action;
    /    s_interaction;
    //	 s_causality;
    /    s_change;
    /    s_conditional;
    /    s_iteration;
    /    s_begin;
    /    s_end;
    /    s_exit;
    /    s_html;
    /    s_group;
    /    s_nt;
    /    s_mcf;
    /    s_rdf;

    attribute;
    /    product;
    /    label;
    /    format;
    /    automatic;
    /    meaning;
    /    argument;
    /    argclass;
    /    argno;
    /    role;	# argclass:argno
    /    rootname;   # e.g.: /usr/local/bin
    /    classname;  # e.g.: bin\local\usr\
    /    shortname;  # e.g.: bin
    /    name;
    /    nickname;
    /    alias;
    /    internal name;
    /    cache name;
    /    sex;
    /    kbmode;
    /    kbdata;
    /    kbfile;
    variable;	# ke attribute
    /     Assignment; # output of last assignment
    /     Command;	# output of last command
    /     Every;	# output of last every sentence
    /     If;	# output of last conditional
    /     Question;	# output of last question
    #/     Statement;	# output of last statement
    /     Sentence;	# output of last sentence
    /     .;	# current concept
    /     ..;	# current genus
    /     ...;	# current species|unit
    end hierarchy kehi;

    begin unithierarchy keprim;
    separator;
    /    comment mark;	# #
    /    squote mark;	# '
    /    dquote mark;	# "
    /    blank;		# white space
    /    tab;		# white space
    /    vertical tab;	# white space
    /    return;		# white space
    /    newline;		# white space
    /    newpage;		# white space
    /    !;		# sh command
    /    =;		# assignment
    /    +=;	# assignment
    /    -=;	# assignment
    /    *=;	# assignment
    /    :=;	# production
    /    ::=;	# BNF grammar production
    /    /;		# hierarchy,filename
    /    \;		# hierarchy,filename
    #/    ,;	# phrase list
    #/    ;;	# proposition list
    /    &;		# and
    /    |;		# or
    /    ~;		# not     ==> quantifier
    /    {;		# proposition list
    /    };		# proposition list
    /    [;		# phrase list
    /    ];		# phrase list
    /    (;		# precedence (not used)
    /    );		# precedence (not used)
    #/    <;	# HTML
    #/    >;	# HTML
    VERB;
    /    is;	# identity/alias,definition
    /    has;	# attribute
    /    haspart;	# part
    /    isapart;	# part
    /    isin;	# n-ary relation
    /    rel;	# binary relation
    /    do;	# action, command, method
    /    do*;	# action declaration -- "power"
    /    vdo;	# action in all views
    /    change;	# event do change od event object from initial to final done;

    /    set;	# assignment
    /    vset;	# assignment in all views
    /    unset;	# assignment

    /    in;	# iteration list
    /    isa;	# species|unit,... isa concept
    /    isc;	# concept isc species|unit,...
    /    isd;	# differentiate
    /    isi;	# integrate

    /    isg;	# genus concept isg species,...
    /    iss;	# species,... iss genus concept
    /    isp;	# primitive concept isp unit,...
    /    isu;	# unit,... isu primitive concept
    /    isall;	# ingroup isall member,...
    /    ismem;	# member,... ismem ingroup
    /    isany;	# exgroup isany alternative,...
    /    isalt;	# alternative,... isalt exgroup

    quantifier;
    /    a;		# indeterminate unit of group
    /    all;	# members of ingroup
    /    any;	# alternative of exgroup
    /    either;	# alternative of exgroup
    /    no;	# no unit of group
    /    non;	# complement wrt/genus
    /    not;	# complement wrt/existent
    /    some;	# members of ingroup
    /    the;	# unique unit of group
    preposition;
    /    at;	# context: space,time,view
    /    of;	# definition: part/unit
    /    with;	# definition: differentia
    /    out;	# product
    /    od;	# direct object
    /    from;	# change: initial
    /    to;	# change: final
    conjunction;
    /    causes;	# entiy:1 do action:1 done causes entity:2 do action:2 done;
    /    means;	# symbol means referent
    /    and;	# logic
    /    or;	# logic
    /    iff;	# logic
    /    implies;	# logic
    /    supports;	# context supports sentence (situation theory)
    control;
    /    done;	# action
    /    begin;	# group definition
    #/    end;	# group definition
    /    exit;	# exit ke
    /    if;	# conditional
    /    then;	# conditional
    /    else;	# conditional
    /    fi;	# conditional
    /    every;	# iteration
    /    when;	# iteration
    /    while;	# iteration

    Set;
    /    views;	# all views
    /    concepts;	# all concepts (names)
    /    units;	# all individuals
    /    parts;	# all parts
    /    values;	# all attribute values
    /    infons;	# all relation units
    /    events;	# all action events
    end unithierarchy keprim;

    knit has view,
    	 current concept,
    	 current genus concept,current species,
    	 current primitive concept,current unit;
    chit has space,time,view;

    #------#
    # file #
    #------#
    file has
    	fname=name,
    	ftype=enum,		# - b c d l p
    	fsize=integer,		# bytes
    	fstatus=string,		# -rwxrwxrwx
    	file system=name,	# fsname
    	fpath=name,		# path from fsroot

    	current knit=name,	# current knit
    	current concept=name,	# current concept
    	kformat=enum,		# input: ku|ho|rel|dir
    	hformat=enum,		# output: ku|ho|rel|dir|alpha
    	hoseparator=enum,	# hierarchy
    	relseparator=enum,	# relation
    	nvseparator=enum,	# assignment
    	removehtml=enum,
    	savehref=enum,
    	kerror=integer;

    #----------#
    # relation #
    #----------#
    relation has
    	label=[],			# [string:1, ...]
    	format=[],			# [class:1, ...] | {proposition}
    	meaning={},			# {... $1 ...}
    	formattype=enum_formattype,	# list | proposition
    	meaningtype=enum_meaningtype,	# proposition | procedure
    	automatic=enum_automatic,	# none | ISA | ISA* | ...
    	separator=",";			# default ","

    #-----------------------------#
    # do method:1 pplist:2 done;  #
    #-----------------------------#
    method has
    	usage={},
    	label=[],			# [string:1, ...]
    	format=[],			# [class:1, ...] | {proposition}
    	meaning={},			# {... $1 ...}
    	formattype=enum_formattype,	# list | proposition
    	meaningtype=enum_meaningtype,	# proposition | procedure
    	automatic=enum_automatic,	# none | ISA | ISA* | ...
    	separator=",";			# default ","

    #-------------#
    # interaction #
    #-------------#
    phenomenon has
    	p_event,	# Set of events
    	p_cause;	# Set of cause-effect relations

    #==============#
    # ke variables #
    #==============#
    set debug   = NO;		# extra output
    set hfocus += nonexistent;	# output concepts: contradictions
    set hfocus += unknown;		# output concepts: unknown concepts
    set hfocus += newproposition;	# output concepts: unknown propositions
    set hminfactid  = $klastid;	# output concepts: skip old facts
    set hformat	= hounit;	# output format: hierarchy group
    set htab	= 2;		# output format: indent unit
    set hpad	= 10;		# output format: name padding
    set charformat	= column;	# output format: characteristic

    set hmaxlevel	= 20;		# hierarchy maximum level up/down
    set hcheck	= YES;		# check hierarchy & definitions
    set hop		= YES;		# hierarchy verb processing
    set hchar	= YES;		# characteristic processing
    set hmethod	= YES;		# method processing
    set hrelation	= YES;		# relation processing
    set hreduce	= NO;		# reduce processing