concrete CatHye of Cat = CommonX ** open Prelude,ResHye in { lincat A = Adj ; lincat A2 = Adj ** {c2 : Compl} ; lincat ACard = {s : Str} ; lincat AP = {s : Species => Case => Number => Str; isPre : Bool} ; lincat CN = {s : Species => Case => Number => Str} ; lincat Card = {s : Str} ; lincat Cl = {s : Str; conditional : Aspect => Number => Str; converb : {imperfective : Str; futCon1 : Str; futCon2 : Str; negative : Str; perfective : Str; simultaneous : Str}; passive : Str; past : Person => Number => Str; participle : PartType => Str; subjunctive : Aspect => Number => Str} ; lincat ClSlash = {s : Str} ; lincat Comp = {s : Str} ; lincat Conj = {s : Str} ; lincat DAP = {s : Str} ; lincat Decimal = {s : Str} ; lincat Det = {s : Str; n : Number; sp : Species} ; lincat Digits = {s : Str} ; lincat GN = {s : Str} ; lincat IComp = {s : Str} ; lincat IDet = {s : Str} ; lincat IP = {s : Str} ; lincat IQuant = {s : Str} ; lincat Imp = {s : Str} ; lincat LN = {s : Str} ; lincat N = Noun ; lincat N2 = Noun ** {c2 : Compl} ; lincat N3 = Noun ** {c2,c3 : Compl} ; lincat NP = {s : Case => Str; a : Agr} ; lincat Num = {s : Str; n : Number} ; lincat Numeral = {s : Str} ; lincat Ord = {s : Str} ; lincat PN = {s : Str} ; lincat Predet = {s : Str} ; lincat Prep = Compl ** {isPre : Bool} ; lincat Pron = {s : Str; empty : Str; a : Agr} ; lincat QCl = {s : Str} ; lincat QS = {s : Str} ; lincat Quant = {s : Str; sp : Species} ; lincat RCl = {s : Str} ; lincat RP = {s : Str} ; lincat RS = {s : Str} ; lincat S = {s : Str} ; lincat SN = {s : Str} ; lincat SSlash = {s : Str} ; lincat Subj = {s : Str} ; lincat V = Verb ; lincat VV,VS,VQ,VA = Verb ; lincat V2 = Verb ** {c2 : Compl} ; lincat V3,V2A,V2S,V2Q,V2V = Verb ** {c2,c3 : Compl} ; lincat VP = {s : Str; conditional : Aspect => Person => Number => Str; converb : {imperfective : Str; futCon1 : Str; futCon2 : Str; negative : Str; perfective : Str; simultaneous : Str}; imperative : Number => Str; passive : Str; past : Person => Number => Str; participle : PartType => Str; subjunctive : Aspect => Person => Number => Str} ; lincat VPSlash = Verb ** {c2 : Compl} ; }