
INFER is a simple computer program that can solve the hypothetical
syllogism. A syllogism is a short argument form consisting of one or more
premises and a conclusion, which is inferred from the data. Following is a
syllogism from the time of Aristotle:

       Socrates is a man.
       A man is mortal.
       Therefore, Socrates is mortal.

INFER has four kinds of statements -
  a) declarations,
  b) queries,
  c) requests,
  d) inquiries.

Although queries, requests and inquiries are synonyms, they each have a
different function in this program.

A: Declarations
===============
Data is declared in the following way -

       -> <noun phrase> is <noun phrase>

A noun phrase consists of an optional article, optional adjectives and a
noun, with the predicate 'is' (which must be in lower case). For example,

-> Socrates is a man
Noted

-> A man is mortal
Noted


B: Queries
==========
Queries (which are answered either 'Yes' or 'I don't know') have the
following form -

       -> is <noun phrase> a <noun phrase>

-> is Socrates a man?
Yes


C: Requests
===========
Requests ask for all the data known about something, for example

-> request Socrates
Socrates is ...
man

D: Inquiries
============
Inquiries receive more data than a query or a request, for example


-> who is a man?
Socrates is a man

-> who is mortal?
A man is mortal


The following are rather more complex examples, and show how new relations
can be defined in terms of previous ones.


-> an impecunious person is a borrower of money
Noted

-> a composer is an impecunious person
Noted

-> Mozart is a composer
Noted

-> is Mozart a borrower of money?
Yes

-> is Haydn a borrower of money?
I have no data concerning Haydn

-> Haydn is a composer
Noted

-> is Haydn a borrower of money?
Yes

-> who is a borrower of money?
composer is a borrower of money
impecunious person is a borrower of money
Mozart is a borrower of money
Haydn is a borrower of money

