Dialectical refinement: Rescuing programming from the logicians
Richard Bornat Professor of Computer Programming School of Engineering and Information Sciences Middlesex University 5th November 2008
1
Dialectical refinement: Rescuing programming from the logicians - - PowerPoint PPT Presentation
Dialectical refinement: Rescuing programming from the logicians Richard Bornat Professor of Computer Programming School of Engineering and Information Sciences Middlesex University 5th November 2008 1 There are two programming problems 2
1
2
2
2
2
2
2
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
7
7
7
7
7
8
8
8
8
8
8
8
9
9
9
9
10
10
10
10
11
11
11
11
11
11
w1
w2
r1
r2
12
w1
w2
r1
r2
l = rt start l = rt start l = !rt l = !rt
w2 w3 w2 w3
12
w1
w2
r1
r2
l = rt start l = rt start l = !rt l = !rt c[!rt] := w l := !rt c[rt] := w l := rt
12
w1
w2
r1
r2
l = rt start l = rt start l = !rt l = !rt c[!rt] := w l := !rt c[rt] := w l := rt
12
w1
w2
r1
r2
l = rt start l = rt start l = !rt l = !rt c[!rt] := w l := !rt c[rt] := w l := rt
12
w1
w2
r1
r2
l = rt start l = rt start l = !rt l = !rt c[!rt] := w l := !rt c[rt] := w l := rt
12
l = rt start l = rt start l = !rt l = !rt c[!rt] := w l := !rt c[rt] := w l := rt
13
l = rt start l = rt start l = !rt l = !rt c[!rt] := w l := !rt c[rt] := w l := rt
13
l = rt start l = rt start l = !rt l = !rt c[!rt] := w l := !rt c[rt] := w l := rt
13
l = rt start l = rt start l = !rt l = !rt c[!rt] := w l := !rt c[rt] := w l := rt
14
l = rt start l = rt start l = !rt l = !rt c[!rt] := w l := !rt c[rt] := w l := rt
14
15
15
15
15
16
16
16
16
16
16
16
16
16
16
17
17
17
start
start ¬ok c[!L] := w l := !L
c[!L] := w c[L] := w l := !l
17
18
18
18
18
18
19
19
19
19
19
19
19
19
19
20
20
20
20
20
21
21
21
21
21
21
21
21
22
22
22
22
22