
IBUKI NLP Manual
Objects
Statements: Beliefs and Goals
constant-symbols
INDCONST - individual constant symbol
AGENTCONST - the 'name' of an agent
RELSYM - relation symbol
MODELOP - operation on a Model
beiief - belief operstor
goal - goal operator
PERCEPT - perception operators
polyscheme triples
?????
say
variable-symbols
INDVAR - individual variable symbol
[; now we define an experssion (mutually recursively)
[belief] <=> `(*belief* ,[agentconst] ,[expr])
[goal] <=> `(*goal* ,[AgentConst] ,[expr])
[physical-obj-name] <=> [indconst] or [indvar]
[term] <=> [physical-obj-name] or [belief]> or [goal]>
[inner-statement] <=> `(,[relsym] ,@ListOf[physical-obj-name])
[not-statement] <=> `(not ,[inner-statement])
[statement] <=> `(,[relsym] ,@ListOf[term]) or [not-statement]
[expr] <=> [statement] or [belief] or [goal]
'percept's reside in an agent's belief structure
[say-that] <=> `(say ,[AgentName] (that <expr>))
[say-something] <=> `(say ,[AgentName] (something ,[string])
'itention's are now a type of belief about goals
(*belief* A (goal B [expr])
Meta Notions
Types
-----
[language]
[long-term-memory] = [ltm]
[short-term-memory] = [stm]
[agent] < [stm]
[world] < [stm]
Relations
isA
`(in ,[stm] ,[statement])
li>The type of a Statement
proposal - the type [statement]
`(|type| [statement] |subtype| [object]
(the-statement [statement])
(timestamp [timestamp])
)
The type of a belief
proposal - the type [belief]
`(type [belief] subtype [fact}
(imA belief)
(name :type [indconst] :unique)
(statement [expr])
(justification [justification] :hidden)
(timestamp [timestamp])
...
)
Example:
old style
(belief N (injured P1))
new
(in N (belief (injured P1)))
or
(in N B1)
where
reification
(let (B1 [belief])
(syntype [indconst])
(statement (the-statement (injured P)))
(justifiction (the-justification assert (said by N)))
))
translates to triples
(isA B1 [belief])
(syntype B1 [Indconst])
(statement B1 (the-statement (injured P)))
(justification B1 (the-justifiction assert (said by bob))
The type of a goal
proposal
`(type [goa;] subtype []
(name :type [symbol] :unique :hidden)
(statement [exp])
(justification [justification] :hidden)
...
)
the type of a Time Stamps
maybe these should be like events
proposal
`(type [time-stamp] subtype []
(name [symbol] :hidden)
(time [time])
(action [action-name] :hidden)
...
)
Actions
proposal
`(|type| [action] |subtype| [nasmed-object]
(|name| [action-name]
(args [astion-arglist])
(befores @,ListOf[expr])
(ops @,ListOf[context-map])
(after @,ListOf[expr])
)
Rule