{"id":"dimension-assignment-check","version":"1.0.0","description":"Check claimed dimensions of unknown symbols make every given equation homogeneous; returns the first failure.","supported_operations":["check the dimension of a constant from its equation","verify claimed dimensions of unknown parameters","what dimension must G have check my answer","dimensional analysis certificate for several equations","check that an assignment makes all equations homogeneous","verify units of a fitted coefficient","בדיקת ממדים של קבוע פיזיקלי"],"unsupported_operations":["solving for the unknown dimensions (supply the assignment to check)","Buckingham pi groups or dimensionless-group enumeration","numeric values of constants","quantity kinds beyond dimension"],"semantics":["Reference: ISO 80000-1:2022 (homogeneity of quantity equations; dimension one) and SI Brochure 9th ed. 2019 (section 2.3.3 dimension symbols; Table 1 constant units, Table 4); every output carries reference_version \"iso-80000-1-2022+si-brochure-9e-2019\".","equations: 1..32 strings, each with exactly one \"=\" and the grammar of dimension-equation-check (at most 2048 UTF-8 bytes and 512 nodes each). symbols: known {symbol, dimension}; assignment: the claimed {symbol, dimension} certificate for the unknowns. A name may appear in only one list (duplicate_symbol is invalid_input); each list has at most 128 entries.","All equations are parsed first. Then equations in array order: left side post-order, right side post-order, unequal_sides {left, right}; each discrepancy carries equation_index and, for node failures, side, path, start, end and text. Finally assignment entries in array order that no equation uses -> unused_assignment {assignment_index, symbol}.","Dimension strings use L, M, T, I, Θ (U+0398), N, J with exact integer or (p/q) exponents; outputs are canonical. Symbols are not Unicode-normalized.","equation_count is the number of equations and node_count the total number of parsed nodes."],"limits":{"max_expression_bytes":2048,"max_symbols":128,"max_symbol_bytes":64,"max_dimension_chars":200,"max_nodes":512,"max_depth":64,"max_equations":32},"pricing":{"status":"unpriced","charge_usd":null},"input_schema":{"type":"object","additionalProperties":false,"required":["equations","symbols","assignment"],"properties":{"equations":{"type":"array","minItems":1,"maxItems":32,"items":{"type":"string","minLength":1}},"symbols":{"type":"array","maxItems":128,"items":{"type":"object","additionalProperties":false,"required":["symbol","dimension"],"properties":{"symbol":{"type":"string","minLength":1},"dimension":{"type":"string","minLength":1,"maxLength":200}}}},"assignment":{"type":"array","maxItems":128,"items":{"type":"object","additionalProperties":false,"required":["symbol","dimension"],"properties":{"symbol":{"type":"string","minLength":1},"dimension":{"type":"string","minLength":1,"maxLength":200}}}}}},"output_schema":{"type":"object","additionalProperties":false,"required":["valid","reason","first_discrepancy","equation_count","node_count","reference_version"],"properties":{"valid":{"type":"boolean"},"reason":{"type":["string","null"],"enum":["unknown_symbol","unlike_addition","non_dimensionless_argument","unequal_sides","unused_assignment",null]},"first_discrepancy":{"type":["object","null"],"additionalProperties":false,"properties":{"equation_index":{"type":"integer","minimum":0},"assignment_index":{"type":"integer","minimum":0},"side":{"type":"string","enum":["left","right"]},"path":{"type":"string"},"start":{"type":"integer","minimum":0},"end":{"type":"integer","minimum":0},"text":{"type":"string"},"operator":{"type":"string","enum":["+","-"]},"left":{"type":"string"},"right":{"type":"string"},"function":{"type":"string"},"argument":{"type":"string"},"symbol":{"type":"string"},"claimed":{"type":"string"},"actual":{"type":"string"}}},"equation_count":{"type":"integer","minimum":0},"node_count":{"type":"integer","minimum":0},"reference_version":{"type":"string","const":"iso-80000-1-2022+si-brochure-9e-2019"}}},"examples":[{"input":{"equations":["E = h*f"],"symbols":[{"symbol":"E","dimension":"L^2 M T^-2"},{"symbol":"f","dimension":"T^-1"}],"assignment":[{"symbol":"h","dimension":"L^2 M T^-1"}]},"output":{"valid":true,"reason":null,"first_discrepancy":null,"equation_count":1,"node_count":4,"reference_version":"iso-80000-1-2022+si-brochure-9e-2019"}},{"input":{"equations":["E = h*f"],"symbols":[{"symbol":"E","dimension":"L^2 M T^-2"},{"symbol":"f","dimension":"T^-1"}],"assignment":[{"symbol":"h","dimension":"L^2 M T^-2"}]},"output":{"valid":false,"reason":"unequal_sides","first_discrepancy":{"equation_index":0,"left":"L^2 M T^-2","right":"L^2 M T^-3"},"equation_count":1,"node_count":4,"reference_version":"iso-80000-1-2022+si-brochure-9e-2019"}}],"execute_url":"/v1/tools/dimension-assignment-check/versions/1.0.0/execute"}