Skip To Content

Athabasca University

Section 3 : Inference in first-order logic

Commentary

Section Goals

  • To discuss the basic ideas behind first-order inference; i.e., unification and reduction to propositional inference.
  • To introduce main techniques regarding inference in first-order logic, such as resolution, theorem-proving, and forward and backward chaining.
  • To introduce basic knowledge about logic programming.
  • To introduce relevant algorithms of the above inference methods.

Section Notes

  • Parts of this section may be skipped by those who have a strong background in first-order logic. However, even for those students, further study of the in-depth issues in this section is encouraged to pave the way for the future sections and units

Learning Objectives

Learning Objective 1

  • Exemplify logical agents in the context of the wumpus world.
  • Outline the syntax and semantics of propositional logic.
  • Outline the basic principle of propositional entailment.
  • Describe how logic programming is used to represent and solve inference problems.
    • Explain the following concepts or terms:
    • Universal and existential instantiation
    • Skolemization
    • Propositionalization
    • Substitution
    • Unification
    • Predicate indexing
    • Subsumption lattice
    • Datalog
    • Conjunct ordering
    • Forward chaining
    • Incremental forward chaining
    • Rete algorithm
    • Production system
    • Magic set
    • Backward chaining

Objective Readings

Required readings:

Reading topics:

Inference in First-Order Logic (see Chapter 9 of AIMA3ed).

Supplemental Readings

Bratko, I. (2001). Prolog programming for artificial intelligence (3rd ed.). Toronto, ON: Addison-Wesley.

Objective Questions

  • What techniques can be used in improve forward and backward chaining, respectively?
  • What are the steps to convert first-order logic sentences into conjunctive normal form (CNF)?
  • What is the difference in representing and solving inference problems between logic programming and resolution (or theorem proving)?
  • Is first-order logic resolution complete?
  • Explain how to deal with equality in resolution.

Objective Activities

  • Explore the strengths and applications of logic programming languages and tools, such as SWI-Prolog (https://www.swi-prolog.org/).
  • Explore the following first-order inference algorithms from the textbook's website.
    • Substitution
    • Unify
    • FOL-FC-Ask
    • FOL-BC-Ask
    • Otter
  • Complete Exercise 9.3 of AIMA3ed.
  • Complete Exercise 9.6 of AIMA3ed.
  • Complete Exercise 9.7 of AIMA3ed.
  • Explore other relevant fields, such as deductive database and constraint logic programming (CLP).

Updated December 16 2021 by FST Course Production Staff