Hets - the Heterogeneous Tool Set

Copyright(c) Till Mossakowski, Uni Bremen 2002-2006
LicenseGPLv2 or higher, see LICENSE.txt
Maintainertill@informatik.uni-bremen.de
Stabilityprovisional
Portabilitynon-portable(Logic)
Safe HaskellNone

Static.GTheory

Description

theory datastructure for development graphs

Synopsis

Documentation

newtype ThId

Constructors

ThId Int 

data G_theory

Grothendieck theories with lookup indices

Constructors

forall lid sublogics basic_spec sentence symb_items symb_map_items sign morphism symbol raw_symbol proof_tree . Logic lid sublogics basic_spec sentence symb_items symb_map_items sign morphism symbol raw_symbol proof_tree => G_theory 

Fields

gTheoryLogic :: lid
 
gTheorySyntax :: Maybe IRI
 
gTheorySign :: ExtSign sign symbol
 
gTheorySignIdx :: SigId

index to lookup G_sign (using signOf)

gTheorySens :: ThSens sentence (AnyComorphism, BasicProof)
 
gTheorySelfIdx :: ThId

index to lookup this G_theory in theory map

coerceThSens :: (Logic lid1 sublogics1 basic_spec1 sentence1 symb_items1 symb_map_items1 sign1 morphism1 symbol1 raw_symbol1 proof_tree1, Logic lid2 sublogics2 basic_spec2 sentence2 symb_items2 symb_map_items2 sign2 morphism2 symbol2 raw_symbol2 proof_tree2, Monad m, Typeable b) => lid1 -> lid2 -> String -> ThSens sentence1 b -> m (ThSens sentence2 b)

sublogicOfTh :: G_theory -> G_sublogics

compute sublogic of a theory

getThGoals :: G_theory -> [(String, Maybe BasicProof)]

get theorem names with their best proof results

getThAxioms :: G_theory -> [(String, Bool)]

get axiom names plus True for former theorem

getThSens :: G_theory -> [String]

get sentence names

simplifyTh :: G_theory -> G_theory

simplify a theory (throw away qualifications)

mapG_theory :: AnyComorphism -> G_theory -> Result G_theory

apply a comorphism to a theory

translateG_theory :: GMorphism -> G_theory -> Result G_theory

Translation of a G_theory along a GMorphism

joinG_sentences :: Monad m => G_theory -> G_theory -> m G_theory

Join the sentences of two G_theories

flatG_sentences :: Monad m => G_theory -> [G_theory] -> m G_theory

flattening the sentences form a list of G_theories

signOf :: G_theory -> G_sign

Get signature of a theory

noSensGTheory :: Logic lid sublogics basic_spec sentence symb_items symb_map_items sign morphism symbol raw_symbol proof_tree => lid -> ExtSign sign symbol -> SigId -> G_theory

create theory without sentences

data BasicProof

Constructors

forall lid sublogics basic_spec sentence symb_items symb_map_items sign morphism symbol raw_symbol proof_tree . Logic lid sublogics basic_spec sentence symb_items symb_map_items sign morphism symbol raw_symbol proof_tree => BasicProof lid (ProofStatus proof_tree) 
Guessed 
Conjectured 
Handwritten 

isProvenSenStatus :: SenStatus a (AnyComorphism, BasicProof) -> Bool

test a theory sentence

getValidAxioms

Arguments

:: G_theory

old global theory

-> G_theory

new global theory

-> [String]

unchanged axioms

invalidateProofs

Arguments

:: G_theory

old global theory

-> G_theory

new global theory

-> G_theory

local theory with proven goals

-> (Bool, G_theory)

no changes and new local theory with deleted proofs

proveSens :: Logic lid sublogics basic_spec sentence symb_items symb_map_items sign morphism symbol raw_symbol proof_tree => lid -> ThSens sentence (AnyComorphism, BasicProof) -> ThSens sentence (AnyComorphism, BasicProof)

mark sentences as proven if an identical axiom or other proven sentence is part of the same theory.

proveSensAux :: Logic lid sublogics basic_spec sentence symb_items symb_map_items sign morphism symbol raw_symbol proof_tree => lid -> ThSens sentence (AnyComorphism, BasicProof) -> ThSens sentence (AnyComorphism, BasicProof) -> ThSens sentence (AnyComorphism, BasicProof)

mark sentences as proven if an identical axiom or other proven sentence is part of a given global theory.

propagateProofs :: G_theory -> G_theory -> G_theory

mark all sentences of a local theory that have been proven via a prover over a global theory (with the same signature) as proven. Also mark duplicates of proven sentences as proven. Assume that the sentence names of the local theory are identical to the global theory.

type GDiagram = Gr G_theory (Int, GMorphism)

Grothendieck diagrams

isHomogeneousGDiagram :: GDiagram -> Bool

checks whether a connected GDiagram is homogeneous

homogeniseGDiagram

Arguments

:: Logic lid sublogics basic_spec sentence symb_items symb_map_items sign morphism symbol raw_symbol proof_tree 
=> lid

the target logic to be coerced to

-> GDiagram

the GDiagram to be homogenised

-> Result (Gr sign (Int, morphism)) 

homogenise a GDiagram to a targeted logic

homogeniseSink

Arguments

:: Logic lid sublogics basic_spec sentence symb_items symb_map_items sign morphism symbol raw_symbol proof_tree 
=> lid

the target logic to which morphisms will be coerced

-> [(Node, GMorphism)]

the list of edges to be homogenised

-> Result [(Node, morphism)] 

Coerce GMorphisms in the list of (diagram node, GMorphism) pairs to morphisms in given logic