liquid-fixpoint-0.5.0.0: Predicate Abstraction-based Horn-Clause/Implication Constraint Solver

Safe HaskellNone
LanguageHaskell98

Language.Fixpoint.Solver.Validate

Contents

Description

Validate and Transform Constraints to Ensure various Invariants ------------------------- 1. Each binder must be associated with a UNIQUE sort

Synopsis

Transform FInfo to enforce invariants

sanitize :: SInfo a -> ValidateM (SInfo a) Source

Sorts for each Symbol

symbolSorts :: GInfo c a -> ValidateM [(Symbol, Sort)] Source

Conservative check that KVars appear at "top-level" in pred isOkRhs :: F.Pred -> Bool isOkRhs p = all isKvar ps || all isConc ps where ps = F.conjuncts p

symbol |-> sort for EVERY variable in the FInfo