Dedekind 0.0.0
A structuralist C++23 Module Library
Loading...
Searching...
No Matches
partial.cppm File Reference

The Logic of Potentiality (Partial Algebra). More...

#include <concepts>
#include <limits>
#include <optional>
#include <type_traits>
#include <utility>
import dedekind.category:topoi;
Include dependency graph for partial.cppm:

Classes

struct  dedekind::category::GetLogic< std::optional< T > >
struct  dedekind::category::Partial< T >
 The Kleisli Context for "Consistently Broken" Species. More...
struct  dedekind::category::TernaryResult< T >
 A Logic-Aware Result container for Ternary outcomes. More...
struct  dedekind::category::SafeAddTransform< T >
 Addition with overflow check (Classical Logic). More...
struct  dedekind::category::BoundedAddTransform< T, BoundaryPolicy >
 Addition that consults a user-supplied numeric boundary policy. More...
struct  dedekind::category::BoundedMulTransform< T, BoundaryPolicy >
 Multiplication with user-supplied numeric boundary policy. More...
struct  dedekind::category::BoundedDivTransform< T, BoundaryPolicy >
 Division with user-supplied numeric boundary policy. More...
struct  dedekind::category::HonestDivTransform< T >
 Division with truncation-awareness (Ternary Logic). More...

Namespaces

namespace  dedekind::category

Concepts

concept  dedekind::category::IsPotential
 Structural isomorphism for "Maybe-like" species.
concept  dedekind::category::IsPartialMagma
 A textbook-aligned partial binary algebra.
concept  dedekind::category::IsPartialAssociative
 The Kleene Associativity Law.
concept  dedekind::category::HasPartialIdentity
 Existence of a Neutral Element in a Partial Universe.
concept  dedekind::category::IsPartialSupportClassifier
 Characteristic morphism χ: T -> Ω_K3 for partial support.
concept  dedekind::category::IsPartialSemigroup
concept  dedekind::category::IsPartialMonoid
concept  dedekind::category::IsPartialLoop
 A Partial Monoid with local invertibility on support.
concept  dedekind::category::IsPartialCommutativeSemigroup
concept  dedekind::category::IsPartialGroup
concept  dedekind::category::IsPartialAbelianGroup

Functions

template<typename T>
constexpr bool dedekind::category::presence_of (const std::optional< T > &opt)
template<typename T>
constexpr Ternary dedekind::category::presence_of (const Partial< T > &p)
template<typename T>
constexpr Ternary dedekind::category::presence_of (const TernaryResult< T > &tr)

Variables

template<typename T, typename Op>
constexpr bool dedekind::category::is_kleene_associative_v = false
template<typename T, typename Op>
constexpr bool dedekind::category::is_kleene_commutative_v = false
template<typename T, typename Op>
constexpr bool dedekind::category::is_kleene_invertible_v = false
template<typename T, typename Op>
constexpr T dedekind::category::partial_unit_v = T{}
template<typename T>
constexpr bool dedekind::category::is_kleene_associative_v< T, SafeAddTransform< T > > = true
template<typename T>
constexpr T dedekind::category::partial_unit_v< T, SafeAddTransform< T > > = T(0)
template<std::unsigned_integral T>
constexpr bool dedekind::category::is_kleene_associative_v< T, BoundedAddTransform< T, FullMachineBoundaryPolicy< T > > > = true
template<std::unsigned_integral T>
constexpr bool dedekind::category::is_kleene_commutative_v< T, BoundedAddTransform< T, FullMachineBoundaryPolicy< T > > > = true
template<std::unsigned_integral T>
constexpr bool dedekind::category::is_kleene_invertible_v< T, BoundedAddTransform< T, FullMachineBoundaryPolicy< T > > > = true
template<std::unsigned_integral T>
constexpr T dedekind::category::partial_unit_v< T, BoundedAddTransform< T, FullMachineBoundaryPolicy< T > > >
template<std::unsigned_integral T>
constexpr bool dedekind::category::is_kleene_associative_v< T, BoundedMulTransform< T, FullMachineBoundaryPolicy< T > > > = true
template<std::unsigned_integral T>
constexpr bool dedekind::category::is_kleene_commutative_v< T, BoundedMulTransform< T, FullMachineBoundaryPolicy< T > > > = true
template<std::unsigned_integral T>
constexpr T dedekind::category::partial_unit_v< T, BoundedMulTransform< T, FullMachineBoundaryPolicy< T > > >

Detailed Description

The Logic of Potentiality (Partial Algebra).

@partition :partial

partial__The_Algebraic_Logic_of_Partiality

"Metoda algebraiczna w logice polega na traktowaniu każdego systemu logicznego jako pewnego określonego rodzaju algebry abstrakcyjnej." — H. Rasiowa

This partition bridges Algebraic Species with their governing Logic Species (Ω). We distinguish between 'True' (Exact), 'False' (Undefined), and 'Unknown' (Truncated/Lossy) results using the Ternary Topos.

Note
"To doubt everything or to believe everything are two equally convenient solutions; both dispense with the necessity of reflection." – Henri Poincare, Science and Hypothesis (1901)