todo revision 198093ec9afd8b459087dc30c94347bb7eeaa282
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark AndrewsPlan and priority list for CoFI tool activities
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews************************************************
4a14ce5ba00ab7bc55c99ffdcf59c7a4ab902721Automatic Updater************************************************
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark AndrewsSuchfunktion f�r einen Knoten im DG:
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews welche anderen Knoten sind hier mit Theoriemorphismus abbildbar?
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews erstmal auf eine Logik (z.B. CASL) beschr�nken
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews - Funktion f�r Morphismus-Suche zwischen Theorien
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews - evtl. angucken: CASL.SymbolMapAnalysis, inducedFromToMorphism Map.empty
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews RawSymbolMap als "Suche-Guide" wird erestzt durch Axiome/Theoreme
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews - Einbindung ins GUI (GUI.ConvertAbstractToDevGraph)
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark AndrewsBasicProof in Proofs.Proofs: sind Datenstrukturen f�r informelle Beweise OK?
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark AndrewsKonfidenzgrade von Beweisen?
ea94d370123a5892f6c47a97f21d1b28d44bb168Tinderbox Uservon Till/HiWi zu erledigen:
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark AndrewsRepr�sentation �ndern:
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Beweisobjekte an DGs, nicht an Regeln -- done
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews F�r Theoreme in Theorien an Beweisobjekte -- done
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews BasicProof mit Liste von Beweisobjekten -- �berfl�ssig
e21a2904f02a03fa06b6db04d348f65fe9c67b2bMark Andrews Definitionen auszeichnen -- done
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews F�r alles siehe G_theory, ThSens und SenStatus.
cd32f419a8a5432fbb139f56ee73cbf68b9350ccTinderbox User Isabelles Beweisobjekte einbinden
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews************************************************
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark AndrewsFlorian (Till)
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews************************************************
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsabstrakte Syntax f�r ConstraintCASL (s. CASL-lib/ConstraintCASL/)
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews nach HetCATS/ConstraintCASL/AS_ConstraintCASL.der.hs
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Range hinzuf�gen (vgl. HetCATS/CASL/AS_Basic.der.hs)
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark AndrewsParser f�r ConstraintCASL
9b469e3c59015b1a4899c9d8395168126fe094fdAutomatic Updater nach HetCATS/ConstraintCASL/Parse_AS_Basic.hs
9b469e3c59015b1a4899c9d8395168126fe094fdAutomatic Updater tokens aus Common/Lexer.hs wiederverwenden
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews neuer Parser f�r Terme
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews hets -o ast.het CASL-lib/ConstraintCASL/RCC8.het
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews trace verwenden
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews einfachen Test einchecken
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark AndrewsFreiburger Constraint-Solver angucken
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark AndrewsBremer Constraint-Solver angucken
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews************************************************
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark AndrewsHendrik (Till)
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews************************************************
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewswerden Links in der richtigen Reihenfolge geschrieben (S. 183 OMDoc)?
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewswerden Signatur-Symbole in OMDoc mit der Theorie versehen, in der
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews sie als erstes eingef�hrt wurden?
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark AndrewsHiding: unterschiedlich in OMDoc und Hets
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsein Hets-Hiding-Link mit einer Inklusion Sigma_1->Sigma_2 als
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Signaturmorphismus
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews wird �bersetzt in einen OMDoc-Theoriemorphismus
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews mit leerer/identischer Abbildung, bei dem die Symbole aus
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Sigma_2 \ Sigma_1 versteckt werden
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Wenn der Signaturmorphismus keine Inklusion ist, ist keine
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews �bersetzung m�glich -> Fehler
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsein OMDoc-Theoriemorphismus mit Hiding, der eine Inklusion ist
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews (also leere bzw. identische Abbildung) wird �bersetzt
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews in einen Hets-Hiding-Link, mit Inklusion als Signaturmorphismus
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews falls der OMDoc-Theoriemorphismus keine Inklusion ist, muss
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews ein Hets-Hiding-Link, gefolgt von einem normalen (globalen) Link,
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews der dann die Umbenennung macht, erzeugt werden
cd32f419a8a5432fbb139f56ee73cbf68b9350ccTinderbox UserLogiken: �ber verschiedene OMDoc-Theorien mit URI
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews************************************************
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark AndrewsMingyi (Till)
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews************************************************
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsport CCC to Haskell
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark AndrewsFunktionen imageOfMorphism und inhabited
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews von OnePoint.hs in eigenes Modul verschieben: Modul SignFuns.hs
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews mit "cvs add SigFuns.hs" einchecken
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews"free datatypes and recursive equations are consistent"
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark AndrewscheckFreeType :: Morphism f e m -> [FORMULA f] -> Maybe Bool
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark AndrewsJust True => Yes, is consistent
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark AndrewsJust False => No, is inconsistent
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark AndrewsNothing => don't know
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewscall the symbols in the image of the signature morphism "new"
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews- each new sort must be a free type,
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews i.e. it must occur in a sort generation constraint that is marked as free
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews (Sort_gen_ax constrs True)
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews such that the sort is in srts, where (srts,ops,_)=recover_Sort_gen_ax constrs
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews if not, output "don't know"
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews and there must be one term of that sort (inhabited)
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews if not, output "no"
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews- group the axioms according to their leading operation/predicate symbol,
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews i.e. the f resp. the p in
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews forall x_1:s_n .... x_n:s_n . f(t_1,...,t_m)=t
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews forall x_1:s_n .... x_n:s_n . phi => f(t_1,...,t_m)=t
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Implication Application Strong_equation
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews forall x_1:s_n .... x_n:s_n . p(t_1,...,t_m)<=>phi
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews forall x_1:s_n .... x_n:s_n . phi1 => p(t_1,...,t_m)<=>phi
b2f07642fd712c8fda81a116bcdde229ab291f33Tinderbox User Implication Predication Equivalence
b2f07642fd712c8fda81a116bcdde229ab291f33Tinderbox User if there are axioms not being of this form, output "don't know"
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewscheck' :: [EquationInfo] -> ([ExhaustivePat],EqnSet)
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewscheck' [] = ([([],[])],emptyUniqSet)
b2f07642fd712c8fda81a116bcdde229ab291f33Tinderbox User-- nur ein Pattern, bestehend aus nur Variablen? fertig, True
b2f07642fd712c8fda81a116bcdde229ab291f33Tinderbox Usercheck' [EqnInfo n ctx ps (MatchResult CanFail _)]
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews | all_vars ps = ([(takeList ps (repeat new_wild_pat),[])], unitUniqSet n)
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews-- besteht das erste Pattern nur aus Variablen? dann darf es kein zweites geben!
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewscheck' qs@((EqnInfo n ctx ps (MatchResult CanFail _)):rs)
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews | all_vars ps = (pats, addOneToUniqSet indexs n)
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews (pats,indexs) = check' rs
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews-- falls ein Konstruktor dabei ist: split_by_constructor
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews-- wenn die ersten Argument nur Variablen sind: first_column_only_vars
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewscheck' qs@((EqnInfo n ctx ps result):_)
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews | all_vars ps = ([], unitUniqSet n)
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews | constructors = split_by_constructor qs
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews | only_vars = first_column_only_vars qs
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews | otherwise = panic "Check.check': Not implemented :-("
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews -- Note: RecPats will have been simplified to ConPats
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews -- at this stage.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews constructors = or (map is_con qs)
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews only_vars = and (map is_var qs)
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewssubsort definitions: are conservative if formula is satisfiable
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews (generate proof obligation)
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews************************************************
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews************************************************
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark AndrewsOWL-DL (<)-> CASL-DL
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews highlight does not work properly for HasCASL/Set.het or UserManual/Sbcs.casl
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews some operation symbols
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews show hets output immediately
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews C-c C-g for hets -g
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews when hets terminates abnormally (e.g. with a fail), emacs loops
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews C-n jumps to the next error, but the message windows is not always scrolled
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews in such a way that the error is at the top (for long error lists)
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Version for XEamcs?
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews should work with parser error messages as well (adapt these?)
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews************************************************
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews************************************************
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark AndrewsModal-CASL <-> CASL-DL
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews see Chapter 4 of "The Description Logic Handbook"
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews and ask Klaus for a print out of it
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsimprove Modal-CASL
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews possibly also modal logic in CoCASL
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews************************************************
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews************************************************
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark AndrewsUni-Refactoring,
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsmake modules hierarchical, change scoped type variables for ghc-6.5
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews(and older ghcs), replace deprecated code (i.e. FiniteMap, hslibs),
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsuse HaXml as a cabalized library, provide uni as (one?) cabal
cd32f419a8a5432fbb139f56ee73cbf68b9350ccTinderbox Userpackage(s), uni used to work under windows as well, watch the
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsi.e. FilePath, Process discussions (libraries@haskell.org)
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewspossibly switch to a subversion repository, talk to Achim
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews(amahnke@tzi.de)
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews************************************************
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews************************************************
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsdevelopment graph calculus
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews(see Sect. IV:4.4 of the CASL Reference Manual)
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewslook at Proofs/EdgeUtils.hs Proofs/StatusUtils.hs Proofs/Global.hs
cd32f419a8a5432fbb139f56ee73cbf68b9350ccTinderbox Userfix bug: when lodaing Basic/RelationsAndOrders.casl and
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews doing 4x edit - proofs - Global Decomposition, we get
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews hets: applyChangesAux2: deleted edge from 3 to 15 of type GlobalThm
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews and origin DGProof of development graph does not exist in abstraction graph
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews look at Proofs/Global.hs, GUI/ConvertAbstractToDevgraph,
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews function applyChanges
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Hint: first try to cut down the example (find out the minimal
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews subpart that still leads to the error)
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewstest development grapg GUI:
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews menu edit - unnamed nodes - hide/show nodes,
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews node menu: show just subtree / undo
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews interaction with edit - proofs - automatic?
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsimplement simplified rule Theorem-Hide-Shift
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewstry out examples
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsconservativity calculus
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsweakly amalgamable cocones
cd32f419a8a5432fbb139f56ee73cbf68b9350ccTinderbox User************************************************
9b469e3c59015b1a4899c9d8395168126fe094fdAutomatic Updater************************************************
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewschange management
9b469e3c59015b1a4899c9d8395168126fe094fdAutomatic Updater reload button im Edit-Men� hinzuf�gen (GUI/ConvertAbstractToDevgraph.hs)
9b469e3c59015b1a4899c9d8395168126fe094fdAutomatic Updater reload macht folgendes:
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews lade CASL-Datei neu ==> neuer Entwicklungsgraph
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews vergleiche alten+neuen Entwicklungsgraph, konstruiere eine
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Abbildung (Common/Lib/Map.hs) von alt nach neu
30c0c7470d5bfabd8f43c563f4eca636d06cc484Tinderbox User (jeweils eine Abblidung f�r Knoten und eine f�r Kanten)
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Kriterien f�r Finden der Knotenabbildung:
LaTeX: see listings.sty for LaTeX generation (cf. CoSiT paper)
Taxonomy, possibly use uni/appl/ontologytool instead of Taxonomy!
- group the axioms according to their leading operation/predicate symbol,
i.e. the f resp. the p in
Adapt Comorphisms.KnownProvers to select a certain prover at the end of a
used in GUI.ProofManagement (easier to maintain and to extend)
use falseSentence from Logic.Logic (property: holds in no model)
Simpsets/Taktiken fuer Minimierung der ueberladenen Typen entwickeln
BinInt.casl: revealing in Int1 does not work correctly
(i.e. x R1 y \/ x R2 y)
ontology mediation via pushouts/pullbacks/pulations
globally display nodes containing symbols mapped "twice" (i.e. via
uses of the symbols/concepts
UserManual/Chapter7.casl: local thm link starting from Monoid leads to type error
Buffer.het, sublogic of node Buffer:
ensure that axiom/thm names are unique
+ translations (e.g. modal to FOL)
Isabelle codings: www.inf.ethz.ch/~vigano
Integration of MAYA and Isabelle/HOL (global HOL-Coding of
(i.e. signatures, axioms, signature morphisms in HOL,
Hets interactive (provide cmd line interface, but hold loaded libraries in memory, provide switch to context of spec, and type checking of expressions, interaction with emacs mode)
Data.Serizable (only when ghc supports it) better: rely on pointer equality
Improve encoding: CATS/basic_encode.sml (3 days)
More HOL-theories: CATS/HOL-CASL/struct_encode.sml (2 days)
Term input+errors in cmd line interface: CATS/casl/casl.sml (1 day)
Adapt more stuff from isabelle/src/HOL/Tools/datatype_package.ML (2 weeks)
HOL-CASL Simplifier: CATS/HOL-CASL/simplifier.sml (1 week)
HOL-CASL tactics: CATS/HOL-CALS/tactic.sml (2 days)
HOL-CASL encoding: CATS/HOL-CASL/basic_encode.sml (1 day)
IsaWin git/src/isa_ext/casl_thy.sml (1 week)
Basic datatypes CASL-lib/Basic/basic.casl
Conversion ASF/SDF-Parser -> abstract syntax (in Haskell)
Views on CASL specs: CATS/viewer.sml (2 weeks)
Module graph CATS/module_graph.sml (1 week) -> Maya?
ATerms via XML: CATS/aterms.sml (2 weeks)
Library management: CATS/lib_ana.sml (2 weeks)