equal
deleted
inserted
replaced
84 error ("Solver already registered: " ^ quote name) |
84 error ("Solver already registered: " ^ quote name) |
85 else |
85 else |
86 context |
86 context |
87 |> Solvers.map (apfst (Symtab.update (name, (info, [])))) |
87 |> Solvers.map (apfst (Symtab.update (name, (info, [])))) |
88 |> Context.map_theory (Attrib.setup (Binding.name (name ^ "_options")) |
88 |> Context.map_theory (Attrib.setup (Binding.name (name ^ "_options")) |
89 (Scan.lift (Parse.$$$ "=" |-- Args.name) >> |
89 (Scan.lift (@{keyword "="} |-- Args.name) >> |
90 (Thm.declaration_attribute o K o set_solver_options o pair name)) |
90 (Thm.declaration_attribute o K o set_solver_options o pair name)) |
91 ("Additional command line options for SMT solver " ^ quote name)) |
91 ("Additional command line options for SMT solver " ^ quote name)) |
92 |
92 |
93 fun all_solvers_of ctxt = Symtab.keys (fst (Solvers.get (Context.Proof ctxt))) |
93 fun all_solvers_of ctxt = Symtab.keys (fst (Solvers.get (Context.Proof ctxt))) |
94 |
94 |
140 opts @ options ctxt |
140 opts @ options ctxt |
141 in solver_info_of (K []) all_options ctxt end |
141 in solver_info_of (K []) all_options ctxt end |
142 |
142 |
143 val setup_solver = |
143 val setup_solver = |
144 Attrib.setup @{binding smt_solver} |
144 Attrib.setup @{binding smt_solver} |
145 (Scan.lift (Parse.$$$ "=" |-- Args.name) >> |
145 (Scan.lift (@{keyword "="} |-- Args.name) >> |
146 (Thm.declaration_attribute o K o select_solver)) |
146 (Thm.declaration_attribute o K o select_solver)) |
147 "SMT solver configuration" |
147 "SMT solver configuration" |
148 |
148 |
149 |
149 |
150 (* options *) |
150 (* options *) |
205 |
205 |
206 val certificates_of = Certificates.get o Context.Proof |
206 val certificates_of = Certificates.get o Context.Proof |
207 |
207 |
208 val setup_certificates = |
208 val setup_certificates = |
209 Attrib.setup @{binding smt_certificates} |
209 Attrib.setup @{binding smt_certificates} |
210 (Scan.lift (Parse.$$$ "=" |-- Args.name) >> |
210 (Scan.lift (@{keyword "="} |-- Args.name) >> |
211 (Thm.declaration_attribute o K o select_certificates)) |
211 (Thm.declaration_attribute o K o select_certificates)) |
212 "SMT certificates configuration" |
212 "SMT certificates configuration" |
213 |
213 |
214 |
214 |
215 (* setup *) |
215 (* setup *) |