concrete CatHye of Cat = CommonX ** open Prelude,ResHye in { flags coding = "UTF-8" ; lincat A = {s : Case => Number => Str; def_dat : Number => Str; def_nom : Number => Str; poss1 : Case => Number => Str; poss2 : Case => Number => Str} ; lincat A2 = {s : Case => Number => Str; def_dat : Number => Str; def_nom : Number => Str; poss1 : Case => Number => Str; poss2 : Case => Number => Str; c2 : {s : Str; c : Case}} ; lincat ACard = {s : Str} ; lincat AP = {} ; lincat CN = {s : Case => Number => Str; def_dat : Number => Str; def_nom : Number => Str; poss1 : Case => Number => Str; poss2 : Case => Number => Str} ; lincat Card = {s : Str} ; lincat Cl = {s : 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} ; 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 = {s : Case => Number => Str; def_dat : Number => Str; def_nom : Number => Str; poss1 : Case => Number => Str; poss2 : Case => Number => Str} ; lincat N2 = {s : Case => Number => Str; def_dat : Number => Str; def_nom : Number => Str; poss1 : Case => Number => Str; poss2 : Case => Number => Str; c2 : {s : Str; c : Case}} ; lincat N3 = {s : Case => Number => Str; def_dat : Number => Str; def_nom : Number => Str; poss1 : Case => Number => Str; poss2 : Case => Number => Str; c2 : {s : Str; c : Case}; c3 : {s : Str; c : Case}} ; lincat NP = {s : Case => Number => Str; def_dat : Number => Str; def_nom : Number => Str; poss1 : Case => Number => Str; poss2 : Case => Number => Str} ; lincat Num = {s : Str; n : Number} ; lincat Numeral = {s : Str} ; lincat Ord = {s : Str} ; lincat PN = {s : Str} ; lincat Predet = {s : Str} ; lincat Prep = {s : Str; c : Case; lock_Prep : {}; isPre : Bool} ; lincat Pron = {s : Str} ; lincat QCl = {s : Str} ; lincat QS = {s : Str} ; lincat Quant = {s : Str} ; 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 = {s : Str; causative : 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 V2 = {s : Str; causative : 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; c2 : {s : Str; c : Case}} ; lincat V2A = {s : Str; causative : 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; c2 : {s : Str; c : Case}; c3 : {s : Str; c : Case}} ; lincat V2Q = {s : Str; causative : 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; c2 : {s : Str; c : Case}; c3 : {s : Str; c : Case}} ; lincat V2S = {s : Str; causative : 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; c2 : {s : Str; c : Case}; c3 : {s : Str; c : Case}} ; lincat V2V = {s : Str; causative : 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; c2 : {s : Str; c : Case}; c3 : {s : Str; c : Case}} ; lincat V3 = {s : Str; causative : 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; c2 : {s : Str; c : Case}; c3 : {s : Str; c : Case}} ; lincat VA = {s : Str; causative : 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 VP = {s : Case => Number => Str; conditional : Aspect => Person => Number => Case => Number => Str; converb : {Imperfective : Case => Number => Str; FutCon1 : Case => Number => Str; FutCon2 : Case => Number => Str; Negative : Case => Number => Str; Perfective : Case => Number => Str; Simultaneous : Case => Number => Str}; imperative : Number => Number => Str; passive : Case => Number => Str; past : Person => Number => Case => Number => Str; participle : PartType => Case => Number => Str; subjunctive : Aspect => Person => Number => Case => Number => Str} ; lincat VPSlash = {s : Str; causative : 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; lock_V : {}} ; lincat VQ = {s : Str; causative : 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 VS = {s : Str; causative : 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 VV = {s : Str; causative : 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} ; }