Chop Logic Core is a TypeScript library providing core functions for working with symbolic logic. It is part of the broader Chop Logic project and offers essential utilities for logic processing and deduction.
You can install chop-logic-core
via npm:
npm install chop-logic-core
Or using yarn:
yarn add chop-logic-core
The following npm scripts are available for development and maintenance:
npm run build
โ Build both ESM and CJS versions of the library.npm run prepare
โ Run build an husky commands.npm run clean
โ Remove the generated lib
folder.npm run check
โ Run Biome to check for code quality and formatting issues.npm run format
โ Format all files.npm run fix
โ Format, lint, and organize imports of all files.npm run test
โ Run Jest in watch mode.npm run test:ci
โ Run Jest in CI mode, allowing zero tests to pass.npm run coverage
โ Generate a test coverage report.release:version
โ Bumps the version (patch
, minor
, or major
), commits the change, creates a Git tag, and pushes to main
. Usage:
npm run release:version patch
import { ChopLogicCore } from 'chop-logic-core';
const { PropositionalFactory, PropositionalUtils, HilbertCalculus } = ChopLogicCore;
const { createExpression, createFormula } = PropositionalFactory;
const { generateTT, convertToString } = PropositionalUtils;
const expression = createExpression('((A => B) & ~C)');
const formula = createFormula(expression);
const truthTable = generateTT(formula);
const A = createFormula(createExpression('A'));
const implicationAB = createFormula(createExpression('(A => B)'));
const consequent = HilbertCalculus.IE([implicationAB, A]);
const stringView = convertToString(consequent);
Contributions are welcome! If you find a bug or have an idea for improvement, feel free to open an issue or submit a pull request. Please check the Contribution guide for additional info.
This project is licensed under MIT. See the LICENSE file for details.
Let's build better logic tools together! ๐