Go backward to Preferences.
Go up to Syntax of the Symbol Level.
Go forward to Impasses and subgoals (syntax).

Production memory
=================

Syntactically, each production has three required components: a *name*, a
condition-side (also called the left-hand side, or LHS), and an action-side
(also called the right-hand side, or RHS). An optional string of text can be
included following the name as a comment.  Expanded, each production consists
of an opening parenthesis; the symbol sp; the production's name; an optional
comment string; the production's conditions; the symbol -->; the production's
actions; and a closing parenthesis.  Below is a template for a Soar
production.

(sp production-name
    [ "optional-documentation-string" ]
    [ flag ]*
    CONDITIONS
    -->
    ACTIONS)

 flag ::= :o-support | :no-o-support | :default | :chunk

The documentation string is just a comment inclosed in double quotes:
{"string"}.

The flags give information about the production.  :O-support specifies that
all the actions are to be given o-support.  :No-o-support specifies that none
of the actions are to be given o-support.  {:Default} specifies that this is
a default rule.  :Chunk specifies that this is a chunk.  The :chunk flag is
provided so that you can {(list-chunks)} to a file, then reload them later
and have them "look and act" like chunks.

Soar productions can either be loaded in by a user or be produced by the
system itself (i.e., chunks from chunking).

Menu

The semantics of productions
The condition side
The action side