mirror of
https://github.com/c-cube/sidekick.git
synced 2025-12-06 11:15:43 -05:00
tiny helper
This commit is contained in:
parent
8db63dbdc4
commit
0797ff0409
3 changed files with 3 additions and 24 deletions
|
|
@ -107,6 +107,8 @@ let ops =
|
|||
let opaque_to_cc _ = false
|
||||
end : Const.DYN_OPS)
|
||||
|
||||
let data_as_ty (d : data) = Lazy.force d.data_as_ty
|
||||
|
||||
let data tst d : Term.t =
|
||||
Term.const tst @@ Const.make (Data d) ops ~ty:(Term.type_ tst)
|
||||
|
||||
|
|
|
|||
|
|
@ -50,6 +50,7 @@ val data : Term.store -> t -> Term.t
|
|||
val cstor : Term.store -> cstor -> Term.t
|
||||
val select : Term.store -> select -> Term.t
|
||||
val is_a : Term.store -> cstor -> Term.t
|
||||
val data_as_ty : t -> ty
|
||||
|
||||
(* TODO: select_ : store -> cstor -> int -> term *)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,24 +0,0 @@
|
|||
(** Theory of uninterpreted functions *)
|
||||
|
||||
open Sidekick_core
|
||||
open Sidekick_smt_solver
|
||||
|
||||
open struct
|
||||
module SI = Solver_internal
|
||||
|
||||
let on_is_subterm ~th_id (solver : SI.t) (_, _, t) : _ list =
|
||||
let f, args = Term.unfold_app t in
|
||||
(match Term.view f, args with
|
||||
| Term.E_const { Const.c_view = Uconst.Uconst _; _ }, _ :: _ ->
|
||||
SI.claim_term solver ~th_id t
|
||||
| _ -> ());
|
||||
|
||||
[]
|
||||
end
|
||||
|
||||
let theory : Theory.t =
|
||||
Theory.make ~name:"uf"
|
||||
~create_and_setup:(fun ~id:th_id solver ->
|
||||
SI.on_cc_is_subterm solver (on_is_subterm ~th_id solver);
|
||||
())
|
||||
()
|
||||
Loading…
Add table
Reference in a new issue