If I have a cardinal number, the RGL allows me to create a determiner from it with or without a quantifier:
mkDet : Quant -> Card -> Det --these five
mkDet : Card -> Det --five
If I have an ordinal number, the RGL only allows me to create a determiner from it with a quantifier, not without one:
mkDet : Quant -> Ord -> Det --the fifth
The RGL doesn’t have a function like mkDet : Ord -> Det
. In other words, the RGL assumes that if a determiner contains an ordinal, then the determiner must always contain a quantifier as well: “the first...” or “a first...” but never just “first...”. This seems like an unreasonable assumption to me: quantifier-less ordinal determiners are perfectly valid (even if less common) in many languages, including English.
So, what should I do if do want a quantifier-less ordinal determiner (“my son goes to third grade” etc.)? My workaround would be to fake it with an empty Quant
, but that makes me feel dirty.
Is it necessary to have it as a determiner? If not, then you can use the Ord -> AP
instance of mkAP
as follows.
resource ThirdGrade = open SyntaxEng, ParadigmsEng, LexiconEng in {
oper
third_Ord : Ord = SyntaxEng.mkOrd (mkNumeral "3") ;
third_AP : AP = mkAP third_Ord ;
grade_N : N = mkN "grade" ;
third_grade_NP : NP = mkNP (mkCN third_AP grade_N) ;
my_son_NP : NP = mkNP (mkDet i_Pron) (mkN "son") ;
go_to_V2 : V2 = mkV2 go_V to_Prep ;
example_S : S = mkS (mkCl my_son_NP go_to_V2 third_grade_NP) ;
}
But if you need it to be a Det
, then your solution of making an empty determiner seems like the best way to go.