Hets - the Heterogeneous Tool Set

Copyright(c) Sonja Groening, C. Maeder, Uni Bremen 2003-2006
LicenseGPLv2 or higher, see LICENSE.txt
MaintainerChristian.Maeder@dfki.de
Stabilityprovisional
Portabilitynon-portable (imports Logic.Logic)
Safe HaskellNone

Comorphisms.HasCASL2IsabelleHOL

Contents

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

Documentation

Signature

translation of a type in an operation declaration

translation of a datatype declaration

Formulas

mkApp :: String -> Env -> Term -> Term -> Term

transApplOp :: Env -> Type -> Term -> Term -> Term

transLog :: Env -> Id -> Term -> Term -> Term

transWhenElse :: Env -> Term -> Term

when else statement

translation of lambda abstractions

translation of case alternatives

sortCaseAlts :: Env -> [ProgEq] -> [(Term, Term)]

getCons :: Env -> Id -> [Id]

groupCons :: [ProgEq] -> Id -> [ProgEq]

data CaseMatrix

Constructors

CaseMatrix 

Fields

patBrand :: PatBrand
 
cons :: Maybe Term
 
args :: [Term]
 
newArgs :: [Term]
 
term :: Term
 

data PatBrand

Constructors

Appl 
Tuple 
QuOp 
QuVar 

recArgs :: Env -> [ProgEq] -> [ProgEq]

binConst :: String -> Term -> Term -> Term

apply binary operation to arguments

isaPair :: String

upper case curried pair constructor