Module peval

Summary of exported operations:

printVersion :: IO ()   
pevalDebug :: Bool   
pevalAbs :: Int   
maxExpVars :: Int   
varBottom :: Expr   
isPevalAnnot :: Expr -> Bool   
getPevalAnnotExpr :: Expr -> Expr   
getExps :: PEvalState -> [Expr]   
getFuncDecls :: PEvalState -> [FuncDecl]   
getRenamingIndex :: PEvalState -> Int   
getDepth :: PEvalState -> Int   
updateRenamingIndex :: PEvalState -> Int -> PEvalState   
incrDepth :: PEvalState -> PEvalState   
decrDepth :: PEvalState -> PEvalState   
getArity :: PEvalState -> String -> Int   
getArityF :: [FuncDecl] -> String -> Int   
main :: IO ()   
mainProg :: String -> IO ()   
mainWithExprs :: String -> [Expr] -> IO ()   
main_aux :: String -> [Expr] -> Expr -> Expr -> IO ()   
resultant2fundecl :: (Expr,Expr) -> FuncDecl   
addPEFuncDecls :: [(Expr,Expr)] -> Expr -> [FuncDecl] -> Expr   
replaceFuncDecls :: Expr -> [FuncDecl] -> Expr   
getEvalExprs :: Expr -> (Expr,[Expr])   
getFuncEvalExprs :: FuncDecl -> (FuncDecl,[Expr])   
getEvalExprsInExp :: Expr -> (Expr,[Expr])   
getEvalExprsInExps :: [Expr] -> ([Expr],[Expr])   
getEvalExprsInBranches :: [BranchExpr] -> ([BranchExpr],[Expr])   
replacePevalAnnotInFunc :: [FuncDecl] -> [(Expr,Expr)] -> FuncDecl -> FuncDecl   
replacePevalAnnotInExp :: [FuncDecl] -> [(Expr,Expr)] -> Expr -> Expr   
originalFunc :: Expr -> [(Expr,Expr)] -> Expr -> [String]   
originalF :: [FuncDecl] -> [(Expr,Expr)] -> Expr -> [String]   
funcsInExp :: Expr -> [String]   
funcsInExpL :: [Expr] -> [String]   
postUnfolding :: [(Expr,Expr)] -> [String] -> [(Expr,Expr)]   
postUnfoldingAux :: [(Expr,Expr)] -> [(Expr,Expr)] -> [(Expr,Expr)]   
try_unfold :: [(Expr,Expr)] -> Expr -> Expr   
try_unfoldL :: [(Expr,Expr)] -> [Expr] -> [Expr]   
try_unf_cases :: [(Expr,Expr)] -> BranchExpr -> BranchExpr   
try_unfold_apply :: [(Expr,Expr)] -> Expr -> Expr -> Expr   
getArityP :: [(Expr,Expr)] -> String -> Int   
unfoldFC :: [(Expr,Expr)] -> [(Expr,Expr)] -> Expr -> Expr   
propCaseVars :: Expr -> Expr   
propCaseVarsBranch :: BranchExpr -> BranchExpr   
nonRecursive :: [(Expr,Expr)] -> String -> Bool   
countFuncs :: Expr -> Int   
countFuncsL :: [Expr] -> Int   
uselessFunc :: [(Expr,Expr)] -> String -> Bool   
countFuncCalls :: [(Expr,Expr)] -> String -> Int   
countFC :: Expr -> String -> Int   
countFCList :: [Expr] -> String -> Int   
removeRedundantRules :: [(Expr,a)] -> [(Expr,Expr)] -> [String] -> [(Expr,a)]   
funcRule :: (Expr,a) -> String   
removeFails :: [(Expr,Expr)] -> [(Expr,Expr)]   
removeFB :: Expr -> Expr   
removeFailedBranches :: [BranchExpr] -> [BranchExpr]   
removeFBbranch :: BranchExpr -> BranchExpr   
pevalProg :: Expr -> [Expr] -> [Expr]   
peval0 :: [FuncDecl] -> Int -> [Expr] -> [(Expr,Expr)] -> [Expr]   
diffPairs :: [Expr] -> [Expr] -> [Expr]   
pevalL :: [FuncDecl] -> Int -> [Expr] -> [(Expr,Expr)] -> [(Expr,Expr)]   
pevalL_aux :: [FuncDecl] -> Int -> [Expr] -> [(Expr,Expr)] -> [(Expr,Expr)]   
strict :: a -> a   
searchPair :: Expr -> [(Expr,Expr)] -> Expr   
abstract :: [FuncDecl] -> Int -> [Expr] -> [Expr] -> [Expr]   
abs :: [FuncDecl] -> Int -> Expr -> [Expr] -> [Expr]   
absSQ :: [FuncDecl] -> Expr -> [Expr] -> [Expr]   
addPartCall :: [FuncDecl] -> Int -> String -> [Expr] -> [Expr] -> [Expr]   
addPC :: [FuncDecl] -> String -> [Expr] -> Int -> [Expr] -> Int -> [Expr]   
absFun :: [FuncDecl] -> Int -> Expr -> [Expr] -> [Expr]   
absFunWfo :: [FuncDecl] -> Int -> Expr -> [Expr] -> [Expr]   
headF :: Expr -> String   
splitCase :: Expr -> [Expr]   
absFunWqo :: [FuncDecl] -> Int -> Expr -> [Expr] -> [Expr]   
absFunWqoAux :: [FuncDecl] -> Int -> [Expr] -> Expr -> [Expr]   
legalBuiltin :: String -> Bool   
arithBuiltin :: String -> Bool   
nameConversion :: String -> String   
branches :: [BranchExpr] -> [Expr]   
constructorInstance :: [FuncDecl] -> Expr -> [Expr] -> Bool   
isConstructor :: [FuncDecl] -> Subst -> Bool   
isCons :: [FuncDecl] -> Expr -> Bool   
isConsCase :: [FuncDecl] -> [BranchExpr] -> Bool   
complete :: [Expr] -> Int -> Int -> [Expr]   
completeVars :: Int -> Int -> [Expr]   
size :: Expr -> Int   
sizeBranch :: BranchExpr -> Int   
smaller :: Expr -> Expr -> Bool   
embedsPre :: Expr -> [Expr] -> (Expr,[Expr])   
embedsP :: Expr -> [Expr] -> [Expr] -> (Expr,[Expr])   
embeds :: Expr -> Expr -> Bool   
embedsSameHead :: Expr -> Expr -> Bool   
embedsL :: [Expr] -> [Expr] -> Bool   
embedsCase :: [BranchExpr] -> [BranchExpr] -> Bool   
embedsArg :: Expr -> Expr -> Bool   
embedsArgL :: [Expr] -> Expr -> Bool   
embedsArgCase :: [BranchExpr] -> Expr -> Bool   
int2Expr :: Int -> Expr   
int2ExprAux :: Int -> Expr   
msgT :: Expr -> Expr -> [Expr]   
computeMsg :: Expr -> Expr -> (Expr,Subst,Subst)   
msg :: Expr -> Expr -> Int -> (Expr,Int)   
headExpr :: Expr -> String   
msgSameHead :: Expr -> Expr -> Int -> (Expr,Int)   
msgArgs :: CombType -> String -> [Expr] -> [Expr] -> [Expr] -> Int -> (Expr,Int)   
comparable :: Expr -> [Expr] -> (Expr,[Expr])   
comp :: Expr -> [Expr] -> [Expr] -> (Expr,[Expr])   
ren_rho :: [FuncDecl] -> [(Expr,Expr)] -> Expr -> Expr   
ren_rhoPartCall :: [FuncDecl] -> [(Expr,Expr)] -> String -> [Expr] -> Expr   
ren_case :: [FuncDecl] -> [(Expr,Expr)] -> BranchExpr -> BranchExpr   
ren_rhoSQ :: [FuncDecl] -> [(Expr,Expr)] -> Expr -> Expr   
ren_rhoFun :: [FuncDecl] -> [(Expr,Expr)] -> Expr -> Expr   
ren_rhoFunRec :: [FuncDecl] -> [(Expr,Expr)] -> Expr -> Expr   
ren_rhoRec :: [FuncDecl] -> [(Expr,Expr)] -> Expr -> Expr   
subVars :: Subst -> [Int]   
subTerms :: Subst -> [Expr]   
isVar :: Expr -> Bool   
isLit :: Expr -> Bool   
isCase :: Expr -> Bool   
isConstr :: Expr -> Bool   
build_ren :: [Expr] -> Int -> [(Expr,Expr)]   
nonLocalVarsInExp :: Expr -> [Int]   
varsNonLocal :: BranchExpr -> [Int]   
index2vars :: [Int] -> [Expr]   
vars2index :: [Expr] -> [Int]   
proceedUnfold :: PEvalState -> a -> Bool   
peval :: PEvalState -> Int -> Expr -> Expr   
peval_casefun :: PEvalState -> Int -> CaseType -> String -> [Expr] -> [BranchExpr] -> Expr   
peval_casefun_aux :: PEvalState -> Int -> CaseType -> String -> [Expr] -> [BranchExpr] -> Expr   
peval_casefun_builtin :: PEvalState -> Int -> CaseType -> String -> [Expr] -> [BranchExpr] -> Expr   
propBinding :: Int -> [BranchExpr] -> [BranchExpr]   
peval_fun :: PEvalState -> Int -> String -> [Expr] -> Expr   
peval_fun_aux :: PEvalState -> Int -> String -> [Expr] -> Expr   
matchRHS :: PEvalState -> Int -> String -> [Expr] -> (PEvalState,Expr)   
getMatchedRHS :: PEvalState -> Int -> [FuncDecl] -> String -> [Expr] -> (PEvalState,Expr)   
getMatchedRHS_aux :: PEvalState -> Int -> Rule -> [Expr] -> (PEvalState,Expr)   
substitute :: [Int] -> [Expr] -> Expr -> Expr   
substituteAll :: [Int] -> [Expr] -> Int -> Expr -> Expr   
substituteAllCase :: [Int] -> [Expr] -> Int -> BranchExpr -> BranchExpr   
try_eval :: PEvalState -> Int -> Expr -> [Expr] -> [Int] -> Expr   
try_eval2 :: PEvalState -> Int -> Expr -> [Expr] -> [Int] -> Expr   
caseVarArg :: [Expr] -> [Int] -> Int -> Bool   
caseVar :: Expr -> Bool   
float_case :: Expr -> [Expr] -> [Expr] -> [Int] -> Int -> Expr   
float_caseAux :: Expr -> [Expr] -> Expr -> [Expr] -> Expr   
gen_case :: Expr -> [Expr] -> [Expr] -> BranchExpr -> BranchExpr   
try_eval_aux :: PEvalState -> Int -> Expr -> [Expr] -> [Expr] -> Expr   
try_eval_aux2 :: Expr -> [Expr] -> Expr   
sharedVars :: Expr -> Bool   
sharedVarsAux :: [[Int]] -> Bool   
shVar :: [Int] -> [Int] -> Bool   
groundVars :: Expr -> Bool   
reducible :: [Expr] -> Bool   
condSQ :: Expr -> Bool   
sqRooted :: Expr -> Bool   
pevalCaseArg :: PEvalState -> Int -> Expr -> CaseType -> [BranchExpr] -> Expr   
isPartCall :: Expr -> Bool   
peval_apply :: PEvalState -> Int -> Expr -> Expr -> Expr   
peval_builtin :: PEvalState -> Int -> String -> [Expr] -> Expr   
peval_builtinEQ :: PEvalState -> Int -> String -> [Expr] -> Expr   
peval_builtinEQaux :: PEvalState -> Int -> String -> [Expr] -> Expr   
peval_builtinEQlit :: String -> Expr -> Expr -> Expr   
peval_builtinEQvar1 :: PEvalState -> Int -> String -> [Expr] -> Expr   
peval_builtinEQvar2 :: PEvalState -> Int -> String -> [Expr] -> Expr   
peval_builtinEQvarAux :: PEvalState -> Int -> String -> Int -> Expr -> Expr   
subs2branches :: Expr -> String -> [BranchExpr]   
dataExp :: Expr -> Bool   
isConsCall :: Expr -> Bool   
makeSeqCon :: String -> [Expr] -> [Expr] -> Expr   
peval_builtinITE :: PEvalState -> Int -> [Expr] -> Expr   
peval_builtinAND :: PEvalState -> Int -> [Expr] -> Expr   
peval_builtinCAND :: PEvalState -> Int -> [Expr] -> Expr   
peval_builtinARITH :: PEvalState -> Int -> String -> [Expr] -> Expr   
peval_builtinARITHaux :: String -> [Expr] -> Expr   
isLitInt :: Expr -> Bool   
peval_builtinMAP :: PEvalState -> Int -> String -> [Expr] -> Expr   
peval_builtinMAP_aux :: PEvalState -> Int -> [Expr] -> Expr   
peval_builtinFOLDL :: PEvalState -> Int -> String -> [Expr] -> Expr   
peval_builtinFOLDL_aux :: PEvalState -> Int -> [Expr] -> Expr   
peval_builtinFOLDR :: PEvalState -> Int -> String -> [Expr] -> Expr   
peval_builtinFOLDR_aux :: PEvalState -> Int -> [Expr] -> Expr   
peval_builtinFILTER :: PEvalState -> Int -> String -> [Expr] -> Expr   
peval_builtinFILTER_aux :: PEvalState -> Int -> [Expr] -> Expr   
peval_builtinITERATE :: PEvalState -> Int -> String -> [Expr] -> Expr   
peval_builtinITERATE_aux :: PEvalState -> Int -> [Expr] -> Expr   
isCaseVar :: Expr -> Bool   
isCaseCons :: Expr -> Bool   
definedFunc :: PEvalState -> String -> Bool   
definedFunc2 :: [FuncDecl] -> String -> Bool   
hasName :: String -> FuncDecl -> Bool   
maxVarIndex :: Expr -> Int   
max :: Int -> Int -> Int   
maxList :: [Int] -> Int   
localVarsInExp :: Expr -> [Int]   
diffList :: [Int] -> [Int] -> [Int]   
varsInExp :: Expr -> [Int]   
varsInCase :: BranchExpr -> [Int]   
delArgs :: [Int] -> [Int] -> [Int]   
ppExpr :: Int -> Expr -> String   
ppVar :: Int -> String   
ppLit :: Literal -> String   
ppCase :: Int -> BranchExpr -> String   
blanks :: Int -> String   
ppFormatList :: (a -> String) -> [a] -> String   
ppList :: (a -> String) -> [a] -> String   
buildResultants :: Expr -> [Expr] -> [(Expr,Expr)] -> [(Expr,Expr)]   
ppResultants :: [(Expr,Expr)] -> IO ()   
ppRen :: [(Expr,Expr)] -> IO ()   
pprenLHS :: Expr -> [(Expr,Expr)] -> Expr   
pprintSub :: Subst -> IO ()   
pprint :: String -> IO ()   
ppFuncDecls :: [FuncDecl] -> IO ()   
ppRule :: String -> Rule -> IO ()   
deleteAll :: Eq a => a -> [a] -> [a]   
equalMR :: [Expr] -> [Expr] -> Bool   
existsRenSet :: [Expr] -> [Expr] -> Bool   
existsRen :: [Expr] -> Expr -> Bool   
instanceOf :: Expr -> Expr -> Subst   
instanceVar :: Expr -> Expr -> Subst   
instanceS :: Expr -> Expr -> Subst   
instanceL :: [Expr] -> [Expr] -> Subst -> Subst   
clash :: Subst -> Subst -> Bool   
clash_ :: [Int] -> [Expr] -> Subst -> Bool   
findVal :: Int -> [Int] -> [Expr] -> Expr   
instanceCase :: [BranchExpr] -> [BranchExpr] -> Subst -> Subst   
instanceCaseL :: [BranchExpr] -> [BranchExpr] -> Subst -> Subst   
instanceCaseBranch :: BranchExpr -> BranchExpr -> Subst   
composeSubs :: Subst -> Subst -> Subst   
andL :: [Bool] -> Bool   
orL :: [Bool] -> Bool   
removeRenamings :: [Expr] -> [Expr]   
removeVarsLits :: [Expr] -> [Expr]   
search_instance :: Expr -> [Expr] -> (Subst,Expr)   
searchInstance :: Expr -> [(Expr,Expr)] -> (Subst,Expr)   
searchConstrInstance :: [FuncDecl] -> Expr -> [(Expr,Expr)] -> (Subst,Expr)   
concatBlank :: [String] -> String   
delSQ :: Expr -> Expr   
delSQcase :: BranchExpr -> BranchExpr   

