go-cdcl

module
v0.0.0-...-aa6980f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 12, 2023 License: GPL-3.0

README

go-cdcl

CDCL SAT solver made in Go designed for DIMCAS problems

This project was made as part of the COMP60332 Automated Reasoning and Verification Course as part of the MSc Advanced Computer Science course at the Univeristy of Manchester.

Get Started

Requirements
  • Built for Ubuntu/Debian based Linux, might work in other linux distributions but might be unstable
Steps
  1. Download Binary

  2. Give execution permission

chmod +x ./gocdcl
  1. Run gocdcl -h to open help menu
$ ./gocdcl -h
NAME:
   gocdcl - Pass SAT file as stdin pipe or using the -f/--file flag to run SAT solver

USAGE:
   gocdcl [global options] command [command options] [arguments...]

COMMANDS:
   help, h  Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --file value, -f value  .SAT file to be processed. This option is overridden if input provided by stdin pipe
   --verbose, -v           Switches on detailed logging for cdcl solver (default: false)
   --experimental, -e      use experimental features (default: false)
   --help, -h              show help

You can pass your DIMCAS format files via stdin or using the -f flag.

Building From Source

Requirements**
  • Go Version 1.20
Steps
  1. Clone Repository and open directory
git clone https://github.com/alanpjohn/go-cdcl.git && cd go-cdcl
  1. Run Makefile
make
  1. You will find the binary generated with filename gocdcl

Directories

Path Synopsis
package main contains the main execution function that starts the CLI
package main contains the main execution function that starts the CLI
pkg
error
The dbg package contains utility structs and functions for error handling
The dbg package contains utility structs and functions for error handling
io
The io package handles the processing of DIMCAS format file
The io package handles the processing of DIMCAS format file
logger
The logger package contains configured logging tools for debugging
The logger package contains configured logging tools for debugging
solver
The solver package contains the BaseCDCLSolver
The solver package contains the BaseCDCLSolver

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL