**Last modified:***Sunday, 31 July 1994***Source code: parametric-constraints.lisp****List of other known theories**

This theory provides the representational primitives for writing parametric models with constraint expressions. It makes two basic commitments: (1) Parameters are represented by normal object constants, and the value of a parameter is its denotation. (2) Constraints are reified objects, with quoted expressions that are KIF sentences; constraint satisfaction is defined in terms of the truth value of the sentences. This theory allows one to define embedded constraint languages with the same syntax as KIF sentences but with restrictions on the parameters, functions, and relations supported in the language. This is critical for guaranteeing completeness or tractability of constraint satisfaction.The basic entities in this theory are PARAMETER-NAME (a symbol), CONSTRAINT (an object), and CONSTRAINT-EXPRESSION (a sentence). Parameter names are just KIF object constants. Constraints are objects with an associated constraint-expression. A constraint-expression is a special case of a KIF sentence. At the minimum, a constraint-expression contains no quantifiers and has at most one free variable; further restrictions on the form of a constraint expression can be specified using RESTRICTED-CONSTRAINT-SENTENCE. The truth-value semantics of constraints is defined in the predicates SATISFIED-CONSTRAINT (for ground constraints) and SATISFIES-CONSTRAINT (for constraints with a free variable).

Reifying parameters and constraints allows agents to talk about them as objects in the universe of discourse, and to make inferences based on meta-descriptions. For example, one would like to list the parameters and constraints in a theory, distinguishing them from other axioms and definitions. An agent could then analyze the constraints for completeness without making closed world assumptions or second-order quantification. Similarly, one could define sublanguages for which there are tractable algorithms, but retain the common, declarative semantics of KIF.

This theory puts no limitations on what can be represented as parameters. There is no special vocabulary for limit the "possible values" of a parameter. Any restriction on the value of a parameter can be described with a constraint. The meaning of parameters is also independent of any object structure (i.e., parameters are not inherently properties of anything). Specializations of this theory may define classes of constraints of restricted form, and relate parameters to structured objects such as components.

- (c) 1994 Thomas R. Gruber and Gregory R. Olsen

Frame-OntologyKif-Meta

Components-With-Constraints

Atomic-Term Constraint Parametric-Constraint Satisfied-Constraint Object-Constraint Constraint-Expression Function-Constant Ground-Sentence Logical-Operator Object-Constant Parameter-Name Relation-Constant Sentence-With-One-Variable Truth-Value-Constant

Restricted-Constraint-SentenceRestricted-Constraint-TermSatisfies-Constraint

Constraint.ExpressionParameter.ValueThe-ConstraintThe-Free-Variable-InVariables-In-Cond-ClauseVariables-In-SentenceVariables-In-Term

**The following constants were used from included theories:**

**Alias***defined as a***relation***in theory***Frame-Ontology****All-Instances***defined as a***function***in theory***Frame-Ontology****Apply***defined as a***function***in theory***Kif-Relations****Arity***defined as a***function***in theory***Frame-Ontology****Bottom***defined as a***object***in theory***Kif-Relations****Cardinality***defined as a***function***in theory***Kif-Extensions****Class***defined as a***class***in theory***Frame-Ontology****Denotation***defined as a***function***in theory***Kif-Meta****Documentation***defined as a***relation***in theory***Frame-Ontology****Domain***defined as a***relation***in theory***Frame-Ontology****Empty***defined as a***class***in theory***Kif-Sets****Exhaustive-Subclass-Partition***defined as a***relation***in theory***Frame-Ontology****First***defined as a***function***in theory***Kif-Lists****Funconst***defined as a***class***in theory***Kif-Meta****Function***defined as a***class***in theory***Kif-Relations****Funterm***defined as a***class***in theory***Kif-Meta****Holds***defined as a***relation***in theory***Kif-Relations****Indvar***defined as a***class***in theory***Kif-Meta****Instance-Of***defined as a***relation***in theory***Frame-Ontology****Item***defined as a***relation***in theory***Kif-Lists****List***defined as a***class***in theory***Kif-Lists****Logconst***defined as a***class***in theory***Kif-Meta****Logsent***defined as a***class***in theory***Kif-Meta****Logterm***defined as a***class***in theory***Kif-Meta****Map***defined as a***function***in theory***Kif-Relations****Member***defined as a***relation***in theory***Kif-Sets****Nth-Domain***defined as a***relation***in theory***Frame-Ontology****Objconst***defined as a***class***in theory***Kif-Meta****Quanterm***defined as a***class***in theory***Kif-Meta****Quantsent***defined as a***class***in theory***Kif-Meta****Range***defined as a***relation***in theory***Frame-Ontology****Relation***defined as a***class***in theory***Kif-Relations****Relconst***defined as a***class***in theory***Kif-Meta****Relsent***defined as a***class***in theory***Kif-Meta****Rest***defined as a***function***in theory***Kif-Lists****Second-Item***defined as a***function***in theory***Kif-Extensions****Sentence***defined as a***class***in theory***Kif-Meta****Subclass-Of***defined as a***relation***in theory***Frame-Ontology****Term***defined as a***class***in theory***Kif-Meta****Truth***defined as a***class***in theory***Kif-Meta****Union***defined as a***function***in theory***Kif-Sets****Value-Cardinality***defined as a***function***in theory***Frame-Ontology****Value-Type***defined as a***relation***in theory***Frame-Ontology**

**All constants that were mentioned were defined.**

Formatting and translation code was written by