Hets - the Heterogeneous Tool Set

Copyright(c) University of Cambridge, Cambridge, England adaption (c) Till Mossakowski, Uni Bremen 2002-2005
LicenseGPLv2 or higher, see LICENSE.txt
MaintainerChristian.Maeder@dfki.de
Stabilityprovisional
Portabilityportable
Safe HaskellNone

Isabelle.IsaSign

Description

Data structures for Isabelle signatures and theories. Adapted from Isabelle.

Synopsis

Documentation

type TName = String

type names

data VName

names for values or constants (non-classes and non-types)

Constructors

VName 

Fields

new :: String

name within Isabelle

altSyn :: Maybe AltSyntax

mixfix template syntax

orig :: VName -> String

the original (Haskell) name

data Indexname

Indexnames can be quickly renamed by adding an offset to the integer part, for resolution.

Constructors

Indexname 

type Sort = [IsaClass]

data Typ

Constructors

Type 

Fields

typeId :: TName
 
typeSort :: Sort
 
typeArgs :: [Typ]
 
TFree 

Fields

typeId :: TName
 
typeSort :: Sort
 
TVar 

data DTyp

Constructors

Hide 

Fields

typ :: Typ
 
kon :: TAttr
 
arit :: Maybe Int
 
Disp 

Fields

typ :: Typ
 
kon :: TAttr
 
arit :: Maybe Int
 

data Prop

Constructors

Prop 

Fields

prop :: Term
 
propPats :: [Term]
 

data Sentence

Constructors

Sentence 
Instance 

Fields

tName :: TName
 
arityArgs :: [Sort]
 
arityRes :: Sort
 
definitions :: [(String, Term)]

Definitons for the instansiation with the name of the sentence (String)

instProof :: IsaProof
 
ConstDef 

Fields

senTerm :: Term
 
RecDef 
TypeDef 
Lemmas

Isabelle syntax for grouping multiple lemmas in to a single lemma.

Locale 
Class 
Datatypes [Datatype] 
Domains [Domain] 
Consts [(String, Maybe Mixfix, Typ)] 
TypeSynonym QName (Maybe Mixfix) [String] Typ 
Axioms [Axiom] 
Lemma 
Definition 
Fun 
Primrec 
Fixrec [(String, Maybe Mixfix, Typ, [FixrecEquation])] 
Instantiation 
InstanceProof 
InstanceArity 
InstanceSubclass 
Subclass 
Typedef 
Defs 

Instances

