62 |
62 |
63 |
63 |
64 section {* The Isabelle/jEdit Prover IDE *} |
64 section {* The Isabelle/jEdit Prover IDE *} |
65 |
65 |
66 text {* |
66 text {* |
67 \begin{figure}[htbp] |
67 \begin{figure}[htb] |
68 \begin{center} |
68 \begin{center} |
69 \includegraphics[width=\textwidth]{isabelle-jedit} |
69 \includegraphics[width=\textwidth]{isabelle-jedit} |
70 \end{center} |
70 \end{center} |
71 \caption{The Isabelle/jEdit Prover IDE} |
71 \caption{The Isabelle/jEdit Prover IDE} |
|
72 \label{fig:isabelle-jedit} |
72 \end{figure} |
73 \end{figure} |
73 |
74 |
74 Isabelle/jEdit consists of some plugins for the well-known jEdit |
75 Isabelle/jEdit (\figref{fig:isabelle-jedit}) consists of some |
75 text editor \url{http://www.jedit.org}, according to the following |
76 plugins for the well-known jEdit text editor |
76 principles. |
77 \url{http://www.jedit.org}, according to the following principles. |
77 |
78 |
78 \begin{itemize} |
79 \begin{itemize} |
79 |
80 |
80 \item The original jEdit look-and-feel is generally preserved, |
81 \item The original jEdit look-and-feel is generally preserved, |
81 although some default properties are changed to accommodate Isabelle |
82 although some default properties are changed to accommodate Isabelle |
360 |
361 |
361 text {* Prover output consists of \emph{markup} and \emph{messages}. |
362 text {* Prover output consists of \emph{markup} and \emph{messages}. |
362 Both are directly attached to the corresponding positions in the |
363 Both are directly attached to the corresponding positions in the |
363 original source text, and visualized in the text area, e.g.\ as text |
364 original source text, and visualized in the text area, e.g.\ as text |
364 colours for free and bound variables, or as squiggly underline for |
365 colours for free and bound variables, or as squiggly underline for |
365 warnings, errors etc. In the latter case, the corresponding |
366 warnings, errors etc.\ (see also \figref{fig:output}). In the |
366 messages are shown by hovering with the mouse over the highlighted |
367 latter case, the corresponding messages are shown by hovering with |
367 text --- although in many situations the user should already get |
368 the mouse over the highlighted text --- although in many situations |
368 some clue by looking at the text highlighting alone. |
369 the user should already get some clue by looking at the text |
|
370 highlighting alone. |
|
371 |
|
372 \begin{figure}[htb] |
|
373 \begin{center} |
|
374 \includegraphics[scale=0.3]{output} |
|
375 \end{center} |
|
376 \caption{Multiple views on prover output: gutter area, text area |
|
377 with popup, overview area, Theories panel, Output panel} |
|
378 \label{fig:output} |
|
379 \end{figure} |
369 |
380 |
370 The ``gutter area'' on the left-hand-side of the text area uses |
381 The ``gutter area'' on the left-hand-side of the text area uses |
371 icons to provide a summary of the messages within the corresponding |
382 icons to provide a summary of the messages within the corresponding |
372 line of text. Message priorities are used to prefer errors over |
383 line of text. Message priorities are used to prefer errors over |
373 warnings, warnings over information messages etc. Plain output is |
384 warnings, warnings over information messages etc. Plain output is |
427 COMMAND} on Mac OS X. Hovering with the mouse while the modifier is |
438 COMMAND} on Mac OS X. Hovering with the mouse while the modifier is |
428 pressed reveals a \emph{tooltip} (grey box over the text with a |
439 pressed reveals a \emph{tooltip} (grey box over the text with a |
429 yellow popup) and/or a \emph{hyperlink} (black rectangle over the |
440 yellow popup) and/or a \emph{hyperlink} (black rectangle over the |
430 text); see also \figref{fig:tooltip}. |
441 text); see also \figref{fig:tooltip}. |
431 |
442 |
432 \begin{figure}[htbp] |
443 \begin{figure}[htb] |
433 \begin{center} |
444 \begin{center} |
434 \includegraphics[scale=0.6]{popup1} |
445 \includegraphics[scale=0.5]{popup1} |
435 \end{center} |
446 \end{center} |
436 \caption{Tooltip and hyperlink for some formal entity} |
447 \caption{Tooltip and hyperlink for some formal entity} |
437 \label{fig:tooltip} |
448 \label{fig:tooltip} |
438 \end{figure} |
449 \end{figure} |
439 |
450 |
440 Tooltip popups use the same rendering principles as the main text |
451 Tooltip popups use the same rendering principles as the main text |
441 area, and further tooltips and/or hyperlinks may be exposed |
452 area, and further tooltips and/or hyperlinks may be exposed |
442 recursively by the same mechanism; see |
453 recursively by the same mechanism; see \figref{fig:nested-tooltips}. |
443 \figref{fig:nested-tooltips}. |
454 |
444 |
455 \begin{figure}[htb] |
445 \begin{figure}[htbp] |
|
446 \begin{center} |
456 \begin{center} |
447 \includegraphics[scale=0.6]{popup2} |
457 \includegraphics[scale=0.5]{popup2} |
448 \end{center} |
458 \end{center} |
449 \caption{Nested tooltips over formal entities} |
459 \caption{Nested tooltips over formal entities} |
450 \label{fig:nested-tooltips} |
460 \label{fig:nested-tooltips} |
451 \end{figure} |
461 \end{figure} |
452 |
462 |
684 any other message, see also \secref{sec:prover-output}. Some tools |
694 any other message, see also \secref{sec:prover-output}. Some tools |
685 produce output with \emph{sendback} markup, which means that |
695 produce output with \emph{sendback} markup, which means that |
686 clicking on certain parts of the output inserts that text into the |
696 clicking on certain parts of the output inserts that text into the |
687 source in the proper place. |
697 source in the proper place. |
688 |
698 |
689 \begin{figure}[htbp] |
699 \begin{figure}[htb] |
690 \begin{center} |
700 \begin{center} |
691 \includegraphics[scale=0.5]{auto-tools} |
701 \includegraphics[scale=0.5]{auto-tools} |
692 \end{center} |
702 \end{center} |
693 \caption{Results of automatically tried tools} |
703 \caption{Results of automatically tried tools} |
694 \label{fig:auto-tools} |
704 \label{fig:auto-tools} |
777 elements for important Sledgehammer arguments and options. Any |
787 elements for important Sledgehammer arguments and options. Any |
778 number of Sledgehammer panels may be active, according to the |
788 number of Sledgehammer panels may be active, according to the |
779 standard policies of Dockable Window Management in jEdit. Closing a |
789 standard policies of Dockable Window Management in jEdit. Closing a |
780 window also cancels the corresponding prover tasks. |
790 window also cancels the corresponding prover tasks. |
781 |
791 |
782 \begin{figure}[htbp] |
792 \begin{figure}[htb] |
783 \begin{center} |
793 \begin{center} |
784 \includegraphics[scale=0.3]{sledgehammer} |
794 \includegraphics[scale=0.3]{sledgehammer} |
785 \end{center} |
795 \end{center} |
786 \caption{An instance of the Sledgehammer panel} |
796 \caption{An instance of the Sledgehammer panel} |
787 \label{fig:sledgehammer} |
797 \label{fig:sledgehammer} |
806 independent view for @{command find_theorems}. The main text field |
816 independent view for @{command find_theorems}. The main text field |
807 accepts search criteria according to the syntax @{syntax |
817 accepts search criteria according to the syntax @{syntax |
808 thmcriterium} given in \cite{isabelle-isar-ref}. Further options of |
818 thmcriterium} given in \cite{isabelle-isar-ref}. Further options of |
809 @{command find_theorems} are available via GUI elements. |
819 @{command find_theorems} are available via GUI elements. |
810 |
820 |
811 \begin{figure}[htbp] |
821 \begin{figure}[htb] |
812 \begin{center} |
822 \begin{center} |
813 \includegraphics[scale=0.3]{find} |
823 \includegraphics[scale=0.3]{find} |
814 \end{center} |
824 \end{center} |
815 \caption{An instance of the Find panel} |
825 \caption{An instance of the Find panel} |
816 \label{fig:find} |
826 \label{fig:find} |