Module Wp.Repr

module Repr: sig .. end


Term & Predicate Introspection


type env 
Environment for binder resolution, see Forall & Exists
type tau = Wp.Lang.F.tau 
type var = Wp.Lang.F.var 
type field = Wp.Lang.field 
type lfun = Wp.Lang.lfun 
type term = Wp.Lang.F.term 
type pred = Wp.Lang.F.pred 
val env : Wp.Lang.F.Vars.t -> env
Create environment from a set of free variables
type repr = 
| True
| False
| And of term list
| Or of term list
| Not of term
| Imply of term list * term
| If of term * term * term
| Forall of tau * (env -> var * term)
| Exists of tau * (env -> var * term)
| Var of var
| Int of Z.t
| Real of Q.t
| Add of term list
| Mul of term list
| Div of term * term
| Mod of term * term
| Eq of term * term
| Neq of term * term
| Lt of term * term
| Leq of term * term
| Times of Z.t * term
| Call of lfun * term list
| Field of term * field
| Record of (field * term) list
| Get of term * term
| Set of term * term * term
| Abstract
val term : term -> repr
val pred : pred -> repr
val lfun : lfun -> string
val field : field -> string