Skip to main content

Topological SAT preprocessor — detects UNSAT via cohomological obstructions

Project description

torc-sat

Topological SAT preprocessor. Detects UNSAT in CNF formulas via cohomological obstructions.

First-of-its-kind: recognizes combinatorial structures (PHP, Tseitin, graph coloring) hidden in DIMACS CNF and applies TORC topological infeasibility certificates. Returns UNSAT with mathematical proof or UNKNOWN (pass to SAT solver).

Install

pip install -e .

Usage

CLI

# Check a single instance
torc-sat check instance.cnf

# JSON output
torc-sat check instance.cnf --json

# Benchmark a directory
torc-sat bench benchmark/instances/

Python API

from torc_sat import check

result = check("instance.cnf")
print(result.verdict)       # UNSAT or UNKNOWN
print(result.time_ms)       # milliseconds
print(result.certificate)   # topological certificate (if UNSAT)

Supported structures

Structure Detection TORC method Typical speedup vs SAT solver
PHP(n+1,n) Pigeon + hole clauses Cech H1 cohomology >1000x for n>15
Tseitin XOR groups GF(2) rank obstruction >100x
Graph coloring At-least-one + conflict Clique lower bound >50x

Soundness

TORC never produces false positives. If it says UNSAT, it IS unsat (mathematical proof). If it says UNKNOWN, pass to a SAT solver.

License

All Rights Reserved. Carmen Esteban / IAFISCAL & PARTNERS.

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

torc_sat-0.1.0.tar.gz (21.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

torc_sat-0.1.0-py3-none-any.whl (28.9 kB view details)

Uploaded Python 3

File details

Details for the file torc_sat-0.1.0.tar.gz.

File metadata

  • Download URL: torc_sat-0.1.0.tar.gz
  • Upload date:
  • Size: 21.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for torc_sat-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1979d506a6ae165fe49d96b95cecd9db949f0a618ed3cede3978718e807ed34d
MD5 927eda12cb9d897e84bd331fe0290d5c
BLAKE2b-256 5a157766f377beac6454f5b4f2fbf6d2ad4a8fe6a191edafb076483196899061

See more details on using hashes here.

File details

Details for the file torc_sat-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: torc_sat-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 28.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for torc_sat-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 92efac0c53a375b39a9e8000659ba70c99f6eb74796097f89ca4e8b20ed71323
MD5 f0ed714a7ae0c9c1212cb5b01573cdf6
BLAKE2b-256 261e23c4ad97eedae818cdb624d87a8ac27f42f61f70bddb4d31bd9c69743743

See more details on using hashes here.

Supported by

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