Libelectrod.Gen_goalSourceImplements the type for concrete (Raw) and abstract (Ast) syntax trees, before inference of De Bruijn indices and simplification into Elo trees.
and ('v, 'i) prim_fml = private | True| False| Qual of rqualify * ('v, 'i) exp| RComp of ('v, 'i) exp * comp_op * ('v, 'i) exp| IComp of ('v, 'i) iexp * icomp_op * ('v, 'i) iexp| LUn of lunop * ('v, 'i) fml| LBin of ('v, 'i) fml * lbinop * ('v, 'i) fml| Quant of quant * ('v, 'i) sim_binding list * ('v, 'i) block| Let of ('v, 'i) binding list * ('v, 'i) block| FIte of ('v, 'i) fml * ('v, 'i) fml * ('v, 'i) fml| Block of ('v, 'i) blockval pp :
'a Fmtc.t ->
(Format.formatter -> 'b -> unit) ->
Format.formatter ->
('a, 'b) t ->
unitval pp_prim_fml :
'a Fmtc.t ->
(Format.formatter -> 'b -> unit) ->
Format.formatter ->
('a, 'b) prim_fml ->
unitval pp_sim_binding :
'a Fmtc.t ->
(Format.formatter -> 'b -> unit) ->
('a, 'b) sim_binding Fmtc.tval pp_prim_exp :
'a Fmtc.t ->
(Format.formatter -> 'b -> unit) ->
Format.formatter ->
('a, 'b) prim_exp ->
unitval pp_iexp :
'a Fmtc.t ->
(Format.formatter -> 'b -> unit) ->
Format.formatter ->
('a, 'b) iexp ->
unitval pp_prim_iexp :
'a Fmtc.t ->
(Format.formatter -> 'b -> unit) ->
Format.formatter ->
('a, 'b) prim_iexp ->
unit