cottax.relational.consumers.architectures module¶
Registers how an architecture places a relational condition (ModelReading), with why one is no implicit model; offers its closing, FixedPointClosing, each group of cuts closed by a FixedPointCut.
- class RelationalModel[source]¶
Bases:
ModelReadingAn implicit model where it states equalities alone, each condition written by a function node and every unknown read by one of them; its body those functions, a closed cut beside them changing nothing, the copy converging to what it copies; folded by its +.
- not_implicit(graph, problem)[source]¶
Why the problem bound at problem is no implicit model in its language; nothing if it is.
- class FixedPointClosing[N: Label, V: Place](copies: PlaceToPlace[V], at: At[N, V])[source]¶
Bases:
Closing[N,V],Generic[N,V]One group closed as one problem: a copy per variable, named by copies, and the closure bound where at says.
- copies: PlaceToPlace[V]¶
- class NotEqualities(problem: str)[source]¶
Bases:
Violation- problem: str¶
- template: AbstractClassVar[str] = '{problem} is not an implicit model: it states an objective or an inequality, so it is a design and not a model -- name it as the top, or leave it out'¶
e.g. ‘output {place!r} is owned by both {other!r} and {node!r}’
- Type:
Wording
- class ConditionOffBody(problem: str, conditions: tuple)[source]¶
Bases:
Violation- problem: str¶
- conditions: tuple¶
- template: AbstractClassVar[str] = '{problem} is not an implicit model: {conditions!r} not owned by a function node -- a loop closed through another problem is one solve written as several; `Combine` them first'¶
e.g. ‘output {place!r} is owned by both {other!r} and {node!r}’
- Type:
Wording
- class UnknownUnread(problem: str, unknowns: tuple)[source]¶
Bases:
Violation- problem: str¶
- unknowns: tuple¶
- template: AbstractClassVar[str] = '{problem} is not an implicit model: its body does not read {unknowns!r} -- a residual computed through a chain is not a discipline; make the chain its body'¶
e.g. ‘output {place!r} is owned by both {other!r} and {node!r}’
- Type:
Wording