Structural Sharing and Efficient Proof Search in Propositional Intuitionistic Logic
Structural Sharing and Efficient Proof Search in Propositional Intuitionistic Logic
, A, B
, A B
[
L
]
, A
, B
, A B
[
L
]
, X, C
, X, X C
[X]
, X, X
C
[X
]
, A, B
, C
, (A B) C
[]
, A, B
C
, (A B)
C
[
, A (B C)
, (A B) C
[]
, A
C , B
C
, (A B)
C
[
, A C, B C
, (A B) C
[]
, A
C, B C
, (A B)
C
[
l
]
, X X
[Ax]
, A C, B
C
, (A B)
C
[
r
]
, A, B G
, A B G
[
L
]
, A G , B G
, A B G
[
L
]
, X, C G
, X, X C G
[X]
, A, B
C , C G
, (A B) C G
[]
, A (B C) G
, (A B) C G
[]
, A C, B C G
, (A B) C G
[]
A B
A B
[
R
]
A
A B
[
R
l
]
, A B
A B
[
R
]
B
A B
[
Rr
]
Fig. 2. The SLJ-system
3 A new system for intuitionistic proof search
We present in this section a new logical system, called SLJ, that leads to a natural
use of sharing techniques on structures adapted to an ecient implementation
in imperative languages. It is derived from the ideas of LJT [1] and of LG [3].
3.1 The SLJ system
The SLJ-system, that is given in gure 2, includes two kinds of sequents, like
in [3]. We have the usual intuitionistic sequent A which is a multiset
of formulae forming the hypothesis together with a unique formula A called
the conclusion. The intuitive meaning of a sequent is that the conclusion A
logically follows from the hypothesis in . Moreover, we have a second kind of
sequent which we will call boxed sequent: ,
to point out the fact that contains exactly one formula of type
C. This will happen when this last formula is not the active one like in
rule [X] for example. This idea of marking was introduced in [3] to avoid
one particular kind of duplication of formula in LJT and is also useful for our
purpose. It is important to notice that when we try to prove a boxed sequent
,
l
] and [
r
]. The problem
of duplication in the rule (-L
4
) of LJT has then disappeared. We will see
in section 4 that the last duplication cases can be addressed by changing the
structure of sequent to represent sharing.
3.2 Kripke models
Kripke models are a very general model representation for logics like intuitionistic
or modal logics. Here, we will adopt the same notation as in [10] for Kripke trees.
A Kripke tree is a pair / = (o
K
, [/
1
, . . . , /
p
]) where o
K
is a nite set of logical
variables and [/
1
, . . . , /
p
] is a nite list of Kripke trees. Moreover, we suppose
that for each i, o
K
o
Ki
. This monotony condition is typical to intuitionistic
logic as opposed to modal logics for example. This is an inductive denition of
Kripke trees and the base case is when the list [/
1
, . . . , /
p
] is empty, i.e. p = 0.
In fact, Kripke trees are regular (oriented) trees with each node tagged with a
set of variables that grows along the paths from the root to the leaves.
We then introduce the notion of forcing. Let / = (o
K
, [/
1
, . . . , /
p
]) be a Kripke
tree and F be a logical formula. We say that / forces F and write / F. The
inductive denition is the following:
K X i X SK K AB i K A implies K B and i, Ki AB
K A B i K A and K B K A B i K A or K B
The only dierence with classical logic here is that the forcing of logical impli-
cation A B is inherited in the sons /
i
of / and so in all its subtree. In fact,
this inheritance is extended to all formulae with the following result, a proof of
which can be found in [10].
Lemma 1. If F is a logical formula and / = (o
K
, [/
1
, . . . , /
p
]) is a Kripke tree
forcing F, i.e. / F, then for all i, /
i
F.
Kripke trees are models of intuitionistic logic. Let A
1
, . . . , A
n
B be a sequent,
we say that a Kripke tree / is a model of A
1
, . . . , A
n
B if / A
1
and . . . and
/ A
n
implies / B. We will often write / A
1
, . . . , A
n
B.
Theorem 1 (Soundness). If A is provable in intuitionistic logic and /
is a Kripke tree then / A.
Models are very often used in a negative way to provide a synthetic argument
to the unprovability of some formula or sequent. Therefore, we say that / is a
counter-model of the sequent A
1
, . . . , A
n
B if / A
1
and . . . and / A
n
and
/ B. We write / A
1
, . . . , A
n
B. There is an constructive version of the
completeness theorem, see [10] for example.
Theorem 2 (Completeness). Let A be a sequent, then either it is intu-
itionistically provable, or there exists a Kripke tree / such that / A.
3.3 Completeness of SLJ
Before proving the theorem we have to precise how Kripke trees can model
boxed sequents. / is a counter-model to ,
C if / is a counter-model
to , C , so /, C and /. But we do not know whether / forces
C or not at the level of /. However, if one of its sons /
i
forces then /
i
also
forces C. The completeness result for SLJ can be decomposed into two parts:
one for boxed sequents and one for standard sequents. Here we only prove the
part for boxed sequents. The other part is very similar. The reader is reminded
that the following proofs are inspired from [5, 10].
Theorem 3 (Soundness). If ,
], [
], [], [
C . This is
also the case when A B, A B or X and X . Then the
problem is reduced to the following case:
(A
i
B
i
)C
i
.
Then, by induction hypothesis, either one of the
i
, A
i
, B
i
C
i
, C is
provable, or there exists a counter-model for each of them.
In the rst case, suppose that
i0
, A
i0
, B
i0
C
i0
, C has a proof in SLJ.
Then consider the rule
i
0
, Ai
0
, B
i
0
Ci
0
, C i
0
, Ci
0
,
C
,
C
[]
This rule is right invertible: a counter-model of the second premiss is a counter-
model of the conclusion. On the other hand, a proof of the second premiss would
give a proof of ,
i
C
i
, C . Let us consider AB.
2
By induction hypothesis, either one
sequent among , A
C, B C and , A C, B
C is provable,
or we have two counter-models /
A
and /
B
. In the rst subcase, we obtain a
proof of , (A B)
C applying [
l
] or [
r
]. In the second subcase,
we dene / =
X
1
, . . . , X
n
, [/
1
, . . . , /
p
, /
A
, /
B
]
(A B) (C R)
A(C R) B (C R)
3
, 8
7 9
[]
4
7
5
3
9
[]
2
7
5
9
[]
1
7
9
[L]
0 9
Fig. 5. An example of proof search
this case, the premiss cannot be a boxed sequent and we must reintroduce the
marked formula as the conclusion of the premiss.
An example. Considering gure 5, we aim to prove the sequent ((AB) (C
D)) E F. First we build the tree of the subformulae of this sequent. The
nodes are given with numbers used to label the nodes of proof trees. The proof-
search tree is written bottom-up as usual. We start by translating the premiss
into a forest (in this case, there is only one tree) and then we develop this forest
following the rules for trees. Notice that only the leaves of the trees are concerned
in those rules. Inner nodes are asleep until all the sons are removed. This
point has some consequences when ecient implementation is taken into account
(see section 5). Moreover a marked formula 6