Exported datatypes:


Subst

Constructors:

  • Sub :: [Int] -> [Expr] -> Subst
  • FSub :: Subst

PEvalState

Constructors:

  • PEState :: [Expr] -> [FuncDecl] -> Int -> Int -> PEvalState

Exported operations:

printVersion :: IO ()   

pevalDebug :: Bool   

Further infos:
  • solution complete, i.e., able to compute all solutions

pevalAbs :: Int   

Further infos:
  • solution complete, i.e., able to compute all solutions

maxExpVars :: Int   

Further infos:
  • solution complete, i.e., able to compute all solutions

varBottom :: Expr   

isPevalAnnot :: Expr -> Bool   

Further infos:
  • partially defined

getPevalAnnotExpr :: Expr -> Expr   

Further infos:
  • partially defined
  • solution complete, i.e., able to compute all solutions

getExps :: PEvalState -> [Expr]   

Further infos:
  • solution complete, i.e., able to compute all solutions

getFuncDecls :: PEvalState -> [FuncDecl]   

Further infos:
  • solution complete, i.e., able to compute all solutions

getRenamingIndex :: PEvalState -> Int   

Further infos:
  • solution complete, i.e., able to compute all solutions

getDepth :: PEvalState -> Int   

Further infos:
  • solution complete, i.e., able to compute all solutions

