Author:
Mostowski Collapse, XLOG Technologies AG, Switzerland
Date:
February 24, 2026
Abstract:
Railgun CLP(Z) started as an experiment of a
tiny constraint solver for the Dogelog Player.
The first idea was attributed variables and their
frozen goals consititute a cyclic structure, so
that a Prolog system supporting rational trees
as introduced by Alain Colmeraur can model
attributed variables as ‘$ATTR’/2 compounds.
The second idea was to aim for static variable
ordering (SVO) to get something lean similar to
the spirit of the Lean Provers by Jens Otten.
Meanwhile after a number of iterations, this
project has reached performance and maturity
levels so that we can compete with the Z3 SMT
Solver and the MiniZinc Gecode solver via a
100% Prolog realization.
Keywords:
Prolog, Constraint Logic Programming, Z3, Gecode
Download:
railgun_20260224_clpz.pdf