|
Dedekind 0.0.0
A structuralist C++23 Module Library
|
A relation \(A \rightsquigarrow B\) built at run time: a term over relations, its objects dom and cod data, its classifier a reading.
More...

Classes | |
| struct | Member |
Public Types | |
| using | Point = dedekind::sets::Row<Cs...> |
| using | P = dedekind::sets::Pred<K> |
| using | T = dedekind::sets::Term<K> |
| using | Kind = Node |
| using | Domain = std::pair<Point, Point> |
A point of the relation: a row of the domain and a row of the codomain, the product dom × cod, read through π_1 / π_2. | |
| using | logic_species = dedekind::category::Kleene |
| Membership answers in K₃: decided, or not yet (the verdict's search). | |
| using | Codomain = dedekind::category::Ternary |
Public Member Functions | |
| constexpr unsigned | arity () const |
| constexpr Columns | columns () const |
The columns: dom's then cod's. | |
| constexpr Point | rep () const |
| A row of the columns: the points' representative. | |
| constexpr Domain | ι (const Member &m) const |
| constexpr Codomain | operator() (const Domain &p) const |
χ: the verdict at the joined row of the point; a point not of the shape dom × cod is none of the relation's. | |
Static Public Member Functions | |
| static constexpr RelExpr | universe (Object dom, Object cod) |
| The universe \(A \times B\): the full relation. | |
| static constexpr RelExpr | unary (Kind k, RelExpr x, Object dom, Object cod, P p=P::top()) |
| static constexpr RelExpr | binary (Kind k, RelExpr x, RelExpr y, Object dom, Object cod) |
Public Attributes | |
| Kind | kind {Kind::Universe} |
| Object | dom |
| Object | cod |
| P | predicate = P::top() |
| std::shared_ptr< const RelExpr > | a |
| std::shared_ptr< const RelExpr > | b |
| std::uint64_t | budget = std::uint64_t{1} << 16 |
A relation \(A \rightsquigarrow B\) built at run time: a term over relations, its objects dom and cod data, its classifier a reading.
| K | the constants' type. |
| Cs | the carriers a column may have. |