;; Hey, emacs(1), this is -*- Mode: TDL; Package: LKB; -*- got it? ;;; ;;; a separate phase for prepositions, so that we can assume the arguments have ;;; been transferred, and rules here can condition on the TL hierarchy. ;;; ;;; this has to go late, to avoid confusing real names ;;; interlingua predicates named_n := monotonic_mtr & [ INPUT.RELS < [ PRED "ja:named_rel" ] >, OUTPUT.RELS < +copy+ & [ PRED named_rel ] > ]. ;;; TWEAKME ;named_n := monotonic_mtr & ;[ INPUT.RELS < [ PRED "ja:unknown_rel" ] >, ; OUTPUT.RELS < +copy+ & [ PRED unknown_rel ] > ]. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; ;;; quantifiers ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; in compounds, make the LHS NP always udef_q_rel ;;; in compounds, make the LHS NP always udef_q_rel udef_compound_q_mtr := monotonic_mtr & [ CONTEXT.RELS < [PRED compound_rel, ARG2 #x1] >, INPUT.RELS < [ PRED "ja:udef_rel", LBL #h1, ARG0 #x1, RSTR #h2, BODY #h3 ] >, OUTPUT.RELS < [ PRED udef_q_rel, LBL #h1, ARG0 #x1, RSTR #h2, BODY #h3 ] > ]. ;;; make nouns modified by superlative adjectives definite udef_superlative-def_q_rel := quantifier_mtr & [ CONTEXT.RELS < [ LBL #h0, ARG0 #e0, ARG1 #noun ], [ LBL #h0, ARG0 e, ARG1 #e0, PRED superl_rel]>, INPUT.RELS < [ PRED "ja:udef_rel", ARG0 #noun ] >, OUTPUT.RELS < [ PRED def_q_rel, ARG0 #noun ] >]. udef_udef_q := quantifier_omtr & [ INPUT.RELS < [ PRED "ja:udef_rel" ] >, OUTPUT.RELS < [ PRED udef_q_rel ] > ]. ;;; not for there is x udef_the_q := quantifier_omtr & [ INPUT.RELS < [ PRED "ja:udef_rel", ARG0 #x ] >, FILTER.RELS < [ PRED "be_v_there_rel", ARG1 #x ]>, OUTPUT.RELS < [ PRED def_q_rel ] > ]. ;;; only do this for things compatible with singular udef_a_q := quantifier_mtr & [ INPUT.RELS < [ PRED "ja:udef_rel", ARG0 #x & [NUM number ] ]>, FILTER.RELS < [ PRED "card_rel", ARG1 #x ]>, OUTPUT.RELS < [ PRED _a_q_rel ] > ]. ;udef_the_q := quantifier_mtr & ;[ INPUT.RELS < [ PRED "ja:udef_rel" ] >, ; OUTPUT.RELS < [ PRED _the_q_rel ] > ]. pronoun_q := quantifier_mtr & [ CONTEXT.RELS < [ PRED pron_rel, ARG0 #x ] >, INPUT.RELS < [ PRED "ja:def_rel" ] >, OUTPUT.RELS < [ PRED pronoun_q_rel, ARG0 #x ] > ]. ; proper_q := quantifier_mtr & ; [ CONTEXT.RELS < [ PRED "ja:named_rel", ARG0 #x1 ] >, ; INPUT.RELS < [ PRED "ja:udef_rel", ARG0 #x1 ] >, ; OUTPUT.RELS < [ PRED proper_q_rel, ARG0 #x1 ] > ]. proper_dofw_q := quantifier_mtr & [ CONTEXT.RELS < [ PRED dofw_rel, ARG0 #x1 ] >, INPUT.RELS < [ PRED "ja:def_rel", ARG0 #x1 ] >, OUTPUT.RELS < [ PRED proper_q_rel, ARG0 #x1 ] > ]. proper_named_q := quantifier_mtr & [ CONTEXT.RELS < [ PRED named_rel, ARG0 #x1 ] >, INPUT.RELS < [ PRED "ja:def_rel", ARG0 #x1 ] >, OUTPUT.RELS < [ PRED proper_q_rel, ARG0 #x1 ] > ]. def_q := quantifier_mtr & [ INPUT.RELS < [ PRED "ja:def_rel" ] >, OUTPUT.RELS < [ PRED def_q_rel ] > ]. which_q := quantifier_mtr & [ INPUT.RELS < [ PRED "ja:whq_rel" ] >, OUTPUT.RELS < [ PRED which_q_rel ] > ].