=> CAgr np.a ;
- _ => CAgrNo
- } ;
- obj = \\_ => nps.obj
- } ;
-
- UseV v = {
- v = v ;
- clit = [] ;
- clitAgr = CAgrNo ;
- obj = \\_ => []
- } ;
-
- DetCN det cn = {
- s = \\c => {
- obj = det.s ! cn.g ! c ++ cn.s ! det.n ;
- clit = [] ;
- isClit = False
- } ;
- a = Ag cn.g det.n Per3
- } ;
-
- ModCN ap cn = {
- s = \\n => preOrPost ap.isPre (ap.s ! cn.g ! n) (cn.s ! n) ;
- g = cn.g
- } ;
-
- CompAP ap = {
- v = essere_V ;
- clit = [] ;
- clitAgr = CAgrNo ;
- obj = \\ag => case ag of {
- Ag g n _ => ap.s ! g ! n
- }
- } ;
-
- AdAP ada ap = {
- s = \\g,n => ada.s ++ ap.s ! g ! n ;
- isPre = ap.isPre ;
- } ;
-
- ConjNP co nx ny = {
- s = \\c => {
- obj = (nx.s ! c).obj ++ co.s ++ (ny.s ! c).obj ;
- clit = [] ;
- isClit = False
- } ;
- a = ny.a ; ---- should be conjAgr co.n nx.a ny.a
- } ;
-
- UseN n = n ;
-
- UseA adj = adj ;
-
- a_Det = adjDet (mkAdj "un" "una" [] [] True) Sg ;
-
- the_Det = {
- s = table {
- Masc => table {
- Nom | Acc => elisForms "lo" "l'" "il" ;
- Dat => elisForms "allo" "all'" "al"
- } ;
- Fem => table {
- Nom | Acc => elisForms "la" "'l" "la" ;
- Dat => elisForms "alla" "all'" "alla"
- }
- } ;
- n = Sg
- } ;
-
- this_Det = adjDet (regAdj "questo") Sg ;
- these_Det = adjDet (regAdj "questo") Pl ;
- that_Det = adjDet quello_A Sg ;
- those_Det = adjDet quello_A Pl ;
-
- i_NP = pronNP "io" "mi" "mi" Masc Sg Per1 ;
- she_NP = pronNP "lei" "la" "le" Fem Sg Per3 ;
- we_NP = pronNP "noi" "ci" "ci" Masc Pl Per1 ;
-
- very_AdA = ss "molto" ;
-
- Pos = {s = [] ; b = True} ;
- Neg = {s = [] ; b = False} ;
- Pres = {s = [] ; t = ResIta.Pres} ;
- Perf = {s = [] ; t = ResIta.Perf} ;
-
- and_Conj = {s = "e" ; n = Pl} ;
- or_Conj = {s = "o" ; n = Sg} ;
-
- oper
- quello_A : Adj = mkAdj
- (elisForms "quello" "quell'" "quel") "quella"
- (elisForms "quegli" "quegli" "quei") "quelle"
- True ;
-
-}
diff --git a/contrib/summerschool/mini/ParadigmsIta.gf b/contrib/summerschool/mini/ParadigmsIta.gf
deleted file mode 100644
index 010140a62..000000000
--- a/contrib/summerschool/mini/ParadigmsIta.gf
+++ /dev/null
@@ -1,47 +0,0 @@
-resource ParadigmsIta = GrammarIta [N,A,V] **
- open ResIta, GrammarIta, Prelude in {
-
-oper
- masculine : Gender = Masc ;
- feminine : Gender = Fem ;
-
- accusative : Case = Acc ;
- dative : Case = Dat ;
-
- mkN = overload {
- mkN : (vino : Str) -> N
- = \n -> lin N (regNoun n) ;
- mkN : (uomo, uomini : Str) -> Gender -> N
- = \s,p,g -> lin N (mkNoun s p g) ;
- } ;
-
- mkA = overload {
- mkA : (nero : Str) -> A
- = \a -> lin A (regAdj a) ;
- mkA : (buono,buona,buoni,buone : Str) -> Bool -> A
- = \sm,sf,pm,pf,p -> lin A (mkAdj sm sf pm pf False) ;
- } ;
-
- preA : A -> A
- = \a -> lin A {s = a.s ; isPre = True} ;
-
- mkV = overload {
- mkV : (finire : Str) -> V
- = \v -> lin V (regVerb v) ;
- mkV : (andare,vado,vadi,va,andiamo,andate,vanno,andato : Str) -> V
- = \i,p1,p2,p3,p4,p5,p6,p -> lin V (mkVerb i p1 p2 p3 p4 p5 p6 p Avere) ;
- } ;
-
- essereV : V -> V
- = \v -> lin V {s = v.s ; aux = Essere} ;
-
- mkV2 = overload {
- mkV2 : Str -> V2
- = \s -> lin V2 (regVerb s ** {c = accusative}) ;
- mkV2 : V -> V2
- = \v -> lin V2 (v ** {c = accusative}) ;
- mkV2 : V -> Case -> V2
- = \v,c -> lin V2 (v ** {c = c}) ;
- } ;
-
-}
diff --git a/contrib/summerschool/mini/ResIta.gf b/contrib/summerschool/mini/ResIta.gf
deleted file mode 100644
index f39db69f9..000000000
--- a/contrib/summerschool/mini/ResIta.gf
+++ /dev/null
@@ -1,178 +0,0 @@
-resource ResIta = open Prelude in {
-
--- parameters
-
-param
- Number = Sg | Pl ;
- Gender = Masc | Fem ;
- Case = Nom | Acc | Dat ;
- Agr = Ag Gender Number Person ;
- Aux = Avere | Essere ;
- Tense = Pres | Perf ;
- Person = Per1 | Per2 | Per3 ;
-
- VForm = VInf | VPres Number Person | VPart Gender Number ;
-
- ClitAgr = CAgrNo | CAgr Agr ;
-
--- parts of speech
-
-oper
- VP = {
- v : Verb ;
- clit : Str ;
- clitAgr : ClitAgr ;
- obj : Agr => Str
- } ;
- NP = {
- s : Case => {clit,obj : Str ; isClit : Bool} ;
- a : Agr
- } ;
-
--- the preposition word of an abstract case
-
- prepCase : Case -> Str = \c -> case c of {
- Dat => "a" ;
- _ => []
- } ;
-
--- for predication
-
- agrV : Verb -> Agr -> Str = \v,a -> case a of {
- Ag _ n p => v.s ! VPres n p
- } ;
-
- auxVerb : Aux -> Verb = \a -> case a of {
- Avere =>
- mkVerb "avere" "ho" "hai" "ha" "abbiamo" "avete" "hanno" "avuto" Avere ;
- Essere =>
- mkVerb "essere" "sono" "sei" "è" "siamo" "siete" "sono" "stato" Essere
- } ;
-
- agrPart : Verb -> Agr -> ClitAgr -> Str = \v,a,c -> case v.aux of {
- Avere => case c of {
- CAgr (Ag g n _) => v.s ! VPart g n ;
- _ => v.s ! VPart Masc Sg
- } ;
- Essere => case a of {
- Ag g n _ => v.s ! VPart g n
- }
- } ;
-
- neg : Bool -> Str = \b -> case b of {True => [] ; False => "non"} ;
-
- essere_V = auxVerb Essere ;
-
--- for coordination
-
- conjAgr : Number -> Agr -> Agr -> Agr = \n,xa,ya ->
- let
- x = agrFeatures xa ; y = agrFeatures ya
- in Ag
- (conjGender x.g y.g)
- (conjNumber (conjNumber x.n y.n) n)
- (conjPerson x.p y.p) ;
-
- agrFeatures : Agr -> {g : Gender ; n : Number ; p : Person} = \a ->
- case a of {Ag g n p => {g = g ; n = n ; p = p}} ;
-
- conjGender : Gender -> Gender -> Gender = \g,h ->
- case g of {Masc => Masc ; _ => h} ;
-
- conjNumber : Number -> Number -> Number = \m,n ->
- case m of {Pl => Pl ; _ => n} ;
-
- conjPerson : Person -> Person -> Person = \p,q ->
- case of {
- | <_,Per1> => Per1 ;
- | <_,Per2> => Per2 ;
- _ => Per3
- } ;
-
-
-
--- for morphology
-
- Noun : Type = {s : Number => Str ; g : Gender} ;
- Adj : Type = {s : Gender => Number => Str ; isPre : Bool} ;
- Verb : Type = {s : VForm => Str ; aux : Aux} ;
-
- mkNoun : Str -> Str -> Gender -> Noun = \vino,vini,g -> {
- s = table {Sg => vino ; Pl => vini} ;
- g = g
- } ;
-
- regNoun : Str -> Noun = \vino -> case vino of {
- fuo + c@("c"|"g") + "o" => mkNoun vino (fuo + c + "hi") Masc ;
- ol + "io" => mkNoun vino (ol + "i") Masc ;
- vin + "o" => mkNoun vino (vin + "i") Masc ;
- cas + "a" => mkNoun vino (cas + "e") Fem ;
- pan + "e" => mkNoun vino (pan + "i") Masc ;
- _ => mkNoun vino vino Masc
- } ;
-
- mkAdj : (_,_,_,_ : Str) -> Bool -> Adj = \buono,buona,buoni,buone,p -> {
- s = table {
- Masc => table {Sg => buono ; Pl => buoni} ;
- Fem => table {Sg => buona ; Pl => buone}
- } ;
- isPre = p
- } ;
-
- regAdj : Str -> Adj = \nero -> case nero of {
- ner + "o" => mkAdj nero (ner + "a") (ner + "i") (ner + "e") False ;
- verd + "e" => mkAdj nero nero (verd + "i") (verd + "i") False ;
- _ => mkAdj nero nero nero nero False
- } ;
-
- mkVerb : (_,_,_,_,_,_,_,_ : Str) -> Aux -> Verb =
- \amare,amo,ami,ama,amiamo,amate,amano,amato,aux -> {
- s = table {
- VInf => amare ;
- VPres Sg Per1 => amo ;
- VPres Sg Per2 => ami ;
- VPres Sg Per3 => ama ;
- VPres Pl Per1 => amiamo ;
- VPres Pl Per2 => amate ;
- VPres Pl Per3 => amano ;
- VPart g n => (regAdj amato).s ! g ! n
- } ;
- aux = aux
- } ;
-
- regVerb : Str -> Verb = \amare -> case amare of {
- am + "are" => mkVerb amare (am+"o") (am+"i") (am+"a")
- (am+"iamo") (am+"ate") (am+"ano") (am+"ato") Avere ;
- tem + "ere" => mkVerb amare (tem+"o") (tem+"i") (tem+"e")
- (tem+"iamo") (tem+"ete") (tem+"ono") (tem+"uto") Avere ;
- fin + "ire" => mkVerb amare (fin+"isco") (fin+"isci") (fin+"isce")
- (fin+"iamo") (fin+"ite") (fin+"iscono") (fin+"ito") Avere
- } ;
-
--- for structural words
-
- adjDet : Adj -> Number -> {s : Gender => Case => Str ; n : Number} =
- \adj,n -> {
- s = \\g,c => prepCase c ++ adj.s ! g ! n ;
- n = n
- } ;
-
- pronNP : (s,a,d : Str) -> Gender -> Number -> Person -> NP =
- \s,a,d,g,n,p -> {
- s = table {
- Nom => {clit = [] ; obj = s ; isClit = False} ;
- Acc => {clit = a ; obj = [] ; isClit = True} ;
- Dat => {clit = d ; obj = [] ; isClit = True}
- } ;
- a = Ag g n p
- } ;
-
--- phonological auxiliaries
-
- vowel : pattern Str = #("a" | "e" | "i" | "o" | "u" | "h") ;
- s_impuro : pattern Str = #("z" | "s" + ("b"|"c"|"d"|"f"|"m"|"p"|"q"|"t")) ;
-
- elisForms : (_,_,_ : Str) -> Str = \lo,l',il ->
- pre {#s_impuro => lo ; #vowel => l' ; _ => il} ;
-
-}
diff --git a/contrib/summerschool/mini/Syntax.gf b/contrib/summerschool/mini/Syntax.gf
deleted file mode 100644
index 0941f9600..000000000
--- a/contrib/summerschool/mini/Syntax.gf
+++ /dev/null
@@ -1,45 +0,0 @@
-interface Syntax = Grammar -
- [UseCl,PredVP,ComplV2,UseV,DetCN,ModCN,CompAP,AdAP,
- UseN,UseA,Pres,Perf,Pos,Neg] **
- open Grammar in {
-
-oper
- mkS = overload {
- mkS : Cl -> S = UseCl Pres Pos ;
- mkS : Tense -> Cl -> S = \t -> UseCl t Pos ;
- mkS : Pol -> Cl -> S = UseCl Pres ;
- mkS : Tense -> Pol -> Cl -> S = UseCl ;
- } ;
-
- mkCl = overload {
- mkCl : NP -> V -> Cl = \np,v -> PredVP np (UseV v) ;
- mkCl : NP -> V2 -> NP -> Cl = \np,v,o -> PredVP np (ComplV2 v o) ;
- mkCl : NP -> A -> Cl = \np,a -> PredVP np (CompAP (UseA a)) ;
- mkCl : NP -> AP -> Cl = \np,ap -> PredVP np (CompAP ap) ;
- mkCl : NP -> VP -> Cl = PredVP ;
- } ;
-
- mkAP = overload {
- mkAP : A -> AP = UseA ;
- mkAP : AdA -> AP -> AP = AdAP ;
- } ;
-
- mkNP = overload {
- mkNP : Det -> N -> NP = \d,n -> DetCN d (UseN n) ;
- mkNP : Det -> CN -> NP = \d,n -> DetCN d n ;
- } ;
-
- mkCN = overload {
- mkCN : N -> CN = UseN ;
- mkCN : A -> N -> CN = \a,n -> ModCN (UseA a) (UseN n) ;
- mkCN : A -> CN -> CN = \a,n -> ModCN (UseA a) n ;
- mkCN : AP -> N -> CN = \a,n -> ModCN a (UseN n) ;
- mkCN : AP -> CN -> CN = \a,n -> ModCN a n ;
- } ;
-
- presTense : Tense = Pres ;
- perfTense : Tense = Perf ;
- posPol : Pol = Pos ;
- negPol : Pol = Neg ;
-
-}
diff --git a/contrib/summerschool/mini/SyntaxIta.gf b/contrib/summerschool/mini/SyntaxIta.gf
deleted file mode 100644
index b4562b0de..000000000
--- a/contrib/summerschool/mini/SyntaxIta.gf
+++ /dev/null
@@ -1,3 +0,0 @@
-instance SyntaxIta of Syntax = GrammarIta -
- [PredVP,ComplV2,UseV,DetCN,ModCN,CompAP,AdAP,UseN,UseA] **
- open GrammarIta in {} ;
diff --git a/contrib/summerschool/mini/Test.gf b/contrib/summerschool/mini/Test.gf
deleted file mode 100644
index ebe55e7e0..000000000
--- a/contrib/summerschool/mini/Test.gf
+++ /dev/null
@@ -1,9 +0,0 @@
-abstract Test = Grammar ** {
-
-fun
- man_N, woman_N, house_N, tree_N : N ;
- big_A, small_A, green_A : A ;
- walk_V, arrive_V : V ;
- love_V2, please_V2 : V2 ;
-
-} ;
diff --git a/contrib/summerschool/mini/TestIta.gf b/contrib/summerschool/mini/TestIta.gf
deleted file mode 100644
index 8ae524371..000000000
--- a/contrib/summerschool/mini/TestIta.gf
+++ /dev/null
@@ -1,17 +0,0 @@
-concrete TestIta of Test = GrammarIta ** open ParadigmsIta in {
-
-lin
- man_N = mkN "uomo" "uomini" masculine ;
- woman_N = mkN "donna" ;
- house_N = mkN "casa" ;
- tree_N = mkN "albero" ;
- big_A = preA (mkA "grande") ;
- small_A = preA (mkA "piccolo") ;
- green_A = mkA "verde" ;
- walk_V = mkV "camminare" ;
- arrive_V = essereV (mkV "arrivare") ;
- love_V2 = mkV2 "amare" ;
- please_V2 = mkV2 (essereV (mkV "piacere" "piaccio" "piaci" "piace"
- "piacciamo" "piacete" "piacciono" "piaciuto")) dative ;
-
-} ;
diff --git a/examples/RDF/RDF.gf b/examples/RDF/RDF.gf
deleted file mode 100644
index 588d3f596..000000000
--- a/examples/RDF/RDF.gf
+++ /dev/null
@@ -1,77 +0,0 @@
--------------------------------------------------------------------------
---
--- Abstract Syntax for RDF according to the RDF and RDFS specifications
---
--- (c) Krasimir Angelov
---
--------------------------------------------------------------------------
-
-abstract RDF = {
-
-cat Value (class : Class) ;
-
-cat Resource (class : Class) ;
-fun res : (c : Class) -> Resource c -> Value c ;
-
-cat [Resource (class : Class)] ;
-
-cat URI ;
-fun uri : (c : Class) -> URI -> Resource c ;
-
-cat BNode ;
-fun bnode : (c : Class) -> BNode -> Resource c ;
- nodeId : String -> BNode ;
-
-cat DataType ;
-fun datatype : DataType -> URI ;
-
-cat Literal ;
-fun lit : Literal -> Value literal_C ;
- int : Int -> Literal ;
- float : Float -> Literal ;
- string : String -> DataType -> Literal ;
-
-cat Property (domain, range : Class) ;
-fun property : (d, r : Class) -> Property d r -> URI ;
-
-cat Container (class : Class) ;
-fun container : (c : Class) -> Container c -> Resource c ;
- bag : Resource bag_C -> [Resource resource_C] -> Container bag_C ;
- seq : Resource seq_C -> [Resource resource_C] -> Container seq_C ;
- alt : Resource alt_C -> [Resource resource_C] -> Container alt_C ;
-
-cat Statement ;
-fun statement : Statement -> Resource statement_C ;
- assert : (d,r : Class) -> Resource d -> Property d r -> Value r -> Statement ;
- r_assert : (d,r : Class) -> Resource statement_C -> Resource d -> Property d r -> Value r -> Statement ;
-
-cat Attribute (class : Class) (subject : Resource class) ;
-fun assign : (d,r : Class) -> (s : Resource d) -> Property d r -> Value r -> Attribute d s ;
- r_assign : (d,r : Class) -> Resource statement_C -> (s : Resource d) -> Property d r -> Value r -> Attribute d s ;
-
-cat [Attribute (class : Class) (subject : Resource class)] ;
-
-cat Description ;
-fun description : Description -> Resource bag_C ;
- describe : (c : Class) -> (s : Resource c) -> [Attribute c s] -> Description ;
- r_describe : Resource bag_C -> (c : Class) -> (s : Resource c) -> [Attribute c s] -> Description ;
-
-cat Class ;
-fun class : Class -> Resource class_C ;
-
-fun resource_C : Class ;
- class_C : Class ;
- property_C : Class ;
- constraintResource_C : Class ;
- constraintProperty_C : Class ;
- literal_C : Class ;
- statement_C : Class ;
- bag_C : Class ;
- seq_C : Class ;
- alt_C : Class ;
-
-cat Inheritance (c1,c2 : Class) ;
-fun inheritance : (c1,c2 : Class) -> Inheritance c1 c2 -> Statement ;
- upcast : (c1,c2 : Class) -> Inheritance c1 c2 -> Resource c1 -> Resource c2 ;
-
-}
\ No newline at end of file
diff --git a/examples/SUMO/Basic.gf b/examples/SUMO/Basic.gf
deleted file mode 100644
index 19ad57054..000000000
--- a/examples/SUMO/Basic.gf
+++ /dev/null
@@ -1,98 +0,0 @@
---# -path=.:englishExtended:common:prelude:abstract
-abstract Basic = {
-
-cat
- Class;
- El Class;
- Ind Class;
- SubClass (c1,c2 : Class);
- Inherits Class Class ;
- [El Class];
- [Class];
- Formula;
- Desc Class;
- Var Class;
- Stmt ;
-
-
--- class-forming operations
-data
- both : Class -> Class -> Class ;
- either : Class -> Class -> Class ;
-
- KappaFn : (c : Class) -> (Var c -> Formula) -> Class ;
-
-
--- inheritance between classes
-data
- -- simple sub-class relations
- inhz : (c : Class) -> Inherits c c;
- inhs : (c1, c2, c3 : Class) -> SubClass c1 c2 -> Inherits c2 c3 -> Inherits c1 c3;
-
- -- (both c1 c2) is subclass of c1 and of c2
- bothL : (c1, c2 : Class) -> SubClass (both c1 c2) c1 ;
- bothR : (c1, c2 : Class) -> SubClass (both c1 c2) c2 ;
-
- -- relationship with other subclasses
- bothC : (c1, c2, c3 : Class) -> Inherits c3 c1 -> Inherits c3 c2 -> Inherits c3 (both c1 c2);
-
- -- (either c1 c2) is superclass of c1 and of c2
- eitherL : (c1, c2 : Class) -> Inherits c1 (either c1 c2);
- eitherR : (c1, c2 : Class) -> Inherits c2 (either c1 c2);
-
- -- relationship with other subclasses
- eitherC : (c1,c2,c3 : Class) -> SubClass c1 c3 -> SubClass c2 c3 -> SubClass (either c1 c2) c3 ;
-
- -- sub-class axiom for KappaFn
- kappa : (c : Class) -> (p : Var c -> Formula) -> Inherits (KappaFn c p) c ;
-
-
--- coercion from Var to El
-data
- var : (c1 , c2 : Class) -> Inherits c1 c2 -> Var c1 -> El c2 ;
-
-
--- coercion from Ind to El
-data
- el : (c1, c2 : Class) -> Inherits c1 c2 -> Ind c1 -> El c2;
-
-
--- first-order logic operations for Formula
-data
- not : Formula -> Formula;
- and : Formula -> Formula -> Formula;
- or : Formula -> Formula -> Formula;
- impl : Formula -> Formula -> Formula;
- equiv : Formula -> Formula -> Formula;
-
--- quantification over instances of a Class
-data
- exists : (c : Class) -> (Var c -> Formula) -> Formula;
- forall : (c : Class) -> (Var c -> Formula) -> Formula;
-
-
--- Desc category
-data
- desc : (c1,c2 : Class) -> Inherits c1 c2 -> Desc c2 ;
-
-fun descClass : (c : Class) -> Desc c -> Class ;
-def descClass _ (desc c _ _) = c ;
-
-fun descInh : (c : Class) -> (p : Desc c) -> Inherits (descClass c p) c ;
---def descInh c1 (desc c2 c1 i) = i ;
-
-fun desc2desc : (c1,c2 : Class) -> Inherits c1 c2 -> Desc c1 -> Desc c2 ;
---def desc2desc _ _ inh dsc = desc ? ? (plusInh ? ? ? inh (descInh ? dsc)) ;
-
---fun plusInh : (c1,c2,c3 : Class) -> Inherits c1 c2 -> Inherits c2 c3 -> Inherits c1 c3 ;
---def plusInh _ _ _ inhz inh2 = inh2 ;
--- plusInh _ _ _ (inhs _ _ _ sc inh1) inh2 = inhs ? ? ? sc (plusInh ? ? ? inh1 inh2) ;
-
-
--- statements
-data
- subClassStm : (c1,c2 : Class) -> SubClass c1 c2 -> Stmt ;
- instStm : (c : Class) -> Ind c -> Stmt ;
- formStm : Formula -> Stmt ;
-
-};
diff --git a/examples/SUMO/BasicBul.gf b/examples/SUMO/BasicBul.gf
deleted file mode 100644
index 61a0d3794..000000000
--- a/examples/SUMO/BasicBul.gf
+++ /dev/null
@@ -1,6 +0,0 @@
-concrete BasicBul of Basic = open SyntaxBul in {
-
-lincat
- Class = CN ;
-
-};
diff --git a/examples/SUMO/BasicEng.gf b/examples/SUMO/BasicEng.gf
deleted file mode 100644
index 6aabd37a5..000000000
--- a/examples/SUMO/BasicEng.gf
+++ /dev/null
@@ -1,99 +0,0 @@
---# -path=.:englishExtended:abstract:common:
-concrete BasicEng of Basic = open CatEng, ExtensionEng, DictLangEng, DictEng, ParadigmsEng, ResEng, Coordination, Prelude, ParamBasic, ConjunctionEng, NounEng in {
-
-lincat
- Class = CatEng.CN ;
- El = CatEng.NP ;
- Ind = CatEng.NP ;
- Var = CatEng.PN ;
- SubClass = {} ;
- Inherits = {} ;
- Desc = CatEng.CN ;
- Formula = ExtensionEng.PolSentence;
- [El] = ConjunctionEng.ListNP;
- [Class] =ExtensionEng.ListCN ;
- Stmt = ExtensionEng.StmtS ;
-
-lin
- BaseClass = {s1,s2 = \\_,_ => "";
- g = Neutr;
- lock_ListCN=<>};
- ConsClass xs x = ExtensionEng.ConsCN xs x ;
-
- BaseEl c = {s1,s2 = \\_ => "";
- a = agrP3 Sg;
- lock_ListNP=<>};
-
- ConsEl c xs x = ConjunctionEng.ConsNP xs x ;
-
- and f1 f2 = {s = \\f,c => f1.s ! Indep ! c ++ "and" ++ f2.s ! Indep ! c; flag = NothingS; lock_PolSentence = <>};
- or f1 f2 = {s = \\f,c => f1.s ! Indep ! c ++ "or" ++ f2.s ! Indep ! c; flag = NothingS; lock_PolSentence = <>};
- not f1 = {s = \\f => table {
- CNeg _ => "it is not true that" ++ f1.s ! f ! CPos ;
- CPos => f1.s ! Indep ! CNeg False
- };
- flag = f1.flag;
- lock_PolSentence = <>
- };
- impl f1 f2 = {s = \\f,c => "if" ++ f1.s ! Indep ! c ++ "then" ++ f2.s ! Indep ! c; flag = NothingS; lock_PolSentence = <>};
-
- equiv f1 f2 = {s = \\f,c => f1.s ! Indep ! c ++ "is" ++ "equivalent" ++ "to" ++ f2.s ! Indep ! c; flag = NothingS;
- lock_PolSentence = <>};
-
- el c1 c2 i e = e;
- var c1 c2 i e = UsePN e;
-
- exists C f = let np = DetCN (DetQuant IndefArt NumSg) C
- in { s = \\form,c => case