SkolemMachines.ORG → autolog/README.html

Autolog development page


This webpage archives code development of the AutoLog programing system. AutoLog is an extended coherent-form logic prover. The parent system is colog14I. AutoLog uses a new input parser for an experimental coherent-form logic with coherent type terms and judgements, and parametric functor term expressions allowing impredicative terms. The system design stress indexicality analysis, which is implemented by the analyzer/compiler.



The Autolog Design Notebook (ADN) describes design requirements and specifications for the AutoLog inference programming system, as well as testing regimens. The ADN is a Pages generated document and is modified frequently. The ADN is a Lab notebook documenting system proposals and development issues.








Double-click on AutoLogApp.jar. The autolog app appears on the user's desktop and can be relocated by dragging. Double-click the app to open the Autolog editor, or drop an autolog source file on the app to open it in the editor. Use the editor's compile button to open the theory in the AutoLogViewer window.



CODE archive management

The current code archive was developed using Java 21 LTS with no preview features:
~ % java -version
java version "21.0.1" 2023-10-17 LTS Java(TM) SE Runtime Environment (build 21.0.1+12-LTS-29) Java HotSpot(TM) 64-Bit Server VM (build 21.0.1+12-LTS-29, mixed mode, sharing)

  autolog2023-11-3.zip( download)

An unzipped autolog development directory looks somewhat like this ...

autolog/
README.html (this page)
autolog2023-11-3.zip
AutoLogApp.jar
AutoLogApp.java (Desktop App)
build (relevant for Java 21, no preview features)
makejar (creates AutoLogApp.jar)
help/ ...
makejar (creates AutoLogApp.jar)
makezip (creates autolog.zip)
org/ (jar -xf antlr-runtime-4.13.1.jar)
sam/ (Skolem Abstract Machine)
antlr/ (input parsers/translators)
autolog/
aliases (antlr generate lexer,parser,compile & test )
AUTOLOG.g4
Reader.java (translation parser/walker)
Compiler.java (-> sam.machine.lang)
...
machine/
lang/ (autolog machine source code components)
AutoLogAnalyzer.java (code analysis)
Conjunction.java
Disjunction.java
Fact.java
Functor.java
Inference.java
Rewrite.java
Rule.java
Term.java
Theory.java
Variable.java
engine (development tests for active package -- described in ADN)
ActiveMOD.java (concurrency testing)
MatchTest.java
TangleTool.java
...
active (inference runtime components)
active_dev/ (dev notes and diagram for ADN)
ActiveInference.java
ActiveRewrite.java
ActiveRule.java
ActiveTheory.java
ActiveTree.java
inference_indexing/ (dev for proof reports)
gui/
edit/ (AutoLog script editor)
Info.html (built-in operators + DUOPs)
symbols.txt (unicode operators)
AutoLogEditor.java
search/ (AutoLog Viewer)
AutoLog.java
images/
Analyzer.html (Analyzer info)
Control.html (Control info)
LaTeXTree.java
TreePane.java
util/
Index.java
Pattern.java
...

Visit https://www.antlr.org to download manna from antlr. Download antlr jars :

~/antlr-4.13.1-complete.jar
~/antlr-runtime-4.13.1.jar
Use the complete jar for generating the parsers.
Read the aliases file in sam/antlr/autolog
to see how to generate parsers, compile sources and run tests.

The autolog component autolog/org/ was extracted from antlr-runtime-4.13.1.jar as follows
jar -xf antlr-runtime-4.13.1.jar

The development versions are archived using makezip,

> source makezip <version>
This will store autolog<version>.zip in the autolog/ directory. Read the makezip file to see how it works.
NOTE: makezip removes compiled components (but NOT antlr-generated sources) before the zip.

Use build to recompile java components anytime (but not to generate parser-related java sources). Read the build20 file to see how it works.

> source build

Use makejar to generate AutoLogApp.jar. Double-click on the jar file to start the desktop app.

> source makejar

I use JavApp mini IDE for Java projects.
The current java JDK version for Autolog development is given above, before the link to the current zip archive.

Current Testing Regimen using GUI Editor and Viewer and AutoLogAnalyzer:
Continue design/test for ADN, §6.6-6.12 regarding sam.machine.active components with concurrency designs.

Any advantage for virtual threads, for concurrent inference components, seems unlikely at this time, but specific runtime experiments will continue.
Similarly, structured concurrency employment needs to be tested when the inference manager (sam.machine.active.ActiveTree) becomes more functional.

The AutoLogApp.jar, the AutoLogEditor, and The AutoLog Viewer components will use a non-preview LTS JDK ...

Previous archives are listed here.