Home / Glossary / Argument constraint

Argument Constraints are assertions in the KB that place syntactic and semantic conditions on the well-formedness of sentences and formulas. They are put on functions and relations and are used to restrict what can appear in each argument position of a predicate or function.

Argument constraints most often take the form of #$isa (instance of) and #$genls (generalization) constraints. E.g. #$lifeExpecancy is a relation between a living object and a particular quantity of time. Hence the first “arg isa” (#$arg1Isa) constraint on #$lifeExpectancy is #$BiologicalLivingObject:

(arg1Isa lifeExpectancy BiologicalLivingObject)

Hence, placing some instance of #$Train in the first argument place of that relation would result in a formula that would not be well-formed, since no instance of #$Train is an instance of #$BiologicalLivingObject. On the other hand, a relation like #$scientificName, which takes a type of organism and relates it to its official scientific name has a generalization, rather than a membership (#$isa), constraint on its first argument position — anything standing in the first argument place of #$scientificName must generalize to #$BiologicalLivingObject:

(arg1Genl scientificName BiologicalLivingObject)

Argument constraints can also constrain how an argument’s value must be expressed. E.g. #$arg1QuotedIsa can be used to express the constraint that the first argument of a particular relation be expressed by a certain sort of term.