Module Wp.Repr

module Repr: sig .. end

Term & Predicate Introspection

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 
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
| 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
| Cst of tau * term
| Get of term * term
| Set of term * term * term
| HigherOrder (*

See Lang.F.e_open and Lang.F.e_close

*)
val term : term -> repr
val pred : pred -> repr
val lfun : lfun -> string
val field : field -> string