updateRenamingIndex :: PEvalState -> Int -> PEvalState   

Further infos:
  • solution complete, i.e., able to compute all solutions

getArity :: PEvalState -> String -> Int   

getArityF :: [FuncDecl] -> String -> Int   

main :: IO ()   

mainProg :: String -> IO ()   

mainWithExprs :: String -> [Expr] -> IO ()   

main_aux :: String -> [Expr] -> Expr -> Expr -> IO ()   

resultant2fundecl :: (Expr,Expr) -> FuncDecl   

Further infos:
  • partially defined

addPEFuncDecls :: [(Expr,Expr)] -> Expr -> [FuncDecl] -> Expr   

Further infos:
  • partially defined

replaceFuncDecls :: Expr -> [FuncDecl] -> Expr   

Further infos:
  • partially defined

getEvalExprs :: Expr -> (Expr,[Expr])   

Further infos:
  • partially defined

getEvalExprsInExp :: Expr -> (Expr,[Expr])   

Further infos:
  • partially defined

getEvalExprsInExps :: [Expr] -> ([Expr],[Expr])   

replacePevalAnnotInExp :: [FuncDecl] -> [(Expr,Expr)] -> Expr -> Expr   

Further infos:
  • partially defined

originalFunc :: Expr -> [(Expr,Expr)] -> Expr -> [String]   

