"""Educational exact substitution checks; stdlib only, no API or user expression evaluation."""
from fractions import Fraction
from decimal import Decimal
import json
def check(x, rhs):
    x=Fraction(x); rhs=Fraction(rhs)
    if x == 1:
        return {"candidate":str(x),"rhs":str(rhs),"status":"outside_domain"}
    lhs=(x*x-1)/(x-1)
    return {"candidate":str(x),"rhs":str(rhs),"lhs":str(lhs),"residual":str(lhs-rhs),"status":"pass" if lhs==rhs else "fail"}
if __name__ == "__main__":
    rows=[check(1,2),check(2,3),check(0,3)]
    assert [r["status"] for r in rows]==["outside_domain","pass","fail"]
    residual=Decimal("1.4142")**2-Decimal(2)
    assert residual==Decimal("-0.00003836")
    print(json.dumps({"checks":rows,"rounded_sqrt2_residual":str(residual)},indent=2))
