**Defined in theory: Components-with-constraints****Source code: components-with-constraints.lisp**

**Documentation:**A component is 'configured' or fully specified if all of its constraints are satisfied and all of its subparts are also configured. By definition, there exist values for all the parameters of a component. Whether an agent can tell you what the values of parameters are is not part of the definition of configured component. Knowing all the constraints associated with a component will require making a closed world assumption on the has-constraint slot.

**Subclass-Of:**Component

(<=> (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))))))