Further infos:
  • partially defined

originalF :: [FuncDecl] -> [(Expr,Expr)] -> Expr -> [String]   

funcsInExp :: Expr -> [String]   

Further infos:
  • partially defined

funcsInExpL :: [Expr] -> [String]   

postUnfolding :: [(Expr,Expr)] -> [String] -> [(Expr,Expr)]   

postUnfoldingAux :: [(Expr,Expr)] -> [(Expr,Expr)] -> [(Expr,Expr)]   

try_unfold :: [(Expr,Expr)] -> Expr -> Expr   

Further infos:
  • partially defined

try_unfoldL :: [(Expr,Expr)] -> [Expr] -> [Expr]   

try_unfold_apply :: [(Expr,Expr)] -> Expr -> Expr -> Expr   

Further infos:
  • partially defined

getArityP :: [(Expr,Expr)] -> String -> Int   

unfoldFC :: [(Expr,Expr)] -> [(Expr,Expr)] -> Expr -> Expr   

Further infos:
  • partially defined

propCaseVars :: Expr -> Expr   

nonRecursive :: [(Expr,Expr)] -> String -> Bool   

Further infos:
  • partially defined

countFuncs :: Expr -> Int   

Further infos:
  • partially defined

countFuncsL :: [Expr] -> Int   

