Active Logic is a kind of "step logic," which was developed in [Elgot-Drapkin,
1988] as formal mechanism for modeling the ongoing process of reasoning.
Unlike traditional logical formalisms, a step-logic does not calculate
a final set of conclusions which can be drawn from an initial set of facts,
but rather monitors the ever-changing set of conclusions as time goes
on. Such logics were introduced in order to achieve a number of related
goals: more realistic representation and reasoning about time; the ability
to reason with and about inconsistency, and the ability to reason about
the reasoning process itself. These goals remain central in work we report
here; in addition we examine issues involving natural language, multi-agent
cooperation and autonomous agency. We start by presenting a fairly abstract
definition of an active logic. Such logic is closely linked to an inference
An active logic consists of a formal language (typically first-order)
and inference rules, such that the application of a rule depends not only
on what formulas have (or have not) been proven so far (this is also true
of static logics) but also on what formulas are in the "current" belief
set. Not every previously proven formula need be current. In general the
current beliefs are only a subset of all formulas proven so far: each
is believed when first proven but some may subsequently have been rejected.
Active Logics all have the following characteristics:
-They are situated in time,
-They maintain a history,
-They tolerate contradictions,
-They enable meta-reasoning to be done.
Based on the above definition, active logics are a family of inference
engines that incorporate a history of their own reasoning as they run.
Thus at any time t, an active logic has a record of its reasoning
at all times prior to t, and it also knows that the current time
is t. As it continues to reason from time t, that reasoning
is also recorded in the history, marked at time t+1 as having occurred
at time t. Thus an active logic records the passage of time in
discrete steps, and the "current" time slides forward as the system runs.
It is convenient to regard its current inferences as occurring in a working
memory, that is then transferred to the history (or long-term memory)
in the next time-step. Thus, an active logic has time-sensitive inference
rules and consequently time-sensitive inferences.
In active logics the current time is itself noted in the working memory-Now(t)-and
this changes to Now(t+1) one step later. (A time-step should be
thought of as very fast, perhaps 0.1 sec in correspondence with performance
of elementary cognitive tasks by humans). Thus active logics "ground"
Now in terms of real time-passage during reasoning.
These characteristics make active logics suitable for use in various
domains including time situated planning and execution [Purang,
et. al., 1999]; reasoning about other agents [Kraus
and Perlis, 1989]; reasoning about dialog [Perlis,
et. al., 1998; Traum,
et. al., forthcoming], including updating and using discourse context
1997]; and autonomous agency [Chong,
et. al., 2001].
You may also look at examples of Active