[developers] Re: unary rules and packing

John Carroll J.A.Carroll at sussex.ac.uk
Tue Mar 22 10:10:53 CET 2005

On 20 Mar 2005, at 01:55, Stephan Oepen wrote:

> however, i still think there is a general problem.  without assuming a
> cycle in the grammar, how can we guarantee that a unary rule R applied
> to some edge e_1 does not result in a structure subsumed by e_1?  the
> following rule, i think, should actually do the trick:
>   R := #1 & [ FOO + ] --> #1 & [ FOO - ]
> assuming e_1 was unspecified for FOO, it should both feed the rule and
> subsume the output structure.  or not?


You are right, there is a general problem here that may legitimately 
surface in the future. A grammar of the type you describe is not cyclic 
and in our current implementations with packing turned off we would 
return the correct derivations, but with packing turned on, unpacking 
would go into an infinite loop.

>>   i am inclined to say
>> that our packed-edge-p() should check and block packing into daughters
>> of the current new edge.  that could be tested fairly efficiently, as 
>> i
>> would only have to walk down the daughters chain along the current 
>> span
>> (or bit-code characterizing semantic coverage), i think.

This sounds as though it should do the right thing -- if e_1 dominates 
e_2 via a non-branching chain then e_1 must not be packed into e_2.


More information about the developers mailing list