Eq Sentence 
Data Sentence 
Ord Sentence 
Show Sentence 
ShATermConvertible Sentence 
GetRange Sentence 
Pretty Sentence 
Typeable * Sentence 
Sentences Isabelle Sentence Sign IsabelleMorphism () 
StaticAnalysis Isabelle () Sentence () () Sign IsabelleMorphism () () 
LogicalFramework Isabelle () () Sentence () () Sign IsabelleMorphism () () () 
Logic Isabelle () () Sentence () () Sign IsabelleMorphism () () () 
Comorphism CommonLogic2IsabelleHOL CommonLogic CommonLogicSL BASIC_SPEC TEXT_META SYMB_ITEMS SYMB_MAP_ITEMS Sign Morphism Symbol Symbol ProofTree Isabelle () () Sentence () () Sign IsabelleMorphism () () () 
Comorphism HolLight2Isabelle HolLight HolLightSL () Sentence () () Sign HolLightMorphism () () () Isabelle () () Sentence () () Sign IsabelleMorphism () () () 
Comorphism HasCASL2IsabelleHOL HasCASL Sublogic BasicSpec Sentence SymbItems SymbMapItems Env Morphism Symbol RawSymbol () Isabelle () () Sentence () () Sign IsabelleMorphism () () () 
Comorphism PCoClTyConsHOL2IsabelleHOL HasCASL Sublogic BasicSpec Sentence SymbItems SymbMapItems Env Morphism Symbol RawSymbol () Isabelle () () Sentence () () Sign IsabelleMorphism () () () 
Comorphism MonadicHasCASL2IsabelleHOL HasCASL Sublogic BasicSpec Sentence SymbItems SymbMapItems Env Morphism Symbol RawSymbol () Isabelle () () Sentence () () Sign IsabelleMorphism () () () 
Comorphism PCoClTyConsHOL2PairsInIsaHOL HasCASL Sublogic BasicSpec Sentence SymbItems SymbMapItems Env Morphism Symbol RawSymbol () Isabelle () () Sentence () () Sign IsabelleMorphism () () () 
Comorphism CFOL2IsabelleHOL CASL CASL_Sublogics CASLBasicSpec CASLFORMULA SYMB_ITEMS SYMB_MAP_ITEMS CASLSign CASLMor Symbol RawSymbol ProofTree Isabelle () () Sentence () () Sign IsabelleMorphism () () () 
Comorphism CoCFOL2IsabelleHOL CoCASL CoCASL_Sublogics C_BASIC_SPEC CoCASLFORMULA SYMB_ITEMS SYMB_MAP_ITEMS CSign CoCASLMor Symbol RawSymbol () Isabelle () () Sentence () () Sign IsabelleMorphism () () () 
Comorphism Haskell2IsabelleHOL Haskell () HsDecls (TiDecl PNT) () () Sign HaskellMorphism () () () Isabelle () () Sentence () () Sign IsabelleMorphism () () () 
Comorphism Haskell2IsabelleHOLCF Haskell () HsDecls (TiDecl PNT) () () Sign HaskellMorphism () () () Isabelle () () Sentence () () Sign IsabelleMorphism () () () 

data Ctxt

Constructors

Ctxt 

Fields

fixes :: [(String, Maybe Mixfix, Typ)]
 
assumes :: [(String, Term)]
 

data SetDecl

Constructors

SubSet Term Typ Term

Create a set using a subset. First parameter is the variable Second is the type of the variable third is the formula describing the set comprehension e.g. x Nat "even x" would be produce the isabelle code: {x::Nat . even x}

FixedSet [Term]

A set declared using a list of terms. e.g. {1,2,3} would be Set [1,2,3]

type ClassDecl = ([IsaClass], [(String, Term)], [(String, Typ)])

type Def = (Typ, [(String, Typ)], Term)

type FunDef = (Typ, [([Term], Term)])

type Arities = Map TName [(IsaClass, [(Typ, Sort)])]

type Abbrs = Map TName ([TName], Typ)

data BaseSig

Constructors

Main_thy

main theory of higher order logic (HOL)

Custom_thy 
MainHC_thy

extend main theory of HOL logic for HasCASL

MainHCPairs_thy

for HasCASL translation to bool pairs

HOLCF_thy

higher order logic for continuous functions

HsHOLCF_thy

HOLCF for Haskell

HsHOL_thy

HOL for Haskell

MHsHOL_thy 
MHsHOLCF_thy 
CspHOLComplex_thy 

data Sign

Instances

