implies
relationalai.semantics.reasoners.prescriptive.problem
implies(left: Any, right: Any) -> b.ExpressionReturn an implication constraint (left => right).
Use this inside Model.require and
pass the resulting fragment to Problem.satisfy.
When passed to Problem.satisfy,
both sides must reference at least one decision variable declared via
Problem.solve_for.
Parameters
Section titled “Parameters”
(leftAny) - Antecedent condition (a comparison or constraint).
(rightAny) - Consequent condition (a comparison or constraint).
Returns
Section titled “Returns”Expression- A solver expression representing the implication constraint.
Examples
Section titled “Examples”Constrain two binary variables:
>>> from relationalai.semantics import Float, Model>>> from relationalai.semantics.reasoners.prescriptive import Problem, implies>>> m = Model("implies_demo")>>> x = m.Relationship(f"{Float:x}")>>> y = m.Relationship(f"{Float:y}")>>> p = Problem(m, Float)>>> p.solve_for(x, name="x", type="bin")>>> p.solve_for(y, name="y", type="bin")>>> p.satisfy(m.require(implies(x == 1, y == 1)))Referenced By
Section titled “Referenced By”RelationalAI Documentation └── Build With RelationalAI └── Understand how PyRel works > Use advanced reasoning > Prescriptive reasoning ├── Choose a backend │ ├── Use HiGHS │ │ └── Limitations │ └── Use Ipopt │ └── Limitations └── Solve a decision problem └── Add constraints