privateval process_indicator = new Process_Indicator
privatedef consume_status(status: Query_Operation.Status): Unit = {
status match { case Query_Operation.Status.waiting =>
process_indicator.update("Waiting for evaluation of context ...", 5) case Query_Operation.Status.running =>
process_indicator.update("Sledgehammering ...", 15) case Query_Operation.Status.finished =>
process_indicator.update(null, 0)
}
}
privateval sledgehammer = new Query_Operation(PIDE.editor, view, "sledgehammer", consume_status,
output.pretty_text_area.update_output)
privateval provers_tooltip =
GUI.tooltip_lines( "Automatic provers as space-separated list, e.g.\n" +
PIDE.options.value.check_name("sledgehammer_provers").default_value) privateval provers = new HistoryTextField("isabelle-sledgehammer-provers") { overridedef processKeyEvent(evt: KeyEvent): Unit = { if (evt.getID == KeyEvent.KEY_PRESSED && evt.getKeyCode == KeyEvent.VK_ENTER) hammer() super.processKeyEvent(evt)
}
setToolTipText(provers_tooltip)
setColumns(30)
} privateval provers_label = new GUI.Label("Provers:", provers) { tooltip = provers_tooltip }
privatedef update_provers(): Unit = { val new_provers = PIDE.options.string("sledgehammer_provers") if (new_provers != provers.getText) {
provers.setText(new_provers) if (provers.getCaret != null)
provers.getCaret.setDot(0)
}
}
privateval isar_proofs = new GUI.Check("Isar proofs") {
tooltip = "Specify whether Isar proofs should be output in addition to \"by\" one-liner"
}
privateval try0 = new GUI.Check("Try methods", init = true) {
tooltip = "Try standard proof methods like \"auto\" and \"blast\" as alternatives to \"metis\""
}
privateval apply_query = new GUI.Button(GUI.Style_HTML.enclose_bold("Apply")) {
tooltip = "Search for first-order proof using automatic theorem provers" overridedef clicked(): Unit = hammer()
}
privateval cancel_query = new GUI.Button("Cancel") {
tooltip = "Interrupt unfinished sledgehammering" overridedef clicked(): Unit = sledgehammer.cancel_query()
}
privateval locate_query = new GUI.Button("Locate") {
tooltip = "Locate context of current query within source text" overridedef clicked(): Unit = sledgehammer.locate_query()
}
overridedef focusOnDefaultComponent(): Unit = provers.requestFocus()
/* main */
privateval main =
Session.Consumer[Session.Global_Options](getClass.getName) { case _: Session.Global_Options =>
GUI_Thread.later { update_provers(); output.handle_resize() }
}
overridedef init(): Unit = {
PIDE.session.global_options += main
update_provers()
output.init()
sledgehammer.activate()
}
overridedef exit(): Unit = {
sledgehammer.deactivate()
PIDE.session.global_options -= main
output.exit()
}
}
Messung V0.5
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.15Bemerkung:
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.