Academia.eduAcademia.edu

Outline

Implicit and Explicit Typing in Lambda Logic

2008

Abstract

Otter-lambda is a theorem-prover based on an untyped logic with lambda calculus, called lambda logic. Otter-lambda is built on Otter, so it uses resolution proof search, supplemented by demodulation and paramodulation for equality reasoning, but it also uses a new algorithm, lambda unification, to instantiate variables for functions or predicates. The idea of "implicit typing" is to "type" the function and predicate symbols by specifying the legal types of their arguments and return values. The hope is that if the axioms can be typed in this way then the consequences should be typeable too. This is true (with one restriction) in first-order logic. We show that by placing suitable restrictions on lambda unification, one can extend this theorem to lambda logic. All the interesting proofs obtained so far with Otter-lambda, except those explicitly involving untypeable axioms, are covered by this theorem. "Explicit typing" refers to the use of simple type-checking in addition to implicit typing.

References (4)

  1. Beeson, M., Lambda Logic, in Basin, David; Rusinowitch, Michael (eds.) Automated Reasoning: Second International Joint Conference, IJCAR 2004, Cork, Ireland, July 4-8, 2004, Proceedings, Lecture Notes in Artificial Intelligence 3097, pp. 460-474, Springer (2004).
  2. Beeson, M., Mathematical induction in Otter-λ, accepted for publication in J. Au- tomated Reasoning, to appear in 2006. Available on the author's website.
  3. McCune, W., Otter 3.0 Reference Manual and Guide, Argonne National Laboratory Tech. Report ANL-94/6, 1994.
  4. Wick, C., and McCune, W., Automated reasoning about elementary point-set topol- ogy, J. Automated Reasoning 5(2) 239-255, 1989.