fix: remove some module aliases for 4.08

This commit is contained in:
Simon Cruanes 2019-07-31 03:25:04 -05:00
parent 2b40bd9db1
commit d527b2b945
5 changed files with 32 additions and 41 deletions

View file

@ -13,17 +13,16 @@ module type ARG = Sidekick_core.CC_ARG
module type S = Sidekick_core.CC_S module type S = Sidekick_core.CC_S
module Make(CC_A: ARG) = struct module Make(CC_A: ARG) = struct
module CC_A = CC_A module A = CC_A
module A = CC_A.A type term = A.A.Term.t
type term = A.Term.t type term_state = A.A.Term.state
type term_state = A.Term.state type lit = A.Lit.t
type lit = CC_A.Lit.t type fun_ = A.A.Fun.t
type fun_ = A.Fun.t type proof = A.A.Proof.t
type proof = A.Proof.t type actions = A.Actions.t
type actions = CC_A.Actions.t
module T = A.Term module T = A.A.Term
module Fun = A.Fun module Fun = A.A.Fun
module Lit = CC_A.Lit module Lit = CC_A.Lit
module Bits : sig module Bits : sig
@ -353,7 +352,7 @@ module Make(CC_A: ARG) = struct
Vec.clear cc.combine; Vec.clear cc.combine;
List.iter (fun f -> f cc e) cc.on_conflict; List.iter (fun f -> f cc e) cc.on_conflict;
Stat.incr cc.count_conflict; Stat.incr cc.count_conflict;
CC_A.Actions.raise_conflict acts e A.Proof.default CC_A.Actions.raise_conflict acts e A.A.Proof.default
let[@inline] all_classes cc : repr Iter.t = let[@inline] all_classes cc : repr Iter.t =
T_tbl.values cc.tbl T_tbl.values cc.tbl

View file

@ -3,4 +3,4 @@
module type ARG = Sidekick_core.CC_ARG module type ARG = Sidekick_core.CC_ARG
module type S = Sidekick_core.CC_S module type S = Sidekick_core.CC_S
module Make(CC_A: ARG) : S with module CC_A = CC_A module Make(A: ARG) : S with module A = A

View file

