Features
Constructors |
![]() |
![]() |
|
| General: | Adjunction: |
(*) Not actually described here. Reference is to feature access predicates.
+X has_constituents -L
|
Holds if constituent X has at least one
immediate subconstituent. L is bound to the
list of X's immediate subconstituents.
The variant has_constituent operates under the same
conditions except Y is bound in turn to each of
X's immediate subconstituents.
|
Example:
![]() |
| (a) John saw Mary |
|   | Goal | Result/Bindings | ||||
| (b) | I1 has_constituents L |
Holds / L = [I(AGR)t[1], [VP...]] |
||||
| (c) | VP has_constituents L |
Holds /
L = [[V[V saw]...],[NP Mary]] |
||||
| (d) | NP[1] has_constituents L |
Fails / Not applicable | ||||
| (e) | C has_constituents L |
Fails / Not applicable | ||||
| (f) | VP has_constituent X |
Succeeds twice
|
Note that instead of returning all the constituents in a single list,
has_constituent in (f) returns them one at a time.
Reference: containsWord
containsWord(+X,-W)
|
Holds if X is a terminal constituent heading lexical
material W.
|
Example:
![]() |
|
|||||||||||||||
| (a) |
References: has_constituents
/ ec
ec(+X)
|
Holds if constituent X is an empty category.
|
Example:
![]() |
| (a) There seems to be a unicorn |
Following the lower edge of the tree starting at the embedded clause:
|   | Goal | Result | Comment |
| (b) | ec([C]) |
Holds | Empty complementizer |
| (c) | ec(NPt+A-P[1]) |
Holds | NP movement trace |
| (d) | ec([I[1]I[1][V[3] be]]) |
Fails | Adjunction to empty head |
| (e) | ec(I[1]) |
Holds | Empty head |
| (f) | ec(Vt[3]) |
Holds | Trace of head movement |
| (g) | ec([DET a]) |
Fails | Non-empty terminal |
References:
mkEC
/ isTrace
/ containsWord
adjoined(+X,-Adjunct,-X')
|
Constituent X has two immediate subconstituents, an
Adjunct and the lower segment X'.
|
For convenience, adjoined/2 and adjoined/1
may be substituted in place of adjoined/3 when either the
third or last two parameters are not required.
Examples:
The goal adjoined/3 with X bound to
constituent (a) will instantiate Adjunct and
X' to be constituents (b) and (c), respectively:
![]() |
![]() |
![]() |
| (a) | (b) | (c) |
The goal adjoined/1 with X bound to (a) will
succeed, but fail when X is bound to either (b) or (c).
(Note the goal X has_feature adjunct may be used to test
whether X is an adjunct.)
References: adjoin
/ Implementation Notes
lowestSegment(+X,-Xl)
|
Constituent Xl is the lowest segment of
X. If nothing has been adjoined to X,
Xl will be simply instantiated to X.
|
References: lowestSegment/1
/ segmentOf
segmentOf(+X,-X')
|
Non-deterministically instantiates constituent X' to
sub-segments of X. Note: relation is reflexive so it
will succeed even if nothing has been adjoined.
|
References: lowestSegment/1
/ lowestSegment/2
/ Implementation Notes
Features
Constructors |