Class OBJECT-CONSTRAINT


Slots on this class:

Documentation:
An object-constraint is a constraint on the properties of an object. Such objects can represent arbitrary systems of objects and parameters; this theory puts no restriction on the nature of the object (e.g., it might be a component, or syntatic structure, or a list of parameters). The purpose for distinguishing object constraints from parametric constraints is to allow for a modular scope of a constraint.

Formally, an object-constraint is a constraint whose constraint.expression is a sentence with one free variable. That variable is not universally quantified; instead, it stands for the object being constrained. The semantics of the constraint expressions is given by the predicate SATISFIES-CONSTRAINT, which associates the variable with some specific object.

Instance-Of: Class
Subclass-Of: Constraint
Range-Of: Satisfies-constraint


Slots on instances of this class:

Constraint.Expression:
Slot-Cardinality: 1
Slot-Value-Type: Sentence-with-one-variable, Constraint-expression

Equivalence Axioms:

(<=> (Object-Constraint ?Constraint)
     (And (Constraint ?Constraint)
          (Value-Type ?Constraint
                      Constraint.Expression
                      Sentence-With-One-Variable)
          (Value-Cardinality ?Constraint Constraint.Expression 1)))


Axioms:

(Constraint ?Constraint)


Other Related Axioms:

(Exhaustive-Subclass-Partition Constraint
                               (Setof Parametric-Constraint
                                      Object-Constraint))

(<=> (Object-Constraint ?Constraint)
     (And (Constraint ?Constraint)
          (Value-Type ?Constraint
                      Constraint.Expression
                      Sentence-With-One-Variable)
          (Value-Cardinality ?Constraint Constraint.Expression 1)))

(=> (Satisfies-Constraint $X $Y) (Object-Constraint $Y))

(<=> (Satisfies-Constraint ?Object ?Constraint)
     (And (Object-Constraint ?Constraint)
          (Holds (Denotation 
                     (Listof 
                         'Kappa
                         (Listof 
                             (The-Free-Variable-In 
                                 (Constraint.Expression ?Constraint)))
                         (Constraint.Expression ?Constraint)))
                 ?Object)))