;;;;;;;;;;;; ;; BASICS ;; ;;;;;;;;;;;; sort := *top*. list := sort. ne-list := list & [ FIRST *top*, REST list ]. null := list. diff-list := sort & [ LIST list, LAST list ]. orth := sort & [ FROM string, TO string ]. bool := sort. bool-no-+ := bool. bool-no-- := bool. bool-no-na := bool. + := bool-no-- & bool-no-na. - := bool-no-+ & bool-no-na. na := bool-no-+ & bool-no--. ;;;;;;;;;;;;;;; ;; AGREEMENT ;; ;;;;;;;;;;;;;;; form := sort. form-verb := form. form-verb-12 := form-verb. form-verb-fin := form-verb-12. form-verb-imp := form-verb-12. form-verb-last := form-verb. form-verb-psp := form-verb-last. form-verb-izu := form-verb-last. form-verb-inf := form-verb-last. tense := sort. tense-undef := tense. tense-present := tense. tense-past := tense. mood := sort. mood-undef := mood. mood-ind := mood. mood-kon := mood. mood-imp := mood. person := sort. person-undef := person. person-12 := person. person-13 := person. person-23 := person. person-1 := person-12 & person-13. person-2 := person-12 & person-23. person-3 := person-13 & person-23. number := sort. number-undef := number. number-pl := number. number-sg := number. gender := sort. gender-undef := gender. gender-masc-fem := gender. gender-fem-neut := gender. gender-masc-neut := gender. gender-masc := gender-masc-fem & gender-masc-neut. gender-fem := gender-masc-fem & gender-fem-neut. gender-neut := gender-masc-neut & gender-fem-neut. case := sort. case-undef := case. case-gen-dat-acc := case. case-nom-dat-acc := case. case-nom-gen-acc := case. case-nom-gen-dat := case. case-nom-gen := case-nom-gen-dat & case-nom-gen-acc. case-nom-dat := case-nom-dat-acc & case-nom-gen-dat. case-nom-acc := case-nom-gen-acc & case-nom-dat-acc. case-gen-dat := case-nom-gen-dat & case-gen-dat-acc. case-gen-acc := case-nom-gen-acc & case-gen-dat-acc. case-dat-acc := case-nom-dat-acc & case-gen-dat-acc. case-nom := case-nom-gen & case-nom-dat & case-nom-acc. case-gen := case-nom-gen & case-gen-dat & case-gen-acc. case-dat := case-nom-dat & case-gen-dat & case-dat-acc. case-acc := case-nom-acc & case-gen-acc & case-dat-acc. n-infl := sort. n-infl-strong-mix := n-infl. n-infl-mix-weak := n-infl. n-infl-strong := n-infl-strong-mix. n-infl-mix := n-infl-strong-mix & n-infl-mix-weak. n-infl-weak := n-infl-mix-weak. agr := *top*. agr-no-match := agr. agr-match := agr & [ NUMBER number, PERSON person ]. agr-nom := agr-match & [ GENDER gender, CASE case, N-INFL n-infl ]. agr-verb := agr-match & [ FORM-VERB form-verb, TENSE tense, MOOD mood ]. agr-pr := agr-verb & [ TENSE tense-present ]. agr-pa := agr-verb & [ TENSE tense-past ]. agr-ind := agr-verb & [ MOOD mood-ind ]. agr-kon := agr-verb & [ MOOD mood-kon ]. agr-sg := agr-match & [ NUMBER number-sg ]. agr-pl := agr-match & [ NUMBER number-pl ]. agr-1 := agr-match & [ PERSON person-1 ]. agr-2 := agr-match & [ PERSON person-2 ]. agr-3 := agr-match & [ PERSON person-3 ]. agr-ngd := agr-nom & [ CASE case-nom-gen-dat ]. agr-nga := agr-nom & [ CASE case-nom-gen-acc ]. agr-nda := agr-nom & [ CASE case-nom-dat-acc ]. agr-gda := agr-nom & [ CASE case-gen-dat-acc ]. agr-ng := agr-nom & [ CASE case-nom-gen ]. agr-nd := agr-nom & [ CASE case-nom-dat ]. agr-na := agr-nom & [ CASE case-nom-acc ]. agr-gd := agr-nom & [ CASE case-gen-dat ]. agr-ga := agr-nom & [ CASE case-gen-acc ]. agr-da := agr-nom & [ CASE case-dat-acc ]. agr-n := agr-nom & [ CASE case-nom ]. agr-g := agr-nom & [ CASE case-gen ]. agr-d := agr-nom & [ CASE case-dat ]. agr-a := agr-nom & [ CASE case-acc ]. agr-masc-neut := agr-nom & [ GENDER gender-masc-neut ]. agr-fem-neut := agr-nom & [ GENDER gender-fem-neut ]. agr-masc-fem := agr-nom & [ GENDER gender-masc-fem ]. agr-masc := agr-nom & [ GENDER gender-masc ]. agr-neut := agr-nom & [ GENDER gender-neut ]. agr-fem := agr-nom & [ GENDER gender-fem ]. agr-strong-mix := agr-nom & [ N-INFL n-infl-strong-mix ]. agr-mix-weak := agr-nom & [ N-INFL n-infl-mix-weak ]. agr-strong := agr-nom & [ N-INFL n-infl-strong ]. agr-mix := agr-nom & [ N-INFL n-infl-mix ]. agr-weak := agr-nom & [ N-INFL n-infl-weak ]. agr-*-pl-* := agr-nom & agr-pl . agr-*-pl-f := agr-pl & agr-fem . agr-*-pl-m := agr-pl & agr-masc . agr-*-pl-n := agr-pl & agr-neut . agr-*-sg-f := agr-sg & agr-fem . agr-*-sg-m := agr-sg & agr-masc . agr-*-sg-n := agr-sg & agr-neut . agr-1-a-pl-* := agr-1 & agr-a & agr-pl . agr-1-a-sg-* := agr-1 & agr-a & agr-sg . agr-1-d-pl-* := agr-1 & agr-d & agr-pl . agr-1-d-sg-* := agr-1 & agr-d & agr-sg . agr-1-n-sg-* := agr-1 & agr-n & agr-sg . agr-1-na-pl-* := agr-1 & agr-na & agr-pl . agr-2-a-pl-* := agr-2 & agr-a & agr-pl . agr-2-a-sg-* := agr-2 & agr-a & agr-sg . agr-2-d-pl-* := agr-2 & agr-d & agr-pl . agr-2-d-sg-* := agr-2 & agr-d & agr-sg . agr-2-n-sg-* := agr-2 & agr-n & agr-sg . agr-2-na-pl-* := agr-2 & agr-na & agr-pl . agr-3-a-*-* := agr-3 & agr-a . agr-3-a-pl-* := agr-3 & agr-a & agr-pl . agr-3-a-sg-m := agr-3 & agr-a & agr-sg & agr-masc . agr-3-d-pl-* := agr-3 & agr-d & agr-pl . agr-3-d-sg-f := agr-3 & agr-d & agr-sg & agr-fem . agr-3-d-sg-mn := agr-3 & agr-d & agr-sg & agr-masc-neut. agr-3-n-sg-m := agr-3 & agr-n & agr-sg & agr-masc . agr-3-na-pl-* := agr-3 & agr-na & agr-pl . agr-3-na-sg-f := agr-3 & agr-na & agr-sg & agr-fem . agr-3-na-sg-n := agr-3 & agr-na & agr-sg & agr-neut . agr-a-sg-m := agr-a & agr-sg & agr-masc . agr-d-pl-* := agr-d & agr-pl . agr-d-pl-m := agr-d & agr-pl & agr-masc . agr-d-pl-n := agr-d & agr-pl & agr-neut . agr-d-sg-f := agr-d & agr-sg & agr-fem . agr-d-sg-m := agr-d & agr-sg & agr-masc . agr-d-sg-mn := agr-d & agr-sg & agr-masc-neut. agr-da-sg-m := agr-da & agr-sg & agr-masc . agr-g-pl-* := agr-g & agr-pl . agr-g-sg-* := agr-g & agr-sg . agr-g-sg-f := agr-g & agr-sg & agr-fem . agr-g-sg-m := agr-g & agr-sg & agr-masc . agr-g-sg-mn := agr-g & agr-sg & agr-masc-neut. agr-g-sg-n := agr-g & agr-sg & agr-neut . agr-gd-sg-f := agr-gd & agr-sg & agr-fem . agr-gda-sg-m := agr-gda & agr-sg & agr-masc . agr-n-sg-* := agr-n & agr-sg . agr-n-sg-m := agr-n & agr-sg & agr-masc . agr-na-pl-* := agr-na & agr-pl . agr-na-sg-f := agr-na & agr-sg & agr-fem . agr-na-sg-m := agr-na & agr-sg & agr-masc . agr-na-sg-n := agr-na & agr-sg & agr-neut . agr-nda-sg-* := agr-nda & agr-sg . agr-nda-sg-f := agr-nda & agr-sg & agr-fem . agr-nda-sg-m := agr-nda & agr-sg & agr-masc . agr-nda-sg-n := agr-nda & agr-sg & agr-neut . agr-nda-sg-mnf := agr-nda & agr-sg. agr-nda-*-m := agr-nda & agr-masc . agr-nda-*-f := agr-nda & agr-fem . agr-nda-*-n := agr-nda & agr-neut . agr-nda-*-* := agr-nda . agr-nga-pl-* := agr-nga & agr-masc . agr-nga-pl-m := agr-nga & agr-pl & agr-masc . agr-nga-pl-n := agr-nga & agr-pl & agr-neut . ; For adjectives. agr-sm-m-n-sg := agr-strong-mix & agr-masc & agr-n & agr-sg. ; -er agr-s-m-ga-sg := agr-strong & agr-masc & agr-ga & agr-sg. ; -en agr-s-mn-d-sg := agr-strong & agr-masc-neut & agr-d & agr-sg. ; -em agr-mw-m-gda-sg := agr-mix-weak & agr-masc & agr-gda & agr-sg. ; -en agr-w-m-n-sg := agr-weak & agr-masc & agr-n & agr-sg. ; -e agr-smw-f-na-sg := agr-fem & agr-na & agr-sg. ; -e agr-s-f-gd-sg := agr-strong & agr-fem & agr-gd & agr-sg. ; -er agr-mw-fn-gd-sg := agr-mix-weak & agr-fem-neut & agr-gd & agr-sg. ; -en agr-sm-n-na-sg := agr-strong-mix & agr-neut & agr-na & agr-sg. ; -es agr-s-n-g-sg := agr-strong & agr-neut & agr-g & agr-sg. ; -en agr-w-n-na-sg := agr-weak & agr-neut & agr-na & agr-sg. ; -e agr-s-*-na-pl := agr-strong & agr-na & agr-pl. ; -e agr-s-*-g-pl := agr-strong & agr-g & agr-pl. ; -er agr-s-*-d-pl := agr-strong & agr-d & agr-pl. ; -en agr-mw-*-*-pl := agr-mix-weak & agr-pl. ; -en ; For verbs. agr-non-fin := agr-verb & [ TENSE tense-undef, MOOD mood-undef, PERSON person, NUMBER number ]. agr-inf := agr-non-fin & [ FORM-VERB form-verb-inf ]. agr-izu := agr-non-fin & [ FORM-VERB form-verb-izu ]. agr-psp := agr-non-fin & [ FORM-VERB form-verb-psp ]. agr-imp := agr-verb & [ FORM-VERB form-verb-imp, TENSE tense-undef, MOOD mood-imp, PERSON person-undef, NUMBER number-undef ]. agr-fin := agr-verb & [ FORM-VERB form-verb-fin ]. agr-pr-1-sg := agr-fin & [ TENSE tense-present, PERSON person-1 , NUMBER number-sg, MOOD mood ]. agr-pr-1-sg-i := agr-fin & [ TENSE tense-present, PERSON person-1 , NUMBER number-sg, MOOD mood-ind ]. agr-pr-2-sg-i := agr-fin & [ TENSE tense-present, PERSON person-2 , NUMBER number-sg, MOOD mood-ind ]. agr-pr-2-sg-k := agr-fin & [ TENSE tense-present, PERSON person-2 , NUMBER number-sg, MOOD mood-kon ]. agr-pr-3-sg-i := agr-fin & [ TENSE tense-present, PERSON person-3 , NUMBER number-sg, MOOD mood-ind ]. agr-pr-3-sg-k := agr-fin & [ TENSE tense-present, PERSON person-3 , NUMBER number-sg, MOOD mood-kon ]. agr-pr-13-sg-i := agr-fin & [ TENSE tense-present, PERSON person-13, NUMBER number-sg, MOOD mood-ind ]. agr-pr-13-sg-k := agr-fin & [ TENSE tense-present, PERSON person-13, NUMBER number-sg, MOOD mood-kon ]. agr-pr-23-sg := agr-fin & [ TENSE tense-present, PERSON person-23, NUMBER number-sg ]. agr-pr-13-pl := agr-fin & [ TENSE tense-present, PERSON person-13, NUMBER number-pl, MOOD mood ]. agr-pr-13-pl-i := agr-fin & [ TENSE tense-present, PERSON person-13, NUMBER number-pl, MOOD mood-ind ]. agr-pr-13-pl-k := agr-fin & [ TENSE tense-present, PERSON person-13, NUMBER number-pl, MOOD mood-kon ]. agr-pr-2-pl := agr-fin & [ TENSE tense-present, PERSON person-2 , NUMBER number-pl, MOOD mood ]. agr-pr-2-pl-i := agr-fin & [ TENSE tense-present, PERSON person-2 , NUMBER number-pl, MOOD mood-ind ]. agr-pr-2-pl-k := agr-fin & [ TENSE tense-present, PERSON person-2 , NUMBER number-pl, MOOD mood-kon ]. agr-pa-1-sg := agr-fin & [ TENSE tense-past , PERSON person-1 , NUMBER number-sg, MOOD mood ]. agr-pa-1-sg-i := agr-fin & [ TENSE tense-past , PERSON person-1 , NUMBER number-sg, MOOD mood-ind ]. agr-pa-2-sg := agr-fin & [ TENSE tense-past , PERSON person-2 , NUMBER number-sg, MOOD mood ]. agr-pa-2-sg-i := agr-fin & [ TENSE tense-past , PERSON person-2 , NUMBER number-sg, MOOD mood-ind ]. agr-pa-2-sg-k := agr-fin & [ TENSE tense-past , PERSON person-2 , NUMBER number-sg, MOOD mood-kon ]. agr-pa-3-sg-i := agr-fin & [ TENSE tense-past , PERSON person-3 , NUMBER number-sg, MOOD mood-ind ]. agr-pa-3-sg-k := agr-fin & [ TENSE tense-past , PERSON person-3 , NUMBER number-sg, MOOD mood-kon ]. agr-pa-13-sg := agr-fin & [ TENSE tense-past , PERSON person-13, NUMBER number-sg, MOOD mood ]. agr-pa-13-sg-i := agr-fin & [ TENSE tense-past , PERSON person-13, NUMBER number-sg, MOOD mood-ind ]. agr-pa-13-sg-k := agr-fin & [ TENSE tense-past , PERSON person-13, NUMBER number-sg, MOOD mood-kon ]. agr-pa-13-pl := agr-fin & [ TENSE tense-past , PERSON person-13, NUMBER number-pl, MOOD mood ]. agr-pa-13-pl-i := agr-fin & [ TENSE tense-past , PERSON person-13, NUMBER number-pl, MOOD mood-ind ]. agr-pa-13-pl-k := agr-fin & [ TENSE tense-past , PERSON person-13, NUMBER number-pl, MOOD mood-kon ]. agr-pa-2-pl := agr-fin & [ TENSE tense-past , PERSON person-2 , NUMBER number-pl, MOOD mood ]. agr-pa-2-pl-i := agr-fin & [ TENSE tense-past , PERSON person-2 , NUMBER number-pl, MOOD mood-ind ]. agr-pa-2-pl-k := agr-fin & [ TENSE tense-past , PERSON person-2 , NUMBER number-pl, MOOD mood-kon ]. ;;;;;;;;;;; ;; VERBS ;; ;;;;;;;;;;; voice := sort. voice-active := voice. voice-passive := voice. branching := sort. branching-right := branching. branching-left := branching. v-pos := sort. v-pos-not-last := v-pos. v-pos-not-second := v-pos. v-pos-not-first := v-pos. v-pos-last := v-pos-not-second & v-pos-not-first. v-pos-second := v-pos-not-first & v-pos-not-last. v-pos-first := v-pos-not-last & v-pos-not-second. ;;;;;;;;;;; ;; OTHER ;; ;;;;;;;;;;; vtype := sort. vtype-modal-aux := vtype. vtype-modal-voll := vtype. vtype-aux-voll := vtype. vtype-modal := vtype-modal-aux & vtype-modal-voll. vtype-aux := vtype-modal-aux & vtype-aux-voll. vtype-voll := vtype-aux-voll & vtype-modal-voll. degree := sort. degree-undef := degree. degree-def := degree. degree-pos-super := degree-def. degree-pos := degree-pos-super. degree-super := degree-pos-super. degree-comp := degree-def. lr-phase := *top*. lr-phase-finish := lr-phase. lr-phase-phrase := lr-phase-finish. lr-phase-verb := lr-phase. lr-phase-verb-pd := lr-phase-verb. lr-phase-verb-start := lr-phase-verb. lr-phase-verb-branched := lr-phase-verb. lr-phase-verb-slashed := lr-phase-verb & lr-phase-finish. lkeys := sort. lkeys-part := lkeys & [ KEY-PART list ]. lkeys-adp := lkeys & [ KEY-ADP list ]. lkeys-agr := lkeys & [ KEY-AGR agr ]. lkeys-degree := lkeys & [ KEY-DEGREE degree ]. lkeys-event := lkeys & [ KEY-EVENT event ]. lkeys-adj := lkeys-adp & lkeys-degree. lkeys-verb := lkeys-adp & lkeys-part. anc := sort & [ ANC-ALL diff-list, ANC-ACTIVE diff-list ]. ;;;;;;;;;;;;; ;; Linears ;; ;;;;;;;;;;;;; linear := sort. linear-non-coord := linear. linear-start := linear-non-coord. linear-v := linear-non-coord. linear-v-lb := linear-v. linear-v-rb := linear-v. linear-v-can-not := linear-v. linear-v-can-vf := linear-v. linear-v-can-lb := linear-v. linear-v-can-mf := linear-v. linear-v-can-rb := linear-v. linear-v-can-nf := linear-v. linear-v-can-rb-vf := linear-v-rb & linear-v-can-vf. linear-v-can-rb-lb := linear-v-rb & linear-v-can-lb. linear-v-can-rb-mf := linear-v-rb & linear-v-can-mf. linear-v-can-rb-rb := linear-v-rb & linear-v-can-rb. linear-v-can-rb-nf := linear-v-rb & linear-v-can-nf. linear-v-can-lb-vf := linear-v-lb & linear-v-can-vf. linear-v-can-lb-mf := linear-v-lb & linear-v-can-mf. linear-v-can-lb-nf := linear-v-lb & linear-v-can-nf. linear-v-rb-start := linear-v-can-rb-rb & linear-v-can-rb-nf & linear-v-can-rb-mf & linear-v-can-rb-lb & linear-start. linear-v-did-rb-rb := linear-v-can-rb-rb & linear-v-can-rb-nf & linear-v-can-rb-mf & linear-v-can-rb-lb. linear-v-did-rb-nf := linear-v-can-rb-nf & linear-v-can-rb-mf & linear-v-can-rb-lb. linear-v-did-rb-mf := linear-v-can-rb-mf & linear-v-can-rb-lb. linear-v-did-rb-lb := linear-v-can-vf. linear-v-lb-start := linear-v-can-lb-mf & linear-v-can-lb-nf & linear-v-can-vf & linear-start. linear-v-did-lb-mf := linear-v-can-lb-mf & linear-v-can-lb-nf & linear-v-can-vf. linear-v-did-vf := linear-v-can-not. place-v := linear-v. place-v-vf := place-v. place-v-lb := place-v. place-v-mf := place-v. place-v-rb := place-v. place-v-nf := place-v. ; Glossary: lb:left-branching, rb:right-branching, vf:Vorfeld, lb:left bracket, mf:Mittelfeld, rb:right bracket, nf:Nachfeld. linear-n := linear-non-coord. linear-n-finish := linear-n. linear-n-can-not := linear-n-finish. ; Used for relative pronouns. linear-n-can-pre := linear-n-finish. linear-n-can-det := linear-n. linear-n-can-mid := linear-n. linear-n-can-post := linear-n. linear-n-start := linear-n-can-det & linear-n-can-mid & linear-n-can-post & linear-start. linear-n-did-post := linear-n-can-det & linear-n-can-mid & linear-n-can-post. linear-n-did-mid := linear-n-can-det & linear-n-can-mid. linear-n-did-det := linear-n-can-pre. linear-n-did-pre := linear-n-can-pre. place-n := linear-n. place-n-pre := place-n. place-n-det := place-n. place-n-mid := place-n. place-n-post := place-n. linear-o := linear-non-coord. linear-o-can-right := linear-o. linear-o-can-left := linear-o. linear-o-start := linear-o-can-right & linear-o-can-left & linear-start. linear-o-did-right := linear-o-can-right & linear-o-can-left. linear-o-did-left := linear-o-can-left. place-o := linear-o. place-o-left := place-o. place-o-right := place-o. linear-c := linear. linear-c-finish := linear-c. linear-c-no-finish := linear-c. linear-c-crd := linear-c. linear-c-no-crd := linear-c. linear-c-start := linear-c-finish & linear-c-no-crd. linear-c-did-right := linear-c-no-finish & linear-c-crd. linear-c-did-left := linear-c-finish & linear-c-crd.