Relation HAS-CONSTRAINT


Slots on this relation:

Documentation:
To say a component has a constraint means that the constraint has been associated with the component. The constraint holds for the component iff it is a satisfied constraint of the component.
Instance-Of: Relation
Arity: 2
Domain: Component
Range: Object-constraint

Other Related Axioms:

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

(=> (Has-Constraint $X $Y) (Component $X))

(<=> (Constraint-On $Arg1 $Arg2) (Has-Constraint $Arg2 $Arg1))

(Inverse Constraint-On Has-Constraint)

(Forall (?Constraint)
        (=> (Has-Constraint ?Component ?Constraint)
            (Satisfies-Constraint ?Component ?Constraint)))

(<=> (Valid-Component ?Component)
     (And (Component ?Component)
          (Forall (?Constraint)
                  (=> (Has-Constraint ?Component ?Constraint)
                      (Satisfies-Constraint ?Component ?Constraint)))
          (Forall (?Part-Slot)
                  (=> (Has-Subcomponent ?Component ?Part-Slot)
                      (Valid-Component (Value ?Part-Slot ?Component))))))