engboris/transcendental-syntax: Technical interpretation of Girard's transcendental syntax

engboris/transcendental-syntax: Technical interpretation of Girard’s transcendental syntax

The transcendental syntax is a method of constructing logical abstractions from
a low-level elementary and “logic-agnostic” language.

This elementary language we use to build abstractions is called
“stellar resolution” and its elementary objects corresponding to programs are
called “constellations”.

Those constellations are used in a higher-level language called “Stellogen” in
which notions such as proofs and formulas are defined (this is basically a
metaprogramming language for constellations). By the proof-as-program
correspondence, this can be extended to programs and types.

The stellar resolution (RS) is a model of computation introduced by Jean-Yves
Girard [1] in his transcendental syntax project as a basis for the study of the
computational foundations of logic. It has been mainly developed by Eng later
in his PhD thesis [2].

It can be understood from several points of view:

  • it is a logic-agnostic, asynchronous and very general version of Robinson’s
    first-order resolution with disjunctive clauses, which is used in logic
    programming;
  • it is a very elementary logic-agnostic constraint programming language;
  • it is a non-planar generalization of Wang tiles (or LEGO bricks) using terms
    instead of colours and term unification instead of colour matching;
  • it is a model of interactive agents behaving like molecules which interact
    with each other. It can be seen as a generalization of Jonoska’s flexible
    tiles used in DNA computing;
  • it is an assembly language for meaning.

Stellar resolution is very elementary and an interpreter for it can be written
in a very concise way since it mostly relies on a unification algorithm.

This project is still in development, hence the syntax and features are still
changing.

Go to https://tsguide.refl.fr/ (guide currently in French only) to learn more
about how to play with the current implementation of transcendental syntax.

You can either download a released binary
(or ask for a binary) or build the program from sources.

Install opam and OCaml from opam : https://ocaml.org/docs/installing-ocaml

Install dune:

Install dependencies

opam install . --deps-only

Build the project

Executables are in _build/default/bin/.

Assume the executable is named sgen.exe. Interpreter Stellogen programs with:

or if you use Dune:

Some example files with the .sg extension in /examples are ready to be
executed. In Eng’s thesis, ways to work with other models of computation are
described (Turing machines, pushdown automata, transducers, alternating
automata etc).

Leave a Comment

Your email address will not be published. Required fields are marked *