Contents    Page-10    Prev    Next    Page+10    Index   

PROLOG

PROLOG is a logic-based programming language. A PROLOG statement, C ← P1, ..., Pn can be considered to be a rule. Proofs proceed by backchaining.

Problems:

  1. Hard to control search.

  2. The Horn clause restriction prevents some kinds of rules from being written:
    1. Rules which conclude a negated conclusion, or have a disjunction (OR) in the conclusion.

    2. Rules which depend on a fact being not true. (Some PROLOGs do this using negation as failure.)

  3. Backchaining is not logically complete. For example, it cannot do reasoning by cases.

PROLOG has the advantages that search is built into the language, and that PROLOG programs can run ``forward'' or ``backward''.