uselessFunc :: [(Expr,Expr)] -> String -> Bool   

countFuncCalls :: [(Expr,Expr)] -> String -> Int   

countFC :: Expr -> String -> Int   

Further infos:
  • partially defined

countFCList :: [Expr] -> String -> Int   

removeRedundantRules :: [(Expr,a)] -> [(Expr,Expr)] -> [String] -> [(Expr,a)]   

funcRule :: (Expr,a) -> String   

Further infos:
  • partially defined
  • solution complete, i.e., able to compute all solutions

removeFails :: [(Expr,Expr)] -> [(Expr,Expr)]   

removeFB :: Expr -> Expr   

pevalProg :: Expr -> [Expr] -> [Expr]   

Further infos:
  • partially defined

peval0 :: [FuncDecl] -> Int -> [Expr] -> [(Expr,Expr)] -> [Expr]   

diffPairs :: [Expr] -> [Expr] -> [Expr]   

pevalL :: [FuncDecl] -> Int -> [Expr] -> [(Expr,Expr)] -> [(Expr,Expr)]   

pevalL_aux :: [FuncDecl] -> Int -> [Expr] -> [(Expr,Expr)] -> [(Expr,Expr)]   

Further infos:
  • partially defined

strict :: a -> a   

searchPair :: Expr -> [(Expr,Expr)] -> Expr   

abstract :: [FuncDecl] -> Int -> [Expr] -> [Expr] -> [Expr]   

abs :: [FuncDecl] -> Int -> Expr -> [Expr] -> [Expr]   

Further infos:
  • partially defined

absSQ :: [FuncDecl] -> Expr -> [Expr] -> [Expr]   

addPartCall :: [FuncDecl] -> Int -> String -> [Expr] -> [Expr] -> [Expr]   

addPC :: [FuncDecl] -> String -> [Expr] -> Int -> [Expr] -> Int -> [Expr]   

absFun :: [FuncDecl] -> Int -> Expr -> [Expr] -> [Expr]   

Further infos:
  • partially defined

absFunWfo :: [FuncDecl] -> Int -> Expr -> [Expr] -> [Expr]   

headF :: Expr -> String   

splitCase :: Expr -> [Expr]   

Further infos:
  • partially defined

