HW5-hanoi-prince-of

HW #5 Due Nov 14 23:59
1. Write down a C program and a Promela model to solve
the Tower of Hanoi game (3 poles and 4 disks) by using
CBMC and Spin
•
•
Hint: you may non-deterministically select the disk to move
Find and describe the shortest solution by analyzing counter
examples.
Also explain why your solution is the shortest one.
–
–
•
Use non-determinism and __CPROVER_assume() properly for the moving choice
Use assert statement to detect when all the disks are moved to the destination
Report the complexity of the problem
–
i.e., # of clauses and variables, # of states, memory usage, verification time, etc.
Q2:Royal Garden’s
Puzzle as a Model
Checking Problem
• http://www.youtube.com/watch?v=1xv4KSUGSS8&hl=ko
R1
R5
R2
R3
R4
H1
H2
R6
R7
Source
Type A
R8
R9
H3
H4
R10
R11
Type B
Type C
Sink
Handle Areas rotated
H1
R1,R2,R5,R6
H2
R2,R3,R4,R6,R7
H3
R5,R6,R8,R9,R10
H4
-R6,R7,-R10,R11
2. Write down a Promela model program to model the game and ge
t a solution by using Spin
–
Use assert statement to detect when the route is established
-
Find and explain the shortest solution by and analyzing
counter examples. Also show that why your solution is the
shortest one for the route
(Hint: there exists a solution less than 10 steps)
•
Report the complexity of the problem
–
i.e., # of clauses and variables, # of states, memory usage, verification time, etc.