--# -path=.:alltenses concrete BrowseEng of Browse = CatEng, NumeralEng, LexiconEng, StructuralEng ** open LangEng in { lincat ListAdv = LangEng.ListAdv ; lincat ListAP = LangEng.ListAP ; lincat ListNP = LangEng.ListNP ; lincat ListRS = LangEng.ListRS ; lincat ListS = LangEng.ListS ; lin mkAP_1 = PositA ; lin mkAP_2 = ComparA ; lin mkAP_3 = ComplA2 ; lin mkAP_4 = UseA2 ; lin mkAP_5 = \ap,s -> SentAP ap (EmbedS s) ; lin mkAP_6 = \ap,s -> SentAP ap (EmbedQS s) ; lin mkAP_7 = \ap,s -> SentAP ap (EmbedVP s) ; lin mkAP_8 = \x,y -> AdAP x (PositA y) ; lin mkAP_9 = AdAP ; lin mkAP_10 = \c,x,y -> ConjAP c (BaseAP x y) ; lin mkAP_11 = \c,xy -> ConjAP c xy ; lin mkAP_12 = AdjOrd ; lin mkAP_13 = CAdvAP ; lin mkAdv_16 = PositAdvAdj ; lin mkAdv_17 = PrepNP ; lin mkAdv_18 = ComparAdvAdj ; lin mkAdv_19 = ComparAdvAdjS ; lin mkAdv_20 = AdAdv ; lin mkAdv_21 = SubjS ; lin mkAdv_22 = \c,x,y -> ConjAdv c (BaseAdv x y) ; lin mkAdv_23 = \c,xy -> ConjAdv c xy ; lin mkCl_24 = PredVP ; lin mkCl_25 = \s,v -> PredVP s (UseV v) ; lin mkCl_26 = \s,v,o -> PredVP s (ComplV2 v o) ; lin mkCl_27 = \s,v,o,i -> PredVP s (ComplV3 v o i) ; lin mkCl_28 = \s,v,vp -> PredVP s (ComplVV v vp) ; lin mkCl_29 = \s,v,p -> PredVP s (ComplVS v p) ; lin mkCl_30 = \s,v,q -> PredVP s (ComplVQ v q) ; lin mkCl_31 = \s,v,q -> PredVP s (ComplVA v q) ; lin mkCl_32 = \s,v,n,q -> PredVP s (ComplV2A v n q) ; lin mkCl_33 = \s,v,n,q -> PredVP s (ComplSlash (SlashV2S v q) n) ; lin mkCl_34 = \s,v,n,q -> PredVP s (ComplSlash (SlashV2Q v q) n) ; lin mkCl_35 = \s,v,n,q -> PredVP s (ComplSlash (SlashV2V v q) n) ; lin mkCl_36 = ImpersCl ; lin mkCl_37 = CleftNP ; lin mkCl_38 = CleftAdv ; lin mkCl_39 = \y -> ExistNP (DetArtSg IndefArt (UseN y)) ; lin mkCl_40 = \y -> ExistNP (DetArtSg IndefArt y) ; lin mkCl_41 = ExistNP ; lin mkCl_42 = \x,y -> PredVP x (UseComp (CompAP y)) ; lin mkCl_43 = \x,y -> PredVP x (UseComp (CompAP (PositA y))) ; lin mkCl_44 = \x,y,z -> PredVP x (UseComp (CompAP (ComparA y z))) ; lin mkCl_45 = \x,y,z -> PredVP x (UseComp (CompAP (ComplA2 y z))) ; lin mkCl_46 = \x,y -> PredVP x (UseComp (CompNP y)) ; lin mkCl_47 = \x,y -> PredVP x (UseComp (CompNP (DetArtSg IndefArt y))) ; lin mkCl_48 = \x,y -> PredVP x (UseComp (CompNP (DetArtSg IndefArt (UseN y)))) ; lin mkCl_49 = \x,y -> PredVP x (UseComp (CompAdv y)) ; lin mkCl_50 = \v -> ImpersCl (UseV v) ; lin genericCl_51 = GenericCl ; lin mkNP_58 = MassNP ; lin mkNP_59 = \n -> MassNP (UseN n) ; lin mkNP_60 = DetCN ; lin mkNP_61 = \d,n -> DetCN d (UseN n) ; lin mkNP_62 = \q -> DetNP (DetQuant q NumSg) ; lin mkNP_63 = \q,n -> DetNP (DetQuant q n) ; lin mkNP_64 = DetNP ; lin mkNP_65 = \d,n -> DetCN (DetArtCard IndefArt d) n ; lin mkNP_66 = \d,n -> DetCN (DetArtCard IndefArt d) (UseN n) ; lin mkNP_67 = \q,n -> DetCN (DetQuant q NumSg) n ; lin mkNP_68 = \q,n -> DetCN (DetQuant q NumSg) (UseN n) ; lin mkNP_69 = \q,nu,n -> DetCN (DetQuant q nu) n ; lin mkNP_70 = \q,nu,n -> DetCN (DetQuant q nu) (UseN n) ; lin mkNP_71 = \p,n -> DetCN (DetQuant (PossPron p) NumSg) n ; lin mkNP_72 = \p,n -> DetCN (DetQuant (PossPron p) NumSg) (UseN n) ; lin mkNP_73 = \d,n -> DetCN (DetArtCard IndefArt (NumNumeral d)) n ; lin mkNP_74 = \d,n -> DetCN (DetArtCard IndefArt (NumNumeral d)) (UseN n) ; lin mkNP_75 = \d,n -> DetCN (DetArtCard IndefArt (NumDigits d)) n ; lin mkNP_76 = \d,n -> DetCN (DetArtCard IndefArt (NumDigits d)) (UseN n) ; lin mkNP_77 = \d,n -> DetCN (DetArtCard IndefArt (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 d))))))) n ; lin mkNP_78 = \d,n -> DetCN (DetArtCard IndefArt (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 d))))))) (UseN n) ; lin mkNP_79 = UsePN ; lin mkNP_80 = UsePron ; lin mkNP_81 = PredetNP ; lin mkNP_82 = PPartNP ; lin mkNP_83 = AdvNP ; lin mkNP_84 = RelNP ; --lin mkNP_85 = \c,x,y -> ConjNP c (BaseNP x y) ; lin mkNP_86 = \c,xy -> ConjNP c xy ; lin mkNP_87 = \q,n -> DetCN (DetQuant q NumSg) n ; lin mkNP_88 = \q,n -> DetCN (DetQuant q NumPl) n ; lin mkDet_89 = \d,nu -> (DetArtCard d nu) ; lin mkDet_90 = \q,o -> DetQuantOrd q NumSg o ; lin mkDet_91 = \q -> DetQuant q NumSg ; lin mkDet_92 = DetQuantOrd ; lin mkDet_93 = DetQuant ; lin mkDet_94 = DetArtCard IndefArt ; lin mkDet_95 = \d -> DetArtCard IndefArt (NumDigits d) ; lin mkDet_96 = \d -> DetArtCard IndefArt (NumNumeral d) ; lin mkDet_97 = \p -> DetQuant (PossPron p) NumSg ; lin mkDet_98 = \p -> DetQuant (PossPron p) ; lin the_Art_99 = DefArt ; lin a_Art_100 = IndefArt ; lin sgNum_101 = NumSg ; lin plNum_102 = NumPl ; lin mkCard_103 = NumNumeral ; lin mkCard_104 = NumDigits ; lin mkCard_105 = AdNum ; lin mkNum_106 = \d -> NumCard (NumNumeral d) ; lin mkNum_107 = \d -> NumCard (NumDigits d) ; lin mkNum_108 = \d -> NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 d)))))) ; lin mkNum_109 = NumCard ; lin mkNum_110 = \a,c -> NumCard (AdNum a c) ; lin mkOrd_111 = OrdNumeral ; lin mkOrd_112 = OrdDigits ; lin mkOrd_113 = \d -> OrdNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 d))))) ; lin mkOrd_114 = OrdSuperl ; lin mkAdN_141 = AdnCAdv ; lin mkDigits_142 = IDig ; lin mkDigits_143 = IIDig ; lin mkCN_154 = UseN ; lin mkCN_155 = ComplN2 ; lin mkCN_156 = \f,x -> ComplN2 (ComplN3 f x) ; lin mkCN_157 = UseN2 ; lin mkCN_158 = \n -> UseN2 (Use2N3 n) ; lin mkCN_159 = AdjCN ; lin mkCN_160 = \x,y -> AdjCN x (UseN y) ; lin mkCN_161 = \x,y -> AdjCN y x ; lin mkCN_162 = \x,y -> AdjCN y (UseN x) ; lin mkCN_163 = \x,y -> AdjCN (PositA x) y ; lin mkCN_164 = \x,y -> AdjCN (PositA x) (UseN y) ; lin mkCN_165 = RelCN ; lin mkCN_166 = \x,y -> RelCN (UseN x) y ; lin mkCN_167 = AdvCN ; lin mkCN_168 = \x,y -> AdvCN (UseN x) y ; lin mkCN_169 = \cn,s -> SentCN cn (EmbedS s) ; lin mkCN_170 = \cn,s -> SentCN cn (EmbedQS s) ; lin mkCN_171 = \cn,s -> SentCN cn (EmbedVP s) ; lin mkCN_172 = ApposCN ; lin mkCN_173 = \x,y -> ApposCN (UseN x) y ; lin mkPhr_174 = PhrUtt ; lin mkPhr_175 = \u,v -> PhrUtt NoPConj u v ; lin mkPhr_176 = \u,v -> PhrUtt u v NoVoc ; lin mkPhr_177 = \u -> PhrUtt NoPConj u NoVoc ; lin mkPhr_178 = \s -> PhrUtt NoPConj (UttS s) NoVoc ; lin mkPhr_179 = \s -> PhrUtt NoPConj (UttS (TUseCl TPres ASimul PPos s)) NoVoc ; lin mkPhr_180 = \s -> PhrUtt NoPConj (UttQS s) NoVoc ; lin mkPhr_181 = \s -> PhrUtt NoPConj (UttImpSg PPos s) NoVoc ; lin mkPConj_182 = PConjConj ; lin noPConj_183 = NoPConj ; lin mkVoc_184 = VocNP ; lin noVoc_185 = NoVoc ; lin positivePol_186 = PPos ; lin negativePol_187 = PNeg ; lin simultaneousAnt_188 = ASimul ; lin anteriorAnt_189 = AAnter ; lin presentTense_190 = TPres ; lin pastTense_191 = TPast ; lin futureTense_192 = TFut ; lin conditionalTense_193 = TCond ; lin singularImpForm_194 = IFSg ; lin pluralImpForm_195 = IFPl ; lin politeImpForm_196 = IFPol ; lin mkUtt_197 = UttS ; lin mkUtt_198 = \c -> UttS (TUseCl TPres ASimul PPos c) ; lin mkUtt_199 = UttQS ; lin mkUtt_200 = \c -> UttQS (TUseQCl TPres ASimul PPos c) ; lin mkUtt_201 = mkUttImp ; lin mkUtt_202 = \f -> mkUttImp f PPos ; lin mkUtt_203 = UttImpSg ; lin mkUtt_204 = UttImpSg PPos ; lin mkUtt_205 = UttIP ; lin mkUtt_206 = UttIAdv ; lin mkUtt_207 = UttNP ; lin mkUtt_208 = UttAdv ; lin mkUtt_209 = UttVP ; lin lets_Utt_210 = ImpPl1 ; lin mkQCl_211 = QuestCl ; lin mkQCl_212 = QuestVP ; lin mkQCl_213 = QuestSlash ; lin mkQCl_214 = \ip,np,v -> QuestSlash ip (SlashVP np (SlashV2a v)) ; lin mkQCl_215 = QuestIAdv ; lin mkQCl_216 = \p,ip -> QuestIAdv (PrepIP p ip) ; lin mkQCl_217 = \a -> QuestIComp (CompIAdv a) ; lin mkQCl_218 = \a -> QuestIComp (CompIP a) ; lin mkQCl_219 = ExistIP ; lin mkIP_220 = IdetCN ; lin mkIP_221 = \i,n -> IdetCN i (UseN n) ; lin mkIP_222 = \i,n -> IdetCN (IdetQuant i NumSg) n ; lin mkIP_223 = \i,nu,n -> IdetCN (IdetQuant i nu) n ; lin mkIP_224 = \i,n -> IdetCN (IdetQuant i NumSg) (UseN n) ; lin mkIP_225 = AdvIP ; lin mkIDet_226 = \i,nu -> IdetQuant i nu ; lin mkIDet_227 = \i -> IdetQuant i NumSg ; lin whichSg_IDet_228 = IdetQuant which_IQuant NumSg ; lin whichPl_IDet_229 = IdetQuant which_IQuant NumPl ; lin what_IP_230 = whatSg_IP ; lin who_IP_231 = whoSg_IP ; lin which_IDet_232 = whichSg_IDet ; lin mkIAdv_233 = PrepIP ; lin mkRCl_234 = RelCl ; lin mkRCl_235 = RelVP ; lin mkRCl_236 = RelSlash ; lin mkRCl_237 = \rp,np,v2 -> RelSlash rp (SlashVP np (SlashV2a v2)) ; lin which_RP_238 = IdRP ; lin mkRP_239 = FunRP ; lin mkClSlash_240 = \np,v2 -> SlashVP np (SlashV2a v2) ; lin mkClSlash_241 = \np,vv,v2 -> SlashVP np (SlashVV vv (SlashV2a v2)) ; lin mkClSlash_242 = AdvSlash ; lin mkClSlash_243 = SlashPrep ; lin mkImp_244 = ImpVP ; lin mkImp_245 = \v -> ImpVP (UseV v) ; lin mkImp_246 = \v,np -> ImpVP (ComplV2 v np) ; lin mkS_400 = TUseCl TPres ASimul PPos ; lin mkS_247 = \t -> TUseCl t ASimul PPos ; lin mkS_248 = \a -> TUseCl TPres a PPos ; lin mkS_249 = \p -> TUseCl TPres ASimul p ; lin mkS_250 = \t,a -> TUseCl t a PPos ; lin mkS_251 = \t,p -> TUseCl t ASimul p ; lin mkS_252 = \a,p -> TUseCl TPres a p ; lin mkS_253 = \t,a -> TUseCl t a ; lin mkS_254 = \c,x,y -> ConjS c (BaseS x y) ; lin mkS_255 = \c,xy -> ConjS c xy ; lin mkS_256 = AdvS ; lin mkQS_257 = TUseQCl TPres ASimul PPos ; lin mkQS_258 = \t -> TUseQCl t ASimul PPos ; lin mkQS_259 = \a -> TUseQCl TPres a PPos ; lin mkQS_260 = \p -> TUseQCl TPres ASimul p ; lin mkQS_261 = \t,a -> TUseQCl t a PPos ; lin mkQS_262 = \t,p -> TUseQCl t ASimul p ; lin mkQS_263 = \a,p -> TUseQCl TPres a p ; lin mkQS_264 = TUseQCl ; lin mkQS_265 = \x -> TUseQCl TPres ASimul PPos (QuestCl x) ; lin mkRS_266 = TUseRCl TPres ASimul PPos ; lin mkRS_267 = \t -> TUseRCl t ASimul PPos ; lin mkRS_268 = \a -> TUseRCl TPres a PPos ; lin mkRS_269 = \p -> TUseRCl TPres ASimul p ; lin mkRS_270 = \t,a -> TUseRCl t a PPos ; lin mkRS_271 = \t,p -> TUseRCl t ASimul p ; lin mkRS_272 = \a,p -> TUseRCl TPres a p ; lin mkRS_273 = TUseRCl ; lin mkRS_274 = \c,x,y -> ConjRS c (BaseRS x y) ; lin mkRS_275 = \c,xy -> ConjRS c xy ; lin emptyText_276 = TEmpty ; --lin fullStopPunct_277 = PFullStop ; --lin questMarkPunct_278 = PQuestMark ; --lin exclMarkPunct_279 = PExclMark ; lin mkText_280 = \x -> TFullStop x TEmpty ; lin mkText_281 = \u -> TFullStop (PhrUtt NoPConj u NoVoc) TEmpty ; lin mkText_282 = \s -> TFullStop (PhrUtt NoPConj (UttS s) NoVoc) TEmpty ; lin mkText_283 = \c -> TFullStop (PhrUtt NoPConj (UttS (TUseCl TPres ASimul PPos c)) NoVoc) TEmpty ; lin mkText_284 = \q -> TQuestMark (PhrUtt NoPConj (UttQS q) NoVoc) TEmpty ; lin mkText_285 = \i -> TExclMark (PhrUtt NoPConj (UttImpSg PPos i) NoVoc) TEmpty ; lin mkText_286 = \p,i -> TExclMark (PhrUtt NoPConj (UttImpSg p i) NoVoc) TEmpty ; lin mkText_287 = TFullStop ; lin mkVP_288 = UseV ; lin mkVP_289 = ComplV2 ; lin mkVP_290 = ComplV3 ; lin mkVP_291 = ComplVV ; lin mkVP_292 = ComplVS ; lin mkVP_293 = ComplVQ ; lin mkVP_294 = ComplVA ; lin mkVP_295 = ComplV2A ; lin mkVP_296 = \v,n,q -> (ComplSlash (SlashV2S v q) n) ; lin mkVP_297 = \v,n,q -> (ComplSlash (SlashV2Q v q) n) ; lin mkVP_298 = \v,n,q -> (ComplSlash (SlashV2V v q) n) ; lin mkVP_299 = \a -> UseComp (CompAP (PositA a)) ; lin mkVP_300 = \y,z -> (UseComp (CompAP (ComparA y z))) ; lin mkVP_301 = \y,z -> (UseComp (CompAP (ComplA2 y z))) ; lin mkVP_302 = \a -> UseComp (CompAP a) ; lin mkVP_303 = \a -> UseComp (CompNP a) ; lin mkVP_304 = \y -> (UseComp (CompNP (DetArtSg IndefArt y))) ; lin mkVP_305 = \y -> (UseComp (CompNP (DetArtSg IndefArt (UseN y)))) ; lin mkVP_306 = \a -> UseComp (CompAdv a) ; lin mkVP_307 = AdvVP ; lin mkVP_308 = AdVVP ; lin mkVP_309 = ComplSlash ; lin mkVP_310 = ReflVP ; lin reflexiveVP_311 = \v -> ReflVP (SlashV2a v) ; lin mkVPSlash_312 = SlashV2a ; lin mkVPSlash_313 = Slash2V3 ; lin mkVPSlash_314 = SlashV2A ; lin mkVPSlash_315 = SlashV2Q ; lin mkVPSlash_316 = SlashV2S ; lin mkVPSlash_317 = SlashV2V ; lin passiveVP_318 = PassV2 ; lin passiveVP_319 = \v,np -> (AdvVP (PassV2 v) (PrepNP by8agent_Prep np)) ; lin progressiveVP_320 = ProgrVP ; lin mkListS_321 = BaseS ; lin mkListS_322 = ConsS ; lin mkListAP_323 = BaseAP ; lin mkListAP_324 = ConsAP ; lin mkListAdv_325 = BaseAdv ; lin mkListAdv_326 = ConsAdv ; lin mkListNP_327 = BaseNP ; lin mkListNP_328 = ConsNP ; lin mkListRS_329 = BaseRS ; lin mkListRS_330 = ConsRS ; lin that_NP_331 = DetNP (DetQuant that_Quant NumSg) ; lin this_NP_332 = DetNP (DetQuant this_Quant NumSg) ; lin those_NP_333 = DetNP (DetQuant that_Quant NumPl) ; lin these_NP_334 = DetNP (DetQuant this_Quant NumPl) ; lin that_Det_335 = (DetQuant that_Quant NumSg) ; lin this_Det_336 = (DetQuant this_Quant NumSg) ; lin those_Det_337 = (DetQuant that_Quant NumPl) ; lin these_Det_338 = (DetQuant this_Quant NumPl) ; lin the_Det = DetQuant DefArt NumSg ; lin thePl_Det = DetQuant DefArt NumPl ; lin a_Det = DetQuant IndefArt NumSg ; lin aPl_Det = DetQuant IndefArt NumPl ; oper ComplV2 : V2 -> NP -> VP = \v,np -> ComplSlash (SlashV2a v) np ; ComplV2A : V2A -> NP -> AP -> VP = \v,np,ap -> ComplSlash (SlashV2A v ap) np ; --# notminimal ComplV3 : V3 -> NP -> NP -> VP = \v,o,d -> ComplSlash (Slash3V3 v o) d ; DetArtSg : Quant -> CN -> NP = \a -> DetCN (DetQuant a NumSg) ; DetArtPl : Quant -> CN -> NP = \a -> DetCN (DetQuant a NumPl) ; DetArtOrd : Quant -> Num -> Ord -> Det = DetQuantOrd ; --# notminimal DetArtCard : Quant -> Card -> Det = \a,c -> DetQuant a (NumCard c) ; TUseCl : Tense -> Ant -> Pol -> Cl -> S = \t,a -> UseCl (TTAnt t a) ; TUseQCl : Tense -> Ant -> Pol -> QCl -> QS = \t,a -> UseQCl (TTAnt t a) ; TUseRCl : Tense -> Ant -> Pol -> RCl -> RS = \t,a -> UseRCl (TTAnt t a) ; --# notminimal param ImpForm = IFSg | IFPl | IFPol ; --# notminimal oper --# notminimal singularImpForm : ImpForm = IFSg ; --# notminimal pluralImpForm : ImpForm = IFPl ; --# notminimal politeImpForm : ImpForm = IFPol ; --# notminimal mkUttImp : ImpForm -> Pol -> Imp -> Utt = \f,p,i -> case f of { --# notminimal IFSg => UttImpSg p i ; --# notminimal IFPl => UttImpPl p i ; --# notminimal IFPol => UttImpPol p i --# notminimal } ; --# notminimal whichSg_IDet : IDet = IdetQuant which_IQuant NumSg ; --# notminimal whichPl_IDet : IDet = IdetQuant which_IQuant NumPl ; --# notminimal }