Package nars.language

Term hierarchy in Narsese

See:
          Description

Class Summary
CompoundTerm A CompoundTerm is a Term with internal (syntactic) structure
Conjunction Conjunction of statements
DifferenceExt A compound term whose extension is the difference of the extensions of its components
DifferenceInt A compound term whose extension is the difference of the intensions of its components
Disjunction A disjunction of Statements.
Equivalence A Statement about an Equivalence relation.
ImageExt An extension image.
ImageInt An intension image.
Implication A Statement about an Inheritance relation.
Inheritance A Statement about an Inheritance relation.
Instance A Statement about an Instance relation, which is used only in Narsese for I/O, and translated into Inheritance for internal use.
InstanceProperty A Statement about an InstanceProperty relation, which is used only in Narsese for I/O, and translated into Inheritance for internal use.
IntersectionExt A compound term whose extension is the intersection of the extensions of its components
IntersectionInt A compound term whose intension is the intersection of the extensions of its components
Negation A negation of a Statement.
Product A Product is a sequence of terms.
Property A Statement about a Property relation, which is used only in Narsese for I/O, and translated into Inheritance for internal use.
SetExt An extensionally defined set, which contains one or more instances.
SetInt An intensionally defined set, which contains one or more instances defining the Term.
Similarity A Statement about a Similarity relation.
Statement A statement is a compound term, consisting of a subject, a predicate, and a relation symbol in between.
Term Term is the basic component of Narsese, and the object of processing in NARS.
Variable A variable term, which does not correspond to a concept
 

Enum Summary
Variable.VarType Four variable types plus a wild card
 

Package nars.language Description

Term hierarchy in Narsese

Package Specification

Open-NARS implements the following formal language, Narsese.
           <sentence> ::= <judgment>
                        | <question>
                        | <goal>
           <judgment> ::= <statement> <tense> <truth-value>
           <question> ::= <statement> <tense> 
               <goal> ::= <statement> <desire-value>
              <tense> ::= :\:    // past
                        | :|:    // present
                        | :/:    // future
          <statement> ::= <<term> <relation> <term>>
                        | <compound-statement>
                        | <term>
               <term> ::= <word>
                        | <variable>
                        | <compound-term>
                        | <statement>
           <relation> ::= -->    // Inheritance
                        | <->    // Similarity
                        | {--    // Instance
                        | --]    // Property
                        | {-]    // InstanceProperty
                        | ==>    // Implication
                        | =/>    // Implication (After)
                        | =|>    // Implication (When)
                        | =\>    // Implication (Before)
                        | <=>    // Equivalence
                        | </>    // Equivalence (After)
                        | <|>    // Equivalence (When)
 <compound-statement> ::= (-- <statement>)                 // Negation
                        | (|| <statement> <statement>+)    // Disjunction
                        | (&& <statement> <statement>+)    // Conjunction
                        | (&/ <statement> <statement>+)    // Conjunction (Sequence)
                        | (&| <statement> <statement>+)    // Conjunction (Parallel)
      <compound-term> ::= {<term>+}    // SetExt
                        | [<term>+]    // SetInt
                        | (& <term> <term>+)    // IntersectionExt
                        | (| <term> <term>+)    // IntersectionInt
                        | (- <term> <term>)     // DifferenceExt
                        | (~ <term> <term>)     // DifferenceInt
                        | (* <term> <term>+)    // Product
                        | (/ <term>+ _ <term>*)    // ImageExt
                        | (\ <term>+ _ <term>*)    // ImageInt
           <variable> ::= <dependent-var>
                        | <independent-var>
                        | <anonymous-var>
                        | <query-var>
      <dependent-var> ::= #<word>(<independent-var>*)
    <independent-var> ::= #<word>
      <anonymous-var> ::= #
          <query-var> ::= ?<word>
               <word> : string in an alphabet
        <truth-value> : a pair of real numbers in [0, 1] x (0, 1)
       <desire-value> : a pair of real numbers in [0, 1] x (0, 1)
Major methods in the Term classes: