OPERATOR: CHECK

Problem space: constraints

Operator Overview:
Check operators are parameterized by the independent ^constraint they try to verify with respect to the link under construction. For syntax, individual operators for checking agreement, order, subcategorization, and form have their conditions beaded together to produce a single, integrated check post-learning. For semantics, checks for category, psense, syntax consistency, and adjacency are beaded together.

Operator Proposal:
Word order constraints are proposed when assigning the specifier or complement roles, when adjoining adjectives to nouns, IP to noun, noun to relative clause, inflexional information, noun to prepositional phrase, IP to prepositional phrase, verb to prepositional phrase, IP to IP, and complement to IP. Agreement constraints are proposed when assigning the specifier of IP (i.e. subject) role. Subcategorization constraints are proposed when linking a (di)transitive verb to its complements. Form constraints are proposed when linking a transitive verb to its complement. Several other "constraints" are proposed, but these are essentially empty constraints. They are necessary just to bead through certain information in order to prevent masking or chunk refraction. They are: notice-main-verb, notice-aux-verb, subcat-bead, and notice-sense. Semantics also uses the check operator, with its own particular constraints being checked.

Operator Application:
Annotates the constraint as passed or failed. In the case of number agreement constraints, may also ^return-agreements to further restrict the number of an assigner and/or receiver.

Operator Reconsider:
When ^annotation passed or failed appears on the operators ^constraint.
Productions are in the file: constraints.check.soar, with particular constraints found in constraints.check.syntax.soar and constraints.check.semantics.soar

Back to the operator hierarchy.

This page written by Jill Fain Lehman (jef@cs.cmu.edu) Updated by Julie Van Dyke (vandyke@cs.cmu.edu), August 1997