Classes to execute the main block of an IDP program

idp_engine.Run.model_check(theories, structures=None)[source]

output: “sat”, “unsat” or “unknown”

idp_engine.Run.model_expand(theories, structures=None, max=10, complete=False, extended=False, sort=False)[source]

output: a list of Assignments, ending with a string

idp_engine.Run.model_propagate(theories, structures=None, sort=False)[source]

output: a list of Assignment

idp_engine.Run.decision_table(theories, structures=None, goal_string='', timeout=20, max_rows=50, first_hit=True, verify=False)[source]

returns a decision table for goal_string, given theories and structures.

  • goal_string (str, optional) – the last column of the table.

  • timeout (int, optional) – maximum duration in seconds. Defaults to 20.

  • max_rows (int, optional) – maximum number of rows. Defaults to 50.

  • first_hit (bool, optional) – requested hit-policy. Defaults to True.

  • verify (bool, optional) – request verification of table completeness. Defaults to False


str – a textual representation of each rule


Returns the processing time since the last call to duration(), or since the begining of execution


Execute the IDP program