Copyright | (c) Sonja Groening C. Maeder Uni Bremen 2003-2006 |
---|---|
License | GPLv2 or higher, see LICENSE.txt |
Maintainer | Christian.Maeder@dfki.de |
Stability | provisional |
Portability | non-portable (imports Logic.Logic) |
Safe Haskell | None |
This embedding comorphism from HasCASL to Isabelle-HOL is an old version that can be deleted as soon as case terms are implemented elsewhere
Synopsis
- data HasCASL2IsabelleHOL = HasCASL2IsabelleHOL
- baseSign :: BaseSig
- transSignature :: Env -> Result (Sign, [Named Sentence])
- transOpInfo :: OpInfo -> Maybe Typ
- transOpType :: TypeScheme -> Typ
- transType :: Type -> Typ
- transDatatype :: TypeMap -> DomainTab
- transDataEntry :: DataEntry -> [DomainEntry]
- transTypeArg :: TypeArg -> Typ
- transAltDefn :: AltDefn -> (VName, [Typ])
- transVar :: Id -> VName
- transSentence :: Env -> Sentence -> Maybe Term
- transOpId :: Env -> Id -> TypeScheme -> String
- transProgEq :: Env -> ProgEq -> (Term, Term)
- transTerm :: Env -> Term -> Term
- transAppl :: Env -> Maybe Type -> Term -> Term -> Term
- mkApp :: String -> Env -> Term -> Term -> Term
- transApplOp :: Env -> Type -> Term -> Term -> Term
- transLog :: Env -> Id -> Term -> Term -> Term
- transWhenElse :: Env -> Term -> Term
- abstraction :: Env -> Term -> Term -> Term
- transPattern :: Env -> Term -> Term
- transTotalLambda :: Env -> Term -> Term
- arangeCaseAlts :: Env -> [ProgEq] -> [(Term, Term)]
- sortCaseAlts :: Env -> [ProgEq] -> [(Term, Term)]
- getCons :: Env -> Id -> [Id]
- getName :: ProgEq -> Id
- getTypeName :: Term -> Id
- groupCons :: [ProgEq] -> Id -> [ProgEq]
- flattenPattern :: Env -> [ProgEq] -> (Term, Term)
- data CaseMatrix = CaseMatrix {}
- data PatBrand
- matricize :: [ProgEq] -> [CaseMatrix]
- matriPEq :: ProgEq -> CaseMatrix
- matriArg :: Term -> Term -> CaseMatrix
- concentrate :: [CaseMatrix] -> Env -> CaseMatrix
- groupByArgs :: [CaseMatrix] -> Int -> [CaseMatrix]
- redArgs :: Env -> [CaseMatrix] -> CaseMatrix
- redAppl :: [CaseMatrix] -> Env -> CaseMatrix
- recArgs :: Env -> [ProgEq] -> [ProgEq]
- shrinkPat :: CaseMatrix -> Term
- patIsVar :: ProgEq -> Bool
- termIsVar :: Term -> Bool
- patHasNoArg :: ProgEq -> Bool
- termHasNoArg :: Term -> Bool
- transCaseAlt :: Env -> ProgEq -> (Term, Term)
- transPat :: Env -> Term -> Term
- binConst :: String -> Term -> Term -> Term
- isaPair :: String
Documentation
data HasCASL2IsabelleHOL Source #
The identity of the comorphism
Instances
Signature
translation of a type in an operation declaration
transOpInfo :: OpInfo -> Maybe Typ Source #
transOpType :: TypeScheme -> Typ Source #
translation of a datatype declaration
transDatatype :: TypeMap -> DomainTab Source #
transDataEntry :: DataEntry -> [DomainEntry] Source #
transTypeArg :: TypeArg -> Typ Source #
Formulas
translation of lambda abstractions
translation of case alternatives
getTypeName :: Term -> Id Source #
data CaseMatrix Source #
Instances
Eq CaseMatrix Source # | |
Defined in Comorphisms.HasCASL2IsabelleHOL (==) :: CaseMatrix -> CaseMatrix -> Bool (/=) :: CaseMatrix -> CaseMatrix -> Bool | |
Ord CaseMatrix Source # | |
Defined in Comorphisms.HasCASL2IsabelleHOL compare :: CaseMatrix -> CaseMatrix -> Ordering (<) :: CaseMatrix -> CaseMatrix -> Bool (<=) :: CaseMatrix -> CaseMatrix -> Bool (>) :: CaseMatrix -> CaseMatrix -> Bool (>=) :: CaseMatrix -> CaseMatrix -> Bool max :: CaseMatrix -> CaseMatrix -> CaseMatrix min :: CaseMatrix -> CaseMatrix -> CaseMatrix | |
Show CaseMatrix Source # | |
Defined in Comorphisms.HasCASL2IsabelleHOL showsPrec :: Int -> CaseMatrix -> ShowS show :: CaseMatrix -> String showList :: [CaseMatrix] -> ShowS |
matricize :: [ProgEq] -> [CaseMatrix] Source #
matriPEq :: ProgEq -> CaseMatrix Source #
concentrate :: [CaseMatrix] -> Env -> CaseMatrix Source #
groupByArgs :: [CaseMatrix] -> Int -> [CaseMatrix] Source #
redArgs :: Env -> [CaseMatrix] -> CaseMatrix Source #
redAppl :: [CaseMatrix] -> Env -> CaseMatrix Source #
shrinkPat :: CaseMatrix -> Term Source #
patHasNoArg :: ProgEq -> Bool Source #
termHasNoArg :: Term -> Bool Source #