Knowledge Representation Tools

Home | People | Projects | Publications | Resources

The Rhet System

Rhetorical (Rhet) is a programming / knowledge representation system that offers a set of tools for building automated reasoning systems, with primary applications in planning and natural language. Its emphasis is on flexibility of representation, allowing the user to decide if the system will basically operate as a theorem prover, a frame-like system, or an associative network. Rhet may be used as the back-end to a user's programming system and handle the knowledge representation chores, or it may be used as a full-blown programming language.

Rhet offers two major modes of inference: a horn clause theorem prover (backwards chaining mechanism) and a forward chaining mechanism. Both modes use a common representation of facts, namely horn clauses with universally quantified, potentially type restricted, variables, and use the unification algorithm. Additionally, they both share the following additional specialized reasoning capabilities: (1) variables may be typed with a fairly general type theory that allows a limited calculus of types including intersection and subtraction; (2) full reasoning about equality between ground terms; (3) reasoning within a context space, with access to axioms and terms in parent contexts; (4) escapes into Lisp for use as necessary.

Rhet was co-developed at the University of Rochester by James Allen and Brad Miller as an extension of the earlier HORNE system, and implemented primarily by Brad Miller.

Rhet Papers


Shocker is a knowledge representation tool that is intended to support the development of advanced prototype natural language understanding and planning systems. It is what is currently called a "hybrid" representation, which consists of a set of separately defined specialized reasoning systems that are presented to the user within a single uniform framework.

Shocker extends Rhet with additional reasoning facilities (e.g. Metrics), using Alfonso Gerevini and Len Schubert's Timegraph-II temporal reasoning system, which is substantially faster than TIMELOGIC. It adds a meta-language to allow the user to define a customized inference system, and also generalizes some of the reasoners in Rhet to make them work in a wider variety of circumstances. Shocker includes a clause compiler, and has the ability to take advantage of parallel processing, but will run under any common lisp that has multitasking support.

Shocker is the next generation of KR tool based on lessons learned with Rhet, and designed to support current and future local research projects. It was co-developed by James Allen and Brad Miller, and implemented by Brad Miller. Shocker has not yet been released to the public.

Last change: 28 Nov 2000 by stent