electrod

Formal analysis for the Electrod formal pivot language
IN THIS PACKAGE
Module Libelectrod . Elo
constraint 'c = < build_Add : 'env -> 'g ; build_All : 'env -> 'h ; build_And : 'env -> 'i ; build_Block : 'env -> 'j list -> 'j ; build_Card : 'env -> 'k -> 'l ; build_Compr : 'env -> (bool * int * 'k) list -> 'j list -> 'm ; build_Diff : 'env -> 'n ; build_F : 'env -> 'o ; build_FIte : 'env -> 'j -> 'j -> 'j -> 'j ; build_False : 'env -> 'j ; build_G : 'env -> 'o ; build_Gt : 'env -> 'p ; build_Gte : 'env -> 'p ; build_H : 'env -> 'o ; build_IBin : 'env -> 'l -> 'g -> 'l -> 'l ; build_IComp : 'env -> 'l -> 'p -> 'l -> 'j ; build_IEq : 'env -> 'p ; build_INEq : 'env -> 'p ; build_IUn : 'env -> 'q -> 'l -> 'l ; build_Iden : 'env -> 'm ; build_Iff : 'env -> 'i ; build_Imp : 'env -> 'i ; build_In : 'env -> 'r ; build_Inter : 'env -> 'n ; build_Join : 'env -> 'n ; build_LBin : 'env -> 'j -> 'i -> 'j -> 'j ; build_LProj : 'env -> 'n ; build_LUn : 'env -> 'o -> 'j -> 'j ; build_Lt : 'env -> 'p ; build_Lte : 'env -> 'p ; build_Name : 'env -> Libelectrod.Name.t -> 'm ; build_Neg : 'env -> 'q ; build_No : 'env -> 'h ; build_None_ : 'env -> 'm ; build_Not : 'env -> 'o ; build_NotIn : 'env -> 'r ; build_Num : 'env -> int -> 'l ; build_O : 'env -> 'o ; build_Or : 'env -> 'i ; build_Over : 'env -> 'n ; build_P : 'env -> 'o ; build_Prime : 'env -> 'k -> 'm ; build_Prod : 'env -> 'n ; build_Quant : 'env -> 'h -> (bool * int * 'k) -> 'j list -> 'j ; build_R : 'env -> 'i ; build_RBin : 'env -> 'k -> 'n -> 'k -> 'm ; build_RComp : 'env -> 'k -> 'r -> 'k -> 'j ; build_REq : 'env -> 'r ; build_RIte : 'env -> 'j -> 'k -> 'k -> 'm ; build_RNEq : 'env -> 'r ; build_RProj : 'env -> 'n ; build_RTClos : 'env -> 's ; build_RUn : 'env -> 's -> 'k -> 'm ; build_S : 'env -> 'i ; build_Some_ : 'env -> 'h ; build_Sub : 'env -> 'g ; build_T : 'env -> 'i ; build_TClos : 'env -> 's ; build_Transpose : 'env -> 's ; build_True : 'env -> 'j ; build_U : 'env -> 'i ; build_Union : 'env -> 'n ; build_Univ : 'env -> 'm ; build_Var : 'env -> int -> 'm ; build_X : 'env -> 'o ; build_oexp : 'env -> 'm -> int -> 'k ; visit_'exp : 'env -> exp -> 'k ; visit_'fml : 'env -> fml -> 'j ; visit_'iexp : 'env -> iexp -> 'l ; visit_Add : 'env -> 'g ; visit_All : 'env -> 'h ; visit_And : 'env -> 'i ; visit_Block : 'env -> fml list -> 'j ; visit_Card : 'env -> exp -> 'l ; visit_Compr : 'env -> (bool * int * exp) list -> fml list -> 'm ; visit_Diff : 'env -> 'n ; visit_F : 'env -> 'o ; visit_FIte : 'env -> fml -> fml -> fml -> 'j ; visit_False : 'env -> 'j ; visit_G : 'env -> 'o ; visit_Gt : 'env -> 'p ; visit_Gte : 'env -> 'p ; visit_H : 'env -> 'o ; visit_IBin : 'env -> iexp -> ibinop -> iexp -> 'l ; visit_IComp : 'env -> iexp -> icomp_op -> iexp -> 'j ; visit_IEq : 'env -> 'p ; visit_INEq : 'env -> 'p ; visit_IUn : 'env -> iunop -> iexp -> 'l ; visit_Iden : 'env -> 'm ; visit_Iff : 'env -> 'i ; visit_Imp : 'env -> 'i ; visit_In : 'env -> 'r ; visit_Inter : 'env -> 'n ; visit_Join : 'env -> 'n ; visit_LBin : 'env -> fml -> lbinop -> fml -> 'j ; visit_LProj : 'env -> 'n ; visit_LUn : 'env -> lunop -> fml -> 'j ; visit_Lt : 'env -> 'p ; visit_Lte : 'env -> 'p ; visit_Name : 'env -> Libelectrod.Name.t -> 'm ; visit_Neg : 'env -> 'q ; visit_No : 'env -> 'h ; visit_None_ : 'env -> 'm ; visit_Not : 'env -> 'o ; visit_NotIn : 'env -> 'r ; visit_Num : 'env -> int -> 'l ; visit_O : 'env -> 'o ; visit_Or : 'env -> 'i ; visit_Over : 'env -> 'n ; visit_P : 'env -> 'o ; visit_Prime : 'env -> exp -> 'm ; visit_Prod : 'env -> 'n ; visit_Quant : 'env -> quant -> (bool * int * exp) -> fml list -> 'j ; visit_R : 'env -> 'i ; visit_RBin : 'env -> exp -> rbinop -> exp -> 'm ; visit_RComp : 'env -> exp -> comp_op -> exp -> 'j ; visit_REq : 'env -> 'r ; visit_RIte : 'env -> fml -> exp -> exp -> 'm ; visit_RNEq : 'env -> 'r ; visit_RProj : 'env -> 'n ; visit_RTClos : 'env -> 's ; visit_RUn : 'env -> runop -> exp -> 'm ; visit_S : 'env -> 'i ; visit_Some_ : 'env -> 'h ; visit_Sub : 'env -> 'g ; visit_T : 'env -> 'i ; visit_TClos : 'env -> 's ; visit_Transpose : 'env -> 's ; visit_True : 'env -> 'j ; visit_U : 'env -> 'i ; visit_Union : 'env -> 'n ; visit_Univ : 'env -> 'm ; visit_Var : 'env -> int -> 'm ; visit_X : 'env -> 'o ; visit_comp_op : 'env -> comp_op -> 'r ; visit_exp : 'env -> exp -> 'k ; visit_fml : 'env -> fml -> 'j ; visit_ibinop : 'env -> ibinop -> 'g ; visit_icomp_op : 'env -> icomp_op -> 'p ; visit_iexp : 'env -> iexp -> 'l ; visit_iunop : 'env -> iunop -> 'q ; visit_lbinop : 'env -> lbinop -> 'i ; visit_lunop : 'env -> lunop -> 'o ; visit_oexp : 'env -> ( fml, exp, iexp ) oexp -> 'k ; visit_ofml : 'env -> ( fml, exp, iexp ) ofml -> 'j ; visit_oiexp : 'env -> ( fml, exp, iexp ) oiexp -> 'l ; visit_prim_oexp : 'env -> ( fml, exp, iexp ) prim_oexp -> 'm ; visit_quant : 'env -> quant -> 'h ; visit_rbinop : 'env -> rbinop -> 'n ; visit_runop : 'env -> runop -> 's.. >
method virtual build_Add : 'env -> 'g
method virtual build_All : 'env -> 'h
method virtual build_And : 'env -> 'i
method virtual build_Block : 'env -> 'j list -> 'j
method virtual build_Card : 'env -> 'k -> 'l
method virtual build_Compr : 'env -> (bool * int * 'k) list -> 'j list -> 'm
method virtual build_Diff : 'env -> 'n
method virtual build_F : 'env -> 'o
method virtual build_FIte : 'env -> 'j -> 'j -> 'j -> 'j
method virtual build_False : 'env -> 'j
method virtual build_G : 'env -> 'o
method virtual build_Gt : 'env -> 'p
method virtual build_Gte : 'env -> 'p
method virtual build_H : 'env -> 'o
method virtual build_IBin : 'env -> 'l -> 'g -> 'l -> 'l
method virtual build_IComp : 'env -> 'l -> 'p -> 'l -> 'j
method virtual build_IEq : 'env -> 'p
method virtual build_INEq : 'env -> 'p
method virtual build_IUn : 'env -> 'q -> 'l -> 'l
method virtual build_Iden : 'env -> 'm
method virtual build_Iff : 'env -> 'i
method virtual build_Imp : 'env -> 'i
method virtual build_In : 'env -> 'r
method virtual build_Inter : 'env -> 'n
method virtual build_Join : 'env -> 'n
method virtual build_LBin : 'env -> 'j -> 'i -> 'j -> 'j
method virtual build_LProj : 'env -> 'n
method virtual build_LUn : 'env -> 'o -> 'j -> 'j
method virtual build_Lt : 'env -> 'p
method virtual build_Lte : 'env -> 'p
method virtual build_Name : 'env -> Libelectrod.Name.t -> 'm
method virtual build_Neg : 'env -> 'q
method virtual build_No : 'env -> 'h
method virtual build_None_ : 'env -> 'm
method virtual build_Not : 'env -> 'o
method virtual build_NotIn : 'env -> 'r
method virtual build_Num : 'env -> int -> 'l
method virtual build_O : 'env -> 'o
method virtual build_Or : 'env -> 'i
method virtual build_Over : 'env -> 'n
method virtual build_P : 'env -> 'o
method virtual build_Prime : 'env -> 'k -> 'm
method virtual build_Prod : 'env -> 'n
method virtual build_Quant : 'env -> 'h -> (bool * int * 'k) -> 'j list -> 'j
method virtual build_R : 'env -> 'i
method virtual build_RBin : 'env -> 'k -> 'n -> 'k -> 'm
method virtual build_RComp : 'env -> 'k -> 'r -> 'k -> 'j
method virtual build_REq : 'env -> 'r
method virtual build_RIte : 'env -> 'j -> 'k -> 'k -> 'm
method virtual build_RNEq : 'env -> 'r
method virtual build_RProj : 'env -> 'n
method virtual build_RTClos : 'env -> 's
method virtual build_RUn : 'env -> 's -> 'k -> 'm
method virtual build_S : 'env -> 'i
method virtual build_Some_ : 'env -> 'h
method virtual build_Sub : 'env -> 'g
method virtual build_T : 'env -> 'i
method virtual build_TClos : 'env -> 's
method virtual build_Transpose : 'env -> 's
method virtual build_True : 'env -> 'j
method virtual build_U : 'env -> 'i
method virtual build_Union : 'env -> 'n
method virtual build_Univ : 'env -> 'm
method virtual build_Var : 'env -> int -> 'm
method virtual build_X : 'env -> 'o
method virtual build_oexp : 'env -> 'm -> int -> 'k
method visit_'exp : 'env -> exp -> 'k
method visit_'fml : 'env -> fml -> 'j
method visit_'iexp : 'env -> iexp -> 'l
method visit_Add : 'env -> 'g
method visit_All : 'env -> 'h
method visit_And : 'env -> 'i
method visit_Block : 'env -> fml list -> 'j
method visit_Card : 'env -> exp -> 'l
method visit_Compr : 'env -> (bool * int * exp) list -> fml list -> 'm
method visit_Diff : 'env -> 'n
method visit_F : 'env -> 'o
method visit_FIte : 'env -> fml -> fml -> fml -> 'j
method visit_False : 'env -> 'j
method visit_G : 'env -> 'o
method visit_Gt : 'env -> 'p
method visit_Gte : 'env -> 'p
method visit_H : 'env -> 'o
method visit_IBin : 'env -> iexp -> ibinop -> iexp -> 'l
method visit_IComp : 'env -> iexp -> icomp_op -> iexp -> 'j
method visit_IEq : 'env -> 'p
method visit_INEq : 'env -> 'p
method visit_IUn : 'env -> iunop -> iexp -> 'l
method visit_Iden : 'env -> 'm
method visit_Iff : 'env -> 'i
method visit_Imp : 'env -> 'i
method visit_In : 'env -> 'r
method visit_Inter : 'env -> 'n
method visit_Join : 'env -> 'n
method visit_LBin : 'env -> fml -> lbinop -> fml -> 'j
method visit_LProj : 'env -> 'n
method visit_LUn : 'env -> lunop -> fml -> 'j
method visit_Lt : 'env -> 'p
method visit_Lte : 'env -> 'p
method visit_Name : 'env -> Libelectrod.Name.t -> 'm
method visit_Neg : 'env -> 'q
method visit_No : 'env -> 'h
method visit_None_ : 'env -> 'm
method visit_Not : 'env -> 'o
method visit_NotIn : 'env -> 'r
method visit_Num : 'env -> int -> 'l
method visit_O : 'env -> 'o
method visit_Or : 'env -> 'i
method visit_Over : 'env -> 'n
method visit_P : 'env -> 'o
method visit_Prime : 'env -> exp -> 'm
method visit_Prod : 'env -> 'n
method visit_Quant : 'env -> quant -> (bool * int * exp) -> fml list -> 'j
method visit_R : 'env -> 'i
method visit_RBin : 'env -> exp -> rbinop -> exp -> 'm
method visit_RComp : 'env -> exp -> comp_op -> exp -> 'j
method visit_REq : 'env -> 'r
method visit_RIte : 'env -> fml -> exp -> exp -> 'm
method visit_RNEq : 'env -> 'r
method visit_RProj : 'env -> 'n
method visit_RTClos : 'env -> 's
method visit_RUn : 'env -> runop -> exp -> 'm
method visit_S : 'env -> 'i
method visit_Some_ : 'env -> 'h
method visit_Sub : 'env -> 'g
method visit_T : 'env -> 'i
method visit_TClos : 'env -> 's
method visit_Transpose : 'env -> 's
method visit_True : 'env -> 'j
method visit_U : 'env -> 'i
method visit_Union : 'env -> 'n
method visit_Univ : 'env -> 'm
method visit_Var : 'env -> int -> 'm
method visit_X : 'env -> 'o
method private visit_array : 'env 'a 'b. ( 'env -> 'a -> 'b ) -> 'env -> 'a array -> 'b array
method private visit_bool : 'env. 'env -> bool -> bool
method private visit_bytes : 'env. 'env -> bytes -> bytes
method private visit_char : 'env. 'env -> char -> char
method visit_comp_op : 'env -> comp_op -> 'r
method visit_exp : 'env -> exp -> 'k
method private visit_float : 'env. 'env -> float -> float
method visit_fml : 'env -> fml -> 'j
method visit_ibinop : 'env -> ibinop -> 'g
method visit_icomp_op : 'env -> icomp_op -> 'p
method visit_iexp : 'env -> iexp -> 'l
method private visit_int : 'env. 'env -> int -> int
method private visit_int32 : 'env. 'env -> int32 -> int32
method private visit_int64 : 'env. 'env -> int64 -> int64
method visit_iunop : 'env -> iunop -> 'q
method private visit_lazy_t : 'env 'a 'b. ( 'env -> 'a -> 'b ) -> 'env -> 'a lazy_t -> 'b lazy_t
method visit_lbinop : 'env -> lbinop -> 'i
method private visit_list : 'env 'a 'b. ( 'env -> 'a -> 'b ) -> 'env -> 'a list -> 'b list
method visit_lunop : 'env -> lunop -> 'o
method private visit_nativeint : 'env. 'env -> nativeint -> nativeint
method visit_oexp : 'env -> ( fml, exp, iexp ) oexp -> 'k
method visit_ofml : 'env -> ( fml, exp, iexp ) ofml -> 'j
method visit_oiexp : 'env -> ( fml, exp, iexp ) oiexp -> 'l
method private visit_option : 'env 'a 'b. ( 'env -> 'a -> 'b ) -> 'env -> 'a option -> 'b option
method visit_prim_oexp : 'env -> ( fml, exp, iexp ) prim_oexp -> 'm
method visit_quant : 'env -> quant -> 'h
method visit_rbinop : 'env -> rbinop -> 'n
method private visit_ref : 'env 'a 'b. ( 'env -> 'a -> 'b ) -> 'env -> 'a ref -> 'b ref
method private visit_result : 'env 'a 'b 'e 'f. ( 'env -> 'a -> 'b ) -> ( 'env -> 'e -> 'f ) -> 'env -> ( 'a, 'e ) result -> ( 'b, 'f ) result
method visit_runop : 'env -> runop -> 's
method private visit_string : 'env. 'env -> string -> string
method private visit_unit : 'env. 'env -> unit -> unit