{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://www.calculatorx.com/schemas/math.algebra.linear_equation.agent.input.json",
  "title": "Linear equation — agent input",
  "type": "object",
  "properties": {
    "a": {
      "oneOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        }
      ]
    },
    "b": {
      "oneOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        }
      ]
    },
    "c": {
      "oneOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        }
      ]
    },
    "d": {
      "oneOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        }
      ]
    },
    "rhs": {
      "oneOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        }
      ]
    },
    "mode": {
      "enum": [
        "solve",
        "linear",
        "ax+b",
        "equation",
        "eq",
        "equality",
        "inequality",
        "ineq",
        "linear_inequality",
        "linear-inequality",
        "linear_ineq",
        "linear-ineq",
        "abs",
        "absolute",
        "absolute_value",
        "absolute-value",
        "absolutevalue",
        "modulus",
        "abs_inequality",
        "abs-inequality",
        "abs_ineq",
        "abs-ineq",
        "absolute_inequality",
        "absolute-inequality",
        "absolute_value_inequality",
        "absolute-value-inequality",
        "rational",
        "rational_equation",
        "rational-equation",
        "rational_eq",
        "rational-eq",
        "fractional_equation",
        "fractional-equation",
        "rational_inequality",
        "rational-inequality",
        "rational_ineq",
        "rational-ineq",
        "fractional_inequality",
        "fractional-inequality"
      ]
    },
    "op": {
      "enum": [
        "lt",
        "le",
        "gt",
        "ge",
        "<",
        "<=",
        ">",
        ">=",
        "≤",
        "≥",
        "less",
        "leq",
        "greater",
        "geq",
        "lessthan",
        "lessequal",
        "greaterthan",
        "greaterequal"
      ]
    },
    "relation": {
      "enum": [
        "lt",
        "le",
        "gt",
        "ge",
        "<",
        "<=",
        ">",
        ">=",
        "≤",
        "≥",
        "less",
        "leq",
        "greater",
        "geq",
        "lessthan",
        "lessequal",
        "greaterthan",
        "greaterequal"
      ]
    },
    "inequality": {
      "enum": [
        "lt",
        "le",
        "gt",
        "ge",
        "<",
        "<=",
        ">",
        ">=",
        "≤",
        "≥",
        "less",
        "leq",
        "greater",
        "geq",
        "lessthan",
        "lessequal",
        "greaterthan",
        "greaterequal"
      ]
    }
  },
  "required": [
    "a"
  ],
  "anyOf": [
    {
      "required": [
        "rhs"
      ]
    },
    {
      "required": [
        "c"
      ]
    },
    {
      "required": [
        "d"
      ]
    }
  ],
  "additionalProperties": false,
  "description": "Solve ax + b = rhs, ax + b ○ rhs, |ax + b| = rhs, |ax + b| ○ rhs, (ax + b)/(cx + d) = rhs, or (ax + b)/(cx + d) ○ rhs. a = 0 is identity/inconsistent or ℝ/∅. Discovery /linear-inequality, /absolute-value, /absolute-value-inequality, /rational-equation, /rational-inequality. Not the quadratic formula, not a system, not CAS.. Mode-discriminated agent contract. Named fields are canonical; a/b are legacy share-URL aliases. (calculation_version 1.5.1)"
}
