Non-boolean truth structures for dialectical reasoning, an alternative to boolean binarism, inspired by Hegelian logic.
Project description
🧠 Sublation
Classical boolean logic forces every proposition into exactly one of two states. That works well for most software, but it can't represent situations where a claim and its negation are both partially warranted, or where neither is warranted yet. As a solution, Sublation models truth as a relationship between a thesis and an antithesis, and derives a synthesis from how they interact — allowing states like contradiction and becoming to be detected rather than defined away.
✨ Main Features
- Thesis and Antithesis classes to represent claims and their negations.
- Synthesis class to represent the interaction between a thesis and an antithesis.
- Methods to detect negation, contradiction, becoming, and sublation.
✅ Prerequisites
- Python 3.12+ installed on your machine
- Astral Uv package manager (optional)
- Dependencies listed in
requirements.txt
⚙️ Installation
For regular use:
# Clone the repository
git clone https://github.com/germanocastanho/sublation-package
cd sublation-package/
# Create a venv (optional)
python3 -m venv .venv
source .venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Install sublation package
pip install -e .
For development:
# Clone the repository
git clone https://github.com/germanocastanho/sublation-package
cd sublation-package/
# Create a venv (optional)
python3 -m venv .venv
source .venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Install sublation package
pip install -e ".[dev]"
# Run full test suite
pytest
🚀 Quick Start
from sublation import Thesis, Antithesis, Synthesis
t = Thesis(True)
a = Antithesis(True)
s = Synthesis(t, a)
s.contradiction() # True — the tension is real and detectable
s.becoming() # False — this is not a quiet resolution
s.sublation() # True — it doesn't collapse into falsehood
# The next round
t2 = s.as_thesis()
📜 Libre Software
If you have ideas for improvements or new features, please open an issue or submit a pull request! Make sure to follow the existing code style and include tests for any new functionality. This project is licensed under the MIT License. You are free to use, modify, and distribute this software. For more information, please refer to the LICENSE file.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sublation-0.1.0.tar.gz.
File metadata
- Download URL: sublation-0.1.0.tar.gz
- Upload date:
- Size: 4.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Pop!_OS","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5c640c02437d8da97e7fcf284122f45a10f8760ac9f14478bab425782c298830
|
|
| MD5 |
95c09f69ee73c074e8a7c6de6bb2d4c0
|
|
| BLAKE2b-256 |
585e98b252ed716f1017176e348513399330e2f584b78556700cb27fd66ad639
|
File details
Details for the file sublation-0.1.0-py3-none-any.whl.
File metadata
- Download URL: sublation-0.1.0-py3-none-any.whl
- Upload date:
- Size: 4.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Pop!_OS","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e009722b2a54cff39e2915f71bdf94a9febc2a1e61885e0eab7b7cc6aa01f9d0
|
|
| MD5 |
e2951f483d775f598594fdef93c8dc78
|
|
| BLAKE2b-256 |
e31bf3c92d7d81b896bf133304a206497c3bf34be4b9f9cc65eeaaf7f9b06150
|