;;; -*- Mode: TDL; Coding: utf-8 -*- ;;; Authors: ;;; Klaus Netter ;;; 1997-2000 Walter Kasper & Stefan Müller ;;; 2000-2002 Stefan Müller ;;; 2002-2006 Berthold Crysmann ;;; Copyright: DFKI GmbH ext-pers :< *sort*. ext-num :< *sort*. ext-x-type := gend-type & [pers ext-pers, num ext-num, gend ext-gend ]. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; PERSON-NUMBER-GENDER ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; gend-type := *avm* & [gend ext-or-int-gend]. _per_min := *avm*. _per := _per_min & [1 *diff-list*, 2 *diff-list*, 1+2 *diff-list*]. p-n-g := gend-type & [_PER _per_min, PN pn, GEND gend]. p-s-mf+p-p-g := p-n-g. p-s-f+p-p-g := p-s-mf+p-p-g. p-s-g := p-n-g & [PN sg]. p-p-g := p-s-f+p-p-g & [PN pl]. p-n-mn := p-n-g & [GEND mas-neu]. p-n-mf := p-s-mf+p-p-g & [GEND mas-fem]. p-n-fn := p-n-g & [GEND fem-neu]. p-n-m := p-n-mn & p-n-mf . p-n-f := p-s-f+p-p-mf & p-s-f+p-p-fn. p-n-n := p-n-mn & p-n-fn. p-s-mf := p-s-g & p-n-mf. p-p-mf := p-p-g & p-s-f+p-p-mf. p-s-mn := p-s-g & p-n-mn. p-p-mn := p-p-g & p-n-mn. p-s-fn := p-s-g & p-n-fn. p-p-fn := p-p-g & p-s-f+p-p-fn. p-s-m := p-s-mf & p-s-mn & p-n-m. p-p-m := p-p-mf & p-p-mn & p-n-m. p-s-f := p-s-fn & p-s-mf & p-s-fn & p-n-f. p-p-f := p-p-mf & p-p-fn & p-n-f. p-s-n := p-s-mn & p-s-fn & p-n-n. p-p-n := p-p-mn & p-p-fn & p-n-n. 23-s-g+2-p-g := 23-n-g & [pn 2+3s]. 3-s-g+2-p-g := 23-s-g+2-p-g & [pn 3s+2p]. 12-n-g := p-n-g & [pn -3]. 13-n-g := p-n-g & [pn -2]. 23-n-g := p-n-g & [pn -1]. 12-s-g := p-s-g & 12-n-g & [pn 12s]. 13-s-g := p-s-g & 13-n-g & [pn 13s]. 23-s-g := p-s-g & 23-s-g+2-p-g & [pn 23s]. 12-p-g := p-p-g & 12-s-f+12-p-g. 13-p-g := p-p-g & 13-s-f+13-p-g. 23-p-g := p-p-g & 23-s-f+23-p-g. 1-n-g := 12-n-g & 13-n-g & [PN 1]. 2-n-g := 12-n-g & 23-s-g+2-p-g & [PN 2]. 3-n-g := 13-n-g & 23-n-g & [PN 3, _PER [1 , 2 ]]. 1-s-g := 1-n-g & 12-s-g & 13-s-g. 2-s-g := 12-s-g & 23-s-g & 2-n-g. 3-s-g := 3-n-g & 13-s-g & 23-s-g & 3-s-g+2-p-g. 1-p-g := 12-p-g & 13-p-g & 1-s-f+1-p-g & [PN 1p]. 2-p-g := 12-p-g & 23-p-g & 3-s-f+2-p-g & 2-s-f+2-p-g & [_PER [1 , 2 [list < 2, ... >, last *null*]]]. 3-p-g := 13-p-g & 23-p-g & 3-s-f+3-p-g. 12-n-mf := p-n-mf & 12-n-g. 13-n-mf := p-n-mf & 13-n-g. 23-n-mf := p-n-mf & 23-n-g. 12-s-mf := p-s-mf & 12-n-mf & 12-s-g. 13-s-mf := p-s-mf & 13-n-mf & 13-s-g. 23-s-mf := p-s-mf & 23-s-g & 23-s-mf+2-p-mf. 12-p-mf := p-p-mf & 12-p-g & 12-s-f+12-p-mf. 13-p-mf := p-p-mf & 13-p-g & 13-s-f+13-p-mf. 23-p-mf := p-p-mf & 23-p-g & 23-s-f+23-p-mf. 1-n-mf := 12-n-mf & 13-n-mf & 1-n-g. 2-n-mf := 12-n-mf & 2-n-g & 23-s-mf+2-p-mf. 3-n-mf := 13-n-mf & 23-n-mf & 3-n-g. 1-s-mf := 1-n-mf & 12-s-mf & 13-s-mf & 1-s-g. 2-s-mf := 12-s-mf & 23-s-mf & 2-s-g & 2-n-mf. 3-s-mf := 3-n-mf & 13-s-mf & 23-s-mf & 3-s-g & 3-s-mf+2-p-mf. 1-p-mf := 12-p-mf & 13-p-mf & 1-p-g & 1-s-f+1-p-mf. 2-p-mf := 12-p-mf & 23-p-mf & 2-p-g & 3-s-f+2-p-mf & 2-s-f+2-p-mf. 3-p-mf := 13-p-mf & 23-p-mf & 3-p-g & 3-s-f+3-p-mf. 12-n-mn := p-n-mn & 12-n-g. 13-n-mn := p-n-mn & 13-n-g. 23-n-mn := p-n-mn & 23-n-g. 12-s-mn := p-s-mn & 12-n-mn & 12-s-g. 13-s-mn := p-s-mn & 13-n-mn & 13-s-g. 23-s-mn := p-s-mn & 23-s-g & 23-s-mn+2-p-mn. 12-p-mn := p-p-mn & 12-n-mn & 12-p-g. 13-p-mn := p-p-mn & 13-n-mn & 13-p-g. 23-p-mn := p-p-mn & 23-n-mn & 23-p-g. 1-n-mn := 12-n-mn & 13-n-mn & 1-n-g. 2-n-mn := 12-n-mn & 2-n-g & 23-s-mn+2-p-mn. 3-n-mn := 13-n-mn & 23-n-mn & 3-n-g. 1-s-mn := 1-n-mn & 12-s-mn & 13-s-mn & 1-s-g. 2-s-mn := 12-s-mn & 23-s-mn & 2-s-g & 2-n-mn. 3-s-mn := 3-n-mn & 13-s-mn & 23-s-mn & 3-s-g & 3-s-mn+2-p-mn. 1-p-mn := 1-n-mn & 12-p-mn & 13-p-mn & 1-p-g. 2-p-mn := 12-p-mn & 23-p-mn & 2-p-g & 3-s-m+2-p-mn & 2-n-mn. 3-p-mn := 3-n-mn & 13-p-mn & 23-p-mn & 3-p-g. 12-n-fn := p-n-fn & 12-n-g. 13-n-fn := p-n-fn & 13-n-g. 23-n-fn := p-n-fn & 23-n-g. 12-s-fn := p-s-fn & 12-n-fn & 12-s-g. 13-s-fn := p-s-fn & 13-n-fn & 13-s-g. 23-s-fn := p-s-fn & 23-s-g & 23-s-fn+2-p-fn. 12-p-fn := p-p-fn & 12-p-g & 12-s-f+12-p-fn. 13-p-fn := p-p-fn & 13-p-g & 13-s-f+13-p-fn. 23-p-fn := p-p-fn & 23-p-g & 23-s-f+23-p-fn. 1-n-fn := 12-n-fn & 13-n-fn & 1-n-g. 2-n-fn := 12-n-fn & 2-n-g & 23-s-fn+2-p-fn. 3-n-fn := 13-n-fn & 23-n-fn & 3-n-g. 1-s-fn := 1-n-fn & 12-s-fn & 13-s-fn & 1-s-g. 2-s-fn := 12-s-fn & 23-s-fn & 2-s-g & 2-n-fn. 3-s-fn := 3-n-fn & 13-s-fn & 23-s-fn & 3-s-g & 3-s-fn+2-p-fn. 1-p-fn := 12-p-fn & 13-p-fn & 1-p-g & 1-s-f+1-p-fn. 2-p-fn := 12-p-fn & 23-p-fn & 2-p-g & 2-s-f+2-p-fn & 3-s-f+2-p-fn. 3-p-fn := 13-p-fn & 23-p-fn & 3-p-g & 3-s-f+3-p-fn. 12-n-m := p-n-m & 12-n-mf & 12-n-mn. 13-n-m := p-n-m & 13-n-mf & 13-n-mn. 23-n-m := p-n-m & 23-n-mf & 23-n-mn. 12-s-m := p-s-m & 12-n-m & 12-s-mf & 12-s-mn. 13-s-m := p-s-m & 13-n-m & 13-s-mf & 13-s-mn. 23-s-m := p-s-m & 23-s-mf & 23-s-mn & 23-s-m+2-p-m. 12-p-m := p-p-m & 12-n-m & 12-p-mf & 12-p-mn. 13-p-m := p-p-m & 13-n-m & 13-p-mf & 13-p-mn. 23-p-m := p-p-m & 23-n-m & 23-p-mf & 23-p-mn. 1-n-m := 12-n-m & 13-n-m & 1-n-mf & 1-n-mn. 2-n-m := 12-n-m & 2-n-mf & 2-n-mn & 23-s-m+2-p-m. 3-n-m := 13-n-m & 23-n-m & 3-n-mf & 3-n-mn. 1-s-m := 1-n-m & 12-s-m & 13-s-m & 1-s-mf & 1-s-mn. 2-s-m := 12-s-m & 23-s-m & 2-s-mf & 2-s-mn & 2-n-m. 3-s-m := 3-n-m & 13-s-m & 23-s-m & 3-s-mf & 3-s-mn & 3-s-m+2-p-m. 1-p-m := 1-n-m & 12-p-m & 13-p-m & 1-p-mf & 1-p-mn. 2-p-m := 12-p-m & 23-p-m & 2-p-mf & 2-p-mn & 3-s-m+2-p-m & 2-n-m. 3-p-m := 3-n-m & 13-p-m & 23-p-m & 3-p-mf & 3-p-mn. 12-n-f := p-n-f & 12-s-f+12-p-mf & 12-s-f+12-p-fn. 13-n-f := p-n-f & 13-s-f+13-p-mf & 13-s-f+13-p-fn. 23-n-f := p-n-f & 23-s-f+23-p-fn & 23-s-f+23-p-mf. 12-s-f := p-s-f & 12-n-f & 12-s-mf & 12-s-fn. 13-s-f := p-s-f & 13-n-f & 13-s-mf & 13-s-fn. 23-s-f := p-s-f & 23-s-mf & 23-s-fn & 23-s-f+2-p-f. 12-p-f := p-p-f & 12-n-f & 12-p-mf & 12-p-fn. 13-p-f := p-p-f & 13-n-f & 13-p-mf & 13-p-fn. 23-p-f := p-p-f & 23-n-f & 23-p-mf & 23-p-fn. 1-n-f := 12-n-f & 13-n-f & 1-s-f+1-p-mf & 1-s-f+1-p-fn. 2-n-f := 12-n-f & 23-s-f+2-p-f & 2-s-f+2-p-fn & 2-s-f+2-p-mf. 3-n-f := 13-n-f & 23-n-f & 3-s-f+3-p-fn & 3-s-f+3-p-mf. 1-s-f := 1-n-f & 12-s-f & 13-s-f & 1-s-mf & 1-s-fn. 2-s-f := 12-s-f & 23-s-f & 2-s-mf & 2-s-fn & 2-n-f. 3-s-f := 3-n-f & 13-s-f & 23-s-f & 3-s-mf & 3-s-fn & 3-s-f+2-p-f. 1-p-f := 1-n-f & 12-p-f & 13-p-f & 1-p-mf & 1-p-fn. 2-p-f := 12-p-f & 23-p-f & 2-p-mf & 2-p-fn & 3-s-f+2-p-f & 2-n-f. 3-p-f := 3-n-f & 13-p-f & 23-p-f & 3-p-mf & 3-p-fn. 12-n-n := p-n-n & 12-n-mn & 12-n-fn. 13-n-n := p-n-n & 13-n-mn & 13-n-fn. 23-n-n := p-n-n & 23-n-mn & 23-n-fn. 12-s-n := p-s-n & 12-n-n & 12-s-mn & 12-s-fn. 13-s-n := p-s-n & 13-n-n & 13-s-mn & 13-s-fn. 23-s-n := p-s-n & 23-s-mn & 23-s-fn & 23-s-n+2-p-n. 12-p-n := p-p-n & 12-n-n & 12-p-mn & 12-p-fn. 13-p-n := p-p-n & 13-n-n & 13-p-mn & 13-p-fn. 23-p-n := p-p-n & 23-n-n & 23-p-mn & 23-p-fn. 1-n-n := 12-n-n & 13-n-n & 1-n-mn & 1-n-fn. 2-n-n := 12-n-n & 2-n-mn & 2-n-fn & 23-s-n+2-p-n. 3-n-n := 13-n-n & 23-n-n & 3-n-mn & 3-n-fn. 1-s-n := 1-n-n & 12-s-n & 13-s-n & 1-s-mn & 1-s-fn. 2-s-n := 12-s-n & 2-s-mn & 2-s-fn & 23-s-n & 2-n-n. 3-s-n := 3-n-n & 13-s-n & 3-s-mn & 3-s-fn & 3-s-n+2-p-n & 23-s-n. 1-p-n := 1-n-n & 12-p-n & 13-p-n & 1-p-mn & 1-p-fn. 2-p-n := 12-p-n & 23-p-n & 2-p-mn & 2-p-fn & 2-n-n & 3-s-n+2-p-n. 3-p-n := 3-n-n & 13-p-n & 23-p-n & 3-p-mn & 3-p-fn. p-s-f+p-p-mf := p-s-f+p-p-g & p-n-mf. p-s-f+p-p-fn := p-s-f+p-p-g & p-n-fn. 23-s-mn+2-p-mn := 23-s-g+2-p-g & 23-n-mn. 23-s-mf+2-p-mf := 23-s-g+2-p-g & 23-n-mf. 23-s-fn+2-p-fn := 23-s-g+2-p-g & 23-n-fn. 12-s-f+12-p-g := 12-n-g & p-s-f+p-p-g. 13-s-f+13-p-g := 13-n-g & p-s-f+p-p-g. 23-s-f+23-p-g := 23-n-g & p-s-f+p-p-g. 13-s-f+13-p-mf := 13-n-mf & p-s-f+p-p-mf & 13-s-f+13-p-g. 12-s-f+12-p-mf := 12-n-mf & p-s-f+p-p-mf & 12-s-f+12-p-g. 23-s-f+23-p-mf := 23-n-mf & p-s-f+p-p-mf & 23-s-f+23-p-g. 13-s-f+13-p-fn := 13-n-fn & p-s-f+p-p-fn & 13-s-f+13-p-g. 12-s-f+12-p-fn := 12-n-fn & p-s-f+p-p-fn & 12-s-f+12-p-g. 23-s-f+23-p-fn := 23-n-fn & p-s-f+p-p-fn & 23-s-f+23-p-g. 23-s-f+2-p-g := 23-s-g+2-p-g & 23-s-f+23-p-g. 23-s-f+2-p-fn := 23-s-fn+2-p-fn & 23-s-f+23-p-fn & 23-s-f+2-p-g. 23-s-f+2-p-mf := 23-s-mf+2-p-mf & 23-s-f+23-p-mf & 23-s-f+2-p-g. 23-s-n+2-p-n := 23-n-n & 23-s-mn+2-p-mn & 23-s-fn+2-p-fn & 23-s-mn+2-p-mn. 23-s-m+2-p-m := 23-n-m & 23-s-mn+2-p-mn & 23-s-mf+2-p-mf. 23-s-f+2-p-f := 23-n-f & 23-s-f+2-p-fn & 23-s-f+2-p-mf. 1-s-f+1-p-g := 1-n-g & 12-s-f+12-p-g & 13-s-f+13-p-g. 2-s-f+2-p-g := 2-n-g & 12-s-f+12-p-g & 23-s-f+2-p-g. 3-s-f+3-p-g := 3-n-g & 23-s-f+23-p-g & 13-s-f+13-p-g. 1-s-f+1-p-fn := 1-n-fn & 13-s-f+13-p-fn & 12-s-f+12-p-fn & 1-s-f+1-p-g. 2-s-f+2-p-fn := 2-n-fn & 23-s-f+2-p-fn & 12-s-f+12-p-fn & 2-s-f+2-p-g. 3-s-f+3-p-fn := 3-n-fn & 23-s-f+23-p-fn & 13-s-f+13-p-fn & 3-s-f+3-p-g. 1-s-f+1-p-mf := 1-n-mf & 13-s-f+13-p-mf & 12-s-f+12-p-mf & 1-s-f+1-p-g. 2-s-f+2-p-mf := 2-n-mf & 23-s-f+2-p-mf & 12-s-f+12-p-mf & 2-s-f+2-p-g. 3-s-f+3-p-mf := 3-n-mf & 23-s-f+23-p-mf & 13-s-f+13-p-mf & 3-s-f+3-p-g. 3-s-f+2-p-g := 3-s-g+2-p-g & 23-s-f+2-p-g. 3-s-f+2-p-mf := 3-s-mf+2-p-mf & 3-s-f+2-p-g & 23-s-f+2-p-mf. 3-s-f+2-p-fn := 3-s-fn+2-p-fn & 3-s-f+2-p-g & 23-s-f+2-p-fn. 3-s-n+2-p-n := 23-s-n+2-p-n & 3-s-mn+2-p-mn & 3-s-fn+2-p-fn. 3-s-m+2-p-m := 23-s-m+2-p-m & 3-s-m+2-p-mn & 3-s-mf+2-p-mf . 3-s-f+2-p-f := 23-s-f+2-p-f & 3-s-f+2-p-fn & 3-s-f+2-p-mf. 3-s-mn+2-p-mn := 3-s-g+2-p-g & 23-s-mn+2-p-mn. 3-s-fn+2-p-fn := 3-s-g+2-p-g & 23-s-fn+2-p-fn. 3-s-mf+2-p-mf := 3-s-g+2-p-g & 23-s-mf+2-p-mf. 3-s-m+2-p-mn := 3-s-mn+2-p-mn. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; CASE-NUMBER-GENDER ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; uniagr := *avm*. no-agr := uniagr. png-agr := uniagr & png-type. c-n-g := png-agr & cas-type & [_cas case-list] & c-n-g_min. no-case-agr := png-agr. ;;;; CASE-indexed AGR lists gend-list :< *list*. mf-list :< gend-list. fn-list :< gend-list. mn-list :< gend-list. mas-list := mf-list & mn-list. fem-list := mf-list & fn-list. neu-list := fn-list & mn-list. gend-cons := gend-list & *cons*. mf-cons := gend-cons & mf-list & [first c-n-mf, rest mf-list]. fn-cons := gend-cons & fn-list & [first c-n-fn, rest fn-list]. mn-cons := gend-cons & mn-list & [first c-n-mn, rest mn-list]. mas-cons := mas-list & mf-cons & mn-cons. fem-cons := fem-list & mf-cons & fn-cons. neu-cons := neu-list & fn-cons & mn-cons. case-list :< *list*. ngd-list :< case-list. nga-list :< case-list. nda-list :< case-list. gda-list :< case-list. ng-list := ngd-list & nga-list. nd-list := ngd-list & nda-list. na-list := nda-list & nga-list. gd-list := ngd-list & gda-list. ga-list := gda-list & nga-list. da-list := nda-list & gda-list. n-list := ng-list & nd-list & na-list. g-list := ng-list & gd-list & ga-list. d-list := nd-list & gd-list & da-list. a-list := na-list & da-list & ga-list. case-cons := case-list & *cons*. ngd-cons := case-cons & ngd-list & [first ngd-n-g, rest ngd-list]. nga-cons := case-cons & nga-list & [first nga-n-g, rest nga-list]. nda-cons := case-cons & nda-list & [first nda-n-g, rest nda-list]. gda-cons := case-cons & gda-list & [first gda-n-g, rest gda-list]. ng-cons := ng-list & ngd-cons & nga-cons. nd-cons := nd-list & ngd-cons & nda-cons. na-cons := na-list & nga-cons & nda-cons. gd-cons := gd-list & ngd-cons & gda-cons. ga-cons := ga-list & gda-cons & nga-cons. da-cons := da-list & nda-cons & gda-cons. n-cons := n-list & ng-cons & nd-cons & na-cons. g-cons := g-list & ng-cons & gd-cons & ga-cons. d-cons := d-list & nd-cons & gd-cons & da-cons. a-cons := a-list & na-cons & da-cons & ga-cons. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; C-N-G COMBINATIONS ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; CASE values ngd-n-g := c-n-g & [CAS.MORPH-CASE nom-dat-gen-val, _cas ngd-list]. nga-n-g := c-n-g & [CAS.MORPH-CASE nom-acc-gen-val, _cas nga-list]. nda-n-g := c-n-g & [CAS.MORPH-CASE nom-acc-dat-val, _cas nda-list]. gda-n-g := c-n-g & [CAS.MORPH-CASE acc-dat-gen-val, _cas gda-list]. ng-n-g := ngd-n-g & nga-n-g & [CAS.MORPH-CASE nom-gen-val, _cas ng-list]. nd-n-g := ngd-n-g & nda-n-g & [CAS.MORPH-CASE nom-dat-val, _cas nd-list]. na-n-g := nga-n-g & nda-n-g & [CAS.MORPH-CASE nom-acc-val, _cas na-list]. gd-n-g := ngd-n-g & gda-n-g & [CAS.MORPH-CASE gen-dat-val, _cas gd-list] & gda-n-m+gd-n-g+c-p-g. ga-n-g := nga-n-g & gda-n-g & [CAS.MORPH-CASE acc-gen-val, _cas ga-list]. da-n-g := nda-n-g & gda-n-g & [CAS.MORPH-CASE acc-dat-val, _cas da-list]. n-n-g := ng-n-g & nd-n-g & na-n-g & [CAS.MORPH-CASE nom-val, _cas n-list]. g-n-g := ng-n-g & gd-n-g & ga-n-g & [CAS.MORPH-CASE gen-val, _cas g-list]. d-n-g := nd-n-g & gd-n-g & da-n-g & [CAS.MORPH-CASE dat-val, _cas d-list]. a-n-g := na-n-g & ga-n-g & da-n-g & [CAS.MORPH-CASE acc-val, _cas a-list]. ; NUMBER values c-p-g := gda-n-m+gd-n-g+c-p-g & [PNG p-p-g]. c-s-g := c-n-g & [PNG p-s-g]. ; GENDER values c-n-mn := c-n-g & [PNG p-n-mn]. c-n-mf := c-n-g & [PNG p-n-mf]. c-n-fn := c-n-g & [PNG p-n-fn]. c-n-m := c-n-mn & c-n-mf & [PNG p-n-m]. c-n-f := c-n-mf & c-n-fn & [PNG p-n-f]. c-n-n := c-n-mn & c-n-fn & [PNG p-n-n]. ; -N-MF ngd-n-mf := c-n-mf & ngd-n-g. nga-n-mf := c-n-mf & nga-n-g. nda-n-mf := c-n-mf & nda-n-g. gda-n-mf := c-n-mf & gda-n-g. ng-n-mf := ngd-n-mf & nga-n-mf & ng-n-g. nd-n-mf := ngd-n-mf & nda-n-mf & nd-n-g. na-n-mf := nga-n-mf & nda-n-mf & na-n-g. gd-n-mf := ngd-n-mf & gda-n-mf & gd-n-g. ga-n-mf := nga-n-mf & gda-n-mf & ga-n-g. da-n-mf := nda-n-mf & gda-n-mf & da-n-g. n-n-mf := ng-n-mf & nd-n-mf & na-n-mf & n-n-g. g-n-mf := ng-n-mf & gd-n-mf & ga-n-mf & g-n-g. d-n-mf := nd-n-mf & gd-n-mf & da-n-mf & d-n-g. a-n-mf := na-n-mf & ga-n-mf & da-n-mf & a-n-g. ; -N-MN ngd-n-mn := c-n-mn & ngd-n-g. nga-n-mn := c-n-mn & nga-n-g. nda-n-mn := c-n-mn & nda-n-g. gda-n-mn := c-n-mn & gda-n-g. ng-n-mn := ngd-n-mn & nga-n-mn & ng-n-g. nd-n-mn := ngd-n-mn & nda-n-mn & nd-n-g. na-n-mn := nga-n-mn & nda-n-mn & na-n-g & nda-s-mn+nga-p-mn. gd-n-mn := ngd-n-mn & gda-n-mn & gd-n-g. ga-n-mn := nga-n-mn & gda-n-mn & ga-n-g. da-n-mn := nda-n-mn & gda-n-mn & da-n-g. n-n-mn := ng-n-mn & nd-n-mn & na-n-mn & n-n-g. g-n-mn := ng-n-mn & gd-n-mn & ga-n-mn & g-n-g & g-n-mn+c-p-mn. d-n-mn := nd-n-mn & gd-n-mn & da-n-mn & d-n-g. a-n-mn := na-n-mn & ga-n-mn & da-n-mn & a-n-g. ; -N-FN ngd-n-fn := c-n-fn & ngd-n-g. nga-n-fn := c-n-fn & nga-n-g. nda-n-fn := c-n-fn & nda-n-g. gda-n-fn := c-n-fn & gda-n-g. ng-n-fn := ngd-n-fn & nga-n-fn & ng-n-g. nd-n-fn := ngd-n-fn & nda-n-fn & nd-n-g. na-n-fn := nga-n-fn & nda-n-fn & na-n-g. gd-n-fn := ngd-n-fn & gda-n-fn & gd-n-g. ga-n-fn := nga-n-fn & gda-n-fn & ga-n-g. da-n-fn := nda-n-fn & gda-n-fn & da-n-g. n-n-fn := ng-n-fn & nd-n-fn & na-n-fn & n-n-g. g-n-fn := ng-n-fn & gd-n-fn & ga-n-fn & g-n-g. d-n-fn := nd-n-fn & gd-n-fn & da-n-fn & d-n-g. a-n-fn := na-n-fn & ga-n-fn & da-n-fn & a-n-g. ; -N-M ngd-n-m := c-n-m & ngd-n-mf & ngd-n-mn. nga-n-m := c-n-m & nga-n-mf & nga-n-mn. nda-n-m := nda-n-mf & nda-n-mn & nda-n-m+c-p-m. gda-n-m := gda-n-mf & gda-n-mn & gda-n-m+c-p-m. ng-n-m := ngd-n-m & nga-n-m & ng-n-mf & ng-n-mn. nd-n-m := ngd-n-m & nda-n-m & nd-n-mf & nd-n-mn. na-n-m := nga-n-m & nda-n-m & na-n-mf & na-n-mn & nda-s-m+nga-p-m. gd-n-m := ngd-n-m & gda-n-m & gd-n-mf & gd-n-mn. ga-n-m := nga-n-m & gda-n-m & ga-n-mf & ga-n-mn. da-n-m := nda-n-m & gda-n-m & da-n-mf & da-n-mn & da-n-m+c-p-m. n-n-m := ng-n-m & nd-n-m & na-n-m & n-n-mf & n-n-mn. g-n-m := ng-n-m & gd-n-m & ga-n-m & g-n-mf & g-n-mn & g-n-m+c-p-m. d-n-m := nd-n-m & gd-n-m & da-n-m & d-n-mf & d-n-mn. a-n-m := na-n-m & ga-n-m & da-n-m & a-n-mf & a-n-mn. ; -N-F ngd-n-f := c-n-f & ngd-n-mf & ngd-n-fn. nga-n-f := c-s-f+nga-n-f & nga-n-mf & nga-n-fn. nda-n-f := c-n-f & nda-n-mf & nda-n-fn. gda-n-f := c-n-f & gda-n-mf & gda-n-fn. ng-n-f := ngd-n-f & nga-n-f & ng-n-mf & ng-n-fn. nd-n-f := ngd-n-f & nda-n-f & nd-n-mf & nd-n-fn. na-n-f := nga-n-f & nda-n-f & na-n-mf & na-n-fn & na-n-f+na-p-g. gd-n-f := ngd-n-f & gda-n-f & gd-n-mf & gd-n-fn. ga-n-f := nga-n-f & gda-n-f & ga-n-mf & ga-n-fn. da-n-f := nda-n-f & gda-n-f & da-n-mf & da-n-fn. n-n-f := ng-n-f & nd-n-f & na-n-f & n-n-mf & n-n-fn. g-n-f := ng-n-f & gd-n-f & ga-n-f & g-n-mf & g-n-fn & g-n-f+g-p-g. d-n-f := nd-n-f & gd-n-f & da-n-f & d-n-mf & d-n-fn. a-n-f := na-n-f & ga-n-f & da-n-f & a-n-mf & a-n-fn. ; -N-N ngd-n-n := c-n-n & ngd-n-mn & ngd-n-fn. nga-n-n := c-n-n & nga-n-mn & nga-n-fn. nda-n-n := nda-n-mn & nda-n-fn & nda-n-n+c-p-n. gda-n-n := c-n-n & gda-n-mn & gda-n-fn. ng-n-n := ngd-n-n & nga-n-n & ng-n-mn & ng-n-fn. nd-n-n := ngd-n-n & nda-n-n & nd-n-mn & nd-n-fn. na-n-n := nga-n-n & nda-n-n & na-n-mn & na-n-fn. gd-n-n := ngd-n-n & gda-n-n & gd-n-mn & gd-n-fn. ga-n-n := nga-n-n & gda-n-n & ga-n-mn & ga-n-fn. da-n-n := nda-n-n & gda-n-n & da-n-mn & da-n-fn. n-n-n := ng-n-n & nd-n-n & na-n-n & n-n-mn & n-n-fn. g-n-n := ng-n-n & gd-n-n & ga-n-n & g-n-mn & g-n-fn & g-n-n+c-p-n. d-n-n := nd-n-n & gd-n-n & da-n-n & d-n-mn & d-n-fn & d-n-n+c-p-n. a-n-n := na-n-n & ga-n-n & da-n-n & a-n-mn & a-n-fn. ; -S-G ngd-s-g := c-s-g & ngd-n-g. nga-s-g := c-s-g & nga-n-g. nda-s-g := c-s-g & nda-n-g. gda-s-g := c-s-g & gda-n-g. ng-s-g := ngd-s-g & nga-s-g & ng-n-g. nd-s-g := ngd-s-g & nda-s-g & nd-n-g. na-s-g := nga-s-g & nda-s-g & na-n-g. gd-s-g := ngd-s-g & gda-s-g & gd-n-g. ga-s-g := nga-s-g & gda-s-g & ga-n-g. da-s-g := nda-s-g & gda-s-g & da-n-g. n-s-g := ng-s-g & nd-s-g & n-n-g & n-s-g+na-s-fn. g-s-g := ng-s-g & gd-s-g & ga-s-g & g-n-g. d-s-g := nd-s-g & gd-s-g & da-s-g & d-n-g. a-s-g := na-s-g & ga-s-g & da-s-g & a-n-g. ; -P-G ngd-p-g := c-p-g & ngd-n-g. nga-p-g := c-p-g & nga-n-g. nda-p-g := c-p-g & nda-n-g. gda-p-g := c-p-g & gda-n-g. ng-p-g := ngd-p-g & nga-p-g & ng-n-g. nd-p-g := ngd-p-g & nda-p-g & nd-n-g. na-p-g := nga-p-g & nda-p-g & na-n-f+na-p-g. gd-p-g := ngd-p-g & gda-p-g & gd-n-g. ga-p-g := nga-p-g & gda-p-g & ga-n-g. da-p-g := nda-p-g & gda-p-g & da-n-g. n-p-g := ng-p-g & nd-p-g & na-p-g & n-n-g. g-p-g := ng-p-g & gd-p-g & ga-p-g & g-n-f+g-p-g. d-p-g := nd-p-g & gd-p-g & da-p-g & d-n-g & a-s-m+d-p-g. a-p-g := na-p-g & ga-p-g & da-p-g & a-n-g. ; -S-MF ngd-s-mf := c-s-mf & ngd-n-mf & ngd-s-g. nga-s-mf := c-s-mf & nga-n-mf & nga-s-g. nda-s-mf := c-s-mf & nda-n-mf & nda-s-g. gda-s-mf := c-s-mf & gda-n-mf & gda-s-g. ng-s-mf := ngd-s-mf & nga-s-mf & ng-n-mf & ng-s-g. nd-s-mf := ngd-s-mf & nda-s-mf & nd-n-mf & nd-s-g. na-s-mf := nga-s-mf & nda-s-mf & na-n-mf & na-s-g. gd-s-mf := ngd-s-mf & gda-s-mf & gd-n-mf & gd-s-g. ga-s-mf := nga-s-mf & gda-s-mf & ga-n-mf & ga-s-g. da-s-mf := nda-s-mf & gda-s-mf & da-n-mf & da-s-g. n-s-mf := ng-s-mf & nd-s-mf & na-s-mf & n-n-mf & n-s-g. g-s-mf := ng-s-mf & gd-s-mf & ga-s-mf & g-n-mf & g-s-g. d-s-mf := nd-s-mf & gd-s-mf & da-s-mf & d-n-mf & d-s-g. a-s-mf := na-s-mf & ga-s-mf & da-s-mf & a-n-mf & a-s-g. ; -P-MF ngd-p-mf := c-p-mf & ngd-n-mf & ngd-p-g. nga-p-mf := c-p-mf & nga-n-mf & nga-p-g. nda-p-mf := c-p-mf & nda-n-mf & nda-p-g. gda-p-mf := c-p-mf & gda-n-mf & gda-p-g. ng-p-mf := ngd-p-mf & nga-p-mf & ng-n-mf & ng-p-g. nd-p-mf := ngd-p-mf & nda-p-mf & nd-n-mf & nd-p-g. na-p-mf := nga-p-mf & nda-p-mf & na-n-mf & na-p-g. gd-p-mf := ngd-p-mf & gda-p-mf & gd-n-mf & gd-p-g. ga-p-mf := nga-p-mf & gda-p-mf & ga-n-mf & ga-p-g. da-p-mf := nda-p-mf & gda-p-mf & da-n-mf & da-p-g. n-p-mf := ng-p-mf & nd-p-mf & na-p-mf & n-n-mf & n-p-g. g-p-mf := ng-p-mf & gd-p-mf & ga-p-mf & g-n-mf & g-p-g. d-p-mf := nd-p-mf & gd-p-mf & da-p-mf & d-n-mf & d-p-g. a-p-mf := na-p-mf & ga-p-mf & da-p-mf & a-n-mf & a-p-g. ; -S-MN ngd-s-mn := c-s-mn & ngd-n-mn & ngd-s-g. nga-s-mn := c-s-mn & nga-n-mn & nga-s-g. nda-s-mn := c-s-mn & nda-n-mn & nda-s-g & nda-s-mn+nga-p-mn. gda-s-mn := c-s-mn & gda-n-mn & gda-s-g. ng-s-mn := ngd-s-mn & nga-s-mn & ng-n-mn & ng-s-g. nd-s-mn := ngd-s-mn & nda-s-mn & nd-n-mn & nd-s-g. na-s-mn := nga-s-mn & nda-s-mn & na-n-mn & na-s-g. gd-s-mn := ngd-s-mn & gda-s-mn & gd-n-mn & gd-s-g. ga-s-mn := nga-s-mn & gda-s-mn & ga-n-mn & ga-s-g. da-s-mn := nda-s-mn & gda-s-mn & da-n-mn & da-s-g. n-s-mn := ng-s-mn & nd-s-mn & n-n-mn & n-s-g & n-s-mn+na-s-n. g-s-mn := ng-s-mn & gd-s-mn & ga-s-mn & g-n-mn & g-s-g & g-s-mn+ga-s-m+d-p-g & g-s-mn+nga-s-n. d-s-mn := nd-s-mn & gd-s-mn & da-s-mn & d-n-mn & d-s-g. a-s-mn := na-s-mn & ga-s-mn & da-s-mn & a-n-mn & a-s-g. ; -P-MN ngd-p-mn := c-p-mn & ngd-n-mn & ngd-p-g. nga-p-mn := c-p-mn & nga-n-mn & nga-p-g & nda-s-mn+nga-p-mn. nda-p-mn := c-p-mn & nda-n-mn & nda-p-g. gda-p-mn := c-p-mn & gda-n-mn & gda-p-g. ng-p-mn := ngd-p-mn & nga-p-mn & ng-n-mn & ng-p-g. nd-p-mn := ngd-p-mn & nda-p-mn & nd-n-mn & nd-p-g. na-p-mn := nga-p-mn & nda-p-mn & na-n-mn & na-p-g. gd-p-mn := ngd-p-mn & gda-p-mn & gd-n-mn & gd-p-g. ga-p-mn := nga-p-mn & gda-p-mn & ga-n-mn & ga-p-g. da-p-mn := nda-p-mn & gda-p-mn & da-n-mn & da-p-g. n-p-mn := ng-p-mn & nd-p-mn & na-p-mn & n-n-mn & n-p-g. g-p-mn := ng-p-mn & gd-p-mn & ga-p-mn & g-n-mn & g-p-g. d-p-mn := nd-p-mn & gd-p-mn & da-p-mn & d-n-mn & d-p-g. a-p-mn := na-p-mn & ga-p-mn & da-p-mn & a-n-mn & a-p-g. ; -S-FN ngd-s-fn := c-s-fn & ngd-n-fn & ngd-s-g. nga-s-fn := c-s-fn & nga-n-fn & nga-s-g. nda-s-fn := c-s-fn & nda-n-fn & nda-s-g. gda-s-fn := c-s-fn & gda-n-fn & gda-s-g. ng-s-fn := ngd-s-fn & nga-s-fn & ng-n-fn & ng-s-g. nd-s-fn := ngd-s-fn & nda-s-fn & nd-n-fn & nd-s-g. na-s-fn := nga-s-fn & nda-s-fn & na-n-fn & n-s-g+na-s-fn. gd-s-fn := ngd-s-fn & gda-s-fn & gd-n-fn & gd-s-g. ga-s-fn := nga-s-fn & gda-s-fn & ga-n-fn & ga-s-g. da-s-fn := nda-s-fn & gda-s-fn & da-n-fn & da-s-g. n-s-fn := ng-s-fn & nd-s-fn & na-s-fn & n-n-fn & n-s-g. g-s-fn := ng-s-fn & gd-s-fn & ga-s-fn & g-n-fn & g-s-g. d-s-fn := nd-s-fn & gd-s-fn & da-s-fn & d-n-fn & d-s-g. a-s-fn := na-s-fn & ga-s-fn & da-s-fn & a-n-fn & a-s-g. ; -P-FN ngd-p-fn := c-p-fn & ngd-n-fn & ngd-p-g. nga-p-fn := c-p-fn & nga-n-fn & nga-p-g. nda-p-fn := c-p-fn & nda-n-fn & nda-p-g. gda-p-fn := c-p-fn & gda-n-fn & gda-p-g. ng-p-fn := ngd-p-fn & nga-p-fn & ng-n-fn & ng-p-g. nd-p-fn := ngd-p-fn & nda-p-fn & nd-n-fn & nd-p-g. na-p-fn := nga-p-fn & nda-p-fn & na-n-fn & na-p-g. gd-p-fn := ngd-p-fn & gda-p-fn & gd-n-fn & gd-p-g. ga-p-fn := nga-p-fn & gda-p-fn & ga-n-fn & ga-p-g. da-p-fn := nda-p-fn & gda-p-fn & da-n-fn & da-p-g. n-p-fn := ng-p-fn & nd-p-fn & na-p-fn & n-n-fn & n-p-g. g-p-fn := ng-p-fn & gd-p-fn & ga-p-fn & g-n-fn & g-p-g. d-p-fn := nd-p-fn & gd-p-fn & da-p-fn & d-n-fn & d-p-g. a-p-fn := na-p-fn & ga-p-fn & da-p-fn & a-n-fn & a-p-g. ; -S-M ngd-s-m := c-s-m & ngd-n-m & ngd-s-mf & ngd-s-mn. nga-s-m := c-s-m & nga-n-m & nga-s-mf & nga-s-mn. nda-s-m := c-s-m & nda-n-m & nda-s-mf & nda-s-mn & nda-s-m+nga-p-m. gda-s-m := c-s-m & gda-n-m & gda-s-mf & gda-s-mn. ng-s-m := ngd-s-m & nga-s-m & ng-n-m & ng-s-mf & ng-s-mn. nd-s-m := ngd-s-m & nda-s-m & nd-n-m & nd-s-mf & nd-s-mn. na-s-m := nga-s-m & nda-s-m & na-n-m & na-s-mf & na-s-mn. gd-s-m := ngd-s-m & gda-s-m & gd-n-m & gd-s-mf & gd-s-mn. ga-s-m := nga-s-m & gda-s-m & ga-n-m & ga-s-mf & ga-s-mn & g-s-mn+ga-s-m+d-p-g. da-s-m := nda-s-m & gda-s-m & da-n-m & da-s-mf & da-s-mn. n-s-m := ng-s-m & nd-s-m & na-s-m & n-n-m & n-s-mf & n-s-mn & n-s-m+g-s-f & n-s-m+d-s-f. g-s-m := ng-s-m & gd-s-m & ga-s-m & g-n-m & g-s-mf & g-s-mn. d-s-m := nd-s-m & gd-s-m & da-s-m & d-n-m & d-s-mf & d-s-mn & d-s-m+nga-p-m. a-s-m := na-s-m & ga-s-m & da-s-m & a-n-m & a-s-mf & a-s-mn & a-s-m+d-p-g. n-s-m+g-s-f := n-s-m+gd-s-f & ng-s-mf. n-s-m+d-s-f := n-s-m+gd-s-f & nd-s-mf. ; -P-M ngd-p-m := c-p-m & ngd-n-m & ngd-p-mf & ngd-p-mn. nga-p-m := c-p-m & nga-n-m & nga-p-mf & nga-p-mn & d-s-m+nga-p-m. nda-p-m := c-p-m & nda-n-m & nda-p-mf & nda-p-mn. gda-p-m := c-p-m & gda-n-m & gda-p-mf & gda-p-mn. ng-p-m := ngd-p-m & nga-p-m & ng-n-m & ng-p-mf & ng-p-mn. nd-p-m := ngd-p-m & nda-p-m & nd-n-m & nd-p-mf & nd-p-mn. na-p-m := nga-p-m & nda-p-m & na-n-m & na-p-mf & na-p-mn. gd-p-m := ngd-p-m & gda-p-m & gd-n-m & gd-p-mf & gd-p-mn. ga-p-m := nga-p-m & gda-p-m & ga-n-m & ga-p-mf & ga-p-mn. da-p-m := nda-p-m & gda-p-m & da-n-m & da-p-mf & da-p-mn. n-p-m := ng-p-m & nd-p-m & na-p-m & n-n-m & n-p-mf & n-p-mn. g-p-m := ng-p-m & gd-p-m & ga-p-m & g-n-m & g-p-mf & g-p-mn. d-p-m := nd-p-m & gd-p-m & da-p-m & d-n-m & d-p-mf & d-p-mn. a-p-m := na-p-m & ga-p-m & da-p-m & a-n-m & a-p-mf & a-p-mn. ; -S-F ngd-s-f := c-s-f & ngd-n-f & ngd-s-mf & ngd-s-fn. nga-s-f := c-s-f & nga-n-f & nga-s-mf & nga-s-fn. nda-s-f := c-s-f & nda-n-f & nda-s-mf & nda-s-fn. gda-s-f := c-s-f & gda-n-f & gda-s-mf & gda-s-fn. ng-s-f := ngd-s-f & nga-s-f & ng-n-f & ng-s-mf & ng-s-fn. nd-s-f := ngd-s-f & nda-s-f & nd-n-f & nd-s-mf & nd-s-fn. na-s-f := nga-s-f & nda-s-f & na-n-f & na-s-mf & na-s-fn. gd-s-f := ngd-s-f & gda-s-f & gd-n-f & gd-s-mf & gd-s-fn & n-s-m+gd-s-f & gd-s-f+g-p-g. ga-s-f := nga-s-f & gda-s-f & ga-n-f & ga-s-mf & ga-s-fn. da-s-f := nda-s-f & gda-s-f & da-n-f & da-s-mf & da-s-fn. n-s-f := ng-s-f & nd-s-f & na-s-f & n-n-f & n-s-mf & n-s-fn. g-s-f := ng-s-f & gd-s-f & ga-s-f & g-n-f & g-s-mf & g-s-fn & n-s-m+g-s-f. d-s-f := nd-s-f & gd-s-f & da-s-f & d-n-f & d-s-mf & d-s-fn & n-s-m+d-s-f. a-s-f := na-s-f & ga-s-f & da-s-f & a-n-f & a-s-mf & a-s-fn. ; -P-F ngd-p-f := c-p-f & ngd-n-f & ngd-p-mf & ngd-p-fn. nga-p-f := c-p-f & nga-n-f & nga-p-mf & nga-p-fn. nda-p-f := c-p-f & nda-n-f & nda-p-mf & nda-p-fn. gda-p-f := c-p-f & gda-n-f & gda-p-mf & gda-p-fn. ng-p-f := ngd-p-f & nga-p-f & ng-n-f & ng-p-mf & ng-p-fn. nd-p-f := ngd-p-f & nda-p-f & nd-n-f & nd-p-mf & nd-p-fn. na-p-f := nga-p-f & nda-p-f & na-n-f & na-p-mf & na-p-fn. gd-p-f := ngd-p-f & gda-p-f & gd-n-f & gd-p-mf & gd-p-fn. ga-p-f := nga-p-f & gda-p-f & ga-n-f & ga-p-mf & ga-p-fn. da-p-f := nda-p-f & gda-p-f & da-n-f & da-p-mf & da-p-fn. n-p-f := ng-p-f & nd-p-f & na-p-f & n-n-f & n-p-mf & n-p-fn. g-p-f := ng-p-f & gd-p-f & ga-p-f & g-n-f & g-p-mf & g-p-fn. d-p-f := nd-p-f & gd-p-f & da-p-f & d-n-f & d-p-mf & d-p-fn. a-p-f := na-p-f & ga-p-f & da-p-f & a-n-f & a-p-mf & a-p-fn. ; -S-N ngd-s-n := c-s-n & ngd-n-n & ngd-s-mn & ngd-s-fn. nga-s-n := c-s-n & nga-n-n & nga-s-fn & g-s-mn+nga-s-n. nda-s-n := c-s-n & nda-n-n & nda-s-mn & nda-s-fn & nda-s-n+nga-p-n. gda-s-n := c-s-n & gda-n-n & gda-s-mn & gda-s-fn. ng-s-n := ngd-s-n & nga-s-n & ng-n-n & ng-s-mn & ng-s-fn. nd-s-n := ngd-s-n & nda-s-n & nd-n-n & nd-s-mn & nd-s-fn. na-s-n := nga-s-n & nda-s-n & na-n-n & na-s-fn & n-s-mn+na-s-n. gd-s-n := ngd-s-n & gda-s-n & gd-n-n & gd-s-mn & gd-s-fn. ga-s-n := nga-s-n & gda-s-n & ga-n-n & ga-s-mn & ga-s-fn. da-s-n := nda-s-n & gda-s-n & da-n-n & da-s-mn & da-s-fn. n-s-n := ng-s-n & nd-s-n & na-s-n & n-n-n & n-s-mn & n-s-fn. g-s-n := ng-s-n & gd-s-n & ga-s-n & g-n-n & g-s-mn & g-s-fn. d-s-n := nd-s-n & gd-s-n & da-s-n & d-n-n & d-s-mn & d-s-fn & d-s-n+nga-p-n. a-s-n := na-s-n & ga-s-n & da-s-n & a-n-n & a-s-mn & a-s-fn. ; -P-N ngd-p-n := c-p-n & ngd-n-n & ngd-p-mn & ngd-p-fn. nga-p-n := c-p-n & nga-n-n & nga-p-mn & nga-p-fn & d-s-n+nga-p-n. nda-p-n := c-p-n & nda-n-n & nda-p-mn & nda-p-fn. gda-p-n := c-p-n & gda-n-n & gda-p-mn & gda-p-fn. ng-p-n := ngd-p-n & nga-p-n & ng-n-n & ng-p-mn & ng-p-fn. nd-p-n := ngd-p-n & nda-p-n & nd-n-n & nd-p-mn & nd-p-fn. na-p-n := nga-p-n & nda-p-n & na-n-n & na-p-mn & na-p-fn. gd-p-n := ngd-p-n & gda-p-n & gd-n-n & gd-p-mn & gd-p-fn. ga-p-n := nga-p-n & gda-p-n & ga-n-n & ga-p-mn & ga-p-fn. da-p-n := nda-p-n & gda-p-n & da-n-n & da-p-mn & da-p-fn. n-p-n := ng-p-n & nd-p-n & na-p-n & n-n-n & n-p-mn & n-p-fn. g-p-n := ng-p-n & gd-p-n & ga-p-n & g-n-n & g-p-mn & g-p-fn. d-p-n := nd-p-n & gd-p-n & da-p-n & d-n-n & d-p-mn & d-p-fn. a-p-n := na-p-n & ga-p-n & da-p-n & a-n-n & a-p-mn & a-p-fn. ; C-S- c-s-mn := c-s-g & c-n-mn. c-s-mf := c-s-g & c-n-mf. c-s-fn := c-s-g & c-n-fn. c-s-m := c-s-mn & c-s-mf & c-n-m. c-s-f := c-s-mf & c-s-fn & c-s-f+nga-n-f. c-s-n := c-s-mn & c-s-fn & c-n-n. ; C-P- c-p-mn := c-p-g & g-n-mn+c-p-mn. c-p-mf := c-p-g & c-n-mf. c-p-fn := c-p-g & c-n-fn. c-p-m := c-p-mn & c-p-mf & g-n-m+c-p-m & da-n-m+c-p-m. c-p-f := c-p-mf & c-p-fn & c-n-f. c-p-n := c-p-mn & c-p-fn & g-n-n+c-p-n & d-n-n+c-p-n. ;; ambiguous types n-s-m+gd-s-f := n-s-m+gd-s-f+g-p-g & ngd-s-mf & [png p-s-mf]. n-s-m+gd-s-f+g-p-g := ngd-n-g & [png p-s-mf+p-p-g]. gd-s-f+g-p-g := n-s-m+gd-s-f+g-p-g & gd-n-g & [png p-s-f+p-p-g]. g-n-f+g-p-g := gd-s-f+g-p-g & g-n-g. nda-n-m+c-p-m := c-n-m. gda-n-m+c-p-m := gda-n-m+gd-n-g+c-p-g & c-n-m. nda-s-m+nga-p-m := nda-n-m+c-p-m & nda-s-mn+nga-p-mn. g-n-m+c-p-m := gda-n-m+c-p-m & g-n-mn+c-p-mn. da-n-m+c-p-m := nda-n-m+c-p-m & gda-n-m+c-p-m. d-s-m+nga-p-m := nda-s-m+nga-p-m & da-n-m+c-p-m. nda-n-n+c-p-n := c-n-n. g-n-n+c-p-n := c-n-n & gda-n-m+gd-n-g+c-p-g & g-n-mn+c-p-mn. d-n-n+c-p-n := nda-n-n+c-p-n & gda-n-m+gd-n-g+c-p-g. nda-s-n+nga-p-n := nda-n-n+c-p-n & nda-s-mn+nga-p-mn. d-s-n+nga-p-n := d-n-n+c-p-n & nda-s-n+nga-p-n. ;; aus ADJ & DET gda-n-m+gd-n-g+c-p-g := c-n-g. g-s-mn+ga-s-m+d-p-g := gda-n-m+gd-n-g+c-p-g & gda-n-g. na-n-f+na-p-g := na-n-g & [png p-s-f+p-p-g]. n-s-g+na-s-fn := na-s-g. n-s-mn+na-s-n := n-s-g+na-s-fn & na-s-mn. a-s-m+d-p-g := g-s-mn+ga-s-m+d-p-g & da-n-g. g-s-mn+nga-s-n := nga-s-mn. ; New morphology g-n-mn+c-p-mn := c-n-mn. c-s-f+nga-n-f := c-n-f. nda-s-mn+nga-p-mn := c-n-mn. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; SORTS FOR ADJECTIVES AND NOUNS ;; ;; (GENDER CASE) ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; GENDER SORTS ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ext-or-int-gend :< *sort*. ext-gend :< ext-or-int-gend. m := m-or-n & m-or-f. f := m-or-f & f-or-n. n := m-or-n & f-or-n. m-or-n :< ext-gend. m-or-f :< ext-gend. f-or-n :< ext-gend. gend :< ext-or-int-gend. mas-neu :< gend. fem-neu :< gend. mas-fem :< gend. mas := mas-neu & mas-fem. fem := fem-neu & mas-fem. neu := mas-neu & fem-neu. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; CASE SORTS ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; case-val :< *sort*. ; doc: "value of CASE-feature ; nom = obl -, gov - ; acc = obl -, gov + ; gen = obl +, gov - ; dat = obl +, gov + ". nom-acc-gen-val :< case-val. nom-acc-dat-val :< case-val. acc-dat-gen-val :< case-val. nom-dat-gen-val :< case-val. ; doc: "unused combination?". nom-acc-val := nom-acc-gen-val & nom-acc-dat-val. nom-gen-val := nom-acc-gen-val & nom-dat-gen-val. acc-dat-val := nom-acc-dat-val & acc-dat-gen-val. acc-gen-val := nom-acc-gen-val & acc-dat-gen-val. gen-dat-val := nom-dat-gen-val & acc-dat-gen-val. nom-dat-val := nom-dat-gen-val & nom-acc-dat-val. nom-val := nom-acc-val & nom-dat-val & nom-gen-val. gen-val := gen-dat-val & acc-gen-val & nom-gen-val. acc-val := nom-acc-val & acc-dat-val & acc-gen-val. dat-val := gen-dat-val & nom-dat-val & acc-dat-val. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; SORTS FOR VERBS ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; --tpc-type := *avm* & [--tpc tpc]. --psv-type := *avm* & [--psv bool]. e-type := --tpc-type & --psv-type & [E tam_min, --sub bool]. ext-e-type := --tpc-type & --psv-type & ext-tam. e-morph-type := agr-feat & agr-type & c-n-g-type & e-type. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; TENSE MOOD ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; mood :<*sort*. indicative+subjunctive+imperative :< mood. indicative+subjunctive+no_mood :< mood. indicative+imperative+no_mood :< mood. subjunctive+imperative+no_mood :< mood. subjunctive+no_mood := indicative+subjunctive+no_mood & subjunctive+imperative+no_mood. indicative+no_mood := indicative+subjunctive+no_mood & indicative+imperative+no_mood. imperative+no_mood := indicative+imperative+no_mood & subjunctive+imperative+no_mood. indicative+subjunctive := indicative+subjunctive+imperative & indicative+subjunctive+no_mood. subjunctive+imperative := subjunctive+imperative+no_mood & indicative+subjunctive+imperative. indicative+imperative := indicative+subjunctive+imperative & indicative+imperative+no_mood. indicative := indicative+subjunctive & indicative+no_mood & indicative+imperative. subjunctive := indicative+subjunctive & subjunctive+no_mood & subjunctive+imperative. imperative := indicative+imperative & subjunctive+imperative & imperative+no_mood. no_mood := indicative+no_mood & subjunctive+no_mood & imperative+no_mood. tense :< ext-or-int-tense. none := none_or_no_tense. real_tense := tense. none_or_no_tense := tense. no_inh_tense :< real_tense. no_tense := syn_tense & no_inh_tense & none_or_no_tense. syn_tense :< real_tense. ana_tense :< real_tense. present+past :< syn_tense. present+future :< real_tense. past+cond :< real_tense. future+cond := ana_tense & no_inh_tense. present := present+past & present+future. past := present+past & past+cond & ext-tense. future := present+future & future+cond. cond := past+cond & future+cond. ext-or-int-tam := *avm* & [tense ext-or-int-tense, mood mood]. tam_min := ext-or-int-tam & [tense tense, mood mood, perfective bool, stative bool]. ext-tam := ext-or-int-tam & [tense ext-tense, perf bool, stat bool]. no_tam := tam_min & [tense none, mood no_mood, perfective -, stative -]. ext-or-int-tense := *sort*. ext-tense := ext-or-int-tense. pres := ext-tense. fut := ext-tense. tam := tam_min & [mood mood, tense tense, perfective bool, stative bool ]. tensed := tam & [tense real_tense, mood indicative+subjunctive]. imp+prs-ind+pst :< tam. imp+prs+pst-ind :< tam. imp+prs-sbj+pst :< tam. imp+prs+pst-sbj :< tam. imp+prs := imp+prs+pst-ind & imp+prs+pst-sbj. imp+pst := imp+prs-ind+pst & imp+prs-sbj+pst. imp+ind := imp+prs-ind+pst & imp+prs+pst-ind. imp+sbj := imp+prs-sbj+pst & imp+prs+pst-sbj. imp+prs-ind+pst-sbj := imp+prs+pst-sbj & imp+prs-ind+pst. imp+prs-subj+pst-ind := imp+prs-sbj+pst & imp+prs+pst-ind. imp+prs-ind := imp+prs & imp+ind & imp+prs-ind+pst-sbj. imp+prs-sbj := imp+prs & imp+sbj & imp+prs-subj+pst-ind. imp+pst-ind := imp+pst & imp+ind & imp+prs-subj+pst-ind. imp+pst-sbj := imp+pst & imp+sbj & imp+prs-ind+pst-sbj. imp := imp+prs-ind & imp+prs-sbj & imp+pst-ind & imp+pst-sbj & [tense no_tense, mood imperative, perfective bool]. prs-ind+pst := tensed & imp+prs-ind+pst. prs+pst-ind := tensed & imp+prs+pst-ind. prs-sbj+pst := tensed & imp+prs-sbj+pst. prs+pst-sbj := tensed & imp+prs+pst-sbj. prs-ind+pst-sbj := prs+pst-sbj & prs-ind+pst & imp+prs-ind+pst-sbj. prs-subj+pst-ind := prs-sbj+pst & prs+pst-ind & imp+prs-subj+pst-ind. prs := prs+pst-ind & prs+pst-sbj & imp+prs & [tense present+future]. pst := prs-ind+pst & prs-sbj+pst & imp+pst & [tense past+cond]. ind := prs-ind+pst & prs+pst-ind & imp+ind & [mood indicative]. sbj := prs-sbj+pst & prs+pst-sbj & imp+sbj & [mood subjunctive]. prs-ind := prs & ind & prs-ind+pst-sbj & imp+prs-ind. prs-sbj := prs & sbj & prs-subj+pst-ind & imp+prs-sbj. pst-ind := pst & ind & prs-subj+pst-ind & imp+pst-ind. pst-sbj := pst & sbj & prs-ind+pst-sbj & imp+pst-sbj. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; SORTS FOR ADJECTIVES AND PARTICIPALS ;; ;; (INFL VALUE) ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; COMPARATION ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; cpr-val :< *sort*. infl :< cpr-val. uninfl :< cpr-val. pos-comp := cpr-val. comp-super := cpr-val. pos-super := cpr-val. pos-comp-uninfl := pos-comp & uninfl. pos-comp-infl := pos-comp & infl. comp-super-uninfl := comp-super & uninfl. comp-super-infl := comp-super & infl. pos-super-uninfl := pos-super & uninfl. pos-super-infl := pos-super & infl. pos := pos-comp & pos-super. pos-uninfl := pos-comp-uninfl & pos-super-uninfl & pos. pos-infl := pos-comp-infl & pos-super-infl & pos. comp := pos-comp & comp-super. comp-uninfl := pos-comp-uninfl & comp-super-uninfl & comp. comp-infl := pos-comp-infl & comp-super-infl & comp. super := pos-super & comp-super. super-uninfl := pos-super-uninfl & comp-super-uninfl & super. super-infl := pos-super-infl & comp-super-infl & super. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Number ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; numeral-value-type := *avm* & [ VALUE string ]. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; AGREEMENT FEATURES (AGR-VALUE) ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; agr-feat :< *avm*. case-type := *avm* & [ CASE case-val ]. png-type := *avm* & [PNG p-n-g ]. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; INFL-FEATURES ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; infl-feat := *avm*. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; DECLENSION ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; decl-type := infl-feat & [ DECL *top*]. st-decl := decl-type & [ DECL 'st ]. we-decl := decl-type & [ DECL 'we ]. np-decl-type := infl-feat & [ NP-DECL atom ]. we-np-decl := np-decl-type & [ NP-DECL 'we ]. st-np-decl := np-decl-type & [ NP-DECL 'st ]. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; AGREEMENT TYPES ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; agr-type := infl-feat & [ AGR agr-feat]. uniagr-type := infl-feat & [UNIAGR uniagr]. no-agr-type := uniagr-type & [UNIAGR no-agr]. png-agr-type := uniagr-type & [UNIAGR png-agr]. c-n-g-type := uniagr-type & [UNIAGR c-n-g, DEF-AGR c-n-g, NODEF-AGR c-n-g]. no-case-agr-type := uniagr-type & [UNIAGR no-case-agr]. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; COMBINED ADJECTIVAL AGREEMENT TYPE AND DECL TYPES ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; np-lpe-type := *avm* & [ np-lpe bool ]. agr-decl-type := c-n-g-type & decl-type & np-lpe-type & np-decl-type. ;; das LKB moechte das hier bitte eingefuehrt haben agr-st-type := agr-decl-type & st-decl. agr-we-type := agr-decl-type & we-decl. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; ADJECTIVAL INFLECTIONAL ENDING TYPES ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; for adjectives, some determiners and some nouns ;; all agreement types inherit adjectival agreement type, ;; consisting of [ AGR [ NUM, CASE, GENDER ] ;; and DECL [ ] (if appropriate) ] ;; DETERMINER SPECIFIC FORMS: des, den, dieses, ein, einen, eine, ;; einer, meiner ;; Determiner specific equivalent classes: ;; DER ;; DIESER (= jener) ;; EIN ;; KEIN (= mein, dein, sein, unser, euer, ihr) agr-null-type := agr-st-type & [ UNIAGR n-s-mn+na-s-n]. agr-er3-we-np-or-agr-er1-type := agr-st-type. agr-er1-type := agr-er3-we-np-or-agr-er1-type & [UNIAGR n-s-m]. ; doc: "keiner, einer, meiner as pro-nouns". agr-er3-type := agr-er3-we-np-or-agr-er1-type & [ UNIAGR gd-s-f+g-p-g]. agr-er3-dg-fem-sg-or-gen-pl :< agr-st-type. agr-er3-we-np-and-dg-fem-sg-or-gen-pl := we-np-decl & agr-er3-dg-fem-sg-or-gen-pl. agr-er4-type-nom-mas-sg-dat-fem-sg :< agr-st-type. agr-er-nom-mas-sg-or-dg-fem-sg-or-gen-pl-agr := agr-st-type & [UNIAGR n-s-m+gd-s-f+g-p-g]. agr-em-type := agr-st-type & [UNIAGR d-s-mn]. ; doc: "dem, diesem, einem, altem". agr-e-sg-type := agr-st-type & [UNIAGR na-s-f ]. ; doc: "diejenige". agr-e-pl-type := agr-st-type & [UNIAGR na-p-g]. ; doc: "diejenigen". agr-e-type := agr-decl-type & [UNIAGR na-n-g, NODEF-AGR na-n-f+na-p-g, DEF-AGR n-s-g+na-s-fn]. agr-e-st-na-fem-sg-or-na-pl-type := agr-st-type & [UNIAGR na-n-f+na-p-g]. agr-e-type-na-fn-sg-or-nom-mas-sg-agr := agr-we-type & [ UNIAGR n-s-g+na-s-fn]. agr-es2-we-np-or-agr-es1-type :< agr-st-type. agr-es1-type := agr-es2-we-np-or-agr-es1-type & [UNIAGR na-s-n]. ; doc: "das, altes". ; Check who needs this: agr-es2-type := agr-st-type & [UNIAGR g-s-mn]. ; doc: "des, eines, meines, dessen". agr-es2-we-np-type := agr-es2-we-np-or-agr-es1-type & agr-es2-type & we-np-decl. agr-es-na-neu-sg-or-gen-mn-sg-type := agr-st-type & [UNIAGR g-s-mn+nga-s-n]. agr-en1-type := agr-st-type. ; doc: "einen ( only sg, =/ keinen )". agr-en2-type := agr-st-type. ; doc: "denen". agr-en3-acc-mas-sg-or-dat-pl := agr-st-type & [UNIAGR a-s-m+d-p-g]. agr-en-type := agr-decl-type & [UNIAGR gda-n-m+gd-n-g+c-p-g, DEF-AGR gda-n-m+gd-n-g+c-p-g, NODEF-AGR g-s-mn+ga-s-m+d-p-g]. agr-en-st-type := agr-en-type & agr-st-type & [ UNIAGR g-s-mn+ga-s-m+d-p-g]. agr-en-we-type := agr-en-type & agr-we-type & [ UNIAGR gda-n-m+gd-n-g+c-p-g]. agr-en-sw-type := agr-type & c-n-g-type. ; doc: "no natural type". ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; Morphology Definitions ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; morph-head-type := mclass-type. infl-morph-head-type := morph-head-type & infl-type. a-infl-morph-head-type := morph-head-type & [ A-INFL *top* ]. morph-stem-type :< string. morph-type := head-type & [ STEM *list*, --STEM *list*, HEAD morph-head-type]. key-arg-morph-type := key-arg-type & morph-type. amorph-head := infl-morph-head-type & [CPR *top*]. axmorph-head :< amorph-head. dxmorph-head :< amorph-head. nummorph-head := infl-morph-head-type & numeral-value-type. vmorph-head := morph-head-type & vform-type & [ MCLASS vclass, FIN *top*]. vmorph-fin-head := vmorph-head & [ VFORM fin-sm, FIN e-morph-type]. vmorph-inf-head := vmorph-head & [ FIN e-type & [e.tense no_inh_tense]]. nmorph-head := infl-morph-head-type. cnmorph-head := nmorph-head. pnmorph-head := nmorph-head. omorph-head := morph-head-type. dmorph-head :< nmorph-head. morphology := *avm* & [ MORPH morph_min ]. morph_min := *avm*. no_morph := morph_min. morph := morph_min & *diff-list*. cardinal := numeral-value-type & uniagr-type & morph-head-type & region-type & [mclass card-class]. ;; all cardinals that do not have the value 1 cardinal-stunden-ein-or-not-1 :< cardinal. cardinal-stunden-eins-or-not-1 :< cardinal. cardinal-minuten-ein-or-not-1 :< cardinal. cardinal-minuten-eins-or-not-1 :< cardinal. cardinal-not-1 := cardinal-stunden-ein-or-not-1 & cardinal-stunden-eins-or-not-1 & cardinal-minuten-ein-or-not-1 & cardinal-minuten-eins-or-not-1. ;;; 60 - 99 cardinal-below-hundred := cardinal & [ REGION below-hundred ]. cardinal-below-hundred-not-1 := cardinal-below-hundred & cardinal-not-1. ;;; 100er cardinal-hundreds := cardinal & [ REGION below-thousand ]. cardinal-hundreds-not-1 := cardinal-hundreds & cardinal-not-1. ;;; 24 - 59 cardinal-minuten := cardinal-below-hundred & [ REGION minuten_zahl_region ]. cardinal-minuten-not-1 := cardinal-below-hundred-not-1 & cardinal-minuten. ;;; 0 - 23 cardinal-stunden := cardinal-minuten & [ REGION stunden_zahl_region ]. cardinal-stunden-not-1 :< cardinal-minuten-not-1. cardinal-stunden-ein := cardinal-stunden-ein-or-not-1 & cardinal-stunden. cardinal-minuten-eins := cardinal-minuten-eins-or-not-1 & cardinal-minuten. ;;; 1000er cardinal-thousands := cardinal & [ REGION above-thousand ]. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; PARTICLE MORPHOLOGY ;; ;; (Pronouns, Particles, Conjunctions, some determiners, ;; ;; Adverbs, etc.) ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; px-all-or-AX-POS-NULL :< morph-head-type. px-all := px-all-or-AX-POS-NULL & omorph-head . px-prfx :< omorph-head. ;; adverbs px-adv-or-ax-pos-null-or-ax-comp-null-or-ax-super-null-or-vx-sup-perf :< morph-head-type. px-adv-or-ax-pos-null-or-vx-sup-perf :< px-adv-or-ax-pos-null-or-ax-comp-null-or-ax-super-null-or-vx-sup-perf. px-adv-or-ax-pos-null-or-ax-comp-null-or-ax-super-null := px-adv-or-ax-pos-null-or-ax-comp-null-or-ax-super-null-or-vx-sup-perf. px-adv-or-ax-pos-null := px-adv-or-ax-pos-null-or-ax-comp-null-or-ax-super-null & px-adv-or-ax-pos-null-or-vx-sup-perf. px-adv := px-adv-or-ax-pos-null. px-all-adv := px-all & px-adv. px-p-prfx := px-all. ;; dx-def holds for dies, jen, jed, welch, all dx-def-es := dmorph-head & [ INFL agr-es-na-neu-sg-or-gen-mn-sg-type ]. dx-def-er := dmorph-head & [ INFL agr-er-nom-mas-sg-or-dg-fem-sg-or-gen-pl-agr ]. dx-def-en := dmorph-head & [ INFL agr-en3-acc-mas-sg-or-dat-pl ]. dx-def-e := dmorph-head & [ INFL agr-e-st-na-fem-sg-or-na-pl-type ]. dx-def-em := dmorph-head & [ INFL agr-em-type ]. ;; exception to dx-def (das, des) 8.8.95 kn dx-def-das := dmorph-head & [ INFL agr-es1-type ]. dx-def-des := dmorph-head & [ infl agr-es2-type ]. dx-def-apo_n := dmorph-head & [ infl agr-null-type ]. ;; derjenige / derselbe dx-def-der-x-e := dmorph-head & [ infl agr-er1-type ]. dx-def-der-x-en := dmorph-head & [ infl agr-er3-type ]. dx-def-die-x-e := dmorph-head & [ infl agr-e-sg-type ]. dx-def-die-x-en := dmorph-head & [ infl agr-e-pl-type ]. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; dx-ein-null := dmorph-head & [ INFL agr-null-type & [ NODEF-AGR #agr, UNIAGR #agr, NP-DECL 'st, NP-LPE - ] ]. dx-ein-er := dmorph-head & [ INFL agr-er3-we-np-or-agr-er1-type ]. dx-ein-er-agr-er3-type := dx-ein-er & [ INFL agr-er3-type & [ DEF-AGR #agr, UNIAGR #agr, NP-DECL 'we ]]. dx-ein-er-agr-er1-type := dx-ein-er & [ INFL agr-er1-type & [ NP-LPE + ] ]. dx-ein-es := dmorph-head & [ INFL agr-es2-we-np-or-agr-es1-type ]. dx-ein-es-agr-es2-type := dmorph-head & [ INFL agr-es2-we-np-type ]. dx-ein-es-agr-es1-type := dmorph-head & [ INFL agr-es1-type & [ NP-LPE + ] ]. dx-ein-en := dx-def-en & [ INFL [DEF-AGR #agr, UNIAGR #agr, NP-DECL 'we ]]. dx-ein-e := dx-def-e & [ INFL [DEF-AGR #agr, UNIAGR #agr, NP-DECL 'we ]]. dx-ein-em := dx-def-em & [ INFL [DEF-AGR #agr, UNIAGR #agr, NP-DECL 'we ]]. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; NOUN MORPHOLOGY ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; infix-type := *avm* & [p luk]. umlaut-type := *avm* & [u bool]. uml := *sort*. mclass-type := *avm* & [mclass mclass]. mclass := lr-infl-type. n-or-a-class := mclass & umlaut-type & uniagr-type. card-class := mclass. ; Verb classes vclass := mclass & infix-type & [lr_inflected -, p bool]. vclass-reg := vclass. vclass-reg_+g := vclass-reg & [p +]. vclass-reg_-g := vclass-reg & [p -]. vclass-irr :< vclass. ; Adj classes aclass := n-or-a-class & [lr_inflected -]. aclass_+u := aclass & [u +]. aclass_-u := aclass & [u -]. aclass_-c :< aclass. aclass_+c :< aclass. aclass_-s :< aclass_-c. aclass_+s :< aclass_-c. aclass_+u_+c := aclass_+u & aclass_+c. aclass_+u_-c := aclass_+u & aclass_-c. aclass_+u_+s := aclass_+u_-c & aclass_+s. aclass_+u_-s := aclass_+u_-c & aclass_-s. aclass_-u_+c := aclass_-u & aclass_+c. aclass_-u_-c := aclass_-u & aclass_-c. aclass_-u_+s := aclass_-u_-c & aclass_+s. aclass_-u_-s := aclass_-u_-c & aclass_-s. ; Uninflected classes (closed classes) pclass := mclass & umlaut-type & [lr_inflected +]. dclass := mclass & [lr_inflected -]. dclass-closed :< dclass. dclass-closed-null :< dclass-closed. dclass-closed-non-null :< dclass-closed. dclass-ord :< aclass. ; Noun classes (see DUDEN) nclass := n-or-a-class & [lr_inflected -] . n-form-class := n-or-a-class & [lr_inflected +] . nclass-generic := nclass & [U -]. nclass-sg-1 := nclass-m_n & [UNIAGR c-n-mn]. nclass-sg-2 := nclass-m_n & [UNIAGR c-n-m]. nclass-sg-3 := nclass-f & [UNIAGR c-n-f]. nclass-pl-1 := nclass. nclass-pl-2 := nclass. nclass-pl-3 := nclass_-u. nclass-pl-4 := nclass & [UNIAGR c-n-mn]. nclass-pl-5 := nclass_-u & [U -]. nclass-m_n := nclass. nclass-f := nclass. ; Umlaut nclass_+u := nclass & [U +]. nclass_-u := nclass & [U -]. nclass-0 := nclass_-u. nclass-1 := nclass-pl-1 & nclass-1+3+4+5 & nclass-1+2+3+4 & nclass-1+7+8. nclass-2 := nclass-pl-2 & nclass-1+2+3+4 & nclass-1+2+7+8. nclass-3-ns := nclass-pl-3 & nclass-3+9. nclass-3 := nclass-pl-3 & nclass-1+3+4+5 & nclass-1+2+3+4 & nclass-3+9. nclass-4 := nclass-pl-4 & nclass-1+3+4+5 & nclass-1+2+3+4. nclass-5 := nclass-pl-5 & nclass-1+3+4+5. nclass-6 := nclass-sg-2 & nclass-pl-3. nclass-7 := nclass-pl-1 & nclass-7+9+10 & nclass-1+7+8. nclass-8 := nclass-sg-3 & nclass-pl-2 & nclass-1+7+8. nclass-9 := nclass-pl-3 & nclass-7+9+10 & nclass-3+9. nclass-10 := nclass-pl-5 & nclass-7+9+10. nclass-1+3+4+5 :< nclass-sg-1. nclass-7+9+10 :< nclass-sg-3. nclass-1+2+3+4 :< nclass-sg-1. nclass-1+2+7+8 :