absFunWqo :: [FuncDecl] -> Int -> Expr -> [Expr] -> [Expr]   

absFunWqoAux :: [FuncDecl] -> Int -> [Expr] -> Expr -> [Expr]   

legalBuiltin :: String -> Bool   

arithBuiltin :: String -> Bool   

nameConversion :: String -> String   

branches :: [BranchExpr] -> [Expr]   

Further infos:
  • solution complete, i.e., able to compute all solutions

constructorInstance :: [FuncDecl] -> Expr -> [Expr] -> Bool   

isConstructor :: [FuncDecl] -> Subst -> Bool   

Further infos:
  • partially defined

isCons :: [FuncDecl] -> Expr -> Bool   

Further infos:
  • partially defined

isConsCase :: [FuncDecl] -> [BranchExpr] -> Bool   

complete :: [Expr] -> Int -> Int -> [Expr]   

completeVars :: Int -> Int -> [Expr]   

size :: Expr -> Int   

Further infos:
  • partially defined

sizeBranch :: BranchExpr -> Int   

smaller :: Expr -> Expr -> Bool   

embedsPre :: Expr -> [Expr] -> (Expr,[Expr])   

embedsP :: Expr -> [Expr] -> [Expr] -> (Expr,[Expr])   

embeds :: Expr -> Expr -> Bool   

embedsSameHead :: Expr -> Expr -> Bool   

Further infos:
  • partially defined

embedsL :: [Expr] -> [Expr] -> Bool   

Further infos:
  • partially defined

embedsCase :: [BranchExpr] -> [BranchExpr] -> Bool   

Further infos:
  • partially defined

embedsArg :: Expr -> Expr -> Bool   

Further infos:
  • partially defined

embedsArgL :: [Expr] -> Expr -> Bool   

embedsArgCase :: [BranchExpr] -> Expr -> Bool   

int2Expr :: Int -> Expr   

int2ExprAux :: Int -> Expr   

msgT :: Expr -> Expr -> [Expr]   

computeMsg :: Expr -> Expr -> (Expr,Subst,Subst)   

msg :: Expr -> Expr -> Int -> (Expr,Int)   

headExpr :: Expr -> String   

Further infos:
  • partially defined
  • solution complete, i.e., able to compute all solutions

msgSameHead :: Expr -> Expr -> Int -> (Expr,Int)   

Further infos:
  • partially defined

msgArgs :: CombType -> String -> [Expr] -> [Expr] -> [Expr] -> Int -> (Expr,Int)   

Further infos:
  • partially defined

comparable :: Expr -> [Expr] -> (Expr,[Expr])   

comp :: Expr -> [Expr] -> [Expr] -> (Expr,[Expr])   

ren_rho :: [FuncDecl] -> [(Expr,Expr)] -> Expr -> Expr   

Further infos:
  • partially defined

ren_rhoPartCall :: [FuncDecl] -> [(Expr,Expr)] -> String -> [Expr] -> Expr   

ren_case :: [FuncDecl] -> [(Expr,Expr)] -> BranchExpr -> BranchExpr   

ren_rhoSQ :: [FuncDecl] -> [(Expr,Expr)] -> Expr -> Expr   

ren_rhoFun :: [FuncDecl] -> [(Expr,Expr)] -> Expr -> Expr   

Further infos:
  • partially defined

ren_rhoFunRec :: [FuncDecl] -> [(Expr,Expr)] -> Expr -> Expr   

ren_rhoRec :: [FuncDecl] -> [(Expr,Expr)] -> Expr -> Expr   

subVars :: Subst -> [Int]   

subTerms :: Subst -> [Expr]   

isVar :: Expr -> Bool   

isLit :: Expr -> Bool   

isCase :: Expr -> Bool   

isConstr :: Expr -> Bool   

build_ren :: [Expr] -> Int -> [(Expr,Expr)]   

Further infos:
  • partially defined

nonLocalVarsInExp :: Expr -> [Int]   

Further infos:
  • partially defined

varsNonLocal :: BranchExpr -> [Int]   

index2vars :: [Int] -> [Expr]   

vars2index :: [Expr] -> [Int]   

proceedUnfold :: PEvalState -> a -> Bool   

peval :: PEvalState -> Int -> Expr -> Expr   

Further infos:
  • partially defined

peval_casefun :: PEvalState -> Int -> CaseType -> String -> [Expr] -> [BranchExpr] -> Expr   

peval_casefun_aux :: PEvalState -> Int -> CaseType -> String -> [Expr] -> [BranchExpr] -> Expr   

peval_casefun_builtin :: PEvalState -> Int -> CaseType -> String -> [Expr] -> [BranchExpr] -> Expr   

