author | wneuper <Walther.Neuper@jku.at> |
Sun, 29 May 2022 12:17:09 +0200 | |
changeset 60433 | 9d98791b4080 |
child 60434 | d780a93d21b3 |
permissions | -rw-r--r-- |
Walther@60433 | 1 |
(* Title: src/Tools/isac/BridgeJEdit/Demo_Example.thy |
Walther@60433 | 2 |
Author: Walther Neuper, JKU Linz |
Walther@60433 | 3 |
(c) due to copyright terms |
Walther@60433 | 4 |
|
Walther@60433 | 5 |
Runnig example for developing Isabelle/Isac via Isabelle/PIDE in BridgeJEdit |
Walther@60433 | 6 |
*) |
Walther@60433 | 7 |
|
Walther@60433 | 8 |
theory Demo_Example |
Walther@60433 | 9 |
imports Calculation |
Walther@60433 | 10 |
begin |
Walther@60433 | 11 |
|
Walther@60433 | 12 |
section \<open>Boilerplate \<close> |
Walther@60433 | 13 |
|
Walther@60433 | 14 |
subsection \<open>Specification Phase\<close> |
Walther@60433 | 15 |
text \<open>Goal for Isabelle Workshop 2022: this part of the example should be ready for demonstration: |
Walther@60433 | 16 |
1. The keyword "Example" inserts the template underneath |
Walther@60433 | 17 |
2. The template is filled from a (hidden) formalisation with the following items in the |
Walther@60433 | 18 |
2.1. Model: |
Walther@60433 | 19 |
* Constants _ ("_" indicates some kind of place holder for input) |
Walther@60433 | 20 |
* the complete Where-field (the pre-condition), items marked as True | False |
Walther@60433 | 21 |
* Maximum _, AdditionalValues _ |
Walther@60433 | 22 |
* Extremum _, SideCondition _ |
Walther@60433 | 23 |
2.2 References: |
Walther@60433 | 24 |
* place holders "_" for input |
Walther@60433 | 25 |
* The toggle switch before RProblem | RMethod is set to RProblem |
Walther@60433 | 26 |
This might be postponed after the Isabelle Workshop. |
Walther@60433 | 27 |
3. Input to 2.1 is |
Walther@60433 | 28 |
* type checked and marked as Type-Error |
Walther@60433 | 29 |
* marked as Correct | Superfluous | Incomplete | Unknown (compare Specify/p-model.sml) |
Walther@60433 | 30 |
4. Input to 2.2 by selection from a list / tree |
Walther@60433 | 31 |
\<close> |
Walther@60433 | 32 |
|
Walther@60433 | 33 |
subsubsection \<open>Complete Specification\<close> |
Walther@60433 | 34 |
text \<open> |
Walther@60433 | 35 |
Example <No.123 a> |
Walther@60433 | 36 |
Problem ''univariate_calculus/Optimisation'' |
Walther@60433 | 37 |
Specification: |
Walther@60433 | 38 |
Model: |
Walther@60433 | 39 |
Given: "Constants r = 7" |
Walther@60433 | 40 |
Where: "0 < r" |
Walther@60433 | 41 |
Find: "Maximum A" "AdditionalValues u, v" |
Walther@60433 | 42 |
Relate: "Extremum A = 2 \<sqdot> u \<sqdot> v − u \<up> 2" "SideCondition (u / 2) \<up> 2 + (2 / v) \<up> 2 = r \<up> 2" |
Walther@60433 | 43 |
References: |
Walther@60433 | 44 |
RTheory: ''Diff_App'' |
Walther@60433 | 45 |
x RProblem: ''univariate_calculus/Optimisation'' |
Walther@60433 | 46 |
RMethod: ''Optimisation/by_univariate_calculus'' |
Walther@60433 | 47 |
Solution: |
Walther@60433 | 48 |
\<close> |
Walther@60433 | 49 |
|
Walther@60433 | 50 |
subsubsection \<open>Empty Specification\<close> |
Walther@60433 | 51 |
text \<open> |
Walther@60433 | 52 |
Example <No.123 a> |
Walther@60433 | 53 |
Problem ''univariate_calculus/Optimisation'' |
Walther@60433 | 54 |
Specification: |
Walther@60433 | 55 |
Model: |
Walther@60433 | 56 |
Given: "Constants _" |
Walther@60433 | 57 |
Where: "_" |
Walther@60433 | 58 |
Find: "Maximum _" "AdditionalValues _" |
Walther@60433 | 59 |
Relate: "Extremum _ "SideCondition _" |
Walther@60433 | 60 |
References: |
Walther@60433 | 61 |
RTheory: ''_'' |
Walther@60433 | 62 |
x RProblem: ''_'' |
Walther@60433 | 63 |
RMethod: ''_'' |
Walther@60433 | 64 |
Solution: |
Walther@60433 | 65 |
\<close> |
Walther@60433 | 66 |
|
Walther@60433 | 67 |
section \<open>Stepwise Development\<close> |
Walther@60433 | 68 |
subsection \<open>Specification Phase\<close> |
Walther@60433 | 69 |
|
Walther@60433 | 70 |
|
Walther@60433 | 71 |
|
Walther@60433 | 72 |
end |