Skip to main content

validate_epistemic_source_program

Function validate_epistemic_source_program 

Source
pub fn validate_epistemic_source_program(program: &Program) -> Result<()>
Expand description

Validate the complete authored epistemic program before foundedness can elide a rule.

Every authored predicate signature receives a temporary name-and-arity identity. This keeps a semantically dead p/1 clause from colliding with a live p/2 relation while preserving all declaration, clause, arithmetic, and modal type evidence within each signature. Modal range restriction is checked against the executable contract first; the validation clone then reaches the ordinary compiler’s production preprocessing and lowering checks without requiring ordinary stratification, because supported negated modal cycles are dispatched to well-founded execution later.