summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkr.angelov <kr.angelov@gmail.com>2011-08-30 15:23:59 +0000
committerkr.angelov <kr.angelov@gmail.com>2011-08-30 15:23:59 +0000
commita29a4408a8dc2306b5a2fd1a3af4b8a69d0a8785 (patch)
tree0d4cacd59334d1e4ade6d266684812d65072799f
parentc70df9200c3244f45f75dcaefa650a82ddab55cc (diff)
added quantifier ambiguity in the NLG example
-rw-r--r--examples/nlg/NLG.gf19
-rw-r--r--examples/nlg/NLGEng.gf10
2 files changed, 25 insertions, 4 deletions
diff --git a/examples/nlg/NLG.gf b/examples/nlg/NLG.gf
index 24c7d31c3..594911a68 100644
--- a/examples/nlg/NLG.gf
+++ b/examples/nlg/NLG.gf
@@ -12,11 +12,13 @@ cat
NP ((Ind -> Prop) -> Prop);
AP (Ind -> Prop);
VP (Ind -> Prop);
+ VPSlash (Ind -> Ind -> Prop);
V (Ind -> Prop);
V2 (Ind -> Ind -> Prop);
Comp (Ind -> Prop);
Pol (Prop -> Prop);
Cl Prop;
+ ClSlash (Ind -> Prop);
S Prop;
Utt;
@@ -32,10 +34,21 @@ fun
UseV : ({v} : Ind -> Prop) ->
V v -> VP v ;
- ComplV2 : ({v2} : Ind -> Ind -> Prop) ->
- ({np} : (Ind -> Prop) -> Prop) ->
- V2 v2 -> NP np -> VP (\i -> np (v2 i)) ;
+ ComplSlash : ({v2} : Ind -> Ind -> Prop) ->
+ ({np} : (Ind -> Prop) -> Prop) ->
+ VPSlash v2 -> NP np -> VP (\i -> np (v2 i)) ;
+
+ SlashV2a : ({v2} : Ind -> Ind -> Prop) ->
+ V2 v2 -> VPSlash v2 ;
+
+ SlashVP : ({np} : (Ind -> Prop) -> Prop) ->
+ ({v2} : Ind -> Ind -> Prop) ->
+ NP np -> VPSlash v2 -> ClSlash (\x -> np (v2 x));
+ ComplClSlash : ({sl} : Ind -> Prop) ->
+ ({np} : (Ind -> Prop) -> Prop) ->
+ ClSlash sl -> NP np -> Cl (np sl);
+
UseComp : ({c} : Ind -> Prop) ->
Comp c -> VP c ;
diff --git a/examples/nlg/NLGEng.gf b/examples/nlg/NLGEng.gf
index 61f444ca2..f1bd64881 100644
--- a/examples/nlg/NLGEng.gf
+++ b/examples/nlg/NLGEng.gf
@@ -10,11 +10,13 @@ lincat
NP = Eng.NP;
AP = Eng.AP;
VP = Eng.VP;
+ VPSlash = Eng.VPSlash;
V2 = Eng.V2;
V = Eng.V;
Comp=Eng.Comp;
Pol= Eng.Pol;
Cl = Eng.Cl;
+ ClSlash = Eng.ClSlash;
S = Eng.S;
Utt= Eng.Utt;
Conj = Eng.Conj;
@@ -25,7 +27,13 @@ lin
DetCN _ _ = Eng.DetCN;
UseN _ = Eng.UseN;
UsePN _ = Eng.UsePN;
- ComplV2 _ _ v2 np = Eng.ComplSlash (Eng.SlashV2a v2) np;
+ SlashV2a _ = Eng.SlashV2a;
+ ComplSlash _ _ = Eng.ComplSlash;
+ SlashVP _ _ = Eng.SlashVP;
+ ComplClSlash _ _ cl np = lin Cl {
+ s = \\t,a,p,o => cl.s ! t ! a ! p ! o ++ cl.c2 ++ np.s ! NCase Nom
+ } ;
+
UseComp _ = Eng.UseComp ;
CompAP _ = Eng.CompAP ;
CompNP _ = Eng.CompNP ;