propBinding :: Int -> [BranchExpr] -> [BranchExpr]   

peval_fun :: PEvalState -> Int -> String -> [Expr] -> Expr   

peval_fun_aux :: PEvalState -> Int -> String -> [Expr] -> Expr   

matchRHS :: PEvalState -> Int -> String -> [Expr] -> (PEvalState,Expr)   

getMatchedRHS :: PEvalState -> Int -> [FuncDecl] -> String -> [Expr] -> (PEvalState,Expr)   

Further infos:
  • partially defined

getMatchedRHS_aux :: PEvalState -> Int -> Rule -> [Expr] -> (PEvalState,Expr)   

Further infos:
  • partially defined

substitute :: [Int] -> [Expr] -> Expr -> Expr   

substituteAll :: [Int] -> [Expr] -> Int -> Expr -> Expr   

Further infos:
  • partially defined

substituteAllCase :: [Int] -> [Expr] -> Int -> BranchExpr -> BranchExpr   

try_eval :: PEvalState -> Int -> Expr -> [Expr] -> [Int] -> Expr   

try_eval2 :: PEvalState -> Int -> Expr -> [Expr] -> [Int] -> Expr   

caseVarArg :: [Expr] -> [Int] -> Int -> Bool   

caseVar :: Expr -> Bool   

float_case :: Expr -> [Expr] -> [Expr] -> [Int] -> Int -> Expr   

Further infos:
  • partially defined

float_caseAux :: Expr -> [Expr] -> Expr -> [Expr] -> Expr   

Further infos:
  • partially defined

gen_case :: Expr -> [Expr] -> [Expr] -> BranchExpr -> BranchExpr   

Further infos:
  • partially defined
  • solution complete, i.e., able to compute all solutions

try_eval_aux :: PEvalState -> Int -> Expr -> [Expr] -> [Expr] -> Expr   

try_eval_aux2 :: Expr -> [Expr] -> Expr   

Further infos:
  • partially defined
  • solution complete, i.e., able to compute all solutions

sharedVars :: Expr -> Bool   

Further infos:
  • partially defined

sharedVarsAux :: [[Int]] -> Bool   

shVar :: [Int] -> [Int] -> Bool   

groundVars :: Expr -> Bool   

Further infos:
  • partially defined

reducible :: [Expr] -> Bool   

Further infos:
  • partially defined

condSQ :: Expr -> Bool   

Further infos:
  • partially defined

sqRooted :: Expr -> Bool   

pevalCaseArg :: PEvalState -> Int -> Expr -> CaseType -> [BranchExpr] -> Expr   

isPartCall :: Expr -> Bool   

peval_apply :: PEvalState -> Int -> Expr -> Expr -> Expr   

Further infos:
  • partially defined

peval_builtin :: PEvalState -> Int -> String -> [Expr] -> Expr   

peval_builtinEQ :: PEvalState -> Int -> String -> [Expr] -> Expr   

Further infos:
  • partially defined

peval_builtinEQaux :: PEvalState -> Int -> String -> [Expr] -> Expr   

Further infos:
  • partially defined

peval_builtinEQlit :: String -> Expr -> Expr -> Expr   

Further infos:
  • partially defined

peval_builtinEQvar1 :: PEvalState -> Int -> String -> [Expr] -> Expr   

Further infos:
  • partially defined

peval_builtinEQvar2 :: PEvalState -> Int -> String -> [Expr] -> Expr   

Further infos:
  • partially defined

peval_builtinEQvarAux :: PEvalState -> Int -> String -> Int -> Expr -> Expr   

subs2branches :: Expr -> String -> [BranchExpr]   

Further infos:
  • partially defined

dataExp :: Expr -> Bool   

Further infos:
  • partially defined

isConsCall :: Expr -> Bool   

makeSeqCon :: String -> [Expr] -> [Expr] -> Expr   

Further infos:
  • partially defined

peval_builtinITE :: PEvalState -> Int -> [Expr] -> Expr   

Further infos:
  • partially defined

peval_builtinAND :: PEvalState -> Int -> [Expr] -> Expr   

Further infos:
  • partially defined

peval_builtinCAND :: PEvalState -> Int -> [Expr] -> Expr   

Further infos:
  • partially defined

peval_builtinARITH :: PEvalState -> Int -> String -> [Expr] -> Expr   

Further infos:
  • partially defined

peval_builtinARITHaux :: String -> [Expr] -> Expr   

Further infos:
  • partially defined

isLitInt :: Expr -> Bool   

peval_builtinMAP :: PEvalState -> Int -> String -> [Expr] -> Expr   

