From 941a9f35baa4a67c1ee5df89f1ae0f40677a214d Mon Sep 17 00:00:00 2001 From: bringert Date: Mon, 13 Mar 2006 10:53:44 +0000 Subject: Added transfer example: constructing reflexives. --- transfer/examples/reflexive/reflexive.tra | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 transfer/examples/reflexive/reflexive.tra (limited to 'transfer/examples/reflexive/reflexive.tra') diff --git a/transfer/examples/reflexive/reflexive.tra b/transfer/examples/reflexive/reflexive.tra new file mode 100644 index 000000000..9f8533f7a --- /dev/null +++ b/transfer/examples/reflexive/reflexive.tra @@ -0,0 +1,31 @@ +{- + +$ ../../transferc -i../../lib reflexive.tra + +$ gf English.gf reflexive.trc + +> p -tr "John sees John" | at -tr reflexivize_S | l +PredV2 See John John +ReflV2 See John +John sees himself + +> p -tr "John and Bill see John and Bill" | at -tr reflexivize_S | l +PredV2 See (ConjNP And John Bill) (ConjNP And John Bill) +ReflV2 See (ConjNP And John Bill) +John and Bill see themselves + +> p -tr "John sees Mary" | at -tr reflexivize_S | l +PredV2 See John Mary +PredV2 See John Mary +John sees Mary + +-} + +import tree + +reflexivize : (C : Cat) -> Tree C -> Tree C +reflexivize _ (PredV2 v s o) | eq ? (eq_Tree ?) s o = ReflV2 v s +reflexivize _ t = composOp ? ? compos_Tree ? reflexivize t + +reflexivize_S : Tree S -> Tree S +reflexivize_S = reflexivize S -- cgit v1.2.3