Module Unifystd


module Unifystd: sig .. end

val inverse : Types_unify.term -> Types_unify.term
val liste_var : int list -> Types_unify.term list -> int list
val valeur_elem : int -> (int * Types_unify.term) list -> Types_unify.term
val valeur : int -> Types_unify.t_subst -> Types_unify.term
val add_newvalue : Types_unify.t_subst ->
Types_unify.term -> Types_unify.term * Types_unify.t_subst
val term_type : Types_unify.t_subst -> Types_unify.term -> int
val acceptable_value : Types_unify.t_subst -> int -> Types_unify.term -> bool
val merge_exp : ('a * Types_unify.sign) list ->
('a * Types_unify.sign) list -> ('a * Types_unify.sign) list
val clot_norm : Types_unify.t_subst -> Types_unify.term -> Types_unify.term
val clot_light : Types_unify.t_subst -> Types_unify.term -> Types_unify.term
val clot : bool -> Types_unify.t_subst -> Types_unify.term -> Types_unify.term
val comp : Types_unify.t_subst -> Types_unify.term -> Types_unify.term -> int
val norm_Uplet_light : (Types_unify.t_subst ->
Types_unify.term -> Types_unify.term * Types_unify.t_subst) ->
Types_unify.t_subst ->
Types_unify.term list -> Types_unify.term list * Types_unify.t_subst
val norm_Uplet_cmp : (Types_unify.t_subst ->
Types_unify.term -> Types_unify.term * Types_unify.t_subst) ->
Types_unify.t_subst ->
Types_unify.term list -> Types_unify.term list * Types_unify.t_subst
val norm_Uplet : (Types_unify.t_subst ->
Types_unify.term -> Types_unify.term * Types_unify.t_subst) ->
Types_unify.t_subst ->
Types_unify.term list -> Types_unify.term list * Types_unify.t_subst
val norm_Xor : (Types_unify.t_subst ->
Types_unify.term -> Types_unify.term * Types_unify.t_subst) ->
Types_unify.t_subst ->
Types_unify.term list -> Types_unify.term list * Types_unify.t_subst
val insere_exp : Types_unify.t_subst ->
(Types_unify.term * 'a) list ->
Types_unify.term -> 'a -> (Types_unify.term * 'a) list
val norm_Exp : (Types_unify.t_subst ->
Types_unify.term -> Types_unify.term * Types_unify.t_subst) ->
Types_unify.t_subst ->
Types_unify.term ->
(Types_unify.term * Types_unify.sign) list ->
Types_unify.term * Types_unify.t_subst
val new_var_if_not_std : Types_unify.term * Types_unify.t_subst ->
Types_unify.term * Types_unify.t_subst
val purify : Types_unify.t_subst ->
Types_unify.term -> Types_unify.term * Types_unify.t_subst
val val_purify : Types_unify.t_subst ->
Types_unify.term -> Types_unify.term * Types_unify.t_subst
val egal : Types_unify.t_subst -> Types_unify.term -> Types_unify.term -> bool
val ctrTest : Types_unify.t_subst ->
Types_unify.term * Types_unify.term -> Types_unify.ctrTestResult
val ctrTest_exp : Types_unify.t_subst ->
Types_unify.term * 'a -> Types_unify.term * 'a -> Types_unify.ctrTestResult
val add_ctr : Types_unify.t_subst -> Types_unify.t_unequal -> Types_unify.t_subst
val recursif : Types_unify.t_subst -> int -> int list -> bool
val contains_var : Types_unify.t_subst ->
int -> bool -> int list -> Types_unify.term list -> bool
exception NeedXorUnification of int * Types_unify.term * Types_unify.t_subst
val add_elem : bool -> int -> Types_unify.term -> Types_unify.t_subst -> Types_unify.t_subst
val add : (bool ->
Types_unify.term ->
Types_unify.term -> Types_unify.t_subst list -> Types_unify.t_subst list) ->
(bool ->
Types_unify.term ->
Types_unify.term -> Types_unify.t_subst list -> Types_unify.t_subst list) ->
bool ->
int ->
Types_unify.term ->
Types_unify.t_subst list ->
Types_unify.t_subst list -> Types_unify.t_subst list