Extract Datapoint

class SubProblemDatapoint(**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.

double_check_statistics: DoubleCheckStatistics | None

When double-checking, we store the statistics for the solver run on the subproblem with specific aux or not.

subproblem_str: str

The non-alphabetized subproblem JGEX string. Includes all potential auxiliary constructions.

alphabetized_subproblem_str: str

The alphabetized subproblem JGEX string. Includes all potential auxiliary constructions.

sub_problem_proof: ProofData

The entire proof content extracted from the subproblem.

level_predicate_count: list[tuple[int, PredicateType, int]] | None

How many predicates of each type do we have at each DDARN level of the diagram.

solution_natural_language: str

The proof of the subproblem in natural language.

model_config: ClassVar[ConfigDict] = {}

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

larger_problem: str

The JGEX string of the larger problem that the subproblem is a part of.

larger_nc_problem: ProblemSetup

The full setting with points coordinates of the larger problem that the subproblem is a part of.

property has_double_checked_aux_construction: bool

Whether the subproblem has an aux construction or not

generate_subproblems_datapoints(generation_config, seed, jgex_solver)
Return type:

tuple[list[SubProblemDatapoint], DiagramGenerationMetadata]