@ -124,14 +124,13 @@ module type CC_ARG = sig
end end
module type CC_S = sig module type CC_S = sig
module CC_A : CC_ARG module A : CC_ARG
module A = CC_A.A type term_state = A.A.Term.state
type term_state = A.Term.state type term = A.A.Term.t
type term = A.Term.t type fun_ = A.A.Fun.t
type fun_ = A.Fun.t type lit = A.Lit.t
type lit = CC_A.Lit.t type proof = A.A.Proof.t
type proof = A.Proof.t type actions = A.Actions.t
type actions = CC_A.Actions.t
type t type t
(** Global state of the congruence closure *) (** Global state of the congruence closure *)
@ -303,7 +302,7 @@ end
module type SOLVER_INTERNAL = sig module type SOLVER_INTERNAL = sig
module A : TERM_PROOF module A : TERM_PROOF
module CC_A : CC_ARG with module A = A module CC_A : CC_ARG with module A = A
module CC : CC_S with module CC_A = CC_A module CC : CC_S with module A = CC_A
type ty = A.Ty.t type ty = A.Ty.t
type term = A.Term.t type term = A.Term.t
@ -314,9 +313,6 @@ module type SOLVER_INTERNAL = sig
type t type t
type solver = t type solver = t
module Expl = CC.Expl
module N = CC.N
val tst : t -> term_state val tst : t -> term_state
val cc : t -> CC.t val cc : t -> CC.t
@ -401,31 +397,31 @@ module type SOLVER_INTERNAL = sig
(** Add the given (signed) bool term to the SAT solver, so it gets assigned (** Add the given (signed) bool term to the SAT solver, so it gets assigned
a boolean value *) a boolean value *)
val cc_raise_conflict_expl : t -> actions -> Expl.t -> 'a val cc_raise_conflict_expl : t -> actions -> CC.Expl.t -> 'a
(** Raise a conflict with the given congruence closure explanation. (** Raise a conflict with the given congruence closure explanation.
it must be a theory tautology that [expl ==> absurd]. it must be a theory tautology that [expl ==> absurd].
To be used in theories. *) To be used in theories. *)
val cc_find : t -> N.t -> N.t val cc_find : t -> CC.N.t -> CC.N.t
(** Find representative of the node *) (** Find representative of the node *)
val cc_merge : t -> actions -> N.t -> N.t -> Expl.t -> unit val cc_merge : t -> actions -> CC.N.t -> CC.N.t -> CC.Expl.t -> unit
(** Merge these two nodes in the congruence closure, given this explanation. (** Merge these two nodes in the congruence closure, given this explanation.
It must be a theory tautology that [expl ==> n1 = n2]. It must be a theory tautology that [expl ==> n1 = n2].
To be used in theories. *) To be used in theories. *)
val cc_merge_t : t -> actions -> term -> term -> Expl.t -> unit val cc_merge_t : t -> actions -> term -> term -> CC.Expl.t -> unit
(** Merge these two terms in the congruence closure, given this explanation. (** Merge these two terms in the congruence closure, given this explanation.
See {!cc_merge} *) See {!cc_merge} *)
val cc_add_term : t -> term -> N.t val cc_add_term : t -> term -> CC.N.t
(** Add/retrieve congruence closure node for this term. (** Add/retrieve congruence closure node for this term.
To be used in theories *) To be used in theories *)
val on_cc_merge : t -> (CC.t -> actions -> N.t -> N.t -> Expl.t -> unit) -> unit val on_cc_merge : t -> (CC.t -> actions -> CC.N.t -> CC.N.t -> CC.Expl.t -> unit) -> unit
(** Callback for when two classes containing data for this key are merged *) (** Callback for when two classes containing data for this key are merged *)
val on_cc_new_term : t -> (CC.t -> N.t -> term -> unit) -> unit val on_cc_new_term : t -> (CC.t -> CC.N.t -> term -> unit) -> unit
(** Callback to add data on terms when they are added to the congruence (** Callback to add data on terms when they are added to the congruence
closure *) closure *)
@ -473,8 +469,6 @@ module type SOLVER = sig
module Solver_internal : SOLVER_INTERNAL with module A = A and module CC_A = CC_A module Solver_internal : SOLVER_INTERNAL with module A = A and module CC_A = CC_A
(** Internal solver, available to theories. *) (** Internal solver, available to theories. *)
module Lit = Solver_internal.Lit
type t type t
type solver = t type solver = t
type term = A.Term.t type term = A.Term.t
@ -539,7 +533,7 @@ module type SOLVER = sig
val hash : t -> int val hash : t -> int
val pp : t CCFormat.printer val pp : t CCFormat.printer
val formula : t -> Lit.t val formula : t -> lit
val sign : t -> bool val sign : t -> bool
end end

View file

@ -406,7 +406,7 @@ end
module Solver = Sidekick_msat_solver.Make(Solver_arg) module Solver = Sidekick_msat_solver.Make(Solver_arg)
module Check_cc = struct module Check_cc = struct
module Lit = Solver.Lit module Lit = Solver.Solver_internal.Lit
module SI = Solver.Solver_internal module SI = Solver.Solver_internal
module CC = Solver.Solver_internal.CC module CC = Solver.Solver_internal.CC
module MCC = Sidekick_mini_cc.Make(Solver_arg) module MCC = Sidekick_mini_cc.Make(Solver_arg)

View file

@ -34,17 +34,15 @@ end
module type S = sig module type S = sig
module A : ARG module A : ARG
module T = A.S.A.Term
module SI = A.S.Solver_internal
type state type state
val create : T.state -> state val create : A.S.A.Term.state -> state
val simplify : state -> SI.simplify_hook val simplify : state -> A.S.Solver_internal.simplify_hook
(** Simplify given term *) (** Simplify given term *)
val cnf : state -> SI.preprocess_hook val cnf : state -> A.S.Solver_internal.preprocess_hook
(** add clauses for the booleans within the term. *) (** add clauses for the booleans within the term. *)
val theory : A.S.theory val theory : A.S.theory
@ -54,7 +52,7 @@ module Make(A : ARG) : S with module A = A = struct
module A = A module A = A
module Ty = A.S.A.Ty module Ty = A.S.A.Ty
module T = A.S.A.Term module T = A.S.A.Term
module Lit = A.S.Lit module Lit = A.S.Solver_internal.Lit
module SI = A.S.Solver_internal module SI = A.S.Solver_internal
type state = { type state = {