import { type NodeId } from "../expr.js"; import { type Rule } from "../rule.js"; export interface MultiplicativeCancellationParams { /** An element of the Fraction's numerator list at `location`. */ readonly numTermId: NodeId; /** A structurally equal element of its denominator list. */ readonly denTermId: NodeId; } /** * x/x ~> 1 inside a Fraction — a solution-LOSING move: at points where x = 0 * the original fraction is undefined while the result pretends it is fine, * so the rule emits Restriction(x ≠ 0). The discharge pass settles it * immediately when x is decidable (2/2 ~> 1 discharges 2 ≠ 0 on the spot); * the precondition rejects cancelling something decidably zero. */ export declare const multiplicativeCancellation: Rule; //# sourceMappingURL=multiplicativeCancellation.d.ts.map