A logical language can take many forms as long as it provides a means
of representing information which is both precise and flexible. What
distinguishes a logical language from a mere data-structure is that it
also characterises the notion of valid inference. More
specifically if a body of information is represented by a set of
logical sentences, then for any other possible fact which can be
represented in the language there is a precise specification of what
it means for the fact to be a consequence of that
information.
We may think of the
body of information as constituting a database and the fact
which we want to test may be called a query.
A logical language generally contains two types of symbol: firstly
there are those symbols often called `logical constants', which refer
to fundamental operations used in expressing information. They
correspond to very abstract words in ordinary language such as `and',
`or' `if
then' and `everything'. The inferential properties
of these symbols are completely fixed by the specification of the
logical language. The other (`non-logical') symbols can refer to
arbitrary properties, relations and functions. The meanings of these
symbols are not captured in the basic inference procedures of the
logic but must be separately specified by means of a logical
theory.
One of the best known logical languages is the 1st-order predicate calculus. In the rest of this section I shall present examples using this formalism. If you are not familiar with this notation you need not be concerned with the details of these formulae.