equal
deleted
inserted
replaced
175 Metis_Method (SOME really_full_type_enc, SOME desperate_lam_trans)] |
175 Metis_Method (SOME really_full_type_enc, SOME desperate_lam_trans)] |
176 else |
176 else |
177 [Metis_Method (SOME full_typesN, NONE), |
177 [Metis_Method (SOME full_typesN, NONE), |
178 Metis_Method (SOME no_typesN, SOME desperate_lam_trans), |
178 Metis_Method (SOME no_typesN, SOME desperate_lam_trans), |
179 Metis_Method (SOME really_full_type_enc, SOME desperate_lam_trans)])] @ |
179 Metis_Method (SOME really_full_type_enc, SOME desperate_lam_trans)])] @ |
180 (if smt_proofs then [[SMT2_Method]] else []) |
180 (if smt_proofs then [[SMT_Method]] else []) |
181 |
181 |
182 fun is_fact_chained ((_, (sc, _)), _) = sc = Chained |
182 fun is_fact_chained ((_, (sc, _)), _) = sc = Chained |
183 |
183 |
184 fun filter_used_facts keep_chained used = |
184 fun filter_used_facts keep_chained used = |
185 filter ((member (op =) used o fst) orf (if keep_chained then is_fact_chained else K false)) |
185 filter ((member (op =) used o fst) orf (if keep_chained then is_fact_chained else K false)) |
194 |
194 |
195 fun supported_provers ctxt = |
195 fun supported_provers ctxt = |
196 let |
196 let |
197 val thy = Proof_Context.theory_of ctxt |
197 val thy = Proof_Context.theory_of ctxt |
198 val (remote_provers, local_provers) = |
198 val (remote_provers, local_provers) = |
199 sort_strings (supported_atps thy) @ |
199 sort_strings (supported_atps thy) @ sort_strings (SMT_Config.available_solvers_of ctxt) |
200 sort_strings (SMT2_Config.available_solvers_of ctxt) |
|
201 |> List.partition (String.isPrefix remote_prefix) |
200 |> List.partition (String.isPrefix remote_prefix) |
202 in |
201 in |
203 Output.urgent_message ("Supported provers: " ^ commas (local_provers @ remote_provers) ^ ".") |
202 Output.urgent_message ("Supported provers: " ^ commas (local_provers @ remote_provers) ^ ".") |
204 end |
203 end |
205 |
204 |