mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-22 09:32:53 -06:00
nounless determiner NPs added; started Backward module - both in exper so far
This commit is contained in:
33
lib/resource/exper/abstract/Backward.gf
Normal file
33
lib/resource/exper/abstract/Backward.gf
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
--1 Obsolete constructs included for backward-compatibility
|
||||||
|
|
||||||
|
abstract Backward = Cat ** {
|
||||||
|
|
||||||
|
fun
|
||||||
|
|
||||||
|
-- from Verb 19/4/2008
|
||||||
|
|
||||||
|
ComplV2 : V2 -> NP -> VP ; -- use it
|
||||||
|
ComplV3 : V3 -> NP -> NP -> VP ; -- send a message to her
|
||||||
|
ComplV2V : V2V -> NP -> VP -> VP ; -- cause it to burn
|
||||||
|
ComplV2S : V2S -> NP -> S -> VP ; -- tell me that it rains
|
||||||
|
ComplV2Q : V2Q -> NP -> QS -> VP ; -- ask me who came
|
||||||
|
ComplV2A : V2A -> NP -> AP -> VP ; -- paint it red
|
||||||
|
|
||||||
|
-- from Sentence 19/4/2008
|
||||||
|
|
||||||
|
SlashV2 : NP -> V2 -> Slash ; -- (whom) he sees
|
||||||
|
SlashVVV2 : NP -> VV -> V2 -> Slash; -- (whom) he wants to see
|
||||||
|
|
||||||
|
-- from Noun 19/4/2008
|
||||||
|
|
||||||
|
NumInt : Int -> Num ; -- 51
|
||||||
|
OrdInt : Int -> Ord ; -- 51st (DEPRECATED)
|
||||||
|
|
||||||
|
-- from Structural 19/4/2008
|
||||||
|
|
||||||
|
that_NP : NP ;
|
||||||
|
these_NP : NP ;
|
||||||
|
this_NP : NP ;
|
||||||
|
those_NP : NP ;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -80,6 +80,7 @@ abstract Cat = Common ** {
|
|||||||
Det ; -- determiner phrase e.g. "those seven"
|
Det ; -- determiner phrase e.g. "those seven"
|
||||||
Predet ; -- predeterminer (prefixed Quant) e.g. "all"
|
Predet ; -- predeterminer (prefixed Quant) e.g. "all"
|
||||||
Quant ; -- quantifier ('nucleus' of Det) e.g. "this/these"
|
Quant ; -- quantifier ('nucleus' of Det) e.g. "this/these"
|
||||||
|
Art ; -- article (non-independent Quant) e.g. "the"
|
||||||
Num ; -- cardinal number (used with QuantPl) e.g. "seven"
|
Num ; -- cardinal number (used with QuantPl) e.g. "seven"
|
||||||
Ord ; -- ordinal number (used in Det) e.g. "seventh"
|
Ord ; -- ordinal number (used in Det) e.g. "seventh"
|
||||||
|
|
||||||
|
|||||||
@@ -35,24 +35,27 @@ abstract Noun = Cat ** {
|
|||||||
-- (This is modified from CLE by further dividing their $Num$ into
|
-- (This is modified from CLE by further dividing their $Num$ into
|
||||||
-- cardinal and ordinal.)
|
-- cardinal and ordinal.)
|
||||||
|
|
||||||
DetSg : Quant -> Ord -> Det ; -- this best man
|
DetSg : Art -> Ord -> Det ; -- the best man
|
||||||
DetPl : Quant -> Num -> Ord -> Det ; -- these five best men
|
DetPl : Art -> Num -> Ord -> Det ; -- the five best men
|
||||||
|
|
||||||
-- Notice that $DetPl$ can still result in a singular determiner, because
|
-- Notice that $DetPl$ can still result in a singular determiner, because
|
||||||
-- "one" is a numeral: "this one man".
|
-- "one" is a numeral: "this one man".
|
||||||
|
|
||||||
-- Quantifiers that have both forms can be used in both ways.
|
-- Quantifiers can form noun phrases directly.
|
||||||
|
|
||||||
--- DEPRECATED: no longer needed
|
DetSgNP : Quant -> Ord -> NP ; -- this
|
||||||
--- SgQuant : Quant -> QuantSg ; -- this
|
DetPlNP : Quant -> Num -> Ord -> NP ; -- these five
|
||||||
--- PlQuant : Quant -> QuantPl ; -- these
|
|
||||||
|
-- Quantifiers can also be used in the same way as articles.
|
||||||
|
|
||||||
|
ArtQuant : Quant -> Art ;
|
||||||
|
|
||||||
-- Pronouns have possessive forms. Genitives of other kinds
|
-- Pronouns have possessive forms. Genitives of other kinds
|
||||||
-- of noun phrases are not given here, since they are not possible
|
-- of noun phrases are not given here, since they are not possible
|
||||||
-- in e.g. Romance languages. They can be found in
|
-- in e.g. Romance languages. They can be found in
|
||||||
-- [``Extra`` ../abstract/Extra.gf].
|
-- [``Extra`` ../abstract/Extra.gf].
|
||||||
|
|
||||||
PossPron : Pron -> Quant ; -- my (house)
|
PossPron : Pron -> Art ; -- my (house)
|
||||||
|
|
||||||
-- All parts of the determiner can be empty, except $Quant$, which is
|
-- All parts of the determiner can be empty, except $Quant$, which is
|
||||||
-- the "kernel" of a determiner.
|
-- the "kernel" of a determiner.
|
||||||
@@ -62,7 +65,6 @@ abstract Noun = Cat ** {
|
|||||||
|
|
||||||
-- $Num$ consists of either digits or numeral words.
|
-- $Num$ consists of either digits or numeral words.
|
||||||
|
|
||||||
NumInt : Int -> Num ; -- 51 (DEPRECATED)
|
|
||||||
NumDigits : Digits -> Num ; -- 51
|
NumDigits : Digits -> Num ; -- 51
|
||||||
NumNumeral : Numeral -> Num ; -- fifty-one
|
NumNumeral : Numeral -> Num ; -- fifty-one
|
||||||
|
|
||||||
@@ -74,7 +76,6 @@ abstract Noun = Cat ** {
|
|||||||
|
|
||||||
-- $Ord$ consists of either digits or numeral words.
|
-- $Ord$ consists of either digits or numeral words.
|
||||||
|
|
||||||
OrdInt : Int -> Ord ; -- 51st (DEPRECATED)
|
|
||||||
OrdDigits : Digits -> Ord ; -- 51st
|
OrdDigits : Digits -> Ord ; -- 51st
|
||||||
OrdNumeral : Numeral -> Ord ; -- fifty-first
|
OrdNumeral : Numeral -> Ord ; -- fifty-first
|
||||||
|
|
||||||
@@ -83,18 +84,24 @@ abstract Noun = Cat ** {
|
|||||||
|
|
||||||
OrdSuperl : A -> Ord ; -- largest
|
OrdSuperl : A -> Ord ; -- largest
|
||||||
|
|
||||||
|
-- Ordinals and cardinals can be used as noun phrases alone.
|
||||||
|
|
||||||
|
OrdSuperlNP : A -> NP ; -- the largest
|
||||||
|
OrdNumeralNP : Numeral -> NP ; -- the fiftieth
|
||||||
|
NumNumeralNP : Numeral -> NP ; -- fifty
|
||||||
|
|
||||||
-- Definite and indefinite constructions are sometimes realized as
|
-- Definite and indefinite constructions are sometimes realized as
|
||||||
-- neatly distinct words (Spanish "un, unos ; el, los") but also without
|
-- neatly distinct words (Spanish "un, unos ; el, los") but also without
|
||||||
-- any particular word (Finnish; Swedish definites).
|
-- any particular word (Finnish; Swedish definites).
|
||||||
|
|
||||||
DefArt : Quant ; -- the (house), the (houses)
|
DefArt : Art ; -- the (house), the (houses)
|
||||||
IndefArt : Quant ; -- a (house), (houses)
|
IndefArt : Art ; -- a (house), (houses)
|
||||||
|
|
||||||
-- Nouns can be used without an article as mass nouns. The resource does
|
-- Nouns can be used without an article as mass nouns. The resource does
|
||||||
-- not distinguish mass nouns from other common nouns, which can result
|
-- not distinguish mass nouns from other common nouns, which can result
|
||||||
-- in semantically odd expressions.
|
-- in semantically odd expressions.
|
||||||
|
|
||||||
MassDet : Quant ; -- (beer)
|
MassDet : Art ; -- (beer)
|
||||||
|
|
||||||
-- Other determiners are defined in [Structural Structural.html].
|
-- Other determiners are defined in [Structural Structural.html].
|
||||||
|
|
||||||
|
|||||||
@@ -66,11 +66,6 @@ abstract Sentence = Cat ** {
|
|||||||
|
|
||||||
AdvS : Adv -> S -> S ; -- today, I will go home
|
AdvS : Adv -> S -> S ; -- today, I will go home
|
||||||
|
|
||||||
--- Obsolete
|
|
||||||
|
|
||||||
SlashV2 : NP -> V2 -> Slash ; -- (whom) he sees
|
|
||||||
SlashVVV2 : NP -> VV -> V2 -> Slash; -- (whom) he wants to see
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
--.
|
--.
|
||||||
|
|||||||
@@ -75,16 +75,12 @@ abstract Structural = Cat ** {
|
|||||||
something_NP : NP ;
|
something_NP : NP ;
|
||||||
somewhere_Adv : Adv ;
|
somewhere_Adv : Adv ;
|
||||||
that_Quant : Quant ;
|
that_Quant : Quant ;
|
||||||
that_NP : NP ;
|
|
||||||
there_Adv : Adv ;
|
there_Adv : Adv ;
|
||||||
there7to_Adv : Adv ;
|
there7to_Adv : Adv ;
|
||||||
there7from_Adv : Adv ;
|
there7from_Adv : Adv ;
|
||||||
therefore_PConj : PConj ;
|
therefore_PConj : PConj ;
|
||||||
these_NP : NP ;
|
|
||||||
they_Pron : Pron ;
|
they_Pron : Pron ;
|
||||||
this_Quant : Quant ;
|
this_Quant : Quant ;
|
||||||
this_NP : NP ;
|
|
||||||
those_NP : NP ;
|
|
||||||
through_Prep : Prep ;
|
through_Prep : Prep ;
|
||||||
to_Prep : Prep ;
|
to_Prep : Prep ;
|
||||||
too_AdA : AdA ;
|
too_AdA : AdA ;
|
||||||
|
|||||||
@@ -77,13 +77,4 @@ abstract Verb = Cat ** {
|
|||||||
UseVQ : VQ -> V2 ; -- ask (a question)
|
UseVQ : VQ -> V2 ; -- ask (a question)
|
||||||
UseVS : VS -> V2 ; -- know (a secret)
|
UseVS : VS -> V2 ; -- know (a secret)
|
||||||
|
|
||||||
--- Obsolete
|
|
||||||
|
|
||||||
ComplV2 : V2 -> NP -> VP ; -- use it
|
|
||||||
ComplV3 : V3 -> NP -> NP -> VP ; -- send a message to her
|
|
||||||
ComplV2V : V2V -> NP -> VP -> VP ; -- cause it to burn
|
|
||||||
ComplV2S : V2S -> NP -> S -> VP ; -- tell me that it rains
|
|
||||||
ComplV2Q : V2Q -> NP -> QS -> VP ; -- ask me who came
|
|
||||||
ComplV2A : V2A -> NP -> AP -> VP ; -- paint it red
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
49
lib/resource/exper/english/BackwardEng.gf
Normal file
49
lib/resource/exper/english/BackwardEng.gf
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
concrete BackwardEng of Backward = CatEng ** open ResEng in {
|
||||||
|
|
||||||
|
flags optimize=all_subs ;
|
||||||
|
|
||||||
|
lin
|
||||||
|
|
||||||
|
-- A repository of obsolete constructs, needed for backward compatibility.
|
||||||
|
-- They create spurious ambiguities if used in combination with Lang.
|
||||||
|
|
||||||
|
-- from Verb 19/4/2008
|
||||||
|
|
||||||
|
ComplV2 v np = insertObj (\\_ => v.c2 ++ np.s ! Acc) (predV v) ;
|
||||||
|
ComplV3 v np np2 =
|
||||||
|
insertObj (\\_ => v.c2 ++ np.s ! Acc ++ v.c3 ++ np2.s ! Acc) (predV v) ;
|
||||||
|
ComplV2V v np vp =
|
||||||
|
insertObj (\\a => infVP v.isAux vp a)
|
||||||
|
(insertObj (\\_ => v.c2 ++ np.s ! Acc) (predV v)) ;
|
||||||
|
ComplV2S v np s =
|
||||||
|
insertObj (\\_ => conjThat ++ s.s)
|
||||||
|
(insertObj (\\_ => v.c2 ++ np.s ! Acc) (predV v)) ;
|
||||||
|
ComplV2Q v np q =
|
||||||
|
insertObj (\\_ => q.s ! QIndir)
|
||||||
|
(insertObj (\\_ => v.c2 ++ np.s ! Acc) (predV v)) ;
|
||||||
|
ComplV2A v np ap =
|
||||||
|
insertObj (\\_ => v.c2 ++ np.s ! Acc ++ ap.s ! np.a) (predV v) ;
|
||||||
|
|
||||||
|
-- from Sentence 19/4/2008
|
||||||
|
|
||||||
|
SlashV2 np v2 =
|
||||||
|
mkClause (np.s ! Nom) np.a (predV v2) ** {c2 = v2.c2} ;
|
||||||
|
|
||||||
|
SlashVVV2 np vv v2 =
|
||||||
|
mkClause (np.s ! Nom) np.a
|
||||||
|
(insertObj (\\a => infVP vv.isAux (predV v2) a) (predVV vv)) **
|
||||||
|
{c2 = v2.c2} ;
|
||||||
|
|
||||||
|
-- from Noun 19/4/2008
|
||||||
|
|
||||||
|
NumInt n = {s = n.s ; n = Pl} ;
|
||||||
|
OrdInt n = {s = n.s ++ "th"} ; --- DEPRECATED
|
||||||
|
|
||||||
|
-- from Structural 19/4/2008
|
||||||
|
|
||||||
|
that_NP = regNP "that" Sg ;
|
||||||
|
these_NP = regNP "these" Pl ;
|
||||||
|
this_NP = regNP "this" Sg ;
|
||||||
|
those_NP = regNP "those" Pl ;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -49,7 +49,7 @@ concrete CatEng of Cat = CommonX ** open ResEng, Prelude in {
|
|||||||
Det = {s : Str ; n : Number} ;
|
Det = {s : Str ; n : Number} ;
|
||||||
Predet, Ord = {s : Str} ;
|
Predet, Ord = {s : Str} ;
|
||||||
Num = {s : Str; n : Number } ;
|
Num = {s : Str; n : Number } ;
|
||||||
Quant = {s : Number => Str} ;
|
Quant, Art = {s : Number => Str} ;
|
||||||
|
|
||||||
-- Numeral
|
-- Numeral
|
||||||
|
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ concrete NounEng of Noun = CatEng ** open ResEng, Prelude in {
|
|||||||
s = \\c => det.s ++ cn.s ! det.n ! c ;
|
s = \\c => det.s ++ cn.s ! det.n ! c ;
|
||||||
a = agrP3 det.n
|
a = agrP3 det.n
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
UsePN pn = pn ** {a = agrP3 Sg} ;
|
UsePN pn = pn ** {a = agrP3 Sg} ;
|
||||||
UsePron p = p ;
|
UsePron p = p ;
|
||||||
|
|
||||||
@@ -35,8 +36,17 @@ concrete NounEng of Noun = CatEng ** open ResEng, Prelude in {
|
|||||||
n = num.n
|
n = num.n
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
--- SgQuant quant = {s = quant.s ! Sg} ; DEPRECATED
|
DetSgNP quant ord = {
|
||||||
--- PlQuant quant = {s = quant.s ! Pl} ;
|
s = \\c => quant.s ! Sg ++ ord.s ; ---- case
|
||||||
|
a = agrP3 Sg
|
||||||
|
} ;
|
||||||
|
|
||||||
|
DetPlNP quant num ord = {
|
||||||
|
s = \\c => quant.s ! num.n ++ num.s ++ ord.s ; ---- case
|
||||||
|
a = agrP3 num.n
|
||||||
|
} ;
|
||||||
|
|
||||||
|
ArtQuant q = q ;
|
||||||
|
|
||||||
PossPron p = {s = \\_ => p.s ! Gen} ;
|
PossPron p = {s = \\_ => p.s ! Gen} ;
|
||||||
|
|
||||||
@@ -45,7 +55,6 @@ concrete NounEng of Noun = CatEng ** open ResEng, Prelude in {
|
|||||||
|
|
||||||
NumDigits n = {s = n.s ! NCard ; n = n.n} ;
|
NumDigits n = {s = n.s ! NCard ; n = n.n} ;
|
||||||
|
|
||||||
NumInt n = {s = n.s ; n = Pl} ;
|
|
||||||
--table (Predef.Ints 1 * Predef.Ints 9) {
|
--table (Predef.Ints 1 * Predef.Ints 9) {
|
||||||
-- <0,1> => Sg ;
|
-- <0,1> => Sg ;
|
||||||
-- _ => Pl -- DEPRECATED
|
-- _ => Pl -- DEPRECATED
|
||||||
@@ -53,7 +62,6 @@ concrete NounEng of Noun = CatEng ** open ResEng, Prelude in {
|
|||||||
-- ---- <n.size,n.last>
|
-- ---- <n.size,n.last>
|
||||||
-- } ;
|
-- } ;
|
||||||
|
|
||||||
OrdInt n = {s = n.s ++ "th"} ; --- DEPRECATED
|
|
||||||
OrdDigits n = {s = n.s ! NOrd} ;
|
OrdDigits n = {s = n.s ! NOrd} ;
|
||||||
|
|
||||||
NumNumeral numeral = {s = numeral.s ! NCard; n = numeral.n} ;
|
NumNumeral numeral = {s = numeral.s ! NCard; n = numeral.n} ;
|
||||||
@@ -63,6 +71,21 @@ concrete NounEng of Noun = CatEng ** open ResEng, Prelude in {
|
|||||||
|
|
||||||
OrdSuperl a = {s = a.s ! AAdj Superl} ;
|
OrdSuperl a = {s = a.s ! AAdj Superl} ;
|
||||||
|
|
||||||
|
NumNumeralNP num = {
|
||||||
|
s = \\c => num.s ! NCard ; ---- case
|
||||||
|
a = agrP3 num.n
|
||||||
|
} ;
|
||||||
|
|
||||||
|
OrdNumeralNP ord = {
|
||||||
|
s = \\c => "the" ++ ord.s ! NOrd ; ---- case
|
||||||
|
a = agrP3 Sg
|
||||||
|
} ;
|
||||||
|
|
||||||
|
OrdSuperlNP a = {
|
||||||
|
s = \\c => "the" ++ a.s ! AAdj Superl ; ---- case
|
||||||
|
a = agrP3 Sg
|
||||||
|
} ;
|
||||||
|
|
||||||
DefArt = {s = \\_ => artDef} ;
|
DefArt = {s = \\_ => artDef} ;
|
||||||
|
|
||||||
IndefArt = {
|
IndefArt = {
|
||||||
|
|||||||
@@ -25,11 +25,6 @@ concrete SentenceEng of Sentence = CatEng ** open Prelude, ResEng in {
|
|||||||
SlashVP np vp =
|
SlashVP np vp =
|
||||||
mkClause (np.s ! Nom) np.a vp ** {c2 = vp.c2} ;
|
mkClause (np.s ! Nom) np.a vp ** {c2 = vp.c2} ;
|
||||||
|
|
||||||
SlashVVV2 np vv v2 =
|
|
||||||
mkClause (np.s ! Nom) np.a
|
|
||||||
(insertObj (\\a => infVP vv.isAux (predV v2) a) (predVV vv)) **
|
|
||||||
{c2 = v2.c2} ;
|
|
||||||
|
|
||||||
AdvSlash slash adv = {
|
AdvSlash slash adv = {
|
||||||
s = \\t,a,b,o => slash.s ! t ! a ! b ! o ++ adv.s ;
|
s = \\t,a,b,o => slash.s ! t ! a ! b ! o ++ adv.s ;
|
||||||
c2 = slash.c2
|
c2 = slash.c2
|
||||||
@@ -66,16 +61,6 @@ concrete SentenceEng of Sentence = CatEng ** open Prelude, ResEng in {
|
|||||||
oper
|
oper
|
||||||
ctr = contrNeg True ; -- contracted negations
|
ctr = contrNeg True ; -- contracted negations
|
||||||
|
|
||||||
-- obsolete
|
|
||||||
lin
|
|
||||||
SlashV2 np v2 =
|
|
||||||
mkClause (np.s ! Nom) np.a (predV v2) ** {c2 = v2.c2} ;
|
|
||||||
|
|
||||||
SlashVVV2 np vv v2 =
|
|
||||||
mkClause (np.s ! Nom) np.a
|
|
||||||
(insertObj (\\a => infVP vv.isAux (predV v2) a) (predVV vv)) **
|
|
||||||
{c2 = v2.c2} ;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
{-
|
{-
|
||||||
|
|||||||
@@ -87,16 +87,12 @@ concrete StructuralEng of Structural = CatEng **
|
|||||||
something_NP = regNP "something" Sg ;
|
something_NP = regNP "something" Sg ;
|
||||||
somewhere_Adv = ss "somewhere" ;
|
somewhere_Adv = ss "somewhere" ;
|
||||||
that_Quant = mkQuant "that" "those" ;
|
that_Quant = mkQuant "that" "those" ;
|
||||||
that_NP = regNP "that" Sg ;
|
|
||||||
there_Adv = ss "there" ;
|
there_Adv = ss "there" ;
|
||||||
there7to_Adv = ss "there" ;
|
there7to_Adv = ss "there" ;
|
||||||
there7from_Adv = ss ["from there"] ;
|
there7from_Adv = ss ["from there"] ;
|
||||||
therefore_PConj = ss "therefore" ;
|
therefore_PConj = ss "therefore" ;
|
||||||
these_NP = regNP "these" Pl ;
|
|
||||||
they_Pron = mkNP "they" "them" "their" Pl P3 ;
|
they_Pron = mkNP "they" "them" "their" Pl P3 ;
|
||||||
this_Quant = mkQuant "this" "these" ;
|
this_Quant = mkQuant "this" "these" ;
|
||||||
this_NP = regNP "this" Sg ;
|
|
||||||
those_NP = regNP "those" Pl ;
|
|
||||||
through_Prep = ss "through" ;
|
through_Prep = ss "through" ;
|
||||||
too_AdA = ss "too" ;
|
too_AdA = ss "too" ;
|
||||||
to_Prep = ss "to" ;
|
to_Prep = ss "to" ;
|
||||||
|
|||||||
@@ -47,21 +47,4 @@ concrete VerbEng of Verb = CatEng ** open ResEng in {
|
|||||||
CompNP np = {s = \\_ => np.s ! Acc} ;
|
CompNP np = {s = \\_ => np.s ! Acc} ;
|
||||||
CompAdv a = {s = \\_ => a.s} ;
|
CompAdv a = {s = \\_ => a.s} ;
|
||||||
|
|
||||||
-- obsolete, just creating spurious ambiguity now
|
|
||||||
|
|
||||||
ComplV2 v np = insertObj (\\_ => v.c2 ++ np.s ! Acc) (predV v) ;
|
|
||||||
ComplV3 v np np2 =
|
|
||||||
insertObj (\\_ => v.c2 ++ np.s ! Acc ++ v.c3 ++ np2.s ! Acc) (predV v) ;
|
|
||||||
ComplV2V v np vp =
|
|
||||||
insertObj (\\a => infVP v.isAux vp a)
|
|
||||||
(insertObj (\\_ => v.c2 ++ np.s ! Acc) (predV v)) ;
|
|
||||||
ComplV2S v np s =
|
|
||||||
insertObj (\\_ => conjThat ++ s.s)
|
|
||||||
(insertObj (\\_ => v.c2 ++ np.s ! Acc) (predV v)) ;
|
|
||||||
ComplV2Q v np q =
|
|
||||||
insertObj (\\_ => q.s ! QIndir)
|
|
||||||
(insertObj (\\_ => v.c2 ++ np.s ! Acc) (predV v)) ;
|
|
||||||
ComplV2A v np ap =
|
|
||||||
insertObj (\\_ => v.c2 ++ np.s ! Acc ++ ap.s ! np.a) (predV v) ;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user