Part 2
- Lab 1, 12/11, Hoare Logic
Solutions to selected exercises
Proposed plan:
:00-:10 (10m): Discuss plan for session and revise material
:10-:25 (15m): Group discussion and solution to Exercise 1 (derivation tree + decorated program)
:25-:55 (30m): Solve Exercises 2, 3, and 4 in breakout rooms (2/3 students)
:55-:10 (15m): Group discussion and solution of Exercises 4 and 5
:10-:25 (15m): Solve Exercise 6 in breakout rooms (2/3 students)
:25-:30 (5m): Conclusion - Lab 2, 19/11, Introduction to Dafny
Solutions to selected exercises
Proposed plan:
:00-:10 (10m): Discuss plan for session and revise material
:10-:25 (15m): Group discussion and solution to Exercise 1.1 (integer division)
:25-:55 (30m): Solve Exercises 1.2, 1.3, and 1.4 in breakout rooms (2/3 students)
:55-:10 (15m): Group discussion and solution of Exercises 1.3 and 3
:10-:25 (15m): Solve Exercises 4, 5, and 6 in breakout rooms (2/3 students)
:25-:30 (5m): Conclusion - Lab 3, 26/11, Reasoning about Functions in Dafny
Solutions to selected exercises
Original file: Lab3_exercises.dfy
Proposed plan:
:00-:10 (10m): Discuss plan for session and revise material
:10-:25 (15m): Group discussion and solution to Exercises 1 and 2
:25-:10 (45m): Solve Exercises 3, 4, 5 and 6 in breakout rooms (2/3 students)
:10-:25 (15m): Group discussion and solution of selected exercises
:25-:30 (5m): Conclusion - Lab 4, 02/12, Dynamic Frames in Dafny
Solutions to selected exercises: Exercise 2 and Exercise 3
Proposed plan:
:00-:10 (10m): Discuss plan for session and revise material
:10-:25 (15m): Group discussion and solution to Exercise 1
:25-:10 (45m): Solve Exercises 2 and 3 in breakout rooms (2/3 students)
:10-:25 (15m): Group discussion and solution of selected exercises
:25-:30 (5m): Conclusion - Lab 5, 10/12, Separation Logic
Solutions
Proposed plan:
:00-:10 (10m): Discuss plan for session and revise material
:10-:25 (15m): Group discussion and solution to Exercises 1.1, 1.2, and 2.1
:25-:10 (45m): Solve Exercises 1, 2, and 3 in breakout rooms (2/3 students)
:10-:25 (15m): Group discussion and solution of selected exercises
:25-:30 (5m): Conclusion - Lab 6, 17/12, Project development
The plan of this lab session is to work on the second project.
Part 1
- Lab1, 1/10
- FOL (Rec Ex: Sec 1.1: 1a-g, 2a-d; Sec 1.2: 1, 2; Sec 1.3: 1, 3; Sec 2: 1-13.)
- Solutions to some of the exercises.
- Alloy tutorial
- Lab 2, 8/10
- Solve the following exercises proposed at http://alloytools.org/tutorials/day-course/
- Also, use Alloy to solve the exercises of Section 2 (Specification of Properties) from FOL.
- Solution suggestion that uses facts. Expressing the properties using predicates is also a possibility.
- Solution suggestion that uses facts. Expressing the properties using predicates is also a possibility.
- Lab 3, 15/10
- Exercises in the book "Software Abstractions: Logic, Language, and Analysis" by D.J.
- A.2.1 (Telephone Switch)
- A.2.3 (Inmate Assignment)
- Lab 4, 22/10
- Exercise in the book "Software Abstractions: Logic, Language, and Analysis" by D.J.
- A.3.5 (Goat, Cabbage, Wolf)
- Lab 5, 29/10
- Exercise in the book "Software Abstractions: Logic, Language, and Analysis" by D.J.
- A.3.6 (Surgeon's Gloves). In order to solve this task, one need to model the fact that the surgeon can wear multiple gloves at the same time. Sequences (seq) can be used for that. One also needs to model all different operations. One of those operations is 'turning a glove inside out'.
- Lab 6, 5/11