colog1.9Download the executable Java archive colog.jar .
Version 1.9 implements relevancy for case reasoning.
See the QEDF technote for details.
Red notes signal found bugs not fixed in this version.
This page resides at
JohnRFisher.NET.
$ java -jar colog.jar help
--------------------------------------------------------------------------------
colog1.9, 9 March 2011
> java -jar colog.jar help % this help
> java -jar colog.jar % launch the GUI
> java -jar colog.jar file=f [depth=d width=w complexity=c log=b] % comline
where
f is either a theory file or folder of same
and defaults are ...
d = 300
w = 1000
c = -1 (OFF)
b = false
--------------------------------------------------------------------------------
A queueing strategy decides which rules of a theory to
put into the queue.
As an alternative to strategies built into the prover,
one can employ the following mechanism.
If one includes an initial directive rule in a geolog theory of the form
do => queue(ri1,ri2,...).where rij ≥ 1, then the loader will put only the specific rules rij into the queue.
do => queue(0).This adhoc queueing mechanism allows experiments regarding the effectiveness of queueing strategies.
Note added 18 June 2010: The fore translation of either an
existential wff, or negated universal wff, can yield errors.
(The codes in sam.fol.WFF.java, lines 628-638 and 757-767 are incorrect.)
This problem does not affect geolog inputs.
$ java -cp Colog.jar Guard <file> <domname>where domname is the name of the domain predicate used for the geolog theory in file.
Note added 5 May 2010: found bug in code. Guard does not correctly analyze constants.
Needs fix.
* John Fisher and Marc Bezem, Skolem Machines, Fundamenta Informaticae, Machines, Computation and Universality, 91 (1) 2009, pp. 79-103.
* John Fisher and Marc Bezem, Skolem Machines and Geometric Logic. In C.B. Jones, Z. Liu and J. Woodcock, Proc. ICTAC 2007 The 4th International Colloquium on Theoretical Aspects of Computing, Macao SAR, China, September 26-28, 2007. Springer LNCS vol. 4711, pp. 201-215.
* John Fisher and Marc Bezem, Query Completeness of Skolem Machine Computations. In J. Durand-Los`e and M. Margenstern, editors, Proc. Machines, Computations and Universality 07, Universite d`Orleans - LIFO, Orleans, France September 10-14, 2007. Springer LNCS vol. 4664, pp. 182-192.
Unzip the colog archive and the structure is
colog1.9/ about {short notes on this version/changes} colog.java {main class} org {antlr runtime} LICENSE {relevant to version} makeall {recompile script} makedoc {Javadoc script} makejar {make jar script} colog1.9.jar {what makeall or makejar makes} sam/ {aka skolem abstract machine} fol/ {FOL to geolog} antlr {ANTLR Fol grammar, etc.} gui/ {logic visualizer GUI} infer/ {inference engine guts} lang/ {geolog language classes} antlr/ {ANTLR Geolog grammar, etc.} util/ {fast small stacks, queues, etc.} ... {perhaps other experimental stuff?}I use JavaEditor and ANTLRworks for development.
I usually keep classes with sources. The makeall script
needs a classpath param: For example, If I download
colog1.9.zip and unzip it inside of /skolem/java/
then the classpath parameter to use for makeall is ...> source makeall /skolem/java/colog1.9
1. Design and implement dynamic rule indexing for colog, also called "just-in-time-rule-indexing" (JITI), which restricts the applicable rule choices based upon the current branch facts. 2. Adapt a colog prover for use with Google App Engine (GAE). 3. Adapt a colog prover for use with Amazon Web Services (AWS). 4. Design and implement extensions to geolog for built-ins: arithmetic, lists, etc. 5. Design and implement extensions to geolog for using modules or packages, supporting unique name spaces. 6. Design translators from N3 logic into extended geolog (using #4, #5). 7. Implement QEDF for a Prolog coherent logic prover.