functor
import
Select at 'x-ozlib://duchier/cp/Select.ozf'
SmallLexicon
Encode FS
export
PartialAgreement
GetPartialAgreement
define
PartialAgreement =
{New Encode.domainProduct
init([[masc fem neut]
[sing plur]])}
1#N = SmallLexicon.agreement.range
Projection = {Tuple.make o N}
for I in 1..N do
case {SmallLexicon.agreement decode(I $)}
of [[Gender Number _ _ _]] then
S = {PartialAgreement encode([[Gender Number]] $)}
[J] = {FS.reflect.lowerBoundList S}
in
Projection.I = J
end
end
proc {GetPartialAgreement A1 A2 P}
P = {Select.fd Projection A1}
P = {Select.fd Projection A2}
end
end