MCPcopy Create free account
hub / github.com/cortex-js/compute-engine / assumeConjunctionInner

Function assumeConjunctionInner

src/compute-engine/assume.ts:195–208  ·  view source on GitHub ↗
(proposition: Expression)

Source from the content-addressed store, hash-verified

193 if (op === 'NotElement') return assumeNotElement(proposition);
194 if (op === 'Equal') return assumeEquality(proposition);
195 if (op === 'NotEqual') return assumeNotEqual(proposition);
196 if (op === 'And') return assumeConjunction(proposition);
197 if (isInequalityOperator(op)) return assumeInequality(proposition);
198
199 // Well-formed predicate shapes that the assumptions layer cannot
200 // represent (disjunctions, quantifiers...): return 'not-a-predicate'
201 // instead of throwing, so callers (e.g. the Fungrim loader) can probe
202 // guard dischargeability in bulk (design §4.1, §9).
203 if (UNSUPPORTED_PREDICATE_OPERATORS.has(op)) return 'not-a-predicate';
204
205 // Outright malformed input (not a predicate operator at all) reports
206 // `'not-a-predicate'` too — errors are VALUES (error-propagation design
207 // §8a): the throw escaped to the host on the direct route (`Assume(Ln("a"))`
208 // via `ce.box`), while the same program run through Epsil became an
209 // `["Error", …]` value, so the two routes disagreed on whether an
210 // unassumable proposition is catastrophic. Every sub-dispatcher below
211 // already reports malformed input this way (`!isFunction(proposition)`,

Callers 1

assumeConjunctionFunction · 0.85

Calls 2

isFunctionFunction · 0.90
assumeFunction · 0.85

Tested by

no test coverage detected