Thank you for interest in improving logic-zig. Short path from clone → green tests → a reviewable change.
git clone https://github.com/SMC17/logic-zig.git
cd logic-zig
zig build test
zig build
./zig-out/bin/logic-zig doctor
./zig-out/bin/logic-zig taxonomy- Evidence first. Prefer a failing test before a fix. Load-bearing claims
must be unit-tested or clearly marked residual in
STATUS.md. - Registry honesty. Raising a taxonomy row's maturity requires code + tests
in the same change. Never mark
engine/industrialwithout gates. - Narrow diffs. Touch only modules needed for the change.
- Zig 0.16 APIs. Use
ArrayList = .empty,std.process.Init, etc. - No secrets. Never commit tokens, private paths, or credentials.
- Non-fiction rule. See
docs/UNIVERSAL.md— no silent overclaims.
| Path | Role |
|---|---|
src/sat/ |
CDCL, DRAT, IPASIR, external solvers |
src/circuit/ |
Netlist, BMC, k-induction, PDR, justice, k-liveness |
src/bridge/ |
DIMACS, AIGER, giants |
src/fol/ |
Terms, unification, finite models, resolution |
src/smt/ |
BV, EUF, arrays |
src/deductive/ |
ND, sequents, search, focusing |
src/abductive/ |
Exhaustive / industrial / MUS abduction |
src/inductive/ |
Induction schemas |
src/constructive/ |
Intuitionistic |
src/substructural/ |
Linear logic |
src/modal/ |
Kripke, epistemic/deontic |
src/fuzzy/, src/paraconsistent/ |
Many-valued |
src/probabilistic/ |
Independence, Markov logic |
src/description/ |
ALC, SHIQ |
src/historical/ |
Syllogistic |
src/nonmonotonic/ |
Default logic |
src/taxonomy/ |
Living registry |
corpus/ |
CNF / AIGER fixtures |
- Branch from
main. zig build testmust pass; rundoctorandtaxonomyfor platform changes.- Co-locate unit tests in the module you change.
- Update
CHANGELOG.mdunder the next version section if user-visible. - If you add a named system, update
src/taxonomy/registry.ziganddocs/TAXONOMY_COVERAGE.mdin the same PR. - Open a PR with problem statement + proof level (
unit-tested/fragment/sketch).
- Module-level
//!docs for public engines. - Prefer explicit error sets and
deferfor owned resources. - Avoid silent
catch {}on correctness paths. - Allocator-aware; no hidden globals.
By contributing, you agree that your contributions are licensed under the
Apache License 2.0 (see LICENSE).