implies
relationalai.semantics.reasoners.prescriptive
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, Modelfrom relationalai.semantics.reasoners.prescriptive import Problem, implies
m = Model("implies_demo")x = m.Relationship(f"{Float:x}")y = m.Relationship(f"{Float:y}")problem = Problem(m, Float)problem.solve_for(x, name="x", type="bin")problem.solve_for(y, name="y", type="bin")problem.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