Hets - the Heterogeneous Tool Set

Copyright(c) Paolo Torrini and Till Mossakowski and Uni Bremen 2004-2005
LicenseGPLv2 or higher, see LICENSE.txt
Maintainerpaolot@informatik.uni-bremen.de
Stabilityprovisional
Portabilitynon-portable (depends on programatica using MPTC)
Safe HaskellNone

Comorphisms.Hs2HOLCFaux

Description

auxiliary functions for the embedding comorphism from Haskell to Isabelle

Documentation

removeEL :: [[a]] -> [[a]]

extTBody :: Term -> (Term, [Term])

data ExpRole

Constructors

FunDef 
InstDef 

type ISign = Sign

type IsaSort = Sort

type IsaType = Typ

type IsaTerm = Term

class IsaName a where

Methods

showIsaName :: a -> String

showIsaString :: a -> String

Instances

IsaName String 
IsaName HsName 
IsaName PName 
IsaName PNT 
IsaName PId 
IsaName HsName 

type PrExp = TiExp PNT

type PrPat = TiPat PNT

renVars :: Term -> [Term] -> Term -> Term

remove_duplicates :: Ord a => [a] -> [a]

type HsType = Type PNT

type HsScheme = Scheme PNT

type HsId = HsIdentI PNT

getInstClass :: HsPred -> HsType

getInstType :: HsPred -> HsType

liftMapByListD :: (x -> [a]) -> ([c] -> y) -> (a -> b1) -> (a -> b2) -> ([(b1, b2)] -> [c]) -> x -> y

nothingFiOut :: [(a, (Maybe b, c))] -> [(a, (b, c))]

data IsaVT

Constructors

IsaConst 
IsaVal 

Instances

type TyMap = Map HsId (Kind, HsTypeInfo)

liftMapByList :: (x -> [(a, b)]) -> ([(c, d)] -> y) -> (a -> c) -> (b -> d) -> x -> y

type HsTypeInfo = TypeInfo PNT

type HsInstance = Instance PNT

type HsInstances = [Instance PNT]

extClassInfo :: HsTypeInfo -> [HsClass]

prepInst :: HsInstance -> (HsClass, [(HsType, [HsClass])])