Skip to main content

A collection of tools for working with and generating Dimacs CNF files.

Project description

https://circleci.com/gh/easyas314159/cnftools/tree/master.svg?style=svg

A collection of tools for working with and generating Dimacs CNF files.

Installation

pip install cnftools

cnftools is listed in PyPI and can be installed with pip.

Usage

cnftools exposes the cnf command-line interface for quickly generating Dimacs CNF files typically for use with a SAT solver.

3cnf

Apply the Tseytin transformation [TSEY1970] to a CNF file producing an output where all clauses contain 3 or fewer literals.

cnf 3cnf -i [input.cnf]

simplify

Simply the input CNF file.

cnf simplify -i [input.cnf] -o [output.cnf]

stats

Provide details about contents of a CNF file. This includes the number of literals, the total number of clauses, as well as a histogram of clause lengths.

cnf stats -i [input.cnf]

karps21

This sub-command exposes utilities for generating CNF files based on Karp’s 21 NP-Complete problems [KARP1972]. For more details on this utility use the -h/--help option.

cnf karps21 --help

References

[TSEY1970]

Tseitin, Grigori. “On the complexity of derivation in propositional calculus.” Studies in constructive mathematics and mathematical logic (1968): 115-125.

[COOK1971]

Cook, Stephen A. “The complexity of theorem-proving procedures.” Proceedings of the third annual ACM symposium on Theory of computing. ACM, 1971.

[KARP1972]

Karp, Richard M. “Reducibility among combinatorial problems.” Complexity of computer computations. Springer, Boston, MA, 1972. 85-103.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cnftools-0.0.2.tar.gz (10.3 kB view details)

Uploaded Source

Built Distribution

cnftools-0.0.2-py3-none-any.whl (14.4 kB view details)

Uploaded Python 3

File details

Details for the file cnftools-0.0.2.tar.gz.

File metadata

  • Download URL: cnftools-0.0.2.tar.gz
  • Upload date:
  • Size: 10.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.1

File hashes

Hashes for cnftools-0.0.2.tar.gz
Algorithm Hash digest
SHA256 c67561ad035b45ae5bbe5cd435c476a2714a0ac4c3f4827b9886415ebb370e9d
MD5 43f81d5f0aefa8360915829333caa69a
BLAKE2b-256 a631d7841440aaeb983b1244ce6fb81f7d7bf47ba700082a3c678d4bed867712

See more details on using hashes here.

File details

Details for the file cnftools-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: cnftools-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 14.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.1

File hashes

Hashes for cnftools-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c63156d035f4ac1d051067ee61d52b9e80fcadee638c8f34a3df4ea9517b5281
MD5 a2d22292bc9cf22dc44e9d3f5e3d812e
BLAKE2b-256 5fbf59afe6f1697f01edd7354141f2433b09d18e95ae2a0b1613a5eaff90f361

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page