The input and output of the applet are sequences of Narsese sentences, plus number of inference steps to be carried out. The following is roughly the Narsese grammar rules in BNF notation.
GRAMMAR RULE BRIEF EXPLANATION
<sentence> ::= <statement>"." [<truth-value>] // judgment to be remembered
| <statement>"?" // question to be answered
| <statement>"!" [<truth-value>] // goal to be realized
<statement> ::= "<"<term> <relation> <term>">" // two terms related to each other
| <term> // a term can name a statement
<relation> ::= "-->" // inheritance
| "<->" // similarity
| "{--" // instance
| "--]" // property
| "{-]" // instance-property
| "==>" // implication
| "<=>" // equivalence
| "=/>" // predictive implication
| "=|>" // concurrent implication
| "=\>" // retrospective implication
| "</>" // predictive equivalence
| "<|>" // concurrent equivalence
<term> ::= <word> // an atomic constant term
| <variable> // an atomic variable term
| <compound-term> // a term with internal structure
| <statement> // a statement can serve as a term
<compound-term> ::= "{" <term> {","<term>} "}" // extensional set
| "[" <term> {","<term>} "]" // intensional set
| "(&," <term> {","<term>} ")" // extensional intersection
| "(|," <term> {","<term>} ")" // intensional intersection
| "(-," <term> "," <term> ")" // extensional difference
| "(~," <term> "," <term> ")" // intensional difference
| "(*," <term> {","<term>} ")" // product
| "(/," <term> {","<term>} ")" // extensional image
| "(\," <term> {","<term>} ")" // intensional image
| "(--," <term> ")" // negation
| "(||," <term> {","<term>} ")" // disjunction
| "(&&," <term> {","<term>} ")" // conjunction
| "(&/," <term> {","<term>} ")" // sequential events
| "(&|," <term> {","<term>} ")" // parallel events
| "(/>," <term> ")" // future event
| "(|>," <term> ")" // present event
| "(\>," <term> ")" // past event
<variable> ::= "#"<word> // independent variable
| "#"<word> "(" {"#"<word>} ")" // dependent variable
| "#" // anonymous term as place holder
| "?"<word> // query variable for term to be find
<truth-value> ::= "%"<frequency>";"<confidence>"%" // two real numbers in [0,1]
<word> : string in an alphabet
This window contains a menu bar, a text area, a clock field, and four command buttons.
This window contains a text area and four command buttons.
This window contains a text area and three command buttons.
This window contains a text area, a slider, and three command buttons.
This window contains a slider and three command buttons.
This window contains a text area and a bottom.