Ddarn

Classical Breadth-First Search based agents.

class DDARNStats(**data)

Bases: BaseModel

Statistics for the DDARN agent.

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.

agent_type: Literal['ddarn']
max_level: int

The maximum reached level of the DDARN agent.

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

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

model_config: ClassVar[ConfigDict] = {}

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

class DDARN

Bases: DeductiveAgent

Apply Deductive Derivation to exhaustion by Breadth-First Search.

DDARN will match and apply all available rules level by level until reaching a fixpoint we call exhaustion.

get_stats()

Get the statistics of the agent.

Return type:

DDARNStats

step(proof, rules)

Perform a single reasoning step on the given proof with given rules, and return if the agent is exausted.

Return type:

bool

Returns:

True if the agent is considered exausted, False otherwise.