Constituent Structure
![]() ![]() ![]() |
![]() ![]() |
|
Lists: |
Feature Sets:
|
+P each -V in L satisfies +G
|
Defines a clause headed by P that holds if, for each
element in list L , the goal G holds. The
variable V is bound to each element in L in
turn.
|
Example:
trivialChains(List) each X in List satisfies trivialChain(X).This definition lifts
trivialChain
so it can handle lists.
%% Thread variant: %% %% _Name_(_List_,_Args_..) %% each _X_ in _List_ thread [I,O] satisfying/satisfies _Goal_
%% Basic form: %% %% _Name_(_L1_,_Args_,_L2_) %% each _X_ in _L1_ and _Y_ in _L2_ satisfying/satisfies _Goal_ %% %% NB. %% Assumes _L1_ and _L2_ are the first and last parameters for the %% predicate, respectively.
+P exists -V in L satisfying +G
|
Defines a clause headed by P that holds if there is some
element in list L for which the goal G
holds. The variable V will be bound to individual
elements in L .
|
Example:
indexOccursIn(List,I) exists X in List satisfying X has_feature index(J), sameIndex(I,J).An index
I
occurs in a list of constituents
List
if there is some constituent X
that
has an index J
such that I
and
J
are the same.
%% Basic form: %% %% _Name_(_List_,_Args_..) %% those _X_ in _List_ satisfying _Goal_
%% Basic form: %% %% _Name_(_List_,_Args_..) %% append_lists _Result List_ produced_by %% those _X_ in _List_ satisfying _Goal_ %% %% where _Goal_ takes _Result List_ as an argument
Constituent Structure
![]() ![]() ![]() |