Next: In1, Previous: Graph1Dist, Up: Principles list
principle.in
D
In: iset(label(D))
In: _.D.entry.in
In
(priority 130)
This principle assumes that the Graph principle (Graph) is used
on dimension D
.
The In
argument variable defines the set of possible
incoming edge labels.
Its default value is lexicalized by the lexical entry feature
in
on D
.
It stipulates for all nodes v that:
This principle is now mostly superseded by the Valency principle (Valency), but is still used for the classic grammars, e.g. the Acl01 grammar (Acl01).
Notice that the In2 principle (In2) uses the same constraint
functor, but the type of the In
argument variable is an
accumulative set of labels on D
, instead of an intersective
one.
Here is the definition of the In
constraint functor:
%% Copyright 2001-2008 %% by Ralph Debusmann <rade@ps.uni-sb.de> (Saarland University) and %% Denys Duchier <duchier@ps.uni-sb.de> (LIFO, Orleans) and %% Jorge Marques Pelizzoni <jpeliz@icmc.usp.br> (ICMC, Sao Paulo) and %% Jochen Setz <info@jochensetz.de> (Saarland University) %% functor import % System(show) Helpers(checkModel) at 'Helpers.ozf' export Constraint define proc {Constraint Nodes G Principle FD FS Select} DVA2DIDA = Principle.dVA2DIDA ArgRecProc = Principle.argRecProc %% DIDA = {DVA2DIDA 'D'} in %% check features if {Helpers.checkModel 'In.oz' Nodes [DIDA#labels]} then for Node in Nodes do InM = {ArgRecProc 'In' o('_': Node)} in %% labels(v) in in(v) {FS.subset Node.DIDA.model.labels InM} end end end end