peval_builtinMAP_aux :: PEvalState -> Int -> [Expr] -> Expr   

Further infos:
  • partially defined

peval_builtinFOLDL :: PEvalState -> Int -> String -> [Expr] -> Expr   

peval_builtinFOLDL_aux :: PEvalState -> Int -> [Expr] -> Expr   

Further infos:
  • partially defined

peval_builtinFOLDR :: PEvalState -> Int -> String -> [Expr] -> Expr   

peval_builtinFOLDR_aux :: PEvalState -> Int -> [Expr] -> Expr   

Further infos:
  • partially defined

peval_builtinFILTER :: PEvalState -> Int -> String -> [Expr] -> Expr   

peval_builtinFILTER_aux :: PEvalState -> Int -> [Expr] -> Expr   

Further infos:
  • partially defined

peval_builtinITERATE :: PEvalState -> Int -> String -> [Expr] -> Expr   

peval_builtinITERATE_aux :: PEvalState -> Int -> [Expr] -> Expr   

Further infos:
  • partially defined

isCaseVar :: Expr -> Bool   

isCaseCons :: Expr -> Bool   

definedFunc :: PEvalState -> String -> Bool   

definedFunc2 :: [FuncDecl] -> String -> Bool   

hasName :: String -> FuncDecl -> Bool   

maxVarIndex :: Expr -> Int   

Further infos:
  • partially defined

max :: Int -> Int -> Int   

maxList :: [Int] -> Int   

localVarsInExp :: Expr -> [Int]   

diffList :: [Int] -> [Int] -> [Int]   

Further infos:
  • partially defined

varsInExp :: Expr -> [Int]   

Further infos:
  • partially defined

varsInCase :: BranchExpr -> [Int]   

delArgs :: [Int] -> [Int] -> [Int]   

ppExpr :: Int -> Expr -> String   

Further infos:
  • partially defined

ppVar :: Int -> String   

ppLit :: Literal -> String   

ppCase :: Int -> BranchExpr -> String   

blanks :: Int -> String   

ppFormatList :: (a -> String) -> [a] -> String   

ppList :: (a -> String) -> [a] -> String   

buildResultants :: Expr -> [Expr] -> [(Expr,Expr)] -> [(Expr,Expr)]   

Further infos:
  • partially defined

ppResultants :: [(Expr,Expr)] -> IO ()   

ppRen :: [(Expr,Expr)] -> IO ()   

pprenLHS :: Expr -> [(Expr,Expr)] -> Expr   

Further infos:
  • partially defined

pprintSub :: Subst -> IO ()   

pprint :: String -> IO ()   

ppFuncDecls :: [FuncDecl] -> IO ()   

ppRule :: String -> Rule -> IO ()   

deleteAll :: Eq a => a -> [a] -> [a]   

equalMR :: [Expr] -> [Expr] -> Bool   

existsRenSet :: [Expr] -> [Expr] -> Bool   

existsRen :: [Expr] -> Expr -> Bool   

instanceOf :: Expr -> Expr -> Subst   

instanceVar :: Expr -> Expr -> Subst   

Further infos:
  • partially defined
  • solution complete, i.e., able to compute all solutions

instanceS :: Expr -> Expr -> Subst   

Further infos:
  • partially defined

instanceL :: [Expr] -> [Expr] -> Subst -> Subst   

Further infos:
  • partially defined

clash :: Subst -> Subst -> Bool   

Further infos:
  • partially defined

clash_ :: [Int] -> [Expr] -> Subst -> Bool   

Further infos:
  • partially defined

findVal :: Int -> [Int] -> [Expr] -> Expr   

Further infos:
  • partially defined

instanceCase :: [BranchExpr] -> [BranchExpr] -> Subst -> Subst   

instanceCaseL :: [BranchExpr] -> [BranchExpr] -> Subst -> Subst   

Further infos:
  • partially defined

instanceCaseBranch :: BranchExpr -> BranchExpr -> Subst   

Further infos:
  • partially defined

composeSubs :: Subst -> Subst -> Subst   

andL :: [Bool] -> Bool   

orL :: [Bool] -> Bool   

removeRenamings :: [Expr] -> [Expr]   

removeVarsLits :: [Expr] -> [Expr]   

search_instance :: Expr -> [Expr] -> (Subst,Expr)   

searchInstance :: Expr -> [(Expr,Expr)] -> (Subst,Expr)   

searchConstrInstance :: [FuncDecl] -> Expr -> [(Expr,Expr)] -> (Subst,Expr)   

concatBlank :: [String] -> String   

Further infos:
  • solution complete, i.e., able to compute all solutions

delSQ :: Expr -> Expr   

Further infos:
  • partially defined