A knowledge representation language with subdefinite data types and constraints is considered. An important feature of this language is the possibility of operating with objects that may have slots (attributes) with imprecisely defined (subdefinite) values. Another important feature of the language is that it allows one to bind any object or relation to a set of constraints defined on the values of the object slots. The constraints defined on the slots with subdefinite values allow one to automatically refine such values. Since the constraints are encapsulated in the objects and relations of the semantic network, they can be added to or deleted from the current set of constraints during the process of computation as a consequence of creation or deletion of these objects or relations. A production rule technique is used to specify the process of inference and to manage the set of constraints, as well as to control a search for precise values (solutions).