binary decision diagrams for first order predicate logic by: jan friso groote afsaneh shirazi
TRANSCRIPT
Binary Decision Diagrams for First Order Predicate Logic
By: Jan Friso Groote
Afsaneh Shirazi
2
BDDs for FOL
First order predicate logic Binary Decision Diagrams Simple operations on BDDs Advanced operations on BDDs Algorithm Example
3
First Order Predicate Logic
V : variables , F : functions , Pr : predicate symbols Terms:
x V is a term If f F is a function symbol of arity r and t1,…, tr are terms,
then f(t1,…, tr) is a term Set of all terms over F and V is denoted by T(F,V) Set of all predicates of the form P(t1,…,tr) is denoted
by P(Pr, F, V)
4
Substitution
Substitution is a mapping :V T(F,V) [x1:=t]: maps each variable x to (x), except
x1 to t Composition: o (t) = ((t)) We assume that is extended : term to term,
predicates to predicates
5
Formulas
Formulas are defined by: t, f P(t1, …, tr) P(Pr, F, V) is a formula is a formula and are formulas is a formula is a formula, and x V is a variable x. and x. are formulas
Set of all formulas: F (Pr, F, V)
6
Structure and Interpretation
A Structure is a ,multi-tuple = <A; R1, R2,…;F1, F2,…> where A is a non empty set R1, R2,… are relations on A F1, F2,… are functions on A
Herbrand structures have the form H = <T(F,); R1, R2,…;f1, f2,…>
Let be a structure and : V A be a valuation. The interpretation : T(F, V) A of a term t is defined: if x V
)(][ xx
][t
)][,...,]([)],...,([ 11
rjrj ttFttf
7
Interpretation of a formula
F (Pr, F, V) {0,1}:][
)]([max].[
)]([min].[
)][,]min([][
][1][
otherwise 0
][,...,][ if 1)],...,([
1][
0][
]:[
]:[
11
axAa
axAa
irri
x
x
Rttttp
t
f
8
FOL
, ╞ iff ╞ iff , ╞ unsatisifiable iff for each there is a
valuation , , ╞
1][
9
equivalency
strongly (logically) equivalent (,╞ iff ,╞ )
logically equivalent (╞ iff ╞ ) weakly (logically) equivalent
,╞ iff ,╞ No free variables: strong logical equivalence
and logical equivalence coincide
10
Binary Decision Diagrams
A BDD, is an acyclic, node labeled graph where Q : finite set of nodes l : Q {0, 1} P(Pr, F, V) {0, 1} is a node
labeling, that l(q) 0, 1 for all qQ is the false continuation of a node is the true continuation of a node s Q {0, 1} is a start node 0 is a symbol representing false, and 1 representing
truth Each sequence q0 q1 … is bounded
f
t
0
1
)1,0,,,,,( slQBtf
11
Interpretation of a BDD
Let B be a BDD, be a structure and be a valuation. A , -path of a node q0 Q is the sequence
where qn {0,1} and for each i, i = f if , ╞ l(qi) and i = t if , ╞ l(qi)
If q0 ends in 1 we say that q0 holds, , ╞ q0
So, A BDD yields a truth value.
nqqqn 110
...10
12
0 Bt = 1Bf = P(t1,…,tr)BP(t1, …, tr) =
0 1
0 1 1 0
0 1 0 1 0 1
0 1
If B =
If B =
then B =
and B = then B =
13
Example
)()( xPxP
P(x)
0
0
P(x)
1
P(x)
Q(y)
1
R(z)
0
)())()(( zRyQxP
14
BDD
Let be a (quantifier free) formula and B its corresponding BDD. For each structure and each valuation we find that
, ╞ iff , ╞ B Proof: Straightforward on the structure of
15
BDDs for FOL
First order predicate logic Binary Decision Diagrams Simple operations on BDDs Advanced operations on BDDs Algorithm Example
16
Neglect Operator
Let be a BDD. Neglect operator is defined for some q,p q, p q by:
)1,0,,,,,( slQBtf
t
}|,{},|,{'
}{\'
if
if '
112121 prqrprprrr
pQQ
psq
psss
where
f
)1,0,',',',,'()( slQBN
tf
p
17
p,q-join Operator
If then
}|,{}|,{'
}{\'
if
if '
11221 qrprqrrr
qQQ
qsp
qsss
where
)1,0,',',',,'()(, slQBJtf
qp
',,',),()( rqrqrprpqlpltftf
18
f-merge and f-sort operators
f-merge and f-sort operators, sort the BDD such that labels occur in ascending order.
Sorting a BDD is NP-hard Avoid sorting a BDD
19
f-merge Operator
If then
}|,{},|,{'
removed) are parts reachablenon ('
2121 qprpqrprrr
where
fff
)()(, qlplqpf
)1,0,,,',,'()( slQBMtf
fp
20
f-sort Operator If then
}|,'{}',''{
}|'',{}|,{'
}|,{}|,'{},''{
}|'',{}or |,{'
removed) are parts reachablenon }('','{'
otherwise )(
'' if )(
' if )(
)('
221
2121
rprppp
prprprrr
rqrprqrppp
prprprprrr
ppQQ
rl
prql
prpl
rl
where
t
ttt
ft
fff
)()(, qlplqpf
)1,0,',',',','()( slQBSft
fp
21
22
Simple Operations on BDDs
Lemma: (Soundness) Let B be a BDD. In case O is applicable to B, O(B) B
(O is one of )
Proof: check that for all structures and valuations , ╞ O(B) iff , ╞ B
Definition: B is reduced iff non of the operators is applicable
fp
tp
fp
tpqpp SSMMJN and ,,,, ,
23
Simple Operations on BDDs
Lemma: Let B, C be BDDs pQB and qQC .Let be a structure and a valuation such that , ╞ p and , ╞ q. P(t1,…,tn) : label not occurring in subdags p and q. Then Exists a structure and a valuation , ╞ p, , ╞ q and , ╞ P(t1,…,tn) Exists a structure and a valuation , ╞ p, , ╞ q and , ╞ P(t1,…,tn)
24
Simple Operations on BDDs
Lemma: Let B and C be reduced BDDs. pQB and qQC such that p q. Then, l(p) = l(q) pf qf
pt qt
If B,C are the same, then p=q
back
25
Isomorphism
Let B and C be BDDs.
f: QB{0B,1B} QC{0C,1C} is called homomorphism iff lC(f(p))=lB(p), f(pf ) = f(p)f and f(pt) = f(p)t . In case f is bijective, f is called isomorphism.
B = C (isomorphic) if there exists an isomorphism f.
26
Example
)()( xQxP
P(x)
0
0
Q(x)
1
P(x)
Q(x)
B C
f
27
Theorem
B and C are reduced BDDs, B C. Then B = C (isomorphic).
Proof
back
28
Theorem
Operators can be applied a finite number of times to B.
Proof
fp
tp
fp
tpqpp SSMMJN and ,,,, ,
back
29
R(B)
Let B be a BDD, C be a reduced BDD, B C. According to theorem C is unique up to an isomorphism and It can be efficiently obtained (Thrm) R(B) for C
R(B) = Bt ( tautology)
R(B) = Bf ( contradiction) Basis for Propositional Logic
30
Advanced Operations on BDDs Copying Operator C(B): puts B in conjunction
with a copy of itself (different variables) Unification Operator U(B): instantiate B
according to ( is a relevant unifier)
31
Copy Operator
Let B be a BDD in which variables occur.
not occurring in B
x
]:[)( 1
xxBBBC
1
x
32
Unifier
A substitution is called a unifier of P(t1, …, tn) and Q(u1, …, um) iff (P(t1,…, tn))=(Q(u1,…,um))
A unifier is most general (MGU) iff for each unifier ’ of P(t1,…, tn) and Q(u1,…,um) there is a substitution such that o = ’
Idempotent MGU: ((x)) = x Linear time
33
Relevant Unifier
A node p of B is redundant iff pt pf A path
is allowed iff there are no i, j such that l(pi)=l(pj) and i j
A node is truth-truth capable iff there is an allowed path
lpppnn
n
110
...10
1...11
1
nn
n
t
ppp
34
Relevant Unifier
A valuation is a relevant unifier iff
pi is not redundant, if i = f, pi is not truth-truth capable, and for some i, j, i = f, j = t and is an idempotent MGU of l(pi) and l(pj).
1...110
1
nn
npps
35
Lemma
Let B be a reduced BDD. No redundant nodes Every path allowed If pi is not truth-truth capable pit = 0
is a relevant unifier iff for some i, j, i=f, j=t and is the MGU of l(pi) and l(pj) on the rightmost path of B
1...110
10
nn
nppp
36
MGU
y = a
37
Unification Operator
If is a relevant unifier of B
Lemma: (Soundness) B C(B) B B U(B)
Proof: easy logical consequence
)()( BBU
back
38
BDDs for FOL
First order predicate logic Binary Decision Diagrams Simple operations on BDDs Advanced operations on BDDs Algorithm Example
39
Algorithm
)))((e(TryToReduc of unifiersrelevant allFor
stop and ble'unsatisfia'report , If
)e(TryToReduc
Endrepeat
))((:
)e(TryToReduc
Repeat
)(:
)Solve(
BURB
BB
B
BCRB
B
BRB
f
Avoid expensive sorting operator
All pairs of pi, pj in the rightmost path, with pit=0 and pjt0 Linearly in size of terms
40
Algorithm
)))((e(TryToReduc of unifiersrelevant allFor
stop and ble'unsatisfia'report , If
)e(TryToReduc
Endrepeat
))((:
)e(TryToReduc
Repeat
)(:
)Solve(
BURB
BB
B
BCRB
B
BRB
f
Avoid sorting by grouping predicates with the same predicate symbol
The depth of recursive calls is limited by the number of free variables
41
Algorithm
)))((e(TryToReduc of unifiersrelevant allFor
stop and ble'unsatisfia'report , If
)e(TryToReduc
Endrepeat
))((:
)e(TryToReduc
Repeat
)(:
)Solve(
BURB
BB
B
BCRB
B
BRB
f
))))))))(((...((...(((21 BCRCRURUR
42
Algorithm
The program is browsing through larger and larger BDDs of the form
We stop: Bf Lemma
Bt
))))))))(((...((...(((21 BCRCRURUR
43
Russel’s Paradox
A set which contains those sets that are not members of themselves
F(x,y): x is a member of y Problem: negated and Skolemised formula
)),(),(( yyFxyFyx
),(),( yyFayF
44
Russel’s Paradox
(y) = a
),(),( yyFayF
Example
45
Thank You
46
Appendix A
Thrm: B and C are reduced BDDs, B C. Then B = C (isomorphic).
Proof: Define f: QBQC and g: QCQB
f(p) = q such that p q
g(q) = p such that p q
f is a homomorphism, g is the inverse of f
f is an isomorphism
We assumed f and g are well defined.
47
Proof
B C and all nodes in B are reachable from the root each node in B is related via to 1 node in C
p related to q1,q2 q1 q2
q1 = q2
(using thrm)
back
48
Appendix B
Proof: The transformation operators can be formulated as rewrite rules.l1 and l2 are predicates. l1 > l2
tp
fp
p
tp
fp
Mzxlzylxl
Mzxlzyxll
Nxxxl
Szylzxllzylxl
Szylzxllzyxll
),()),(,(
),()),,((
),(
)),(),,(()),(,(
)),(),,(()),,((
111
111
1
11221
11221
49
Proof
To each DAG we can obtain its canonical tree by undoing the sharing of subdags. Application of these rules must terminate on these trees.
Each rewrite of the DAG corresponds to one or more rewrite of canonical tree.
In Join operator the number of nodes are strictly decreasing It should terminate
back
50
Appendix C
A set is circular if it is a member of another set, which in turn is a member of the original.
There is no set containing all non circular sets.
Problem: negated and Skolemised formula (a, f are
skolem functions)
))),(),((),(( xzFzxFzyxFxy
)),())),(())(,(((
))),(),((),((
axFxxfFxfxF
xzFzxFaxF
51
There are no circular sets
Two relevant unifier:1. Mapping z and x to a2. Mapping x to z
)),())),(())(,(((
))),(),((),((
axFxxfFxfxF
xzFzxFaxF
52
There are no circular sets
We must apply copying operator.6 relevant unifier:1. x:=a z:=a2. u:=a v:=a3. x:=v u:=a4. u:=z x:=a5. z:=x6. v:=u
53
There are no circular sets
We apply first unifier.4 relevant unifier:1. u:=f(a) v:=a2. u:=a v:=a3. u:=a4. v:=u
back