Circles Registry

class CircleSymbol(**data)

Bases: BaseModel

The CircleSymbol class represents a circle identitfied by a cyclic predicate in the symbolic registry. It has the following attributes: - points: the set of points known to lie on the circle. - justification: a Cyclic predicate that justifies the existence of this circle. - num: a CircleNum that represents the numerical parameter of the circle. - symbol_type: a constant indicating that this is a CircleSymbol (SymbolType.CIRCLE).

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

points: set[Point]
justification: Cyclic
num: CircleNum
symbol_type: Literal[SymbolType.CIRCLE]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class CirclesRegistry

Bases: object

create_circle_thru_points(points, because)
Return type:

CircleSymbol

circle_containing(pnames)
Return type:

CircleSymbol | None

check_cyclic(points)
Return type:

bool

make_cyclic(points, justification)
Return type:

None

why_cyclic(cyclic)
Return type:

CircleMerge

class CircleMerge(**data)

Bases: BaseModel

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

predicate: Cyclic

The predicate that is justified by the symbols graph merge.

circle: CircleSymbol

The circle symbol that was merged.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

direct_justification: Cyclic

The previous predicate that directly justifies the merge that has the predicate as a consequence.

dependency_type: Literal[JustificationType.CIRCLE_MERGE]