Predicate Sanity::ast_sanity

Holds if a contract involving the AST structure is violated, where clsname is the QL class name of the entity violating the contract, problem describes the violation, and what gives location information where possible.

predicate ast_sanity(string clsname, string problem, string what)