Report Number: CS-TR-84-1012
Institution: Stanford University, Department of Computer Science
Title: TABLOG: the deductive-tableau programming language
Author: Malachi, Yonathan
Author: Manna, Z ohar
Author: Waldinger, Richard
Date: June 1984
Abstract: TABLOG (Tableau Logic Programming Language) is a language
based on first-order predicate logic with equality that
combines functional and logic programming. TABLOG
incorporates advantages of LISP and PROLOG.
A program in TABLOG is a list of formulas in a first-order
logic (including equality, negation, and equivalence) that is
more general and more expressive than PROLOG's Horn clauses.
Whereas PROLOG programs must be relational, TABLOG programs
may define either relations or functions. While LISP programs
yield results of a computation by returning a single output
value, TABLOG programs can be relations and can produce
several results simultaneously through their arguments.
TABLOG employs the Manna-Waldinger deductive-tableau proof
system as an interpreter in the same way that PROLOG uses a
resolution-based proof system. Unification is used by TABLOG
to match a call with a line in the program and to bind
arguments. The basic rules of deduction used for computing
are nonclausal resolution and rewriting by means of equality
A pilot interpreter for the language has been implemented.