summaryrefslogtreecommitdiff
path: root/contrib/jprover/jtunify.mli
blob: 0aabc79ee70c81461cb3ad792cbdf6f8dbeb9392 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
exception Not_unifiable
exception Failed

(* Utilities *)

val is_const : string -> bool
val is_var : string -> bool
val r_1 : 'a list -> 'b list -> 'c list -> bool
val r_2 : 'a list -> 'b list -> 'c list -> bool
val r_3 : 'a list -> 'b list -> 'a list -> bool
val r_4 : string list -> 'a list -> string list -> bool
val r_5 : string list -> 'a -> 'b list -> bool
val r_6 : string list -> 'a list -> string list -> bool
val r_7 : string list -> 'a -> string list -> bool
val r_8 : string list -> 'a list -> string list -> bool
val r_9 : string list -> 'a list -> string list -> bool
val r_10 : string list -> 'a -> string list -> bool
val com_subst : 'a list -> 'a * 'a list -> 'a list

(* Debugging *)

val print_equations : (string list * (string list * string list)) list -> unit

val print_tunify : int * (string * string list) list -> unit

(* Main function *)

val do_stringunify : string list ->
                     string list ->
                     string ->
                     string ->
                     (string list * (string list * string list)) list ->
                     (int * (string * string list) list) *                 (* unifier *)
                     (int * ((string list * (string list * string list)) list))    (* applied new eqlist *)