Eq Sign 
Ord Sign 
Show Sign 
ShATermConvertible Sign 
Pretty Sign 
Typeable * Sign 
Sentences Isabelle Sentence Sign IsabelleMorphism () 
StaticAnalysis Isabelle () Sentence () () Sign IsabelleMorphism () () 
LogicalFramework Isabelle () () Sentence () () Sign IsabelleMorphism () () () 
Logic Isabelle () () Sentence () () Sign IsabelleMorphism () () () 
Comorphism CommonLogic2IsabelleHOL CommonLogic CommonLogicSL BASIC_SPEC TEXT_META SYMB_ITEMS SYMB_MAP_ITEMS Sign Morphism Symbol Symbol ProofTree Isabelle () () Sentence () () Sign IsabelleMorphism () () () 
Comorphism HolLight2Isabelle HolLight HolLightSL () Sentence () () Sign HolLightMorphism () () () Isabelle () () Sentence () () Sign IsabelleMorphism () () () 
Comorphism HasCASL2IsabelleHOL HasCASL Sublogic BasicSpec Sentence SymbItems SymbMapItems Env Morphism Symbol RawSymbol () Isabelle () () Sentence () () Sign IsabelleMorphism () () () 
Comorphism PCoClTyConsHOL2IsabelleHOL HasCASL Sublogic BasicSpec Sentence SymbItems SymbMapItems Env Morphism Symbol RawSymbol () Isabelle () () Sentence () () Sign IsabelleMorphism () () () 
Comorphism MonadicHasCASL2IsabelleHOL HasCASL Sublogic BasicSpec Sentence SymbItems SymbMapItems Env Morphism Symbol RawSymbol () Isabelle () () Sentence () () Sign IsabelleMorphism () () () 
Comorphism PCoClTyConsHOL2PairsInIsaHOL HasCASL Sublogic BasicSpec Sentence SymbItems SymbMapItems Env Morphism Symbol RawSymbol () Isabelle () () Sentence () () Sign IsabelleMorphism () () () 
Comorphism CFOL2IsabelleHOL CASL CASL_Sublogics CASLBasicSpec CASLFORMULA SYMB_ITEMS SYMB_MAP_ITEMS CASLSign CASLMor Symbol RawSymbol ProofTree Isabelle () () Sentence () () Sign IsabelleMorphism () () () 
Comorphism CoCFOL2IsabelleHOL CoCASL CoCASL_Sublogics C_BASIC_SPEC CoCASLFORMULA SYMB_ITEMS SYMB_MAP_ITEMS CSign CoCASLMor Symbol RawSymbol () Isabelle () () Sentence () () Sign IsabelleMorphism () () () 
Comorphism Haskell2IsabelleHOL Haskell () HsDecls (TiDecl PNT) () () Sign HaskellMorphism () () () Isabelle () () Sentence () () Sign IsabelleMorphism () () () 
Comorphism Haskell2IsabelleHOLCF Haskell () HsDecls (TiDecl PNT) () () Sign HaskellMorphism () () () Isabelle () () Sentence () () Sign IsabelleMorphism () () () 

type DomainEntry = (Typ, [(VName, [Typ])])

data ProofCommand

Constructors

Apply [ProofMethod] Bool

Apply a list of proof methods, which will be applied in sequence withing the apply proof command. The boolean is if the + modifier should be used at the end of the apply proof method. e.g. Apply(A,B,C) True would represent the Isabelle proof command "apply(A,B,C)+"

Using [String] 
Back 
Defer Int 
Prefer Int 
Refute 

data Modifier

Constructors

No_asm

No_asm means that assumptions are completely ignored.

No_asm_simp

No_asm_simp means that the assumptions are not simplified but are used in the simplification of the conclusion.

No_asm_use

No_asm_use means that the assumptions are simplified but are not used in the simplification of each other or the conclusion.

data ProofMethod

Constructors

Auto

This is a plain auto with no parameters - it is used so often it warents its own constructor

Simp

This is a plain auto with no parameters - it is used so often it warents its own constructor

AutoSimpAdd (Maybe Modifier) [String]

This is an auto where the simpset has been temporarily extended with a listof lemmas, theorems and axioms. An optional modifier can also be used to control how the assumptions are used. It is used so often it warents its own constructor

SimpAdd (Maybe Modifier) [String]

This is a simp where the simpset has been temporarily extended with a listof lemmas, theorems and axioms. An optional modifier can also be used to control how the assumptions are used. It is used so often it warents its own constructor

Induct Term

Induction proof method. This performs induction upon a variable

CaseTac Term

Case_tac proof method. This perfom a case distinction on a term

SubgoalTac Term

Subgoal_tac proof method . Adds a term to the local assumptions and also creates a sub-goal of this term

Insert [String]

Insert proof method. Inserts a lemma or theorem name to the assumptions of the first goal

Other String

Used for proof methods that have not been implemented yet. This includes auto and simp with parameters