The threads service enables programmers to create and control multiple application threads in a single process. This declarative language is a logically comprehensive, prefix version of first-order predicate calculus. It provides for the representation of meta-knowledge and supports a wide variety of expressions supporting constraints, rules, disjunctions, etc. with a vocabulary comprising variables, operators, functions and relations. KIF is designed for interchange of knowledge among disparate programs. KIF is not intended as a primary language for interaction with the user.
Programs interact with their users through whatever languages are appropriate to the applications.
Consequently, programs convert knowledge bases from their own internal formats into KIF simply for the purposes of sharing the knowledge.