Compiling :
There are two programs, one with all functionnalities which relies on lifelib and cpp_shinjuku, and one which can only check transformations sets but has no dependency.

cpp_shinjuku is available at https://conwaylife.com/forums/viewtopic.php?p=216201#p216201
lifelib is available at https://gitlab.com/apgoucher/lifelib
(these libraries are used in header-only form : no installing required)

Set WIDTH in common.h, then set the paths to cpp_shinjuku and lifelib in the command :
> g++ width-N_check.cpp -o width-5_check.exe -O3 -DNDEBUG -I /PATH/TO/CPP_SHINJUKU -I /PATH/TO/LIFELIB -std=c++20
or use for the simple version :
> g++ basic_check.cpp -o basic_check.exe -O3 -DNDEBUG -std=c++20


Commands :

Use with 
> width-5_check <command> [proof file name] [output file name]
And follow instructions. Input patterns as RLE.

check : full check of proof, output the set of missing transformations
shorten : produce a digested proof (removes redundant transformations)
synth : synthesise still-life
input : input components or recipes in LifeHistory annotated format
parse : parse single-stage components and find (most) applications for this width,
if two file names are provided RLEs are taken from first file and results outputed in second
reuse : attempt to reuse components from the previous project (experimental)


History :
v1.1 published on 14/07/2026. Main changes since v1.0 :
- nicer formatting of syntheses, now with equal spacing and no overlap
- fixed a bug which caused too many missing transformations to be reported per unsolved
branch
- added experimental feature "reuse"
- changed policy for default files
- parse can read several RLEs from a file

v1.0 published on 13/07/2026 with basic features check, synth, input, parse and shorten

