mrs := *top* & [ HOOK hook, RELS diff-list, HCONS diff-list ]. nom-obj := mrs & [ HOOK.INDEX index ]. psoa := mrs & [ HOOK.INDEX event ]. no-c-cont := mrs & [ RELS , HCONS ]. qeq := sort & [ HARG handle, LARG handle ]. semarg := *top* & [ INSTLOC string ]. handle := semarg. individual := semarg. index := individual. event-or-ref-index := individual. expl-ind := index. ref-ind := event-or-ref-index & index. conj-index := event-or-ref-index. event := event-or-ref-index. conj-ref-ind := conj-index & ref-ind. conj-event := conj-index & event. ;tam := *top* & ;[ TENSE tense, ; VOICE2 voice ;]. ;png := *top* & ;[ PN pn, ; GENDER gender, ; CASE case ;]. hook := *top* & [ LTOP handle, INDEX individual, XARG individual ]. hook-conj := hook & [ L-ARG individual, R-ARG individual ]. predsort := sort. string := predsort. apposition := predsort. rel-clause := predsort. direct-speech := predsort. gen-mod := predsort. psp2adj := predsort. num2noun := predsort. conj-asynd := predsort. relation := sort & [ PRED predsort, LBL handle, CFROM *top*, CTO *top* ]. relation-arg0 := relation & [ ARG0 individual ]. relation-arg1 := relation-arg0 & [ ARG1 semarg ]. relation-arg12 := relation-arg1 & [ ARG2 semarg ]. relation-arg123 := relation-arg12 & [ ARG3 semarg ]. relation-arg1234 := relation-arg123 & [ ARG4 semarg ]. relation-arg12345 := relation-arg1234 & [ ARG5 semarg ]. relation-noun := relation-arg0 & [ ARG0 ref-ind ]. relation-noun-arg1 := relation-noun & relation-arg1. relation-noun-arg12 := relation-noun-arg1 & relation-arg12. relation-noun-arg123 := relation-noun-arg12 & relation-arg123. relation-named := relation-noun & [ CARG *top* ]. relation-event := relation-arg0 & [ ARG0 event ]. relation-event-arg1 := relation-event & relation-arg1. relation-event-arg12 := relation-event-arg1 & relation-arg12. relation-event-arg123 := relation-event-arg12 & relation-arg123. relation-event-arg1234 := relation-event-arg123 & relation-arg1234. relation-event-arg12345 := relation-event-arg1234 & relation-arg12345. relation-apposition := relation-event-arg12 & [ PRED apposition ]. relation-rel-clause := relation-event-arg12 & [ PRED rel-clause ]. relation-direct-speech := relation-event-arg12 & [ PRED direct-speech ]. relation-gen-mod := relation-event-arg12 & [ PRED gen-mod ]. relation-psp2adj := relation-event-arg12 & [ PRED psp2adj ]. relation-num2noun := relation-event-arg12 & [ PRED num2noun ]. relation-conj-asynd := relation-event & relation-conjunction & [ PRED conj-asynd ]. relation-conjunction := relation-arg0 & [ L-INDEX individual, R-INDEX individual ]. relation-conjunction-e := relation-conjunction & relation-event. relation-conjunction-x := relation-conjunction & relation-noun. lt-sem-bind := lt & [ SYNSEM.LOCAL.CONT [ HOOK [ INDEX #index ], RELS.LIST.FIRST [ ARG0 #index ] ] ]. lt-sem-1-rel := lt & [ SYNSEM.LOCAL.CONT.RELS ]. lt-sem-no-hcons := lt & [ SYNSEM.LOCAL.CONT.HCONS ]. lt-sem-common := lt-sem-bind & lt-sem-1-rel & lt-sem-no-hcons. ; All non-verb-and-nouns. lt-sem-0-arg := lt-sem-common & [ SYNSEM.LOCAL [ CAT.VAL [ SUBCAT < > ] ] ]. lt-sem-1-arg := lt-sem-common & [ SYNSEM.LOCAL [ CAT.VAL [ SUBCAT < [ LOCAL.CONT.HOOK.INDEX #arg1 ] > ], CONT.RELS ] ]. lt-sem-2-arg := lt-sem-common & [ SYNSEM.LOCAL [ CAT.VAL [ SUBCAT < [ LOCAL.CONT.HOOK.INDEX #arg1 ], [ LOCAL.CONT.HOOK.INDEX #arg2 ] > ], CONT.RELS ] ]. lt-sem-3-arg := lt-sem-common & [ SYNSEM.LOCAL [ CAT.VAL [ SUBCAT < [ LOCAL.CONT.HOOK.INDEX #arg1 ], [ LOCAL.CONT.HOOK.INDEX #arg2 ], [ LOCAL.CONT.HOOK.INDEX #arg3 ] > ], CONT.RELS ] ]. lt-sem-4-arg := lt-sem-common & [ SYNSEM.LOCAL [ CAT.VAL [ SUBCAT < [ LOCAL.CONT.HOOK.INDEX #arg1 ], [ LOCAL.CONT.HOOK.INDEX #arg2 ], [ LOCAL.CONT.HOOK.INDEX #arg3 ], [ LOCAL.CONT.HOOK.INDEX #arg4 ] > ], CONT.RELS ] ]. ; Normal verbs lt-sem-su := lt-sem-common & [ SYNSEM.LOCAL [ CAT [ VAL [ SUBJ < [ LOCAL.CONT.HOOK.INDEX #subj ] > ] ], CONT [ HOOK [ XARG #subj ], RELS ] ] ]. lt-sem-su-0-arg := lt-sem-su & [ SYNSEM.LOCAL [ CAT.VAL [ SUBCAT < > ] ] ]. lt-sem-su-1-arg := lt-sem-su & [ SYNSEM.LOCAL [ CAT.VAL [ SUBCAT < [ LOCAL.CONT.HOOK.INDEX #arg2 ] > ], CONT.RELS ] ]. lt-sem-su-2-arg := lt-sem-su & [ SYNSEM.LOCAL [ CAT.VAL [ SUBCAT < [ LOCAL.CONT.HOOK.INDEX #arg2 ], [ LOCAL.CONT.HOOK.INDEX #arg3 ] > ], CONT.RELS ] ]. lt-sem-su-3-arg := lt-sem-su & [ SYNSEM.LOCAL [ CAT.VAL [ SUBCAT < [ LOCAL.CONT.HOOK.INDEX #arg2 ], [ LOCAL.CONT.HOOK.INDEX #arg3 ], [ LOCAL.CONT.HOOK.INDEX #arg4 ] > ], CONT.RELS ] ]. lt-sem-su-4-arg := lt-sem-su & [ SYNSEM.LOCAL [ CAT.VAL [ SUBCAT < [ LOCAL.CONT.HOOK.INDEX #arg2 ], [ LOCAL.CONT.HOOK.INDEX #arg3 ], [ LOCAL.CONT.HOOK.INDEX #arg4 ], [ LOCAL.CONT.HOOK.INDEX #arg5 ] > ], CONT.RELS ] ]. ; Argument-attracting verbs lt-sem-aa := lt-sem-common & [ SYNSEM.LOCAL [ CAT.VAL [ XCOMP < [ LOCAL.CONT.HOOK [ INDEX #index, XARG #subj ] ] > ], CONT [ HOOK [ XARG #subj ], RELS ] ] ]. lt-sem-xcomp := lt-sem-common & [ SYNSEM.LOCAL [ CAT.VAL [ XCOMP < [ LOCAL.CONT.HOOK.INDEX #arg1 ] > ], CONT.RELS ] ]. #| lt-sem-aa-0-arg := lt-sem-aa & [ SYNSEM.LOCAL [ CAT.VAL [ SUBCAT < > ] ] ]. lt-sem-aa-1-arg := lt-sem-aa & [ SYNSEM.LOCAL [ CAT.VAL [ SUBCAT < [ LOCAL.CONT.HOOK.INDEX #arg2 ] > ], CONT.RELS ] ]. lt-sem-aa-2-arg := lt-sem-aa & [ SYNSEM.LOCAL [ CAT.VAL [ SUBCAT < [ LOCAL.CONT.HOOK.INDEX #arg2 ], [ LOCAL.CONT.HOOK.INDEX #arg3 ] > ], CONT.RELS ] ]. lt-sem-aa-3-arg := lt-sem-aa & [ SYNSEM.LOCAL [ CAT.VAL [ SUBCAT < [ LOCAL.CONT.HOOK.INDEX #arg2 ], [ LOCAL.CONT.HOOK.INDEX #arg3 ], [ LOCAL.CONT.HOOK.INDEX #arg4 ] > ], CONT.RELS ] ]. |# ; Nouns lt-sem-spec := lt-sem-common & [ SYNSEM.LOCAL [ CONT [ HOOK [ XARG #spec ], RELS ] ] ]. lt-sem-spec-0-arg := lt-sem-spec & [ SYNSEM.LOCAL [ CAT.VAL [ SUBCAT < > ] ] ] . lt-sem-spec-1-arg := lt-sem-spec & [ SYNSEM.LOCAL [ CAT.VAL [ SUBCAT < [ LOCAL.CONT.HOOK.INDEX #arg2 ] > ], CONT.RELS ] ]. lt-sem-spec-2-arg := lt-sem-spec & [ SYNSEM.LOCAL [ CAT.VAL [ SUBCAT < [ LOCAL.CONT.HOOK.INDEX #arg2 ], [ LOCAL.CONT.HOOK.INDEX #arg3 ] > ], CONT.RELS ] ]. lt-sem-spec-3-arg := lt-sem-spec & [ SYNSEM.LOCAL [ CAT.VAL [ SUBCAT < [ LOCAL.CONT.HOOK.INDEX #arg2 ], [ LOCAL.CONT.HOOK.INDEX #arg3 ], [ LOCAL.CONT.HOOK.INDEX #arg4 ] > ], CONT.RELS ] ]. ; For nouns that modify verbs: dieses Mal lt-sem-spec-mod := lt-sem-spec & [ SYNSEM.LOCAL [ CAT.HEAD [ MOD [ LOCAL.CONT.HOOK.INDEX #arg ] ], CONT.RELS ] ]. lt-sem-spec-mod-0-arg := lt-sem-spec-mod & [ SYNSEM.LOCAL [ CAT.VAL [ SUBCAT < > ] ] ]. lt-sem-spec-mod-1-arg := lt-sem-spec-mod & [ SYNSEM.LOCAL [ CAT.VAL [ SUBCAT < [ LOCAL.CONT.HOOK.INDEX #arg3 ] > ], CONT.RELS ] ]. lt-sem-spec-mod-2-arg := lt-sem-spec-mod & [ SYNSEM.LOCAL [ CAT.VAL [ SUBCAT < [ LOCAL.CONT.HOOK.INDEX #arg3 ], [ LOCAL.CONT.HOOK.INDEX #arg4 ] > ], CONT.RELS ] ]. ; Modifiers lt-sem-mod := lt-sem-common & [ SYNSEM.LOCAL [ CAT.HEAD [ MOD [ LOCAL.CONT.HOOK.INDEX #arg ] ], CONT.RELS ] ]. lt-sem-mod-0-arg := lt-sem-mod & [ SYNSEM.LOCAL [ CAT.VAL [ SUBCAT < > ] ] ]. lt-sem-mod-1-arg := lt-sem-mod & [ SYNSEM.LOCAL [ CAT.VAL [ SUBCAT < [ LOCAL.CONT.HOOK.INDEX #arg2 ] > ], CONT.RELS ] ]. lt-sem-mod-2-arg := lt-sem-mod & [ SYNSEM.LOCAL [ CAT.VAL [ SUBCAT < [ LOCAL.CONT.HOOK.INDEX #arg2 ], [ LOCAL.CONT.HOOK.INDEX #arg3 ] > ], CONT.RELS ] ]. lt-sem-mod-3-arg := lt-sem-mod & [ SYNSEM.LOCAL [ CAT.VAL [ SUBCAT < [ LOCAL.CONT.HOOK.INDEX #arg2 ], [ LOCAL.CONT.HOOK.INDEX #arg3 ], [ LOCAL.CONT.HOOK.INDEX #arg4 ] > ], CONT.RELS ] ].