Metadata-Version: 2.4
Name: axiomata
Version: 0.3.1
Summary: Toolkit for mathematical and CS proof, analysis, and reasoning.
Project-URL: Homepage, https://github.com/mikovilla/axiomata
Project-URL: Issues, https://github.com/mikovilla/axiomata/issues
Project-URL: PyPI, https://pypi.org/project/axiomata/
Author-email: Miko Villa <dev@mikovilla.com>
License: MIT
License-File: LICENSE
Keywords: algorithms,analysis,computer-science,discrete-math,education,mathematics,proof,reasoning,theorem
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Education
Classifier: Topic :: Scientific/Engineering :: Mathematics
Requires-Python: >=3.9
Requires-Dist: matplotlib
Requires-Dist: sympy
Provides-Extra: dev
Requires-Dist: pytest; extra == 'dev'
Description-Content-Type: text/markdown

# axiomata

![version](https://img.shields.io/badge/version-0.3.1-blue)
![python](https://img.shields.io/badge/python-3.9%2B-blue)
![license](https://img.shields.io/badge/license-MIT-green)
[![pypi](https://img.shields.io/pypi/v/axiomata)](https://pypi.org/project/axiomata/)

Importable modules for mathematical and CS proof, analysis, and reasoning.

## Modules

Everything lives under the single `axiomata` package — see [`axiomata/README.md`](axiomata/README.md) for full usage examples.

| Submodule | What it does |
|---|---|
| `axiomata.induction` | Checks mathematical induction proofs of arithmetic-series identities |
| `axiomata.checks` | Symbolic equality checks for algebraic expressions |
| `axiomata.master_theorem` | Master Theorem recurrence classification |
| `axiomata.sort` | Elementary sorting algorithms (bubble, selection, insertion) |

```python
from axiomata import induction, checks, master_theorem
from axiomata.sort import Sort, Type

induction.base_case("1 + 2 + 3 + ... + n = n(n+1)/2")
checks.equal("(k+1)³ − (k+1)", "(k³ − k) + 3k(k+1)")
master_theorem.calculate(2, 2, "n")
Sort(Type.BUBBLE).run()
```

## Dev setup

```bash
cd axiomata

python -m venv .venv
powershell -ExecutionPolicy Bypass -File .venv\Scripts\Activate.ps1

python -m pip install -U pip
python -m pip install -e ".[dev]"

pytest
```

## License

MIT
