Copyright | (c) Till Mossakowski, Uni Bremen 2002-2006 |
---|---|
License | GPLv2 or higher, see LICENSE.txt |
Maintainer | till@informatik.uni-bremen.de |
Stability | provisional |
Portability | non-portable(Logic) |
Safe Haskell | None |
theory datastructure for development graphs
- newtype ThId = ThId Int
- startThId :: ThId
- data G_theory = 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 {
- gTheoryLogic :: lid
- gTheorySyntax :: Maybe IRI
- gTheorySign :: ExtSign sign symbol
- gTheorySignIdx :: SigId
- gTheorySens :: ThSens sentence (AnyComorphism, BasicProof)
- gTheorySelfIdx :: ThId
- createGThWith :: G_theory -> SigId -> ThId -> G_theory
- 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)
- prettyFullGTheory :: Maybe IRI -> G_theory -> Doc
- prettyGTheorySL :: G_theory -> Doc
- prettyGTheory :: Maybe IRI -> G_theory -> Doc
- sublogicOfTh :: G_theory -> G_sublogics
- getThGoals :: G_theory -> [(String, Maybe BasicProof)]
- getThAxioms :: G_theory -> [(String, Bool)]
- getThSens :: G_theory -> [String]
- simplifyTh :: G_theory -> G_theory
- mapG_theory :: AnyComorphism -> G_theory -> Result G_theory
- translateG_theory :: GMorphism -> G_theory -> Result G_theory
- joinG_sentences :: Monad m => G_theory -> G_theory -> m G_theory
- flatG_sentences :: Monad m => G_theory -> [G_theory] -> m G_theory
- signOf :: G_theory -> G_sign
- 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
- data BasicProof
- = 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
- isProvedBasically :: BasicProof -> Bool
- getValidAxioms :: G_theory -> G_theory -> [String]
- invalidateProofs :: G_theory -> G_theory -> G_theory -> (Bool, G_theory)
- 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)
- proveLocalSens :: G_theory -> G_theory -> G_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)
- propagateProofs :: G_theory -> G_theory -> G_theory
- type GDiagram = Gr G_theory (Int, GMorphism)
- isHomogeneousGDiagram :: GDiagram -> Bool
- homogeniseGDiagram :: Logic lid sublogics basic_spec sentence symb_items symb_map_items sign morphism symbol raw_symbol proof_tree => lid -> GDiagram -> Result (Gr sign (Int, morphism))
- homogeniseSink :: Logic lid sublogics basic_spec sentence symb_items symb_map_items sign morphism symbol raw_symbol proof_tree => lid -> [(Node, GMorphism)] -> Result [(Node, morphism)]
- gEnsuresAmalgamability :: [CASLAmalgOpt] -> GDiagram -> [(Int, GMorphism)] -> Result Amalgamates
Documentation
data G_theory
Grothendieck theories with lookup indices
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 | |
|
createGThWith :: G_theory -> SigId -> ThId -> G_theory
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)
prettyFullGTheory :: Maybe IRI -> G_theory -> Doc
prettyGTheorySL :: G_theory -> Doc
prettyGTheory :: Maybe IRI -> G_theory -> Doc
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
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
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
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
isProvedBasically :: BasicProof -> Bool
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.
proveLocalSens :: G_theory -> G_theory -> G_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.
isHomogeneousGDiagram :: GDiagram -> Bool
checks whether a connected GDiagram is homogeneous
:: 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
:: 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
gEnsuresAmalgamability :: [CASLAmalgOpt] -> GDiagram -> [(Int, GMorphism)] -> Result Amalgamates