equal
deleted
inserted
replaced
250 | is_unit_equality _ = false |
250 | is_unit_equality _ = false |
251 |
251 |
252 fun is_appropriate_prop_of_prover ctxt name = |
252 fun is_appropriate_prop_of_prover ctxt name = |
253 if is_unit_equational_atp ctxt name then is_unit_equality else K true |
253 if is_unit_equational_atp ctxt name then is_unit_equality else K true |
254 |
254 |
|
255 val atp_irrelevant_const_tab = |
|
256 Symtab.make (map (rpair ()) atp_irrelevant_consts) |
|
257 |
255 fun is_built_in_const_of_prover ctxt name = |
258 fun is_built_in_const_of_prover ctxt name = |
256 if is_smt_prover ctxt name then |
259 if is_smt_prover ctxt name then |
257 let val ctxt = ctxt |> select_smt_solver name in |
260 let val ctxt = ctxt |> select_smt_solver name in |
258 fn x => fn ts => |
261 fn x => fn ts => |
259 if SMT_Builtin.is_builtin_num_ext ctxt (list_comb (Const x, ts)) then |
262 if SMT_Builtin.is_builtin_num_ext ctxt (list_comb (Const x, ts)) then |
262 (true, ts) |
265 (true, ts) |
263 else |
266 else |
264 (false, ts) |
267 (false, ts) |
265 end |
268 end |
266 else |
269 else |
267 fn (s, _) => fn ts => (member (op =) atp_irrelevant_consts s, ts) |
270 fn (s, _) => fn ts => (Symtab.defined atp_irrelevant_const_tab s, ts) |
268 |
271 |
269 (* FUDGE *) |
272 (* FUDGE *) |
270 val atp_relevance_fudge = |
273 val atp_relevance_fudge = |
271 {local_const_multiplier = 1.5, |
274 {local_const_multiplier = 1.5, |
272 worse_irrel_freq = 100.0, |
275 worse_irrel_freq = 100.0, |