From c0de7a0627c9c20267a3312055ea7da683632d20 Mon Sep 17 00:00:00 2001 From: aarne Date: Fri, 18 Dec 2009 11:08:39 +0000 Subject: mathtext examples from Bonn --- examples/mathtext/LogicI.gf | 48 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 examples/mathtext/LogicI.gf (limited to 'examples/mathtext/LogicI.gf') diff --git a/examples/mathtext/LogicI.gf b/examples/mathtext/LogicI.gf new file mode 100644 index 000000000..e84861550 --- /dev/null +++ b/examples/mathtext/LogicI.gf @@ -0,0 +1,48 @@ +incomplete concrete LogicI of Logic = SymbolsX ** open + LexLogic, + Syntax, + Symbolic, + (Lang = Lang), -- for SSubjS + Prelude in { +lincat + Prop = S ; + Atom = Cl ; + Ind = NP ; + Dom = N ; + Var = NP ; + [Prop] = [S] ; + [Var] = NP * Bool ; +lin + And = mkS and_Conj ; + Or = mkS or_Conj ; + If A B = mkS (mkAdv if_Subj A) B ; + Iff A B = Lang.SSubjS A iff_Subj B ; + Not A = + Lang.SSubjS + (mkS negativePol (mkCl + (mkVP (mkNP the_Quant case_N)))) that_Subj A ; + All xs A B = mkS (mkAdv for_Prep (mkNP all_Predet + (mkNP all_Det (mkCN A xs.p1)))) B ; + Exist xs A B = mkS (mkCl (indef xs.p2 + (mkCN (mkCN A xs.p1) (mkAP (mkAP such_A) B)))) ; + PAtom = mkS ; + NAtom = mkS negativePol ; + MkVar s = symb (dollar s.s) ; + BaseProp = mkListS ; + ConsProp = mkListS ; + BaseVar x = ; + ConsVar x xs = ; + + PExp e = symb (mkSymb (dollar e.s)) ; + IExp e = symb (dollar e.s) ; + +lincat + Pred1 = VP ; + Pred2 = VPSlash ; +lin + PredPred1 f x = mkCl x f ; + PredPred2 f x y = mkCl x (mkVP f y) ; + +oper + dollar : Str -> Str = \s -> "$" ++ s ++ "$" ; +} -- cgit v1.2.3