equal
deleted
inserted
replaced
39 val dest_builtin_conn: Proof.context -> string * typ -> term list -> |
39 val dest_builtin_conn: Proof.context -> string * typ -> term list -> |
40 bfunr option |
40 bfunr option |
41 val dest_builtin: Proof.context -> string * typ -> term list -> bfunr option |
41 val dest_builtin: Proof.context -> string * typ -> term list -> bfunr option |
42 val is_builtin_fun: Proof.context -> string * typ -> term list -> bool |
42 val is_builtin_fun: Proof.context -> string * typ -> term list -> bool |
43 val is_builtin_fun_ext: Proof.context -> string * typ -> term list -> bool |
43 val is_builtin_fun_ext: Proof.context -> string * typ -> term list -> bool |
44 val is_builtin_ext: Proof.context -> string * typ -> term list -> bool |
|
45 end |
44 end |
46 |
45 |
47 structure SMT_Builtin: SMT_BUILTIN = |
46 structure SMT_Builtin: SMT_BUILTIN = |
48 struct |
47 struct |
49 |
48 |
217 (case lookup_builtin_fun ctxt c of |
216 (case lookup_builtin_fun ctxt c of |
218 SOME (_, Int f) => is_some (f ctxt T ts) |
217 SOME (_, Int f) => is_some (f ctxt T ts) |
219 | SOME (_, Ext f) => f ctxt T ts |
218 | SOME (_, Ext f) => f ctxt T ts |
220 | NONE => false) |
219 | NONE => false) |
221 |
220 |
222 fun is_builtin_ext ctxt c ts = |
|
223 is_builtin_num_ext ctxt (Term.list_comb (Const c, ts)) orelse |
|
224 is_builtin_fun_ext ctxt c ts |
|
225 |
|
226 end |
221 end |