from __future__ import annotations
from typing import Any

from .. import builder as b

def _make_expr(op: str, *args: Any) -> b.Expression:
    return b.Expression(b.Relationship.builtins[op], *args)

def rule_reasoner_semantic_variable_order(*args: Any) -> Any:
    return _make_expr("rule_reasoner_sem_vo", b.TupleArg(args))

def rule_reasoner_physical_variable_order(*args: Any) -> Any:
    return _make_expr("rule_reasoner_phys_vo", b.TupleArg(args))
