HAL Id: inria-00536806
https://hal.inria.fr/inria-00536806
Submitted on 16 Nov 2010
HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or
L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires
Dominance Constraints with Set Operators
Denys Duchier, Joachim Niehren
To cite this version:
Denys Duchier, Joachim Niehren. Dominance Constraints with Set Operators. Proceedings of the First International Conference on Computational Logic, 2000, London, United Kingdom. pp.326-341.
�inria-00536806�
DenysDuhierandJoahimNiehren
ProgrammingSystemsLab,UniversitatdesSaarlandesSaarbruken
Abstrat. Dominaneonstraintsarewidelyusedinomputationallin-
guistisasalanguagefortalkingandreasoningabouttrees.Inthispaper,
weextenddominaneonstraintsbyadmittingsetoperators.Wepresent
asolverfordominaneonstraintswithsetoperators,whihisbasedon
propagation and distribution rules, and prove its soundness and om-
pleteness.Fromthissolver,wederiveanimplementationinaonstraint
programminglanguagewithnitesetsandproveitsfaithfullness.
1 Introdution
The dominane relation of a tree is the anestor relation between its nodes.
Logialdesriptionsoftreesviadominanewereinvestigatedinomputersiene
sinethe beginningof thesixties,for instanein the logis(W)SkS [15,16℄. In
omputationallinguistis,theimportane ofdominanebasedtreedesriptions
fordeterministiparsingwasdisoveredatthebeginningoftheeighties[9℄.Sine
then,treedesriptionsbasedondominaneonstraintshavebeomeinreasingly
popular[14,1℄.Meanwhile,theyareusedfortree-adjoiningandD-treegrammars
[17,13,3℄,forunderspeiedrepresentationofsopeambiguitiesinsemantis[12,
4℄andforunderspeieddesriptionsofdisoursestruture[5℄.
Adominaneonstraintdesribesanitetreebyonjuntionsofliteralswith
variables for nodes. A dominane literal xC
y requires x to denote oneof the
anestorsofthedenotationofy.Alabelingliteralx: f(x
1
;:::;x
n
)expressesthat
thenodedenotedbyxislabeledwithsymbolf andhasthesequeneofhildren
referredto by x
1
;:::;x
n
. Solvingdominane onstraintsisan essentialservie
required by appliations in e.g.semantis and disourse.Eventhough satisa-
bility of dominane onstraintsis NP-omplete [8℄,it appears that dominane
onstraintsourringinthese appliationsanbesolvedrathereÆiently[2,7℄.
Foratypialappliationof dominaneonstraintsinsemantiunderspei-
ationofsopeweonsiderthesentene:everyyogihasaguru.Thissenteneis
semantially ambiguous, even though itssyntatistruture is uniquely deter-
mined.ThetreesinFigure1speifybothmeanings:eitherthereexistsaommon
guruforeveryyogi,oreveryyogihashisownguru.Bothtrees(andthusmean-
ings) an be represented in an underspeied manner through the dominane
onstraintin Figure2.
In this paper, we propose to extend dominane onstraints by admitting
set operators:union, intersetion,and omplementation anbeapplied to the
relationsofdominane C
and inversedominane B
.Set operatorsontribute
aontrolled form of disjuntionand negation that is eminently well-suited for
guru forall
yogi has
yogi exists
guru has
Fig.1.Setsoftrees representsetsofmeanings.
forall x0
yogi x1 x2
exists y0
guru y1
has z
y2
x0:forall(x1;x2)^
y0: exists(y1;y2)^
x
1
:yogi^x
2 C
z^
y1: guru^y2C
z^
z:has
Fig.2.Asingletreedesriptionasunderspeiedrepresentationofall meanings.
onstraintpropagation while lessexpressivethan generalBoolean onnetives.
Setoperatorsallowto expressproperdominane,disjointness,nondisjointness,
nondominane,andunions thereof.Suharihset ofrelationsisimportantfor
speifying powerful onstraint propagation rules for dominane onstraints as
wewillargueinthepaper.
Werst present asystem of abstrat saturation rulesfor propagation and
distribution, whih solve dominane onstraints with set operators.We illus-
trate the power of the propagation rules and prove soundness, ompleteness,
and termination in nondeterministi polynomial time. We then derive a on-
reteimplementationinaonstraintprogramminglanguagewithnitesets[11,
6℄andproveitsfaithfulnesstotheabstratsaturationrules.Theresultingsolver
isnotonlywellsuitedforformalreasoningbutalsoimprovesinexpressivenesson
thesaturationbasedsolverfor puredominaneonstraintsof[8℄ andprodues
smallersearhtreesthan theearliersetbased implementation of[2℄beauseit
requires lessexpliit solvedforms. Foromittedproofs,weglobally referto the
extendedversionofthispaperavailablefromhttp://www.ps.uni-sb.de/Paper s/.
2 Dominane Constraints
Werstdenetreestruturesandthendominaneonstraintswithsetoperators
whih areinterpretedin the lassof tree strutures.We assumeasignature
of funtion symbolsranged overby f;g;:::, eah ofwhih isequippedwith an
arity ar(f)0. Constants{ funtion symbolsof arity 0 {are ranged overby
a;b.Weassumethatontainsatleastoneonstantandonesymbolofarityat
least2.Weareinterestedin niteonstrutortreesthatanbeseenasground
termsoversuhasf(g(a;b))in Fig.3.
Wedenean(unlabeled)treetobeanitediretedgraph(V;E).V isanite
setsofnodes rangedoverbyu;v;w,andEV V isanitesetofedges.The
in-degree ofeah node isat most 1;eah tree hasexatlyoneroot, i.e. anode
within-degree0.Weallthenodeswithout-degree0theleaves ofthetree.
g
a b
Fig.3.f(g(a;b)) A(nite)onstrutortree isatriple(V;E;L)onsist-
ingofatree(V;E),andlabelingsL:V !fornodesand
L:E!Nforedges,suhthatanynodeu2V hasexatly
oneoutgoingedgewithlabelk foreah1kar(()),
and no other outgoing edges. We drawonstrutor trees
as in Fig. 3, by annotatingnodes with their labels and ordering the edges by
inreasinglabelsfromleft toright.If =(V;E;L),wewrite V
=V,E
=E,
L
=L.
Denition1. The treestruture M
of anite onstrutor tree over is
the rst-orderstruturewith domainV
whih provides the dominanerelation
C
anda labelingrelation of arityar(f)+1for eah funtion symbol f 2.
These relations aredenedsuhthat for allu;v;u
1
;:::;u
n 2V
:
uC
v ithereisapathfromutov withegdes inE
;
u:f
(v
1
;:::;v
n )iL
(u)=f;ar(f)=n; andL(u;v
i
)=ifor all1in
Weonsiderthefollowingsetoperators onbinaryrelations:inversion 1
,union
[,intersetion\,andomplementation:.WewriteB
fortheinverseofdom-
inane C
, equality =
for theintersetion C
\B
, inequality 6=
for the
omplementofequality,properdominaneC +
asdominanebut notequality,
B +
fortheinverseofproperdominane,anddisjointness?
for:C
\:B
.
Mostimportantly, thefollowingpartition holdsinalltreestruturesM
.
V
V
= ℄f=
;C +
;B +
;?
g
Thus,allrelationsthatsetoperatorsangeneratefromdominaneC
havethe
form[fr
jr2R gforsomesetofrelationsymbolsRf=;C +
;B +
;?g.
Fordeningtheonstraintlanguage,weletx;y;zrangeoveraninnitesetof
node variables.Adominane onstraints withset operators 'hasthefollowing
abstratsyntax(thatleavesset operatorsimpliit).
'::=xRy j x: f(x
1
; ::: ;x
n
) j '^' 0
j false
whereRf=;C +
;B +
;?gisasetofrelationsymbolsandn=ar(f).Constraints
areinterpretedin thelassoftreestruturesover.Forinstane,aonstraint
xf=;?gy expressesthat the nodesdenoted by x andy areeither equalorlie
indisjointsubtrees.Ingeneral,asetRofrelationsymbolsisinterpretedin M
astheunion[fr
jr2R g.
We write Vars(') for the set of variables ourring in '. A solution of a
onstraint ' onsists of a tree struture M
and a variable assignment :
Vars(') ! V
. We write (M
;) j= ' if all onstraints of ' are satised by
(M
;) intheusualTarskiansense.Foronvenieneweadmitsyntatisugar
andallowtowriteonstraintsof theform xSy whereS isasetexpression:
S ::=Rj=jC
jB
j=j 6=jC +
jB +
j?j:SjS
1 [S
2 jS
1
\S
2 jS
1
Clearly,everysetexpressionS anbetranslatedtoasetR ofrelationsymbols
denotingthesamerelation.Inalltreestrutures,x:Sy isequivalentto:xSy
andxS
1 [S
2
y toxS
1 y_xS
2
y.Thusourformalismallowsaontrolledform
ofnegationanddisjuntionwithoutadmittingfullBooleanonnetives.
(Clash) x;y ! false
(Dom:Re) ' ! xC
x (xoursin')
(Dom:Trans)xC
y^yC
z ! xC
z
(Eq:Deom) x:f(x
1
;:::;x
n
)^y:f(y
1
;:::;y
n
)^x=y ! V
n
i=1 x
i
=y
i
(Lab:Ineq) x:f(:::)^y:g(::: ) ! x6=y iff6=g
(Lab:Disj) x:f(:::;xi;:::;xj;::: ) ! xi?xj where1i<jn
(Lab:Dom) x:f(:::;y;::: ) ! xC +
y
(Inter) xR1y^xR2y ! xR y ifR1\R2R
(Inv) xR y ! yR 1
x
(Disj) x?y^yC
z ! x?z
(NegDisj) xC
z^yC
z ! x:?y
(Child:up) xC
y^x:f(x1;:::;xn)^ V
n
i=1 xi:C
y ! y=x
DistributionRules:
(Distr:Child) xC
y^x:f(x1;:::;xn) ! xiC
y_xi:C
y (1in)
(Distr:NegDisj)x:?y ! xC
y_x:C
y
Fig.4.SaturationrulesDoftheBaseSolver
3 A Saturation Algorithm
Wenowpresentasolverfordominaneonstraintswithsetoperators.First,we
give abase solverwhih saturates aonstraintwith respet to aset ofpropa-
gationanddistributionrules, andprovesoundness,ompleteness,andtermina-
tionofsaturationinnondeterministipolynomialtime.Seond,weaddoptional
propagationrules,whihenhanethepropagationpowerofthebase solver.
Thebase solveris speiedby the rule shemes in Figure 4.Let D be the
(innite) set of rules instantiating these shemes. Eah rule is an impliation
betweenaonstraintandadisjuntionofonstraints.Wedistinguishpropagation
rules'
1
!'
2
whiharedeterministianddistributionrules'
1
!'
2 _'
3 whih
arenondeterministi.
Proposition1 (Soundness). Therules ofD arevalid in alltreestrutures.
TheinferenesystemDanbeinterpretedasasaturationalgorithmwhih
deides thesatisability ofa onstraint. A propagation rule'
1
!'
2
applies to
a onstraint ' if all atomi onstraints in '
1
belong to ' but at least one of
the atomi onstraints in '
2
does not. In this ase, saturation proeeds with
'^'
2
.A distributionrule'
1
!'
2 _'
3
appliesto aonstraint'ifbothrules
'
1
!'
2 and'
1
!'
3
ouldbeapplied to '.In thisase, one ofthese tworules
is non-deterministiallyhosen andapplied. A onstraintis alled D-saturated
ifnoneof therulesin Danbeappliedtoit.
Proposition2 (Termination).ThemaximalnumberofiteratedD-saturation
stepson aonstraintispolynomially boundedin thenumber ofitsvariables.
leastonenewliteralto'.OnlyaO(m 2
)literalsanbeaddedsineallofthem
havetheform xR ywhere x;y2Vars(') andRhas16possiblevalues.
z x
1
x
2 x
f
Fig.5.(Neg.Disj) Next,weillustrateprototypialinonsisteniesandhow
D-saturationdetetsthem.Westartwiththeonstraint
x: f(x
1
;x
2 )^x
1 C
z^x
2 C
zinFig.5whihisunsatis-
ablesinesiblingsannothaveaommondesendant.
Indeed, the disjointnessof the siblings x
1
?x
2
an be
derivedfrom(Lab.Disj)whereasx
1 :?x
2
followsfrom(NegDisj)sinex
1 andx
2
havetheommondesendantz.
f x
b y a x
1
Fig.6.(Distr.Child) Toillustratetherstdistribution rule,weonsider
the unsatisable onstraint x: f(x
1 )^ xC
y ^ x
1 :a ^
y:bin Fig.6where a6=b.Wean deidetheposition
of y with respet to x by applying rule (Distr.Child)
whiheither addsx
1 C
y orx
1 :C
y.(1) Ifx
1 :C
y is
added,propagationwith(Child.up)yieldsx=y.Asxandyarrydistintlabels,
rule(Lab.Ineq)addsx6=y.Now,weandeduex;ybyintersetingequalityand
inequality (Inter). Thus, the (Clash) rule applies. (2) If x
1 C
y is added then
(Child.up)yieldsx
1
=y whih againlashesbeauseofdistintlabels.
z
f x g y
Fig.7.(Distr.NegDisj) The seond distribution rules helps detet the in-
onsistenyofx: f(z)^y:g(z)inFig7wheref6=g.Ina
rststeponeaninferfrom(Lab.Dom)thatxC +
zand
yC +
z.Asthe(Inter)ruleallowstoweakenrelations,we
also havexC
z and yC
z,i.e. x:?y by(NegDisj), so
that(Distr.NegDisj)andedueeitherxC
yorx:C
y.ConsidertheasexC
y,
fromyC +
zderivez:C
y by(Inv,Inter),and(Child.up)infersy=xresultingin
alashdueto thedistintlabels.Similarlyfortheotherase.
Denition2. A D-solvedform isaD-saturatedonstraintwithoutfalse.
f x
1
x
4
x
5
x
6 x
2
x
3
Fig.8.D-solvedform Theintuition is that a D-solvedform has abak-
bone whih is a dominane forest, i.e. a forest with
hild and dominaneedges. Forinstane, Fig 8shows
thedominaneforest underlyingx
1 :f(x
4 )^x
4 C
x
5
^
x
4 C
x
6
^ x
2 C
x
3
^ x
5
?x
6
whih beomes D-solved
whenD-propagation.
Wewould like to note that the set based solver for dominane onstraints
of [2℄ insists on more expliit solved forms: for eah two variables, one of the
relations f=;C +
;B +
;?gmust beseleted.Forthedominaneforest in Fig.8,
thisleadsto63expliitsolutionsinsteadofasingleD-solvedform.Thesituation
isevenworsefortheformulax
1 C
x
2
^x
2 C
x
3
^ :::^x
n 1 C
x
n
.Thisonstraint
anbedeterministiallyD-solvedbyD-propagationwhereastheimplementation
of[2℄omputesasearhtreeofsize 2 n
.
Proposition3 (Completeness).Every D-solvedformhas asolution.
(Child:down) xC +
y^x:f(x1;:::;xn)^ n
i=1;i6=j xi:C
y ! xjC
y
(NegDom) x?y^y:?z ! x:C
z
(Dom:Ineq) xC
y
1
^y
1 C
+
y
2
^y
2 C
z ! x6=z
(Child:Ineq) x6=y^x:f(:::;x 0
;:::)^y:g(:::;y 0
;:::) ! x 0
6=y 0
(Parent:Ineq)xC +
z^y:f(:::;z;:::) ! xC
y
Fig.10.SomeOptionalPropagationRulesO
g x
root
f x
1
g x
4
a x
5
a x
6 f x
2
a x
3
Fig.9.Asolution.
The proof is given in the Setion 4. The idea for
onstrutingasolutionofaD-solvedformistoturnits
underlying dominaneforestinto atree,byadding la-
belssuhthatdominanehildrenareplaedatdisjoint
positionswheneverpossible.Forinstane,asolutionof
thedominaneforestinFig.8isdrawnin Fig.9.Note
that this solution does also satisfy x
5
?x
6
whih be-
longs to the aboveonstraintbut notto its dominane forest.This solutionis
obtainedfrom the dominaneforest in Fig.8by addinga root node and node
labelsbywhih alldominaneedgesareturnedintohildedges.
Theorem1. Saturationby the inferene rulesin Ddeides the satisability of
adominaneonstraintwithsetoperatorsinnon-deterministipolynomialtime.
Proof. Let ' be a dominane onstraint with set operators. Sine all rules in
D are sound (Proposition 1) and terminate (Proposition 2), ' is equivalent to
thedisjuntionof allD-solved formsreahablefrom'bynon-deterministi D-
saturation. Completeness (Proposition 3) yields that ' is satisable i there
existsaD-solvedreahablefrom '.
WeanreduethesearhspaeofD-saturationbyaddingoptionalpropaga-
tionrules O.Taking advantageofset operators,weandene ratherpowerful
propagationrules.TheshemesinFig 10,forinstane,exploit theomplemen-
tationsetoperators,andareindeedsupportedbythesetbasedimplementation
ofSetion6.WeillustrateOin thesituationbelowwhiharisesnaturallywhen
resolvingsopeambiguitiesasinFigure 2.
x: f(x
1
;x
2
)^y:g(y
1
;y
2 )^x
2 C
z^y
1 C
z^xC
y
f x
x
1 x
2 g y
y
1
z y
2
WederivexC +
yby(Lab.Ineq,Inter),x
1
?x
2
by(Lab.Disj),andx
2
:?yby(Dom.
Trans,NegDisj).We ombine thelatter twousing optional rule (NegDom) into
x
1 :C
y.Finally,optionalrule(Child.down)yieldsx
2 C
ywherebythesituation
isresolved.
4 Completeness Proof
WenowproveProposition3whih statesompleteness in thesense thatevery
D-solvedform is satisable. Weproeed in twosteps.First,weidentify simple
howtoextendeveryD-solvedformintoasimpleD-solvedformbyaddingfurther
onstraints(Proposition5).
Denition3. Avariablexis labeledin'ifx=yin 'andy:f(y
1
;:::;y
n )in '
for somevariable yandtermf(y
1
;:::;y
n
).Avariable yisarootvariablefor'
ifyC
z in 'forallz2Vars(').Weallaonstraint'simpleifallitsvariables
are labeled, andifthereisarootvariable for'.
Proposition4. Asimple D-solvedformissatisable.
Proof. Byindution on thenumber of literals in asimple D-solved form '. '
has aroot variable z. Sineall variablesin 'are labeledthere is avariable z 0
andatermf(z
1
;:::;z
n
)suh thatz=z 0
^z 0
:f(z
1
;:::;z
n
)2'.Wepose:
V =fx2Vars(')jx=z2'gandV
i
=fx2Vars(')jz
i C
x2'g
forall1in.ToseethatVars(')isoveredbyV[V
1 [:::[V
n
,letx2Vars(')
suh that z
i C
x 2= ' for all 1 i n. Saturation with (Distr.Child) derives
either z
i C
x or z
i :C
x;but z
i C
x 62' by assumption, thereforez
i :C
x 2'
forall1in. (Child.up)infers z=x2',i.e.x2V.ForasetW Vars(')
wedene'
jW
to betheonjuntionof allliterals 2'withVars( )W.
'j=j' 0
holdswhere ' 0
=
def '
jV
^z:f(z
1
;:::;z
n )^'
jV
1
^:::^'
jV
n
'j=' 0
followsfrom ' 0
'.Toshow' 0
j='weprovethateah literalin 'is
entailedby' 0
1. Casex: g(x
1
;:::;x
m
)2'forsomevariablexandtermg(x
1
;:::;x
m
):Ifx2
V
i , i.e.z
i C
x2'forsome1inthenx: g(x
1
;:::;x
m )2'
jVi
sine'is
saturatedunder(Lab.Dom,Dom.Trans).Otherwisex2V,i.e.z=x2',and
thusz=x2'
jV
.Sine'islashfreeandsaturatedunder(Lab.Ineq,Clash),
f=g and n=m must hold. Saturation with respet to (Eq.Deom) implies
z
i
=x
i
2 ' for all 1 i n and hene z
i
=x
i 2 '
jVi
. All together, the
righthandside' 0
ontainsz=x^z:f(z
1
;:::;z
n )^^
n
i=1 z
i
=x
i
whihentails
x: g(x
1
;:::;x
m
)asrequired.
2. CasexR y2'forsomevariablesx;y andrelationset Rf=;C +
;B +
;?g.
Sinex;y2V [V
1
[:::[V
n
wedistinguish4possibilities:
(a) x2V
i ,y2V
j
,where1i6=j n.Here,x?y2'bysaturationunder
(Lab.Disj,Inv,Disj).Clash-freenessandsaturationunder(Inter,Clash)
yield?2R .Finally,' 0
entailsz
i
?z
j
andthusx?ywhihinturnentails
xR y.
(b) Whenx;y2V (resp.V
i
),bydenitionxR y2'
jV
(resp.'
jV
i )
() x 2 V and y 2 V
i
. Here, xC +
y 2 ' by saturation under (Lab.Dom,
Dom.Trans).ThusC +
2Rbysaturationunder(Inter,Clash)andlash-
freenessof'.But' 0
entailszC +
z
i
andthusxC +
y whihinturnentails
xR y.
(d) Theasex2V andy2V
i
issymmetritothepreviousone.
jV
i
exist solutions(M
i
;
i ) j= '
jV
i
for all 1 i n. Thus (M f(
1
;:::;
n )
;) is a
solutionof 'if
jV
i
=
i
and(x)=(z)istheroot nodeof f(
1
;:::;
n )for
allx2V. ut
An extension of aonstraint 'is aonstraintof the form '^' 0
for some
' 0
. Given a onstraint 'wedene a partial ordering
'
on itsvariables suh
thatx
'
y holdsifandonlyifxC
y in'butnotyC
xin'.Ifxisunlabeled
thenwedenetheseton
'
(x)ofvariablesonnetedtoxin 'asfollows:
on
'
(x)=fyjy is
'
minimalwithx
' yg
Intuitively,avariable y is onnetedto x if itis a\diretdominane hild" of
x.Soforexample,on
'
1
(x)=fygandon
'
1
(y)=fzgfor:
'
1 :=xC
x^xC
y^xC
z^yC
z;
Denition4. WeallV Vars(') a '-disjointnesssetif for any twodistint
variables y
1
;y
2 2V,y
1 :?y
2
notin'.
The idea is that all variables in a '-disjointness set an safely be plaed at
disjointpositionsin atleastoneofthetreessolving'.
Lemma1. Let'beD-saturated,x2Vars(').IfV isamaximal'-disjointness
setin on
'
(x) thenfor ally2on
'
(x)there existsz2V suhthaty=z in'.
Proof. If y:?znotin' for all z 2 V then fyg[V is a disjointness set; thus
y2V bymaximalityofV.Otherwise,thereexists z2V suh thaty:?zin'.
Saturationof'withrespetto rules(Distr.NegDisj,Inter)yieldsyC
z in'or
zC
y in'. In both ases, it follows that z=y in' sine z and y are both
'
minimalelementsin theseton
' (x).
Lemma2 (Extension by Labeling). Every D-solved form ' with an unla-
beledvariable xanbeextendedtoaD-solvedformwith stritlyfewerunlabeled
variables, andinwhih x islabeled.
Proof. Letfx
1
;:::;x
n
gbeamaximal'-disjointnesssetinludedinon
'
(x).Let
f be afuntion symbolofarity n in , whih exists w.l.o.g.Otherwise, f an
beenodedfromaonstantandasymbolofarity2whose existenein we
assumed.Wedenethefollowingextensionext(')of':
ext(')=
def
'^x:f(x
1
;:::;x
n )^
^
fxR z^zR 1
xjC +
2R ; x
i C
z in'; 1ing^ (1)
^
fyR zj?2R ; x
i C
y in'; x
j C
zin'; 1i6=jng (2)
Notethatx islabeledinext(') sinex=x2'bysaturationunder(Dom.Re).
We haveto verify that ext (') is D-solved, i.e. that noneof theD-rules an be
applied toext(').Wegivetheproof onlyfortwoofthemoreomplexases.
1. (Distr.Child) annotbeappliedto x: f(x
1
;:::;x
n
):suppose xC y in'and
onsidertheaseyC
xnot in'.Thus x
'
y andthere existsz2on
' (x)
with zC
yin'. Lemma 1 and the maximality of the '-disjointness set
fx
1
;:::;x
n
g yield x
j
=zin' for some 1 j n. Thus, x
j C
y in' by
(Dom.Trans) and (Distr.Child) annot be applied with x
j
. For all suh
1i6=jnweanderivex
i
?yby(Lab.Dom,Disj,Inv),thusx
i :C
y by
(Inter)and(Distr.Child)annotbeappliedwithx
i either.
2. (Inter)applieswhenR
1
\R
2
R ,yR
1
zinext('), andyR
2
z inext(').We
proveyR zinext(') for theasewhere yR
1
zin'and yR
2
z is ontributed
to ext(') by (2). Thus, ? 2 R
2
and there exists 1 i6=j n suh that
x
i C
yin' and x
j C
z in'. It is suÆient to prove ? 2 R
1
sine then
? 2 R
1
\R
2
R whih implies yR zin'. We assume ? 62 R
1
and de-
rive aontradition. If ? 62 R
1
then R
1
f=;C +
;B +
g. Thus, weakening
yR
1
z in'with(Inter)yieldsy:?z in'.Next,weanapply(Distr.NegDisj)
whihproveseither yC
z in'ory:C
z in'.
(a) IfyC
zin'thenx
i C
zin 'followsfrom(Dom.Trans)andx
i :?x
j in'
from (NegDisj).This ontraditsourassumption that fx
1
;:::;x
n gisa
'-disjointnessset.
(b) If y:C
z in' then we have y:C
z in ' and y:?z in' from whih
on anderiveyB
zin' with (Inter) and zC
y in'with (Inv). From
(Dom.Trans) wederivex
j C
yin'. Sinewealready knowx
j C
y in'
weanapply(NegDisj)whihshowsx
i :?x
j
in'.Butagain,this on-
traditsthatfx
1
;:::;x
n
gisa'-disjointnessset. ut
Proposition5. EveryD-solvedformanbeextendedtoasimpleD-solvedform.
Proof. Let'beD-solved.W.l.o.g.,'hasarootvariable,elsewehooseafresh
variable x and onsider insteadtheD-solvedextension '^ V
fxR y^ yR 1
x j
C +
2R ; y2Vars(')g.ByLemma2,weansuessivelylabelallitsvariables.
u t
5 Constraint Programming with Finite Sets
Current onstraint programming tehnology provides no support for our D-
saturationalgorithm.Instead,improvingon[2℄,wereformulatethetaskofnd-
ingsolutionsofatreedesriptionasaonstraintsatisfationproblemsolvableby
onstraintprogramming [11,6℄.In this setion, we dene ourtarget language.
Its propagation rules are given in Fig 12 and are used in proving orretness
ofimplementation.Distributionrules,however,aretypiallyproblemdependent
andweassumethattheyanbeprogrammatiallystipulatedbytheappliation.
Thus,theonretesolverofSetion6speiesitsdistributionrulesinFigure13.
Let =f1 ::: gbe anite set of integersforsome largepratiallimit
suhas134217726.Weassumeasetofintegervariables withvaluesin and
rangedoverbyI andasetofsetvariables withvaluesin2
andrangedoverby
S.Integerandniteset variablesarealso bothdenotedbyX.
C::=B j S
1
\S
2
=; j S
3 S
1 [S
2 j C
1
^C
2 j C
1 orC
2
Fig.11.FiniteDomainandFiniteSetConstraints
Equality:
X
1
=X
2
^B[X
j
℄
p B[X
k
℄ fj;kg=f1;2g (eq.subst)
Finitedomainintegeronstraints:
I2D
1
^I2D
2 p
I2D
1
\D
2
(fd.onj)
I2;
p
false (fd.lash)
Finitesetsonstraints:
i2S^i62S
p
false (fs.lash)
S1\S2=;^i2Sj p i62Sk fj;kg=f1;2g (fs.disjoint)
S
3 S
1 [S
2
^i62S
1
^i62S
2 p
i62S
3
(fs.subset.neg)
S3S1[S2^i2S3^i62Sj p i2Sk fj;kg=f1;2g (fs.subset.pos)
Disjuntivepropagators:
B^C
~
p false
B ^ (CorC 0
)
p C
0
B^C
0 ~
p false
B ^ (CorC 0
)
p C
(ommit)
Fig.12.PropagationRules
Theabstrat syntax ofour languageis givenin Fig 11. Wedistinguish be-
tween basi onstraints B, diretly representable in the onstraint store, and
non-basi onstraints C ating as propagators and amplifying the store. The
delarativesemantisoftheseonstraintsisobvious(giventhatC
1 orC
2
isinter-
pretedasdisjuntion).Wewritej=Cif isanassignmentofintegervariables
to integersand set variables to sets whih rendersC true(where set operators
andBooleanonnetiveshavetheusualmeaning).
Weuse the following abbreviations: we write I6=i for I 2nfig, S
1 kS
2
for S
1
\S
2
=;,S=D for ^fi2S j i2 Dg^fi62S ji 2nDg, S
1 S
2 for
S
1 S
2 [S
3
^S
3
=;,andS=S
1
℄S
2 forS
1 kS
2
^S S
1 [S
2
^S
1
S^S
2 S
Thepropagationrules
p
forinferenein this languageare summarizedin
Fig12.TheexpressionC
1 orC
2
operatesasadisjuntive propagator whihdoes
notinvokeanyasedistintion.Thepropagation rulesfordisjuntivepropaga-
torsusethesaturationrelation
~
p
induedby
p
whihin turnisdened by
reursion through
~
p
. Clearly, all propagation rules are valid formulas when
seenasimpliationsorasimpliationsbetweenimpliationsinaseof(ommit).
6 Redution to Finite Set Constraints
Wenowreduedominaneonstraintswithsetoperatorstonitesetonstraints
ofthelanguageintroduedabove.Thisredutionyieldsaonreteimplementa-
tion of theabstrat dominaneonstraint solverwhen realized in a onstraint
programmingsystemsuhas[11,6℄.
y2R (x) where R (x) is a set variable denoting a nite set of nodes in a tree.
Thisideaisfairlygeneralin thatitdoesnotdepend onthepartiularrelations
interpretingtherelationsymbols.Ourenodingonsistsof3parts:
[['℄℄= ^
x2Vars(') A
1
(x) ^
x;y2Vars(') A
2
(x;y) ^ B [['℄℄
A
1
()introduesanoderepresentationpervariable,A
2
()axiomatizesthetree-
nessoftherelationsbetweenthesenodes,andB[['℄℄enodesthespeirestri-
tionsimposedby'.
Down
x Eq
x
Side
x Up
x
x Representation.Whenobservedfromaspeinode
x, the nodes of a solution tree (hene the variables
that theyinterpret)are partitioned into 4regions:x
itself,allnodesabove,allnodesbelow,andallnodestotheside.Themainidea
istointrodueorrespondingsetvariables.
Letmaxbethemaximumonstrutorarityusedin'.Foreahformalvari-
able x in ' wehoose a distint integer
x
to represent it, and introdue 7+
maxonstraintset variableswrittenEq
x ,Up
x ,Down
x ,Side
x ,Equp
x
,Eqdown
x ,
Parent
x , Down
i
x
for 1 i max, and one onstraintinteger variable Label
x .
Firstwestatethat x=x:
x 2Eq
x
(3)
Eq
x ,Up
x ,Down
x ,Side
x
enode the set of variables that are respetively equal,
above, below, and to the side (i.e. disjoint) of x. Thus, posing I = f
x j x 2
Vars(')gforthesetofintegersenodingVars('),wehave:
I=Eq
x
℄Down
x
℄Up
x
℄Side
x
WeanimprovepropagationbyintroduingEqdown
x
andEqup
x
asintermediate
results.Thisimprovementisrequiredby(Dom.Trans):
I=Eqdown
x
℄Up
x
℄Side
x (4)
I=Equp
x
℄Down
x
℄Side
x (5)
Eqdown
x
=Eq
x
℄Down
x (6)
Equp
x
=Eq
x
℄Up
x
(7)
Down i
x
enodesthesetofvariablesinthesubtreerootedatx'sithhild(empty
ifthereisnosuh hild):
Down
x
=℄fDown i
x
j1imaxg (8)
WedeneA
1
(x)astheonjuntionoftheonstraintsintrodued above:
A
1
(x)=(3)^(4)^(5)^(6)^(7)
Wellformedness. Posing Rel = f=;C ;B ;?g. In a tree, the relationship
that obtainsbetween the nodes denoted by x and y must be one in Rel. We
introdueanintegervariableC
xy
,alledahoievariable,toexpliitlyrepresent
it and ontribute a well-formedness lause A
3
[[xry℄℄ for eah r 2 Rel. Freely
indentifying thesymbolsinRelwiththeintegers1,2,3,4,wewrite:
A
2
(x;y) = C
xy
2Rel^
^
fA
3
[[xry℄℄jr2Relg (9)
A
3
[[xry℄℄ D[[xry℄℄^C
xy
=r or C
xy
6=r^D[[x:ry℄℄ (10)
Forallr2Rel,itremainstodeneD[[xry℄℄andD[[x:ry℄℄enodingtherelations
xry andx:ry resp.bysetonstraintsontherepresentationsofxandy.
D[[x=y℄℄ = Eq
x
=Eq
y
^Up
x
=Up
y
^Down
x
=Down
y
^Side
x
=Side
y
^Eqdown
x
=Eqdown
y
^Equp
x
=Equp
y
^Parent
x
=Parent
y
^Label
x
=Label
y
^
i Down
i
x
=Down i
y
D[[x:=y℄℄ = Eq
x kEq
y
D[[xC +
y℄℄ = Eqdown
y
Down
x
^Equp
x Up
y
^Side
x Side
y
D[[x:C +
y℄℄ = Eq
x kUp
y
^Down
x kEq
y
D[[x?y℄℄ = Eqdown
x Side
y
^Eqdown
y Side
x
D[[x:?y℄℄ = Eq
x kSide
y
^Side
x kEq
y
Problem spei onstraints. Thethird partB[['℄℄of thetranslationforms
the additionalproblem-spei onstraintsthat further restritthe admissibil-
ity of wellformed solutions and only aept those that are models of '. The
translationisgivenbylauses(11,12,13).
B[['^' 0
℄℄ = B [['℄℄^B[[' 0
℄℄ (11)
A pleasantonsequeneof theintrodutionof hoie variables C
xy
is that any
dominane onstraint xRy an be translated as a restrition on the possible
valuesofC
xy
.Forexample,xC
yanbeenodedasC
xy
2f1;2g.Moregenerally:
B[[xRy℄℄ = C
xy
2R (12)
Finallythelabellingonstraintx:f(y
1 ::: y
n
)requiresamoreomplextreat-
ment.Foreah onstrutorf wehooseadistintinteger
f
toenodeit.
B[[x:f(y
1 ::: y
n
)℄℄ = Label
x
=
f
^ j=max
j=n+1 Down
j
x
=;
^ j=n
j=1 Parent
yj
=Eq
x
^Down j
x
=Eqdown
y
j
^Up
y
j
=Equp
x (13)
Denitionof The Conrete Solver. Foreahproblem'wedeneasearh
strategyspeiedbythedistributionrulesofFigure13.Theserulesorrespond
preisely to (Distr.Child, Distr.NegDisj) of algorithm-D and are to be applied
in the same non-deterministi fashion. Posing =
p [
d
, we dene our
onretesolverasthenon-deterministisaturation
~
induedby andwrite
'
1
~
'
2
to mean that '
2 is in a
~
saturation of '
1
. Whilethe abstrat
solver left this point open, in order to avoid unneessary hoies, we further
requirethata
d
stepbetakenonlyifno
p
stepispossible.
C
xy
2f=;C g
d C
x
i y
2f=;C g_C
x
i y
62f=;C g forx:f(x
1
;:::;x
n )in'
Cxy6=? d Cxy2f=;C +
g_ Cxy62f=;C +
g
Fig.13.Problemspeidistributionrules
7 Proving Corretness of Implementation
Wenowprovethat[['℄℄ombinedwiththesearhstrategydenedaboveyields
a sound and omplete solverfor '. Completeness is demonstrated by showing
that theonretesolverobtainedby[['℄℄providesatleastasmuh propagation
asspeiedbytherulesofalgorithmD,i.e.wheneverxRyisina!
~
saturation
of'thenC
xy
2Risin a
~
saturationof[['℄℄.
Theorem 2. [['℄℄ issatisablei'issatisable.
Thisfollowsfrom Propositions6and 7below.
Proposition6. if' issatisablethen[['℄℄ issatisable.
Weshowhowtoonstrutamodelof[['℄℄fromamodel(M
;)of'.Wedene
thevariableassignment asfollows:(Up
x )=f
y
j(y)C +
(x)gandsimilarly
for Eq
x
;Down
x
;Side
x
;Eqdown
x
;Equp
x
, (Parent
x )= f
y
j 9k (y)k =(x)g,
(Down k
x ) = f
y
j (y)B
(x)kg, (Label
x ) =
L((x))
and (C
xy
) = R if
(x)R(y)inM
.Wehavethat if(M
;)j='thenj=[['℄℄.
Proposition7. if[['℄℄issatisable, then'issatisable.
WeprovethisbyreadingaD-solvedformoamodel of[['℄℄.
' 0
'^
^
x;y
^
R 0
R xR
0
y whereR=(C
xy )
' 0
is aD-solvedformontaining':allrelationshipsbetweenvariables arefully
resolved and all theirgeneralizations havebeen added. The only possibility is
thatD-rulesmightderiveaontradition.However,if' 0
!
~
p
falsethen[[' 0
℄℄
~
p
false(Lemma4)whihwouldontradittheexisteneofasolution.Therefore
' 0
isaO-solvedformand'issatisable.
Wedistinguishpropagation anddistribution rules;in algorithm D theyare
written !
p and !
d
,andin ouronretesolver
p and
d
. Wewrite' 00
4' 0
for ' 00
is stronger than ' 0
and dene it as the smallest relation that holds of
atomionstraintsandsuhthatfalse4falseandxRy 4 xR 0
y iRR 0
.
Proposition8 (StrongerPropagation).Foreahrule'!
p '
0
ofalgorithm
D,there exists' 00
4' 0
suhthat [['℄℄
~
p [['
00
℄℄.
The proof tehniquefollowsthis pattern: eah ' 0
is of the form xRy and we
hoose' 00
=xR 0
ywhereR 0
R .Assume[['℄℄asapremise.Showthat[['℄℄^C
~
p
false.NotiethatalauseC or C 0
isintroduedby[['℄℄asrequiredby(10).Thus
C 0
follows by (ommit).Then showthat [['℄℄^C 0 ~
p [['
00
℄℄. Forwantof spae,
weinlude hereonlytheproofforrule(NegDisj).
Lemma3. [[xC y℄℄
p
y
2Eqdown
x
(proofomitted)
Proposition9. [[xC
z^yC
z℄℄
~
p
[[x:?y℄℄
Proof. From thepremises[[xC
z℄℄and[[yC
z℄℄,i.e. C
xz
2f=;C +
gandC
yz 2
f=;C +
g, we must show [[x:?y℄℄ i.e. C
xy
6=?. By Lemma 3 we obtain
z 2
Eqdown
x and
z
2 Eqdown
y
. Sine I =Eqdown
y
℄Up
y
℄Side
y
, we have
z 62
Side
y
.Nowonsiderthenon-basionstraintEqdown
x Side
y
whihoursin
D[[x?y℄℄:from
z
2Eqdown
x
itinfers
z 2Side
y
whih ontradits
z 62Side
y .
Therefore,thewell-formednesslauseD[[x?y℄℄^C
xy
=?or C
xy
6=?^D[[x:?y℄℄
infersitsrightalternativebyrule(ommit).HeneC
xy
6=? ut
Lemma4. (1) if '!
~
p '
0
, thenthereexists ' 00
4' 0
suh that [['℄℄
~
p [['
00
℄℄.
(2)if'!
~
p '
1 and'
1
!
d '
2
,thenthereexists' 0
1 4'
1
suhthat[['℄℄
~
p [['
0
1
℄℄
and[[' 0
1
℄℄
d [['
2
℄℄.
(1) followsfrom Proposition8,and(2) from (1)andthefat that theonrete
distributionrulespreisely orrespondtothoseofalgorithmD.
Proposition10 (Simulation).Theonretesolversimulatestheabstratsolver:
if '!
~
' 0
thenthere exists' 00
4' 0
suhthat [['℄℄
~
[[' 00
℄℄.
Followsfrom Lemma4.
Theorem3. (1)every
~
saturationof[['℄℄orrespondstoaD-solvedformof
'and(2) for everyD-solvedformof 'thereisa orresponding
~
saturation
of [['℄℄.
(1) from Proposition 10. (2) Consider a
~
saturation of [['℄℄. As in Propo-
sition 7, wean onstrut a D-solved form ' 0
of ' by reading o the urrent
domains of the hoie variables C
xy . If '
0
was not D-solved, then !
~
ould
inferanewfat,butthenbyProposition10soould
~
anditwouldnotbea
saturation.
8 Conlusion
In this paper, weextended dominaneonstraintsby admitting set operators.
Set operators introdue a ontrolled form of disjuntion and negation that is
less expressivethan general Boolean onnetives and remains espeially well-
suited for onstraintpropagation. Onthe basis of this extension we presented
twosolvers:oneabstrat,oneonrete.
Thedesignoftheabstratsolverisarefullyinformedbytheneedsofprati-
alappliations:itstipulatesinferenerulesrequiredforeÆientlysolvingdom-
inaneonstraintsourringintheseappliations.Therulestakefulladvantage
oftheextraexpressivityaordedbysetoperators.Weprovedtheabstratsolver
soundandompleteandthatitsdistributionstrategyimprovesover[2℄andmay
avoidan exponential number ofhoiepoints.This improvementaruesfrom
admittinglessexpliitsolvedformswhilepreservingsoundness.
izesthedesiredonstraintpropagationbyredutiontoonstraintprogramming
usingsetonstraints.Weprovedthattheonretesolverfaithfullysimulatesthe
abstrat one, and thereby shed newlight onthe soure ofits observed prati-
al eetiveness.The onrete solverhas beenimplemented in theonurrent
onstraintprogramminglanguageOz[10℄,performseÆientlyinpratialappli-
ations to semantiunderspeiation, andproduessmallersearhtrees than
thesolverof[2℄.
Referenes
1. R.Bakofen,J.Rogers,andK.Vijay-Shanker. Arst-orderaxiomatizationofthe
theoryofnitetrees. JournalofLogi,Language,andInformation,4:5{39,1995.
2. D.DuhierandC.Gardent. Aonstraint-basedtreatmentofdesriptions. InInt.
WorkshoponComputationalSemantis,Tilburg,1999.
3. D. DuhierandS.Thater. Parsingwithtreedesriptions: aonstraint-basedap-
proah.InInt.WorkshoponNaturalLanguageUnderstandingandLogiProgram-
ming,LasCrues,NewMexio,1999.
4. M.Egg,J.Niehren,P.Ruhrberg,andF.Xu.Constraintsoverlambda-struturesin
semantiunderspeiation. InJointConf.COLING/ACL,pages353{359,1998.
5. C.GardentandB.Webber. Desribingdisoursesemantis. InProeedingsofthe
4thTAG+Workshop,Philadelphia,1998.
6. C.Gervet. Intervalpropagationtoreasonaboutsets:Denitionandimplementa-
tionofapratiallanguage. Constraints,1(3):191{244,1997.
7. A. Koller,K. Mehlhorn, and J. Niehren. A polynomial-time fragment of domi-
naneonstraints. Tehnial report, Programming SystemsLab, Universitat des
Saarlandes,Apr.2000. Submitted.
8. A. Koller,J. Niehren, and R. Treinen. Dominane onstraints:Algorithms and
omplexity.InLogialAspetsofComp.Linguistis98,2000. ToappearinLNCS.
9. M.P.Marus,D.Hindle,andM.M.Flek.D-theory:Talkingabouttalkingabout
trees. In21stACL,pages129{136,1983.
10. Mozart. Themozartprogrammingsystem. http://www.mozart-oz.org/.
11. T. Muller and M. Muller. Finite set onstraints in Oz. In F. Bry, B. Freitag,
and D. Seipel, editors, 13. Workshop Logishe Programmierung, pages 104{115,
TehnisheUniversitatMunhen, 1997.
12. R.Muskens. Order-IndependeneandUnderspeiation. InJ.Groenendijk,edi-
tor,Ellipsis,Underspeiation,EventsandMoreinDynamiSemantis.DYANA
DeliverableR.2.2.C,1995.
13. O.Rambow,K.Vijay-Shanker,andD.Weir. D-treegrammars. InProeedings of
ACL'95,pages151{158,MIT,Cambridge,1995.
14. J.RogersandK.Vijay-Shanker. Reasoningwithdesriptionsoftrees. InAnnual
Meeting oftheAssoiationforComp.Linguistis(ACL),1992.
15. J. W. Thather and J. B. Wright. Generalized nite automatatheory with an
appliation to a deision problem of seond-order logi. Mathematial Systems
Theory,2(1):57{81,August1967.
16. W.Thomas. AutomataonInniteObjets. InJ.v.Leeuwen,editor,Handbook of
TheoretialComputerSiene,FormalModelsandSemantis,volumeB,hapter4,
pages133{191.TheMITPress,1990.
17. K.Vijay-Shanker. Usingdesriptions oftrees inatreeadjoining grammar. Com-
putational Linguistis,18:481{518, 1992.
Theproof oforretnessofimplementationrelies onshowingthat theonrete
solversimulatestheabstratsolver.Abstratrulesareeither oftheform'!
p
false (Clash rule) or ' !
p
xRy (all other rules). In the rst ase we show
that [['℄℄
false and in the other asesthat [['℄℄
[[xR 0
y℄℄ where R 0
R .
Inotherwords,weprovethat theonretesolverprovidesasmuhorstronger
propagationthantheabstratsolver.
For every rule ' !
p
xRy, it is the ase that x;y 2 Vars('). Therefore,
posing:
A(')= ^
x2Vars(') A
1
(x) ^
x;y2Vars(') A
2 (x;y)
wehaveA(xRy)A('). Thus, in orderto showthat [['℄℄
p [[xR
0
y℄℄, where
R 0
R ,weonlyneedprovethat [['℄℄
p B[[xR
0
y℄℄.
Ourproofsarein naturaldedutionstyleandpresentedinatabularformat
in 3 olumns; left: the formula, enter: its justiation, right: a line name. A
nameoftheform(j `o)introduesthename(o)butalsoexpliitlyreordsthe
fat thatitwasderivedfromthenon-dishargedassumption(j).
(Clash) x;y ! false
C
xy
2; Premise[[x;y℄℄ (a)
false (a) (fd.lash)
(Dom.Re) xC
x
x 2Eq
x
(3) (a)
Eq
x kEq
x
Assumption (b)
false (a)(b) (b `)
D[[x:=x℄℄
~
p
false () (b`d)
D[[x=x℄℄^C
xx
== or C
xx
6==^D [[x:=x℄℄ (10) (e)
C
xx
== (d)(e)
(Dom.Trans) xC
y^yC
z ! xC
z
C
xy
2f=;C +
g Premise[[xC
y℄℄ (a)
C
yz
2f=;C +
g Premise[[yC
z℄℄ (b)
D[[yC +
x℄℄^C
xy
=B +
or C
xy 6=B
+
^D[[y:C +
x℄℄ (10) ()
D[[y:C +
x℄℄ i.e. Eq
y kUp
x
^Down
y kEq
x
(a) ()(ommit) (d)
D[[x?y℄℄^C
xy
=? or C
xy
6=?^D[[x:?y℄℄ (10) (e)
D[[x:?y℄℄ i.e. Eq
x kSide
y
^Side
x kEq
y
(a) (e)(ommit) (f)
D[[zC +
y℄℄^C
yz
=B +
or C
yz 6=B
+
^D[[z:C +
y℄℄ (10) (g)
D[[z:C +
y℄℄ i.e. Eq
z kUp
y
^Down
z kEq
y
(b)(g)(ommit) (h)
D[[y?z℄℄^C
yz
=? or C
yz
6=?^D [[y:?z℄℄ (10) (i)
D[[y:?z℄℄ i.e. Eq
y kSide
z
^Side
y kEq
z
(b)(i)(ommit) (j)
ontinuedonnextpage
y 2Eq
y
(3) (k)
y 62Up
x
y 62Side
x
y
62Down
z
y 62Side
z
(d)(f)(g)(j)(k) (l)
I=Eqdown
x
℄Up
x
℄Side
x
(4) (m)
y
2Eqdown
x
(l)(m) (n)
D[[zC +
x℄℄ i.e. Eqdown
x
Down
z
Assumption (o)
false (o)(n)(l) (o`p)
D[[zC +
x℄℄
~
p
false (p) (o` q)
D[[zC +
x℄℄^C
xz
=B +
or C
xz 6=B
+
^D [[z:C +
x℄℄ (10) (r)
C
xz 6=B
+
(r) (q)(ommit) (s)
D[[x:?z℄℄ i.e. Eqdown
x Side
z
Assumption (t)
false (t) (n)(l) (t`u)
D[[x:?z℄℄
~
p
false (u) (t` v)
D[[x?z℄℄^C
xz
=? or C
xz
6=?^D[[x:?z℄℄ (10) (w)
C
xz
6=? (w) (v)(ommit) (x)
C
xz
2f=;C +
g (s) (x)
(Eq.Deom) x:f(x
1
;:::;x
n
)^y:f(y
1
;:::;y
n
)^x=y ! x
i
=y
i
[[x=y℄℄ i.e. C
xy
== Premise (a)
[[x:f(x
1
;:::;x
n
)℄℄ i.e. Down i
x
=Eqdown
x
i
Premise (b)
[[y:f(y
1
;:::;y
n
)℄℄ i.e. Down i
y
=Eqdown
yi
Premise ()
D[[x=y℄℄^C
xy
== or C
xy
6==^D[[x:=y℄℄ (10) (d)
D[[x=y℄℄ i.e. Down i
x
=Down i
y
(d)(a)(ommit)(e)
Eqdown
x
i
=Eqdown
y
i
(e)(b)() (f)
x
i 2Eq
xi
(3) (g)
x
i
2Eqdown
xi
(g)(6) (h)
xi
2Eqdown
y
i
(h)(f) (i)
x
i
2Equp
xi
(g)(7) (j)
I=Equp
xi
℄Down
x
i
℄Side
x
i
(5) (k)
x
i
62Down
x
i
(j)(k) (l)
Eqdown
yi
Down
xi
Assumption (m)
x
i
2Down
x
i
(m)(i) (m` n)
false (l)(m) (m`o)
D[[x
i C
+
y
i
℄℄
~
p
false (o) (m` p)
D[[x
i C
+
y
i
℄℄^C
xiyi
=C +
or C
xiyi 6=C
+
^D [[x
i :C
+
y
i
℄℄ (10) (q)
D[[x
i :C
+
y
i
℄℄ i.e. Down
xi kEq
y
i
(q) (p)(ommit) (r)
y
i 2Eq
yi
(3) (s)
y
i
2Eqdown
yi
(s)(6) (t)
yi
2Eqdown
x
i
(t)(f) (u)
yi
62Down
xi
(s)(r) (v)
yi 2Eq
x
i
(u)(v) (w)
Eq
x
i kEq
yi
Assumption (x)
ontinuedonnextpage
false (s)(w) (x) (x` y)
D[[x
i :=y
i
℄℄
~
p
false (y) (x`z1)
D[[x
i
=y
i
℄℄^C
xiyi
== or C
xiyi
6==^D[[x
i :=y
i
℄℄ (10) (z2)
C
xiyi
== (z1)(z2)(ommit)
(Lab.Ineq) x:f(:::)^y:g(:::) ! x:=y iff6=g
[[x:f(:::)℄℄ i.e. Label
x
=
f
Premise (a)
[[y:g(:::)℄℄ i.e. Label
y
=
g
Premise (b)
Label
x
=Label
y
Assumption ()
false ()f6=g ( `d)
D[[x=y℄℄
~
p
false (d) ( `e)
D[[x=y℄℄^C
xy
== or C
xy
6==^D[[x:=y℄℄ (10) (f)
C
xy
6== (e)(f)(ommit)
(Lab.Disj) x:f(::: x
i ::: x
j
:::) ! x
i
?x
j
[[x:f(::: x
i ::: x
j
:::)℄℄ i.e. Down i
x
=Eqdown
xi
Premise (a)
[[x:f(::: x
i ::: x
j
:::)℄℄ i.e. Down j
x
=Eqdown
xj
Premise (b)
[[x:f(::: x
i ::: x
j
:::)℄℄ i.e. Up
xj
=Equp
x
Premise ()
x
i 2Eq
xi
(3) (d)
x
i
2Eqdown
xi
(d)(6) (e)
x
i
2Down i
x
(e)(a) (f)
Down
x
=℄
k Down
k
x
(8) (g)
x
i
62Down i
x
(g)(f) (h)
x
i
62Eqdown
x
j
(h)(b) (i)
x
i
2Down
x
(g)(f) (j)
I=Equp
x
℄Down
x
℄Side
x
(5) (k)
x
i
62Equp
x
(j)(k) (l)
x
i 62Up
xj
(l)() (m)
I=Eqdown
xj
℄Up
xj
℄Side
x
j
(4) (n)
x
i 2Side
x
j
(n)(i)(m) (o)
Eq
xi kSide
x
j
Assumption (p)
false (p)(d)(o) (p` q)
D[[x
i :?x
j
℄℄
~
p
false (q) (p`r)
D[[x
i
?x
j
℄℄^C
x
i x
j
=? or C
x
i x
j
6=?^D[[x
i :?x
j
℄℄ (10) (s)
C
xixj
=? (s) (r)(ommit)
(Lab.Dom) x:f(::: y
i
:::) ! xC +
y
i
[[x:f(::: y
i
:::)℄℄ i.e. Up
yi
=Equp
x
Premise (a)
x 2Eq
x
(3) (b)
x
2Equp
x
(b)(7) ()
x 2Up
yi
()(a) (d)
Eq
x kUp
y
i
Assumption (e)
ontinuedonnextpage
false (e) (b)(d) (e` f)
D[[x:C +
y
i
℄℄
~
p
false (f) (e `g)
D[[xC +
y
i
℄℄^D[[xy
i
℄℄=C +
or C
xyi 6=C
+
^D [[x:C +
y
i
℄℄ (10) (h)
C
xyi
=C +
(h)(f)(ommit)
(Inter) xR
1
y^xR
2
y ! xRy RR
1
\R
2
[[xR
1
y℄℄ i.e. C
xy 2R
1
Premise (a)
[[xR
2
y℄℄ i.e. C
xy 2R
2
Premise (b)
C
xy 2R
1
\R
2
(a)(b)(fd.onj) ()
C
xy
2R ()RR
1
\R
2
Forrule(Inv)xRy!yR 1
x,weneedtoshowthat[[xRy℄℄
~
p [[yR
0
x℄℄,
whereR 0
R 1
. Weshowthisbyprovingthatwheneverr62R 1
wealsohave
r62R 0
.Wemustonsiderthefollowing4ases:
(ase =62R 1
) [[x:=y℄℄
~
p
[[y:=x℄℄ (i.e. =62R 0
)
(aseB +
62R 1
) [[x:C +
y℄℄
~
p
[[y:B +
x℄℄ (i.e.B +
62R 0
)
(aseC +
62R 1
) [[x:B +
y℄℄
~
p
[[y:C +
x℄℄ (i.e.C +
62R 0
)
(ase ?62R 1
) [[x:?y℄℄
~
p
[[y:?x℄℄ (i.e. ?62R 0
)
(Inv 1) [[x:=y℄℄
~
p
[[y:=x℄℄
C
xy
6== Premise (a)
D[[x=y℄℄^C
xy
== or C
xy
6==^D[[x:=y℄℄ (10) (b)
D[[x:=y℄℄ i.e. Eq
x kEq
y
(b)(ommit) (a `)
x 2Eq
x
(3) (d)
x 62Eq
y
()(d) (e)
Eq
y
=Eq
y
Assumption (f)
false (d)(e)(f) (f `g)
D[[y=x℄℄^C
yx
== or C
yx
6==^D[[y:=x℄℄ (10) (h)
C
yx
6== (h)(g)(ommit)
(Inv 2) x:C
+
y
~
p
y:B +
x
C
xy 6=C
+
Premise (a)
D[[xC +
y℄℄^C
xy
=C +
or C
xy 6=C
+
^D[[x:C +
y℄℄ (10) (b)
D[[x:C +
y℄℄ i.e. Eq
x kUp
y
(a) (b)(ommit) ()
x 2Eq
x
(3) (d)
x
2Equp
x
(d)(7) (e)
x 62Up
y
(d)() (f)
Equp
x Up
y
Assumption (g)
x 2Up
y
(g) (e) (g`h)
false (h)(f) (g`i)
D[[xC +
y℄℄
~
p
false (i) (g `j)
ontinuedonnextpage
D[[xC +
y℄℄^C
yx
=B +
or C
yx 6=B
+
^D[[x:C +
y℄℄ (10) (k)
C
yx 6=B
+
(k) (j)(ommit)
(Inv 3) x:B
+
y
~
p
y:C +
x
C
xy 6=B
+
Premise (a)
D[[yC +
x℄℄^C
xy
=B +
or C
xy 6=B
+
^D[[y:C +
x℄℄ (10) (b)
D[[y:C +
x℄℄ i.e. Eq
y kUp
x
(a) (b)(ommit) ()
y 2Eq
y
(3) (d)
y Equp
y
(d)(7) (e)
y 62Up
x
(d)() (f)
Equp
y Up
x
Assumption (g)
y 2Up
x
(g) (e) (g`h)
false (h)(f) (g`i)
D[[yC +
x℄℄
~
p
false (i) (g `j)
D[[yC +
x℄℄^C
yx
=C +
or C
yx 6=C
+
^D[[y:C +
x℄℄ (10) (k)
C
yx 6=C
+
(k) (j)(ommit)
(Inv 4) x:?y
~
p
y:?x
C
xy
6=? Premise (a)
D[[x?y℄℄^C
xy
=? or C
xy
6=?^D[[x:?y℄℄ (10) (b)
D[[x:?y℄℄ i.e. Eq
x kSide
y
(a)(b)(ommit) ()
x 2Eq
x
(3) (d)
x 62Side
y
(d)() (e)
x
2Eqdown
x
(d)(6) (f)
Eqdown
x Side
y
Assumption (g)
x 2Side
y
(g)(f) (f`h)
false (h)(e) (f`i)
D[[y?x℄℄
~
p
false (i) (f `j)
D[[y?x℄℄^C
yx
=? or C
yx
6=?^D[[y:?x℄℄ (10) (k)
C
yx
6=? (k)(j)(ommit)
(Disj) x?y^yC
z ! x?z
[[x?y℄℄ i.e. C
xy
=? Premise (a)
[[yC
z℄℄ i.e. C
yz
2f=;C +
g Premise (b)
D[[zC +
y℄℄^C
yz
=B +
or C
yz 6=B
+
^D[[z:C +
y℄℄ (10) ()
D[[z:C +
y℄℄ i.e. Eq
z kUp
y
(b)()(ommit) (d)
D[[y?z℄℄^C
yz
=? or C
yz
6=?^D [[y:?z℄℄ (10) (e)
D[[y:?z℄℄ i.e. Eq
z kSide
y
(e) (b)(ommit) (f)
z 2Eq
z
(3) (g)
z 62Up
y
(g)(d) (h)
z 62Side
y
(g)(f) (i)
I=Eqdown
y
℄Up
y
℄Side
y
(4) (j)
ontinuedonnextpage
z
2Eqdown
y
(j)(h)(i) (k)
D[[x?y℄℄^C
xy
=? or C
xy
6=?^D[[x:?y℄℄ (10) (l)
D[[x?y℄℄ i.e. Eqdown
y Side
x
(l)(a)(ommit) (m)
z 2Side
x
(k)(m) (n)
Side
x kEq
z
Assumption (o)
false (o)(n)(g) (o`p)
D[[x:?z℄℄
~
p
false (p) (o` q)
D[[x?z℄℄^C
xz
=? or C
xz
6=?^D[[x:?z℄℄ (10) (r)
C
xz
=? (r)(q) (ommit)
Lemma5. [[xC
y℄℄
~
p
y
2Eqdown
x
(Lemma 5) [[xC
y℄℄
~
p
y2Eqdown
x
[[xC
y℄℄ i.e. C
xy
2f=;C +
g Premise (a)
D[[yC +
x℄℄^C
xy
=B +
or C
xy 6=B
+
^D[[y:C +
x℄℄ (10) (b)
D[[y:C +
x℄℄ i.e. Eq
y kUp
x
(a) (b)(ommit) ()
D[[x?y℄℄^C
xy
=? or C
xy
6=?^D[[x:?y℄℄ (10) (d)
D[[x:?y℄℄ i.e. Eq
y kSide
x
(a) (d)(ommit) (e)
y 2Eq
y
(3) (f)
y 62Up
x
(f)() (g)
y 62Side
x
(f)(e) (h)
I=Eqdown
x
℄Up
x
℄Side
x
(4) (i)
y
2Eqdown
x
(i)(g)(h)
(NegDisj) xC
z^yC
z ! x:?y
C
xz
2f=;C +
g Premise (a)
C
yz
2f=;C +
g Premise (b)
z
2Eqdown
x
(a)(Lemma5) ()
z
2Eqdown
y
(b)(Lemma5) (d)
I=Eqdown
y
℄Up
y
℄Side
y
(4) (e)
z 62Side
y
(d)(e) (f)
Eqdown
x Side
y
Assumption (g)
z 2Side
y
()(g) (g`i)
false (f)(i) (g `j)
D[[x?y℄℄
~
p
false (j) (g` k)
D[[x?y℄℄^C
xy
=? or C
xy
6=?^D[[x:?y℄℄ (10) (l)
C
xy
6=? (l)(k)(ommit)
Lemma6. [[x:C
y℄℄
~
p
y
62Eqdown
x
(Lemma 6) [[x:C
y℄℄
~
p
y
62Eqdown
x
[[x:C
y℄℄ i.e. C
xy 2fB
+
;?g Premise (a)
D[[x=y℄℄^C
xy
== or C
xy
6==^D[[x:=y℄℄ (10) (b)
ontinuedonnextpage
D[[x:=y℄℄ i.e. Eq
x kEq
y
(a) (b)(ommit) ()
D[[xC +
y℄℄^C
xy
=C +
or C
xy 6=C
+
^D[[x:C +
y℄℄ (10) (d)
D[[x:C +
y℄℄ i.e. Down
x kEq
y
(a) (d)(ommit) (e)
y 2Eq
y
(3) (f)
y 62Eq
x
(f)() (g)
y
62Down
x
(e) () (h)
y
62Eqdown
x
(g) (h)(6)
(Child.up) xC
y^x:f(x
1
;:::;x
n )^
V
n
i=1 x
i :C
y ! x=y
C
xy
2f=;C +
g Premise (a)
[[x:f(x
1
;:::;x
n )℄℄ i.e.
Down i
x
=Eqdown
x
i
1in
Down i
x
=; i>n
Premise (b)
C
x
i y
2fB +
;?g Premise ()
y
62Eqdown
xi
()(Lemma6) (d)
y
62Down i
x
(d)(b) (e)
Down
x
=℄
i Down
i
x
(8) (f)
y
62Down
x
(e)(f) (g)
y
2Eqdown
x
(a)(Lemma5) (h)
y 2Eq
x
(g)(h)(6) (i)
y 2Eq
y
(3) (j)
Eq
x kEq
y
Assumption (k)
false (i)(j)(k) (k`l)
D[[x:=y℄℄
~
p
false (l) (k`m)
D[[x=y℄℄^C
xy
== or C
xy
6==^D[[x:=y℄℄ (10) (n)
C
xy
== (n)(m)(ommit)
Lemma7.
x
2Eqdown
x
(Lemma 7)
x
2Eqdown
x
x 2Eq
x
(3) (a)
Eqdown
x
=Eq
x
℄Down
x
(6) (b)
x
2Eqdown
x
(a)(b)
Lemma8. [[xC +
y℄℄
~
p
y
2Down
x
(Lemma 8) [[xC
+
y℄℄
~
p
y
2Down
x
C
xy
=C +
Premise (a)
C
xy 6=C
+
Assumption (b)
false (a) (b) (b `)
D[[xC +
y℄℄^C
xy
=C +
or C
xy 6=C
+
^D[[x:C +
y℄℄ (10) (d)
D[[xC +
y℄℄ i.e. Eqdown
y
Down
x
() (d)(ommit) (e)
y
2Eqdown
y
(Lemma 7) (f)
ontinuedonnextpage
y
2Down
x
(e)(f)
Lemma9.
x 62Side
x
(Lemma 9)
x 62Side
x
x 2Eq
x
(3) (a)
Eqdown
x
=Eq
x
℄Down
x
(6) (b)
x
2Eqdown
x
(a)(b) ()
I=Eqdown
x
℄Up
x
℄Side
x
(4) (d)
x 62Side
x
()(d)
Lemma10.
x
62Down
x
(Lemma 10)
x
62Down
x
x 2Eq
x
(3) (a)
Eqdown
x
=Eq
x
℄Down
x
(6) (b)
x
62Down
x
(a)(b)
Lemma11.
y
2Eqdown
x
~
p C
xy
2f=;C +
g
(Lemma 11)
y
2Eqdown
x
~
p C
xy
2f=;C +
g
y
2Eqdown
x
Premise (a)
y 62Side
y
(Lemma 9) (b)
Eqdown
x Side
y
Assumption ()
y 2Side
y
(a) () ( `d)
false (d) ( `e)
D[[x?y℄℄
~
p
false (e) (` f)
D[[x?y℄℄^C
xy
=? or C
xy
6=?^D[[x:?y℄℄ (10) (g)
C
xy
6=? (f)(g) (h)
y
62Down
y
(Lemma 10) (i)
Eqdown
x
Down
y
Assumption (j)
y
2Down
y
(a) (j) (j` k)
false (i)(k) (j`l)
D[[yC +
x℄℄
~
p
false (l) (j `m)
D[[yC +
x℄℄^C
yx
=C +
or C
yx 6=C
+
^D[[y:C +
x℄℄ (10) (n)
C
yx 6=C
+
(m) (n)(ommit) (o)
C
xy :=B
+
(o) (Inv) (p)
C
xy
2f=;C +
g (h)(p)
(Child.down) xC +
y^x:f(x
1
;:::;x
n )^^
n
i=1;i6= j x
i :C
y ! x
j C
y
[[xC +
y℄℄ Premise (a)
[[x:f(x
1
;:::;x
n )℄℄ i.e.
Down i
x
=Eqdown
xi
1in
Down i
x
=; i>n
Premise(13) (b)
ontinuedonnextpage
[[x
i :C
y℄℄ 1i6=jn Premise ()
y
2Down
x
(a)(Lemma8) (d)
y
62Down i
x
i>n (b) (e)
y
62Eqdown
x
i
1i6=j n ()(Lemma6) (f)
y
62Down i
x
1i6=j n (f)(b) (g)
Down
x
=℄ fDown i
x
j1imaxg (8) (h)
y
2Down j
x
(h)(d)(e)(g) (i)
y
2Eqdown
x
j
(i)(b) (j)
C
x
j y
2f=;C +
g (j)(Lemma11)
Lemma12. [[x:?y℄℄
~
p
y 62Side
x
(Lemma 12) [[x:?y℄℄
~
p
y 62Side
x
[[x:?y℄℄ i.e. C
xy
6=? Premise (a)
D[[x?y℄℄^C
xy
=? or C
xy
6=?^D[[x:?y℄℄ (10) (b)
C
xy
=? Assumption ()
false (a)() ( `d)
D[[x:?y℄℄ i.e. Eq
y kSide
x
(d)(ommit) (e)
y 2Eq
y
(3) (f)
y 62Side
x
(f)(e)
Areallyimportantlemma thatIshould haveprovenmuh earlier
Lemma13. [[xry℄℄
~
p
D[[xry℄℄
(Lemma 13) [[xry℄℄
~
p
D[[xry℄℄
[[xry℄℄ i.e. C
xy
=r Premise (a)
C
xy
6=r Assumption (b)
false (a)(b) (b `)
D[[xry℄℄^C
xy
=r or C
xy
6=r^D[[x:ry℄℄ (10) (d)
D[[xry℄℄ ()(d)(ommit)
(NegDom) x?y^y:?z ! x:C
z
[[x?y℄℄ Premise (a)
[[y:?z℄℄ Premise (b)
z 62Side
y
(b)(Lemma12) ()
Eq
x
=Eq
z
Assumption (d)
z 2Eq
z
(3) (e)
z 2Eq
x
(d)(e) (d` f)
Eqdown
x
=Eq
x
℄Down
x
(6) (g)
z
2Eqdown
x
(f)(g) (d`h)
D[[x?y℄℄ i.e. Eqdown
x Side
y
(a)(Lemma13) (i)
z 2Side
y
(h)(i) (d`j)
ontinuedonnextpage