Equation Length

class LengthEquation(**data)

Bases: PredicateInterface

lequation a A b B c C … k - Represents the equation a * A + b * B + c * C + … = k. The coefficients (small letters) are signed rational numbers.

The capitalized letters can represent products of lengths, k should be given as a float.

This generates an equation that can be added to the deductor for reasoning (AR for example), or used in theorems.

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_type: Literal[PredicateType.LENGTH_EQUATION]
coefficients: list[Fraction]
lengths: list[Segment]
constant: Fraction
static preparse(args)

Preparse the predicate arguments.

Return type:

tuple[NewType(PredicateArgument, str), ...] | None

classmethod parse(args, symbols)
Return type:

Optional[tuple[Any, ...]]

check_numerical()

Check numerically the predicate.

Return type:

bool

to_tokens()

Convert the predicate to a tuple of strings.

Return type:

tuple[NewType(PredicateArgument, str), ...]

model_config: ClassVar[ConfigDict] = {}

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