This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
official:goals [2011/07/20 11:22] paddy [Sheet 9] |
official:goals [2012/07/06 18:08] (current) paddy |
||
|---|---|---|---|
| Line 12: | Line 12: | ||
| * Make first steps with the tool/editor Isabelle/HOL/Emacs. | * Make first steps with the tool/editor Isabelle/HOL/Emacs. | ||
| + | ===== Sheet 2 ===== | ||
| + | |||
| + | ==== Exercise 1 ==== | ||
| - | ===== Sheet 2 ===== | + | * Be able to write basic Isabelle/HOL functions and recursive functions. |
| + | * Get familiar with functional programs, so you can at least //read// more complex programs. | ||
| + | |||
| + | ==== Exercise 2 ==== | ||
| - | ==== Exercise 1 ==== | + | * Be able to specify properties of functions in Isabelle/HOL. |
| + | * Be able to prove many of these properties with a simple proof pattern. | ||
| + | * First steps in finding missing lemmas from proofs which are not working yet. | ||
| + | |||
| + | ==== Exercise 3 ==== | ||
| - | * Be able to write basic Isabelle/HOL functions and recursive functions. | + | * More advanced example. |
| - | * Get familiar with functional programs, so you can at least read more complex programs. | + | |
| - | + | ||
| - | ==== Exercise 2 ==== | + | |
| - | + | ||
| - | * Be able to specify properties of functions in Isabelle/HOL. | + | |
| - | * Be able to prove many of these properties with a simple proof pattern. | + | |
| - | * First steps in finding missing lemmas from proofs which are not working yet. | + | |
| - | + | ||
| - | ==== Exercise 3 ==== | + | |
| - | + | ||
| - | * More advanced example. | + | |
| * Be able to define the algorithm and specify its correctness. | * Be able to define the algorithm and specify its correctness. | ||
| - | + | * Doing the proof at this point can be challenging. | |
| + | * It highly depends on your definitions and your knowledge of the proof system. | ||
| + | * You should be able to do it at the end of the semester the latest. | ||
| ===== Sheet 3 ===== | ===== Sheet 3 ===== | ||
| ==== Exercise 1 ==== | ==== Exercise 1 ==== | ||
| - | * Basic theory questions you should be able to answer. | + | * Be able to define datatypes in Isabelle/HOL. |
| + | * Be able to define primitive recursive functions on datatypes. | ||
| + | * Be able to specify properties on such functions. | ||
| + | * Be able to prove many of these properties with a simple proof pattern. | ||
| + | * Next steps in finding missing lemmas from proofs which are not working yet. | ||
| ==== Exercise 2 ==== | ==== Exercise 2 ==== | ||
| * Get used to the idea of using existing types to define new ones. | * Get used to the idea of using existing types to define new ones. | ||
| - | * The actual definitions are very easy once you get the idea. | + | * Get used to the idea that sets and predicates are pretty much equivalent. |
| ==== Exercise 3 ==== | ==== Exercise 3 ==== | ||
| - | * Be able to define datatypes in Isabelle/HOL. | + | * More exercise in writing, understanding and modifying functional programs and datatypes. |
| - | * Be able to define primitive recursive functions on datatypes. | + | * Get familiar with proofs, proof commands and proof states in a very simple setting. |
| - | * Be able to specify properties on such functions. | + | * In general, understand how provers work and how one could implement one. |
| - | * Be able to prove many of these properties with a simple proof pattern. | + | |
| - | * Next steps in finding missing lemmas from proofs which are not working yet. | + | |
| - | ==== Exercise 4 ==== | ||
| - | |||
| - | * More exercise in writing functional programs and using datatypes. | ||
| - | * Can be used to check the own skills in basic functional programming. | ||
| - | * Get familiar with proofs, proof commands and proof states in a very simple setting. | ||
| ===== Sheet 4 ===== | ===== Sheet 4 ===== | ||
| - | ==== Exercise 1 ==== | + | * Basic theory questions you should be able to answer about the HOL core, universes, models, conservative extensions, etc. |
| + | * Exercise 2 (d/e) More and more advanced questions where you can get more familiar with using Isabelle/HOL, proofs, finding and applying theorems, etc. | ||
| - | * (a/b/c) Basic theory questions you should be able to answer. | + | ===== Sheet 5 ===== |
| - | * (d/e) More and more advanced questions where you can get more familiar with using Isabelle/HOL, proofs, finding and applying theorems, etc. | + | |
| - | ==== Exercise 2 ==== | + | |
| + | ==== Exercise 1 ==== | ||
| * Be able to apply methods to rules and do proofs. | * Be able to apply methods to rules and do proofs. | ||
| Line 71: | Line 69: | ||
| * Be able to do arbitrary proofs on propositional and predicate logic theorems. | * Be able to do arbitrary proofs on propositional and predicate logic theorems. | ||
| - | ===== Sheet 5 ===== | + | ==== Exercise 2 ==== |
| * Get familiar with designing and defining both syntax and semantics of languages. | * Get familiar with designing and defining both syntax and semantics of languages. | ||
| Line 78: | Line 76: | ||
| ===== Sheet 6 ===== | ===== Sheet 6 ===== | ||
| - | * Understand and proof properties on paper about lattices and fixpoints. | + | * First steps in finding needed theorems from the library, using the Find Theorems function. |
| - | * Be able to specify inductive sets both on paper and in Isabelle/HOL. | + | * First steps in using different induction schemes. |
| - | * Be able to do simple proofs on elements of inductive sets in Isabelle/HOL. | + | |
| - | * First steps in finding needed theorems from the library, using the //Find Theorems// function. | + | |
| * First case study about specifying models, properties and proving their consistency. | * First case study about specifying models, properties and proving their consistency. | ||
| Line 90: | Line 86: | ||
| * Be able to specify properties for such models. | * Be able to specify properties for such models. | ||
| * Be able to prove those properties with regard to the models. | * Be able to prove those properties with regard to the models. | ||
| + | |||
| + | * Understand and proof properties on paper about lattices and fixpoints. | ||
| + | * Be able to specify inductive sets on paper and understand their semantics. | ||
| ===== Sheet 8 ===== | ===== Sheet 8 ===== | ||
| Line 108: | Line 107: | ||
| ===== Sheet 10 ===== | ===== Sheet 10 ===== | ||
| - | * Be able to model a transition system from a given description. | + | * Be able to do pen & paper proofs using the Hoare calculus. |
| - | * Be able to formalize properties of a system given by an informal explanation. | + | * Be able to find simple loop invariants. |
| - | * Get to know different approaches to model systems and see how they influence property specifications and proofs. | + | * Be able to translate proofs into the framework created in the lecture. |