Test_Structuring.hs revision 3d3889e0cefcdce9b3f43c53aaa201943ac2e895
{- |
Description : Test file for structuring mechanisms
-}
import DFOL.AS_DFOL
import DFOL.Analysis_DFOL
import DFOL.Sign
import DFOL.Symbol
import DFOL.Morphism
import Common.Id
import Data.Maybe
import Common.DocUtils
import qualified Common.Result as Result
import qualified Data.Map as Map
import qualified Data.Set as Set
mkTok :: String -> Token
mkTok s = Token s nullRange
iTok, jTok, pTok, cTok, dTok :: NAME
iTok = mkTok "i"
jTok = mkTok "j"
pTok = mkTok "p"
cTok = mkTok "c"
dTok = mkTok "d"
i, j, c, d, p :: TERM
i = Identifier iTok
j = Identifier jTok
p = Identifier pTok
c = Identifier cTok
d = Identifier dTok
sig1 :: Sign
sig1 = Sign [([iTok], Sort)]
sig2 :: Sign
sig2 = Sign [([iTok], Sort),
([cTok], Func [Univ i] $ Univ i)]
sig :: Sign
sig = Sign [([iTok], Sort),
([jTok], Sort),
([dTok], Func [Univ j] $ Univ j),
([pTok], Pi [([cTok], Univ i)] $ Univ j)]
syms :: Set.Set Symbol
syms = Set.fromList [Symbol cTok]
Result.Result ds Nothing = coGenSig True syms sig
sig3 :: Sign
sig3 = Sign [([iTok], Sort)]
m1, m2 :: Morphism
m1 = Morphism sig1 sig3 $ Map.fromList [(iTok, jTok)]
m2 = Morphism sig2 sig $ Map.fromList [(cTok, dTok)]