| 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 | 
Comorphisms.HasCASL2IsabelleHOL
Description
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
Constructors
| HasCASL2IsabelleHOL | 
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 #
Constructors
| CaseMatrix | |
Instances
| Eq CaseMatrix Source # | |
Defined in Comorphisms.HasCASL2IsabelleHOL  | |
| Ord CaseMatrix Source # | |
Defined in Comorphisms.HasCASL2IsabelleHOL Methods 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 Methods 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 #