5.1 Propositions

Writing constraints extensionally as tables of legal values for variables is not very intuitive. It is difficult to see what the tables are saying. It is also difficult to debug the knowledge, and small changes in the problem can mean big changes to the tables. One way to write constraints intensionally is in terms of propositions.

There are a number of reasons for using propositions for specifying constraints and queries:

  • It is often more concise and readable to give a logical statement about the relationship between some variables than to use an extensional representation.
  • The kind of queries an agent may have to answer may be richer than single assignments of values to variables.
  • This language is extended to reason about individuals and relations in Chapter 12.

We first give the syntax and the semantics of a language called propositional calculus.