;;; -*- Mode: tdl; Coding: utf-8; -*- ;;; ;;; Copyright (c) 1994-2018 ;;; Dan Flickinger, Rob Malouf, Emily M. Bender ;;; see LICENSE for conditions ;;; ;;; lexrinst.tdl ;;; ;;; Instances of lexical rules defined in lexrules.tdl ;;; ;;; Created: Ann Copestake, 30-Sept-97 ;;; ;;; $Id: lexrinst.tdl 7043 2009-09-03 18:26:55Z oe $ ;; Block robust possessive to avoid *are there computers in the study?* v_aux-sb-inv_dlr := sai_nonell_lexrule & """ Subject-auxiliary inversion Did they arrive? """ [ SYNSEM.LOCAL.CAT.VAL.COMPS.FIRST.LOCAL.CAT.HEAD.--POSSRBST -, RNAME lsai ]. v_aux-sb-inv-ell_dlr := sai_ell_lexrule & """ Subject-auxiliary inversion with elided verbs Did they? """ [ RNAME lsaie ]. v_cond-inv_dlr := cond_sai & """ Conditional inversion Had he left, we'd have left. """ [ RNAME csai ]. v_aux-advadd_dlr := adv_addition & """ Addition of adverb as complement They did not arrive. """ [ RNAME ladv ]. v_aux-neg-ell_dlr := adv_add_neg_ellipt & """ Elided VP with negation They would not. """ [ RNAME lnav ]. ;; Block subj extraction to avoid for *tourists [who will] meet* ;; 2020-09-30 - But we need it for "... but we admire those who do" so undo, ;; and CHECK. ;; #| v_aux-ell-ref_dlr := vp_ellipsis_ref & """ Elided VP compl, referentl subj He did. """ [ SYNSEM.LOCAL.CAT.VAL.SUBJ.FIRST canonical_or_unexpressed, RNAME lver ]. |# v_aux-ell-ref_dlr := vp_ellipsis_ref & """ Elided VP compl, referentl subj He did. """ [ RNAME lver ]. v_aux-ell-xpl_dlr := vp_ellipsis_expl & """ Elided VP compl, expletive subj It did. """ [ RNAME lvex ]. v_aux-cx-noinv_dlr := contracted_aux_noninv_lexrule & """ Contracted auxiliary, no subject-auxiliary inversion Kim'll arrive. Kim'll. """ [ RNAME lcx ]. v_nger-intr_dlr := intrans_nominal_gerund & """ Nominal gerund of intrans verb Leaving was easy. """ [ RNAME lngi ]. v_nger-pp_dlr := intrans_pp_nominal_gerund & """ Nominal gerund of PP-comp verb Relying on Kim was wrong. """ [ RNAME lngp ]. v_nger-tr_dlr := trans_nominal_gerund & """ Nominal gerund of trans verb The hiring of Kim was OK. """ [ RNAME lngt ]. n_det-mnth_dlr := month_det_lexrule & """ Month name as determiner July tenth arrived. """ [ RNAME lmd ]. n_det-wkdy_dlr := weekday_det_lexrule & """ Weekday name as determiner We arrived Sunday morning. """ [ RNAME lwd ]. n_dom-ppof_dlr := dom_ppof_lexrule & """ Weekday name as determiner We arrived Sunday morning. """ [ RNAME ldp ]. j_att_dlr := attr_adj_lexrule & """ Attrib adj from trans pred adj A similar cat arrived. """ [ RNAME lja ]. v_j-nb-intr_dlr := attr_verb_part_lexrule & """ Attrib adj from intrans verb The sleeping cat stirred. """ [ RNAME ljv ]. v_j-nb-prp-tr_dlr := attr_verb_part_tr_lexrule & """ Attr adj from trans prp verb The admiring crowd ran. """ [ RNAME ljvt ]. v_j-nb-pas-tr_dlr := attr_verb_part_psv_lexrule & """ Attr adj from trans passive verb The hired consultant left. """ [ RNAME ljvp ]. v_j-nb-pas-ptcl_dlr := attr_verb_part_ptcl_psv_lexrule & """ Attr adj from passive verb+selPP The hoped for consultant left. """ [ RNAME ljvr ]. v_j-nme-intr_dlr := attr_verb_part_intr_namemod_lexrule & """ Attr adj from intr verb, nme mod, passive participle The respected Abrams won. """ [ RNAME ljvn ]. v_j-nme-intr-prp_dlr := attr_verb_part_intr_namemod_prp_lexrule & """ Attr adj from intr verb, nme mod, pres participle The smiling Abrams won. """ [ RNAME ljvnp ]. #| v_j-nme-intr-pl-prp_dlr := attr_verb_part_intr_namemod_pl_prp_lexrule & """ Attr adj from intr verb, plur nme mod, pres participle We admire sparkling Ds. """ [ RNAME ljvnpp ]. |# v_j-nme-tr_dlr := attr_verb_part_tr_namemod_lexrule & """ Attr adj from trns verb, nme mod, passive participle Our admired Abrams smiled. """ [ RNAME ljnt ]. v_j-nme-tr-prp_dlr := attr_verb_part_tr_namemod_prp_lexrule & """ Attr adj from trns verb, nme mod, pres participle Our winning Abrams smiled. """ [ RNAME ljntp ]. #| v_j-nme-tr-pl-prp_dlr := attr_verb_part_tr_namemod_pl_prp_lexrule & """ Attr adj from trns verb, plur. nme mod, pres participle We admire winning Ds. """ [ RNAME ljntpp ]. |# det_prt-of-agr_dlr := part_ppof_agr_constr & """ Partitive NP, PP-of, num agrmt Some of us are ready. """ [ SYNSEM.LOCAL.CAT.VAL.COMPS.FIRST.--SIND.DEF +, RNAME lpca ]. det_prt-indef_dlr_rbst := part_ppof_agr_constr & [ SYNSEM.LOCAL.CAT.VAL.COMPS.FIRST.--SIND.DEF -, DTR.ALTS.DPRT +, RNAME lpcar, GENRE robust ]. det_prt-of-nagr_dlr := part_ppof_noagr_constr & """ Partitive NP, PP-of, no agreement Each of us is ready Restrict of-PP to DIV +, to block *each of my toy* """ [ ARGS.FIRST.ALTS.DPRT +, SYNSEM.LOCAL.CAT.VAL.COMPS.FIRST.--SIND.DIV +, RNAME lpcn ]. det_prt-of-nagr_dlr_rbst := part_ppof_noagr_constr & [ SYNSEM.LOCAL.CAT.VAL.COMPS.FIRST.--SIND.DIV -, ARGS.FIRST.ALTS.DPRT +, RNAME lpcn, GENRE robust ]. det_prt-nocmp_dlr := part_nocomp_constr & """ Partitive NP, no PP complement Most arrived. """ [ ARGS.FIRST.ALTS.DPRT +, RNAME lpn ]. v_np-prtcl_dlr := NP_particle_lexrule & """ Particle-NP reordering He looked the answer up. """ [ RNAME lnpp ]. ;; *Kim picked up him* v_pron-prtcl_dlr_rbst := NP_particle_lr_mal & [ RNAME lnpp ]. v_dat_dlr := dative_shift_lexrule & """ Dative shift alternation They gave the book to him. """ [ RNAME ldat ]. v_it-cp-vp_dlr := verb_it_cp_vp_lexrule & """ it-subj Verb+NP to CP or VP comp It annoyed B that we left. """ [ RNAME lvcv ]. j_n-minut_dlr := minute_noprep_lexrule & """ Integer as minute name Ten sixteen is too late. """ [ RNAME lmin ]. j_n-minut-p_dlr := minute_prep_lexrule & """ Integer as minute name with PP comp Sixteen to ten is too late. """ [ RNAME lminp ]. n_n-hour_dlr := hour_np_lexrule & """ hour plus NP complement Ten sixteen is too late. """ [ RNAME lhour ]. v_aux-tag_dlr := tag & """ Tag question auxiliary He arrived, didn't he? """ [ RNAME ltag ]. j_enough_dlr := enough_addition_nocomps & """ Adj no-comps plus enough-compl A big enough cat arrived. """ [ RNAME leno ]. j_enough-wc_dlr := enough_addition_wcomp & """ Adj w/comps plus enough-compl, gap in VP. The window is clear enough to see through.. """ [ RNAME lenc ]. j_enough-wc-nogap_dlr := enough_addition_wcomp_nogap & """ Adj w/comps plus enough-compl, no gap in VP complement The child was tired enough to fall asleep. """ [ RNAME lencn ]. j_tough_dlr := tough_adj_lexrule & """ Tough-adj alternation B is tough to admire. """ [ RNAME ltgh ]. j_tough-compar_dlr := tough_adj_compar_lexrule & """ Tough-adj alternation for comparatives ; B is tougher to admire than C. """ [ RNAME ltghc ]. #| j_r-i_odlr := %suffix (* ly) (!ty !tily) """ Adjective to adverb, intersective only ; Kim arrived slowly. """ adj_to_adv_lexrule & [ ND-AFF +, DTR.SYNSEM.LOCAL.CAT.HEAD.MOD < synsem & [ LOCAL int_mod_local ] >, SYNSEM.LOCAL.CAT.HEAD.MOD < synsem & [ LOCAL int_mod_local ] >, RNAME ljri ]. |# n_bipart_dlr := bipart_lexrule & """ Relax bipartite constraint The scissors isn't sharp. """ [ RNAME lbpt, GENRE robust ]. ;; DPF 2021-04-07 - Exclude pronoun subjects, to avoid "it", even though we ;; lose archaic "said he". ;; v_inv-quot_dlr := inverted_quote_lexrule & """ Main verb inversion for quoting He left, said Kim. """ [ SYNSEM.LOCAL.CAT.VAL.COMPS.FIRST.--MIN nonpro_rel, RNAME linq ]. v_cp-frag_dlr := cp_frag_lexrule & """ Verbs of saying with fragment substituted for CP complement Yes, said Kim. """ [ RNAME lcpf ]. n_n-ed_odlr := %suffix (* ed) (!ty !tied) (e ed) (!t!v!c !t!v!c!ced) """ Noun with *-ed* suffix as adj Long-eared sheep slept. """ noun_adj_lexrule & [ ND-AFF +, RNAME lnj ]. j_n-pre_odlr := %prefix (* pre) (* pre-) """ pre- prefix on common nouns with or without hyphen The pre-war period endured. """ pre_noun_adj_lexrule & [ ND-AFF +, RNAME ljnp ]. j_n-pre-pn_odlr := %prefix (* pre-) """ pre- prefix on proper nouns, hyphen only, and capitalized noun The pre-Reagan period endured. """ pre_propn_adj_lexrule & [ ND-AFF +, RNAME ljnp ]. v_v-re_dlr := %prefix (* re) (* re-) """ Verb with *re-* prefix He re-tied his shoe. """ v_v-re_rule & [ RNAME lre ]. v_v-pre_dlr := %prefix (* pre) (* pre-) """ Verb with *pre-* prefix He pre-signed the check. """ v_v-pre_rule & [ RNAME lpre ]. v_v-mis_dlr := %prefix (* mis) (* mis-) """ Verb with *mis-* prefix He mis-tied his shoe. """ v_v-mis_rule & [ RNAME lmis ]. ;;; ;;; _fix_me_ ;;; to make this rule functional, token mapping would have to not separate off ;;; *co-* (in `derivational_prefix_tmr'). however, doing that would then mean ;;; that either (a) we provide a prefixation rule for other parts of speech too ;;; (`co-author', maybe `co-educational') or minimally adjust existing lexical ;;; entries (currently MWEs); or (b) that we create a token-level ambiguity; i ;;; hesitate doing the latter. but maybe it would not be so bad, in the end? ;;; the same problem applies to other derivational rules, of course. ;;; (13-mar-09; oe) v_v-co_dlr := %prefix (* co-) (* co) """ Verb with *co-* prefix He co-wrote the paper. """ v_v-co_rule & [ ND-AFF + ]. v_v-un_dlr := %prefix (* un) (* un-) """ Verb with *un-* prefix He untied his shoe. """ v_v-un_rule & [ RNAME lunv ]. v_v-counter_dlr := %prefix (* counter) (* counter-) """ Verb with *counter-* prefix He counter-signed the bill. """ v_v-counter_rule & [ RNAME lctv ] . v_v-over_dlr := %prefix (* over) (* over-) """ Verb with *over-* prefix He over-built the porch. """ v_v-over_rule & [ RNAME lovtv ]. v_v-out_dlr := %prefix (* out) (* out-) """ Verb with *out-* prefix He out-played his opponent. """ v_v-out_rule & [ RNAME lotv ]. v_v-self_dlr := %prefix (* self) (* self-) """ Verb with *self-* prefix He was self-insured. """ v_v-self_rule & [ RNAME lsfv ]. v_v-cross_dlr := %prefix (* cross) (* cross-) """ Verb with *cross-* prefix He cross-examined the witness. """ v_v-cross_rule & [ RNAME lcsv ]. v_v-under_dlr := %prefix (* under) (* under-) """ Verb with *under-* prefix The area is under-developed """ v_v-under_rule & [ RNAME luvtv ]. n_n-co_dlr := %prefix (* co) (* co-) """ Noun with *co-* prefix Our co-teacher arrived. """ n_n-co_rule & [ RNAME lnco ]. n_n-co-ni_dlr := %prefix (* co) (* co-) """ Noun with *co-* prefix, non-inflecting Our co-derivatives group arrived. """ n_n-co-ni_rule & [ RNAME lncon ]. n_n-counter_dlr := %prefix (* counter) (* counter-) """ Noun with *counter-* prefix The counter-proposal arrived. """ n_n-counter_rule & [ RNAME lctn ]. n_n-counter-ni_dlr := %prefix (* counter) (* counter-) """ Noun with *counter-* prefix, non-inflecting The counter-narcotics team arrived. """ n_n-counter-ni_rule & [ RNAME lctnn ]. n_n-mini_dlr := %prefix (* mini) (* mini-) """ Noun with *mini-* prefix The mini-car arrived. """ n_n-mini_rule & [ RNAME lctn ]. n_n-mini-ni_dlr := %prefix (* mini) (* mini-) """ Noun with *mini-* prefix, non-inflecting The mini-car transporter arrived. """ n_n-mini-ni_rule & [ RNAME lctnn ]. j_j-co_dlr := %prefix (* co-) (* co) """ Adjective with *co-* prefix The co-educational hall opened. """ j_j-co_rule & [ RNAME ljco ]. j_j-un_dlr := %prefix (* un-) (* un) """ Adjective with *un-* prefix The unhappy cat arose. """ j_j-un_rule & [ RNAME lunj ]. j_j-non_dlr := %prefix (* non) """ Adjective with *non* prefix The nonlinear solution failed. """ j_j-non_rule & [ RNAME lnnj ]. j_j-over_dlr := %prefix (* over-) (* over) """ Adjective with *over-* prefix The over-optimistic player arrived. """ j_j-over_rule & [ RNAME ljco ]. w_period_plr := %suffix (!. !..) """ Period affixed to end of word, utterance-medially We left. They arrived. He said "Freeze. Don't move!". 2. Buy diamands. """ punctuation_period_rule & [ RNAME lpp ]. w_italleft_plr := %prefix (!f ⌊/!f) """ Italics mark *⌊/* prefixed ⌊/cat """ punctuation_italleft_rule & [ RNAME lpil ]. w_italright_plr := %suffix (!r !r/⌋) """ Italics mark */⌋* affixed cat/⌋ """ punctuation_italright_rule & [ RNAME lpir ]. w_drop-ileft_plr := %prefix (!f ⌊/!f) """ Ignored italics mark affixed catiยฆ """ punct_drop_italleft_rule & [ RNAME lpxdl ]. w_drop-iright_plr := %suffix (!r !r/⌋) """ Ignored italics mark prefixed catiยฆ """ punct_drop_italright_rule & [ RNAME lpxdr ]. ;;; From arboretum/mal-inflr.tdl ;; Disagreement rules, one for each direction. Pair synsem with ;; "wrong" forms: The dog bark/the dogs barks. ;; ;; Constrain this one to only apply to pronominal subject, to avoid spurious ;; analysis using both this rule and the mal_plur_noun_irule ;; DPF 25-jun-10 - But we also want to catch e.g. "my knees hurts", so let's ;; try blocking --BARE +, to avoid the above spuriosity. ;; Also block clauses headed by such verbs from undergoing cl_np-wh_c rule ;; DPF 2013-05-10 - But [NORM no_rel] prevents conjoined robust forms, as in ;; *people arrives and arises*. So remove, and monitor. ;; DPF 2020-11-24 - Tried SUBJ..AGR.DEF - to block robust ;; "the percentage of cats is", but this is foolish, since it also blocks ;; "the children is ...". So instead use new feature GROUPN to exclude group ;; nouns. ;; non_third_sg_fin_v_olr_rbst := %suffix (!s !ss) (!ss !ssses) (ss sses) (!ty !ties) (ch ches) (sh shes) (x xes) (z zes) """ Disagreement rules, one for each direction. Pair synsem with "wrong" forms: *The dog bark/the dogs barks.* the dogs bark my knees hurts people arrives and arises """ lex_rule_infl_affixed & [ GENRE robust, ND-AFF +, SYNSEM.LOCAL non_third_sg_fin_verb & [ CAT [ HEAD.--MALN3SG +, VAL.SUBJ < [ LOCAL [ CAT.HEAD [ --BARE -, MINORS.MIN nonpart_nom_rel ], CONT.HOOK.INDEX.GROUPN - ] ] > ] ], RNAME mn3s ]. ;; DPF 2010-08-16 - Block subject extraction, to avoid spurious analysis for ;; "What do Kim and Abrams ..." ;; DPF 2017-09-06 -Block time NPs as subjects, to avoid robust analysis for ;; *ten grow in the garden* ;; DPF 2017-10-05 - Block partitive subjects, for *his admire cats*, by making ;; subj HEAD non_partn. ;; DPF 2018-02-15 - Re 2017-10-05: But ordinary pronouns are also HEAD partn, ;; so can't block partitives this way. ;; DPF 2018-10-02 - Remove SUBJ..--BARE + so we can trigger agreement mismatch ;; also for nouns that block robust bare plural, as *the class arise* ;; DPF 2018-11-25 - Generalize SORT entity to norm-entity-or-event on SUBJ, ;; since it was blocking *many month pass*. ;; DPF 2019-11-06 - Generalize SORT further to basic-entity-or-event, so we ;; can also get robust *My shouting begin.* ;; DPF 2021-04-07 - Generalize nonconj_ref-ind constraint on subj to include ;; expletives, so we can get robust ;; "There need to be a cat" ;; third_sg_fin_v_ilr_rbst := lex_rule_infl_affixed & """ Disagreement rules, one for each direction. Pair synsem with "wrong" forms: *The dog bark/the dogs barks.* the dog barks many month pass My shouting begin. the class arise his admire cats ten grow in the garden What do Kim and Abrams like? """ [ GENRE robust, ND-AFF -, ORTH #stem, DTR [ ORTH #stem, SYNSEM.LOCAL.CAT [ HEAD.--MAL3SG +, VAL.SUBJ < expressed_synsem & [ LOCAL [ AGR.PNG png-reg & [ PN 3s ], CAT.HEAD supnoun & [ --MALCASE -, --MALAGR -, --NOSUFF -, --BARED -, --NUM -, --POSSRBST -, --MALCM - ] ], --SIND non_conj_sement & [ SORT basic-entity-or-event ], PUNCT.RPUNCT comma_or_no_punct ] > ] ], SYNSEM.LOCAL third_sg_fin_verb, RNAME m3s ]. ;; DPF 10-May-04 - We take plural marking on noun as intended (not to be ;; corrected), so only have one mal infl-rule for nouns to correct ;; 'two dog bark' to 'two dogs bark'. We will need a statistical preference ;; mechanism to choose one of the two possible corrections for 'dog bark': ;; either 'dogs bark' or 'a/the dog barks'. But have to have both, since ;; 'he bark' should presumably get corrected to 'he barks' (not 'they bark'). ;; DPF 07-feb-10 - Changed DTR..MIN norm_nom_rel to reg_nom_rel, so it also ;; applies to measure nouns, as in "they ran twenty six mile." ;; Note that CASE on dtr must be nom to avoid spurious ambiguity for e.g. ;; direct objects where there is no constraint on number. ;; DPF 30-mar-10 - Restrict this to only apply when the determiner is overt, ;; to avoid spurious ambiguity for e.g. "she told her brother borrow her book" ;; where `brother' formerly got made a plural. So now we assume that number ;; on nouns is as the writer intended, unless there is a determiner present, ;; which might indicate competing number, as in "most thing are important" ;; the verb to match robustly when needed. ;; DPF 07-apr-10 - But still getting too much spurious ambiguity, as in ;; "His soup is". So restrict further to just deictic dets for now. ;; DPF 2018-03-23 - Re 07-apr-10: Expand dtr's SPR..--MIN from ;; demonstrative_q_rel to num_or_demon_q_rel so we can still get ;; *three dog barked* ;; DPF 2018-07-31 - Re 07-apr-10: We would like to get error for ;; *our five sense*, so tried removing constraint on SPR..--MIN, but then ;; we get spurious robust analysis for *A dog bit him*. So FIX later. ;; DPF 2018-10-03 - Re 07-feb-10: But this prevents *we admire these cat*, ;; and since we now require a num-or-demon specifier, we drop CASE nom. ;; Also, generalize --MIN from reg_nom_rel to reg_or_temp_nom_rel, so we also ;; get robust *we enjoyed these year*. ;; plur_noun_ilr_rbst := lex_rule_infl_affixed & """ We assume that number on nouns is as the writer intended, unless there is a determiner present, which might indicate competing number, as in *most thing are important* the verb to match robustly when needed. they ran twenty six mile three dog barked our five sense we enjoyed these year We will need a statistical preference mechanism to choose one of the two possible corrections for *dog bark*: either *dogs bark* or *a/the dog barks*. But have to have both, since *he bark* should presumably get corrected to *he barks* (not *they bark*). """ [ GENRE robust, ND-AFF -, ORTH #stem, SYNSEM.LOCAL [ CAT.HEAD [ --BARE +, --MALPL + ], AGR.PNG png-reg ], DTR [ ORTH #stem, SYNSEM.LOCAL.CAT [ HEAD.MINORS.MIN reg_or_temp_nom_rel, VAL.SPR < canonical_synsem & [ --MIN num_or_demon_q_rel ] > ] ], SYNSEM.LOCAL plur_noun, RNAME mpln ]. w_comma-prefix_plr_rbst := %prefix (!. ,!.) (!. ,!.) """ For prefixed comma as in *yesterday ,we arose* """ generic_punctuation_comma_rule & [ SYNSEM.PUNCT.LPUNCT comma_punct, GENRE robust ]. j_vp_bse_dlr_rbst := adj_vp_bse_lr_mal & [ RNAME ljvb ]. n_pl-mass_olr_rbst := %suffix (!s !ss) (!ss !ssses) (es eses) (ss sses) (!ty !ties) (ch ches) (sh shes) (x xes) (z zes) """ For e.g. *informations* """ lex_rule_plural_mass & [ ND-AFF +, RNAME lplm ]. n_pl_olr_rbst := %suffix (* nevermatch) """ For *deers, fishes* """ n_pl_inflrule & [ ND-AFF +, SYNSEM mass_or_count_synsem & [ LOCAL plur_noun & [ AGR.PNG png-irreg ] ], RNAME lplr, GENRE robust ]. n_pl-reg_olr_rbst := %suffix (!ss !sss) (es ess) (ss sss) (!ty !tys) (ch chs) (sh shs) (x xs) (z zs) """ For -s where other productive forms are needed, e.g. *-ies* and *ches* """ n_pl_inflrule & [ ND-AFF +, SYNSEM mass_or_count_synsem & [ LOCAL plur_noun & [ AGR.PNG png-reg ] ], RNAME lplrr, GENRE robust ]. v_pst_olr := %suffix (* ed) (!ty !tied) (e ed) (!t!v!c !t!v!c!ced) """ Use for irregular past tense forms, so we can trigger robust analysis for e.g. *he had went* but not for *he had arrived*. Added --MALAGR na_or_- to prevent robust *the children slept.* he had went """ v_pst_inflrule & [ ND-AFF +, ALTS.TNS-ID -, SYNSEM.LOCAL past_or_subj_verb & [ CAT [ HEAD.TAM.IRR-TENSE -, VAL.SUBJ.FIRST.LOCAL.CAT.HEAD.--MALAGR na_or_- ] ], RNAME lvpt ]. v_pst-irreg_olr := %suffix (* nevermatch) v_pst_inflrule & [ ND-AFF +, SYNSEM.LOCAL past_or_subj_verb & [ CAT.HEAD.TAM.IRR-TENSE + ], RNAME lvpti ]. v_pst_olr_rbst := %suffix (* nevermatch) """ For wrong regular past inflection of irregular verbs (*buyed* for *bought*) Add SUBJ..--POSSRBST - to block for *it's well known that ...* """ v_pst_inflrule & [ GENRE robust, ND-AFF +, SYNSEM.LOCAL past_or_subj_verb & [ CAT [ HEAD.--MALPAST +, VAL.SUBJ.FIRST.LOCAL.CAT.HEAD.--POSSRBST - ] ], RNAME lvptr ]. ;; If tense of main verb and that of embedded clause don't match, complain, ;; as per TOEFL: *I felt that he is friendly*. May need to revisit this and ;; FIX ;; For example, don't want this for "The poem expressed how I feel" ;; v_pst_scomp_olr_rbst := %suffix (* ed) (!ty !tied) (e ed) (!t!v!c !t!v!c!ced) """ If tense of main verb and that of embedded clause don't match, complain, as per TOEFL: *I felt that he is friendly*. May need to revisit this and FIX I felt that he is friendly. """ v_pst_inflrule & [ ND-AFF +, ALTS.TNS-ID +, SYNSEM basic_cp_prop+ques_verb & [ LOCAL past_or_subj_verb & [ CAT.VAL.KCMP [ LOCAL.CAT [ HEAD verbal & [ VFORM fin, TAM [ TENSE nonpast, UNSP-TENSE - ] ], MC - ], --SIND.E.SAME-PAST -, LEX - ] ] ], RNAME lvpts, GENRE robust ]. v_psp_olr_rbst := %suffix (* nevermatch) v_psp_inflrule & [ GENRE robust, ND-AFF +, SYNSEM.LOCAL psp_verb, RNAME lvppr ]. v_pas_odlr_rbst := %suffix (* nevermatch) v_pas-norm_lexrule & [ GENRE robust, ND-AFF +, DTR.SYNSEM trans_subst & [ LOCAL [ CAT.VAL.COMPS [ FIRST [ LOCAL.CONT #objcont, --SIND #objind, NONLOC [ SLASH.LIST #slash, REL.LIST #rel, QUE.LIST #que ] ], REST #comps ] ], LKEYS.KEYREL #keyrel ], SYNSEM [ LOCAL [ CAT [ VAL [ SUBJ < [ LOCAL.CONT #objcont, --SIND #objind, NONLOC [ SLASH.LIST #slash, REL.LIST #rel, QUE.LIST #que ] ] >, COMPS.REST #comps ] ], CONT [ HOOK.XARG #objind ] ], LKEYS.KEYREL #keyrel ], RNAME lvpar ]. v_pas-p_odlr_rbst := %suffix (* nevermatch) prep_passive_verb_lexrule & [ GENRE robust, ND-AFF +, RNAME lvper ]. v_pas-p-t_odlr_rbst := %suffix (* nevermatch) prep_passive_trans_verb_lexrule & [ GENRE robust, ND-AFF +, RNAME lvpfr ]. v_pas-prt-t_odlr_rbst := %suffix (* nevermatch) prep_passive_ptcl_verb_lexrule & [ GENRE robust, ND-AFF +, RNAME lvpgr ]. v_pas-dat_odlr_rbst := %suffix (* nevermatch) basic_passive_verb_lexrule & [ GENRE robust, ND-AFF +, DTR [ SYNSEM basic_ditrans_subst & [ LOCAL [ CAT.VAL [ SUBJ < [ --SIND #subjind, NONLOC #snonloc ] >, COMPS < [ LOCAL.CONT #objcont, --SIND #objind, NONLOC #ononloc ], #npcomp > ] ], LKEYS.KEYREL #keyrel ] ], SYNSEM [ LOCAL [ CAT [ VAL [ SUBJ < [ LOCAL.CONT #objcont, --SIND #objind, NONLOC #ononloc ] >, COMPS < #npcomp, synsem & [ LOCAL local & [ CAT [ HEAD prep & [ MINORS.MIN _by_p_cm_rel ], VAL [ SUBJ < >, SPR *olist*, COMPS < > ] ], CONT.HOOK.INDEX #subjind ], NONLOC #snonloc, OPT + ] > ] ], CONT [ HOOK.XARG #objind ] ], LKEYS.KEYREL #keyrel ], RNAME lvdpr ]. ;; DPF 2021-01-12 - Exclude referential "it" subj via XARG.PT ;; 2021-04-07 - Added SF prop to exclude robust "He will be remembered if ..." ;; v_pas-cp_odlr_rbst := %suffix (* ed) (!ty !tied) (e ed) (!t!v!c !t!v!c!ced) """ Passive of cp-complement verb, but with ref-ind subj, not expletive-it said The match was decided that it will be held today. """ v_pas-cp_lexrule & [ ND-AFF +, DTR.SYNSEM cp_passivable_verb & [ LOCAL.CAT.VAL [ COMPS #comps, KCMP #kcmp & [ LOCAL.CONT.HOOK.INDEX.SF prop ] ] ], SYNSEM passive_atrans_mal_synsem & [ LOCAL [ CAT [ HEAD.--MALPASCP +, VAL [ COMPS.REST #comps, KCMP #kcmp ] ], CONT.HOOK.XARG.PT notpro ] ], RNAME lvcp, GENRE robust ]. v_prp_olr_rbst := %suffix (* nevermatch) v_prp_inflrule & [ GENRE robust, ND-AFF +, SYNSEM.LOCAL prp_verb, RNAME lvprr ]. v_3s-fin_olr_rbst := %suffix (* nevermatch) v_3s-fin_inflrule & [ GENRE robust, ND-AFF +, SYNSEM.LOCAL third_sg_fin_verb, RNAME lvsgr ]. ;; For e.g. *informations* ;; aj_comp_equat_dlr_rbst := lex_rule_compar_equative & [ ND-AFF -, RNAME ljce ]. aj_vp_inf-prp_dlr_rbst := adj_vp_inf_prp_lr_mal & [ ND-AFF -, RNAME ljip ]. aj_vp_i-seq_dlr_rbst := adj_vp_inf_seq_lr_mal & """ Kim is easy to talk to her """ [ ND-AFF -, RNAME ljip ]. ;; Base form for passive as in *was surround by mountains* ;; with obligatory by-PP to avoid unwanted ambig with v_vp_be-bse-p_le_rbst ;; Added LPERIPH to prevent spurious n-v_j compound *tax free* ;; v_pas_bse_dlr_rbst := basic_passive_verb_lexrule & """ Base form for passive as in *was surround by mountains* with obligatory by-PP to avoid unwanted ambig with v_vp_be-bse-p_le_rbst Added LPERIPH to prevent spurious n-v_j compound *tax free* was surround by mountains """ [ ND-AFF -, ORTH #stem, DTR [ ORTH #stem, ALTS.MALPASS +, SYNSEM trans_subst & [ LOCAL.CAT [ VAL [ SUBJ < [ --SIND #subjind, NONLOC #snonloc ] >, COMPS [ FIRST [ LOCAL.CONT #objcont, --SIND #objind, NONLOC #ononloc ], REST #comps & *satlist* ] ] ], LKEYS.KEYREL #keyrel ] ], ALTS [ VADJ -, ATTRJ - ], SYNSEM basic_passive_synsem & [ LOCAL [ CAT [ HEAD [ --MALCOPBSE -, --MALFIN + ], VAL [ SUBJ < [ LOCAL.CONT #objcont, --SIND #objind, NONLOC #ononloc ] >, COMPS *obliquecons* & [ FIRST [ OPT -, LOCAL [ CAT [ HEAD prep, VAL [ SUBJ < >, SPR *olist*, COMPS < > ] ], CONT.HOOK.INDEX #subjind ], NONLOC #snonloc & [ REL.LIST < > ], --MIN _by_p_cm_rel ], REST #comps ] ] ], CONT.HOOK.XARG #objind ], MODIFD.LPERIPH na_or_+, LKEYS.KEYREL #keyrel ], GENRE robust, RNAME lvpbr ]. v_pas-noby_odlr_rbst := %suffix (* ed) (!ty !tied) (e ed) (!t!v!c !t!v!c!ced) no_by_passive_verb_lr_mal & [ ND-AFF +, RNAME lvpa ].