Socket
Socket
Sign inDemoInstall

cnftools

Package Overview
Dependencies
1
Maintainers
1
Alerts
File Explorer

Install Socket

Detect and block malicious and high-risk dependencies

Install

    cnftools

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


Maintainers
1

Readme

======== cnftools

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

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


Installation

::

pip install cnftools

cnftools is listed in PyPI <https://pypi.org/project/cnftools/>_ 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.

Keywords

FAQs


Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc