Results 1 
5 of
5
Knowledge Representation and Classical Logic
, 2007
"... Mathematical logicians had developed the art of formalizing declarative knowledge long before the advent of the computer age. But they were interested primarily in formalizing mathematics. Because of the important role of nonmathematical knowledge in AI, their emphasis was too narrow from the perspe ..."
Abstract

Cited by 12 (6 self)
 Add to MetaCart
(Show Context)
Mathematical logicians had developed the art of formalizing declarative knowledge long before the advent of the computer age. But they were interested primarily in formalizing mathematics. Because of the important role of nonmathematical knowledge in AI, their emphasis was too narrow from the perspective of knowledge representation, their formal languages were not sufficiently expressive. On the other hand, most logicians were not concerned about the possibility of automated reasoning; from the perspective of knowledge representation, they were often too generous in the choice of syntactic constructs. In spite of these differences, classical mathematical logic has exerted significant influence on knowledge representation research, and it is appropriate to begin this handbook with a discussion of the relationship between these fields. The language of classical logic that is most widely used in the theory of knowledge representation is the language of firstorder (predicate) formulas. These are the formulas that John McCarthy proposed to use for representing declarative knowledge in his advice taker paper [176], and Alan Robinson proposed to prove automatically using resolution [236]. Propositional logic is, of course, the most important subset of firstorder logic; recent
Validated ProofProducing Decision Procedures
, 2004
"... A widely used technique to integrate decision procedures (DPs) with other systems is to have the DPs emit proofs of the formulas they report valid. One problem that arises is debugging the proofproducing code; it is very easy in standard programming languages to write code which produces an incorre ..."
Abstract

Cited by 10 (5 self)
 Add to MetaCart
A widely used technique to integrate decision procedures (DPs) with other systems is to have the DPs emit proofs of the formulas they report valid. One problem that arises is debugging the proofproducing code; it is very easy in standard programming languages to write code which produces an incorrect proof. This paper demonstrates how proofproducing DPs may be implemented in a programming language, called RogueSigmaPi (RSP), whose type system ensures that proofs are manipulated correctly. RSP combines the Rogue rewriting language and the Edinburgh Logical Framework (LF). Typecorrect RSP programs are partially correct: essentially, any putative LF proof object produced by a typecorrect RSP program is guaranteed to type check in LF. The paper describes a simple proofproducing combination of propositional satisfiability checking and congruence closure implemented in RSP.
Validated Construction of Congruence Closures
, 2005
"... It is by now well known that congruence closure (CC) algorithms can be viewed as implementing ground completion: given a set of ground equations, the CC algorithm computes a convergent rewrite system whose equational theory conservatively extends that of the original set of equations. We call such a ..."
Abstract
 Add to MetaCart
(Show Context)
It is by now well known that congruence closure (CC) algorithms can be viewed as implementing ground completion: given a set of ground equations, the CC algorithm computes a convergent rewrite system whose equational theory conservatively extends that of the original set of equations. We call such a rewrite system a CC for the original set. This paper describes work in progress to create an implementation of a CC algorithm which is validated, in the following sense. Any nonaborting, terminating run of the implementation is guaranteed to produce a CC for the input set of equations. Note that aborting or failing to terminate can happen for implementations of CC algorithms only due to bugs in code; the algorithms themselves are usually proved terminating and correct. Validation of an implementation of a CC algorithm is achieved by implementing the algorithm in RSP1, a dependently typed programming language. Type checking ensures that proofs of convergence and conservative extension are wellformed. 1
ProjectTeam PROTHEO Constraints, Mechanized Deduction and Proofs of Software Properties
"... ..."
(Show Context)
Proof Certificates for Equality Reasoning
"... Abstract. The kinds of inference rules and decision procedures that one writes for proofs involving equality and rewriting are rather different from proofs that one might write in firstorder logic using, say, sequent calculus or natural deduction. For example, equational logic proofs are often cha ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract. The kinds of inference rules and decision procedures that one writes for proofs involving equality and rewriting are rather different from proofs that one might write in firstorder logic using, say, sequent calculus or natural deduction. For example, equational logic proofs are often chains of replacements or applications of oriented rewriting and normal forms: logical connectives then play minor roles. We shall illustrate here how it is possible to check various equalitybased proof systems with a programmable proof checker (the kernel checker) for firstorder logic. Our proof checker’s design is based on the implementation of focused proof search and on making calls to (usersupplied) clerks and experts predicates that are tied to the two phases found in focused proofs. It is the specification of these clerks and experts that provide a formal definition of the structure of proof evidence. As we shall show, such formal definitions work just as well in the equational setting as in the logic setting where this scheme for proof checking was originally developed. Additionally, executing such a formal definition on top of a kernel provides an actual proof checker that can also do a degree of proof reconstruction. We shall illustrate the flexibility of this approach by showing how to formally define (and check) rewriting proofs of a variety of designs. 1