Introduction to Railgun CLP(Z)

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