summaryrefslogtreecommitdiff
path: root/wiley.ps
blob: f18f0cf99d9efc47ceb9822c55693745b5f14168 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041
5042
5043
5044
5045
5046
5047
5048
5049
5050
5051
5052
5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
5066
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
5186
5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
5200
5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
5214
5215
5216
5217
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228
5229
5230
5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5280
5281
5282
5283
5284
5285
5286
5287
5288
5289
5290
5291
5292
5293
5294
5295
5296
5297
5298
5299
5300
5301
5302
5303
5304
5305
5306
5307
5308
5309
5310
5311
5312
5313
5314
5315
5316
5317
5318
5319
5320
5321
5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
5332
5333
5334
5335
5336
5337
5338
5339
5340
5341
5342
5343
5344
5345
5346
5347
5348
5349
5350
5351
5352
5353
5354
5355
5356
5357
5358
5359
5360
5361
5362
5363
5364
5365
5366
5367
5368
5369
5370
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399
5400
5401
5402
5403
5404
5405
5406
5407
5408
5409
5410
5411
5412
5413
5414
5415
5416
5417
5418
5419
5420
5421
5422
5423
5424
5425
5426
5427
5428
5429
5430
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446
5447
5448
5449
5450
5451
5452
5453
5454
5455
5456
5457
5458
5459
5460
5461
5462
5463
5464
5465
5466
5467
5468
5469
5470
5471
5472
5473
5474
5475
5476
5477
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488
5489
5490
5491
5492
5493
5494
5495
5496
5497
5498
5499
5500
5501
5502
5503
5504
5505
5506
5507
5508
5509
5510
5511
5512
5513
5514
5515
5516
5517
5518
5519
5520
5521
5522
5523
5524
5525
5526
5527
5528
5529
5530
5531
5532
5533
5534
5535
5536
5537
5538
5539
5540
5541
5542
5543
5544
5545
5546
5547
5548
5549
5550
5551
5552
5553
5554
5555
5556
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
5576
5577
5578
5579
5580
5581
5582
5583
5584
5585
5586
5587
5588
5589
5590
5591
5592
5593
5594
5595
5596
5597
5598
5599
5600
5601
5602
5603
5604
5605
5606
5607
5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
5627
5628
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647
5648
5649
5650
5651
5652
5653
5654
5655
5656
5657
5658
5659
5660
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
5672
5673
5674
5675
5676
5677
5678
5679
5680
5681
5682
5683
5684
5685
5686
5687
5688
5689
5690
5691
5692
5693
5694
5695
5696
5697
5698
5699
5700
5701
5702
5703
5704
5705
5706
5707
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719
5720
5721
5722
5723
5724
5725
5726
5727
5728
5729
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740
5741
5742
5743
5744
5745
5746
5747
5748
5749
5750
5751
5752
5753
5754
5755
5756
5757
5758
5759
5760
5761
5762
5763
5764
5765
5766
5767
5768
5769
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
5785
5786
5787
5788
5789
5790
5791
5792
5793
5794
5795
5796
5797
5798
5799
5800
5801
5802
5803
5804
5805
5806
5807
5808
5809
5810
5811
5812
5813
5814
5815
5816
5817
5818
5819
5820
5821
5822
5823
5824
5825
5826
5827
5828
5829
5830
5831
5832
5833
5834
5835
5836
5837
5838
5839
5840
5841
5842
5843
5844
5845
5846
5847
5848
5849
5850
5851
5852
5853
5854
5855
5856
5857
5858
5859
5860
5861
5862
5863
5864
5865
5866
5867
5868
5869
5870
5871
5872
5873
5874
5875
5876
5877
5878
5879
5880
5881
5882
5883
5884
5885
5886
5887
5888
5889
5890
5891
5892
5893
5894
5895
5896
5897
5898
5899
5900
5901
5902
5903
5904
5905
5906
5907
5908
5909
5910
5911
5912
5913
5914
5915
5916
5917
5918
5919
5920
5921
5922
5923
5924
5925
5926
5927
5928
5929
5930
5931
5932
5933
5934
5935
5936
5937
5938
5939
5940
5941
5942
5943
5944
5945
5946
5947
5948
5949
5950
5951
5952
5953
5954
5955
5956
5957
5958
5959
5960
5961
5962
5963
5964
5965
5966
5967
5968
5969
5970
5971
5972
5973
5974
5975
5976
5977
5978
5979
5980
5981
5982
5983
5984
5985
5986
5987
5988
5989
5990
5991
5992
5993
5994
5995
5996
5997
5998
5999
6000
6001
6002
6003
6004
6005
6006
6007
6008
6009
6010
6011
6012
6013
6014
6015
6016
6017
6018
6019
6020
6021
6022
6023
6024
6025
6026
6027
6028
6029
6030
6031
6032
6033
6034
6035
6036
6037
6038
6039
6040
6041
6042
6043
6044
6045
6046
6047
6048
6049
6050
6051
6052
6053
6054
6055
6056
6057
6058
6059
6060
6061
6062
6063
6064
6065
6066
6067
6068
6069
6070
6071
6072
6073
6074
6075
6076
6077
6078
6079
6080
6081
6082
6083
6084
6085
6086
6087
6088
6089
6090
6091
6092
6093
6094
6095
6096
6097
6098
6099
6100
6101
6102
6103
6104
6105
6106
6107
6108
6109
6110
6111
6112
6113
6114
6115
6116
6117
6118
6119
6120
6121
6122
6123
6124
6125
6126
6127
6128
6129
6130
6131
6132
6133
6134
6135
6136
6137
6138
6139
6140
6141
6142
6143
6144
6145
6146
6147
6148
6149
6150
6151
6152
6153
6154
6155
6156
6157
6158
6159
6160
6161
6162
6163
6164
6165
6166
6167
6168
6169
6170
6171
6172
6173
6174
6175
6176
6177
6178
6179
6180
6181
6182
6183
6184
6185
6186
6187
6188
6189
6190
6191
6192
6193
6194
6195
6196
6197
6198
6199
6200
6201
6202
6203
6204
6205
6206
6207
6208
6209
6210
6211
6212
6213
6214
6215
6216
6217
6218
6219
6220
6221
6222
6223
6224
6225
6226
6227
6228
6229
6230
6231
6232
6233
6234
6235
6236
6237
6238
6239
6240
6241
6242
6243
6244
6245
6246
6247
6248
6249
6250
6251
6252
6253
6254
6255
6256
6257
6258
6259
6260
6261
6262
6263
6264
6265
6266
6267
6268
6269
6270
6271
6272
6273
6274
6275
6276
6277
6278
6279
6280
6281
6282
6283
6284
6285
6286
6287
6288
6289
6290
6291
6292
6293
6294
6295
6296
6297
6298
6299
6300
6301
6302
6303
6304
6305
6306
6307
6308
6309
6310
6311
6312
6313
6314
6315
6316
6317
6318
6319
6320
6321
6322
6323
6324
6325
6326
6327
6328
6329
6330
6331
6332
6333
6334
6335
6336
6337
6338
6339
6340
6341
6342
6343
6344
6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
6371
6372
6373
6374
6375
6376
6377
6378
6379
6380
6381
6382
6383
6384
6385
6386
6387
6388
6389
6390
6391
6392
6393
6394
6395
6396
6397
6398
6399
6400
6401
6402
6403
6404
6405
6406
6407
6408
6409
6410
6411
6412
6413
6414
6415
6416
6417
6418
6419
6420
6421
6422
6423
6424
6425
6426
6427
6428
6429
6430
6431
6432
6433
6434
6435
6436
6437
6438
6439
6440
6441
6442
6443
6444
6445
6446
6447
6448
6449
6450
6451
6452
6453
6454
6455
6456
6457
6458
6459
6460
6461
6462
6463
6464
6465
6466
6467
6468
6469
6470
6471
6472
6473
6474
6475
6476
6477
6478
6479
6480
6481
6482
6483
6484
6485
6486
6487
6488
6489
6490
6491
6492
6493
6494
6495
6496
6497
6498
6499
6500
6501
6502
6503
6504
6505
6506
6507
6508
6509
6510
6511
6512
6513
6514
6515
6516
6517
6518
6519
6520
6521
6522
6523
6524
6525
6526
6527
6528
6529
6530
6531
6532
6533
6534
6535
6536
6537
6538
6539
6540
6541
6542
6543
6544
6545
6546
6547
6548
6549
6550
6551
6552
6553
6554
6555
6556
6557
6558
6559
6560
6561
6562
6563
6564
6565
6566
6567
6568
6569
6570
6571
6572
6573
6574
6575
6576
6577
6578
6579
6580
6581
6582
6583
6584
6585
6586
6587
6588
6589
6590
6591
6592
6593
6594
6595
6596
6597
6598
6599
6600
6601
6602
6603
6604
6605
6606
6607
6608
6609
6610
6611
6612
6613
6614
6615
6616
6617
6618
6619
6620
6621
6622
6623
6624
6625
6626
6627
6628
6629
6630
6631
6632
6633
6634
6635
6636
6637
6638
6639
6640
6641
6642
6643
6644
6645
6646
6647
6648
6649
6650
6651
6652
6653
6654
6655
6656
6657
6658
6659
6660
6661
6662
6663
6664
6665
6666
6667
6668
6669
6670
6671
6672
6673
6674
6675
6676
6677
6678
6679
6680
6681
6682
6683
6684
6685
6686
6687
6688
6689
6690
6691
6692
6693
6694
6695
6696
6697
6698
6699
6700
6701
6702
6703
6704
6705
6706
6707
6708
6709
6710
6711
6712
6713
6714
6715
6716
6717
6718
6719
6720
6721
6722
6723
6724
6725
6726
6727
6728
6729
6730
6731
6732
6733
6734
6735
6736
6737
6738
6739
6740
6741
6742
6743
6744
6745
6746
6747
6748
6749
6750
6751
6752
6753
6754
6755
6756
6757
6758
6759
6760
6761
6762
6763
6764
6765
6766
6767
6768
6769
6770
6771
6772
6773
6774
6775
6776
6777
6778
6779
6780
6781
6782
6783
6784
6785
6786
6787
6788
6789
6790
6791
6792
6793
6794
6795
6796
6797
6798
6799
6800
6801
6802
6803
6804
6805
6806
6807
6808
6809
6810
6811
6812
6813
6814
6815
6816
6817
6818
6819
6820
6821
6822
6823
6824
6825
6826
6827
6828
6829
6830
6831
6832
6833
6834
6835
6836
6837
6838
6839
6840
6841
6842
6843
6844
6845
6846
6847
6848
6849
6850
6851
6852
6853
6854
6855
6856
6857
6858
6859
6860
6861
6862
6863
6864
6865
6866
6867
6868
6869
6870
6871
6872
6873
6874
6875
6876
6877
6878
6879
6880
6881
6882
6883
6884
6885
6886
6887
6888
6889
6890
6891
6892
6893
6894
6895
6896
6897
6898
6899
6900
6901
6902
6903
6904
6905
6906
6907
6908
6909
6910
6911
6912
6913
6914
6915
6916
6917
6918
6919
6920
6921
6922
6923
6924
6925
6926
6927
6928
6929
6930
6931
6932
6933
6934
6935
6936
6937
6938
6939
6940
6941
6942
6943
6944
6945
6946
6947
6948
6949
6950
6951
6952
6953
6954
6955
6956
6957
6958
6959
6960
6961
6962
6963
6964
6965
6966
6967
6968
6969
6970
6971
6972
6973
6974
6975
6976
6977
6978
6979
6980
6981
6982
6983
6984
6985
6986
6987
6988
6989
6990
6991
6992
6993
6994
6995
6996
6997
6998
6999
7000
7001
7002
7003
7004
7005
7006
7007
7008
7009
7010
7011
7012
7013
7014
7015
7016
7017
7018
7019
7020
7021
7022
7023
7024
7025
7026
7027
7028
7029
7030
7031
7032
7033
7034
7035
7036
7037
7038
7039
7040
7041
7042
7043
7044
7045
7046
7047
7048
7049
7050
7051
7052
7053
7054
7055
7056
7057
7058
7059
7060
7061
7062
7063
7064
7065
7066
7067
7068
7069
7070
7071
7072
7073
7074
7075
7076
7077
7078
7079
7080
7081
7082
7083
7084
7085
7086
7087
7088
7089
7090
7091
7092
7093
7094
7095
7096
7097
7098
7099
7100
7101
7102
7103
7104
7105
7106
7107
7108
7109
7110
7111
7112
7113
7114
7115
7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
7138
7139
7140
7141
7142
7143
7144
7145
7146
7147
7148
7149
7150
7151
7152
7153
7154
7155
7156
7157
7158
7159
7160
7161
7162
7163
7164
7165
7166
7167
7168
7169
7170
7171
7172
7173
7174
7175
7176
7177
7178
7179
7180
7181
7182
7183
7184
7185
7186
7187
7188
7189
7190
7191
7192
7193
7194
7195
7196
7197
7198
7199
7200
7201
7202
7203
7204
7205
7206
7207
7208
7209
7210
7211
7212
7213
7214
7215
7216
7217
7218
7219
7220
7221
7222
7223
7224
7225
7226
7227
7228
7229
7230
7231
7232
7233
7234
7235
7236
7237
7238
7239
7240
7241
7242
7243
7244
7245
7246
7247
7248
7249
7250
7251
7252
7253
7254
7255
7256
7257
7258
7259
7260
7261
7262
7263
7264
7265
7266
7267
7268
7269
7270
7271
7272
7273
7274
7275
7276
7277
7278
7279
7280
7281
7282
7283
7284
7285
7286
7287
7288
7289
7290
7291
7292
7293
7294
7295
7296
7297
7298
7299
7300
7301
7302
7303
7304
7305
7306
7307
7308
7309
7310
7311
7312
7313
7314
7315
7316
7317
7318
7319
7320
7321
7322
7323
7324
7325
7326
7327
7328
7329
7330
7331
7332
7333
7334
7335
7336
7337
7338
7339
7340
7341
7342
7343
7344
7345
7346
7347
7348
7349
7350
7351
7352
7353
7354
7355
7356
7357
7358
7359
7360
7361
7362
7363
7364
7365
7366
7367
7368
7369
7370
7371
7372
7373
7374
7375
7376
7377
7378
7379
7380
7381
7382
7383
7384
7385
7386
7387
7388
7389
7390
7391
7392
7393
7394
7395
7396
7397
7398
7399
7400
7401
7402
7403
7404
7405
7406
7407
7408
7409
7410
7411
7412
7413
7414
7415
7416
7417
7418
7419
7420
7421
7422
7423
7424
7425
7426
7427
7428
7429
7430
7431
7432
7433
7434
7435
7436
7437
7438
7439
7440
7441
7442
7443
7444
7445
7446
7447
7448
7449
7450
7451
7452
7453
7454
7455
7456
7457
7458
7459
7460
7461
7462
7463
7464
7465
7466
7467
7468
7469
7470
7471
7472
7473
7474
7475
7476
7477
7478
7479
7480
7481
7482
7483
7484
7485
7486
7487
7488
7489
7490
7491
7492
7493
7494
7495
7496
7497
7498
7499
7500
7501
7502
7503
7504
7505
7506
7507
7508
7509
7510
7511
7512
7513
7514
7515
7516
7517
7518
7519
7520
7521
7522
7523
7524
7525
7526
7527
7528
7529
7530
7531
7532
7533
7534
7535
7536
7537
7538
7539
7540
7541
7542
7543
7544
7545
7546
7547
7548
7549
7550
7551
7552
7553
7554
7555
7556
7557
7558
7559
7560
7561
7562
7563
7564
7565
7566
7567
7568
7569
7570
7571
7572
7573
7574
7575
7576
7577
7578
7579
7580
7581
7582
7583
7584
7585
7586
7587
7588
7589
7590
7591
7592
7593
7594
7595
7596
7597
7598
7599
7600
7601
7602
7603
7604
7605
7606
7607
7608
7609
7610
7611
7612
7613
7614
7615
7616
7617
7618
7619
7620
7621
7622
7623
7624
7625
7626
7627
7628
7629
7630
7631
7632
7633
7634
7635
7636
7637
7638
7639
7640
7641
7642
7643
7644
7645
7646
7647
7648
7649
7650
7651
7652
7653
7654
7655
7656
7657
7658
7659
7660
7661
7662
7663
7664
7665
7666
7667
7668
7669
7670
7671
7672
7673
7674
7675
7676
7677
7678
7679
7680
7681
7682
7683
7684
7685
7686
7687
7688
7689
7690
7691
7692
7693
7694
7695
7696
7697
7698
7699
7700
7701
7702
7703
7704
7705
7706
7707
7708
7709
7710
7711
7712
7713
7714
7715
7716
7717
7718
7719
7720
7721
7722
7723
7724
7725
7726
7727
7728
7729
7730
7731
7732
7733
7734
7735
7736
7737
7738
7739
7740
7741
7742
7743
7744
7745
7746
7747
7748
7749
7750
7751
7752
7753
7754
7755
7756
7757
7758
7759
7760
7761
7762
7763
7764
7765
7766
7767
7768
7769
7770
7771
7772
7773
7774
7775
7776
7777
7778
7779
7780
7781
7782
7783
7784
7785
7786
7787
7788
7789
7790
7791
7792
7793
7794
7795
7796
7797
7798
7799
7800
7801
7802
7803
7804
7805
7806
7807
7808
7809
7810
7811
7812
7813
7814
7815
7816
7817
7818
7819
7820
7821
7822
7823
7824
7825
7826
7827
7828
7829
7830
7831
7832
7833
7834
7835
7836
7837
7838
7839
7840
7841
7842
7843
7844
7845
7846
7847
7848
7849
7850
7851
7852
7853
7854
7855
7856
7857
7858
7859
7860
7861
7862
7863
7864
7865
7866
7867
7868
7869
7870
7871
7872
7873
7874
7875
7876
7877
7878
7879
7880
7881
7882
7883
7884
7885
7886
7887
7888
7889
7890
7891
7892
7893
7894
7895
7896
7897
7898
7899
7900
7901
7902
7903
7904
7905
7906
7907
7908
7909
7910
7911
7912
7913
7914
7915
7916
7917
7918
7919
7920
7921
7922
7923
7924
7925
7926
7927
7928
7929
7930
7931
7932
7933
7934
7935
7936
7937
7938
7939
7940
7941
7942
7943
7944
7945
7946
7947
7948
7949
7950
7951
7952
7953
7954
7955
7956
7957
7958
7959
7960
7961
7962
7963
7964
7965
7966
7967
7968
7969
7970
7971
7972
7973
7974
7975
7976
7977
7978
7979
7980
7981
7982
7983
7984
7985
7986
7987
7988
7989
7990
7991
7992
7993
7994
7995
7996
7997
7998
7999
8000
8001
8002
8003
8004
8005
8006
8007
8008
8009
8010
8011
8012
8013
8014
8015
8016
8017
8018
8019
8020
8021
8022
8023
8024
8025
8026
8027
8028
8029
8030
8031
8032
8033
8034
8035
8036
8037
8038
8039
8040
8041
8042
8043
8044
8045
8046
8047
8048
8049
8050
8051
8052
8053
8054
8055
8056
8057
8058
8059
8060
8061
8062
8063
8064
8065
8066
8067
8068
8069
8070
8071
8072
8073
8074
8075
8076
8077
8078
8079
8080
8081
8082
8083
8084
8085
8086
8087
8088
8089
8090
8091
8092
8093
8094
8095
8096
8097
8098
8099
8100
8101
8102
8103
8104
8105
8106
8107
8108
8109
8110
8111
8112
8113
8114
8115
8116
8117
8118
8119
8120
8121
8122
8123
8124
8125
8126
8127
8128
8129
8130
8131
8132
8133
8134
8135
8136
8137
8138
8139
8140
8141
8142
8143
8144
8145
8146
8147
8148
8149
8150
8151
8152
8153
8154
8155
8156
8157
8158
8159
8160
8161
8162
8163
8164
8165
8166
8167
8168
8169
8170
8171
8172
8173
8174
8175
8176
8177
8178
8179
8180
8181
8182
8183
8184
8185
8186
8187
8188
8189
8190
8191
8192
8193
8194
8195
8196
8197
8198
8199
8200
8201
8202
8203
8204
8205
8206
8207
8208
8209
8210
8211
8212
8213
8214
8215
8216
8217
8218
8219
8220
8221
8222
8223
8224
8225
8226
8227
8228
8229
8230
8231
8232
8233
8234
8235
8236
8237
8238
8239
8240
8241
8242
8243
8244
8245
8246
8247
8248
8249
8250
8251
8252
8253
8254
8255
8256
8257
8258
8259
8260
8261
8262
8263
8264
8265
8266
8267
8268
8269
8270
8271
8272
8273
8274
8275
8276
8277
8278
8279
8280
8281
8282
8283
8284
8285
8286
8287
8288
8289
8290
8291
8292
8293
8294
8295
8296
8297
8298
8299
8300
8301
8302
8303
8304
8305
8306
8307
8308
8309
8310
8311
8312
8313
8314
8315
8316
8317
8318
8319
8320
8321
8322
8323
8324
8325
8326
8327
8328
8329
8330
8331
8332
8333
8334
8335
8336
8337
8338
8339
8340
8341
8342
8343
8344
8345
8346
8347
8348
8349
8350
8351
8352
8353
8354
8355
8356
8357
8358
8359
8360
8361
8362
8363
8364
8365
8366
8367
8368
8369
8370
8371
8372
8373
8374
8375
8376
8377
8378
8379
8380
8381
8382
8383
8384
8385
8386
8387
8388
8389
8390
8391
8392
8393
8394
8395
8396
8397
8398
8399
8400
8401
8402
8403
8404
8405
8406
8407
8408
8409
8410
8411
8412
8413
8414
8415
8416
8417
8418
8419
8420
8421
8422
8423
8424
8425
8426
8427
8428
8429
8430
8431
8432
8433
8434
8435
8436
8437
8438
8439
8440
8441
8442
8443
8444
8445
8446
8447
8448
8449
8450
8451
8452
8453
8454
8455
8456
8457
8458
8459
8460
8461
8462
8463
8464
8465
8466
8467
8468
8469
8470
8471
8472
8473
8474
8475
8476
8477
8478
8479
8480
8481
8482
8483
8484
8485
8486
8487
8488
8489
8490
8491
8492
8493
8494
8495
8496
8497
8498
8499
8500
8501
8502
8503
8504
8505
8506
8507
8508
8509
8510
8511
8512
8513
8514
8515
8516
8517
8518
8519
8520
8521
8522
8523
8524
8525
8526
8527
8528
8529
8530
8531
8532
8533
8534
8535
8536
8537
8538
8539
8540
8541
8542
8543
8544
8545
8546
8547
8548
8549
8550
8551
8552
8553
8554
8555
8556
8557
8558
8559
8560
8561
8562
8563
8564
8565
8566
8567
8568
8569
8570
8571
8572
8573
8574
8575
8576
8577
8578
8579
8580
8581
8582
8583
8584
8585
8586
8587
8588
8589
8590
8591
8592
8593
8594
8595
8596
8597
8598
8599
8600
8601
8602
8603
8604
8605
8606
8607
8608
8609
8610
8611
8612
8613
8614
8615
8616
8617
8618
8619
8620
8621
8622
8623
8624
8625
8626
8627
8628
8629
8630
8631
8632
8633
8634
8635
8636
8637
8638
8639
8640
8641
8642
8643
8644
8645
8646
8647
8648
8649
8650
8651
8652
8653
8654
8655
8656
8657
8658
8659
8660
8661
8662
8663
8664
8665
8666
8667
8668
8669
8670
8671
8672
8673
8674
8675
8676
8677
8678
8679
8680
8681
8682
8683
8684
8685
8686
8687
8688
8689
8690
8691
8692
8693
8694
8695
8696
8697
8698
8699
8700
8701
8702
8703
8704
8705
8706
8707
8708
8709
8710
8711
8712
8713
8714
8715
8716
8717
8718
8719
8720
8721
8722
8723
8724
8725
8726
8727
8728
8729
8730
8731
8732
8733
8734
8735
8736
8737
8738
8739
8740
8741
8742
8743
8744
8745
8746
8747
8748
8749
8750
8751
8752
8753
8754
8755
8756
8757
8758
8759
8760
8761
8762
8763
8764
8765
8766
8767
8768
8769
8770
8771
8772
8773
8774
8775
8776
8777
8778
8779
8780
8781
8782
8783
8784
8785
8786
8787
8788
8789
8790
8791
8792
8793
8794
8795
8796
8797
8798
8799
8800
8801
8802
8803
8804
8805
8806
8807
8808
8809
8810
8811
8812
8813
8814
8815
8816
8817
8818
8819
8820
8821
8822
8823
8824
8825
8826
8827
8828
8829
8830
8831
8832
8833
8834
8835
8836
8837
8838
8839
8840
8841
8842
8843
8844
8845
8846
8847
8848
8849
8850
8851
8852
8853
8854
8855
8856
8857
8858
8859
8860
8861
8862
8863
8864
8865
8866
8867
8868
8869
8870
8871
8872
8873
8874
8875
8876
8877
8878
8879
8880
8881
8882
8883
8884
8885
8886
8887
8888
8889
8890
8891
8892
8893
8894
8895
8896
8897
8898
8899
8900
8901
8902
8903
8904
8905
8906
8907
8908
8909
8910
8911
8912
8913
8914
8915
8916
8917
8918
8919
8920
8921
8922
8923
8924
8925
8926
8927
8928
8929
8930
8931
8932
8933
8934
8935
8936
8937
8938
8939
8940
8941
8942
8943
8944
8945
8946
8947
8948
8949
8950
8951
8952
8953
8954
8955
8956
8957
8958
8959
8960
8961
8962
8963
8964
8965
8966
8967
8968
8969
8970
8971
8972
8973
8974
8975
8976
8977
8978
8979
8980
8981
8982
8983
8984
8985
8986
8987
8988
8989
8990
8991
8992
8993
8994
8995
8996
8997
8998
8999
9000
9001
9002
9003
9004
9005
9006
9007
9008
9009
9010
9011
9012
9013
9014
9015
9016
9017
9018
9019
9020
9021
9022
9023
9024
9025
9026
9027
9028
9029
9030
9031
9032
9033
9034
9035
9036
9037
9038
9039
9040
9041
9042
9043
9044
9045
9046
9047
9048
9049
9050
9051
9052
9053
9054
9055
9056
9057
9058
9059
9060
9061
9062
9063
9064
9065
9066
9067
9068
9069
9070
9071
9072
9073
9074
9075
9076
9077
9078
9079
9080
9081
9082
9083
9084
9085
9086
9087
9088
9089
9090
9091
9092
9093
9094
9095
9096
9097
9098
9099
9100
9101
9102
9103
9104
9105
9106
9107
9108
9109
9110
9111
9112
9113
9114
9115
9116
9117
9118
9119
9120
9121
9122
9123
9124
9125
9126
9127
9128
9129
9130
9131
9132
9133
9134
9135
9136
9137
9138
9139
9140
9141
9142
9143
9144
9145
9146
9147
9148
9149
9150
9151
9152
9153
9154
9155
9156
9157
9158
9159
9160
9161
9162
9163
9164
9165
9166
9167
9168
9169
9170
9171
9172
9173
9174
9175
9176
9177
9178
9179
9180
9181
9182
9183
9184
9185
9186
9187
9188
9189
9190
9191
9192
9193
9194
9195
9196
9197
9198
9199
9200
9201
9202
9203
9204
9205
9206
9207
9208
9209
9210
9211
9212
9213
9214
9215
9216
9217
9218
9219
9220
9221
9222
9223
9224
9225
9226
9227
9228
9229
9230
9231
9232
9233
9234
9235
9236
9237
9238
9239
9240
9241
9242
9243
9244
9245
9246
9247
9248
9249
9250
9251
9252
9253
9254
9255
9256
9257
9258
9259
9260
9261
9262
9263
9264
9265
9266
9267
9268
9269
9270
9271
9272
9273
9274
9275
9276
9277
9278
9279
9280
9281
9282
9283
9284
9285
9286
9287
9288
9289
9290
9291
9292
9293
9294
9295
9296
9297
9298
9299
9300
9301
9302
9303
9304
9305
9306
9307
9308
9309
9310
9311
9312
9313
9314
9315
9316
9317
9318
9319
9320
9321
9322
9323
9324
9325
9326
9327
9328
9329
9330
9331
9332
9333
9334
9335
9336
9337
9338
9339
9340
9341
9342
9343
9344
9345
9346
9347
9348
9349
9350
9351
9352
9353
9354
9355
9356
9357
9358
9359
9360
9361
9362
9363
9364
9365
9366
9367
9368
9369
9370
9371
9372
9373
9374
9375
9376
9377
9378
9379
9380
9381
9382
9383
9384
9385
9386
9387
9388
9389
9390
9391
9392
9393
9394
9395
9396
9397
9398
9399
9400
9401
9402
9403
9404
9405
9406
9407
9408
9409
9410
9411
9412
9413
9414
9415
9416
9417
9418
9419
9420
9421
9422
9423
9424
9425
9426
9427
9428
9429
9430
9431
9432
9433
9434
9435
9436
9437
9438
9439
9440
9441
9442
9443
9444
9445
9446
9447
9448
9449
9450
9451
9452
9453
9454
9455
9456
9457
9458
9459
9460
9461
9462
9463
9464
9465
9466
9467
9468
9469
9470
9471
9472
9473
9474
9475
9476
9477
9478
9479
9480
9481
9482
9483
9484
9485
9486
9487
9488
9489
9490
9491
9492
9493
9494
9495
9496
9497
9498
9499
9500
9501
9502
9503
9504
9505
9506
9507
9508
9509
9510
9511
9512
9513
9514
9515
9516
9517
9518
9519
9520
9521
9522
9523
9524
9525
9526
9527
9528
9529
9530
9531
9532
9533
9534
9535
9536
9537
9538
9539
9540
9541
9542
9543
9544
9545
9546
9547
9548
9549
9550
9551
9552
9553
9554
9555
9556
9557
9558
9559
9560
9561
9562
9563
9564
9565
9566
9567
9568
9569
9570
9571
9572
9573
9574
9575
9576
9577
9578
9579
9580
9581
9582
9583
9584
9585
9586
9587
9588
9589
9590
9591
9592
9593
9594
9595
9596
9597
9598
9599
9600
9601
9602
9603
9604
9605
9606
9607
9608
9609
9610
9611
9612
9613
9614
9615
9616
9617
9618
9619
9620
9621
9622
9623
9624
9625
9626
9627
9628
9629
9630
9631
9632
9633
9634
9635
9636
9637
9638
9639
9640
9641
9642
9643
9644
9645
9646
9647
9648
9649
9650
9651
9652
9653
9654
9655
9656
9657
9658
9659
9660
9661
9662
9663
9664
9665
9666
9667
9668
9669
9670
9671
9672
9673
9674
9675
9676
9677
9678
9679
9680
9681
9682
9683
9684
9685
9686
9687
9688
9689
9690
9691
9692
9693
9694
9695
9696
9697
9698
9699
9700
9701
9702
9703
9704
9705
9706
9707
9708
9709
9710
9711
9712
9713
9714
9715
9716
9717
9718
9719
9720
9721
9722
9723
9724
9725
9726
9727
9728
9729
9730
9731
9732
9733
9734
9735
9736
9737
9738
9739
9740
9741
9742
9743
9744
9745
9746
9747
9748
9749
9750
9751
9752
9753
9754
9755
9756
9757
9758
9759
9760
9761
9762
9763
9764
9765
9766
9767
9768
9769
9770
9771
9772
9773
9774
9775
9776
9777
9778
9779
9780
9781
9782
9783
9784
9785
9786
9787
9788
9789
9790
9791
9792
9793
9794
9795
9796
9797
9798
9799
9800
9801
9802
9803
9804
9805
9806
9807
9808
9809
9810
9811
9812
9813
9814
9815
9816
9817
9818
9819
9820
9821
9822
9823
9824
9825
9826
9827
9828
9829
9830
9831
9832
9833
9834
9835
9836
9837
9838
9839
9840
9841
9842
9843
9844
9845
9846
9847
9848
9849
9850
9851
9852
9853
9854
9855
9856
9857
9858
9859
9860
9861
9862
9863
9864
9865
9866
9867
9868
9869
9870
9871
9872
9873
9874
9875
9876
9877
9878
9879
9880
9881
9882
9883
9884
9885
9886
9887
9888
9889
9890
9891
9892
9893
9894
9895
9896
9897
9898
9899
9900
9901
9902
9903
9904
9905
9906
9907
9908
9909
9910
9911
9912
9913
9914
9915
9916
9917
9918
9919
9920
9921
9922
9923
9924
9925
9926
9927
9928
9929
9930
9931
9932
9933
9934
9935
9936
9937
9938
9939
9940
9941
9942
9943
9944
9945
9946
9947
9948
9949
9950
9951
9952
9953
9954
9955
9956
9957
9958
9959
9960
9961
9962
9963
9964
9965
9966
9967
9968
9969
9970
9971
9972
9973
9974
9975
9976
9977
9978
9979
9980
9981
9982
9983
9984
9985
9986
9987
9988
9989
9990
9991
9992
9993
9994
9995
9996
9997
9998
9999
10000
10001
10002
10003
10004
10005
10006
10007
10008
10009
10010
10011
10012
10013
10014
10015
10016
10017
10018
10019
10020
10021
10022
10023
10024
10025
10026
10027
10028
10029
10030
10031
10032
10033
10034
10035
10036
10037
10038
10039
10040
10041
10042
10043
10044
10045
10046
10047
10048
10049
10050
10051
10052
10053
10054
10055
10056
10057
10058
10059
10060
10061
10062
10063
10064
10065
10066
10067
10068
10069
10070
10071
10072
10073
10074
10075
10076
10077
10078
10079
10080
10081
10082
10083
10084
10085
10086
10087
10088
10089
10090
10091
10092
10093
10094
10095
10096
10097
10098
10099
10100
10101
10102
10103
10104
10105
10106
10107
10108
10109
10110
10111
10112
10113
10114
10115
10116
10117
10118
10119
10120
10121
10122
10123
10124
10125
10126
10127
10128
10129
10130
10131
10132
10133
10134
10135
10136
10137
10138
10139
10140
10141
10142
10143
10144
10145
10146
10147
10148
10149
10150
10151
10152
10153
10154
10155
10156
10157
10158
10159
10160
10161
10162
10163
10164
10165
10166
10167
10168
10169
10170
10171
10172
10173
10174
10175
10176
10177
10178
10179
10180
10181
10182
10183
10184
10185
10186
10187
10188
10189
10190
10191
10192
10193
10194
10195
10196
10197
10198
10199
10200
10201
10202
10203
10204
10205
10206
10207
10208
10209
10210
10211
10212
10213
10214
10215
10216
10217
10218
10219
10220
10221
10222
10223
10224
10225
10226
10227
10228
10229
10230
10231
10232
10233
10234
10235
10236
10237
10238
10239
10240
10241
10242
10243
10244
10245
10246
10247
10248
10249
10250
10251
10252
10253
10254
10255
10256
10257
10258
10259
10260
10261
10262
10263
10264
10265
10266
10267
10268
10269
10270
10271
10272
10273
10274
10275
10276
10277
10278
10279
10280
10281
10282
10283
10284
10285
10286
10287
10288
10289
10290
10291
10292
10293
10294
10295
10296
10297
10298
10299
10300
10301
10302
10303
10304
10305
10306
10307
10308
10309
10310
10311
10312
10313
10314
10315
10316
10317
10318
10319
10320
10321
10322
10323
10324
10325
10326
10327
10328
10329
10330
10331
10332
10333
10334
10335
10336
10337
10338
10339
10340
10341
10342
10343
10344
10345
10346
10347
10348
10349
10350
10351
10352
10353
10354
10355
10356
10357
10358
10359
10360
10361
10362
10363
10364
10365
10366
10367
10368
10369
10370
10371
10372
10373
10374
10375
10376
10377
10378
10379
10380
10381
10382
10383
10384
10385
10386
10387
10388
10389
10390
10391
10392
10393
10394
10395
10396
10397
10398
10399
10400
10401
10402
10403
10404
10405
10406
10407
10408
10409
10410
10411
10412
10413
10414
10415
10416
10417
10418
10419
10420
10421
10422
10423
10424
10425
10426
10427
10428
10429
10430
10431
10432
10433
10434
10435
10436
10437
10438
10439
10440
10441
10442
10443
10444
10445
10446
10447
10448
10449
10450
10451
10452
10453
10454
10455
10456
10457
10458
10459
10460
10461
10462
10463
10464
10465
10466
10467
10468
10469
10470
10471
10472
10473
10474
10475
10476
10477
10478
10479
10480
10481
10482
10483
10484
10485
10486
10487
10488
10489
10490
10491
10492
10493
10494
10495
10496
10497
10498
10499
10500
10501
10502
10503
10504
10505
10506
10507
10508
10509
10510
10511
10512
10513
10514
10515
10516
10517
10518
10519
10520
10521
10522
10523
10524
10525
10526
10527
10528
10529
10530
10531
10532
10533
10534
10535
10536
10537
10538
10539
10540
10541
10542
10543
10544
10545
10546
10547
10548
10549
10550
10551
10552
10553
10554
10555
10556
10557
10558
10559
10560
10561
10562
10563
10564
10565
10566
10567
10568
10569
10570
10571
10572
10573
10574
10575
10576
10577
10578
10579
10580
10581
10582
10583
10584
10585
10586
10587
10588
10589
10590
10591
10592
10593
10594
10595
10596
10597
10598
10599
10600
10601
10602
10603
10604
10605
10606
10607
10608
10609
10610
10611
10612
10613
10614
10615
10616
10617
10618
10619
10620
10621
10622
10623
10624
10625
10626
10627
10628
10629
10630
10631
10632
10633
10634
10635
10636
10637
10638
10639
10640
10641
10642
10643
10644
10645
10646
10647
10648
10649
10650
10651
10652
10653
10654
10655
10656
10657
10658
10659
10660
10661
10662
10663
10664
10665
10666
10667
10668
10669
10670
10671
10672
10673
10674
10675
10676
10677
10678
10679
10680
10681
10682
10683
10684
10685
10686
10687
10688
10689
10690
10691
10692
10693
10694
10695
10696
10697
10698
10699
10700
10701
10702
10703
10704
10705
10706
10707
10708
10709
10710
10711
10712
10713
10714
10715
10716
10717
10718
10719
10720
10721
10722
10723
10724
10725
10726
10727
10728
10729
10730
10731
10732
10733
10734
10735
10736
10737
10738
10739
10740
10741
10742
10743
10744
10745
10746
10747
10748
10749
10750
10751
10752
10753
10754
10755
10756
10757
10758
10759
10760
10761
10762
10763
10764
10765
10766
10767
10768
10769
10770
10771
10772
10773
10774
10775
10776
10777
10778
10779
10780
10781
10782
10783
10784
10785
10786
10787
10788
10789
10790
10791
10792
10793
10794
10795
10796
10797
10798
10799
10800
10801
10802
10803
10804
10805
10806
10807
10808
10809
10810
10811
10812
10813
10814
10815
10816
10817
10818
10819
10820
10821
10822
10823
10824
10825
10826
10827
10828
10829
10830
10831
10832
10833
10834
10835
10836
10837
10838
10839
10840
10841
10842
10843
10844
10845
10846
10847
10848
10849
10850
10851
10852
10853
10854
10855
10856
10857
10858
10859
10860
10861
10862
10863
10864
10865
10866
10867
10868
10869
10870
10871
10872
10873
10874
10875
10876
10877
10878
10879
10880
10881
10882
10883
10884
10885
10886
10887
10888
10889
10890
10891
10892
10893
10894
10895
10896
10897
10898
10899
10900
10901
10902
10903
10904
10905
10906
10907
10908
10909
10910
10911
10912
10913
10914
10915
10916
10917
10918
10919
10920
10921
10922
10923
10924
10925
10926
10927
10928
10929
10930
10931
10932
10933
10934
10935
10936
10937
10938
10939
10940
10941
10942
10943
10944
10945
10946
10947
10948
10949
10950
10951
10952
10953
10954
10955
10956
10957
10958
10959
10960
10961
10962
10963
10964
10965
10966
10967
10968
10969
10970
10971
10972
10973
10974
10975
10976
10977
10978
10979
10980
10981
10982
10983
10984
10985
10986
10987
10988
10989
10990
10991
10992
10993
10994
10995
10996
10997
10998
10999
11000
11001
11002
11003
11004
11005
11006
11007
11008
11009
11010
11011
11012
11013
11014
11015
11016
11017
11018
11019
11020
11021
11022
11023
11024
11025
11026
11027
11028
11029
11030
11031
11032
11033
11034
11035
11036
11037
11038
11039
11040
11041
11042
11043
11044
11045
11046
11047
11048
11049
11050
11051
11052
11053
11054
11055
11056
11057
11058
11059
11060
11061
11062
11063
11064
11065
11066
11067
11068
11069
11070
11071
11072
11073
11074
11075
11076
11077
11078
11079
11080
11081
11082
11083
11084
11085
11086
11087
11088
11089
11090
11091
11092
11093
11094
11095
11096
11097
11098
11099
11100
11101
11102
11103
11104
11105
11106
11107
11108
11109
11110
11111
11112
11113
11114
11115
11116
11117
11118
11119
11120
11121
11122
11123
11124
11125
11126
11127
11128
11129
11130
11131
11132
11133
11134
11135
11136
11137
11138
11139
11140
11141
11142
11143
11144
11145
11146
11147
11148
11149
11150
11151
11152
11153
11154
11155
11156
11157
11158
11159
11160
11161
11162
11163
11164
11165
11166
11167
11168
11169
11170
11171
11172
11173
11174
11175
11176
11177
11178
11179
11180
11181
11182
11183
11184
11185
11186
11187
11188
11189
11190
11191
11192
11193
11194
11195
11196
11197
11198
11199
11200
11201
11202
11203
11204
11205
11206
11207
11208
11209
11210
11211
11212
11213
11214
11215
11216
11217
11218
11219
11220
11221
11222
11223
11224
11225
11226
11227
11228
11229
11230
11231
11232
11233
11234
11235
11236
11237
11238
11239
11240
11241
11242
11243
11244
11245
11246
11247
11248
11249
11250
11251
11252
11253
11254
11255
11256
11257
11258
11259
11260
11261
11262
11263
11264
11265
11266
11267
11268
11269
11270
11271
11272
11273
11274
11275
11276
11277
11278
11279
11280
11281
11282
11283
11284
11285
11286
11287
11288
11289
11290
11291
11292
11293
11294
11295
11296
11297
11298
11299
11300
11301
11302
11303
11304
11305
11306
11307
11308
11309
11310
11311
11312
11313
11314
11315
11316
11317
11318
11319
11320
11321
11322
11323
11324
11325
11326
11327
11328
11329
11330
11331
11332
11333
11334
11335
11336
11337
11338
11339
11340
11341
11342
11343
11344
11345
11346
11347
11348
11349
11350
11351
11352
11353
11354
11355
11356
11357
11358
11359
11360
11361
11362
11363
11364
11365
11366
11367
11368
11369
11370
11371
11372
11373
11374
11375
11376
11377
11378
11379
11380
11381
11382
11383
11384
11385
11386
11387
11388
11389
11390
11391
11392
11393
11394
11395
11396
11397
11398
11399
11400
11401
11402
11403
11404
11405
11406
11407
11408
11409
11410
11411
11412
11413
11414
11415
11416
11417
11418
11419
11420
11421
11422
11423
11424
11425
11426
11427
11428
11429
11430
11431
11432
11433
11434
11435
11436
11437
11438
11439
11440
11441
11442
11443
11444
11445
11446
11447
11448
11449
11450
11451
11452
11453
11454
11455
11456
11457
11458
11459
11460
11461
11462
11463
11464
11465
11466
11467
11468
11469
11470
11471
11472
11473
11474
11475
11476
11477
11478
11479
11480
11481
11482
11483
11484
11485
11486
11487
11488
11489
11490
11491
11492
11493
11494
11495
11496
11497
11498
11499
11500
11501
11502
11503
11504
11505
11506
11507
11508
11509
11510
11511
11512
11513
11514
11515
11516
11517
11518
11519
11520
11521
11522
11523
11524
11525
11526
11527
11528
11529
11530
11531
11532
11533
11534
11535
11536
11537
11538
11539
11540
11541
11542
11543
11544
11545
11546
11547
11548
11549
11550
11551
11552
11553
11554
11555
11556
11557
11558
11559
11560
11561
11562
11563
11564
11565
11566
11567
11568
11569
11570
11571
11572
11573
11574
11575
11576
11577
11578
11579
11580
11581
11582
11583
11584
11585
11586
11587
11588
11589
11590
11591
11592
11593
11594
11595
11596
11597
11598
11599
11600
11601
11602
11603
11604
11605
11606
11607
11608
11609
11610
11611
11612
11613
11614
11615
11616
11617
11618
11619
11620
11621
11622
11623
11624
11625
11626
11627
11628
11629
11630
11631
11632
11633
11634
11635
11636
11637
11638
11639
11640
11641
11642
11643
11644
11645
11646
11647
11648
11649
11650
11651
11652
11653
11654
11655
11656
11657
11658
11659
11660
11661
11662
11663
11664
11665
11666
11667
11668
11669
11670
11671
11672
11673
11674
11675
11676
11677
11678
11679
11680
11681
11682
11683
11684
11685
11686
11687
11688
11689
11690
11691
11692
11693
11694
11695
11696
11697
11698
11699
11700
11701
11702
11703
11704
11705
11706
11707
11708
11709
11710
11711
11712
11713
11714
11715
11716
11717
11718
11719
11720
11721
11722
11723
11724
11725
11726
11727
11728
11729
11730
11731
11732
11733
11734
11735
11736
11737
11738
11739
11740
11741
11742
11743
11744
11745
11746
11747
11748
11749
11750
11751
11752
11753
11754
11755
11756
11757
11758
11759
11760
11761
11762
11763
11764
11765
11766
11767
11768
11769
11770
11771
11772
11773
11774
11775
11776
11777
11778
11779
11780
11781
11782
11783
11784
11785
11786
11787
11788
11789
11790
11791
11792
11793
11794
11795
11796
11797
11798
11799
11800
11801
11802
11803
11804
11805
11806
11807
11808
11809
11810
11811
11812
11813
11814
11815
11816
11817
11818
11819
11820
11821
11822
11823
11824
11825
11826
11827
11828
11829
11830
11831
11832
11833
11834
11835
11836
11837
11838
11839
11840
11841
11842
11843
11844
11845
11846
11847
11848
11849
11850
11851
11852
11853
11854
11855
11856
11857
11858
11859
11860
11861
11862
11863
11864
11865
11866
11867
11868
11869
11870
11871
11872
11873
11874
11875
11876
11877
11878
11879
11880
11881
11882
11883
11884
11885
11886
11887
11888
11889
11890
11891
11892
11893
11894
11895
11896
11897
11898
11899
11900
11901
11902
11903
11904
11905
11906
11907
11908
11909
11910
11911
11912
11913
11914
11915
11916
11917
11918
11919
11920
11921
11922
11923
11924
11925
11926
11927
11928
11929
11930
11931
11932
11933
11934
11935
11936
11937
11938
11939
11940
11941
11942
11943
11944
11945
11946
11947
11948
11949
11950
11951
11952
11953
11954
11955
11956
11957
11958
11959
11960
11961
11962
11963
11964
11965
11966
11967
11968
11969
11970
11971
11972
11973
11974
11975
11976
11977
11978
11979
11980
11981
11982
11983
11984
11985
11986
11987
11988
11989
11990
11991
11992
11993
11994
11995
11996
11997
11998
11999
12000
12001
12002
12003
12004
12005
12006
12007
12008
12009
12010
12011
12012
12013
12014
12015
12016
12017
12018
12019
12020
12021
12022
12023
12024
12025
12026
12027
12028
12029
12030
12031
12032
12033
12034
12035
12036
12037
12038
12039
12040
12041
12042
12043
12044
12045
12046
12047
12048
12049
12050
12051
12052
12053
12054
12055
12056
12057
12058
12059
12060
12061
12062
12063
12064
12065
12066
12067
12068
12069
12070
12071
12072
12073
12074
12075
12076
12077
12078
12079
12080
12081
12082
12083
12084
12085
12086
12087
12088
12089
12090
12091
12092
12093
12094
12095
12096
12097
12098
12099
12100
12101
12102
12103
12104
12105
12106
12107
12108
12109
12110
12111
12112
12113
12114
12115
12116
12117
12118
12119
12120
12121
12122
12123
12124
12125
12126
12127
12128
12129
12130
12131
12132
12133
12134
12135
12136
12137
12138
12139
12140
12141
12142
12143
12144
12145
12146
12147
12148
12149
12150
12151
12152
12153
12154
12155
12156
12157
12158
12159
12160
12161
12162
12163
12164
12165
12166
12167
12168
12169
12170
12171
12172
12173
12174
12175
12176
12177
12178
12179
12180
12181
12182
12183
12184
12185
12186
12187
12188
12189
12190
12191
12192
12193
12194
12195
12196
12197
12198
12199
12200
12201
12202
12203
12204
12205
12206
12207
12208
12209
12210
12211
12212
12213
12214
12215
12216
12217
12218
12219
12220
12221
12222
12223
12224
12225
12226
12227
12228
12229
12230
12231
12232
12233
12234
12235
12236
12237
12238
12239
12240
12241
12242
12243
12244
12245
12246
12247
12248
12249
12250
12251
12252
12253
12254
12255
12256
12257
12258
12259
12260
12261
12262
12263
12264
12265
12266
12267
12268
12269
12270
12271
12272
12273
12274
12275
12276
12277
12278
12279
12280
12281
12282
12283
12284
12285
12286
12287
12288
12289
12290
12291
12292
12293
12294
12295
12296
12297
12298
12299
12300
12301
12302
12303
12304
12305
12306
12307
12308
12309
12310
12311
12312
12313
12314
12315
12316
12317
12318
12319
12320
12321
12322
12323
12324
12325
12326
12327
12328
12329
12330
12331
12332
12333
12334
12335
12336
12337
12338
12339
12340
12341
12342
12343
12344
12345
12346
12347
12348
12349
12350
12351
12352
12353
12354
12355
12356
12357
12358
12359
12360
12361
12362
12363
12364
12365
12366
12367
12368
12369
12370
12371
12372
12373
12374
12375
12376
12377
12378
12379
12380
12381
12382
12383
12384
12385
12386
12387
12388
12389
12390
12391
12392
12393
12394
12395
12396
12397
12398
12399
12400
12401
12402
12403
12404
12405
12406
12407
12408
12409
12410
12411
12412
12413
12414
12415
12416
12417
12418
12419
12420
12421
12422
12423
12424
12425
12426
12427
12428
12429
12430
12431
12432
12433
12434
12435
12436
12437
12438
12439
12440
12441
12442
12443
12444
12445
12446
12447
12448
12449
12450
12451
12452
12453
12454
12455
12456
12457
12458
12459
12460
12461
12462
12463
12464
12465
12466
12467
12468
12469
12470
12471
12472
12473
12474
12475
12476
12477
12478
12479
12480
12481
12482
12483
12484
12485
12486
12487
12488
12489
12490
12491
12492
12493
12494
12495
12496
12497
12498
12499
12500
12501
12502
12503
12504
12505
12506
12507
12508
12509
12510
12511
12512
12513
12514
12515
12516
12517
12518
12519
12520
12521
12522
12523
12524
12525
12526
12527
12528
12529
12530
12531
12532
12533
12534
12535
12536
12537
12538
12539
12540
12541
12542
12543
12544
12545
12546
12547
12548
12549
12550
12551
12552
12553
12554
12555
12556
12557
12558
12559
12560
12561
12562
12563
12564
12565
12566
12567
12568
12569
12570
12571
12572
12573
12574
12575
12576
12577
12578
12579
12580
12581
12582
12583
12584
12585
12586
12587
12588
12589
12590
12591
12592
12593
12594
12595
12596
12597
12598
12599
12600
12601
12602
12603
12604
12605
12606
12607
12608
12609
12610
12611
12612
12613
12614
12615
12616
12617
12618
12619
12620
12621
12622
12623
12624
12625
12626
12627
12628
12629
12630
12631
12632
12633
12634
12635
12636
12637
12638
12639
12640
12641
12642
12643
12644
12645
12646
12647
12648
12649
12650
12651
12652
12653
12654
12655
12656
12657
12658
12659
12660
12661
12662
12663
12664
12665
12666
12667
12668
12669
12670
12671
12672
12673
12674
12675
12676
12677
12678
12679
12680
12681
12682
12683
12684
12685
12686
12687
12688
12689
12690
12691
12692
12693
12694
12695
12696
12697
12698
12699
12700
12701
12702
12703
12704
12705
12706
12707
12708
12709
12710
12711
12712
12713
12714
12715
12716
12717
12718
12719
12720
12721
12722
12723
12724
12725
12726
12727
12728
12729
12730
12731
12732
12733
12734
12735
12736
12737
12738
12739
12740
12741
12742
12743
12744
12745
12746
12747
12748
12749
12750
12751
12752
12753
12754
12755
12756
12757
12758
12759
12760
12761
12762
12763
12764
12765
12766
12767
12768
12769
12770
12771
12772
12773
12774
12775
12776
12777
12778
12779
12780
12781
12782
12783
12784
12785
12786
12787
12788
12789
12790
12791
12792
12793
12794
12795
12796
12797
12798
12799
12800
12801
12802
12803
12804
12805
12806
12807
12808
12809
12810
12811
12812
12813
12814
12815
12816
12817
12818
12819
12820
12821
12822
12823
12824
12825
12826
12827
12828
12829
12830
12831
12832
12833
12834
12835
12836
12837
12838
12839
12840
12841
12842
12843
12844
12845
12846
12847
12848
12849
12850
12851
12852
12853
12854
12855
12856
12857
12858
12859
12860
12861
12862
12863
12864
12865
12866
12867
12868
12869
12870
12871
12872
12873
12874
12875
12876
12877
12878
12879
12880
12881
12882
12883
12884
12885
12886
12887
12888
12889
12890
12891
12892
12893
12894
12895
12896
12897
12898
12899
12900
12901
12902
12903
12904
12905
12906
12907
12908
12909
12910
12911
12912
12913
12914
12915
12916
12917
12918
12919
12920
12921
12922
12923
12924
12925
12926
12927
12928
12929
12930
12931
12932
12933
12934
12935
12936
12937
12938
12939
12940
12941
12942
12943
12944
12945
12946
12947
12948
12949
12950
12951
12952
12953
12954
12955
12956
12957
12958
12959
12960
12961
12962
12963
12964
12965
12966
12967
12968
12969
12970
12971
12972
12973
12974
12975
12976
12977
12978
12979
12980
12981
12982
12983
12984
12985
12986
12987
12988
12989
12990
12991
12992
12993
12994
12995
12996
12997
12998
12999
13000
13001
13002
13003
13004
13005
13006
13007
13008
13009
13010
13011
13012
13013
13014
13015
13016
13017
13018
13019
13020
13021
13022
13023
13024
13025
13026
13027
13028
13029
13030
13031
13032
13033
13034
13035
13036
13037
13038
13039
13040
13041
13042
13043
13044
13045
13046
13047
13048
13049
13050
13051
13052
13053
13054
13055
13056
13057
13058
13059
13060
13061
13062
13063
13064
13065
13066
13067
13068
13069
13070
13071
13072
13073
13074
13075
13076
13077
13078
13079
13080
13081
13082
13083
13084
13085
13086
13087
13088
13089
13090
13091
13092
13093
13094
13095
13096
13097
13098
13099
13100
13101
13102
13103
13104
13105
13106
13107
13108
13109
13110
13111
13112
13113
13114
13115
13116
13117
13118
13119
13120
13121
13122
13123
13124
13125
13126
13127
13128
13129
13130
13131
13132
13133
13134
13135
13136
13137
13138
13139
13140
13141
13142
13143
13144
13145
13146
13147
13148
13149
13150
13151
13152
13153
13154
13155
13156
13157
13158
13159
13160
13161
13162
13163
13164
13165
13166
13167
13168
13169
13170
13171
13172
13173
13174
13175
13176
13177
13178
13179
13180
13181
13182
13183
13184
13185
13186
13187
13188
13189
13190
13191
13192
13193
13194
13195
13196
13197
13198
13199
13200
13201
13202
13203
13204
13205
13206
13207
13208
13209
13210
13211
13212
13213
13214
13215
13216
13217
13218
13219
13220
13221
13222
13223
13224
13225
13226
13227
13228
13229
13230
13231
13232
13233
13234
13235
13236
13237
13238
13239
13240
13241
13242
13243
13244
13245
13246
13247
13248
13249
13250
13251
13252
13253
13254
13255
13256
13257
13258
13259
13260
13261
13262
13263
13264
13265
13266
13267
13268
13269
13270
13271
13272
13273
13274
13275
13276
13277
13278
13279
13280
13281
13282
13283
13284
13285
13286
13287
13288
13289
13290
13291
13292
13293
13294
13295
13296
13297
13298
13299
13300
13301
13302
13303
13304
13305
13306
13307
13308
13309
13310
13311
13312
13313
13314
13315
13316
13317
13318
13319
13320
13321
13322
13323
13324
13325
13326
13327
13328
13329
13330
13331
13332
13333
13334
13335
13336
13337
13338
13339
13340
13341
13342
13343
13344
13345
13346
13347
13348
13349
13350
13351
13352
13353
13354
13355
13356
13357
13358
13359
13360
13361
13362
13363
13364
13365
13366
13367
13368
13369
13370
13371
13372
13373
13374
13375
13376
13377
13378
13379
13380
13381
13382
13383
13384
13385
13386
13387
13388
13389
13390
13391
13392
13393
13394
13395
13396
13397
13398
13399
13400
13401
13402
13403
13404
13405
13406
13407
13408
13409
13410
13411
13412
13413
13414
13415
13416
13417
13418
13419
13420
13421
13422
13423
13424
13425
13426
13427
13428
13429
13430
13431
13432
13433
13434
13435
13436
13437
13438
13439
13440
13441
13442
13443
13444
13445
13446
13447
13448
13449
13450
13451
13452
13453
13454
13455
13456
13457
13458
13459
13460
13461
13462
13463
13464
13465
13466
13467
13468
13469
13470
13471
13472
13473
13474
13475
13476
13477
13478
13479
13480
13481
13482
13483
13484
13485
13486
13487
13488
13489
13490
13491
13492
13493
13494
13495
13496
13497
13498
13499
13500
13501
13502
13503
13504
13505
13506
13507
13508
13509
13510
13511
13512
13513
13514
13515
13516
13517
13518
13519
13520
13521
13522
13523
13524
13525
13526
13527
13528
13529
13530
13531
13532
13533
13534
13535
13536
13537
13538
13539
13540
13541
13542
13543
13544
13545
13546
13547
13548
13549
13550
13551
13552
13553
13554
13555
13556
13557
13558
13559
13560
13561
13562
13563
13564
13565
13566
13567
13568
13569
13570
13571
13572
13573
13574
13575
13576
13577
13578
13579
13580
13581
13582
13583
13584
13585
13586
13587
13588
13589
13590
13591
13592
13593
13594
13595
13596
13597
13598
13599
13600
13601
13602
13603
13604
13605
13606
13607
13608
13609
13610
13611
13612
13613
13614
13615
13616
13617
13618
13619
13620
13621
13622
13623
13624
13625
13626
13627
13628
13629
13630
13631
13632
13633
13634
13635
13636
13637
13638
13639
13640
13641
13642
13643
13644
13645
13646
13647
13648
13649
13650
13651
13652
13653
13654
13655
13656
13657
13658
13659
13660
13661
13662
13663
13664
13665
13666
13667
13668
13669
13670
13671
13672
13673
13674
13675
13676
13677
13678
13679
13680
13681
13682
13683
13684
13685
13686
13687
13688
13689
13690
13691
13692
13693
13694
13695
13696
13697
13698
13699
13700
13701
13702
13703
13704
13705
13706
13707
13708
13709
13710
13711
13712
13713
13714
13715
13716
13717
13718
13719
13720
13721
13722
13723
13724
13725
13726
13727
13728
13729
13730
13731
13732
13733
13734
13735
13736
13737
13738
13739
13740
13741
13742
13743
13744
13745
13746
13747
13748
13749
13750
13751
13752
13753
13754
13755
13756
13757
13758
13759
13760
13761
13762
13763
13764
13765
13766
13767
13768
13769
13770
13771
13772
13773
13774
13775
13776
13777
13778
13779
13780
13781
13782
13783
13784
13785
13786
13787
13788
13789
13790
13791
13792
13793
13794
13795
13796
13797
13798
13799
13800
13801
13802
13803
13804
13805
13806
13807
13808
13809
13810
13811
13812
13813
13814
13815
13816
13817
13818
13819
13820
13821
13822
13823
13824
13825
13826
13827
13828
13829
13830
13831
13832
13833
13834
13835
13836
13837
13838
13839
13840
13841
13842
13843
13844
13845
13846
13847
13848
13849
13850
13851
13852
13853
13854
13855
13856
13857
13858
13859
13860
13861
13862
13863
13864
13865
13866
13867
13868
13869
13870
13871
13872
13873
13874
13875
13876
13877
13878
13879
13880
13881
13882
13883
13884
13885
13886
13887
13888
13889
13890
13891
13892
13893
13894
13895
13896
13897
13898
13899
13900
13901
13902
13903
13904
13905
13906
13907
13908
13909
13910
13911
13912
13913
13914
13915
13916
13917
13918
13919
13920
13921
13922
13923
13924
13925
13926
13927
13928
13929
13930
13931
13932
13933
13934
13935
13936
13937
13938
13939
13940
13941
13942
13943
13944
13945
13946
13947
13948
13949
13950
13951
13952
13953
13954
13955
13956
13957
13958
13959
13960
13961
13962
13963
13964
13965
13966
13967
13968
13969
13970
13971
13972
13973
13974
13975
13976
13977
13978
13979
13980
13981
13982
13983
13984
13985
13986
13987
13988
13989
13990
13991
13992
13993
13994
13995
13996
13997
13998
13999
14000
14001
14002
14003
14004
14005
14006
14007
14008
14009
14010
14011
14012
14013
14014
14015
14016
14017
14018
14019
14020
14021
14022
14023
14024
14025
14026
14027
14028
14029
14030
14031
14032
14033
14034
14035
14036
14037
14038
14039
14040
14041
14042
14043
14044
14045
14046
14047
14048
14049
14050
14051
14052
14053
14054
14055
14056
14057
14058
14059
14060
14061
14062
14063
14064
14065
14066
14067
14068
14069
14070
14071
14072
14073
14074
14075
14076
14077
14078
14079
14080
14081
14082
14083
14084
14085
14086
14087
14088
14089
14090
14091
14092
14093
14094
14095
14096
14097
14098
14099
14100
14101
14102
14103
14104
14105
14106
14107
14108
14109
14110
14111
14112
14113
14114
14115
14116
14117
14118
14119
14120
14121
14122
14123
14124
14125
14126
14127
14128
14129
14130
14131
14132
14133
14134
14135
14136
14137
14138
14139
14140
14141
14142
14143
14144
14145
14146
14147
14148
14149
14150
14151
14152
14153
14154
14155
14156
14157
14158
14159
14160
14161
14162
14163
14164
14165
14166
14167
14168
14169
14170
14171
14172
14173
14174
14175
14176
14177
14178
14179
14180
14181
14182
14183
14184
14185
14186
14187
14188
14189
14190
14191
14192
14193
14194
14195
14196
14197
14198
14199
14200
14201
14202
14203
14204
14205
14206
14207
14208
14209
14210
14211
14212
14213
14214
14215
14216
14217
14218
14219
14220
14221
14222
14223
14224
14225
14226
14227
14228
14229
14230
14231
14232
14233
14234
14235
14236
14237
14238
14239
14240
14241
14242
14243
14244
14245
14246
14247
14248
14249
14250
14251
14252
14253
14254
14255
14256
14257
14258
14259
14260
14261
14262
14263
14264
14265
14266
14267
14268
14269
14270
14271
14272
14273
14274
14275
14276
14277
14278
14279
14280
14281
14282
14283
14284
14285
14286
14287
14288
14289
14290
14291
14292
14293
14294
14295
14296
14297
14298
14299
14300
14301
14302
14303
14304
14305
14306
14307
14308
14309
14310
14311
14312
14313
14314
14315
14316
14317
14318
14319
14320
14321
14322
14323
14324
14325
14326
14327
14328
14329
14330
14331
14332
14333
14334
14335
14336
14337
14338
14339
14340
14341
14342
14343
14344
14345
14346
14347
14348
14349
14350
14351
14352
14353
14354
14355
14356
14357
14358
14359
14360
14361
14362
14363
14364
14365
14366
14367
14368
14369
14370
14371
14372
14373
14374
14375
14376
14377
14378
14379
14380
14381
14382
14383
14384
14385
14386
14387
14388
14389
14390
14391
14392
14393
14394
14395
14396
14397
14398
14399
14400
14401
14402
14403
14404
14405
14406
14407
14408
14409
14410
14411
14412
14413
14414
14415
14416
14417
14418
14419
14420
14421
14422
14423
14424
14425
14426
14427
14428
14429
14430
14431
14432
14433
14434
14435
14436
14437
14438
14439
14440
14441
14442
14443
14444
14445
14446
14447
14448
14449
14450
14451
14452
14453
14454
14455
14456
14457
14458
14459
14460
14461
14462
14463
14464
14465
14466
14467
14468
14469
14470
14471
14472
14473
14474
14475
14476
14477
14478
14479
14480
14481
14482
14483
14484
14485
14486
14487
14488
14489
14490
14491
14492
14493
14494
14495
14496
14497
14498
14499
14500
14501
14502
14503
14504
14505
14506
14507
14508
14509
14510
14511
14512
14513
14514
14515
14516
14517
14518
14519
14520
14521
14522
14523
14524
14525
14526
14527
14528
14529
14530
14531
14532
14533
14534
14535
14536
14537
14538
14539
14540
14541
14542
14543
14544
14545
14546
14547
14548
14549
14550
14551
14552
14553
14554
14555
14556
14557
14558
14559
14560
14561
14562
14563
14564
14565
14566
14567
14568
14569
14570
14571
14572
14573
14574
14575
14576
14577
14578
14579
14580
14581
14582
14583
14584
14585
14586
14587
14588
14589
14590
14591
14592
14593
14594
14595
14596
14597
14598
14599
14600
14601
14602
14603
14604
14605
14606
14607
14608
14609
14610
14611
14612
14613
14614
14615
14616
14617
14618
14619
14620
14621
14622
14623
14624
14625
14626
14627
14628
14629
14630
14631
14632
14633
14634
14635
14636
14637
14638
14639
14640
14641
14642
14643
14644
14645
14646
14647
14648
14649
14650
14651
14652
14653
14654
14655
14656
14657
14658
14659
14660
14661
14662
14663
14664
14665
14666
14667
14668
14669
14670
14671
14672
14673
14674
14675
14676
14677
14678
14679
14680
14681
14682
14683
14684
14685
14686
14687
14688
14689
14690
14691
14692
14693
14694
14695
14696
14697
14698
14699
14700
14701
14702
14703
14704
14705
14706
14707
14708
14709
14710
14711
14712
14713
14714
14715
14716
14717
14718
14719
14720
14721
14722
14723
14724
14725
14726
14727
14728
14729
14730
14731
14732
14733
14734
14735
14736
14737
14738
14739
14740
14741
14742
14743
14744
14745
14746
14747
14748
14749
14750
14751
14752
14753
14754
14755
14756
14757
14758
14759
14760
14761
14762
14763
14764
14765
14766
14767
14768
14769
14770
14771
14772
14773
14774
14775
14776
14777
14778
14779
14780
14781
14782
14783
14784
14785
14786
14787
14788
14789
14790
14791
14792
14793
14794
14795
14796
14797
14798
14799
14800
14801
14802
14803
14804
14805
14806
14807
14808
14809
14810
14811
14812
14813
14814
14815
14816
14817
14818
14819
14820
14821
14822
14823
14824
14825
14826
14827
14828
14829
14830
14831
14832
14833
14834
14835
14836
14837
14838
14839
14840
14841
14842
14843
14844
14845
14846
14847
14848
14849
14850
14851
14852
14853
14854
14855
14856
14857
14858
14859
14860
14861
14862
14863
14864
14865
14866
14867
14868
14869
14870
14871
14872
14873
14874
14875
14876
14877
14878
14879
14880
14881
14882
14883
14884
14885
14886
14887
14888
14889
14890
14891
14892
14893
14894
14895
14896
14897
14898
14899
14900
14901
14902
14903
14904
14905
14906
14907
14908
14909
14910
14911
14912
14913
14914
14915
14916
14917
14918
14919
14920
14921
14922
14923
14924
14925
14926
14927
14928
14929
14930
14931
14932
14933
14934
14935
14936
14937
14938
14939
14940
14941
14942
14943
14944
14945
14946
14947
14948
14949
14950
14951
14952
14953
14954
14955
14956
14957
14958
14959
14960
14961
14962
14963
14964
14965
14966
14967
14968
14969
14970
14971
14972
14973
14974
14975
14976
14977
14978
14979
14980
14981
14982
14983
14984
14985
14986
14987
14988
14989
14990
14991
14992
14993
14994
14995
14996
14997
14998
14999
15000
15001
15002
15003
15004
15005
15006
15007
15008
15009
15010
15011
15012
15013
15014
15015
15016
15017
15018
15019
15020
15021
15022
15023
15024
15025
15026
15027
15028
15029
15030
15031
15032
15033
15034
15035
15036
15037
15038
15039
15040
15041
15042
15043
15044
15045
15046
15047
15048
15049
15050
15051
15052
15053
15054
15055
15056
15057
15058
15059
15060
15061
15062
15063
15064
15065
15066
15067
15068
15069
15070
15071
15072
15073
15074
15075
15076
15077
15078
15079
15080
15081
15082
15083
15084
15085
15086
15087
15088
15089
15090
15091
15092
15093
15094
15095
15096
15097
15098
15099
15100
15101
15102
15103
15104
15105
15106
15107
15108
15109
15110
15111
15112
15113
15114
15115
15116
15117
15118
15119
15120
15121
15122
15123
15124
15125
15126
15127
15128
15129
15130
15131
15132
15133
15134
15135
15136
15137
15138
15139
15140
15141
15142
15143
15144
15145
15146
15147
15148
15149
15150
15151
15152
15153
15154
15155
15156
15157
15158
15159
15160
15161
15162
15163
15164
15165
15166
15167
15168
15169
15170
15171
15172
15173
15174
15175
15176
15177
15178
15179
15180
15181
15182
15183
15184
15185
15186
15187
15188
15189
15190
15191
15192
15193
15194
15195
15196
15197
15198
15199
15200
15201
15202
15203
15204
15205
15206
15207
15208
15209
15210
15211
15212
15213
15214
15215
15216
15217
15218
15219
15220
15221
15222
15223
15224
15225
15226
15227
15228
15229
15230
15231
15232
15233
15234
15235
15236
15237
15238
15239
15240
15241
15242
15243
15244
15245
15246
15247
15248
15249
15250
15251
15252
15253
15254
15255
15256
15257
15258
15259
15260
15261
15262
15263
15264
15265
15266
15267
15268
15269
15270
15271
15272
15273
15274
15275
15276
15277
15278
15279
15280
15281
15282
15283
15284
15285
15286
15287
15288
15289
15290
15291
15292
15293
15294
15295
15296
15297
15298
15299
15300
15301
15302
15303
15304
15305
15306
15307
15308
15309
15310
15311
15312
15313
15314
15315
15316
15317
15318
15319
15320
15321
15322
15323
15324
15325
15326
15327
15328
15329
15330
15331
15332
15333
15334
15335
15336
15337
15338
15339
15340
15341
15342
15343
15344
15345
15346
15347
15348
15349
15350
15351
15352
15353
15354
15355
15356
15357
15358
15359
15360
15361
15362
15363
15364
15365
15366
15367
15368
15369
15370
15371
15372
15373
15374
15375
15376
15377
15378
15379
15380
15381
15382
15383
15384
15385
15386
15387
15388
15389
15390
15391
15392
15393
15394
15395
15396
15397
15398
15399
15400
15401
15402
15403
15404
15405
15406
15407
15408
15409
15410
15411
15412
15413
15414
15415
15416
15417
15418
15419
15420
15421
15422
15423
15424
15425
15426
15427
15428
15429
15430
15431
15432
15433
15434
15435
15436
15437
15438
15439
15440
15441
15442
15443
15444
15445
15446
15447
15448
15449
15450
15451
15452
15453
15454
15455
15456
15457
15458
15459
15460
15461
15462
15463
15464
15465
15466
15467
15468
15469
15470
15471
15472
15473
15474
15475
15476
15477
15478
15479
15480
15481
15482
15483
15484
15485
15486
15487
15488
15489
15490
15491
15492
15493
15494
15495
15496
15497
15498
15499
15500
15501
15502
15503
15504
15505
15506
15507
15508
15509
15510
15511
15512
15513
15514
15515
15516
15517
15518
15519
15520
15521
15522
15523
15524
15525
15526
15527
15528
15529
15530
15531
15532
15533
15534
15535
15536
15537
15538
15539
15540
15541
15542
15543
15544
15545
15546
15547
15548
15549
15550
15551
15552
15553
15554
15555
15556
15557
15558
15559
15560
15561
15562
15563
15564
15565
15566
15567
15568
15569
15570
15571
15572
15573
15574
15575
15576
15577
15578
15579
15580
15581
15582
15583
15584
15585
15586
15587
15588
15589
15590
15591
15592
15593
15594
15595
15596
15597
15598
15599
15600
15601
15602
15603
15604
15605
15606
15607
15608
15609
15610
15611
15612
15613
15614
15615
15616
15617
15618
15619
15620
15621
15622
15623
15624
15625
15626
15627
15628
15629
15630
15631
15632
15633
15634
15635
15636
15637
15638
15639
15640
15641
15642
15643
15644
15645
15646
15647
15648
15649
15650
15651
15652
15653
15654
15655
15656
15657
15658
15659
15660
15661
15662
15663
15664
15665
15666
15667
15668
15669
15670
15671
15672
15673
15674
15675
15676
15677
15678
15679
15680
15681
15682
15683
15684
15685
15686
15687
15688
15689
15690
15691
15692
15693
15694
15695
15696
15697
15698
15699
15700
15701
15702
15703
15704
15705
15706
15707
15708
15709
15710
15711
15712
15713
15714
15715
15716
15717
15718
15719
15720
15721
15722
15723
15724
15725
15726
15727
15728
15729
15730
15731
15732
15733
15734
15735
15736
15737
15738
15739
15740
15741
15742
15743
15744
15745
15746
15747
15748
15749
15750
15751
15752
15753
15754
15755
15756
15757
15758
15759
15760
15761
15762
15763
15764
15765
15766
15767
15768
15769
15770
15771
15772
15773
15774
15775
15776
15777
15778
15779
15780
15781
15782
15783
15784
15785
15786
15787
15788
15789
15790
15791
15792
15793
15794
15795
15796
15797
15798
15799
15800
15801
15802
15803
15804
15805
15806
15807
15808
15809
15810
15811
15812
15813
15814
15815
15816
15817
15818
15819
15820
15821
15822
15823
15824
15825
15826
15827
15828
15829
15830
15831
15832
15833
15834
15835
15836
15837
15838
15839
15840
15841
15842
15843
15844
15845
15846
15847
15848
15849
15850
15851
15852
15853
15854
15855
15856
15857
15858
15859
15860
15861
15862
15863
15864
15865
15866
15867
15868
15869
15870
15871
15872
15873
15874
15875
15876
15877
15878
15879
15880
15881
15882
15883
15884
15885
15886
15887
15888
15889
15890
15891
15892
15893
15894
15895
15896
15897
15898
15899
15900
15901
15902
15903
15904
15905
15906
15907
15908
15909
15910
15911
15912
15913
15914
15915
15916
15917
15918
15919
15920
15921
15922
15923
15924
15925
15926
15927
15928
15929
15930
15931
15932
15933
15934
15935
15936
15937
15938
15939
15940
15941
15942
15943
15944
15945
15946
15947
15948
15949
15950
15951
15952
15953
15954
15955
15956
15957
15958
15959
15960
15961
15962
15963
15964
15965
15966
15967
15968
15969
15970
15971
15972
15973
15974
15975
15976
15977
15978
15979
15980
15981
15982
15983
15984
15985
15986
15987
15988
15989
15990
15991
15992
15993
15994
15995
15996
15997
15998
15999
16000
16001
16002
16003
16004
16005
16006
16007
16008
16009
16010
16011
16012
16013
16014
16015
16016
16017
16018
16019
16020
16021
16022
16023
16024
16025
16026
16027
16028
16029
16030
16031
16032
16033
16034
16035
16036
16037
16038
16039
16040
16041
16042
16043
16044
16045
16046
16047
16048
16049
16050
16051
16052
16053
16054
16055
16056
16057
16058
16059
16060
16061
16062
16063
16064
16065
16066
16067
16068
16069
16070
16071
16072
16073
16074
16075
16076
16077
16078
16079
16080
16081
16082
16083
16084
16085
16086
16087
16088
16089
16090
16091
16092
16093
16094
16095
16096
16097
16098
16099
16100
16101
16102
16103
16104
16105
16106
16107
16108
16109
16110
16111
16112
16113
16114
16115
16116
16117
16118
16119
16120
16121
16122
16123
16124
16125
16126
16127
16128
16129
16130
16131
16132
16133
16134
16135
16136
16137
16138
16139
16140
16141
16142
16143
16144
16145
16146
16147
16148
16149
16150
16151
16152
16153
16154
16155
16156
16157
16158
16159
16160
16161
16162
16163
16164
16165
16166
16167
16168
16169
16170
16171
16172
16173
16174
16175
16176
16177
16178
16179
16180
16181
16182
16183
16184
16185
16186
16187
16188
16189
16190
16191
16192
16193
16194
16195
16196
16197
16198
16199
16200
16201
16202
16203
16204
16205
16206
16207
16208
16209
16210
16211
16212
16213
16214
16215
16216
16217
16218
16219
16220
16221
16222
16223
16224
16225
16226
16227
16228
16229
16230
16231
16232
16233
16234
16235
16236
16237
16238
16239
16240
16241
16242
16243
16244
16245
16246
16247
16248
16249
16250
16251
16252
16253
16254
16255
16256
16257
16258
16259
16260
16261
16262
16263
16264
16265
16266
16267
16268
16269
16270
16271
16272
16273
16274
16275
16276
16277
16278
16279
16280
16281
16282
16283
16284
16285
16286
16287
16288
16289
16290
16291
16292
16293
16294
16295
16296
16297
16298
16299
16300
16301
16302
16303
16304
16305
16306
16307
16308
16309
16310
16311
16312
16313
16314
16315
16316
16317
16318
16319
16320
16321
16322
16323
16324
16325
16326
16327
16328
16329
16330
16331
16332
16333
16334
16335
16336
16337
16338
16339
16340
16341
16342
16343
16344
16345
16346
16347
16348
16349
16350
16351
16352
16353
16354
16355
16356
16357
16358
16359
16360
16361
16362
16363
16364
16365
16366
16367
16368
16369
16370
16371
16372
16373
16374
16375
16376
16377
16378
16379
16380
16381
16382
16383
16384
16385
16386
16387
16388
16389
16390
16391
16392
16393
16394
16395
16396
16397
16398
16399
16400
16401
16402
16403
16404
16405
16406
16407
16408
16409
16410
16411
16412
16413
16414
16415
16416
16417
16418
16419
16420
16421
16422
16423
16424
16425
16426
16427
16428
16429
16430
16431
16432
16433
16434
16435
16436
16437
16438
16439
16440
16441
16442
16443
16444
16445
16446
16447
16448
16449
16450
16451
16452
16453
16454
16455
16456
16457
16458
16459
16460
16461
16462
16463
16464
16465
16466
16467
16468
16469
16470
16471
16472
16473
16474
16475
16476
16477
16478
16479
16480
16481
16482
16483
16484
16485
16486
16487
16488
16489
16490
16491
16492
16493
16494
16495
16496
16497
16498
16499
16500
16501
16502
16503
16504
16505
16506
16507
16508
16509
16510
16511
16512
16513
16514
16515
16516
16517
16518
16519
16520
16521
16522
16523
16524
16525
16526
16527
16528
16529
16530
16531
16532
16533
16534
16535
16536
16537
16538
16539
16540
16541
16542
16543
16544
16545
16546
16547
16548
16549
16550
16551
16552
16553
16554
16555
16556
16557
16558
16559
16560
16561
16562
16563
16564
16565
16566
16567
16568
16569
16570
16571
16572
16573
16574
16575
16576
16577
16578
16579
16580
16581
16582
16583
16584
16585
16586
16587
16588
16589
16590
16591
16592
16593
16594
16595
16596
16597
16598
16599
16600
16601
16602
16603
16604
16605
16606
16607
16608
16609
16610
16611
16612
16613
16614
16615
16616
16617
16618
16619
16620
16621
16622
16623
16624
16625
16626
16627
16628
16629
16630
16631
16632
16633
16634
16635
16636
16637
16638
16639
16640
16641
16642
16643
16644
16645
16646
16647
16648
16649
16650
16651
16652
16653
16654
16655
16656
16657
16658
16659
16660
16661
16662
16663
16664
16665
16666
16667
16668
16669
16670
16671
16672
16673
16674
16675
16676
16677
16678
16679
16680
16681
16682
16683
16684
16685
16686
16687
16688
16689
16690
16691
16692
16693
16694
16695
16696
16697
16698
16699
16700
16701
16702
16703
16704
16705
16706
16707
16708
16709
16710
16711
16712
16713
16714
16715
16716
16717
16718
16719
16720
16721
16722
16723
16724
16725
16726
16727
16728
16729
16730
16731
16732
16733
16734
16735
16736
16737
16738
16739
16740
16741
16742
16743
16744
16745
16746
16747
16748
16749
16750
16751
16752
16753
16754
16755
16756
16757
16758
16759
16760
16761
16762
16763
16764
16765
16766
16767
16768
16769
16770
16771
16772
16773
16774
16775
16776
16777
16778
16779
16780
16781
16782
16783
16784
16785
16786
16787
16788
16789
16790
16791
16792
16793
16794
16795
16796
16797
16798
16799
16800
16801
16802
16803
16804
16805
16806
16807
16808
16809
16810
16811
16812
16813
16814
16815
16816
16817
16818
16819
16820
16821
16822
16823
16824
16825
16826
16827
16828
16829
16830
16831
16832
16833
16834
16835
16836
16837
16838
16839
16840
16841
16842
16843
16844
16845
16846
16847
16848
16849
16850
16851
16852
16853
16854
16855
16856
16857
16858
16859
16860
16861
16862
16863
16864
16865
16866
16867
16868
16869
16870
16871
16872
16873
16874
16875
16876
16877
16878
16879
16880
16881
16882
16883
16884
16885
16886
16887
16888
16889
16890
16891
16892
16893
16894
16895
16896
16897
16898
16899
16900
16901
16902
16903
16904
16905
16906
16907
16908
16909
16910
16911
16912
16913
16914
16915
16916
16917
16918
16919
16920
16921
16922
16923
16924
16925
16926
16927
16928
16929
16930
16931
16932
16933
16934
16935
16936
16937
16938
16939
16940
16941
16942
16943
16944
16945
16946
16947
16948
16949
16950
16951
16952
16953
16954
16955
16956
16957
16958
16959
16960
16961
16962
16963
16964
16965
16966
16967
16968
16969
16970
16971
16972
16973
16974
16975
16976
16977
16978
16979
16980
16981
16982
16983
16984
16985
16986
16987
16988
16989
16990
16991
16992
16993
16994
16995
16996
16997
16998
16999
17000
17001
17002
17003
17004
17005
17006
17007
17008
17009
17010
17011
17012
17013
17014
17015
17016
17017
17018
17019
17020
17021
17022
17023
17024
17025
17026
17027
17028
17029
17030
17031
17032
17033
17034
17035
17036
17037
17038
17039
17040
17041
17042
17043
17044
17045
17046
17047
17048
17049
17050
17051
17052
17053
17054
17055
17056
17057
17058
17059
17060
17061
17062
17063
17064
17065
17066
17067
17068
17069
17070
17071
17072
17073
17074
17075
17076
17077
17078
17079
17080
17081
17082
17083
17084
17085
17086
17087
17088
17089
17090
17091
17092
17093
17094
17095
17096
17097
17098
17099
17100
17101
17102
17103
17104
17105
17106
17107
17108
17109
17110
17111
17112
17113
17114
17115
17116
17117
17118
17119
17120
17121
17122
17123
17124
17125
17126
17127
17128
17129
17130
17131
17132
17133
17134
17135
17136
17137
17138
17139
17140
17141
17142
17143
17144
17145
17146
17147
17148
17149
17150
17151
17152
17153
17154
17155
17156
17157
17158
17159
17160
17161
17162
17163
17164
17165
17166
17167
17168
17169
17170
17171
17172
17173
17174
17175
17176
17177
17178
17179
17180
17181
17182
17183
17184
17185
17186
17187
17188
17189
17190
17191
17192
17193
17194
17195
17196
17197
17198
17199
17200
17201
17202
17203
17204
17205
17206
17207
17208
17209
17210
17211
17212
17213
17214
17215
17216
17217
17218
17219
17220
17221
17222
17223
17224
17225
17226
17227
17228
17229
17230
17231
17232
17233
17234
17235
17236
17237
17238
17239
17240
17241
17242
17243
17244
17245
17246
17247
17248
17249
17250
17251
17252
17253
17254
17255
17256
17257
17258
17259
17260
17261
17262
17263
17264
17265
17266
17267
17268
17269
17270
17271
17272
17273
17274
17275
17276
17277
17278
17279
17280
17281
17282
17283
17284
17285
17286
17287
17288
17289
17290
17291
17292
17293
17294
17295
17296
17297
17298
17299
17300
17301
17302
17303
17304
17305
17306
17307
17308
17309
17310
17311
17312
17313
17314
17315
17316
17317
17318
17319
17320
17321
17322
17323
17324
17325
17326
17327
17328
17329
17330
17331
17332
17333
17334
17335
17336
17337
17338
17339
17340
17341
17342
17343
17344
17345
17346
17347
17348
17349
17350
17351
17352
17353
17354
17355
17356
17357
17358
17359
17360
17361
17362
17363
17364
17365
17366
17367
17368
17369
17370
17371
17372
17373
17374
17375
17376
17377
17378
17379
17380
17381
17382
17383
17384
17385
17386
17387
17388
17389
17390
17391
17392
17393
17394
17395
17396
17397
17398
17399
17400
17401
17402
17403
17404
17405
17406
17407
17408
17409
17410
17411
17412
17413
17414
17415
17416
17417
17418
17419
17420
17421
17422
17423
17424
17425
17426
17427
17428
17429
17430
17431
17432
17433
17434
17435
17436
17437
17438
17439
17440
17441
17442
17443
17444
17445
17446
17447
17448
17449
17450
17451
17452
17453
17454
17455
17456
17457
17458
17459
17460
17461
17462
17463
17464
17465
17466
17467
17468
17469
17470
17471
17472
17473
17474
17475
17476
17477
17478
17479
17480
17481
17482
17483
17484
17485
17486
17487
17488
17489
17490
17491
17492
17493
17494
17495
17496
17497
17498
17499
17500
17501
17502
17503
17504
17505
17506
17507
17508
17509
17510
17511
17512
17513
17514
17515
17516
17517
17518
17519
17520
17521
17522
17523
17524
17525
17526
17527
17528
17529
17530
17531
17532
17533
17534
17535
17536
17537
17538
17539
17540
17541
17542
17543
17544
17545
17546
17547
17548
17549
17550
17551
17552
17553
17554
17555
17556
17557
17558
17559
17560
17561
17562
17563
17564
17565
17566
17567
17568
17569
17570
17571
17572
17573
17574
17575
17576
17577
17578
17579
17580
17581
17582
17583
17584
17585
17586
17587
17588
17589
17590
17591
17592
17593
17594
17595
17596
17597
17598
17599
17600
17601
17602
17603
17604
17605
17606
17607
17608
17609
17610
17611
17612
17613
17614
17615
17616
17617
17618
17619
17620
17621
17622
17623
17624
17625
17626
17627
17628
17629
17630
17631
17632
17633
17634
17635
17636
17637
17638
17639
17640
17641
17642
17643
17644
17645
17646
17647
17648
17649
17650
17651
17652
17653
17654
17655
17656
17657
17658
17659
17660
17661
17662
17663
17664
17665
17666
17667
17668
17669
17670
17671
17672
17673
17674
17675
17676
17677
17678
17679
17680
17681
17682
17683
17684
17685
17686
17687
17688
17689
17690
17691
17692
17693
17694
17695
17696
17697
17698
17699
17700
17701
17702
17703
17704
17705
17706
17707
17708
17709
17710
17711
17712
17713
17714
17715
17716
17717
17718
17719
17720
17721
17722
17723
17724
17725
17726
17727
17728
17729
17730
17731
17732
17733
17734
17735
17736
17737
17738
17739
17740
17741
17742
17743
17744
17745
17746
17747
17748
17749
17750
17751
17752
17753
17754
17755
17756
17757
17758
17759
17760
17761
17762
17763
17764
17765
17766
17767
17768
17769
17770
17771
17772
17773
17774
17775
17776
17777
17778
17779
17780
17781
17782
17783
17784
17785
17786
17787
17788
17789
17790
17791
17792
17793
17794
17795
17796
17797
17798
17799
17800
17801
17802
17803
17804
17805
17806
17807
17808
17809
17810
17811
17812
17813
17814
17815
17816
17817
17818
17819
17820
17821
17822
17823
17824
17825
17826
17827
17828
17829
17830
17831
17832
17833
17834
17835
17836
17837
17838
17839
17840
17841
17842
17843
17844
17845
17846
17847
17848
17849
17850
17851
17852
17853
17854
17855
17856
17857
17858
17859
17860
17861
17862
17863
17864
17865
17866
17867
17868
17869
17870
17871
17872
17873
17874
17875
17876
17877
17878
17879
17880
17881
17882
17883
17884
17885
17886
17887
17888
17889
17890
17891
17892
17893
17894
17895
17896
17897
17898
17899
17900
17901
17902
17903
17904
17905
17906
17907
17908
17909
17910
17911
17912
17913
17914
17915
17916
17917
17918
17919
17920
17921
17922
17923
17924
17925
17926
17927
17928
17929
17930
17931
17932
17933
17934
17935
17936
17937
17938
17939
17940
17941
17942
17943
17944
17945
17946
17947
17948
17949
17950
17951
17952
17953
17954
17955
17956
17957
17958
17959
17960
17961
17962
17963
17964
17965
17966
17967
17968
17969
17970
17971
17972
17973
17974
17975
17976
17977
17978
17979
17980
17981
17982
17983
17984
17985
17986
17987
17988
17989
17990
17991
17992
17993
17994
17995
17996
17997
17998
17999
18000
18001
18002
18003
18004
18005
18006
18007
18008
18009
18010
18011
18012
18013
18014
18015
18016
18017
18018
18019
18020
18021
18022
18023
18024
18025
18026
18027
18028
18029
18030
18031
18032
18033
18034
18035
18036
18037
18038
18039
18040
18041
18042
18043
18044
18045
18046
18047
18048
18049
18050
18051
18052
18053
18054
18055
18056
18057
18058
18059
18060
18061
18062
18063
18064
18065
18066
18067
18068
18069
18070
18071
18072
18073
18074
18075
18076
18077
18078
18079
18080
18081
18082
18083
18084
18085
18086
18087
18088
18089
18090
18091
18092
18093
18094
18095
18096
18097
18098
18099
18100
18101
18102
18103
18104
18105
18106
18107
18108
18109
18110
18111
18112
18113
18114
18115
18116
18117
18118
18119
18120
18121
18122
18123
18124
18125
18126
18127
18128
18129
18130
18131
18132
18133
18134
18135
18136
18137
18138
18139
18140
18141
18142
18143
18144
18145
18146
18147
18148
18149
18150
18151
18152
18153
18154
18155
18156
18157
18158
18159
18160
18161
18162
18163
18164
18165
18166
18167
18168
18169
18170
18171
18172
18173
18174
18175
18176
18177
18178
18179
18180
18181
18182
18183
18184
18185
18186
18187
18188
18189
18190
18191
18192
18193
18194
18195
18196
18197
18198
18199
18200
18201
18202
18203
18204
18205
18206
18207
18208
18209
18210
18211
18212
18213
18214
18215
18216
18217
18218
18219
18220
18221
18222
18223
18224
18225
18226
18227
18228
18229
18230
18231
18232
18233
18234
18235
18236
18237
18238
18239
18240
18241
18242
18243
18244
18245
18246
18247
18248
18249
18250
18251
18252
18253
18254
18255
18256
18257
18258
18259
18260
18261
18262
18263
18264
18265
18266
18267
18268
18269
18270
18271
18272
18273
18274
18275
18276
18277
18278
18279
18280
18281
18282
18283
18284
18285
18286
18287
18288
18289
18290
18291
18292
18293
18294
18295
18296
18297
18298
18299
18300
18301
18302
18303
18304
18305
18306
18307
18308
18309
18310
18311
18312
18313
18314
18315
18316
18317
18318
18319
18320
18321
18322
18323
18324
18325
18326
18327
18328
18329
18330
18331
18332
18333
18334
18335
18336
18337
18338
18339
18340
18341
18342
18343
18344
18345
18346
18347
18348
18349
18350
18351
18352
18353
18354
18355
18356
18357
18358
18359
18360
18361
18362
18363
18364
18365
18366
18367
18368
18369
18370
18371
18372
18373
18374
18375
18376
18377
18378
18379
18380
18381
18382
18383
18384
18385
18386
18387
18388
18389
18390
18391
18392
18393
18394
18395
18396
18397
18398
18399
18400
18401
18402
18403
18404
18405
18406
18407
18408
18409
18410
18411
18412
18413
18414
18415
18416
18417
18418
18419
18420
18421
18422
18423
18424
18425
18426
18427
18428
18429
18430
18431
18432
18433
18434
18435
18436
18437
18438
18439
18440
18441
18442
18443
18444
18445
18446
18447
18448
18449
18450
18451
18452
18453
18454
18455
18456
18457
18458
18459
18460
18461
18462
18463
18464
18465
18466
18467
18468
18469
18470
18471
18472
18473
18474
18475
18476
18477
18478
18479
18480
18481
18482
18483
18484
18485
18486
18487
18488
18489
18490
18491
18492
18493
18494
18495
18496
18497
18498
18499
18500
18501
18502
18503
18504
18505
18506
18507
18508
18509
18510
18511
18512
18513
18514
18515
18516
18517
18518
18519
18520
18521
18522
18523
18524
18525
18526
18527
18528
18529
18530
18531
18532
18533
18534
18535
18536
18537
18538
18539
18540
18541
18542
18543
18544
18545
18546
18547
18548
18549
18550
18551
18552
18553
18554
18555
18556
18557
18558
18559
18560
18561
18562
18563
18564
18565
18566
18567
18568
18569
18570
18571
18572
18573
18574
18575
18576
18577
18578
18579
18580
18581
18582
18583
18584
18585
18586
18587
18588
18589
18590
18591
18592
18593
18594
18595
18596
18597
18598
18599
18600
18601
18602
18603
18604
18605
18606
18607
18608
18609
18610
18611
18612
18613
18614
18615
18616
18617
18618
18619
18620
18621
18622
18623
18624
18625
18626
18627
18628
18629
18630
18631
18632
18633
18634
18635
18636
18637
18638
18639
18640
18641
18642
18643
18644
18645
18646
18647
18648
18649
18650
18651
18652
18653
18654
18655
18656
18657
18658
18659
18660
18661
18662
18663
18664
18665
18666
18667
18668
18669
18670
18671
18672
18673
18674
18675
18676
18677
18678
18679
18680
18681
18682
18683
18684
18685
18686
18687
18688
18689
18690
18691
18692
18693
18694
18695
18696
18697
18698
18699
18700
18701
18702
18703
18704
18705
18706
18707
18708
18709
18710
18711
18712
18713
18714
18715
18716
18717
18718
18719
18720
18721
18722
18723
18724
18725
18726
18727
18728
18729
18730
18731
18732
18733
18734
18735
18736
18737
18738
18739
18740
18741
18742
18743
18744
18745
18746
18747
18748
18749
18750
18751
18752
18753
18754
18755
18756
18757
18758
18759
18760
18761
18762
18763
18764
18765
18766
18767
18768
18769
18770
18771
18772
18773
18774
18775
18776
18777
18778
18779
18780
18781
18782
18783
18784
18785
18786
18787
18788
18789
18790
18791
18792
18793
18794
18795
18796
18797
18798
18799
18800
18801
18802
18803
18804
18805
18806
18807
18808
18809
18810
18811
18812
18813
18814
18815
18816
18817
18818
18819
18820
18821
18822
18823
18824
18825
18826
18827
18828
18829
18830
18831
18832
18833
18834
18835
18836
18837
18838
18839
18840
18841
18842
18843
18844
18845
18846
18847
18848
18849
18850
18851
18852
18853
18854
18855
18856
18857
18858
18859
18860
18861
18862
18863
18864
18865
18866
18867
18868
18869
18870
18871
18872
18873
18874
18875
18876
18877
18878
18879
18880
18881
18882
18883
18884
18885
18886
18887
18888
18889
18890
18891
18892
18893
18894
18895
18896
18897
18898
18899
18900
18901
18902
18903
18904
18905
18906
18907
18908
18909
18910
18911
18912
18913
18914
18915
18916
18917
18918
18919
18920
18921
18922
18923
18924
18925
18926
18927
18928
18929
18930
18931
18932
18933
18934
18935
18936
18937
18938
18939
18940
18941
18942
18943
18944
18945
18946
18947
18948
18949
18950
18951
18952
18953
18954
18955
18956
18957
18958
18959
18960
18961
18962
18963
18964
18965
18966
18967
18968
18969
18970
18971
18972
18973
18974
18975
18976
18977
18978
18979
18980
18981
18982
18983
18984
18985
18986
18987
18988
18989
18990
18991
18992
18993
18994
18995
18996
18997
18998
18999
19000
19001
19002
19003
19004
19005
19006
19007
19008
19009
19010
19011
19012
19013
19014
19015
19016
19017
19018
19019
19020
19021
19022
19023
19024
19025
19026
19027
19028
19029
19030
19031
19032
19033
19034
19035
19036
19037
19038
19039
19040
19041
19042
19043
19044
19045
19046
19047
19048
19049
19050
19051
19052
19053
19054
19055
19056
19057
19058
19059
19060
19061
19062
19063
19064
19065
19066
19067
19068
19069
19070
19071
19072
19073
19074
19075
19076
19077
19078
19079
19080
19081
19082
19083
19084
19085
19086
19087
19088
19089
19090
19091
19092
19093
19094
19095
19096
19097
19098
19099
19100
19101
19102
19103
19104
19105
19106
19107
19108
19109
19110
19111
19112
19113
19114
19115
19116
19117
19118
19119
19120
19121
19122
19123
19124
19125
19126
19127
19128
19129
19130
19131
19132
19133
19134
19135
19136
19137
19138
19139
19140
19141
19142
19143
19144
19145
19146
19147
19148
19149
19150
19151
19152
19153
19154
19155
19156
19157
19158
19159
19160
19161
19162
19163
19164
19165
19166
19167
19168
19169
19170
19171
19172
19173
19174
19175
19176
19177
19178
19179
19180
19181
19182
19183
19184
19185
19186
19187
19188
19189
19190
19191
19192
19193
19194
19195
19196
19197
19198
19199
19200
19201
19202
19203
19204
19205
19206
19207
19208
19209
19210
19211
19212
19213
19214
19215
19216
19217
19218
19219
19220
19221
19222
19223
19224
19225
19226
19227
19228
19229
19230
19231
19232
19233
19234
19235
19236
19237
19238
19239
19240
19241
19242
19243
19244
19245
19246
19247
19248
19249
19250
19251
19252
19253
19254
19255
19256
19257
19258
19259
19260
19261
19262
19263
19264
19265
19266
19267
19268
19269
19270
19271
19272
19273
19274
19275
19276
19277
19278
19279
19280
19281
19282
19283
19284
19285
19286
19287
19288
19289
19290
19291
19292
19293
19294
19295
19296
19297
19298
19299
19300
19301
19302
19303
19304
19305
19306
19307
19308
19309
19310
19311
19312
19313
19314
19315
19316
19317
19318
19319
19320
19321
19322
19323
19324
19325
19326
19327
19328
19329
19330
19331
19332
19333
19334
19335
19336
19337
19338
19339
19340
19341
19342
19343
19344
19345
19346
19347
19348
19349
19350
19351
19352
19353
19354
19355
19356
19357
19358
19359
19360
19361
19362
19363
19364
19365
19366
19367
19368
19369
19370
19371
19372
19373
19374
19375
19376
19377
19378
19379
19380
19381
19382
19383
19384
19385
19386
19387
19388
19389
19390
19391
19392
19393
19394
19395
19396
19397
19398
19399
19400
19401
19402
19403
19404
19405
19406
19407
19408
19409
19410
19411
19412
19413
19414
19415
19416
19417
19418
19419
19420
19421
19422
19423
19424
19425
19426
19427
19428
19429
19430
19431
19432
19433
19434
19435
19436
19437
19438
19439
19440
19441
19442
19443
19444
19445
19446
19447
19448
19449
19450
19451
19452
19453
19454
19455
19456
19457
19458
19459
19460
19461
19462
19463
19464
19465
19466
19467
19468
19469
19470
19471
19472
19473
19474
19475
19476
19477
19478
19479
19480
19481
19482
19483
19484
19485
19486
19487
19488
19489
19490
19491
19492
19493
19494
19495
19496
19497
19498
19499
19500
19501
19502
19503
19504
19505
19506
19507
19508
19509
19510
19511
19512
19513
19514
19515
19516
19517
19518
19519
19520
19521
19522
19523
19524
19525
19526
19527
19528
19529
19530
19531
19532
19533
19534
19535
19536
19537
19538
19539
19540
19541
19542
19543
19544
19545
19546
19547
19548
19549
19550
19551
19552
19553
19554
19555
19556
19557
19558
19559
19560
19561
19562
19563
19564
19565
19566
19567
19568
19569
19570
19571
19572
19573
19574
19575
19576
19577
19578
19579
19580
19581
19582
19583
19584
19585
19586
19587
19588
19589
19590
19591
19592
19593
19594
19595
19596
19597
19598
19599
19600
19601
19602
19603
19604
19605
19606
19607
19608
19609
19610
19611
19612
19613
19614
19615
19616
19617
19618
19619
19620
19621
19622
19623
19624
19625
19626
19627
19628
19629
19630
19631
19632
19633
19634
19635
19636
19637
19638
19639
19640
19641
19642
19643
19644
19645
19646
19647
19648
19649
19650
19651
19652
19653
19654
19655
19656
19657
19658
19659
19660
19661
19662
19663
19664
19665
19666
19667
19668
19669
19670
19671
19672
19673
19674
19675
19676
19677
19678
19679
19680
19681
19682
19683
19684
19685
19686
19687
19688
19689
19690
19691
19692
19693
19694
19695
19696
19697
19698
19699
19700
19701
19702
19703
19704
19705
19706
19707
19708
19709
19710
19711
19712
19713
19714
19715
19716
19717
19718
19719
19720
19721
19722
19723
19724
19725
19726
19727
19728
19729
19730
19731
19732
19733
19734
19735
19736
19737
19738
19739
19740
19741
19742
19743
19744
19745
19746
19747
19748
19749
19750
19751
19752
19753
19754
19755
19756
19757
19758
19759
19760
19761
19762
19763
19764
19765
19766
19767
19768
19769
19770
19771
19772
19773
19774
19775
19776
19777
19778
19779
19780
19781
19782
19783
19784
19785
19786
19787
19788
19789
19790
19791
19792
19793
19794
19795
19796
19797
19798
19799
19800
19801
19802
19803
19804
19805
19806
19807
19808
19809
19810
19811
19812
19813
19814
19815
19816
19817
19818
19819
19820
19821
19822
19823
19824
19825
19826
19827
19828
19829
19830
19831
19832
19833
19834
19835
19836
19837
19838
19839
19840
19841
19842
19843
19844
19845
19846
19847
19848
19849
19850
19851
19852
19853
19854
19855
19856
19857
19858
19859
19860
19861
19862
19863
19864
19865
19866
19867
19868
19869
19870
19871
19872
19873
19874
19875
19876
19877
19878
19879
19880
19881
19882
19883
19884
19885
19886
19887
19888
19889
19890
19891
19892
19893
19894
19895
19896
19897
19898
19899
19900
19901
19902
19903
19904
19905
19906
19907
19908
19909
19910
19911
19912
19913
19914
19915
19916
19917
19918
19919
19920
19921
19922
19923
19924
19925
19926
19927
19928
19929
19930
19931
19932
19933
19934
19935
19936
19937
19938
19939
19940
19941
19942
19943
19944
19945
19946
19947
19948
19949
19950
19951
19952
19953
19954
19955
19956
19957
19958
19959
19960
19961
19962
19963
19964
19965
19966
19967
19968
19969
19970
19971
19972
19973
19974
19975
19976
19977
19978
19979
19980
19981
19982
19983
19984
19985
19986
19987
19988
19989
19990
19991
19992
19993
19994
19995
19996
19997
19998
19999
20000
20001
20002
20003
20004
20005
20006
20007
20008
20009
20010
20011
20012
20013
20014
20015
20016
20017
20018
20019
20020
20021
20022
20023
20024
20025
20026
20027
20028
20029
20030
20031
20032
20033
20034
20035
20036
20037
20038
20039
20040
20041
20042
20043
20044
20045
20046
20047
20048
20049
20050
20051
20052
20053
20054
20055
20056
20057
20058
20059
20060
20061
20062
20063
20064
20065
20066
20067
20068
20069
20070
20071
20072
20073
20074
20075
20076
20077
20078
20079
20080
20081
20082
20083
20084
20085
20086
20087
20088
20089
20090
20091
20092
20093
20094
20095
20096
20097
20098
20099
20100
20101
20102
20103
20104
20105
20106
20107
20108
20109
20110
20111
20112
20113
20114
20115
20116
20117
20118
20119
20120
20121
20122
20123
20124
20125
20126
20127
20128
20129
20130
20131
20132
20133
20134
20135
20136
20137
20138
20139
20140
20141
20142
20143
20144
20145
20146
20147
20148
20149
20150
20151
20152
20153
20154
20155
20156
20157
20158
20159
20160
20161
20162
20163
20164
20165
20166
20167
20168
20169
20170
20171
20172
20173
20174
20175
20176
20177
20178
20179
20180
20181
20182
20183
20184
20185
20186
20187
20188
20189
20190
20191
20192
20193
20194
20195
20196
20197
20198
20199
20200
20201
20202
20203
20204
20205
20206
20207
20208
20209
20210
20211
20212
20213
20214
20215
20216
20217
20218
20219
20220
20221
20222
20223
20224
20225
20226
20227
20228
20229
20230
20231
20232
20233
20234
20235
20236
20237
20238
20239
20240
20241
20242
20243
20244
20245
20246
20247
20248
20249
20250
20251
20252
20253
20254
20255
20256
20257
20258
20259
20260
20261
20262
20263
20264
20265
20266
20267
20268
20269
20270
20271
20272
20273
20274
20275
20276
20277
20278
20279
20280
20281
20282
20283
20284
20285
20286
20287
20288
20289
20290
20291
20292
20293
20294
20295
20296
20297
20298
20299
20300
20301
20302
20303
20304
20305
20306
20307
20308
20309
20310
20311
20312
20313
20314
20315
20316
20317
20318
20319
20320
20321
20322
20323
20324
20325
20326
20327
20328
20329
20330
20331
20332
20333
20334
20335
20336
20337
20338
20339
20340
20341
20342
20343
20344
20345
20346
20347
20348
20349
20350
20351
20352
20353
20354
20355
20356
20357
20358
20359
20360
20361
20362
20363
20364
20365
20366
20367
20368
20369
20370
20371
20372
20373
20374
20375
20376
20377
20378
20379
20380
20381
20382
20383
20384
20385
20386
20387
20388
20389
20390
20391
20392
20393
20394
20395
20396
20397
20398
20399
20400
20401
20402
20403
20404
20405
20406
20407
20408
20409
20410
20411
20412
20413
20414
20415
20416
20417
20418
20419
20420
20421
20422
20423
20424
20425
20426
20427
20428
20429
20430
20431
20432
20433
20434
20435
20436
20437
20438
20439
20440
20441
20442
20443
20444
20445
20446
20447
20448
20449
20450
20451
20452
20453
20454
20455
20456
20457
20458
20459
20460
20461
20462
20463
20464
20465
20466
20467
20468
20469
20470
20471
20472
20473
20474
20475
20476
20477
20478
20479
20480
20481
20482
20483
20484
20485
20486
20487
20488
20489
20490
20491
20492
20493
20494
20495
20496
20497
20498
20499
20500
20501
20502
20503
20504
20505
20506
20507
20508
20509
20510
20511
20512
20513
20514
20515
20516
20517
20518
20519
20520
20521
20522
20523
20524
20525
20526
20527
20528
20529
20530
20531
20532
20533
20534
20535
20536
20537
20538
20539
20540
20541
20542
20543
20544
20545
20546
20547
20548
20549
20550
20551
20552
20553
20554
20555
20556
20557
20558
20559
20560
20561
20562
20563
20564
20565
20566
20567
20568
20569
20570
20571
20572
20573
20574
20575
20576
20577
20578
20579
20580
20581
20582
20583
20584
20585
20586
20587
20588
20589
20590
20591
20592
20593
20594
20595
20596
20597
20598
20599
20600
20601
20602
20603
20604
20605
20606
20607
20608
20609
20610
20611
20612
20613
20614
20615
20616
20617
20618
20619
20620
20621
20622
20623
20624
20625
20626
20627
20628
20629
20630
20631
20632
20633
20634
20635
20636
20637
20638
20639
20640
20641
20642
20643
20644
20645
20646
20647
20648
20649
20650
20651
20652
20653
20654
20655
20656
20657
20658
20659
20660
20661
20662
20663
20664
20665
20666
20667
20668
20669
20670
20671
20672
20673
20674
20675
20676
20677
20678
20679
20680
20681
20682
20683
20684
20685
20686
20687
20688
20689
20690
20691
20692
20693
20694
20695
20696
20697
20698
20699
20700
20701
20702
20703
20704
20705
20706
20707
20708
20709
20710
20711
20712
20713
20714
20715
20716
20717
20718
20719
20720
20721
20722
20723
20724
20725
20726
20727
20728
20729
20730
20731
20732
20733
20734
20735
20736
20737
20738
20739
20740
20741
20742
20743
20744
20745
20746
20747
20748
20749
20750
20751
20752
20753
20754
20755
20756
20757
20758
20759
20760
20761
20762
20763
20764
20765
20766
20767
20768
20769
20770
20771
20772
20773
20774
20775
20776
20777
20778
20779
20780
20781
20782
20783
20784
20785
20786
20787
20788
20789
20790
20791
20792
20793
20794
20795
20796
20797
20798
20799
20800
20801
20802
20803
20804
20805
20806
20807
20808
20809
20810
20811
20812
20813
20814
20815
20816
20817
20818
20819
20820
20821
20822
20823
20824
20825
20826
20827
20828
20829
20830
20831
20832
20833
20834
20835
20836
20837
20838
20839
20840
20841
20842
20843
20844
20845
20846
20847
20848
20849
20850
20851
20852
20853
20854
20855
20856
20857
20858
20859
20860
20861
20862
20863
20864
20865
20866
20867
20868
20869
20870
20871
20872
20873
20874
20875
20876
20877
20878
20879
20880
20881
20882
20883
20884
20885
20886
20887
20888
20889
20890
20891
20892
20893
20894
20895
20896
20897
20898
20899
20900
20901
20902
20903
20904
20905
20906
20907
20908
20909
20910
20911
20912
20913
20914
20915
20916
20917
20918
20919
20920
20921
20922
20923
20924
20925
20926
20927
20928
20929
20930
20931
20932
20933
20934
20935
20936
20937
20938
20939
20940
20941
20942
20943
20944
20945
20946
20947
20948
20949
20950
20951
20952
20953
20954
20955
20956
20957
20958
20959
20960
20961
20962
20963
20964
20965
20966
20967
20968
20969
20970
20971
20972
20973
20974
20975
20976
20977
20978
20979
20980
20981
20982
20983
20984
20985
20986
20987
20988
20989
20990
20991
20992
20993
20994
20995
20996
20997
20998
20999
21000
21001
21002
21003
21004
21005
21006
21007
21008
21009
21010
21011
21012
21013
21014
21015
21016
21017
21018
21019
21020
21021
21022
21023
21024
21025
21026
21027
21028
21029
21030
21031
21032
21033
21034
21035
21036
21037
21038
21039
21040
21041
21042
21043
21044
21045
21046
21047
21048
21049
21050
21051
21052
21053
21054
21055
21056
21057
21058
21059
21060
21061
21062
21063
21064
21065
21066
21067
21068
21069
21070
21071
21072
21073
21074
21075
21076
21077
21078
21079
21080
21081
21082
21083
21084
21085
21086
21087
21088
21089
21090
21091
21092
21093
21094
21095
21096
21097
21098
21099
21100
21101
21102
21103
21104
21105
21106
21107
21108
21109
21110
21111
21112
21113
21114
21115
21116
21117
21118
21119
21120
21121
21122
21123
21124
21125
21126
21127
21128
21129
21130
21131
21132
21133
21134
21135
21136
21137
21138
21139
21140
21141
21142
21143
21144
21145
21146
21147
21148
21149
21150
21151
21152
21153
21154
21155
21156
21157
21158
21159
21160
21161
21162
21163
21164
21165
21166
21167
21168
21169
21170
21171
21172
21173
21174
21175
21176
21177
21178
21179
21180
21181
21182
21183
21184
21185
21186
21187
21188
21189
21190
21191
21192
21193
21194
21195
21196
21197
21198
21199
21200
21201
21202
21203
21204
21205
21206
21207
21208
21209
21210
21211
21212
21213
21214
21215
21216
21217
21218
21219
21220
21221
21222
21223
21224
21225
21226
21227
21228
21229
21230
21231
21232
21233
21234
21235
21236
21237
21238
21239
21240
21241
21242
21243
21244
21245
21246
21247
21248
21249
21250
21251
21252
21253
21254
21255
21256
21257
21258
21259
21260
21261
21262
21263
21264
21265
21266
21267
21268
21269
21270
21271
21272
21273
21274
21275
21276
21277
21278
21279
21280
21281
21282
21283
21284
21285
21286
21287
21288
21289
21290
21291
21292
21293
21294
21295
21296
21297
21298
21299
21300
21301
21302
21303
21304
21305
21306
21307
21308
21309
21310
21311
21312
21313
21314
21315
21316
21317
21318
21319
21320
21321
21322
21323
21324
21325
21326
21327
21328
21329
21330
21331
21332
21333
21334
21335
21336
21337
21338
21339
21340
21341
21342
21343
21344
21345
21346
21347
21348
21349
21350
21351
21352
21353
21354
21355
21356
21357
21358
21359
21360
21361
21362
21363
21364
21365
21366
21367
21368
21369
21370
21371
21372
21373
21374
21375
21376
21377
21378
21379
21380
21381
21382
21383
21384
21385
21386
21387
21388
21389
21390
21391
21392
21393
21394
21395
21396
21397
21398
21399
21400
21401
21402
21403
21404
21405
21406
21407
21408
21409
21410
21411
21412
21413
21414
21415
21416
21417
21418
21419
21420
21421
21422
21423
21424
21425
21426
21427
21428
21429
21430
21431
21432
21433
21434
21435
21436
21437
21438
21439
21440
21441
21442
21443
21444
21445
21446
21447
21448
21449
21450
21451
21452
21453
21454
21455
21456
21457
21458
21459
21460
21461
21462
21463
21464
21465
21466
21467
21468
21469
21470
21471
21472
21473
21474
21475
21476
21477
21478
21479
21480
21481
21482
21483
21484
21485
21486
21487
21488
21489
21490
21491
21492
21493
21494
21495
21496
21497
21498
21499
21500
21501
21502
21503
21504
21505
21506
21507
21508
21509
21510
21511
21512
21513
21514
21515
21516
21517
21518
21519
21520
21521
21522
21523
21524
21525
21526
21527
21528
21529
21530
21531
21532
21533
21534
21535
21536
21537
21538
21539
21540
21541
21542
21543
21544
21545
21546
21547
21548
21549
21550
21551
21552
21553
21554
21555
21556
21557
21558
21559
21560
21561
21562
21563
21564
21565
21566
21567
21568
21569
21570
21571
21572
21573
21574
21575
21576
21577
21578
21579
21580
21581
21582
21583
21584
21585
21586
21587
21588
21589
21590
21591
21592
21593
21594
21595
21596
21597
21598
21599
21600
21601
21602
21603
21604
21605
21606
21607
21608
21609
21610
21611
21612
21613
21614
21615
21616
21617
21618
21619
21620
21621
21622
21623
21624
21625
21626
21627
21628
21629
21630
21631
21632
21633
21634
21635
21636
21637
21638
21639
21640
21641
21642
21643
21644
21645
21646
21647
21648
21649
21650
21651
21652
21653
21654
21655
21656
21657
21658
21659
21660
21661
21662
21663
21664
21665
21666
21667
21668
21669
21670
21671
21672
21673
21674
21675
21676
21677
21678
21679
21680
21681
21682
21683
21684
21685
21686
21687
21688
21689
21690
21691
21692
21693
21694
21695
21696
21697
21698
21699
21700
21701
21702
21703
21704
21705
21706
21707
21708
21709
21710
21711
21712
21713
21714
21715
21716
21717
21718
21719
21720
21721
21722
21723
21724
21725
21726
21727
21728
21729
21730
21731
21732
21733
21734
21735
21736
21737
21738
21739
21740
21741
21742
21743
21744
21745
21746
21747
21748
21749
21750
21751
21752
21753
21754
21755
21756
21757
21758
21759
21760
21761
21762
21763
21764
21765
21766
21767
21768
21769
21770
21771
21772
21773
21774
21775
21776
21777
21778
21779
21780
21781
21782
21783
21784
21785
21786
21787
21788
21789
21790
21791
21792
21793
21794
21795
21796
21797
21798
21799
21800
21801
21802
21803
21804
21805
21806
21807
21808
21809
21810
21811
21812
21813
21814
21815
21816
21817
21818
21819
21820
21821
21822
21823
21824
21825
21826
21827
21828
21829
21830
21831
21832
21833
21834
21835
21836
21837
21838
21839
21840
21841
21842
21843
21844
21845
21846
21847
21848
21849
21850
21851
21852
21853
21854
21855
21856
21857
21858
21859
21860
21861
21862
21863
21864
21865
21866
21867
21868
21869
21870
21871
21872
21873
21874
21875
21876
21877
21878
21879
21880
21881
21882
21883
21884
21885
21886
21887
21888
21889
21890
21891
21892
21893
21894
21895
21896
21897
21898
21899
21900
%!PS-Adobe-2.0
%%Creator: dvips(k) 5.78 Copyright 1998 Radical Eye Software (www.radicaleye.com)
%%Title: notes.dvi
%%Pages: 250
%%PageOrder: Ascend
%%BoundingBox: 0 0 596 842
%%EndComments
%DVIPSCommandLine: dvips -f notes.dvi
%DVIPSParameters: dpi=600, compressed
%DVIPSSource:  TeX output 1999.09.29:1650
%%BeginProcSet: texc.pro
%!
/TeXDict 300 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N
/X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72
mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1}
ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div
hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul
TR[matrix currentmatrix{dup dup round sub abs 0.00001 lt{round}if}
forall round exch round exch]setmatrix}N /@landscape{/isls true N}B
/@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B
/FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{
/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N
string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N
end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{
/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]
N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup
length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{
128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub
get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data
dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N
/rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup
/base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx
0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff
setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff
.1 sub]/id ch-image N /rw ch-width 7 add 8 idiv string N /rc 0 N /gp 0 N
/cp 0 N{rc 0 ne{rc 1 sub /rc X rw}{G}ifelse}imagemask restore}B /G{{id
gp get /gp gp 1 add N dup 18 mod S 18 idiv pl S get exec}loop}B /adv{cp
add /cp X}B /chg{rw cp id gp 4 index getinterval putinterval dup gp add
/gp X adv}B /nd{/cp 0 N rw exit}B /lsh{rw cp 2 copy get dup 0 eq{pop 1}{
dup 255 eq{pop 254}{dup dup add 255 and S 1 and or}ifelse}ifelse put 1
adv}B /rsh{rw cp 2 copy get dup 0 eq{pop 128}{dup 255 eq{pop 127}{dup 2
idiv S 128 and or}ifelse}ifelse put 1 adv}B /clr{rw cp 2 index string
putinterval adv}B /set{rw cp fillstr 0 4 index getinterval putinterval
adv}B /fillstr 18 string 0 1 17{2 copy 255 put pop}for N /pl[{adv 1 chg}
{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{
adv rsh nd}{1 add adv}{/rc X nd}{1 add set}{1 add clr}{adv 2 chg}{adv 2
chg nd}{pop nd}]dup{bind pop}forall N /D{/cc X dup type /stringtype ne{]
}if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup
length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{
cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin
0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul
add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore userdict
/eop-hook known{eop-hook}if showpage}N /@start{userdict /start-hook
known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X
/IE 256 array N 2 string 0 1 255{IE S dup 360 add 36 4 index cvrs cvn
put}for pop 65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N
/RMat[1 0 0 -1 0 0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley
X /rulex X V}B /V{}B /RV statusdict begin /product where{pop false[
(Display)(NeXT)(LaserWriter 16/600)]{dup length product length le{dup
length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}
forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale rulex ruley false
RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1
false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transform
round exch round exch itransform moveto rulex 0 rlineto 0 ruley neg
rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail
{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M}
B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{
4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{
p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p
a}B /bos{/SS save N}B /eos{SS restore}B end

%%EndProcSet
TeXDict begin 39158280 55380996 1000 600 600 (notes.dvi)
@start
%DVIPSBitmapFont: Fa cmsy6 6 1
/Fa 1 49 df<EA01E0EA03F0A4EA07E0A213C0120FA21380A2EA1F00A2121EA2123E123C
A25AA3127012F05A12600C1A7E9B12>48 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fb cmcsc10 12 26
/Fb 26 123 df<EC7FC0903803FFF890380FC07E90393F001F80017E6D7E496D7E48486D
7E48486D7EA248486D7E000F8149147E001F157FA3003F1680A249143F007F16C0A600FF
16E0B3A2007F16C0A66C6CEC7F80A3001F1600A36C6C14FEA200075D6D130100035D6C6C
495A6C6C495A017E495A6D495A90260FC07EC7FC903803FFF89038007FC02B447BC137>
48 D<1438147814F81303130F13FFB5FC13F713071200B3B3B0497E497EB712C0A32242
76C137>I<49B4FC010F13F0013F13FC9038FC03FF2601E00013C0D807C0EB3FE048486D
7E90C76C7E001E6E7E4881003814030078811270007C80B416807F7F81A46C485B6CC7FC
C8FC17005DA25E15075E4B5AA24B5A5E4B5A4B5A4BC7FC5D4A5A4A5A4A5AEC0FC04A5A92
C8FC143E5C5C495A4948EB0380EB078049C7FC011EEC07005B5B5B48485C485A49141E48
B612FE5A5A5A5AB75AA329427AC137>I<157015F8A34A7EA24A7EA3EC077FA2020F7FEC
0E3FA2021E7FEC1C1FA24A6C7EA202787FEC7007A24A6C7EA2010180ECC001A2010380EC
8000A249C7127FA2498191B6FCA24981011CC7121F013C810138140FA201788101701407
A201F06E7E5B000182487E000782D81FF84A7EB5027F13F8A335347CB33D>97
D<B77E16F016FC3A03FC0003FF6C4801001380EE3FC017E0161FEE0FF0A217F8A21607A2
160FA217F0161F17E0EE3FC0EE7F80EEFF00ED03FE90B612F0A29039F80007FE9238007F
80EE1FC0EE0FF0EE07F817FC160317FE160117FFA617FE1603A2EE07FCEE0FF8EE1FF0EE
3FE0486C903801FFC0B8120016FC16E030337BB23A>I<4AB4EB0180021FEBF00391B5EA
FC0701039038007E0FD907F8EB0F9FD91FE0EB03DF4948EB01FF01FFC8FC4848157F4848
153FA24848151F4848150F121F491507123F5BA2007F1603A3484892C7FCAB6C7EEF0380
A2123FA27F001F16076D1600000F5E6C6C150E6C6C151E171C6C6C153C6C6C5DD93FC05C
6D6CEB03E0D907F8495A902703FF807FC7FC0100EBFFFC021F13F00201138031357BB33B
>I<B7FC16F016FC3A03FE0003FF6C489038007F80EE1FE0707E707E707E1601707E177F
A21880173F18C0A2EF1FE0A418F0AA18E0A4EF3FC0A21880177F180017FE16015F4C5AEE
0FF04C5AEE7FC0486CD903FFC7FCB712FC16F093C8FC34337BB23E>I<B812F0A3D803FE
C7123F6C48EC07F816011600A21778A21738A3171C1507A31700A25DA25D157F90B6FCA3
9038FC007F151F81A2811707A3170E92C7FCA4171EA2173CA2177C17FC16011607486C14
3FB812F8A330337BB238>I<B812C0A3D803FEC7FC6C48EC1FE0160716031601A21600A4
1770A2150EA21700A3151EA2153E15FE90B5FCA3EBFC00153E151EA2150EA592C8FCAB48
B4FCB512FEA32C337BB235>I<DA03FF1303021FEBE00791B5EAF80F0103903800FE1FD9
0FF8EB1F3FD91FE0EB07BFD97F806DB4FC49C77E484880484881484881A2484881121F49
81123F5BA2007F82A25B00FF93C7FCAA4BB512F86C7EA2DB00011380003F6F1300837F12
1F7F120F6C7E7F12036C7E6C6C5DEB7FC0D91FE05BD90FF8EB07DF903A03FF803F8F0100
9038FFFE07021FEBF80302030180C7FC35357BB340>I<B5D8F803B512E0A3D803FEC738
0FF8006C486E5AB390B7FCA301FCC71207B3A3486C4A7EB5D8F803B512E0A333337BB23D
>I<B512F8A33803FE006C5AB3B3A7487EB512F8A315337BB21E>I<90383FFFFEA3903800
7FE0EC1FC0B3B1127EB4FCA4EC3F805A0070EB7F006C137E001E5B380F83F83803FFE0C6
90C7FC1F347BB22A>I<B500F890380FFFF0A3D803FEC76C13806C48913803FC0017F04C
5A5F4CC7FC161E5E5E5EED03E04B5A4B5A4BC8FC153E5D15F014014A7E4A7E140F4A7EEC
7CFF4A6C7EEBFDF09039FFE03FC04A6C7EEC800FD9FE007F496D7E6F7EA26F7E6F7E8283
707E707EA2707E707E83160383486C913807FF80B500F8011F13F8A335337BB23F>I<B5
12FEA3000390C9FCEA01FCB3A9EE01C0A416031780A41607A2160F161FA2167FEEFF0048
6C1307B8FCA32A337BB233>I<D8FFFEEE7FFFA26D93B5FC000318C06C1880D9DF80EC01
DFA2D9CFC0EC039FA3D9C7E0EC071FA2D9C3F0140EA3D9C1F8141CA2D9C0FC1438A3027E
1470A26E14E0A391391F8001C0A291390FC00380A3913907E00700A2913803F00EA36E6C
5AA26E6C5AA3ED7E70A26F5AA3486C6D5A487ED81FFC6D48EB3FC0B50080020FB5FCA2ED
070040337BB24A>I<D8FFFC91383FFFE07FA2D801FF020713006EEB01FC6E6D5A1770EB
DFE0EBCFF013C780EBC3FC13C180EBC0FF80816E7E6E7EA26E7E6E7E1403816E7E140081
ED7F80ED3FC0A2ED1FE0ED0FF0150716F8ED03FC150116FEED00FF167F17F0163F161FA2
160F1607486C1403487ED81FFC1401B56C1300A2177033337BB23D>I<EC07FF023F13E0
903901FE03FC903907F0007FD90FC0EB1F80D93F80EB0FE049C76C7E01FE6E7E48486E7E
48486E7E4848157FA24848ED3F80001F17C0A24848ED1FE0A3007F17F049150FA300FF17
F8AA007F17F06D151FA2003F17E0A26D153F001F17C0A26C6CED7F80000717006D5D0003
5E6C6C4A5A6C6C4A5A017F4A5A6D6C495AD90FC0EB1F80D907F0017FC7FC903901FE03FC
9039003FFFE0020790C8FC35357BB33F>I<B7FC16F016FC3A03FE0003FF6C489038007F
80EE3FC0EE1FE0EE0FF0A2EE07F8A217FCA617F8A2EE0FF0A2EE1FE0EE3FC0EEFF00ED03
FE90B612F816C001FCC9FCB3A2487EB512F8A32E337BB238>I<EC07FF023F13E0903901
FE03FC903907F0007FD90FC0EB1F80D93F80EB0FE049C76C7E01FE6E7E48486E7E48486E
7E0007824981000F17804848ED3FC0A2003F17E049151FA2007F17F0A249150FA200FF17
F8AA007F17F0A26D151F003F17E0A36C6CED3FC0A26C6CED7F80000702F814009026F803
FE5B0003D907075B3B01FC0E0381FC3B00FE0C01C3F8017F903800E7F0D93F8CEBEFE0D9
0FCCEB7F80D907FE91C7FC903901FF03FC9027003FFFF813180207133C91C7123E183804
3F137893381FC1F8EFFFF0A37013E0A27013C0701380701300EE007C35427BB33F>I<B6
12F8EDFF8016E03A03FE000FF86C48EB03FEED00FF707E707E83161FA283A55FA24C5A5F
4CC7FC16FEED03FCED1FF090B6128003FCC8FC9038FC003FED0FC06F7E6F7E6F7E821500
82A382A383A4EFC01CA2167FEFE03C486C023F1338B500F890381FF07893380FF8F09338
03FFE0CAEA7F8036347BB23C>I<90390FF0018090387FFE0348B512873907F00FEF390F
C001FF48C7FC003E143F151F5A150F5A1507A36C1403A27E6C91C7FC6C7E7FEA3FF8EBFF
806C13FC6CEBFFC06C14F06C80C614FE011F7F01031480D9001F13C014019138003FE015
1F150FED07F0150312E01501A37EA216E06C1403A26CEC07C06CEC0F806C6CEB1F0001E0
133ED8FBFE13FC00F0B55AD8E01F13E0D8C00390C7FC24357BB32E>I<007FB812C0A390
3A8007FC003F277E0003F8130F007C16070078160300701601A200F017E0A2481600A6C7
1600B3AA4A7E4A7E010FB512FEA333327CB13B>I<B500F890383FFFE0A3D803FEC70007
13006C48EC01FC705A1770B3AE000016F06D5DA2017E1401017F4A5A7F6D6C495A6E49C7
FC6D6C131ED903F0137C903901FE03F89039007FFFE0021F1380DA03FCC8FC33347BB23D
>I<B500F091387FFF80A30003018091381FFC006C90C8EA0FE06C6D5D017F5E6D6C4AC7
FC171E6D6C5C6D6C143817786D6C5C6D6C5C16016D6C495A6D6C5C16076E6C48C8FC9138
3FC00E161E6E6C5A91380FF03816786E6C5A6E6C5AEDFDC0EC01FF6E5B93C9FC81B14B7E
023F13FEA339337EB23D>121 D<003FB7FCA39039FC0001FE01E01303018014FC90C7EA
07F8003E140F003C15F0007CEC1FE00078EC3FC0A2ED7F800070ECFF00A24A5A4A5AC712
075D4A5A141F5D4A5A4A5AA24AC7FC495AA2495A495A130F4A1307495A133F5C495A49C7
FC160F485A485AA24848141E485A001F153E49147E484814FE007F140349131FB7FCA328
337BB232>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fc cmmi8 8 17
/Fc 17 117 df<14C0A5497EA700F0EC03C039FF83F07F003FB61200000F14FC000114E0
6C6C1380D91FFEC7FCEB07F8497EA2497EEB3F3FEB3E1F496C7EEB7807496C7EA248486C
7E48486C7E49137090C71230222180A023>63 D<013FB512FEEEFFC0903A00FE0007F0EE
01F84AEB007E8301018118804A140F18C00103150718E05CA21307A25CA2130FA24A140F
A2131F18C04A141FA2013F1680173F91C81300A249157EA2017E5D5F01FE14014C5A494A
5A4C5A00014BC7FC163E4914FCED03F00003EC1FC0B7C8FC15F8332D7CAC3A>68
D<013FB71280A2D900FEC7127F170F4A1407A20101150318005CA21303A25C1630010714
7094C7FC4A136016E0130F15019138C007C091B5FC5BECC0074A6C5AA2133FA20200EB00
0CA249151C92C71218017E1538173001FE15705F5B4C5A000115034C5A49140F161F0003
4AB4C7FCB8FC5E312D7DAC34>I<90383FFFFCA2903800FE00A25CA21301A25CA21303A2
5CA21307A25CA2130FA25CA2131FA25CA2133FA291C7FCA25BA2137EA213FEA25BA21201
A25BA21203B512E0A21E2D7DAC1F>73 D<ED7FC0913807FFF891381F807E91397C001F80
D901F0EB0FC0D907E0EB03E0D90F8014F049C71201013EEC00F84915FC5B12014848157E
485AA2485A121FA2485A17FE90C9FC5AA300FEED01FCA3EE03F8A217F0160717E0160FEE
1FC01780007EED3F005E6C157E5E6C6C495AED03E06C6CEB0FC06C6C49C7FCD803F8137E
3900FE03F890383FFFC0D907FEC8FC2F2F7CAD36>79 D<013FB6FC17E0903A00FE0007F0
EE01FC4AEB007EA2010181A25C1880010316005F5CA2010715FEA24A5C4C5A010F4A5A4C
5A4AEB1F8004FFC7FC91B512F84914C00280C9FCA3133F91CAFCA35B137EA313FE5BA312
015BA21203B512E0A2312D7DAC2D>I<913807F00691383FFE0E9138F80F9E903903E001
FE903807800049C7127C131E49143CA2491438A313F81630A26D1400A27FEB7F8014F86D
B47E15F06D13FC01077F01007F141F02011380EC003F151F150FA215071218A3150F0038
1500A2151EA2007C5C007E5C007F5C397B8003E039F1F00F8026E07FFEC7FC38C00FF027
2F7CAD2B>83 D<B500C090380FFFC0A2D807F8C73801FC006C48EC00F05F4C5A5F6D4AC7
FC120116065EA25E6D5C12005E5EA24B5A6D49C8FCA2017E13065DA25D017F5BA26D5B5D
A24A5A0283C9FCA2EB1F86148CA2149814F0A26D5A5CA25C91CAFCA21306322E7CAC29>
86 D<90260FFFFCEB7FFFA29026007FC0EB0FF06E48148018006E6C131E1718020F5C6F
5B02075C6F485A020349C7FCEDF8065E6E6C5A5E6E6C5A5EED7F8093C8FC6F7EA26F7E15
3F156FEDCFE0EC018791380307F0EC0703020E7F141C4A6C7E14704A6C7E495A4948137F
49C7FC010E6E7E5B496E7E5BD801F081D807F8143FD8FFFE0103B5FCA2382D7EAC3A>88
D<EB07E0EB1FF890387C1CE0EBF80D3801F00F3803E007EA07C0120FD81F8013C0A2EA3F
00140F481480127EA2141F00FE14005AA2EC3F02EC3E06A25AEC7E0E007CEBFE0C14FC01
01131C393E07BE18391F0E1E38390FFC0FF03903F003C01F1F7D9D25>97
D<13F8121FA21201A25BA21203A25BA21207A25BA2120FEBC7E0EB9FF8EBB83C381FF01E
EBE01F13C09038800F80EA3F00A2123EA2007E131FA2127CA2143F00FC14005AA2147EA2
147C14FC5C387801F01303495A383C0F806C48C7FCEA0FFCEA03F0192F7DAD1E>I<EB01
F8EB0FFE90383E0780EB7C01D801F813C03803F0073807E00FEA0FC001801380121F48C8
FCA25A127EA312FE5AA51560007C14E0EC01C0EC03806CEB0F00001E131C380F81F83807
FFE0C648C7FC1B1F7D9D1F>I<157C4AB4FC913807C380EC0F87150FEC1F1FA391383E0E
0092C7FCA3147E147CA414FC90383FFFF8A2D900F8C7FCA313015CA413035CA413075CA5
130F5CA4131F91C8FCA4133EA3EA383C12FC5BA25B12F0EAE1E0EA7FC0001FC9FC213D7C
AE22>102 D<14FCEB03FF90380F839C90381F01BC013E13FCEB7C005B1201485A15F848
5A1401120F01C013F0A21403121F018013E0A21407A215C0A2000F130F141F0007EB3F80
EBC07F3803E1FF3800FF9F90383E1F0013005CA2143EA2147E0038137C00FC13FC5C495A
38F807E038F00F80D87FFEC7FCEA1FF81E2C7E9D22>I<90387C01F89038FE07FE3901CF
8E0F3A03879C0780D907B813C0000713F000069038E003E0EB0FC0000E1380120CA2D808
1F130712001400A249130F16C0133EA2017EEB1F80A2017C14005D01FC133E5D15FC6D48
5A3901FF03E09038FB87C0D9F1FFC7FCEBF0FC000390C8FCA25BA21207A25BA2120FA2EA
FFFCA2232B829D24>112 D<903807E03090381FF87090387C1CF0EBF80D3801F00F3903
E007E0EA07C0000F1303381F800715C0EA3F00A248130F007E1480A300FE131F481400A3
5C143E5A147E007C13FE5C1301EA3E07EA1F0E380FFCF8EA03F0C7FC13015CA313035CA2
1307A2EBFFFEA21C2B7D9D20>I<130E131FA25BA2133EA2137EA2137CA213FCA2B512F8
A23801F800A25BA21203A25BA21207A25BA2120FA25BA2001F1310143013001470146014
E0381E01C0EB0380381F0700EA0F0EEA07FCEA01F0152B7EA919>116
D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fd cmr6 6 7
/Fd 7 110 df<1438B2B712FEA3C70038C7FCB227277C9F2F>43
D<13FF000313C0380781E0380F00F0001E137848133CA248131EA400F8131FAD0078131E
A2007C133E003C133CA26C13786C13F0380781E03803FFC0C6130018227DA01E>48
D<13E01201120712FF12F91201B3A7487EB512C0A212217AA01E>I<EA01FC3807FF8038
1C0FC0383003E0386001F0EB00F812F86C13FCA2147C1278003013FCC7FC14F8A2EB01F0
EB03E014C0EB0780EB0F00131E13385B5B3801C00CEA0380380600185A5A383FFFF85AB5
12F0A216217CA01E>I<13FF000313C0380F03E0381C00F014F8003E13FC147CA2001E13
FC120CC712F8A2EB01F0EB03E0EB0FC03801FF00A2380003E0EB00F01478147C143E143F
1230127812FCA2143E48137E0060137C003813F8381E03F0380FFFC00001130018227DA0
1E>I<14E01301A213031307130F130D131913391371136113C11201EA03811301120612
0E121C12181230127012E0B6FCA2380001E0A6EB03F0EB3FFFA218217DA01E>I<3A0F0F
F00FF03AFF3FFC3FFC9039703E703E3A1FC01FC01F6C486C487EA201001300AD3BFFF0FF
F0FFF0A22C157D9432>109 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fe cmbsy10 12 2
/Fe 2 21 df<007FBA12F8BB12FCA46C19F84606779B59>0 D<1A78F101FC1907191F19
7F953801FFF8060713C0061F1300F07FFC943801FFF0050713C0051F90C7FCEF7FFC9338
01FFF0040713C0041F90C8FCEEFFFC030313F0030F13C0033F90C9FCEDFFFC020313F002
0F1380DA3FFECAFCECFFF8010313E0010F1380D93FFECBFCEBFFF8000313E0000F1380D8
3FFECCFCEAFFF813E0A213F8EA7FFE380FFF80000313E0C613F8EB3FFE90380FFF800103
13E0010013F8EC3FFE91380FFF80020313E0020013FCED3FFF030F13C0030313F0030013
FCEE3FFF040713C0040113F09338007FFCEF1FFF050713C0050113F09438007FFCF01FFF
060713C0060113F09538007FFC191F19071901F100781A00B2003FBA12F04819F8BB12FC
A36C19F8465C77C459>20 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Ff cmmib10 12 2
/Ff 2 64 df<127812FE6C7E13E013F8EA3FFE380FFF80000313E0C613F8EB3FFE90380F
FF80010313E0010013F8EC3FFE91380FFF80020313F0020013FCED3FFF030F13C0030313
F0030013FCEE1FFF040713C0040113F09338007FFCEF1FFF050713C0050113F09438007F
FCF01FFF060713C0060113F89538007FFC191FA2197F953801FFF8060713C0061F1300F0
7FFC943801FFF0050713C0051F90C7FCEF7FFC933801FFF0040713C0041F90C8FCEEFFFC
030313F0030F13C0033F90C9FCEDFFFC020313F0020F1380DA3FFECAFCECFFF8010313E0
010F1380D93FFECBFCEBFFF8000313E0000F1380D83FFECCFCEAFFF813E0138048CDFC12
78464477BA59>62 D<156015F0A34A7EA64A7EA64A7E00401720D8FFC0ED3FF0D9FF87EB
1FFF91B7FC6C17E0001F17800007EEFE00000116F86C6C15E0011F158001074AC7FC0101
14F86D5C6E5BA291B57EA24980A249EB9FFC150F49486C7EECFC0349486C7E4A7E49486D
7E4A133F49486D7E91C7120F013E1407496E7E0178140101306E5A34327EB139>I
E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fg cmex10 10 12
/Fg 12 126 df<EE03C0160F163F167F923801FF004B5A4B5AED0FF04B5A4B5A4B5A4BC7
FC5C5D4A5A14075D4A5AA2141F5DA24A5AA44A5AB3B3B3B214FF92C8FCA35B5CA2495AA2
5C13075C130F495A5C133F495A49C9FC485A485A485A485AEA1FC0485AB4CAFC12FCA2B4
FCEA3F806C7EEA0FF06C7E6C7E6C7E6C7E6D7E6D7E131F806D7E130780130380A26D7EA2
807FA381147FB3B3B3B26E7EA46E7EA281140FA26E7E8114036E7E81806F7E6F7E6F7E6F
7EED07FC6F7E6F7E9238007FC0163F160F16032AF8748243>40 D<EC01F01407140F143F
147F903801FFC0491380491300495A495A495A495A5C495A485B5A91C7FC485AA2485AA2
485AA2123F5BA2127F5BA412FF5BB3B3A71C4B607E4A>56 D<EAFFC0B3B3A77F127FA47F
123FA27F121FA26C7EA26C7EA26C7E807E6C7F6D7E806D7E6D7E6D7E6D7E6D13806D13C0
9038007FF0143F140F140714011C4B60804A>58 D<EC1FF8B3B3A7143F15F0A4EC7FE0A3
15C014FFA2491380A215005B5C1307495A5C131F495A5C495A495A4890C7FC485A485A48
5A485AEA7FE0EAFF8090C8FC12FCB4FC7FEA7FE0EA1FF06C7E6C7E6C7E6C7E6C7F6D7E6D
7E806D7E130F806D7E1303807F1580A26D13C0A2147F15E0A3EC3FF0A415F8141FB3B3A7
1D9773804A>60 D<EAFFC0B3A90A1B60804A>62 D<0078EF078000FCEF0FC0B3B3B3B3A4
BAFCA47E6C18803A537B7F45>70 D<0078EF078000FCEF0FC0B3B3B3A46C171F007E1880
A2007F173F6C1800A26D5E001F177E6D16FE6C6C4B5A6D15036C6C4B5A6C6C4B5A6C6C4B
5A6C6C6CEC7FC06D6C4A5AD93FF8010790C7FC6DB4EB3FFE6D90B55A010315F06D5D6D6C
1480020F01FCC8FC020113E03A537B7F45>83 D<913801FFE0020F13FC027FEBFF8049B6
12E04981010F15FC499038003FFED93FF8EB07FFD97FC001007F49486E7E4848C8EA1FE0
48486F7E48486F7E48486F7E49150148486F7E49167E003F177F90CA7EA2481880007E17
1FA200FE18C048170FB3B3B3A40078EF07803A537B7F45>I<EE7F80ED0FFF157F4AB5FC
140F143F5C49B6FC13075B4991C7FC4913E090B5C8FC4813F84813E014804848C9FC485A
EA1FF0485A5B485A48CAFCA25A5A5A291B838925>122 D<B4FC13F813FF14C014F814FE
8015C015F081C66C7F01037F9039007FFF80020F7F02037F1400ED3FF06F7EED07FC6F7E
15016F7EEE7F80A2163F161F160F291B818925>I<12F87E7E7EA26C7E6C7E7F6C7EEA0F
FC6C7E6C6C7E14E06C13F86C13FF013F13E06D13FF6DECFF807F13016D7E80140F14016E
7E150FED007F291B839A25>I<EE0F80161F163F167FA2EEFF004B5A15034B5AED1FF84B
5AEDFFE01403020F5B027F5B902603FFFEC7FC017F5BB65A5D15C092C8FC5C14F814C091
C9FC13F890CAFC291B819A25>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fh lasy10 12 2
/Fh 2 51 df<127012FCB4FC13C013F0EAF7FCEAF1FF38F07FC0EB1FF0EB07FCEB01FF90
38007FC0EC1FF0EC07FE913801FF809138007FE0ED1FF8ED03FE923800FF80EE3FE0EE0F
F8EE03FE933800FF80EF3FE0EF0FF8EF03FE943800FF80F03FE0F00FF0A2F03FE0F0FF80
943803FE00EF0FF8EF3FE0EFFF80DC03FEC7FCEE0FF8EE3FE0EEFF80DB03FEC8FCED1FF8
ED7FE0913801FF80DA07FEC9FCEC1FF0EC7FC04948CAFCEB07FCEB1FF0EB7FC0D8F1FFCB
FCEAF7FCEAFFF013C090CCFC12FC12703C3A78B54D>3 D<003FB9FC481880BAFCA200F0
CA1207B3B3ADBAFCA37E393977BE4A>50 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fi cmsy8 8 6
/Fi 6 85 df<B812C0A32A037A9137>0 D<130C131EA50060EB01800078130739FC0C0F
C0007FEB3F80393F8C7F003807CCF83801FFE038007F80011EC7FCEB7F803801FFE03807
CCF8383F8C7F397F0C3F8000FCEB0FC039781E078000601301000090C7FCA5130C1A1D7C
9E23>3 D<137813FE1201A3120313FCA3EA07F8A313F0A2EA0FE0A313C0121F1380A3EA
3F00A3123E127E127CA35AA35A0F227EA413>48 D<171017F0160116031607A2160FA216
1F161B163B1633167316E3A2ED01C316831503EE03F81507150E1601151C1538A2157015
E0A2EC01C0EC038083EC0700140E92B5FC141F5C5C0270C77E5C495AD82003157E387007
80D8780FC8127FEAFE3ED8FFFE160449ED3F9C4916F86C4816E06C48ED1FC06C48ED0E00
0007CBFC36337EAF38>65 D<496C13FC0107EB07FF011F011F1380017F017F13C03B01FF
81E07FE03A039F03801F3A021F0F000F26003F1E13075C4A14C014F84AEB0F804A14004A
131E017F14384A5B4B5A9138000F80033EC7FC9038FE01FF020713E0021F13F849487F91
38001FFE4848EB03FF1500EE7F8049143FA20003151FA25BA21207491500A2000F153E5B
5E001F1578013C5C01FEEB01C03A3FFFC01F80003ED9FFFEC7FC486C13F8D8703F13C026
C007FCC8FC2B2F7EAD2E>I<180C183C0107B712F8011F16E0017F16C048B81200270380
007CC8FC000FC712FC121E123E007E495A127C12FC12F000C0495AC7FCA34A5AA44A5AA4
4A5AA4143F92C9FCA4147EA3147C14FCA25C1301A25C13035CA2495A5C010ECAFC130836
347DAE27>84 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fj cmbx12 17.28 43
/Fj 43 122 df<94387FFF80041FB512F04BB612FC030F81037F6F7E4AB5D8E0077F4A49
C76C7E020F01F0EC1FF04A01C0147F4A90C8487E4A485C4A484A7F49495C495BA2495B4E
7F49705B5DA3725B725B725B735A96C9FCAB0503B512FEBBFCA6D8000F01E0C7120184B3
B3AF003FB6D8F803B71280A651657DE45A>12 D<EA01FCEA07FF4813804813C04813E048
13F0A2B512F8A76C13F0A26C13E06C13C06C13806C1300EA01FC151574942D>46
D<16F04B7E1507151F153FEC01FF1407147F010FB5FCB7FCA41487EBF007C7FCB3B3B3B2
007FB91280A6395D74DC51>49 D<913801FFF8023FEBFFC049B612FC010715FF011F16C0
4916F09026FFFC0180489026C0003F13FE4890C7000F7FD807FC0203148048486E14C048
486E14E0496F13F0D83FFC816D17F8486C816E6E13FCB57E19FE6E80A219FFA283A36C5B
A26C5B6C90C8FCD807FC5DEA01F0CA14FEA34D13FCA219F85F19F04D13E0A24D13C01980
94B512004C5B604C5B4C5B4C5B604C5B4C48C7FC4C5A4C5A4B13E04B5B4B5B4CC8FC4B5A
4B5A4B5ADB7FC0143F4B5A4A90C8FC4A5A4A48157EEC0FF04A5A4A5A4A5A4AC912FEEB01
FC495A4948ED01FC4948150749B8FC5B5B90B9FC5A4818F85A5A5A5A5ABAFCA219F0A440
5D78DC51>I<92B5FC020F14F8027F14FF49B712E001078249D9C01F13FC90273FFC0003
7FD97FE001007FD9FF806E7F4848C86C7F6D834801C06E7F487F6E826E80486D82A4805C
A37E4A4A5B6C5B6C5B6C495E011FC85A90C95CA24D5B6194B5FC4C91C7FC604C5B4C13F0
041F5B047F1380030FB5C8FC020FB512FC17E0178017F8EFFF8091C7001F13E0040313F8
7013FE706C7E7113C0717F85717F85838585A2711480A31AC0A2EA03FCEA0FFF487F487F
487FA2B57EA21A80A35F1A005C6C604A5C616C494A5B49C8FCD81FF84B5B6C6C4B5B6CB4
6C91B55A6C01F001035C6C9026FF801F49C7FC6C6C90B65A6D16F0010F16C0010193C8FC
D9003F14F0020149C9FC425E79DC51>I<F01F804E7E187F18FFA25F5F5F5FA25F5F5FA2
94B5FC5E5E5EA25E5EEE3FBFEE7F3FA216FEED01FCED03F8ED07F0A2ED0FE0ED1FC0ED3F
8016005D15FE4A5A4A5AA24A5A4A5A4A5A4A5AA24AC7FC14FE495A5C1303495A495A495A
5C133F49C8FC13FE485AA2485A485A485A5B121F485A48C9FC12FEBCFCA6CA6CEBC000B1
037FB8FCA6485E7CDD51>I<01C0EE01C0D801F8160F01FF167F02F0EC07FFDAFF8090B5
FC92B712801900606060606060604DC7FC5F17F017C04CC8FC16F8D9FC7F90C9FC91CBFC
AEED3FFF0203B512F0021F14FE027F6E7E01FDB712E090B5D8E00F7F9126FC000313FC02
F001007F02C06E7E91C86C13804917C0496F13E05B6C486F13F090C9FC19F8A219FC8319
FEA419FFA3EA03F0EA0FFC487E487E487FA2B57EA319FEA35C4D13FC6C90C8FC4917F85B
D83FF04B13F013806C6C17E06D4B13C06C6C4B13806C6C92B51200D803FE4A5B6C6C6C49
5B6C01E0011F5BD97FFE90B55A6DB712C06D5E01074BC7FC010115F0D9003F1480020301
F0C8FC405E78DC51>I<EE1FFF0303B512E0031F14F892B612FE020381020FD9F8037F4A
9039C0007FC0027F90C7EA1FE0DAFFFC6E7E4901F014074949EC7FF8494914FF49495B49
90C7487F5B49485C495AA2485BA25A48496E5BA248705B715B4A6F5A4894C8FCA35AA25C
5A923801FFE0030F13FE033F6D7E4B14E002C1B612F8B526C3FE037F913AC7F0007FFF03
C0011F7FDACF806D7F02DFC76C7F02DE6E7F14FE4A6E7F854A82A24A8283A24A1780A41A
C05CA27EA77EA3806C1980A37E1A007E5F6C6D5EA26C606E4A5B7E6D6C4A5B6E5E6D6C4A
5B6D6D495B6D01E0017F90C7FC01039039FC03FFFE6D90B612F86D5E023F15C0020F92C8
FC020114FCDA001F1380425E79DC51>I<EA01FCEA07FF4813804813C04813E04813F0A2
B512F8A76C13F0A26C13E06C13C06C13806C1300EA01FCC8FCB3A4EA01FCEA07FF481380
4813C04813E04813F0A2B512F8A76C13F0A26C13E06C13C06C13806C1300EA01FC154074
BF2D>58 D<F00FE04E7EA24E7EA34E7EA24E7EA34D7FA24D80A24D80A34D80A24D80A34D
80A2DD7FBF7FA2181F05FF8017FE04016D7FA24D7E04038217F804076D80A24D7E040F82
17E0041F6D80A24D7F043F825F047F6E7FA294C77E4C825E03016F7FA24C800303845E03
076F80A24C80030F845E031F6F80A24C81033F845E037F707F93B9FCA292BA7EA24A85A2
03FCC912070203865D020771805D86020F864B82021F865D87023F864B83027F8692CBFC
874A864A840101875C0103738090381FFFC0B700E092B812FEA66F647BE37A>65
D<BB12F0F2FF801BF81BFEF3FFC088D800010280C814F8081F7F080713FF748074808675
7F757FA2757FA28987A289A965A263656365636598B55A505C5091C7FC505B081F5B087F
13F04FB512C096B6C8FC93B812F81BC01BF8F3FF801CE00480C8001F13F8080313FE746D
7E746C7F757F757F89757F757F89871E80A27514C0A41EE087A663A21EC0A3631E80A251
14006365515B63515B98B55A08035C080F5C97B6C7FCBD5A1CF81CE099C8FC1BF898C9FC
63627AE173>I<942601FFFEED03C0057FD9FFF01407040FB600FE140F047FDBFFC0131F
0303B800F0133F030F05FC137F033F9127F8007FFE13FF92B548C73807FF81020302F002
0113C34A02809138003FF7021F49C96CB5FC4A01F816074A01E08291B54816004991CB7E
494984494984495B494984498649498490B55A88485C884891CDFC481C7F5C5A1D3F5C5A
A21D1F485BA34899C7FCA35CA2B5FCB07EA280A37EA2F50FC06C7FA37E801D1F6C1D8080
7E6C6E193F1E006C6E611D7E6D6D19FE6D6D616D1A016D6D4E5A6D6D18076D6D4E5A6D6D
6C4D5A6D6E4D5A6E6D4D5A6E01F84C48C7FC6E01FEEE07FE02076D6CED1FFC6E02F0ED7F
F0020002FE913803FFE0033FD9FFF8013F1380030F91B7C8FC030317FCDB007F16E0040F
1680DC007F02F8C9FC050191CAFC626477E275>I<BB12E0F2FF801BF01BFE757E1CF0D8
00010280C7000780DF003F13FE08076D7E080180746C7F091F7F7513FC757F09017F878A
767F767F888A767FA2767FA2767FA28A881F80A37614C0A41FE0A5891FF0B09AB512E0A5
1FC0A4521480A31F006466A2525BA2525BA2525B525BA2525B99B55A5191C7FC515B515B
091F5B097F5B50B512C008075C083F91C8FC0707B512FCBD12F01CC051C9FC1BF81B8008
E0CAFC6C627AE17C>I<BD12FCA488A2D8000102C0C71201F1000F1A01F2007F1B3F1B0F
1B07757EA28787A288A3F43F80A31C1FA3197EA3F40FC0A499C7FC19FEA31801A2180318
07181F18FF93B6FCA6EEC000181F180718031801A21800A21D7E197EA21DFCA696C81201
1DF8A31C03A3F407F0A31C0FA21C1F1C3F1DE01C7F1CFF63631B0F093F13C098B5FC1A07
97B6FCBEFCA31D80A35F617AE06A>I<BD12E0A41CF0A2D8000102C0C71207F1003F1A0F
1A031A001B7F1B3FF31FF81B0FA21B07A21B03A21B011CFCA31B00A419FCA21C7EA41C00
A21801A31803A21807180F183FEF01FF93B6FCA6EEC001EF003F180F18071803A21801A3
1800A896C9FCB3A5B912F8A657617AE065>I<B700E0040FB712808282A28282D800016E
DC000101FCC7FC719338001FC0A283838302FD8014FC6F7F6F7F836F80816F806F80846F
806F8082707F8470807080827080857080708083717F8571807180837180718086718084
727F727F8772807280847280877280737F85737F1C807314C07314E0857314F07314F81C
FC7413FE867413FF74149F1DDF7414FF868686A287878787A287878787A28888888888A2
8890261FFFC084B700F8831D7FA21D3F1D1F775A71627AE17E>78
D<BB7E1AFCF2FFC01BF81BFE757ED800010280C7001F80070114F0DF003F7F080F7F747F
747F7414807414C0A27513E0A21DF0A27513F8A41DFCA91DF8A45113F0A21DE0A298B512
C01D8062501400505B505B083F5B4FB512E0071F5C93B9C7FC1BFC1BF01B8008F0C8FC04
C0CCFCB3B3A2B97EA65E627AE16E>80 D<DBFFFEEC01E0020FD9FFE01303027F02FC1307
49B7EA800F010716E0011FEEF01F49D9C007EBFC3F4948C7383FFE7FD9FFF00207B5FC48
4914014801806E7E4890C97E48170F4982001F834982123F844848177FA2193FA200FF18
1FA36D170FA27FA26D17078080806E93C7FC6C13FCECFF8015F86CECFFC016FC6CEDFFE0
17FE6CEEFFE018F86C17FE6C717E6C846C18F06D836D836D836D83010318807F6D6C17C0
020F17E01401DA000F16F01500040715F8EE007F050314FC1700183F84060713FE84A200
7C8300FC83A2197FA3193F7EA21AFC7EA36D18F86D177FA26D18F06D17FF6D18E06D5E6D
18C06D6C4B138002E05D02F84B130002FEED3FFE9026CFFFE0ECFFFC018701FF010713F0
010191B65A486C6C5E021F93C7FC48010315FC48D9007F14E048020149C8FC476477E25A
>83 D<001FBEFCA64849C79126E0000F148002E0180091C8171F498601F81A0349864986
A2491B7FA2491B3F007F1DC090C9181FA4007E1C0FA600FE1DE0481C07A5CA95C7FCB3B3
B3A3021FBAFCA663617AE070>I<B800F8011FB80203B7FCA6D8000F91C9000102E0CAEB
FE006D72F207F0707260230F6D73627072171F6D6A708277173F6D7397C7FC70846B6E72
197E707217FE6E726170855118016E6870731503636E68704C6E15076E68718451180F6E
DE7E7F607172151F6E06FE61714B7E08016F153F6E4E6C95C8FC71840803616F4D6C177E
7102076F15FE6F66714B7E080F7013016F4D6C5F7185081F18036F4D6C5F71023F701307
6F94C75F728450180F6F047E6E5E7272131F1AFE6F4C6E5EDEE00171133F6F4C6E93C9FC
06F084070361704B6E157E06F87213FE1907704B6E5DDEFC0F1881704B6E5D06FE19C107
1F18C3704B6E5DDEFF3F18E7706407BFC9FC07FF18FF704A705CA3704A705CA27099CAFC
4F82A27149705BA37149705BA27149705BA37149705BA37190CB5BA27148725AA3714872
5A714872CBFCA0637DE1A7>87 D<913807FFFC91B612E0010715FC011F15FF4916C09027
7FFC003F7FD9FFC0010F7F4801F001037F486D6D7F707F486D6E7E85717FA2717FA36C49
6E7FA26C5B6C5BEB3F8090C9FCA70303B6FC92B7FC140F147F0103B5EAFE0F010F148001
3FEBFC004913E048B512804849C7FC485B4813F05A5C485B5A5CA2B5C8FCA45FA25F806C
5E806C16FB6ED903F37F6C6DD907E313FF6C01FCD91FC114FE6C9027FF80FF8114FF0001
91B5C6FC6C6C4A7F011F02F8131F010302E0010313FE9026003FFECAFC48437BC14E>97
D<903807FF80B6FCA6C6FC7F7FB3A8EFFFF8040FEBFF80047F14F00381B612FC038715FF
038F010014C0DBBFF0011F7FDBFFC001077F93C700017F4B6E7F03F86F7E4B6F7E4B1780
4B6F13C0A27313E0A27313F0A21BF8A37313FCA41BFEAE1BFCA3611BF8A31BF0611BE0A2
4F13C06F17804F13006F5D6F4B5A6F4A5B4AB44A5B4A6C6C010F5B9126F83FE0013F13C0
9127F00FFC01B55A4A6CB648C7FCDAC00115F84A6C15E091C7001F91C8FC90C8000313E0
4F657BE35A>I<92380FFFF04AB67E020F15F0023F15FC91B77E01039039FE001FFF4901
F0010113804901C0010713C049494913E0017F90C7FC49484A13F05C485B5A485BA2485B
7113E05A4A6E13C048701380943800FE0095C7FC5A5CA3B5FCAE7E80A37EA2806C18FCA2
6C6D150119F86C7F6C17036EED07F06C6D16E06C6D150F6D6DEC1FC06D6DEC7F806D01F0
ECFF00010701FCEB03FE6D9039FF803FFC010091B512F0023F5D020F1580020102FCC7FC
DA000F13C03E437BC148>I<F17FF8050FB5FCA6EF000F8484B3A892380FFF804AB512F8
020F14FE023FECFF8391B712E301039138007FF34901F8EB0FFB011F01E00103B5FC4901
8013004990C87E4948814849814849814A815A485BA25A5C5AA35A5CA3B5FCAE7EA46C7F
A37EA26C7FA26C6D5DA26C6D5D6C5F6C6D5D6D6C92B5FC6D6C0203806D01C049806D01F0
D91FF7EBFFFE6D9039FE01FFE7010190B612876D6CECFE07021F14F8020314E09127003F
FE00ECC0004F657BE35A>I<92380FFFC04AB512FC020FECFF80023F15E091B712F80103
D9FE017F499039F0003FFE4901C0EB0FFF4990C76C7F49486E7F49486E7F49486E7F4884
4849157F48844A153F48845A4A151F855AA3485B721380A3B5FCA291B9FCA41A000280CB
FCA67EA3807EA37E6E160F6CF01F80A26C6D163F6C19006E5E6C6D16FE6C606D6C15016D
6C6CEC07F86D6D4A5A6D01F0EC3FE0010301FC49B45A6D9026FFC01F90C7FC6D6C90B55A
021F15F8020715E0020092C8FC030713F041437CC14A>I<EE3FFC0307B51280033F14C0
4AB612F0020715F84A9038F03FFC4AEB807F913A7FFE00FFFE4A5A4B4813FF4913F05B49
13E0A24913C0A27013FE4949EB7FFCEF3FF8EF1FF0EF07C094C7FCB0B812C0A6D8001F01
C0C8FCB3B3B0007FB612FCA638657CE431>I<DBFFFEEC0FF8020FD9FFE0EBFFFE027FDA
FC037F49B7000F1480010793B6FC49D9F01F02F913C049D9800314814948C7EBFC034948
027F7F4948EC3FFE4805FF14804A6E6D130048F0803E97C7FC48496E7FA34884A96C60A3
6C6D4A5BA26C95C8FC6E5C6C5F6D6C4A5A6D6C4A5A90271FFF80035BDBF01F5B4990B65A
4993C9FCD97C7F14FCD9FC0F14E049C649CAFC000191CCFCA37FA212037F6C7E8014E091
B77E18FEF0FFC06C18F019FC6D17FF6D84866D846D84013F8448BAFC48854801E0C71201
4890C9000F7F484816014848EE007F4848717E8512FF5B85A56D5F007F616D173F003F61
6D177F6C6C4D5A6C01C003035B6C6D4B5B6C01F8031F5BC601FF92B5C7FC6D01F8011F5B
011F90B712F8010717E0010094C8FC020F15F0DA003F01FCC9FC4A5F7CC051>I<903807
FF80B6FCA6C6FC7F7FB3A8EF1FFF94B512F0040714FC041F14FF4C8193267FE07F7F9227
81FE001F7FDB83F86D7FDB87F07FDB8FC0814C7F039FC78015BE03BC8003FC825DA25DA2
5DA45DB3B2B7D8F007B71280A651647BE35A>I<EB0FE0EB3FF8497E497E487F4880A248
80A76C5CA26C91C7FC6C5B6D5A6D5AEB0FE090C9FCAF903807FF80007FB5FCA6C6FC7F7F
B3B3AEB712C0A622657BE42C>I<903807FF80B6FCA6C6FC7F7FB3A90503B61280A6DD00
3FEB8000DE0FF8C7FC4E5A4E5A4E5A4E5ADD03FEC8FC4D5A4D5A4D5A4D5AEFFF804C90C9
FC4C5A4C5A4C5AEE3FE04C5A4C7E158103837F038F7F039F7F15BF92B57E838415FC4B6C
7F4B6C7F03E080ED801F707F707F8482707F7080A2717F717F8583717F717F8583717F71
80868495B512F0B7D8E00FECFFF0A64C647BE355>107 D<903807FF80B6FCA6C6FC7F7F
B3B3B3B3ADB712E0A623647BE32C>I<902607FF80D91FFFEEFFF8B691B500F00207EBFF
80040702FC023F14E0041F02FF91B612F84C6F488193267FE07F6D4801037F922781FE00
1F9027E00FF0007FC6DA83F86D9026F01FC06D7F6DD987F06D4A487F6DD98FC0DBF87EC7
804C6D027C80039FC76E488203BEEEFDF003BC6E4A8003FC04FF834B5FA24B5FA24B94C8
FCA44B5EB3B2B7D8F007B7D8803FB612FCA67E417BC087>I<902607FF80EB1FFFB691B5
12F0040714FC041F14FF4C8193267FE07F7F922781FE001F7FC6DA83F86D7F6DD987F07F
6DD98FC0814C7F039FC78015BE03BC8003FC825DA25DA25DA45DB3B2B7D8F007B71280A6
51417BC05A>I<923807FFE092B6FC020715E0021F15F8027F15FE494848C66C6C7E0107
01F0010F13E04901C001037F4990C87F49486F7E49486F7E49486F7E48496F13804819C0
4A814819E04819F04A814819F8A348496F13FCA34819FEA4B518FFAD6C19FEA46C6D4B13
FCA36C19F8A26C6D4B13F0A26C6D4B13E06C19C06E5D6C19806C6D4B13006D6C4B5A6D6C
4B5A6D01C001035B010701F0010F13E06D01FE017F5B010090B7C7FC023F15FC020715E0
020092C8FC030713E048437CC151>I<902607FF80EBFFF8B6010FEBFF80047F14F00381
B612FC038715FF038F010114C09227BFF0003F7FC6DAFFC0010F7F6D91C76C7F6D490201
7F03F86E7F4B824B6F13804B6F13C0A27313E0A21BF0851BF8A2851BFCA47313FEAE4F13
FCA41BF861A21BF0611BE0611BC06F4B13801B006F92B5FC6F4A5B6F4A5B03FF4A5B7001
1F5B04E0017F13C09226CFFC03B55A03C7B648C7FC03C115F803C015E0041F91C8FC0403
13E093CBFCB3A3B712F0A64F5D7BC05A>I<DB0FFFEC01F04AB500E01303020F02F81307
023F14FE91B7130F01030280EB801F49903AFC001FC03F011F01F0EB0FE04901C0903803
F07F4949903801F8FF90B5C87E484992B5FC48498184485B48835C48835C5A845C5AA4B5
5AAE6C7FA47E80A27EA26C6D5D606C7F606C6D5D6C7F6C94B5FC6D6C5C6D6D13076D01E0
EB0FEF6D01F8EB3FCF6D9039FE01FF8F010190B6120F6D6C14FC021F14F0020314C09139
003FFE0092C8FCB3A3053FB612FCA64E5D7BC055>I<D90FFFEB0FFCB690383FFF8093B5
12E04B14F04B14F8923907FC7FFC92390FE0FFFEC6EC1F806DD93F0113FF6D133E157E15
7C15F8A215F07013FEA24BEB7FFCEF3FF8EF0FE04B90C7FCA55DB3B0B712F8A638417BC0
42>I<913A3FFF8007800107B5EAF81F011FECFE3F017F91B5FC48B8FC48EBE0014890C7
121FD80FFC1407D81FF0801600485A007F167F49153FA212FF171FA27F7F7F6D92C7FC13
FF14E014FF6C14F8EDFFC06C15FC16FF6C16C06C16F06C826C826C826C82013F1680010F
16C01303D9007F15E0020315F0EC001F1500041F13F81607007C150100FC81177F6C163F
A2171F7EA26D16F0A27F173F6D16E06D157F6D16C001FEEDFF806D0203130002C0EB0FFE
02FCEB7FFC019FB65A010F5DD8FE0315C026F8007F49C7FC48010F13E035437BC140>I<
EC07E0A6140FA5141FA3143FA2147FA214FF5BA25B5B5B5B137F48B5FC000F91B512FEB8
FCA5D8001F01E0C8FCB3AFEF0FC0AC171F6D6D1480A2173F6D16006F5B6D6D137E6D6D5B
6DEBFF836EEBFFF86E5C020F14C002035C9126003FFCC7FC325C7DDA3F>I<902607FFC0
ED3FFEB60207B5FCA6C6EE00076D826D82B3B3A260A360A2607F60183E6D6D147E4E7F6D
6D4948806D6DD907F0ECFF806D01FFEB3FE06D91B55A6E1500021F5C020314F8DA003F01
8002F0C7FC51427BC05A>I<B700C00103B512FCA6C66C01C0C8381FFE006D6DED07F0A2
6D6D5E190F6D6D5E191F6D606F153F6D95C7FC6F5DA26D6D157E19FE6D6E5C18016E5E70
13036E5E701307A26E6D5C180F6E6D5C181F6E6D5C183F6E93C8FC705BA26E6D13FEA26E
6E5A17816FEBC1F817C36F5C17E76F5C17FFA26F5CA26F5CA26F91C9FCA26F5BA36F5BA2
705AA2705AA2705AA2705A4E417DBF55>I<007FB600C0017FB512F8A6D8001F01F8C700
03EBE0006D040090C7FC6D6D4A5A6D6D4A5A6D6D4A5A70495A6D4C5A6E7F6E6D495A6E6D
495A7049C8FC6E4A5A6E6D485A6E6D485A6E13FFEF8FF06EEC9FE06FEBFFC06F5C6F91C9
FC5F6F5B816F7F6F7F8481707F8493B57E4B805D4B80DB0FF37FDB1FE17F04C080153F4B
486C7F4B486C7F4A486D7F4A486D7F4A5A4B6D7F020F6E7F4A486D7F4A486D804A5A4AC8
6C7F49486F7F4A6F7F0103707FEB3FFFB600F049B7FCA650407EBF55>120
D<B700C00103B512FCA6D8003F01C0C8381FFE006FED07F0A26D6D5E190F6D6D5E191F6D
6D5E193F6D95C7FC6F5D6D177E6F15FEA26D6E495AA26E6D5C18036E6D5C18076E5E7013
0F6E5E70131FA26E6D495AA26E6D91C8FC606E6D137E18FE6E5D17816F5C17C3A26FEBE7
F0A26FEBF7E017FF6F5CA26F5CA26F91C9FCA36F5BA26F5BA2705AA2705AA2705AA35FA2
5F163F94CAFC5E167E16FED807E05CD81FF81301487E486C495AA2B5495AA24B5A5E151F
4B5A6C4849CBFC15FEEBFC01393FF807FC391FF03FF06CB55A6C5C6C91CCFCC613FCEB1F
E04E5D7DBF55>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fk cmr10 10 36
/Fk 36 122 df<121C127FEAFF80A213C0A3127F121C1200A412011380A2120313005A12
06120E5A5A5A12600A19798817>44 D<121C127FEAFF80A5EA7F00121C0909798817>46
D<EB01C013031307131F13FFB5FCA2131F1200B3B3A8497E007FB512F0A31C3879B72A>
49 D<EB0FF0EB7FFE48B57E3903E03FE0390F000FF0000E6D7E486D7E486D7E12300070
6D7E126012FCB4EC7F807FA56CC7FC121CC8FCEDFF00A34A5A5D14035D4A5A5D140F4A5A
4A5A92C7FC147C5C495A495A495A495A91C8FC011EEB01805B5B49130348481400485A48
5A000EC75A000FB6FC5A5A485CB6FCA321387CB72A>I<EB07F8EB3FFF4913C03901F80F
F03903C007F848486C7E380E0001000F80381FE0006D7FA56C5A6C5AC85A1401A25D4A5A
A24A5A5DEC0F80027EC7FCEB1FFCECFF809038000FE06E7EEC01FC816E7EED7F80A216C0
A2153F16E0A2121EEA7F80487EA416C049137F007F1580007EC7FC0070ECFF006C495A12
1E390F8003F83907F00FF00001B512C06C6C90C7FCEB0FF8233A7DB72A>I<1538A3157C
A315FEA34A7EA34A6C7EA202077FEC063FA2020E7FEC0C1FA2021C7FEC180FA202387FEC
3007A202707FEC6003A202C07F1501A2D901807F81A249C77F167FA20106810107B6FCA2
4981010CC7121FA2496E7EA3496E7EA3496E7EA213E0707E1201486C81D80FFC02071380
B56C90B512FEA3373C7DBB3E>65 D<913A01FF800180020FEBE003027F13F8903A01FF80
7E07903A03FC000F0FD90FF0EB039F4948EB01DFD93F80EB00FF49C8127F01FE153F1201
4848151F4848150FA248481507A2485A1703123F5B007F1601A35B00FF93C7FCAD127F6D
ED0180A3123F7F001F160318006C7E5F6C7E17066C6C150E6C6C5D00001618017F15386D
6C5CD91FE05C6D6CEB03C0D903FCEB0F80902701FF803FC7FC9039007FFFFC020F13F002
011380313D7BBA3C>67 D<B648B512FEA30001902680000313006C90C76C5AB3A491B6FC
A391C71201B3A6486D497EB648B512FEA337397DB83E>72 D<B649B5FCA3000101809038
007FF06C90C8EA3F80053EC7FC173C17385F5F4C5A4C5A4CC8FC160E5E5E5E5E4B5AED07
80030EC9FC5D153E157E15FF5C4A7F4A6C7E140E4A6C7E4A6C7E14704A6C7E4A6C7E1480
4A6C7E6F7EA26F7F707EA2707E707EA2707EA2707E707EA2707E707F8484486D497FB601
1FEBFF80A339397DB841>75 D<B612E0A3000101C0C8FC6C90C9FCB3AD1718A517381730
A31770A317F0A216011603160FEE1FE0486D13FFB8FCA32D397DB834>I<B712C016F816
FE000190398001FF806C90C7EA3FC0EE0FE0EE07F0EE03F817FC17FE1601A217FFA717FE
A2EE03FCA2EE07F817F0EE0FE0EE3FC0923801FF0091B512FC16F091C9FCB3A5487FB6FC
A330397DB839>80 D<B612FEEDFFE016F8000190388007FE6C90C76C7EEE3FC0707E707E
707EA2707EA283A65FA24C5AA24C5A4C5AEE3F8004FFC8FCED07FC91B512E05E9138000F
F0ED03F8ED00FE82707E707EA2161F83A583A6F00180A217F8160F1803486D01071400B6
6D6C5A04011306933800FE0ECAEA3FFCEF07F0393B7DB83D>82 D<D90FF813C090383FFE
0190B512813903F807E33907E000F74848137F4848133F48C7121F003E140F007E1407A2
007C140312FC1501A36C1400A37E6D14006C7E7F13F86CB47E6C13F8ECFF806C14E06C14
F86C14FEC680013F1480010714C0EB007F020713E0EC007FED3FF0151F150FED07F8A200
C01403A21501A37EA216F07E15036C15E06C14076C15C06C140F6DEB1F80D8FBF0EB3F00
D8F0FE13FE39E03FFFF8010F13E0D8C00190C7FC253D7CBA2E>I<003FB812E0A3D9C003
EB001F273E0001FE130348EE01F00078160000701770A300601730A400E01738481718A4
C71600B3B0913807FF80011FB612E0A335397DB83C>I<B6903807FFFEA3000101809038
007FE06C90C8EA1F80EF0F001706B3B2170E6D150C80171C133F17186D6C14385F6D6C14
F06D6C5C6D6C495A6D6CEB07806D6C49C7FC91387F807E91381FFFF8020713E09138007F
80373B7DB83E>I<007FB590383FFFFCA3C601F801071380D97FE0D903FCC7FC013FEC01
F06D6C5C5F6D6C5C6D6C13034CC8FC6D6C1306160E6D6C5B6DEB8018163891387FC0306E
6C5A16E06E6C5A91380FF18015FB6EB4C9FC5D14036E7EA26E7F6F7EA24B7E15DF913801
9FF09138038FF8150F91380607FC91380E03FE140C4A6C7EEC38000230804A6D7E14E04A
6D7E49486D7E130391C76C7E01066E7E130E010C6E7E011C1401013C8101FE822607FF80
010713E0B500E0013FEBFF80A339397EB83E>88 D<EB1FE0EBFFFC3803E03F3907000F80
390F8007E0486C6C7E13E06E7EA26E7E6C5A6C5AC8FCA4147FEB07FFEB3FE0EBFE00EA03
F8EA0FF0EA1FC0123F485A90C7FC160C12FEA31401A26C13036CEB077C903980063E1838
3FC01E3A0FE0781FF03A03FFF00FE03A007F8007C026277DA52A>97
D<EA03F012FFA3120F1203B0EC1FE0EC7FF89038F1E03E9039F3801F809039F7000FC001
FEEB07E049EB03F049EB01F85BED00FCA216FEA2167E167FAA167E16FEA216FC15016D14
F8ED03F07F01EEEB07E001C6EB0FC09039C7801F00903881E07E903800FFF8C7EA1FC028
3B7EB92E>I<EB03FC90381FFF8090387E03E03901F80070484813F83907E001FC380FC0
03A2EA1F80123F90380001F848EB00F01500A2127E12FEAA127E127FA26C14067F001F14
0E6D130C000F141C6C6C13386C6C13706C6C13E039007C07C090381FFF00EB07F81F277D
A525>I<ED0FC0EC03FFA3EC003F150FB0EB03F8EB1FFF90387E078F9038F801EF3903F0
007F4848133F4848131FA24848130F123F90C7FC5AA2127E12FEAA127E127FA27EA26C6C
131FA26C6C133F6C6C137F6C6CEBEFF03A01F801CFFF39007C078F90381FFE0FD907F813
C0283B7DB92E>I<EB07F8EB1FFF90387C0FC03901F803E03903F001F0D807E013F8380F
C0004848137CA248C7127E153E5A153F127E12FEA3B7FCA248C8FCA5127EA2127FA26C14
037F001F14076C6C13060007140E6D131CD801F013386C6C137090387E03E090381FFF80
903803FC0020277EA525>I<147E903803FF8090380FC1E0EB1F8790383F0FF0137EA213
FCA23901F803C091C7FCADB512FCA3D801F8C7FCB3AB487E387FFFF8A31C3B7FBA19>I<
ED03F090390FF00FF890393FFC3C3C9039F81F707C3901F00FE03903E007C03A07C003E0
10000FECF000A248486C7EA86C6C485AA200075C6C6C485A6D485A6D48C7FC38073FFC38
060FF0000EC9FCA4120FA213C06CB512C015F86C14FE6CECFF804815C03A0F80007FE048
C7EA0FF0003E140348140116F8481400A56C1401007C15F06CEC03E0003F1407D80F80EB
0F80D807E0EB3F003901FC01FC39007FFFF0010790C7FC26387EA52A>I<EA03F012FFA3
120F1203B0EC0FF0EC3FFCECF03F9039F1C01F809039F3800FC0EBF70013FE496D7EA25B
A35BB3A3486C497EB500C1B51280A3293A7EB92E>I<EA0380EA0FE0487EA56C5AEA0380
C8FCAAEA03F012FFA312071203B3AA487EB512C0A312387EB717>I<EA03F012FFA3120F
1203B1913801FFFCA39138007FC01600157C15705D4A5A4A5A4AC7FC141E1438147814FC
13F1EBF3FEEBF73F01FE7FEBF81F496C7E8114076E7E6E7E811400157E157F811680ED1F
C0486CEB3FF0B500C0B5FCA3283A7EB92C>107 D<EA03F012FFA3120F1203B3B3AD487E
B512C0A3123A7EB917>I<2703F00FF0EB1FE000FFD93FFCEB7FF8913AF03F01E07E903B
F1C01F83803F3D0FF3800FC7001F802603F70013CE01FE14DC49D907F8EB0FC0A2495CA3
495CB3A3486C496CEB1FE0B500C1B50083B5FCA340257EA445>I<3903F00FF000FFEB3F
FCECF03F9039F1C01F803A0FF3800FC03803F70013FE496D7EA25BA35BB3A3486C497EB5
00C1B51280A329257EA42E>I<EB03FE90380FFF8090383E03E09038F800F84848137C48
487F48487F4848EB0F80001F15C090C712074815E0A2007EEC03F0A400FE15F8A9007E15
F0A2007F14076C15E0A26C6CEB0FC0000F15806D131F6C6CEB3F006C6C137EC66C13F890
387E03F090381FFFC0D903FEC7FC25277EA52A>I<3807E01F00FFEB7FC09038E1E3E090
38E387F0380FE707EA03E613EE9038EC03E09038FC0080491300A45BB3A2487EB512F0A3
1C257EA421>114 D<EBFF03000313E7380F80FF381E003F487F487F00707F12F0A2807E
A27EB490C7FCEA7FE013FF6C13E06C13F86C7F00037FC67F01071380EB007F141F00C0EB
0FC01407A26C1303A37E15806C13077EEC0F00B4131E38F3C07C38E1FFF038C03F801A27
7DA521>I<1318A51338A31378A313F8120112031207001FB5FCB6FCA2D801F8C7FCB215
C0A93800FC011580EB7C03017E13006D5AEB0FFEEB01F81A347FB220>I<D803F0EB07E0
00FFEB01FFA3000FEB001F00031407B3A4150FA3151F12016D133F0000EC77F86D9038E7
FF8090383F03C790381FFF87903A03FC07E00029267EA42E>I<B53A1FFFE03FFEA3260F
F8009038000FF86C48017EEB03E018C00003023EEB0180A26C6C013FEB0300A36C6CEC80
06156FA2017E9038EFC00C15C7A2D93F016D5A15830281EBF038D91F831430150102C3EB
F87090260FC6001360A2D907E66D5A02EC137CA2D903FCEB7F804A133FA2010192C7FC4A
7FA20100141E4A130E0260130C37257EA33C>119 D<B538803FFEA33A0FF8000FF06C48
EB07C00003EC03806C7E16007F00001406A2017E5BA2137F6D5BA26D6C5AA2ECC070010F
1360A26D6C5AA214F101035BA2D901FBC7FCA214FF6D5AA2147CA31438A21430A2147014
60A25CA2EA7C0100FE5B130391C8FC1306EAFC0EEA701C6C5AEA1FF0EA0FC027357EA32C
>121 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fl cmbx10 10 6
/Fl 6 115 df<B500F80403B512F06E5EA26E5ED8007FF1E000A2D97BFF161EA201796D
5DA201786D5DA26E6C5DA36E6C4A5AA26E6C4A5AA26E6C4A5AA26E6C4A5AA26E6C141EA3
6E6D5BA26E6D5BA26F6C5BA26F6C485AA36F6C485AA26F6C485AA26F6C48C7FCA2923803
FF1EA36F13BCA26F13F8A2705AA2705AA213FCB500FC6D4848B612F0A2EE0F80EE070054
397DB85B>77 D<EB3FFE0003B512E0000F14F8391FF00FFE003FEB03FF6D6C7F6E7FA26F
7EA26C5A6C5AEA0380C8FCA2EC3FFF010FB5FC137F3901FFF87F00071380380FFE00EA3F
F85B485A12FF5BA415FF6D5A127F263FF00713F83B1FFC1FBFFFC0390FFFFE1F0003EBF8
0F39003FE0032A257DA42E>97 D<EE7F80ED7FFFA4150381AF903801FF81010F13F1013F
13FD9038FFC07F0003EB001FD807FC1307000F8048487F5B123FA2485AA312FFAA127FA2
7F123FA26C6C5B000F5C6C6C5B6C6C4913C02701FF80FD13FE39007FFFF9011F13E10103
13012F3A7DB935>100 D<EA01F0EA07FC487EA2487EA56C5AA26C5AEA01F0C8FCA913FF
127FA412077EB3A9B512F8A4153B7DBA1B>105 D<01FEEB7FC000FF903803FFF8020F13
FE91381F03FFDA3C011380000713780003497E6D4814C05CA25CA291C7FCB3A3B5D8FC3F
13FFA430257DA435>110 D<9038FE03F000FFEB0FFEEC3FFF91387C7F809138F8FFC000
075B6C6C5A5CA29138807F80ED3F00150C92C7FC91C8FCB3A2B512FEA422257EA427>
114 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fm cmr7 7 1
/Fm 1 50 df<13381378EA01F8121F12FE12E01200B3AB487EB512F8A215267BA521>49
D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fn cmr8 8 37
/Fn 37 122 df<9138FF807E01079038E1FF80903A1F807FC3C0D93E00EB87E049EBFF07
4913FE485A00039138FC018049017CC7FCAAB712FCA22703E0007CC7FCB3A6486C13FE3A
7FFF0FFFF0A22B2F7FAE29>11 D<14FF010713E090381F80F090383E003849137C4913FC
485A1203491378153092C7FCA7157CB612FCA23803E000157CB3A5486C13FE3A7FFF0FFF
E0A2232F7FAE27>I<EC0380B3A4B812FCA3C7D80380C7FCB3A42E2F7CA737>43
D<EB3FC0EBFFF03803E07C48487E48487E497E001EEB0780A2003E14C0A248EB03E0A500
FC14F0B0007C14E0A3007E1307003E14C0A36CEB0F806C14006D5A3807C03E3803F0FC38
00FFF0EB3FC01C2D7DAB23>48 D<130C133C137CEA03FC12FFEAFC7C1200B3B113FE387F
FFFEA2172C7AAB23>I<EB7F803801FFF0380780FC380E003F48EB1F8048EB0FC05A0060
EB07E012F000FC14F07E1403A3007C1307C7FCA215E0140F15C0141F1580EC3F00147E14
7C5C495A495A495A495A011EC7FC5B5B4913305B485A4848136048C7FC000E14E0001FB5
FC5A4814C0B6FCA21C2C7DAB23>I<EB3FC03801FFF03807C0FC380E007E487FEC1F8000
3F14C0A2EB800F1300A2000C131FC7FC1580A2EC3F00143E5C5CEB03F0EBFFC014F0EB00
FC143FEC1F8015C0140F15E0A2EC07F0A21238127C12FEA3EC0FE012F8006014C0007013
1F6C1480001EEB3F00380780FC3801FFF038007FC01C2D7DAB23>I<140EA2141E143EA2
147E14FEA2EB01BE1303143E1306130E130C131813381330136013E013C0EA0180120313
001206120E120C5A123812305A12E0B612FCA2C7EA3E00A9147F90381FFFFCA21E2D7EAC
23>I<000CEB0180380FC01F90B512005C5C14F014C0D80C7EC7FC90C8FCA8EB1FC0EB7F
F8380DE07C380F801F01001380000E130F000CEB07C0C713E0A2140315F0A4127812FCA4
48EB07E012E0006014C00070130F6C14806CEB1F006C133E380780F83801FFE038007F80
1C2D7DAB23>I<EB03F8EB0FFE90383E0780EBF8013901F007C03803E00FEA07C0EA0F80
A2391F00078091C7FC123EA2127EA2127CEB0FC038FC3FF0EBF07C38FDC01EB4487E0100
1380EC07C04814E0A214034814F0A4127CA3127EA2003E14E01407121E001F14C06CEB0F
803907801F003803C03E6C6C5A38007FF0EB1FC01C2D7DAB23>I<EB3F80EBFFF03803E0
783807C03E48487E48487E003E14801407007E14C0127C00FC14E01403A315F0A5007C13
07127EA2003E130F7E6C131F3807803B3803E0F33800FFC390383F03E013001407A215C0
A2140F001E1480003F14005C143E143C003E5B001C5B380E03E03807FF80D801FEC7FC1C
2D7DAB23>57 D<4A7E4A7EA34A7EA24A7EA3EC1BF81419A2EC30FCA2EC70FEEC607EA24A
7EA349486C7EA2010380EC000FA201066D7EA3496D7EA2011FB57EA29038180001496D7E
A349147EA201E0147F4980A20001ED1F801203000716C0D80FF0EC3FE0D8FFFC0103B5FC
A2302F7EAE35>65 D<B612FCEDFF803A03F8000FC00001EC03F06F7E6F7E82167E167FA6
167E16FE5E4B5A4B5AED0FE0ED7F8090B6C7FC16E09039F80003F0ED01FC6F7E167F8217
80161F17C0A61780163F17005E16FEED03FC0003EC0FF0B712C04BC7FC2A2D7DAC32>I<
B612F815FF3A03F8001FE00001EC03F0ED00F8167E82EE1F80160F17C0EE07E0A2EE03F0
A217F81601A317FCAA17F8A3EE03F0A217E0160717C0160FEE1F80EE3F00167E5EED03F0
0003EC1FE0B7128003F8C7FC2E2D7DAC36>68 D<B712FEA23903F800010001EC003E8282
82A282A3178016011518A293C7FCA31538157815F890B5FCA2EBF800157815381518A217
60A392C712C0A4160117801603A21607160F163F0003913801FF00B8FCA22B2D7EAC30>
I<B612FCEDFF803A03F8000FE00001EC03F0ED00F882167E167F821780A617005E167E5E
5EED03F0ED0FE090B6128003FCC7FC01F8C9FCB2487EB512F0A2292D7EAC30>80
D<90383F80303901FFF0703807C07C390F000EF0001E13074813034813011400127000F0
1470A315307EA26C1400127E127FEA3FE013FE381FFFE06C13FC6C13FF00011480D8003F
13E013039038003FF0EC07F81401140015FC157C12C0153CA37EA215787E6C14706C14F0
6CEB01E039F78003C039E3F00F0038E07FFE38C00FF01E2F7CAD27>83
D<B500C090380FFFC0A2D807FCC73803FE006C48EC00F800015E5F6C7E5F6D1401017E5D
A26D4AC7FCA26E5B011F140680010F5CA26D6C5BA26E133801031430A26D6C5BA26E13E0
01005C8091387E0180A26E48C8FCA21583EC1F86A2EC0FCCA215FC6E5AA26E5AA36E5AA2
6E5A322E7FAC35>86 D<EAFFE0A3EAE000B3B3B3A7EAFFE0A30B4379B114>91
D<EAFFE0A31200B3B3B3A712FFA30B437FB114>93 D<13FF000713C0380F01F0381C00F8
003F137C80A2143F001E7FC7FCA4EB07FF137F3801FE1FEA07F0EA1FC0EA3F80EA7F0012
7E00FE14065AA3143F7E007E137F007FEBEF8C391F83C7FC390FFF03F83901FC01E01F20
7D9E23>97 D<EB1FE0EB7FFC3801F01E3803E0073907C01F80EA0F80EA1F005A003EEB0F
00007E90C7FCA2127C12FCA9127EA215C07E6C130101801380380FC0033907E007003801
F03E38007FF8EB1FC01A207E9E1F>99 D<15F8141FA214011400ACEB0FE0EB7FF83801F8
1E3803E0073807C003380F8001EA1F00481300123E127EA25AA9127C127EA2003E13017E
EB8003000F13073903E00EFC3A01F03CFFC038007FF090391FC0F800222F7EAD27>I<EB
1F80EBFFF03803E0783807C03E380F801E381F001FEC0F80123E007E130715C0127C12FC
A3B6FCA200FCC8FCA5127EA2003E14C0123F6C1301390F80038001C013003803E00F3801
F03C38007FF8EB1FC01A207E9E1F>I<EB03F0EB0FFCEB3E1EEB7C3F13F8EA01F0A23803
E00C1400AAB512E0A23803E000B3A6487E387FFF80A2182F7FAE16>I<EA0780EA0FC0EA
1FE0A4EA0FC0EA0780C7FCA8EA07C012FFA2120F1207B3A5EA0FE0EAFFFCA20E2E7EAD14
>105 D<130FEB1F80EB3FC0A4EB1F80EB0F0090C7FCA8EB07C013FFA2130F1307B3AD12
30127838FC0F80A21400485AEA783EEA3FF8EA07E0123C83AD16>I<EA07C012FFA2120F
1207ADEC1FFEA2EC0FF0EC07C05D020EC7FC5C5C5C5CEBC3C013C7EBCFE0EBDFF013F9EB
F0F8497EEBC07E143E80816E7E14076E7E816E7E486C487E3AFFFE07FF80A2212E7EAD25
>I<2607C07FEB07F03BFFC3FFC03FFC903AC783F0783F3C0FCE01F8E01F803B07DC00F9
C00F01F8D9FF8013C04990387F000749137EA249137CB2486C01FEEB0FE03CFFFE0FFFE0
FFFEA2371E7E9D3C>109 D<3807C0FE39FFC3FF809038C703E0390FDE01F0EA07F8496C
7EA25BA25BB2486C487E3AFFFE1FFFC0A2221E7E9D27>I<EB1FE0EB7FF83801F03E3803
C00F3907800780390F0003C04814E0003EEB01F0A248EB00F8A300FC14FCA9007C14F8A2
6CEB01F0A26CEB03E0A2390F8007C03907C00F803901F03E0038007FF8EB1FE01E207E9E
23>I<3807C0FE39FFC7FF809038CF03E0390FDC01F03907F800FC49137E49133E49133F
ED1F80A3ED0FC0A8151F1680A2ED3F00A26D137E6D137C5D9038FC01F09038CE07E09038
C7FF80D9C1FCC7FC01C0C8FCA9487EEAFFFEA2222B7E9D27>I<380781F838FF87FEEB8E
3FEA0F9CEA07B813B0EBF01EEBE000A45BB0487EB5FCA2181E7E9D1C>114
D<3801FE183807FFB8381E01F8EA3C00481378481338A21418A27E7EB41300EA7FF06CB4
FC6C13C06C13F0000113F838001FFC130138C0007E143EA26C131EA27EA26C133CA26C13
7838FF01F038E3FFC000C0130017207E9E1C>I<1360A413E0A312011203A21207121FB5
12F0A23803E000AF1418A714383801F03014703800F860EB3FE0EB0F80152A7FA81B>I<
3AFFFC07FF80A23A0FF003FC000003EB01F0000114C06D485A000091C7FCEB7C06EB3E0E
6D5A14B8EB0FB0EB07E013036D7E497E1307EB067C497EEB1C1F01387FEB700F496C7E6E
7ED803C07F00076D7E391FE003FC3AFFF007FFC0A2221D7F9C25>120
D<3AFFFC01FFC0A23A0FE0007E000007147C1538000314306D137000011460A26C6C5BA2
EBFC01017C5BEB7E03013E90C7FCA2EB1F06A2148EEB0F8CA2EB07D8A2EB03F0A36D5AA2
6D5AA2495AA2130391C8FC1278EAFC06A25B131CEA7838EA7070EA3FE0EA0F80222B7F9C
25>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fo cmmi12 12 16
/Fo 16 122 df<EB01FCD907FF15E0011F13C0017F6DEB01C090B56C1480486E13032603
FE0715002707F000FC5B01C0017C130648C76C130E001E021E130C001C80003C6E131C00
381618486E1338EE8030006002011370176000E016E0C86D5A150016C15F16C394C7FC16
E316E71666166E166CA2167C1678A3167016F05EA35EA31501A25E1503A44BC8FCA35D15
0EA45DA45DA333417EAB33>13 D<1730A317701760A317E05FA316015FA3160394C8FCA3
5E1606A3160E160C013E1607D9FF80ED1F802603C3C0011CEB3FC0260703E01318260601
F0157F000E173F001C1538D818030230131F0038170F0030170700701570D86007026013
035CA2D8E00F02E0148000C049491301EA001F4A150303011500013F5C14006049010314
06017E91C7FC180E180C01FE49141C4901061418183860030E1460030C14E04D5A4D5A03
1C49C7FC0318130E017E5D5F6D01385B90261F80305BD90FC0EB03C0D907F0010FC8FC90
3901FE707C9039003FFFF002031380DA0060C9FC15E05DA314015DA3140392CAFCA35C14
06A3140E140C3A597DC43F>32 D<EC07FE91387FFFC049B512F0010714F890391FF003FE
49C7127E0178143E01E0140848481400485A90C9FC5A1206A412077EEB803E3901E7FFC0
39007FC1E014FFD801E75BD80380C8FC48C9FC120E5A5A5A1260A212E05AA4ED01806C14
036C150000705C0078140E003E143C391FC003F86CB512E000035CC649C7FCEB1FF0272F
7EAC2E>34 D<F101C04F7E190186A21900861A781A7C86A286747EA2747E747E87747E74
7E1B7E87F31F80F30FC0F307F0007FBC12F8BD12FEA27E571C7BB262>42
D<137EEA01FF1207EA0FFEEA1FC0EA3F00127C127812F85AA67E1278127C123FEA1FC0EA
0FFEEA07FF1201EA007E10187BAE1B>44 D<121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A
0A78891B>58 D<121EEA7F8012FF13C0A213E0A3127FEA1E601200A413E013C0A3120113
80120313005A1206120E5A5A5A12600B1D78891B>I<F001C0F007E0181FF07FC0943801
FF00EF07FCEF1FF0EF7FC04C48C7FCEE0FFCEE3FF0EEFFC0030390C8FCED0FF8ED3FE0ED
FF80DA03FEC9FCEC1FF8EC7FE0903801FF80D907FECAFCEB1FF0EB7FC04848CBFCEA07FC
EA1FF0EA7FC048CCFCA2EA7FC0EA1FF0EA07FCEA01FF38007FC0EB1FF0EB07FE903801FF
809038007FE0EC1FF8EC03FE913800FF80ED3FE0ED0FF8ED03FF030013C0EE3FF0EE0FFC
EE01FF9338007FC0EF1FF0EF07FCEF01FF9438007FC0F01FE01807F001C03B3878B44C>
I<127012FCB4FCEA7FC0EA1FF0EA07FCEA01FF38007FC0EB1FF0EB07FE903801FF809038
007FE0EC1FF8EC03FE913800FF80ED3FE0ED0FF8ED03FF030013C0EE3FF0EE0FFCEE01FF
9338007FC0EF1FF0EF07FCEF01FF9438007FC0F01FE0A2F07FC0943801FF00EF07FCEF1F
F0EF7FC04C48C7FCEE0FFCEE3FF0EEFFC0030390C8FCED0FF8ED3FE0EDFF80DA03FEC9FC
EC1FF8EC7FE0903801FF80D907FECAFCEB1FF0EB7FC04848CBFCEA07FCEA1FF0EA7FC048
CCFC12FC12703B3878B44C>62 D<15C0A54A7EA84A7EA500FCEE0FC0D87FE0913801FF80
D81FFF91383FFE0000079039FBF7FFF8000190B612E0D8003F92C7FC010F14FC010314F0
010014C0023F90C8FC6E5AA24A7E4A7FA29138FF3FC0ECFE1F49486C7EECF80749486C7E
49486C7EECC0004948137C91C7123C49143E011E141E4980013880496E7E016014013230
81B031>I<91B87E19F019FC02009039C00007FF6F489038007FC003FFED1FE0737E93C8
6C7E737E19014A707E5D1A7FA20203EF3F805DA21BC014075DA3140F4B17E0A3141F4B17
C0A3143F4B167FA3027F18804B16FFA302FF180092C95A62A24917034A5F19076201034D
5A5C4F5A620107173F4A5F4FC7FC19FE010F4C5A4A15034E5AF00FE0011F4C5A4A4B5A06
FFC8FC013FED01FCEF0FF84AEC3FE001FF913803FF80B848C9FC17F094CAFC4B447CC351
>68 D<EC0FC0EC7FF0903901F8381C903907E01C7E90380FC00E90393F0007FE496D5A13
FE485A49130100035D485A120F491303001F5DA2485A1507007F5D5BA2150F00FF5D90C7
FCA2151F5E5AA2033F1330EE00701760A24B13E017C015FE007E130102031301003ED907
3E1380003F010E13036C011C14006C6C486C5A3A07C0F00F0E3A01FFC007FC3A007F0001
F02C2D7CAB33>97 D<01F8D903FCEC7F80D803FED91FFF903803FFE0D8071F903B7C0FC0
0F81F83E0E0F80E007E01C00FC001C9026C3C0030178137C271807C700D9F0E0137E02CE
902601F1C0133E003801DCDAFB80133F003001D892C7FCD90FF814FF0070495C0060495C
A200E04949485CD8C01F187E4A5C1200040715FE013F6091C75BA2040F14014960017E5D
1903041F5D13FE494B130762043F160E0001060F130C4992C713C0191F4CED801C00031A
1849027E1638F2003004FE167000071A60494A16E0F201C0030192380F0380000FF18700
494AEC03FED80380D90070EC00F84F2D7DAB55>109 D<01F8EB03FCD803FEEB1FFFD807
1F90387C0FC03B0E0F80E007E03A0C07C3C003001CD9C7007F001801CE1301003801DC80
003013D8EB0FF800705B00605BA200E0491303D8C01F5D5C12001607013F5D91C7FCA216
0F495D137E161F5F13FE49143F94C7FC187000014B136049147E16FE4C13E0000317C049
150104F81380170300071700495D170EEE781C000FED7C3849EC1FF0D80380EC07C0342D
7DAB3A>I<02FCEB07E0903A03FF801FFC903A0F07C0781E903A1C03E0E01F903A3801F1
C07FD9700013804901FB13FF4848EBFF00495B000316FE90C71438484A13001206140100
0E5C120CC7FC14035DA314075DA3140F5DA3021F143817305D1770023F1460121E003F16
E0267F807FEB01C0026F148000FF01EF1303D901CFEB070000FE903887C00E267C03835B
3A3C0F01E0783A1FFC00FFE0D803F0EB3F80302D7EAB37>120 D<133ED9FF8014E02603
C3C0EB03F0380703E0380601F0000E1507001C16E0EA180312380030150F007016C0EA60
075C161FD8E00F158000C05BEA001F4A133F1700133F91C7FC5E49147E137EA216FE01FE
5C5BA215015E485AA215035EA200001407150F6D5C017C131F153F6D13FF90391F03CFC0
903807FF8F903801FC0F90C7121F5EA2153F93C7FCD807C05BD81FE0137E5DA24848485A
4A5A01805B39380007C00018495A001C49C8FC6C137C380781F83803FFE0C66CC9FC2C40
7DAB30>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fp cmbx12 14.4 46
/Fp 46 122 df<EEFFFC031FEBFF804AB612E0020781021F9038C00FF8913A7FFE0003FC
DAFFF0EB00FE4949EB03FF4901805B4990C7487F49485CA2495A4D7F013F6F5B5CA37190
C7FC715AEF01F894C9FCA90403B512C0BAFCA526003FFCC7120783B3B3A6003FB5D8FC03
B612C0A542547DD34B>12 D<151E153E157E15FCEC01F8EC07F0EC0FE0EC1FC01580143F
EC7F0014FE1301495A5C1307495AA2495A133F5C137FA2495AA24890C7FCA25A5BA21207
A2485AA3121F5BA3123FA25BA3127FA55B12FFB3A3127F7FA5123FA37FA2121FA37F120F
A36C7EA21203A27F7EA26C7FA26D7EA2133F80131F6D7EA26D7E1303806D7E1300147FEC
3F80141F15C0EC0FE0EC07F0EC01F8EC00FC157E153E151E1F7973D934>40
D<127012F8127C127E7EEA1FC06C7E6C7E12037F6C7E6C7E7F6D7E133F806D7EA26D7E80
130780A26D7EA26D7EA215807FA215C0A2EC7FE0A315F0143FA315F8A2141FA315FCA514
0F15FEB3A315FC141FA515F8A3143FA215F0A3147F15E0A3ECFFC0A21580A25B1500A249
5AA2495AA25C130F5C495AA2495A5C137F49C7FC5B485A485A5B1207485A485A48C8FC12
7E127C5A12701F7979D934>I<B712F0AB240B7F9F2D>45 D<EC3FFE0103B512E0010F14
FC013F14FF90B712C048D9C07F7F2703FE000F13F8D807F801037FD80FE06D7F48486D7F
48488001F01680486C6E13C07F486C6E13E07FA27013F0A56C5AA26C5AEA0FF0EA03C0C9
14E05EA218C05E1880A24C13005F4C5A4B5B5F4B5B5F4B5B4B90C7FC4B5A5E4B5AED7FE0
4B5A4A5B4A48C8FC4A5A5D4A48EB01F04A5AEC3F804AC7FC02FEEC03E0495A495A495A49
5AD91F80140749C8FC013E150F017FB7FC90B812C05A5A5A5A5A5A5AB9FC1880A4344E79
CD43>50 D<177C17FE1601A216031607160FA2161F163F167F16FFA25D5D5DA2ED0FBF15
1FED3F3F157E157C15F81401EC03F0EC07E015C0140FEC1F80EC3F00143E5C14FC495A49
5A5C495A130F495A91C7FC133E137E5B485A5B485A1207485A5B48C8FC5A127E5ABA12C0
A5C96C48C7FCAF020FB712C0A53A4E7CCD43>52 D<ED0FFF92B512E0020780021F14FC91
397FFE03FE903A01FFF0007F4901C0EB3F804990C7121F4948EC7FC0494814FF49484913
E049485B01FF5C485BA2485B5AA2486F13C04A6D1380486F1300177E94C7FC5AA291CAFC
5AA21508913801FFF8020713FFB54814C04A14F04AC66C7E023C6D7E4A6D7E4A6D7E7013
804A15C0A24A15E07013F05C18F8A491C714FCA37EA67EA46C17F880A27E18F06C5D18E0
6C6D15C07E6E4913806C6D15006D6C495A6D6CEB7FFC6DB448485A6D90B55A010315C001
0092C7FC023F13FC020713C0364F7ACD43>54 D<171F4D7E4D7EA24D7EA34C7FA24C7FA3
4C7FA24C7FA34C7FA24C80A283047F80EE7E3F04FE8016FC830301814C7E03038116F083
0307814C7E030F8116C083031F814C7E033F8293C7FC844B82037E8003FE825D84020183
4B800203835D840207834B80020F8392B8FCA24A83A24A8492C9FC854A84027E8202FE84
5C850101854A820103855C850107854A82010F855C011F83D9FFFC84B600F8020FB712E0
A55B537BD266>65 D<BA12C019FEF1FFC01AF01AFCD8000701F0C7000313FFDE007F7F73
7F070F7F737F878587858785A287A84F5BA263616361634F5B4F5B077F90C7FC4E485A06
0713F892B812E097C8FC861AF003F0C7000313FE9539003FFF80070F13E0737F07017F87
737F747E1C807413C0A27413E0A31CF0A386A362A31CE0A2621CC0A250138097B5FC1C00
4F5B19074F5B073F13F04EB55ABC128098C7FC1AF81AC007F8C8FC54527CD160>I<9326
01FFFCEC01C0047FD9FFC013030307B600F81307033F03FE131F92B8EA803F0203DAE003
EBC07F020F01FCC7383FF0FF023F01E0EC0FF94A01800203B5FC494848C9FC4901F88249
49824949824949824949824990CA7E494883A2484983485B1B7F485B481A3FA24849181F
A3485B1B0FA25AA298C7FC5CA2B5FCAE7EA280A2F307C07EA36C7FA21B0F6C6D1980A26C
1A1F6C7F1C006C6D606C6D187EA26D6C606D6D4C5A6D6D16036D6D4C5A6D6D4C5A6D01FC
4C5A6D6DEE7F806D6C6C6C4BC7FC6E01E0EC07FE020F01FEEC1FF80203903AFFE001FFF0
020091B612C0033F93C8FC030715FCDB007F14E0040101FCC9FC525479D261>I<BA7E19
FCF1FF801AF01AFCD8000701F0C7000F13FF060014C0071F7F070713F807017F737F747E
747F747F86747F747F8886888688A2757EA31D8087A21DC0A51DE0A387A963A31DC0A51D
80A2631D00A3515AA2646264505B6264505B505B5090C7FCF2FFFE4F5B07075B071F5B96
B512C0060F91C8FCBB5A1AF01AC007FCC9FC19805B527CD167>I<BC1280A5D8000701F8
C7000114C0F0001F19071901851A7F1A3F1A1FA2F20FE0A21A07A31A03A318F81BF01A01
A497C7FC1701A317031707170F177F92B6FCA59238F8007F170F170717031701A317001B
3EA31B7CA395C8FCA21BFCA21BF8A21A01A31A031BF01A071A0FA21A1F1A3FF27FE0F101
FF1907191F0603B5FCBCFCA21BC0A34F517CD058>I<BB12FEA5D8000701F8C700077FF0
007F191F190785858586861B80A21A1FA31A0FA41BC006F81307A497C7FCA31701A31703
1707170F177F92B6FCA59238F8007F170F170717031701A31700A795C9FCB3B812F8A54A
517CD055>I<B812F8A5D8000701F8CAFCB3B3A91A7CA41AFC1AF8A51901A31903A21907
1AF0190FA2191F193F197F19FF180360183F4DB5FCBB12E0A546527CD151>76
D<B600FC073FB512FE6F61A26F96B6FCA2D80007F5C00070EF01EFA202EF6DEF03CFA202
E76DEF078FA202E36DEF0F0FA202E16D171EA302E06D173CA26F6C1778A26F6C17F0A26F
6DED01E0A26F6DED03C0A36F6DED0780A26F6DED0F00A26F6D151EA26F6D5DA3706C5DA2
706C5DA2706D495AA2706D495AA2706D495AA3706D49C7FCA2706D131EA2706D5BA2716C
5BA3716C5BA271EB81E0A271EBC3C0A271EBE780A27101FFC8FCA3715BA2715BA2725AA2
725AA2D93FFC6F5AB74DB712FEA2725AA2725A77527CD180>I<B600F893B7FC81818182
D800076E9239003FFC00F307E082828202EF7F8214E702E37F02E18002E080836F7F816F
7F6F7F6F7F83816F806F80707F707F8482707F707F707F85827080717F717F717F858371
7F717F7114801AC0837213E07213F07213F87213FC1AFE847213FF7214877214C71BE773
13F7857313FF8585A28585858686A286868686A286861B7FD93FFC183FB7171FA21B0F1B
07755A60527CD169>I<93380FFFC00303B6FC031F15E092B712FC0203D9FC0013FF020F
01C0010F13C0023F90C7000313F0DA7FFC02007F494848ED7FFE4901E0ED1FFF49496F7F
49496F7F4990C96C7F49854948707F4948707FA24849717E48864A83481B804A83481BC0
A2481BE04A83A2481BF0A348497113F8A5B51AFCAF6C1BF86E5FA46C1BF0A26E5F6C1BE0
A36C6D4D13C0A26C6D4D1380A26C1B006C6D4D5A6E5E6C626D6C4C5B6D6D4B5B6D6D4B5B
6D6D4B5B6D6D4B5B6D6D4B90C7FC6D6D4B5A6D01FF02035B023F01E0011F13F0020F01FC
90B512C0020390B7C8FC020016FC031F15E0030392C9FCDB001F13E0565479D265>I<BA
FC19F819FF1AE086D8000701F0C7001F13FC060113FF726C13807313C0070F13E01BF085
7313F81BFCA27313FEA41BFFA81BFEA31BFC61A21BF84F13F04F13E0614F13C04F13004E
485A061F5B92B812F01AC04FC7FC19E003F8CBFCB3AEB812C0A550527CD15C>I<B912F0
F0FF8019F819FF1AC0D8000701F0C714F0060F7F060113FE727F737F737F85737F87A273
7FA387A863A2616363A24F5B4F5B4F90C8FC4F5A06035B060F13F095B512C092B8C9FC19
F819E019F89226F0000313FE9439007FFF80061F7F727F727F86727F8486A2727FA887A7
1D1C1D3E8785A275137E73157C7315FC736D13F8B86C6DEBF801739038FE07F07390B512
E0736C14C0080F1400CEEA7FFC5F537CD164>82 D<91260FFF80130791B500F85B010702
FF5B011FEDC03F49EDF07F9026FFFC006D5A4801E0EB0FFD4801800101B5FC4848C87E48
488149150F001F824981123F4981007F82A28412FF84A27FA26D82A27F7F6D93C7FC14C0
6C13F014FF15F86CECFF8016FC6CEDFFC017F06C16FC6C16FF6C17C06C836C836D826D82
010F821303010082021F16801400030F15C0ED007F040714E01600173F050F13F08383A2
00788200F882A3187FA27EA219E07EA26CEFFFC0A27F6D4B13806D17006D5D01FC4B5A01
FF4B5A02C04A5A02F8EC7FF0903B1FFFC003FFE0486C90B65AD8FC0393C7FC48C66C14FC
48010F14F048D9007F90C8FC3C5479D24B>I<003FBC1280A59126C0003F9038C0007F49
C71607D87FF8060113C001E08449197F49193F90C8171FA2007E1A0FA3007C1A07A500FC
1BE0481A03A6C994C7FCB3B3AC91B912F0A553517BD05E>I<B700FC017FB600FE91B612
F0A5D8003F01C0C8001F01E0C9EBF8006F71EE0FC06D7161876F1C1F6D7196C7FC6F8373
606D1E3E6F836D7160876F1CFC6D666F4B801F016D66704A806E525A88704A17076E059F
5F70021F80080F160F6E6570023F806EDC3E074CC8FC8870027E5F6EDC7C03163E7002FC
804F6C167E6E1C7C700101814F6C16FC6E745B70010317016E4C6D5D060716C00580496D
14036F63DDC00F16E04F6D14076F07F05BDDE01F170F6F92C76C5D1DF8DDF03E6E141F6F
98C9FCDDF87E16FC067C6E5C6FF1FE3EDDFCFC177E6F4A6E147C1DFFDDFFF06E14FC6F62
A24E816F62A270496F5BA24E817061A295C97E7061A270487090CAFCA37048705AA24D16
01040360A27048705A84537DD18B>87 D<EC7FFF0107B512F0013F14FE90B77E48D9E00F
7F2703FE000113F0486C6D7F6EEB3FFC48826E131F83707FA36C496D7FA26C90C7FC6C5A
C9FCA6037FB5FC020FB6FC91B7FC01071487013FEBF0074913803901FFFC004813F0485B
485B485B4890C7FC5A5BA2485AA45EA26D5C007F151D163D6C6C02797F6C6D01F113F86C
9026C003E0EBFFE06C9027F81FC07F13F06C90B5487EC64B7E011F01FC010713E0010101
E090C8FC3C387CB641>97 D<EB3FF0B5FCA51203C6FCB3A4923801FFE0030F13FE033FEB
FFC092B612F002F301017F913AF7F8003FFEDAFFE0EB0FFF03806D7F92C76C7F4A6E7F4A
824A6E7FA2727EA285A28584A31A80AC1A00A44E5AA36118FF616E4A5BA26E4A5B6E4A5B
6F495BDACFC04990C7FCDA87F0EB7FFC913A03FE03FFF849C6B612E0496D148049011F01
FCC8FC90C7000313C041547BD24B>I<913801FFF8021FEBFF8091B612F0010315FC010F
9038C00FFE903A1FFE0001FFD97FFC491380D9FFF05B4817C048495B5C5A485BA2486F13
8091C7FC486F1300705A4892C8FC5BA312FFAD127F7FA27EA2EF03E06C7F17076C6D15C0
7E6E140F6CEE1F806C6DEC3F006C6D147ED97FFE5C6D6CEB03F8010F9038E01FF0010390
B55A01001580023F49C7FC020113E033387CB63C>I<4DB47E0407B5FCA5EE001F1707B3
A4913801FFE0021F13FC91B6FC010315C7010F9038E03FE74990380007F7D97FFC0101B5
FC49487F4849143F484980485B83485B5A91C8FC5AA3485AA412FFAC127FA36C7EA37EA2
6C7F5F6C6D5C7E6C6D5C6C6D49B5FC6D6C4914E0D93FFED90FEFEBFF80903A0FFFC07FCF
6D90B5128F0101ECFE0FD9003F13F8020301C049C7FC41547CD24B>I<913803FFC0023F
13FC49B6FC010715C04901817F903A3FFC007FF04948EB1FF8D9FFE06D7E488248496D7E
48814A15805A4890C76C13C0A24817E0A282485A18F0A312FFA390B8FCA318E049CAFCA5
127FA46C7EA26C17E0EF01F06C7F17036C17E06C6D14076C6DEC0FC06CEE1F806D6CEC3F
00D93FFC14FE6D6CEB03FC903A0FFFC03FF8010390B55A010015C0021F49C7FC020113F0
34387CB63D>I<ED3FFC0203B5FC020F14C0023F14E09139FFF81FF0499038C03FF849EB
807F49903800FFFC495A495AA2495AA2EE7FF8495AEE3FF0EE0FC093C7FCAEB712E0A526
007FF8C8FCB3B3A7007FB512FEA52E547CD329>I<DA3FFF14FF0103B5D8F00713C0010F
DAFC1F13E0013FECFF7F90267FFC0F9038FF9FF09026FFE001EBF83F48496C13E0484990
387FF01F4890C7D83FF813E0489338FC0FC0F0078048486E6CC7FCA2003F82A9001F5EA2
6C6C4A5AA26C5E6C6D495A6C6D495A6C6D485BDAFC0F5B4890B6C8FCD803EF14FC01C314
F02607C03F90C9FC91CBFCA2120FA37FA213F813FE90B7FC6C16F817FF18C06C836C836C
836D828448B9FC12074848C700031480D81FF8EC003F4848150748486F13C083485A83A5
6D5D007F18806D5D003F18006C6C4B5AD80FFEED1FFC6C6C6CEC7FF86C01E049485A6C01
FE011F5B6C6CB71280010F03FCC7FC010115E0D9000F01FCC8FC3C4F7CB543>I<EB3FF0
B5FCA51203C6FCB3A4EE1FFC93B512C0030314F0030F8092391FE07FFC92393F001FFE03
7C8003F07FDAF1E081ECF3C0DAF7807F8502FFC7FC5CA25CA45CB3ACB6D8F807B612C0A5
42537BD24B>I<137F497E487F487F487F487FA76C5B6C5B6C5B6C5B6DC7FC90C8FCADEB
3FF0B5FCA512017EB3B3A6B612E0A51B547BD325>I<EB3FF0B5FCA51203C6FCB3A54CB5
12F8A59339003FFE00EF1FE04D5A4D5A4DC7FCEE01FCEE07F84C5A4C5AEE3F8004FFC8FC
4B5A4B5AED07F0ED1FE0153F4B7E4B7E02F37F02F77F91B5FC82039F7F030F7F4A7EDAF8
037F02F0806F7F6F7F167F707E83707F707F8284707F707F82717E84717E1980B6D8F003
B6FCA540537CD247>107 D<EB3FF0B5FCA512017EB3B3B3B1B612F0A51C537BD225>I<D9
3FF0D91FFCEDFFE0B591B500C0010713FE030302F0011F6D7E030F6E017F8092271FE07F
FCD9FF037F922A3F001FFE01F8007F0003027C9126FF03E080C602F06DD90780137FDAF1
E0038FC77FDAF3C0159EDAF7806D01BC143F07FC8102FFC75C4A5EA24A5EA44A5EB3ACB6
D8F807B6D8C03FB512FEA567367BB570>I<D93FF0EB1FFCB591B512C0030314F0030F80
92391FE07FFC92393F001FFE0003027C80C602F07FDAF1E081ECF3C0DAF7807F8502FFC7
FC5CA25CA45CB3ACB6D8F807B612C0A542367BB54B>I<913801FFE0021F13FE91B612C0
010315F0010F9038807FFC903A1FFC000FFED97FF86D6C7E49486D7F48496D7F48496D7F
4A147F48834890C86C7EA24883A248486F7EA3007F1880A400FF18C0AC007F1880A3003F
18006D5DA26C5FA26C5F6E147F6C5F6C6D4A5A6C6D495B6C6D495B6D6C495BD93FFE011F
90C7FC903A0FFF807FFC6D90B55A010015C0023F91C8FC020113E03A387CB643>I<903A
3FF001FFE0B5010F13FE033FEBFFC092B612F002F301017F913AF7F8007FFE0003D9FFE0
EB1FFFC602806D7F92C76C7F4A824A6E7F4A6E7FA2717FA285187F85A4721380AC1A0060
A36118FFA2615F616E4A5BA26E4A5B6E4A5B6F495B6F4990C7FC03F0EBFFFC9126FBFE07
5B02F8B612E06F1480031F01FCC8FC030313C092CBFCB1B612F8A5414D7BB54B>I<9126
01FFE0EB0780021F01F8130F91B500FE131F0103ECFF80010F9039F03FC03F499039800F
E07F903A7FFE0003F04948903801F8FF4849EB00FD4849147F4A805A4849805A4A805AA2
91C87E5AA35B12FFAC6C7EA37EA2806C5EA26C6D5CA26C6D5C6C6D5C6C93B5FC6C6D5B6D
6C5B6DB4EB0FEF010F9038C07FCF6D90B5120F010114FED9003F13F80203138091C8FCB1
040FB61280A5414D7CB547>I<90397FE003FEB590380FFF80033F13E04B13F09238FE1F
F89139E1F83FFC0003D9E3E013FEC6ECC07FECE78014EF150014EE02FEEB3FFC5CEE1FF8
EE0FF04A90C7FCA55CB3AAB612FCA52F367CB537>I<903903FFF00F013FEBFE1F90B7FC
120348EB003FD80FF81307D81FE0130148487F4980127F90C87EA24881A27FA27F01F091
C7FC13FCEBFFC06C13FF15F86C14FF16C06C15F06C816C816C81C681013F1580010F15C0
1300020714E0EC003F030713F015010078EC007F00F8153F161F7E160FA27E17E07E6D14
1F17C07F6DEC3F8001F8EC7F0001FEEB01FE9039FFC00FFC6DB55AD8FC1F14E0D8F80714
8048C601F8C7FC2C387CB635>I<143EA6147EA414FEA21301A313031307A2130F131F13
3F13FF5A000F90B6FCB8FCA426003FFEC8FCB3A9EE07C0AB011FEC0F8080A26DEC1F0015
806DEBC03E6DEBF0FC6DEBFFF86D6C5B021F5B020313802A4D7ECB34>I<D93FF8913801
FFC0B50207B5FCA50003ED001FC61607B3AE5FA35FA2017F5D173B177B6D6C14F3DC01E3
13F06D6CD907C3EBFFC0903A0FFFC03F836D90B51203010114FE6D6C13F8020701E091C7
FC42377BB54B>I<B600F00107B5FCA5C601F8C8EA7FC06EED3F00A26D6C153E187E013F
167C6E15FC6D5E6F13016D5E6F13036D5E8117076D6D5C170F6D6D5C171F6D93C7FC6F5B
027F143E6F137E023F147C6F13FCA26E6D5A16816EEBC1F016C36E5C16E76E5C16FF6E5C
A26E91C8FCA36F5AA26F5AA26F5AA26F5AA26F5A6F5A40357DB447>I<B6D8E07FB5D8C0
03B512C0A5000101F0C701F0C7381FF8006E027FED07E06C715DA26E023F150F017F705D
6E181F013F7092C7FC177F6E606D92B5143E6F177E6D71137C5E03C001F315FC6D02036E
5B03E001E114016D05E05B160703F001C014036D020F02F05B03F8EB807FF1F8076D021F
5E03FCD9003F130F027F04FC5B5EDBFE3E90381FFE1F023F017E93C8FCDBFF7C010F5B6E
EEFF3E16FC4C6D13FE6E5F4C7F6E5FA24C7F6E5F4C7F6E5FA24C147F6E5F93C8123F6F5E
A2033E6FC9FC5A357DB461>I<007FB500F090387FFFFEA5C66C48C7000F90C7FC6D6CEC
03F86D6D495A6D6D495A6D4B5A6F495A6D6D91C8FC6D6D137E6D6D5B91387FFE014C5A6E
6C485A6EEB8FE06EEBCFC06EEBFF806E91C9FCA26E5B6E5B6F7E6F7EA26F7F834B7F4B7F
92B5FCDA01FD7F03F87F4A486C7E4A486C7E020F7FDA1FC0804A486C7F4A486C7F02FE6D
7F4A6D7F495A49486D7F01076F7E49486E7E49486E7FEBFFF0B500FE49B612C0A542357E
B447>I<B600F00107B5FCA5C601F8C8EA7FC06EED3F00A26D6C153E187E013F167C6E15
FC6D5E6F13016D5E6F13036D5E8117076D6D5C170F6D6D5C171F6D93C7FC6F5B027F143E
6F137E023F147C6F13FCA26E6D5A16816EEBC1F016C36E5C16E76E5C16FF6E5CA26E91C8
FCA36F5AA26F5AA26F5AA26F5AA26F5AA35E150F5E151F93C9FC5DD81FC0133E486C137E
486C137C486C13FC5D14015D14034A5A6C48485A49485A263FC07FCAFCEB81FE6CB45A6C
13F000035BC690CBFC404D7DB447>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fq line10 10 10
/Fq 10 84 df<1C0C1C1E1C3E1C7C1CF8F301F0F303E0F307C0F30F80F31F001B3E6363
505A505A505A505A50C7FC1A3E62624F5A4F5A4F5A4F5A4FC8FC193E61614E5A4E5A4E5A
4E5A4EC9FC183E60604D5A4D5A4D5A4D5A4DCAFC173E5F5F4C5A4C5A4C5A4C5A4CCBFC16
3E5E5E4B5A4B5A4B5A4B5A4BCCFC153E5D5D4A5A4A5A4A5A4A5A4ACDFC143E5C5C495A49
5A495A495A49CEFC133E5B5B485A485A485A485A48CFFC123E5A5A5A1260575782D453>
0 D<1718173C177C177817F817F0160117E0160317C016071780160F17005E161E163E16
3C167C167816F85E15015E15035E15075E150F93C7FC5D151E153E153C157C157815F85D
14015D14035D14075D140F92C8FC5C141E143E143C147C147814F85C13015C13035C1307
5C130F91C9FC5B131E133E133C137C137813F85B12015B12035B12075B120F90CAFC5A12
1E123E123C127C127812F85A12602E5782D42A>I<1C0C1C3E1CFEF303FCF30FF8F33FE0
F3FF80973803FE00F20FF8F23FE0F2FF80DF03FEC7FCF10FF8F13FE0F1FF80DE03FEC8FC
F00FF8F03FE0F0FF80DD03FEC9FCEF0FF8EF3FE0EFFF80DC03FECAFCEE0FF8EE3FE0EEFF
80DB03FECBFCED0FF8ED3FE0EDFF80DA03FECCFCEC0FF8EC3FE0ECFF80D903FECDFCEB0F
F8EB3FE0EBFF80D803FECEFCEA0FF8EA3FE0EA7F8000FECFFC12F81260572E82AB53>8
D<1C0C1C3E1C7EF301FCF303F8F30FE0F31FC0F37F001BFEF203F8505AF21FC0505A08FE
C7FC4F5AF107F04F5AF13F804FC8FCF001FC4E5AF00FE04E5A067FC9FC18FEEF03F84D5A
EF1FC0EF7F8005FECAFCEE03FCEE07F0EE1FC04C5A04FECBFC4B5AED07F04B5AED3F804B
CCFCEC01FC4A5AEC0FE04A5A027FCDFC14FEEB03F8495AEB1FC0495A01FECEFC485AEA07
F0485AEA3F8048CFFC12FC5A1260573B82B853>17 D<F10180F103C019071A80190FF11F
00193E193C197C614E5A6118034E5A4E5A96C7FC60183E60187818F84D5A4D5A6017074D
5A4DC8FC171E173E5F5F5F16014C5A4C5A5F160F4CC9FC163E163C167C5E4B5A5E15034B
5A4B5A93CAFC5D153E5D157815F84A5A4A5A5D14074A5A4ACBFC141E143E5C5C5C130149
5A495A5C130F49CCFC133E133C137C5B485A5B1203485A485A90CDFC5A123E5A127812F8
5A1260425782D43E>19 D<126012F07E127C7E7E6C7E6C7E6C7E6C7E6C7E137C7F7F6D7E
6D7E6D7E6D7E6D7E147C80806E7E6E7E6E7E6E7E6E7E157C81816F7E6F7E6F7E6F7E6F7E
167C8282707E707E707E707E707E177C8383717E717E717E717E717E187C8484727E727E
727E727E727E197C8585737E737E737E737E737E1A7C8686747E747E747E747E747E1B7C
8787F30F80F307C0F303E0F301F0F300F81C7C1C3E1C1E1C0C575782D453>64
D<126012F07E1278127C123C123E121E121F7E7F12077F12037F12017F12007F1378137C
133C133E131E131F7F801307801303801301801300801478147C143C143E141E141F8081
1407811403811401811400811578157C153C153E151E151F818215078215038215018215
00821678167C163C163E161E161F821780160717C0160317E0160117F0160017F8177817
7C173C17182E5782D42A>I<126012F812FEEA7F80EA3FE0EA0FF8EA03FEC66C7EEB3FE0
EB0FF8EB03FE903800FF80EC3FE0EC0FF8EC03FE913800FF80ED3FE0ED0FF8ED03FE9238
00FF80EE3FE0EE0FF8EE03FE933800FF80EF3FE0EF0FF8EF03FE943800FF80F03FE0F00F
F8F003FE953800FF80F13FE0F10FF8F103FE963800FF80F23FE0F20FF8F203FE973800FF
80F33FE0F30FF8F303FCF300FE1C3E1C0C572E82AB53>72 D<126012F87E127F6C7EEA0F
E06C7EEA01FC6C7EEB3F806D7EEB07F06D7EEB00FE147FEC1FC06E7EEC03F86E7EEC007F
6F7EED0FE06F7EED01FC6F7EEE3F80707EEE07F0EE03FCEE00FEEF7F80EF1FC0EF07F071
7EEF00FE187FF01FC0727EF003F8727EF0007F737EF10FE0737EF101FC737EF23F80747E
F207F0747EF200FE1B7FF31FC0F30FE0F303F8F301FCF3007E1C3E1C0C573B82B853>81
D<126012F07E1278127C7E7E7E7F6C7E6C7E12017F6C7E137C133C133E7F6D7E1307806D
7E6D7E130080147C80141E141F6E7E6E7E1403816E7E6E7E1578157C818181826F7E6F7E
1501826F7E167C163C163E82707E160783707E707E160083177C83171E171F717E717E17
0384717E717E1878187C84848485727E727E180185727E197C193C193E85F10F8019071A
C01903F10180425782D43E>83 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fr cmtt12 12 70
/Fr 70 127 df<00085B003EEB07C0007FEB0FE0A24814F0A26C14E0B3A2007E1307003E
14C0A20008EB01001C1E75BD33>34 D<D803E01438D80FF8147C486C14FEA2486C13015E
EA7F7FD87E3F13035E00FEEB8007D8FC1F5CA2150F5EA2151F5ED8FE3F133F007E01005B
A2D87F7F137FD83FFE91C7FC5D6C485BA2380FF801D803E05BC7FC14035D14075DA2140F
5D141F5DA2143F5DA2147F92C8FC5C5CA213015C13035CA20107147C4A48B4FC4B138013
0F4A4813C0131F9139C00FEFE016C7013F011F13F002801383137F1400A25B5BA2120149
14C70003020F13E04914EF923807FFC01207496D1380A26C486D13006C48EB007C2C4D7D
C433>37 D<EB03E0EB0FF8497E497E497E90B5FC9038FE3F803801FC1F13F8000380EBF0
0FA7141F5D91393F87FFE001F84913F00001137F147E14FE9026F9FC0713E001FF903801
F8006C13F8ECF00302E05B1507D97FC05B14809038FF000F485D148048141F4801C05B5A
391FEFE03FD83FC791C7FC903887F07FD87F03137EECF8FE6D6C5A12FEEB00FF6E5AA291
393FF00180EE03C091391FE007E0140F6CEB1FF06C133FEC7FF8903980FFFE0FD83FC301
FF13C0D9FFFC13FF6C496C13806C497E6CD9E00F13006C90388007FE3A00FE0001F82C3F
7DBD33>I<EA07C0EA0FF0EA1FF8A213FCA213FE120F1207EA007EA613FE13FCA21201EA
03F8A2EA07F0120FEA1FE0EA7FC0EAFF8013005A5A12700F1E6EBC33>I<140FEC3F8014
7F14FF491300495AEB07F8495A495A495A495A49C7FC5B12015B485A12075B120F5B121F
5BA2123F5BA2127F90C8FCA45A5AAD7E7EA47F123FA27F121FA27F120F7F12077F12036C
7E7F12007F6D7E6D7E6D7E6D7E6D7EEB03FE6D7E6D1380147F143FEC0F00194D6FC433>
I<127812FE7E7F6C7E6C7EEA0FF06C7E6C7E6C7E6C7E6D7E133F80131F6D7E8013078013
03801301A2801300A28080A41580143FAD147F1500A45C5CA213015CA213035C13075C13
0F5C495A133F5C137F49C7FC485A485A485A485AEA3FE0485A485A90C8FC5A1278194D78
C433>I<14F0497EA8007015E000F8EC01F000FE140700FF140F01C1133F01F113FF263F
F9F913C0000FB61200000314FCC614F06D5B011F1380D907FEC7FC90381FFF80017F13E0
90B57E000314FC000F14FF263FF9F913C026FFF1F813F001C1133F0101130F00FE140700
F814010070EC00E000001500A86D5A242B79B333>I<140E141F4A7EB0003FB7FC481680
B812C0A36C16806C1600C7D83F80C7FCB06EC8FC140E2A2B7CB333>I<EA07C0EA0FF0EA
1FF8123F13FCA213FEA2121F120F1207EA007E13FEA213FC1201EA03F81207EA0FF0EA7F
E012FF13C013005A12780F196E8A33>I<003FB612FC4815FEB8FCA36C15FE6C15FC2807
7BA133>I<121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F000B0B6C8A33>I<167016F8
ED01FCA2150316F8150716F0A2150F16E0151F16C0153F1680157F1600A25D5D14015D14
035D14075DA2140F5D141F5D143F5D147F92C7FCA25C5C13015C13035CA213075C130F5C
131F5C133F5CA2137F91C8FC5B5B12015B12035BA212075B120F5B121F5B123F5BA2127F
90C9FC5A5AA2127C1238264D7AC433>I<14FF010313C0010F13F0497F497F497F9038FF
81FF3A01FE007F804848EB3FC049131F4848EB0FE0A24848EB07F0A24848EB03F8A24848
EB01FCA348C812FEA4007E157E00FE157FAE6C15FF6C15FEA46D1301003F15FCA26D1303
001F15F8A26C6CEB07F0A26C6CEB0FE06D131F6C6CEB3FC0A26CB4EBFF806C018113006D
B45A6D5B6D5B6D5B010313C0010090C7FC283F7BBD33>I<EB01E0497EA21307A2130FA2
131F133F137F13FF1203123F5AEAFFF713E71387EA7E071200B3B3A2003FB512FE488016
80A216006C5C213E76BD33>I<EB03FF011F13E0017F13FC48B57E48ECFF804815C0260F
FE0313E03A1FF0007FF049EB1FF84848130F49EB03FC127F90C7EA01FE4814005A6C15FF
167FA3127E123CC9FCA216FF16FEA2150116FC150316F81507ED0FF0ED1FE0153F16C0ED
7F80EDFF004A5AEC07FC4A5A4A5A4A5A4A5A4A5A4990C7FC495AEB07F8EB1FF0495A495A
495A4890C8FC4848143E4848147FEA0FF0485A48B7FCB8FCA37E6C15FE283E7BBD33>I<
903801FFC0010F13F8013F13FE90B67E48814881489038807FF03A0FFC000FF801F06D7E
484813036F7EA21500A26C5A6C5AC9FC15015EA215034B5A150F4B5A4B5A913803FFC001
03B55A4991C7FC5D8116C06D8090C76C7EED0FF8ED03FC6F7E6F7E821780163FA2EE1FC0
A3123C127EB4FCA2163F1780167F6C16006D5C6D495A6C6C1303D81FF8EB0FFC3A0FFF80
7FF86C90B55A6C5D6C15806C6C91C7FC010F13FC010113C02A3F7CBD33>I<0007B612F0
4815F85AA316F001C0C8FCB0ECFFC001C713F801DF7F90B6FC168016C0028013E09039FC
001FF001F0EB0FF849130749EB03FC6C4813016CC713FEC9FCA216FF167FA41218127EA2
B415FF16FEA24814016C15FC6C14036DEB07F86D130F6C6CEB1FF06C6CEB7FE09039FE03
FFC06CB612806C150000015C6C14F8013F13E0010390C7FC283E7BBC33>53
D<127CB8128017C0A4178048C813004B5A4B5A007C4A5AC8485A5E151F4B5A4B5A93C7FC
5D5D4A5A14035D14075D140F5D141F5D143F5DA24AC8FCA25C5CA213015CA3495AA41307
5CA5130F5CAA6D5A6D5A2A3F7CBD33>55 D<121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80
EA1F00C7FCB3A3121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F000B2B6CAA33>58
D<EA07C0EA0FE0EA1FF0EA3FF8A5EA1FF0EA0FE0EA07C0C7FCB3A3EA07C0EA0FE0EA1FF0
EA3FF8A213FCA3121F120F12071200A2120113F81203EA07F0120FEA1FE0127FEAFFC013
80130012FC12700E396EAA33>I<161C167E16FF15035DED1FFEED3FFCEDFFF84A13E002
0713C04A1300EC3FFEEC7FF849485A4913C0010F5B4948C7FCEB7FFCEBFFF000035B4813
80001F90C8FCEA3FFC485AEAFFE05B7FEA7FF86C7E6CB4FC00077F6C13E0C67FEB7FFCEB
1FFE6D6C7E01037F6D13F06D6C7EEC3FFEEC0FFF6E13C0020113E06E13F8ED3FFCED1FFE
ED07FF811500167E161C28337BB733>I<003FB7FC481680B812C0A36C16806C1600CBFC
A9003FB7FC481680B812C0A36C16806C16002A177CA933>I<1238127EB4FC13C07FEA7F
F86C7E6CB4FC00077F6C13E0C67FEB7FFCEB1FFE6D6C7E01037F6D13F06D6C7EEC3FFEEC
0FFF6E13C0020113E06E13F8ED3FFCED1FFEED07FF815DED1FFEED3FFCEDFFF84A13E002
0713C04A1300EC3FFEEC7FF849485A4913C0010F5B4948C7FCEB7FFCEBFFF000035B4813
80001F90C8FCEA3FFC485AEAFFE05B90C9FC127E123828337BB733>I<EC1F804A7E4A7E
A34A7EA314F901017FA501037FA214F0A201077FA4ECE07E010F137FA449486C7EA54948
6C7EA4017F80EC000FA291B5FCA290B67EA43A01FE0007F8491303A4000381491301A300
0781491300D87FFF90380FFFE0B56C4813F06E5AA24A7E6C496C13E02C3E7DBD33>65
D<007FB512F8B7FC16C082826C813A03F8000FFCED03FE15016F7E82A2EE3F80A7EE7F00
A25E4B5AA2ED07FCED1FF890B65A5E1680828216F89039F8000FFCED01FE6F7EEE7F8016
3F17C0161FA2EE0FE0A7161F17C0A2163FEE7F8016FF4B1300150F007FB65AB75A5E16E0
5E6C4AC7FC2B3D7DBC33>I<91391FE00780DAFFFC13C00103EBFF0F010F148F4914FF5B
90387FF81F9038FFC00748497E4848487E497F485A167F485A49143F121F5B003F151F5B
A2127F90C8EA0F8093C7FCA25A5AAD7E7EA36DEC0F80003FED1FC0A27F121F7F000F153F
6D15806C7E167F6C6CECFF007F3A01FF8003FE6C6D485A90397FF81FF86DB55A6D5C6D5C
010391C7FC010013FCEC1FE02A3F7CBD33>I<003FB512F04814FCB7FC826C816C813A03
F8007FF0ED1FF8ED07FC15036F7E8281EE7F80A2163F17C0161FA217E0160FA4EE07F0AD
160F17E0A4161F17C0163FA21780167FEEFF00A24B5A15034B5AED1FF8ED7FF0003FB6FC
4815C0B75A93C7FC6C14FC6C14F02C3D7EBC33>I<003FB712E04816F0B8FCA27E7ED801
FCC71207A8EE03E093C7FCA6151F4B7EA490B6FCA69038FC003FA46FC7FC92C8FCA817F8
EE01FCA9003FB7FC5AB8FCA27E6C16F82E3D7EBC33>I<003FB712E04816F0B8FCA27E7E
D801FCC71207A8EE03E093C7FCA7151F4B7EA490B6FCA69038FC003FA46FC7FC92C8FCB1
383FFFF8487FB57EA26C5B6C5B2C3D7DBC33>I<003FB612804815C0B712E0A26C15C06C
1580260003F8C7FCB3B3AD003FB612804815C0B712E0A26C15C06C1580233D78BC33>73
D<387FFFF8B57E80A25C6C5BD801FCC9FCB3B3A3EE03E0EE07F0A9007FB7FCB8FCA46C16
E02C3D7DBC33>76 D<D83FF8EC1FFC486CEC3FFE486CEC7FFFA2007F16FE6C6CECFFFC00
0716E001EF14F7EC8001A39039E7C003E7A3ECE007A201E314C7A2ECF00FA201E11487EC
F81FA201E01407A2ECFC3FA2EC7C3EA2EC7E7EEC3E7CA3EC1E78EC1FF8A2EC0FF0A3EC07
E0EC03C091C7FCAED83FFCEC3FFC486CEC7FFEB591B5FCA26C48EC7FFE6C48EC3FFC303D
7FBC33>I<D87FFC90381FFFE0486C4913F07FA36C6D6C13E00003913800FC0013F780A2
13F380A3EBF1F0A38013F0A280A2147C147EA2143E143FA2801580A3140F15C0A2140715
E0A2140315F0A21401A215F81400A3157CA3153C153EA2151E151F387FFF80B5EAC00FA3
15076C496C5A2C3D7DBC33>I<003FB512FC48ECFF80B712E016F86C816C813A01FC000F
FF030313801500EE7FC0163FEE1FE0160FA217F01607A6160F17E0A2161FEE3FC0167FEE
FF801503030F130090B65A5E5E16E0168003FCC7FC01FCC9FCB3383FFFE0487FB57EA26C
5B6C5B2C3D7EBC33>80 D<007FB57EB612F815FE81826C812603F8007FED3FF0ED0FF815
076F7E1501A26F7EA74B5AA215034B5A150FED3FF0EDFFE090B65A5E93C7FC5D8182D9F8
007F153F6F7E150F821507AA173E177FA416F8030313FF267FFFC014FEB538E001FF17FC
81EE7FF86C49EB3FF0C9EA0FC0303E7EBC33>82 D<D907FE137890393FFFC07C90B5EAF0
FC4814FC000714FF5AEBFC03391FF0007F4848133F0180131F007F140F90C71207481403
5AA21501A46CEC00F86C15007F7F6C7E7FEA1FFE380FFFE06C13FF6C14F06C14FC6C6C13
FF011F1480010314C0D9003F13E0020313F09138003FF8ED0FFC1507ED03FE1501150016
FFA2007C157F12FEA56C15FF16FE7FED01FC6D130301F0EB07F801FC130F9039FF807FF0
91B512E016C000FC1580013FEBFE00D8F80F5BD8780013E0283F7BBD33>I<003FB712F8
4816FCB8FCA43AFE000FE001A8007CED00F8C71500B3B3A40107B512C049804980A26D5C
6D5C2E3D7EBC33>I<273FFFE001B5FC486D481480B56C4814C0A26C496C14806C496C14
00D801FCC7EA0FE0B3B3A36D141F00005EA26D143F6D5DA26D6C49C7FC6E5B6D6C485AEC
F00390390FFC0FFC6DB55A6D5C6D5C6D6C1380DA1FFEC8FCEC07F8323E80BC33>I<D87F
FF903803FFF8B56C4813FCA46C496C13F8D807F09038003F806D147F00031600A36D5C00
015DA46C6C495AA46D13036D5CA3EC8007013F5CA3ECC00F011F5CA46D6C485AA46D6C48
5AA4010391C7FC6E5AA30101137EA2ECFCFEA201005BA5EC7FF8A46E5AA26E5A6E5A2E3E
7EBC33>I<D83FFCEC3FFC486CEC7FFEB591B5FCA26C48EC7FFE6C48EC3FFCD80FC0EC03
F0A76D1407000716E0A86C6CEC0FC0A2EC07E0EC0FF0EC1FF8A3000116809039F83FFC1F
EC3E7CA4EC7E7EA200001600A2EC7C3E01FC5CECFC3FA3ECF81F017C143EA590397DF00F
BEA3013D14BC90393FE007FCA5ECC003011F5C6D486C5A303E7FBC33>I<007FB512C0B6
12E0A415C048C8FCB3B3B3ABB612C015E0A46C14C01B4D6CC433>91
D<1238127C12FEA27E7E7F123FA27F121F7F120F7F12077F1203A27F12017F12007F7F80
133FA280131F80130F801307801303A28013018013008080A281143F81141F81140F8114
07A28114038114018114008181A21680153F16C0151F16E0150F16F01507A216F8150316
FC1501A2ED00F81670264D7AC433>I<007FB512C0B612E0A47EC7120FB3B3B3AB007FB5
FCB6FCA46C14C01B4D7DC433>I<EB7FFE0003B512C04814F048804880819038E007FF02
007F6C486D7E6C48133FC8121F82150FA4EC0FFF0103B5FC131F90B6FC120348140F4813
80381FFC00EA3FE0485A5B48C7FC5AA47E151F6C6C133F6D13FF263FF8077F6CB712F06C
16F86C14F76C14E3C61401903A3FF8003FF02D2B7BAA33>97 D<EA3FFC487E12FFA2127F
123F1200AC4AB4FC020F13C0023F13F04A13FC91B57E90B7FCDAFE071380DAF80013C002
E0137F4AEB3FE04A131F91C7EA0FF016074915F81603A217FC1601A81603A217F87F1607
17F06E130F6EEB1FE0163F6EEB7FC09139F801FF80DAFE07130091B55A495C6E5B6E13E0
D97E0F138090263C03FEC7FC2E3D7FBC33>I<ECFFFC0107EBFF80011F14C0017F14E090
B612F05A48EB800F3807FE00D80FF8EB07E049EB03C0484890C7FC485AA2485A90C9FCA3
5A5AA77E7EA27FA26C6CEB01F06DEB03F8121FD80FF813076D14F06CB4131F6C9038E07F
E06C90B5FC6C15C06D1400011F5B010713F8010013C0252B79AA33>I<ED7FF84B7E5CA2
80157F1501ACEB01FF010F13C1013F13F14913FD90B6FC5A4813803907FE003FD80FF813
1F4848130F491307484813035B007F140190C7FCA25AA25AA87E7E15037F003F14077F6C
6C130F6D131F6C6C133F6D137F3907FF81FF6C90B612F06C02FD13F86C02F913FC013F13
E1010F018113F8902601FE0013F02E3D7DBC33>I<ECFF80010713F0011F13FC017F13FF
90B612804815C048018013E03907FE001FD80FF8EB0FF049EB07F848481303485A49EB01
FC127F90C7FC16FE150012FEB7FCA516FC48C9FC7E7EA27F123F6D147C001F15FE7F6C6C
1301EA07FC6DEB07FC3A03FFC03FF86C90B5FC6C6C14F06D14C0010F14800103EBFE0090
38007FF0272B7BAA33>I<ED3FF0913801FFFC020713FE141F4A13FF5CECFFC04913004A
137E494813184A1300A8003FB612F84815FCB7FCA36C15F8260003F8C7FCB3AD003FB612
804815C0A46C1580283D7DBC33>I<EE1FC0D901FEEBFFF090260FFFC313F8013F13F749
90B512FC90B7FC4815F148010313812607FC00EB80F849017F1360484890383FC0004913
1FA2001F8149130FA66D131F000F5DA26D133F6C6C495A6D13FF2603FF0390C7FCECFFFE
485C5D5DD80FCF13C0D9C1FEC8FC01C0C9FCA36C7E7F6CB512FEEDFFC06C15F800078148
15FF4816809026E0000713C0D83F80EB007F48C8EA1FE0160F007E150700FE16F0481503
A56C1507007FED0FE06D141FD83FE0EC7FC0D81FF8903801FF80270FFF801F13006C90B5
5A6C5DC615F0013F14C0010F91C7FC010013F02E437DAB33>I<EA3FFC487E12FFA2127F
123F1200AC4AB4FC020713C0021F13F0027F7F91B57E90B6FC9138FE03FEECF801ECF000
02C07F825C91C7FCA35BB3A43B3FFFF80FFFFC486D4813FEB56C4813FFA26C496C13FE6C
496C13FC303D7FBC33>I<14E0EB03F8A2497EA36D5AA2EB00E091C8FCAA383FFFF8487F
A47EEA0001B3AD007FB612C0B712E016F0A216E06C15C0243E78BD33>I<EA7FF8487EA4
127F1200AC4AB512C04A14E04A14F0A26E14E06E14C09139000FF0004B5A4B5A4B5A4BC7
FC4A5A4A5A4A5A4A5A4A5A4A5A4A5A4A7E01FD7F90B5FC81ECF3F8ECE3FC14C1EC80FEEC
007F5B496D7E6F7E82150F6F7E6F7E8215016F7E3B7FFFF80FFFF0B56C4813F817FCA217
F86C496C13F02E3D7EBC33>107 D<383FFFFC487FB5FCA27E7EC7FCB3B3AD003FB612F8
4815FCB712FEA26C15FC6C15F8273D7ABC33>I<267FC0FC137E3BFFE3FF01FF8001EF01
877F90B500CF7F15DF6C91B57E0007010F1387496CEB03F801FC13FE9039F803FC01A201
F013F8A301E013F0B3A53C7FFE0FFF07FF80B548018F13C0A46C486C01071380322B80AA
33>I<393FFC01FF267FFE0713C000FF011F13F0027F7F007F90B57E6CB6FCC69038FE03
FEECF801ECF00002C07F825C91C7FCA35BB3A43B3FFFF80FFFFC486D4813FEB56C4813FF
A26C496C13FE6C496C13FC302B7FAA33>I<EB01FE90380FFFC0013F13F0497F48B512FE
48804801031380EBFC00D80FF0EB3FC04848EB1FE049130F003F15F0491307007F15F890
C71203A2007E140100FE15FCA86C14036C15F8A36D1307003F15F06D130F6C6CEB1FE06D
133F6C6CEB7FC06C6CEBFF80EBFF036C90B512006C5C6C6C13F86D5B010F13C0D901FEC7
FC262B7AAA33>I<393FFC01FF267FFE0F13C000FF013F13F04A13FC007F90B57E6CB7FC
C6D9FE071380DAF80013C002E0137F4AEB3FE04A131F91C7EA0FF016074915F81603A217
FC1601A81603A217F87F160717F06E130F6EEB1FE0163F6EEB7FC09139F801FF80DAFE07
130091B55A495C6E5B6E13E0020F1380DA03FEC7FC91C9FCB0383FFFF8487FB57EA26C5B
6C5B2E417FAA33>I<02FF137C0107EBE0FE011F13F0017F13FC90B512FE4814FF4813C0
3907FE003FD80FF8131F4848130F49130748481303A24848130190C7FCA2481400A25AA8
7E7E15017F003F14037F6C6C13076D130F6C6C131F6C6C137F9038FF81FF6CEBFFFE6C14
FC6C6C13F86D13F0010F13C0903801FE0090C8FCB092387FFFFC92B512FEA46F13FC2F41
7CAA33>I<3A7FFF8003FEB539C01FFF80037F13E002C1B5FC02C314F06C13C73A001FCF
FE0FECDFF09139FFC007E092388003C04AC8FCA25C5C5CA25CA45CB1007FB512FEB7FCA4
6C5C2C2B7DAA33>I<90381FFE0F90B5EACF80000314FF120F5A5A387FF003EB800000FE
C7127F153F5AA36CEC1F006C91C7FCEA7FC0EA3FFEEBFFF06CEBFF80000714F06C14FCC6
6C7F010F7FD9003F1380020113C09138003FE0007C140F00FEEC07F01503A27EA27F6D13
076DEB0FE06D131F9039FC01FFC090B61280A200FDECFE0000FC5CD8F83F13F0D8780790
C7FC242B79AA33>I<EB03C0497E130FAA003FB612FC4881B7FCA36C5D26000FE0C8FCB3
A3161FEE3F80A5167F6E14006D6C485A9138FE07FE6DB5FC5E6D5C6D14E0023F1380DA07
FCC7FC29377EB633>I<D83FFCEB1FFE486C497E00FF5CA2007F80003F800000EC007FB3
A75EA25D6D5B5D90387FC03F91B612FC6D15FE6DEC7FFF6D13FE6D01F813FE01009038C0
3FFC302B7FAA33>I<3B3FFFC00FFFF0486D4813F8B56C4813FCA26C496C13F86C496C13
F0D801F8C7EA7E006D14FE00005DA26D1301017E5CA2017F13036D5CA2EC8007011F5CA2
ECC00F010F5CA36D6C485AA3ECF03F010391C7FCA26E5A0101137EA2ECFCFE01005BA214
FF6E5AA36E5AA26E5A6E5A2E2B7EAA33>I<3B7FFF8007FFF8B56C4813FC6E5AA24A7E6C
496C13F8D80FC0C7EA0FC06D141F00071680A56D143F00031600A3EC0FC0EC1FE0A23A01
F83FF07EA3EC7FF8147CA20000157C9039FCFCFCFCA3ECF87CA2017C5C017D137EECF03E
A2017F133FA26D486C5AA3ECC00F90390F8007C02E2B7EAA33>I<3B3FFFC07FFF80486D
B512C0B500F114E0A26C01E014C06C496C13803B00FE000FE000017F495AEB3F804B5A6D
6C48C7FC90380FE07E903807F0FEECF1FC903803FBF8EB01FF6D5B5D6E5A143F6E5A143F
814A7E14FF903801FBF0ECF9F8903803F1FCEB07E0157E90380FC07F011F6D7E90383F80
1F02007F496D7E01FE6D7E484813033B7FFFC03FFFE0B56C4813F0A46C496C13E02C2B7D
AA33>I<3B7FFF801FFFE0B56C4813F06E4813F8A24A6C13F06C496C13E0D803F8C7EAFC
00000114015E7F000014036D5C137EA2017F495A7FA26E485A131FA26D6C485AA214E001
0749C7FCA214F01303157EEB01F8A2157C010013FC14FC5D147C147DEC3FF0A36E5AA36E
5AA2141F5DA2143F92C8FCA3147EA214FE003F5B1301387F83F81387EB1FF0EBFFE06C5B
5C6C90C9FC6C5AEA03F02D417DAA33>I<000FB712804816C05AA317800180C713004B5A
4B5A4B5A4B5A6CC7485AC8485A4B5A4BC7FC4A5A4A5A4A5A4A5A4A5A4A5A4A5A4AC8FC49
5A495A495A495A495A495A495A49C7EA0F804848EC1FC0485A485A485A485A485A48B7FC
B8FCA46C16802A2B7DAA33>I<1238127C12FEB3B3B3B3127C1238074D6AC433>124
D<013E13079039FF800F8000039038C01FC048EBE03F48EBF07F489038F9FF803A7FE7FF
FE00D8FF835B01015B486C5B007CEB7FC00038011FC7FC220C78BC33>126
D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fs cmti12 12 62
/Fs 62 125 df<4CB414FC040F9039C003FF80933B3F81F00783C0933B7C00781F01E04C
9038F83F03923C01F001FC3E07F003030103EB7E0F922607E007EB7C1F19FCDB0FC001F8
14E0943A03F0F80FC0DD01E1EB0780031FD9000190C7FC5E180361153F93C7FCA2180761
5D157EA2180F6115FE91B912F0A3DA00FCC7D81F80C7FC1401A25D183F96C8FCA214035D
A260187E14075DA218FE60140F5DA2170160141F5DA2170360143F92C7FCA21707605C14
7EA2170F6014FE5CA24D5AA2495A95C9FC5F5C0103153E177E001CEBE038007F02FE137C
26FF07E114FC02C15C4C5AEB0F8100FE903901FC03E0D8F81F9038F007C03B701E00E00F
80D8783CD9F83ECAFCD81FF0EB3FF8D807C0EB0FE04C5A83C53C>11
D<EF7FF80407B5FC93391FC00FC093393E0001E004FCEB00F04B4813014B4813075E0307
140FA24B5A19E0031FEC03804C90C7FCA3153F93C9FCA45D157EA415FE91B8FCA260DA00
FCC7127E020115FE4B5CA317016014035D170360A214074B130760A3020F140F4B5CA317
1F021F5D5DA2053F13E01801023F16C092C7FCA2EF7F03057E13805C027E15071900173E
180E02FEEC1E1E4AEC1F1CEF07F8EF01E094C8FC495AA35C1303A2001C5B127FEAFF075C
A2495A00FE90CBFCEAF81FEA701EEA783CEA1FF0EA07C03C5A83C537>I<EFFFC00407EB
F83F93381F807E93397E000F7F04F8EB1F7E4B48EB3FFE0303147F4B4813FF19FC4B5A18
7E183D4B48EB01F8A31803033F15F093C7FCA218074B15E0A2157E180F19C0A215FE91B8
FC1980A2DA00FCC7121F0201153F4B1500A3600203157E5DA218FE6014075D170160A214
0F4B130360A3021F14074B5CA3050F1338023FEDC07892C71470A3051F13F04AED80E014
7E188119C0170F02FEED83804AEC0787F0C700EF01FEEF0078494892C7FCA4495AA3001C
5BEA7F0700FF5BA25C130F00FE90CBFCEAF81E12F0EA783CEA1FF0EA07C0405A83C539>
I<141EEC3F80ECFFC0A35B1580A315005BA25CA35C1307A25CA35C130FA25CA35C131FA2
5CA349C7FCA3133EA35BA31378A35BA35BA35B90C8FCA9120FEA3FC0127FA212FFA35B6C
C8FC123C1A4776C61E>33 D<13F0EA03F8EA07FC120FA6EA03CCEA001C1318A213381330
A2137013E013C0120113801203EA0700120E5A5A5A5A5A0E1D6BC41E>39
D<13F0EA03FC1207A2EA0FFEA4EA07FCEA03CCEA000C131C1318A2133813301370136013
E0EA01C013801203EA0700120E5A5A5A5A5A0F1D7A891E>44 D<007FB5FCB6FCA214FEA2
1805789723>I<16C01501A215031507ED0F80151F153F157F913801FF005C140F147F90
3807FCFEEB0FF0EB0700EB00015DA314035DA314075DA3140F5DA3141F5DA3143F5DA314
7F92C7FCA35C5CA313015CA313035CA313075CA2130FA2131F133FB612FCA25D224276C1
32>49 D<ED03FCED1FFF037F13C0913801FE07913903F001E091380FE00091381F800391
383F000F027E131F5C495A495A010715C04948EB07004A90C7FC131F495AA249C9FCA213
FE1201A2485AEC07F09038F83FFC0007EBF81F9039F9C00F803A0FFB8007C0EBF70001FE
80491303001F815B5B82485AA3491307127F5BA2150F5E90C7FCA2151F485DA25A4B5AA2
007E5D157F93C7FC5D5D4A5A003E495A003F5C4A5A6C6C485A000FEB3F80D9C0FEC8FC38
03FFFC6C13F038007F802B4475C132>54 D<ED1FE0EDFFFC020313FF913907E03F809139
1F800FC091393E0007E04A13034A14F049481301495AA2495AA2495AA21603011F15E0A2
16076E14C0EE0F806E131F6EEB3F006E133E6D6C5B02FF13F0ED83E06DEBC7C06D01FFC7
FC6D13FC6D5B6E7E6E7E91B57ED901EF7FD907837FEB1F01D93E007F496D7E49133F4848
131F4848130F48486D7E48481303001F140190C7FC5A003E1400007E5D127CA2150100FC
5D5A4B5AA24B5A127C4B5A4BC7FC6C143E003F5C6C495A390FC003F03907F01FC06CB5C8
FCC613FCEB1FE02C4477C132>56 D<ED3FC0EDFFF0020313FC91380FE07E91383F803F4A
487E02FC14800101140F494814C0495A495AA2495A133F4A14E0137FA249C7FC161FA248
16C05BA2163F12035BA2167F17804914FFA34B130012015D5D00005D6D130F017C131D15
3B6DEB73FC90381F03E3903907FF83F8903801FC0790C7FC5E150F5E151F5E4B5AA24BC7
FCA2001C14FE007F5C48495A4A5A14074A5A485C00F8013FC8FC48137E5C387C07F0383F
FFE06C1380D803FCC9FC2B4476C132>I<130FEB1FC0133FEB7FE013FFA214C0EB7F8014
00131E90C7FCB3A5120FEA3FC0127FA212FFA35B6CC7FC123C132B76AA1E>I<EF038017
07A24D7EA2171FA2173F177FA217FFA25EA2EE03BF1607173F160F160E161C841638171F
167016F016E0ED01C0A2ED0380A2ED0700A2150E151E151C5D845D170F5D14015D14035D
4AC7FC92B6FC5CA2021CC7120F143C14385CA24A81A249481407A2495A130791C8FC130E
131EA25B137C13FC00014C7ED807FE151FB500E00107B512F8A219F03D477BC648>65
D<DC0FF8130393B513070307ECC00F923A1FF803E01F923A7FC000F81E4BC7EA7C3EDA03
FCEC3C7EDA0FF0EC1EFE4A48EC0FFC4A4814074AC8FC02FE1503494816F8130349481501
495A494816F0495A137F5C01FF17E04890C9FCA2485A19C0485AA2485A95C7FC121F5BA2
123F5BA3127F5BA4485AA41838A218781870A218F0007F5F1701601703003F5F17076D4B
C7FC001F160E171E6C6C5D6D5D00075E6C6C4A5A6DEC07C06C6C4A5AD8007F023EC8FCD9
3FC013FC90391FF807F00107B512C0010191C9FC9038001FF0404872C546>67
D<91B712F818FF19C00201903980003FF06E90C7EA0FF84AED03FCF000FE4B157FA2F13F
800203EE1FC05DF10FE0A214074B16F01907A2140F5D1AF8A2141F5DA2190F143F5D1AF0
A2147F4B151FA302FF17E092C9123FA34918C04A167F1A80A2010317FF4A1700A24E5A13
074A4B5A611807010F5F4A4B5A181F61011F4C5A4A4BC7FC18FE4D5A013F4B5A4A4A5A4D
5A017FED3FC005FFC8FC4AEB03FE01FFEC1FF8B812E094C9FC16F845447AC34A>I<91B9
12C0A30201902680000313806E90C8127F4A163F191F4B150FA30203EE07005DA314074B
5D190EA2140F4B1307A25F021F020E90C7FC5DA2171E023F141C4B133C177C17FC027FEB
03F892B5FCA39139FF8003F0ED00011600A2495D5CA2160101034B13705C19F061010791
C8FC4A1501611803010F5F4A150796C7FC60131F4A151E183E183C013F167C4A15FC4D5A
017F1503EF0FF04A143F01FF913803FFE0B9FCA26042447AC342>I<91B91280A3020190
2680000713006E90C8FC4A163FA24B81A30203160E5DA314074B151E191CA2140F5D1707
5F021F020E90C7FC5DA2171E023F141C4B133CA2177C027F5CED800392B5FCA291B65AED
00071601A2496E5A5CA2160101035D5CA2160301075D4A90CAFCA3130F5CA3131F5CA313
3F5CA2137FA313FFB612E0A341447AC340>I<DC0FF81306DCFFFE130E03079038FF801E
923A1FF807E03E923A7F8001F03CDA01FEC7EA787CDA03F8EC3CFCDA0FF0141D4A48EC1F
F8DA3F80140F4AC8FCD901FE1507494816F05C01071603495A494816E0495A137F5C01FF
17C04890C9FC5B12031980485AA2485A95C7FC121F5BA2123F5BA3127F5BA4485A043FB5
12E0A39339001FF80060A360A2007F163F60A3177F003F5F7F121F17FF6D93C7FC000F5D
6C6C5C7F6C6C4A5A6C6CEC1F3E6C6C143ED93FC0EBF81E903A1FF007F01C0107B5EAC00C
010149C9FC9038003FF03F4872C54B>I<91B6D8803FB512E0A302010180C7387FE0006E
90C86C5A4A167FA24B5EA219FF14034B93C7FCA26014074B5DA21803140F4B5DA2180714
1F4B5DA2180F143F4B5DA2181F147F92B75AA3DAFF80C7123F92C85BA2187F5B4A5EA218
FF13034A93C8FCA25F13074A5DA21703130F4A5DA21707131F4A5DA2170F133F4A5DA201
7F151FA24A5D496C4A7EB6D8803FB512E0A34B447AC348>I<027FB512E091B6FCA20200
EBE000ED7F8015FFA293C7FCA35C5DA314035DA314075DA3140F5DA3141F5DA3143F5DA3
147F5DA314FF92C8FCA35B5CA313035CA313075CA3130F5CA3131F5CA2133FA25CEBFFE0
B612E0A25D2B447BC326>I<91B66C90383FFFF8A302010180C7000F13006E90C8EA07FC
4A17F01AC04B4B5A4FC7FC193C02035E4B5DF003E0F0078002074BC8FC4B141E6018F802
0F4A5A4BEB03C04D5A4DC9FC021F141E4B137C17F04C5A023F495A4B487E161F163F027F
497EED80FFED81EF923883CFF89138FF8F8FED1E07033C7F157849EBF00303E07F15C092
380001FF495A5C707FA213074A6E7EA2173F010F825C171F84131F4A140F84A2013F6F7E
5CA2017F6F7EA24A4A7E496C4A7FB66C90B512FC5E614D447AC34B>75
D<91B612F0A25F020101C0C7FC6E5B4A90C8FCA25DA314035DA314075DA3140F5DA3141F
5DA3143F5DA3147F5DA314FF92C9FCA35B5CA3010316104A1538A21878010716705C18F0
18E0010F15015C18C01703011F15074A1580170FA2013FED1F004A5C5F017F15FE16034A
130F01FFEC7FFCB8FCA25F35447AC33D>I<91B56C93387FFFC08298B5FC02014DEBC000
6E614A5FA203DF4C6CC7FC1A0E63912603CFE05D038F5F1A381A711407030FEEE1FCA2F1
01C3020FEE0383020E60F107036F6C1507021E160E021C60191CF1380F143C023804705B
A2F1E01F0278ED01C091267003F85EF003801A3F02F0ED070002E0030E5CA24E137F1301
02C04B91C8FC606201036D6C5B02805F4D5A943803800113070200DA07005BA2050E1303
495D010E606F6C5A1907011E5D011C4B5CA27048130F133C01384B5C017892C7FC191F01
F85C486C027E5DD807FE027C4A7EB500F00178013FB512C0A216705A447AC357>I<91B5
6C49B512E0A28202009239000FFC00F107F0706E5A4A5F15DF705D1907EC03CFDB8FF892
C7FCA203875D02077F0303150EA270141EEC0F01020E161C826F153C141E021C6E133816
7F1978023C800238013F1470A27113F00278131F02705E83040F130102F014F84A5E1607
EFFC0313014A01035C17FE1807010314014A02FF90C8FCA2705B0107168F91C8138E177F
18DE5B010EED3FDC18FCA2011E151F011C5EA2170F133C01386F5A1378A201F81503486C
5EEA07FEB500F01401A2604B447AC348>I<EE1FF84BB5FC923907F01FC092391F8003F0
92397E0001F8DA01F86D7EDA03E0147EDA0FC0804A48EC1F804AC813C0027E150F4A16E0
49481507494816F01307495A494816F8013F16035C137F49C9FC4917FC120112035B1207
491607120FA25B121F19F849160F123FA34848EE1FF0A3183F19E0485A19C0187FA2F0FF
80A219005F604D5AA2007F4C5A4D5AA24D5A003F5F4D5A6D4BC7FC001F5E4C5A6C6C5DEE
03F06C6C4A5A0003ED1FC06C6C4A5A6C6C027EC8FC017EEB01F890393F8007F090390FE0
3F80902603FFFEC9FC9038007FE03E4872C54B>I<91B712F018FEF0FF80020190398000
7FE06E90C7EA1FF04AED07F818034B15FCF001FE1403A24B15FFA21407A25DA2140FF003
FE5DA2021F16FC18074B15F8180F023F16F0F01FE04B15C0F03F80027FED7F0018FE4BEB
03FCEF0FF002FFEC7FC092B6C7FC17F892CAFC5BA25CA21303A25CA21307A25CA2130FA2
5CA2131FA25CA2133FA25CA2137FA25C497EB67EA340447AC342>I<EE1FF84BB5FC9239
07F01FC092391F8007F092397E0001F8DA01F86D7E4A48147EDA0FC0804A4815804AC8EA
1FC0147E4AED0FE013014948ED07F0495A495A011F17F8495A5C137F49C9120319FC485A
000317075B12075B120FA25B121FF00FF85B123FA34848EE1FF0A449EE3FE012FF19C018
7FA2198018FF190090C95A604D5AA26C4C5A6D5E170F03F85C003FD907FE495ADA0F0749
5ADA1C0349C7FC3A1FC0380180023014FE000F0170EB81FCD9E060EB83F00007913800C7
E03B03F0E001CFC02601F8C0EBFF80D800FC4AC8FCD97EE013F890393F6007F090270FF0
3FC013300103B5FC9026007FE11470DA0003146018E0A2170170485A170770485A923807
F83F93B5C7FCA26F5B5FA25F6F5B6F13C0043FC8FC3E5972C54B>I<91B77E18F818FE02
0190398001FF806E90C7EA3FC04AED1FE0F00FF04BEC07F8180319FC14034B15FEA31407
5DA3020FED07FC5DA2F00FF8141F4B15F0F01FE0F03FC0023F16804BEC7F0018FEEF03F8
027F4A5A4BEB1FC04CB4C7FC92B512F891B612E092380003F8EE00FE177F496F7E4A6E7E
A28413034A140FA2171F13075CA2173F130F5CA24D5A131F5CA3013F170E5CA2017FEE80
1E191C4A163C496C1638B66C90383FC070051F13F094380FE1E0CA3803FF80943800FE00
3F467AC347>I<DB03FE130C92390FFF801C037FEBE03C9238FE03F8913A03F0007C7C4A
48EB3EF84A48131F4A48130F4AC7FC027EEC07F05C1703495A18E0495AA213074A15C0A3
130F1880A28094C7FCA280806D7EECFFE015FC6DEBFF806D14F016FC6D14FF023F80020F
801403DA003F7F150703007F163F161F160FA21607A3120716031607A2485EA2120E160F
001E5EA2001F4B5AA2484BC7FC6D143E167E6D5C007F4A5A6D495AD87CF0495AD8787CEB
1F8027F03F807FC8FC90381FFFFCD8E00713F039C0007F80364879C537>I<48B912F85A
A2913B0007FC001FF0D807F84A130701E0010F140349160148485C90C71500A2001E021F
15E05E121C123C0038143F4C1301007818C0127000F0147F485DA3C800FF91C7FC93C9FC
A35C5DA314035DA314075DA3140F5DA3141F5DA3143F5DA3147F5DA314FF92CAFCA35B5C
A21303A21307497E007FB612C0A25E3D446FC346>I<B6913807FFFEA25C000301C00200
13E06C90C9EA7F00183E183C60A26C1770601701604D5AA24DC7FC5F170E6E5CA2017F5D
177817705FA24C5AA24C5A16076E91C8FC160E133F5E163C16385EA25E15015E6E485AA2
4BC9FC131F150E151E151C5DA25D15F05DECF1C0A290380FF38014F792CAFC14FEA25CA2
5C5CA25C13075CA25C91CBFC3F466CC348>86 D<023FB5D8C003B512E0A21780020001F8
C7387FFC006F48EC3FE06F48158097C7FC031F153E705C1978030F15E07013014E5A0307
4A5A7091C8FC180E03035C705B187803015C70485A606FEB83800587C9FC178FEE7FDE17
FC5F705A5F161F83A2160F4C7EA2163FEE77FC16F7ED01E3923803C3FEED07831601030E
7F151CED3C004B805D4B6D7E4A5A4A5A4AC76C7E5C141E4A6E7E14384A140F4A81495A01
031507494881130F133F017F4B7E2603FFC04A7E007F01F849B512FEB5FC614B447CC348
>88 D<007FB54AB51280B65CA2000101E09139007FF0006C49ED3FC04A93C7FC6D6C153E
601878013F5E6E4A5A604D5A6D6C4AC8FC5F171E010F151C6E5C5F010715F06E495A5F4C
5A6D6C49C9FC5E161E0101141C6E5B5E16F06DEB81E05EED8380DA7F87CAFC15CF15DEEC
3FDC15F85DA26E5A5D143FA35D147FA392CBFC5CA35C1301A35C1303A3495AA3497E000F
B512F8A341446DC348>I<021FB712F85C19F093C7121F03F0EC3FE0DA7FC0EC7FC04BEC
FF80027EC813004A5C4A4A5A4D5A49484A5A4A5D4D5A4A143F01034B5A4A4A5A4C90C7FC
01075D91C712034C5A4C5A90C8485A5F163F4C5A4C5A4B90C8FC5E15034B5A4B5A4B5A5E
4B5A157F4B5A4A90C9FC4A5A5D14074A5A4A4814E04A5A5D027F14014A485C4990C7FC49
4814034A5D130749481407495A49484AC7FC5C49485C01FF151E4890C8123E4848157E48
4815FE494A5A000F1503484814074848EC3FF84848EB03FF90B7FCB8FC5F3D4479C33C>
I<EC1F80EC7FE0903901F07070903907C039F890380F801D90381F001F013E6D5A137E5B
484813075E485A120749130F000F5DA2485A151F003F5D5BA2153F007F92C7FC90C7FCA2
5D157E12FEA29238FE0380EDFC071700A2007E13015E913803F80E1407003E010F131E16
1C6C131C02385B3A0F80F078783A07C3E07C703A01FF801FE03A007E000780292D76AB32
>97 D<EB0FE0EA07FFA338001FC0130F131FA25CA3133F91C8FCA35B137EA313FE5BA312
015BEC1F80EC7FE03903F9E0F89038F3C07C9038F7003E13FE48487F5BA2491480485AA2
5BA2121F5BA2153F123F90C7FCA2157F481500127EA25D5D5AA24A5AA24A5AA2007C5C4A
5A140F5D4A5A003C49C7FC003E137E001E5B6C485A380783E03803FF80C648C8FC214676
C42D>I<EC0FE0EC7FF8903801F81E903807E00F90390F80078090381F0003017E14C049
131F0001143F5B4848EB7F801207485AED3E00484890C7FCA2485AA2127F90C9FCA35A5A
A45AA5ED0180ED03C0ED0780A2007CEC0F00007E141E003E147C15F06CEB03E0390F800F
802607C07EC7FC3801FFF838007FC0222D75AB2D>I<EE07F0ED03FFA39238000FE01607
160FA217C0A2161FA21780A2163FA21700A25EA2167EA216FEA25EEC1F80EC7FE1903801
F071903907C039F890380F801D90381F001F013E130F017E5C5B48481307A248485C1207
49130F120F5E485A151F123F495CA2153F127F90C790C7FCA25DA200FE147EA29238FE03
80160703FC1300A2007E13015E913803F80E1407003E010F131E161C6C131C02385B3A0F
80F078783A07C3E07C703A01FF801FE03A007E0007802C4676C432>I<EC0FE0EC7FF890
3801F83E903807C00F90391F800780EB3F00017E14C0491303485A48481307000715805B
000F140F484814005D4848133E15FCEC07F0007FEBFFC0D9FFFEC7FC14C090C9FC5A5AA5
5AA4ED0180ED03C0007CEC0780A2007EEC0F00003E141E157C6C14F06CEB03E03907800F
802603C07EC7FC3801FFF838003FC0222D75AB2D>I<EE0F80EE3FE0EEF870923801F038
923803E0F8923807E1FC16C3ED0FC7A2EE87F892381F83F0EE81E0EE8000153F93C7FCA4
5D157EA415FE5DA349B512FEA390260001F8C7FCA314035DA414075DA4140F5DA4141F5D
A4143F92C8FCA55C147EA314FE5CA413015CA4495AA35C1307121C007F5B12FF495AA291
C9FC485AEAF81E485AEA7878EA1FF0EA07C02E5A83C51E>I<15FCEC03FF91390F838380
91393E01CFC091387C00EF4A13FF4948137F010315804948133F495A131F4A1400133F91
C75A5B167E13FE16FE1201495CA215011203495CA21503A2495CA21507A25EA2150F151F
5E0001143F157F6C6C13FF913801DF8090387C039F90383E0F3FEB0FFCD903F090C7FC90
C7FC5DA2157EA215FEA25DA2001C495A127F48495A14074A5A485C023FC8FC00F8137E38
7C01F8381FFFE0000390C9FC2A407BAB2D>I<14FE137FA3EB01FC13001301A25CA21303
A25CA21307A25CA2130FA25CA2131FA25C157F90393F83FFC091388F81F091381E00F802
387F4948137C5C4A137EA2495A91C7FCA25B484814FE5E5BA2000314015E5BA200071403
5E5B1507000F5DA249130F5E001F1678031F1370491480A2003F023F13F0EE00E090C7FC
160148023E13C01603007E1680EE070000FEEC1E0FED1F1E48EC0FF80038EC03E02D467A
C432>I<143C147E14FE1301A3EB00FC14701400AE137C48B4FC3803C780380703C0000F
13E0120E121C13071238A21278EA700F14C0131F00F0138012E0EA003F1400A25B137EA2
13FE5B12015BA212035B141E0007131C13E0A2000F133CEBC038A21478EB807014F014E0
EB81C0EA0783EBC7803803FE00EA00F8174378C11E>I<16F0ED03F8A21507A316F0ED01
C092C7FCAEEC01F0EC07FCEC1E1EEC380F0270138014E0130114C0EB03800107131F1400
A2130E153F131E011C140090C7FC5DA2157EA215FEA25DA21401A25DA21403A25DA21407
A25DA2140FA25DA2141FA25DA2143FA292C7FCA25C147EA214FE001C5B127F48485A495A
A248485A495AD8F81FC8FCEA707EEA3FF8EA0FC0255683C11E>I<14FE137FA3EB01FC13
001301A25CA21303A25CA21307A25CA2130FA25CA2131FA25C167E013F49B4FC92380783
C09138000E07ED3C1F491370ED603F017E13E0EC01C09026FE03801380913907000E00D9
FC0E90C7FC5C00015B5C495AEBF9C03803FB8001FFC9FCA214F03807F3FCEBF07F9038E0
1FC06E7E000F130781EBC003A2001F150FA20180140EA2003F151E161C010013E0A2485D
A2007E1578167000FE01015B15F1489038007F800038021FC7FC2A467AC42D>I<EB03F8
EA01FFA3380007F013031307A214E0A2130FA214C0A2131FA21480A2133FA21400A25BA2
137EA213FEA25BA21201A25BA21203A25BA21207A25BA2120FA25BA2121FA25BA2123FA2
90C7FCA2387F01C01303007E1380A2130700FE130012FCA25B130EEA7C1E131CEA3C3CEA
3E786C5AEA07C0154678C419>I<D801F0D90FE0EB07F0D803FCD97FF8EB3FFC28071E01
F03EEBF81F3E0E1F03C01F01E00F80271E0F8700D983807F001C018E90390F870007003C
019C148E003801B802DC8002F814FC26781FF05C0070495CA24A5C00F0494948130FD8E0
3F6091C75B1200043F141F4960017E92C7FCA24C143F01FE95C7FC49147E6104FE147E12
01494A14FE610301EE0780000305011400494A14F8A2030302035B0007F0F00E495C1A1E
0307EDE01C000F193C494A153862030F020113F0001FF0F1E0494A903800FF800007C7D8
0380023EC7FC492D78AB50>I<D801F0EB0FE0D803FCEB7FF83A071E01F03E3A0E0F03C0
1F001ED987001380001C018E130F003C139C003801B814C014F838781FF000705BA25C00
F049131FD8E03F158091C7FC1200163F491500137EA25E01FE147E5B16FE5E1201491301
5E170F00030203130E4914F0A20307131E0007EDE01C5B173CEEC038000F167849157017
E0ED03C1001FEDE3C049903801FF000007C8127C302D78AB37>I<EC0FE0EC7FFC903801
F83E903907E00F8090390F8007C0EB1F00017EEB03E04914F0A248481301484814F81207
485AA2485AA2485A1503127F90C7FCA215074815F05AA2150F16E05AED1FC0A21680153F
16005D157E5D007C495A007E495A003E5C4A5A6CEB1F80260F803EC7FC3807C0FC3801FF
F038003F80252D75AB32>I<D903E0137E903A07F801FF80903A0E3C0783E0903A1C1E0F
01F0903A3C1F1C00F801385B017849137C01705BA24A48137E01E05BA292C7FC00015B13
C0147EC7FC02FE14FEA25CA20101140117FC5CA20103140317F85CA20107EC07F0A24AEB
0FE0A2010F15C0EE1F80163F1700496C137E5E4B5A9138B803F090393F9C07E091389E0F
80DA07FEC7FCEC01F849C9FCA2137EA213FEA25BA21201A25BA21203A21207B512F0A25C
2F3F7FAB32>I<91381F800C91387FE01C903901F0703C903907C0387890390F801CF890
381F001D013E130F017E14F05B48481307A2484814E012075B000F140F16C0485AA2003F
141F491480A3007F143F90C71300A35D00FE147EA315FE5DA2007E1301A24A5A1407003E
130FA26C495A143B380F80F33807C3E73901FF87E038007E071300140F5DA3141F5DA314
3F92C7FCA25CA25C017F13FEA25D263F76AB2D>I<D801F0EB3F803A03FC01FFF03A071E
03C0F83A0E0F0F007C001E90389E01FC001C139CECB803003813F0A2D91FE013F80078EC
00E00070491300A200F05BEAE03F91C8FC1200A25B137EA313FE5BA312015BA312035BA3
12075BA3120F5BA3121F5B0007C9FC262D78AB29>I<EC0FE0EC7FF8903801F01E903803
C00F90390780078090380F0003011E14C0150749131FA2017CEB3F801378137CED0E0092
C7FC137E137F14F014FF6D13C06D13F06D7F6D7F1300EC0FFE14011400157F81120E003F
141E487EA2153E48C7123CA200FC5C12705D0078495A6C495A6CEB0F80260F803EC7FC38
03FFF838007FC0222D7AAB28>I<1470EB01F8A313035CA313075CA3130F5CA3131F5CA2
007FB512E0B6FC15C0D8003FC7FCA25B137EA313FE5BA312015BA312035BA312075BA312
0F5BA2EC0780001F140013805C140E003F131EEB001C143C14385C6C13F0495A6C485AEB
8780D807FEC7FCEA01F81B3F78BD20>I<137C48B414072603C780EB1F80380703C0000F
7F000E153F121C0107150012385E1278D8700F147E5C011F14FE00F05B00E05DEA003FEC
0001A2495C137E150313FE495CA215071201495CA2030F13380003167849ECC070A3031F
13F0EE80E0153F00011581037F13C06DEBEF8300000101148090397C03C787903A3E0F07
C70090391FFE01FE903903F000782D2D78AB34>I<017C143848B414FC3A03C78001FE38
0703C0000F13E0120E001C14000107147E1238163E1278D8700F141E5C131F00F049131C
12E0EA003F91C7123C16385B137E167801FE14705BA216F0000115E05B150116C0A24848
EB0380A2ED0700A2150E12015D6D5B000014786D5B90387C01E090383F0780D90FFFC7FC
EB03F8272D78AB2D>I<017CEE038048B4020EEB0FC02603C780013FEB1FE0380703C000
0E7F5E001C037E130F01071607123804FE130300785DEA700F4A1501011F130100F00180
4914C012E0EA003FDA000314034C14805B137E0307140701FE1700495CA2030F5C000117
0E495CA260A24848495A60A2601201033F5C7F4B6C485A000002F713036D9039E7E00780
90267E01C349C7FC903A1F0781F81E903A0FFF007FF8D901FCEB0FE03B2D78AB41>I<02
F8133FD907FEEBFFE0903A0F0F83C0F0903A1C07C780F890393803CF03017013EE01E0EB
FC07120101C013F8000316F00180EC01C000074AC7FC13001407485C120EC7FC140F5DA3
141F5DA3143F92C8FCA34AEB03C01780147EA202FEEB0700121E003F5D267F81FC130E6E
5BD8FF83143CD903BE5B26FE079E5B3A7C0F1F01E03A3C1E0F83C0271FF803FFC7FC3907
E000FC2D2D7CAB2D>I<137C48B414072603C780EB1F80380703C0000F7F000E153F001C
1600130712385E0078157EEA700F5C011F14FE00F0495B12E0EA003FEC00015E5B137E15
0301FE5C5BA2150700015D5BA2150F00035D5BA2151F5EA2153F12014BC7FC6D5B00005B
EB7C0390383E0F7EEB1FFEEB03F090C712FE5DA214015D121F397F8003F0A24A5A484848
5A5D48131F00F049C8FC0070137E007813F8383801F0381E07C06CB4C9FCEA01FC294078
AB2F>I<027C130749B4130F49EB800E010F141E49EBC03CEDE03890393F03F07890397C
00FDF00178EB3FE00170EB03C001F0148049130790C7EA0F00151E5D5D5D4A5A4A5A4A5A
4AC7FC141E5C5C5C495A495A495A49C8FC011E14F04914E05B491301485A4848EB03C0D8
07B0130701FEEB0F80390FCF801F3A1F07E07F00393E03FFFED83C015B486C5B00705C00
F0EB7FC048011FC7FC282D7BAB28>I<B812F0A22C02779B32>I<BE12C0A25A02759B64>
I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Ft cmsy10 12 52
/Ft 52 120 df<007FB912E0BA12F0A26C18E03C04789A4D>0 D<121FEA3F80EA7FC0EA
FFE0A5EA7FC0EA3F80EA1F000B0B789E1C>I<0060160600F0160F6C161F007C163E6C16
7C6C16F86C6CEC01F06C6CEC03E06C6CEC07C06C6CEC0F806C6CEC1F00017C143E6D5C6D
5C6D6C485A6D6C485A6D6C485A6D6C485A6D6C48C7FCEC7C3E6E5A6E5A6E5A6E5AA24A7E
4A7EEC3E7C4A7E4A7E49486C7E49486C7E49486C7E49486C7E49C77E013E147C49804980
4848EC0F804848EC07C04848EC03E04848EC01F048C912F8003E167C48163E48161F4816
0F00601606303072B04D>I<14034A7E4A7E4A7E4A7EEC7CF8ECF87C49487E49487E4948
6C7E49486C7E49486C7E013E6D7E496D7E49147C4848804848804848EC0F804848EC07C0
48C8EA03E0003EED01F048ED00F848167CA2007C16F86CED01F06CED03E06C6CEC07C06C
6CEC0F806C6CEC1F006C6C143E6C6C5C017C5C6D495A6D495A6D6C485A6D6C485A6D6C48
C7FC903801F03E6D6C5AEC7CF8EC3FF06E5A6E5A6E5A6EC8FC2E2E7EAF33>5
D<49B4FC010F13E0013F13F890B512FE48EB01FF3A03F8003F80D807E0EB0FC0D80F80EB
03E048C7EA01F0001E1400003E15F8003C1578007C157C0078153C00F8153E48151EA86C
153E0078153C007C157C003C1578003E15F8001E15F0001F14016C6CEB03E0D807E0EB0F
C0D803F8EB3F803A01FF01FF006CEBFFFE013F13F8010F13E0010190C7FC27267BAB32>
14 D<49B4FC010F13E0013F13F890B512FE48804815804815C04815E04815F0A24815F8
A24815FCA2B712FEAA6C15FCA26C15F8A26C15F0A26C15E06C15C06C15806C15006C5C01
3F13F8010F13E0010190C7FC27267BAB32>I<007FBA1280BB12C0A26C1980CEFCB0007F
BA1280BB12C0A26C1980CEFCB0007FBA1280BB12C0A26C1980422C7BAE4D>17
D<92B712E0020F16F0143F91B812E001030180C9FCD90FF8CAFCEB1FE0EB3F80017ECBFC
13F8485A485A485A5B120F48CCFC121E123E123CA2127C1278A212F85AAA7E1278A2127C
123CA2123E121E121F6C7E12077F6C7E6C7E6C7E137E6D7EEB1FE0EB0FF8903803FF8001
0090B712E0023F16F0140F020016E092CAFCB0001FB912E04818F0A26C18E03C4E78BE4D
>I<007FB612F0B8FC17C06C16F0C9EA1FFCEE01FF706C7EEF1FC0EF07E0EF01F0717E18
7C84181E181FF00F80180719C01803A219E01801A219F01800AA180119E0A2180319C0A2
18071980180FF01F00181E183E60604D5AEF07E0EF1FC0EF7F804C48C7FCEE1FFC007FB7
12F0B812C094C8FC6C15F0CDFCB0007FB91280BA12C0A26C18803C4E78BE4D>I<19E0F0
03F0180FF03FE0F0FF80943803FE00EF0FF8EF3FE0EFFF80DC03FEC7FCEE0FF8EE3FE0EE
FF80DB03FEC8FCED1FF8ED7FE0913801FF80DA07FEC9FCEC1FF0EC7FC04948CAFCEB07FC
EB1FF0EB7FC04848CBFCEA07FCEA1FF0EA7FC048CCFCA2EA7FC0EA1FF0EA07FCEA01FF38
007FC0EB1FF0EB07FCEB01FF9038007FC0EC1FF0EC07FC913801FF809138007FE0ED1FF8
ED07FE923800FF80EE3FE0EE0FF8EE03FE933800FF80EF3FE0EF0FF8EF03FE943800FF80
F03FE0F00FF01803F000E01900B0007FB912E0BA12F0A26C18E03C4E78BE4D>I<127012
FCB4FCEA7FC0EA1FF0EA07FCEA01FF38007FC0EB1FF0EB07FCEB01FF9038007FC0EC1FF0
EC07FC913801FF809138007FE0ED1FF8ED07FE923800FF80EE3FE0EE0FF8EE03FE933800
FF80EF3FE0EF0FF8EF03FE943800FF80F03FE0F00FF0A2F03FE0F0FF80943803FE00EF0F
F8EF3FE0EFFF80DC03FEC7FCEE0FF8EE3FE0EEFF80DB03FEC8FCED1FF8ED7FE0913801FF
80DA07FEC9FCEC1FF0EC7FC04948CAFCEB07FCEB1FF0EB7FC04848CBFCEA07FCEA1FF0EA
7FC048CCFC12FC1270CDFCB0007FB912E0BA12F0A26C18E03C4E78BE4D>I<D907F81780
D93FFFEE01C090B512C04814F048804814FE270FF807FF1503261FC00001C0158048C7D8
3FE01407003EDA0FF8140F486E6CEC1F000078DA01FF5C00706E01C013FE00F092393FF8
07FC486FB55A04075C705C04005C053F90C7FC0040EE07F8CEFCA4D907F81780D93FFFEE
01C090B512C04814F048804814FE270FF807FF1503261FC00001C0158048C7D83FE01407
003EDA0FF8140F486E6CEC1F000078DA01FF5C00706E01C013FE00F092393FF807FC486F
B55A04075C705C04005C053F90C7FC0040EE07F8422C7BAF4D>25
D<1AF0A3861A78A21A7C1A3CA21A3E1A1E1A1F747EA2747E747E87747E747E1B7E87757E
F30FE0F303F8007FBC12FEBE1280A26CF3FE00CEEA03F8F30FE0F31F8051C7FC1B7E6350
5A505A63505A505AA250C8FC1A1E1A3E1A3CA21A7C1A78A21AF862A359347BB264>33
D<18034E7E85180385180185727E1978197C8585737E86737E737E007FBA7EBB7E866C85
CDEA0FC0747EF203F8F200FEF37F80F31FE0F307FC983801FF80A2983807FC00F31FE0F3
7F8009FEC7FCF203F8F207E0505A007FBBC8FCBB5A626C61CCEA03F04F5A4F5A624FC9FC
193E61197819F84E5A6118036118076172CAFC59387BB464>41 D<02C0130C496C131EB3
B3AF00C0170C00F0173C00FC17FC00FE1601D83F81ED07F0D80FC1ED0FC0D807E1ED1F80
D801F9ED7E00D800FD5D017FEC1FF8011F15E0010F5D01075D010392C7FC6D6C133E0100
143C6E137C027C5B6E485A021E5BEC1F03020F5B9138078780A2DA03CFC8FCA2EC01FEA2
6E5AA31578A31530A236587DC43D>43 D<031CED01C0033E4B7E033C1501037C82037815
0003F8824B16780201177C4B163C0203173E4A48824B82020F844ACA6C7E023E717E027E
8491BA7E498549854985D90FC0CBEA1F804948727E017FCCEA07F001FCF101F8D803F8F1
00FED80FE0F23F80D83FC0F21FE0B4CEEA07F8A2D83FC0F21FE0D80FE0F23F80D803F8F2
FE00C66CF101F8017FF107F0D91F80F00FC06D6C4E5A6DBBC7FC6D616D616D61027ECAEA
03F0023E606E4D5A6E6C4C5A020795C8FC6F5E6E6C163E0201173C6F167C020017786F16
F803785E037C1501033C5E033E1503031C6F5A5D387DB464>I<92B6FC020F1580143F91
B7120001030180C8FCD90FF8C9FCEB1FE0EB3F80017ECAFC13F8485A485A485A5B120F48
CBFC121E123E123CA2127C1278A212F85AA3B9FC1880A2180000F0CBFCA37E1278A2127C
123CA2123E121E121F6C7E12077F6C7E6C7E6C7E137E6D7EEB1FE0EB0FF8903803FF8001
0090B6FC023F1580140F02001500313A78B542>50 D<1706170F171F171E173E173C177C
177817F817F0160117E0160317C016071780160F17005E161E163E163C167C167816F85E
15015E15035E15075E150F93C7FC5D151E153E153C157C157815F85D14015D14035DA214
075D140F92C8FC5C141E143E143C147C147814F85C13015C13035C13075C130F91C9FC5B
131E133E133C137C137813F85B12015B12035B12075B120F90CAFC5A121E123E123C127C
127812F85A1260305C72C600>54 D<126012F0B012FC12FEA212FC12F0B0126007267BAB
00>I<0060171800F0173CA26C177C00781778A2007C17F8003C17F0003E1601001E17E0
A2001F16036C17C0A26D1507000717806D150F00031700A26D5D0001161EA26D153E0000
163C90B712FC6D5DA3013CC85AA2013E1401011E5D011F14036D5DA26E130701075DA26E
130F010392C7FC6E5B0101141EA26E133E0100143CA26E137C02781378027C13F8023C5B
A2EC3E01021E5BA2EC1F03020F5B158702075BA215CF020390C8FCA215FF6E5AA26E5AA3
1578A21530364780C437>I<007FB712E0B812F0A27ECAFCB3AA001FB7FC5A5A7ECAFCB3
AB007FB7FCB8FCA26C16E02C457BC437>I<007FB812FCB912FEA27ECB121EB3A4180C37
1B7BA342>I<4B7E4B7EA215075EA2ECFF87010313EF90260F80FFC7FC90383E003F497F
498048488048488049133F0007EC3DF049133C000FEC7CF8157848C7137CA248ECF87E15
F0A2140148ECE07F007E81A2140315C0A200FE010714801580A3140F1500A25C141EA314
3E143CA3147C1478A214F85CA31301007E491400A213035C007F5DA2D83F07147E5CA213
0F001F90C7127C018F14FC000F5D139F01DE130100075DD803FE495A5B00014A5A00004A
5A017C49C7FC017E133E90387F80F89038FBFFE001F0138091C9FCA212015BA26C5A2955
7CCC32>I<16C04B7EB3B3B3A7007FBA1280BB12C0A26C198042427BC14D>63
D<190E193E197EF001FE1803A21807A2180FA2181FA2183F183B187B187318F318E31701
18C31703188317071803170F171EA2173CA21778177017F0EE01E0A2EE03C0A2DC07807F
EE0F00A2161EA24C7F5EA25E15015E4B5A15074C81DB0F1FB6FCED1F7F4BB7FCA25D92B8
FC03F0C8FC0201834A5A4A5A5D0030130F007049C96C7E143E00F8137E6C5B6C48488326
FF87F0043F133801FFF0F8F04AEFFFE04A18C04A70138091CAEBFE006C48EF0FF86C48EF
07C06C4894C8FCEA07E04D4D7DC750>65 D<DA01C0EB01FE020791381FFF80DA1F8090B5
12E0027F010314F0D901FF010F14F80107023F14FC49EC7E01499139F8007FFE013CD983
E0131F01204948130F0100494813074BC7FC033E1403037E15FC495B5D19F85D4BEC07F0
19E04B15C049EE0F804BEC1F00187E92C812F8EF03F04948EC1FC0EF7F80DC03FEC7FC4A
EB1FF893B5FC90260FF80314C04B14F04B804A4880DB00077F011F02007F053F13804A14
0F7113C0834948807113E0A2187F495AA2183F91C9FCA24917C0A25B00011880A249EE7F
00187E485A604D5A2607F0305DD9F1F04A5A48486C4A5AD9EFFEEC1F80496C6C017EC7FC
001F9138F003FC019F90B512F0D83F8F15C0010792C8FCD87E0114F82678007F13C000E0
D90FFCC9FC3F487DC541>I<EE01FE93381FFF8093B512C0030714E0151F157F913801FE
01913903F0007FDA07C0133F021FC713C0143E5C4A1580495A4948EC7F001307495A4948
14FEA249C7485A495D137E494A5AEE07C0000193C7FC484891C8FCA2485AA3485AA2121F
A25B123FA4485AA512FFA77FA3171E6D5D007F16FC4C5A6D4A5A6D5D003F4B5A6D4A5A6D
4AC7FC6C6C143E6C01C013F89138F803F06C90B55A6C15806C4AC8FC6C14F8013F13C0D9
07FCC9FC33487FC534>I<031FB512C00203B7FC021F16E091B812F8010317FE010F717E
90283FE07FC03F80D97E00020080D801F84A011F7FD803E004077F484804017F000FEF00
7F4848717E003F02FF151F737E48C782007E92C8FC4872138012F0008084C8FC4A5A85A4
4A5AA21B00A34A5AA24F5A5D62140FA24B4B5A141F4F5A4B5EA2023F4C5A4F5A5D027F4C
C7FC197E92C9127C6102FE4B5A4E5A4E5A49484B5A063EC8FC01035E4A4A5AEF07E04948
EC1FC005FFC9FCEE07FC4948EBFFF091B61280017F4ACAFC90B612F04815804802F8CBFC
4891CCFC49447EC34D>I<0403B712F8043F16FE4BB9FC1507151F157FDBFC0090C7EA07
FE912703F001FEEC01F8DA07C017F0DA0F801780021F94C7FCEC3F004A495A147E14FE5C
49485C4A1307495A91C7FC90C85B160FA25FA2161F5FA2163F5FA2167F94B612C0A293B7
FC624FC7FC4B5D04FCC712704B4891C8FCA34B5AA24B5AA25E151F5E153FA24BCBFCA215
FEA25D14015D486C485AEA07C0001F495A383FE00FD87FF05B39FFFC1F80D87FFF90CCFC
14FE6C5B6C13F06C5B00031380D800FCCDFC50477EC348>70 D<EF07F8EF7FFE4CB5FC04
0714805E043F14C0EE7C0F923801F8034B487EED07E0030F7F4B5A4B5AA24BC713804B15
004B14FC020115F04B14C0020392C7FC5D1407A24A5AA2141F5DA2143F5DA2147F5DA214
FFA292CAFC5BA35C1303A35C1307A25CA2130F5CA2495AA349481608197C494816F891C9
1203180790B56CEC0FF04814F803FFEC1FE04803F014C004FE1480489239FFE03F00D80F
E0EDFFFC261FC00F5D263F800115E0007EC7001F5C007C020391C7FC00F09138003FF03E
487DC545>76 D<DC03801960040F1AE04C7E043F1901047FF103C01E071E0F1E1F83F63F
8004FF197F1EFF65715F651F004B6104EF60DCCFF85F1D7E1DFD0303F1F9FE0487EF01F1
711603F407E10307F00FC10407EF1F83706CEE3F031C7E030F62030E18FC706CED01F8F3
03F0031CEF07E098380FC007706DEC1F804BEF3F00661B7E4B6D6C5C505A505A4B6E4948
130F053F4A5A02014D5A4B163F716C49C7FC4A4804FE5D6272485A4AC7000F495A72485A
4A4C48141F020E0207495A7248C8FC4A0203137EF0FFFE023C5E02386E5B02785E02706E
5B02F05E0010496F5AD8380194C9FC267C03C0153ED87F87041CEFF830B548031018F095
CAEBFFE091CE14C0491D809A380FFE00491CF86C48F307C06C4898C8FCEA07E06C4B7DC5
78>I<F50FE01DFF1C031C0F64645213C0161E043E94B5128004FEF0C0004B6CDC01FCC7
FC1CF01CC0515A4B7FA251C8FC83A21B0E8316BF03075FA2EE9FF0041F163C1B3883ED0F
0F63030E7F16071BF0031E6D5D1603151C711401705E153C033880704B5AA20378800370
017F14077291C9FCA203F0133F4B6E5B051F140EA24A4880050F141E1A1C4A4880170772
133C4AC71538170384020E6E1478F18070A24A6E13C01AF0726C5A5CF03FF0027816F102
7092381FF9C0001801F016FD001C49150FD83E0117FF267FC3C08101FF705B5CB58291C9
91CAFC725A6C4817786C4894CBFC6C5AEA03F0635283CC52>I<DB01C0EB3FC0923A0780
01FFF892261F000F13FE033E013F7F03FC90B61280912601F00115C0912803E007E03F13
E0913A0F800F800791281F001F000113F0023E013E6D13F84A49147F4A49143F902601F0
0116FC49484848141F49484848140F130F4948484815FE90263F001F15075E017E133F49
91C8FC4B15034848137E00035C495B0007495A15804848CAFC1AFC121F5BA2123FF107F8
A2485AA21AF0190FA200FF19E0A2F11FC0A21A80193F1A006D177EA2614E5A7F007F4D5A
4E5A6D5F4E5A6C6C4CC7FC6D163E606C6C5E6D4B5A6C6DEC07C06C01E04A5A6E023FC8FC
6C01FC14FC6C9039FFC00FF86C91B512E06D1580011F02FCC9FC6D14F0010391CAFC9038
003FF047487AC54F>I<031FB512F00203B77E021F16F091B812FC010317FF010F188090
283FE07FC00F14C0D97E00DA007F13E0D801F84A010F13F0D803E016034848040013F800
0F187F4848EF3FFC003F02FF151FA248C790C8120F127E48180712F0008019F8C75A5DA2
1AF0190F1AE04A5A1AC0F11F80A24BED3F000207167E197C614E5A4A484A5A4E5A061FC7
FC4B143E18FC021FEC07F0EF7FE09239C07FFF8091273FC1FFFCC8FC03C313F0038F1380
DB9FFCC9FC027F13800380CAFC92CBFC5CA25CA2495AA3495AA213075CA2130F5CA2495A
A3495A91CCFC137E137C136046497EC345>I<031FB512FC0203B712E0021F16FC91B9FC
010318C0010F8490283FE07FC00380D97E00DA001F7FD801F84A1303D803E004007F4848
173F000F181F4848170F003F14FF190748C790C8FC007E615A12F0008061C75A4B4B5AA2
62191F624A484BC7FC193E61614E5A4A48EC07E0F00F80063FC8FCEF03FC4B48B45A020F
010F13E04C90C9FC4B485A4C7E021F90B5FC041F7FDBC0077F023F7F707F158082027F6E
7E92C7FC717E5C4A81171F13014A6E7E1B0349486E6C141F1B3E73137C49486E6D13F8F2
01F049486E9038E003E09638F007C0719038FC1F80494892397FFFFE006249486F13F091
C96C13C0013C7048C7FC0170EE03F050467EC354>82 D<EF7FF0933807FFFE043FEBFF80
93B612E0030315F0030F15F892381F800F92267E000113FC03F8EB007F4A48141F020315
0F4A5A020FED07F85D021F16F0023F16E019C0F00F00027F150895C7FC81A281A2816E7E
816E6C7E16E06E13F86E13FE6EEBFFC06E14F06E6C13FC031F7F03076D7E030180DB003F
7F040F7F04037F82706C7E173F010E6F7E017C150F5BD803F01507485A48481503121F48
485EA2127F60A200FF4C5A7F604D5A6D5E6D4BC7FC6C6C153E6D5D01FFEC01F06C01C0EB
07E06C01FCEB7FC06C90B6C8FC6C15FC6C15E0C61580013F01FCC9FC010313803E487EC5
3C>I<1B3C1B7CF201F8020FB912F091BA12E001031980010FF0FE004918F8017F188001
F8C7D807F0C9FCD803F0140F4848141F120F48485D003F153FA2127F5F4848147F90C8FC
5A00F85E00E015FFC9FCA294CAFC5DA35E1503A35E1507A35E150FA35E151FA35E153FA3
5E157FA35E15FFA293CBFCA25CA25D1403A25DA24A5AA34A5AA24A5AA25D143F5D027ECC
FC147814604E4E7CC636>I<D907F81678D93FFF16FE4901C04A7E48B56C1680486E5CD8
07C36D16C0390F807FFC9038001FFEC7000F9238003FE06E6C150F6E16076E6D1403A26E
6D1401A2157F7015C0153FA219036F6C1580A3F107006F7E61190E191E0307151CA261A2
70147861A24E5A03035D18034E5AA24EC7FC181EA2606018F8604D5A17034D5A4D5A95C8
FC5F173E5F5FEEFDF016FF5F5F5F94C9FC5E5E00204A5A00705D4B5A00F04A5A6CEC7F80
4BCAFC6C495A6CEB07F839FF801FF09038E07FE06CB55A92CBFC6C5B5C6C13F06C13C000
0390CCFCEA00FC43527DC343>89 D<0060170C00F0171EB3B3A76C173E0078173CA2007C
177C6C17F8001E17F0001F16016C6CED03E0D807E0ED0FC06C6CED1F80D801FEEDFF006C
6C6CEB03FED93FFCEB7FF86DB65A0103158001004AC7FC020713C0373D7BBA42>91
D<913807FFC091B512FE01036E7E011F15F0903A3FFC007FF8D9FF80EB03FE4848C87ED8
03F0ED1F804848ED0FC0D80F80ED03E048C9EA01F0001E1600003E17F848177C0078173C
A200F8173E48171EB3B3A70060170C373D7BBA42>I<1538157CA315FEA24A7E15EF0203
7F15C702077F1583A2020F7F1501021F7FEC1E00023E7F023C1378027C137C0278133CA2
02F8133E4A131E0101141F4A7F0103814A13070107814A1303A2010F8191C71201498101
1E1400013E81013C1578017C157C0178153C01F8153E49151EA20001161F498100031780
491507000717C0491503000F17E090C91201A24817F0001E1600003E17F8003C1778007C
177C0078173C00F8173E48171EA20060170C373D7BBA42>94 D<0060170C00F0171EA26C
173E0078173C007C177C003C1778003E17F8001E17F0001F16016C17E0A26D1503000717
C06D1507000317806D150F000117006D5D0000161EA26D153E0178153C017C157C013C15
78013E15F8011E5D011F14016D5D6E130301075DA26E130701035D6E130F010192C7FC6E
5B0100141E6E133E0278133CA2027C137C023C1378023E13F8021E5BEC1F01020F5B1583
02075BA215C702035B15EF020190C8FC15FF6E5AA2157CA31538373D7BBA42>I<126012
F0B3ADB9128018C0A300F0CBFCB3AE126032457BC43D>I<ED0FE015FF913803FC00EC0F
E0EC3FC04A5A4AC7FC5C495AA2495AB3AD495AA2495A131F495A495A01FEC8FCEA07F8EA
FFE0A2EA07F8EA00FEEB7F806D7E6D7E130F6D7EA26D7EB3AD6D7EA26D7E806E7E6E7EEC
0FE0EC03FC913800FFE0150F236479CA32>102 D<12FEEAFFE0EA07F8EA00FEEB7F806D
7E6D7E130F6D7EA26D7EB3AD6D7EA26D7E806E7E6E7EEC0FE0EC03FC913800FFE0A29138
03FC00EC0FE0EC3FC04A5A4AC7FC5C495AA2495AB3AD495AA2495A131F495A495A01FEC8
FCEA07F8EAFFE048C9FC236479CA32>I<140C141EA2143E143C147C1478A214F814F013
0114E0A2130314C013071480A2130F14005B131EA2133E133C137C1378A213F85BA21201
5B12035BA212075B120F90C7FCA25A121E123E123CA2127C127812F85AA27E1278127C12
3CA2123E121E121F7EA27F12077F1203A27F12017F1200A27F1378A2137C133C133E131E
A2131F7F14801307A214C0130314E01301A214F0130014F81478A2147C143C143E141EA2
140C176476CA27>I<126012F0A27E1278127C123CA2123E121E121F7EA27F12077F1203
A27F12017F1200A27F1378137C133CA2133E131EA2131F7F14801307A214C0130314E013
01A214F0130014F81478A2147C143C143E141EA2143E143C147C1478A214F814F0130114
E0A2130314C013071480A2130F14005B131EA2133E133CA2137C137813F85BA212015B12
035BA212075B120F90C7FCA25A121E123E123CA2127C127812F85AA2126017647BCA27>
I<126012F0B3B3B3B3B3A81260046474CA1C>I<126012F0A27E1278A2127C123C123E12
1EA2121F7EA27F1207A27F12037F1201A27F1200A27F1378A2137C133C133E131EA2131F
7FA2801307A2801303801301A2801300A2801478A2147C143C143E141EA2141F80A28114
07811403A2811401A2811400A2811578157C153CA2153E151EA2151F81A21680150716C0
1503A216E01501A216F01500A216F81678167C163CA2163E161EA2160C27647BCA32>
110 D<0060173000F01778B3B3B2B912F8A36C17F0353B7ABA42>116
D<003FB912F84818FCA219F80078CCFCB3B3AE007FB912F819FCA26C18F8CDFCB0007FB9
12F8BA12FCA26C18F83E4E78BE4D>118 D<007FB912F0BA12F8A27ECC1278B3B3AE007F
B912F8BAFCA26C18F0CDFCB0007FB912F8BA12FCA26C18F83E4E7ABE4D>I
E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fu cmr12 12 91
/Fu 91 128 df<B91280A300019038C000036C6C489038003FC0171F17071703A21701A2
EF00E0A31860A418701830A31800B3B3A58048487EB612F8A334447CC33D>0
D<027FB67EA39126001FFEC9FC6F5A6F5AA8B46CEFFF8001E01603D81FF0933807FC006C
6C4C5A0007606D161F000360A26D163F000160AC6C6C5F187FA4D97F804BC7FCA2013F5E
02C01401131F02E04A5A010F5ED907F01407D903F85DD901FC4A5AD900FE4A5A027F027F
C8FCDA1FC713FE0207B512F8020114C09126001FFCC9FCED07F8A84B7E4B7E027FB67EA3
41447BC34C>9 D<9239FFC001FC020F9038F80FFF913B3F803E3F03C0913BFC00077E07
E0D903F890390FFC0FF0494890383FF81F4948EB7FF0495A494814E049C7FCF00FE04991
393FC0038049021F90C7FCAFB912F0A3C648C7D81FC0C7FCB3B2486CEC3FF0007FD9FC0F
B512E0A33C467EC539>11 D<4AB4FC020F13E091387F80F8903901FC001C49487FD907E0
130F4948137F011FECFF80495A49C7FCA25B49EC7F00163E93C7FCACEE3F80B8FCA3C648
C7FC167F163FB3B0486CEC7FC0007FD9FC1FB5FCA330467EC536>I<913801FFC0020FEB
FB8091387F803F903801FC00494813FFEB07E0EB1FC0A2495A49C7FC167F49143F5BAFB8
FCA3C648C7123FB3B2486CEC7FC0007FD9FC1FB5FCA330467EC536>I<DBFF80EB3FE002
0F9039F001FFFC913B3F807C0FF01F913CFC000E3F800380D903F86D48486C7E4948D90F
FC804948D93FF8130F4948017F4A7E49485C49C75BA25B494B6D5A041F6E5A96C8FCACF1
07F0BBFCA3C648C7391FC0001F190F1907B3B0486C4A6C497E007FD9FC0FB50083B512E0
A34B467EC551>I<131F1480133F137FA2EBFF00485A485A5B485A485A138048C7FC123E
123C5A12E0124011126CC431>19 D<1606A25E161C1618163816305EEC7F80903903FFF0
C090380FC0FC90393E001F8049130F01F0EB03C04848497E0003814848EB0CF84848147C
1518001F157E48C7487E157015604802E01380007EECC01FEC0180A200FED9030013C0A2
1406140E140C141C14185CA25C007E16805CD87F01143F003F4914001303001F90C7123E
0186147E000F157C01CC14FC00075DD803F8495A00014A5A00004A5A017E011FC7FC9038
7F807E9038C7FFF89038C07F804848C9FCA248CAFC5A1206120E120C5AA22A3F7DB431>
28 D<121EEA7F80EAFFC0A9EA7F80ACEA3F00AB121EAC120CA5C7FCAA121EEA7F80A2EA
FFC0A4EA7F80A2EA1E000A4778C61B>33 D<001EEB03C0397F800FF000FF131F01C013F8
A201E013FCA3007F130F391E6003CC0000EB000CA401E0131C491318A300011438491330
0003147090C712604814E0000614C0000E130148EB038048EB070048130E0060130C1E1D
7DC431>I<EC03F0EC0FF8EC3E1EEC7C0E4A7E49487E130302E07F01071301A3EB0FC0A4
150393CAFC14E05D1506150E5D1518010713386E5A156015E0ECF1C0DAFB800107B512C0
6DB4C7FC5C4A9139007FFC000101EE1FE019806E6FC7FC0100160E497E495E496C6C1418
010E1638496C6C1430011816709026381FE05C01705E496C6C1301D801C06D5C00030107
1403D807806D91C8FC000F6D6C5B001F0101140E003F6E130C90C7EB801C48027F5BEEC0
304891383FE070031F5B705AED0FF9923807FB806D6DB4C812C05E6F7E007F6E6D13016D
6E6C14804C6C13036C6C496D1400001F912603CFF85B6C6C90260F07FC130E6C6C90263E
01FE133C3D03FE01F800FF80F8C6B54890383FFFF0013F0180010713C0D907FCC890C7FC
42497CC64C>38 D<121EEA7F8012FF13C0A213E0A3127FEA1E601200A413E013C0A31201
1380120313005A1206120E5A5A5A12600B1D78C41B>I<140C141C1438147014E0EB01C0
1303EB0780EB0F00A2131E5BA25B13F85B12015B1203A2485AA3485AA348C7FCA35AA212
3EA2127EA4127CA312FCB3A2127CA3127EA4123EA2123FA27EA36C7EA36C7EA36C7EA212
017F12007F13787FA27F7FA2EB0780EB03C01301EB00E014701438141C140C166476CA26
>I<12C07E12707E7E7E120F6C7E6C7EA26C7E6C7EA21378137C133C133E131E131FA2EB
0F80A3EB07C0A3EB03E0A314F0A21301A214F8A41300A314FCB3A214F8A31301A414F0A2
1303A214E0A3EB07C0A3EB0F80A3EB1F00A2131E133E133C137C13785BA2485A485AA248
5A48C7FC120E5A5A5A5A5A16647BCA26>I<14F0A2805CA70078EC01E000FCEC03F0B414
0FD87F80EB1FE0D83FC0EB3FC03A0FF060FF003903F861FC3900FC63F090383F6FC0D90F
FFC7FCEB03FCEB00F0EB03FCEB0FFF90383F6FC09038FC63F03903F861FC390FF060FF3A
3FC0F03FC0D87F80EB1FE0D8FF00EB0FF000FC14030078EC01E0C790C7FCA7805CA2242B
7ACA31>I<16C04B7EB3AB007FBAFCBB1280A26C1900C8D801E0C9FCB3AB6F5A41407BB8
4C>I<121EEA7F8012FF13C0A213E0A3127FEA1E601200A413E013C0A312011380120313
005A1206120E5A5A5A12600B1D78891B>I<B612C0A61A067F9721>I<121EEA7F80A2EAFF
C0A4EA7F80A2EA1E000A0A78891B>I<1618163CA2167C1678A216F816F0A2150116E015
0316C0A215071680A2150F1600A25D151EA2153E153CA2157C157815F85DA214015DA214
035DA214075DA2140F92C7FC5C141EA2143E143CA2147C1478A214F85CA213015CA21303
5C13075CA2130F91C8FCA25B131EA2133E133CA2137C137813F85BA212015BA212035BA2
12075BA2120F90C9FCA25A121E123E123CA2127C1278A212F85AA2126026647BCA31>I<
14FF010713E090381F81F890383E007C01FC133F4848EB1F8049130F4848EB07C04848EB
03E0A2000F15F0491301001F15F8A2003F15FCA390C8FC4815FEA54815FFB3A46C15FEA5
6D1301003F15FCA3001F15F8A26C6CEB03F0A36C6CEB07E0000315C06D130F6C6CEB1F80
6C6CEB3F00013E137C90381F81F8903807FFE0010090C7FC28447CC131>I<143014F013
011303131F13FFB5FC13E713071200B3B3B0497E497E007FB6FCA3204278C131>I<EB03
FE90381FFFC0017F13F03901F80FFC3903C001FE48486C7E000EC7EA7F8048EC3FC0ED1F
E04815F00030140F007015F800601407126CB415FC7F7F1503A46C4813076CC7FCC8FC16
F8A2150F16F0151F16E0A2ED3FC0ED7F8016005D5D4A5A4A5A4A5A5D4A5A4A5A4AC7FC14
7C5C5C495A495A495A49C7120C131E5B013814185B5B485A4848143848C81230000E1570
001FB612F0A25A5AB712E0A326427BC131>I<49B4FC010F13E0013F13FC9038FE01FE3A
01F0007F80D803C0EB3FC048C7EA1FE0120EED0FF0EA0FE0486C14F8A215077F5BA26C48
130FEA03C0C813F0A3ED1FE0A2ED3FC01680ED7F0015FE4A5AEC03F0EC1FC0D90FFFC7FC
15F090380001FCEC007FED3F80ED1FC0ED0FE016F0ED07F816FC150316FEA2150116FFA3
121EEA7F80487EA416FE491303A2007EC713FC00701407003015F80038140F6C15F06CEC
1FE06C6CEB3FC0D803E0EB7F803A01FE01FE0039007FFFF8010F13E0010190C7FC28447C
C131>I<ED0380A21507150FA2151F153FA2157F15FFA25CEC03BF153F14071406140C14
1C141814301470146014C013011480EB03005B13065B131C13185B1370136013E0485A5B
120390C7FC1206120E120C5A123812305A12E0B812C0A3C8383F8000ADEDFFE0027FEBFF
C0A32A437DC231>I<000615C0D807C0130701FCEB7F8090B612005D5D5D15E015802606
3FFCC7FC90C9FCAE14FF010713C090381F01F090383800FC01F0137ED807C07F49EB1F80
16C090C7120F000615E0C8EA07F0A316F81503A216FCA5123E127F487EA416F890C71207
5A006015F0A20070140F003015E00038EC1FC07E001EEC3F806CEC7F006C6C13FE6C6C48
5A3901F807F039007FFFE0011F90C7FCEB07F826447BC131>I<EC07FCEC3FFF91B512C0
903903FC03E0903907E000F0D91FC0133849C71258017EEB01FC01FE1303491307485A48
5AA24848EB03F8000FEC01F092C7FC485AA3485AA3127FA29038007F80903801FFF09038
0780FC39FF0E003E49EB1F8049EB0FC049EB07E0136001E0EB03F04914F8150116FC5BED
00FEA390C812FFA47EA57F123FA216FE121F15016D14FC120FED03F86C7EED07F06C6C14
E06C6CEB0FC06C6CEB1F80017EEB3F0090383F80FE90380FFFF8010313E0010013802844
7CC131>I<121CA2EA1F8090B712C0A3481680A217005E0038C8120C0030151C00705D00
60153016705E5E4814014B5A4BC7FCC81206150E5D151815385D156015E04A5AA24A5A14
0792C8FC5CA25C141E143EA2147E147CA214FCA21301A3495AA41307A6130FAA6D5AEB01
C02A457BC231>I<14FF010713E0011F13F890387F00FE01FC133FD801F0EB1F804848EB
0FC049EB07E00007EC03F048481301A290C713F8481400A47FA26D130116F07F6C6CEB03
E013FC6C6CEB07C09039FF800F806C9038C01F006CEBF03EECF87839007FFEF090383FFF
C07F01077F6D13F8497F90381E7FFFD97C1F1380496C13C02601E00313E048486C13F000
079038007FF84848EB3FFC48C7120F003EEC07FE150148140016FF167F48153FA2161FA5
6C151E007C153EA2007E153C003E157C6C15F86DEB01F06C6CEB03E06C6CEB07C0D803F8
EB1F80C6B4EBFF0090383FFFFC010F13F00101138028447CC131>I<14FF010713E0011F
13F890387F80FC9038FC007E48487F4848EB1F804848EB0FC0000FEC07E0485AED03F048
5A16F8007F140190C713FCA25AA216FE1500A516FFA46C5CA36C7E5D121F7F000F5C6C6C
1306150E6C6C5B6C6C5BD8007C5B90383F01E090390FFF80FE903801FE0090C8FC150116
FCA4ED03F8A216F0D80F801307486C14E0486C130F16C0ED1F80A249EB3F0049137E001E
C75A001C495A000F495A3907E01FE06CB51280C649C7FCEB1FF028447CC131>I<121EEA
7F80A2EAFFC0A4EA7F80A2EA1E00C7FCB3A5121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A
2B78AA1B>I<121EEA7F80A2EAFFC0A4EA7F80A2EA1E00C7FCB3A5121E127FEAFF80A213
C0A4127F121E1200A512011380A3120313005A1206120E120C121C5A5A12600A3E78AA1B
>I<007FBAFCBB1280A26C1900CEFCB0007FBAFCBB1280A26C190041187BA44C>61
D<EB0FFC90387FFFC03901F007F039078001FC000EC77E48147F48EC3F804815C0006014
1F00FE15E07E7FA56CC7FC001CEC3FC0C8FCED7F80A2EDFF004A5AEC03F84A5A5D4A5A4A
5A92C7FC143E143C5CA2147014F05CA25C1301A35CA990C9FCAAEB03C0EB0FF0A2497EA4
6D5AA2EB03C023467BC52E>63 D<16C04B7EA34B7EA34B7EA34B7EA3ED19FEA3ED30FFA2
03707FED607FA203E07FEDC03FA2020180ED801FA2DA03007F160FA20206801607A24A6D
7EA34A6D7EA34A6D7EA20270810260147FA202E08191B7FCA249820280C7121FA249C87F
170FA20106821707A2496F7EA3496F7EA3496F7EA201788313F8486C83D80FFF03037FB5
00E0027FEBFFC0A342477DC649>65 D<B8FC17E017FC00019039C00003FF6C6C4801007F
EF3FC0717E717E717E84170384170184A760A21703601707604D5A4D5AEF7FC04DC7FCEE
03FEEE3FF091B65A17FC0280C7B47EEF1FC0EF0FF0717E717E717E717E1980187F19C0A2
183F19E0A8F07FC0A2198018FF4D1300A24D5AEF0FFC4D5AEF7FE048486C903803FFC0B9
C7FC17FC17C03B447CC345>I<DB0FFE146092B500C013E0020314F0913A0FFC01FC0191
393FC0003E02FFC7EA0F83D903FCEC03C74948EC01E74948EC00FF4948157F4948153F49
48151F49C9120F485A491607120348481603A248481601A248481600A2123FA249176012
7FA31900485AAE6C7EA21960A2123F7FA2001F18E07F000F18C0A26C6C160119806C6C16
0312016DEE07006C6C16066D6C150E6D6C5D6D6C5D6D6C15786D6C5D6D6C4A5AD900FFEC
0780DA3FC0011FC7FCDA0FFC13FC0203B512F0020014C0DB0FFEC8FC3B487BC546>I<B8
FC17F017FC00019039C00007FF6C499038007FC0017FED1FE0EF07F0EF03FC717E717E84
727E727E727EA2727E85180385A2180185A38584A31A80AD1A00A36061A3611803611807
61180F614E5A183F614EC7FC18FEEF03FC4D5AEF1FE001FFED7FC0486DD907FFC8FCB812
FC17F094C9FC41447CC34B>I<B912F8A3000101C0C7127F6C6C48EC07FC17011700187C
183C181CA284A31806A4180704067FA395C7FCA4160EA2161E163E16FE91B5FCA3EC8000
163E161E160EA21606A319C0A3F0018093C7FCA41803A21900A260A260A2181EA2183E18
7EEF01FE170748486C147FB95AA33A447CC342>I<B912F0A3000101C0C7127F6C6C48EC
0FF817031701170018781838A2181CA3180CA4180E1806160CA21800A5161CA2163C167C
ED01FC91B5FCA3EC8001ED007C163C161CA2160CA793C8FCB08048487EB612F8A337447C
C340>I<DB0FFE146092B500C013E0020314F0913A0FFC01FC0191393FC0003E02FFC7EA
0F83D903FCEC03C74948EC01E74948EC00FF4948157F4948153F4948151F49C9120F485A
491607120348481603A248481601A248481600A2123FA2491760127FA396C7FC485AAD4C
B612C06C7EA293C7387FF000725A003F171F7FA2121F7F120FA26C7EA26C7E6C7EA26C7E
6D7E6D6C153F6D7E6D6C157F6D6C15E7D903FEEC01C7D900FFEC0383DA3FE0EB0F01DA0F
FCEBFE000203B500F81360020002E090C7FCDB0FFEC9FC42487BC54D>I<B6D8C003B6FC
A3000101E0C70007138026007F80913801FE00B3A991B7FCA30280C71201B3AC2601FFE0
913807FF80B6D8C003B6FCA340447CC349>I<B612F0A3C6EBF0006D5A6D5AB3B3B3A449
7E497EB612F0A31C447DC323>I<010FB512FEA3D9000313806E130080B3B3AB123F487E
487EA44A5A13801300006C495A00705C6C13076C5C6C495A6CEB1F802603E07FC7FC3800
FFFCEB1FE027467BC332>I<B600C049B512C0A3000101E0C8387FFC006C49ED3FE06D48
1680063EC7FC183C183860604D5A4D5A4DC8FC171E17385F5F4C5A4C5A4CC9FC160E5E5E
5E5E4B5A4B7E4B7E150F4B7E4B7E1577EDE3FE913881C1FFEC8381DA87007F028E6D7E14
9C02B86D7E02F06D7E14C04A6D7E707EA2707E707EA2707F717EA2717E717EA2717E717E
A2717E717EA2717F8585496C82486D4A13FCB600C0011FEBFFE0A343447CC34C>I<B612
F8A3000101E0C9FC6C6C5A5CB3B31830A418701860A518E0A3EF01C0A217031707A2170F
173F177FEE01FF48486C011F1380B9FCA334447CC33D>I<B56C933807FFFC6E5EA20001
F1FE0026006FE0EE1BF8A3D967F01633A2D963F81663A3D961FC16C3A3D960FEED0183A2
027FED0303A36E6C1406A36E6C140CA26E6C1418A36E6C1430A36E6C1460A26E6C14C0A3
6E6CEB0180A3037FEB0300A292383F8006A36F6C5AA36F6C5AA26F6C5AA36F6C5AA36F6C
5AA26FB45AA370C7FC13F0A2486C143ED80FFFEF0FFEB500F0011C0107B512FCA34E447B
C359>I<B56C020FB5FC8080C6040013F06D6CED1F80D96FF8ED0F00A2D967FC1506EB63
FEA2EB61FF01607FA26E7E6E7EA26E7E6E7EA26E7E6E7EA26E7E6E7FA26F7E6F7EA26F7E
6F7EA26F7E6F7EA26F7E6F1380A2EE7FC0EE3FE0A2EE1FF0EE0FF8A2EE07FCEE03FEA2EE
01FF701386A2EF7FC6EF3FE6A2EF1FF6EF0FFEA217071703A217011700A201F0167E183E
487ED80FFF161EB500F0150EA2180640447CC349>I<ED1FFC4AB512C0913907F007F091
391F8000FC027EC7123FD901F8EC0FC049486E7E49486E7E49486E7E49486E7E49C9127E
017E8201FE834848707E4848707EA24848707EA2000F84491603001F84A24848707EA300
7F84A24982A300FF1980AD6C6C4C1300A4003F606D1603A2001F60A26C6C4C5AA26C6C4C
5AA20003606D161F6C6C4C5A000060017F4CC7FC6E5D013F5E6D6C4A5AD907E0EC03F06D
6C4A5AD901FCEC1FC0D9007E4AC8FCDA1F8013FC913907F007F00201B512C09126001FFC
C9FC41487BC54C>I<B712FCEEFFC017F800019039C0000FFC6C6C48EB01FF9338007F80
EF1FE0170FEF07F018F8EF03FCA218FE1701A218FFA718FEA2170318FCA2EF07F818F0EF
0FE0EF1FC0EF7F80933801FE00EE0FFC91B612F017800280C9FCB3AA3801FFE0B612C0A3
38447CC342>I<B712E016FF17C000019039C0003FF86C6C48EB03FCEE00FF717E717E71
7E717E717EA284170384A760A21707604D5AA24D5A4D5A4DC8FCEE01FEEE07F8EE3FE091
B6C9FC16FC913980007F80EE0FE0707EEE03FC707E160083717EA2717EA784A71A608417
1FA21AE0716C13C02601FFE002071301B600C01680943801FC03943900FE0700CBEA3FFE
F007F843467CC348>82 D<49B41303010FEBE007013F13F89039FE00FE0FD801F8131FD8
07E0EB079F49EB03DF48486DB4FC48C8FC4881003E81127E82127C00FC81A282A37E82A2
7EA26C6C91C7FC7F7FEA3FF813FE381FFFE06C13FE6CEBFFE06C14FC6C14FF6C15C0013F
14F0010F80010180D9001F7F14019138001FFF03031380816F13C0167F163F161F17E000
C0150FA31607A37EA36C16C0160F7E17806C151F6C16006C5D6D147ED8FBC05CD8F9F049
5AD8F07C495A90393FC00FE0D8E00FB51280010149C7FC39C0003FF02B487BC536>I<00
3FB912F8A3903BF0001FF8001F01806D481303003EC7150048187C0078183CA20070181C
A30060180CA5481806A5C81600B3B3A54B7EED7FFE49B77EA33F447DC346>I<B600C001
0FB5FCA3000101E0C813F026007F80ED1F80F00F00A21806B3B3A7180E6D6C150CA2181C
131F6E1518010F163818306D6C1570606D6C14016D6C5D6D6CEC0780027F4AC7FC6E6C13
1EDA1FE0137C913907FC03F00201B55A6E6C1380DB07FCC8FC40467CC349>I<B692383F
FFF0A3000301E003071300C649ED01FC4A5E017F705A6E5E133F616E1501011F5FA26D6C
4BC7FCA28001071606A26E150E0103160CA26D6C5DA2806D5EA26F1470027F156081023F
5DA281021F4A5AA26F1303020F92C8FC8102071406A26F130E0203140CA26E6C5BA2816E
5CA2EE8070037F1360A26F6C5AA216E092381FE180A216F3030F90C9FC16FBED07FEA36F
5AA36F5AA26F5AA3166044467EC349>I<B60107B500F890380FFFFEA3000301E0D9001F
90C813F06C0180DA0FFCED3FC091C86C48ED1F006C871C0E6D6C6E7E1C0CA26D6C6F5DA3
6EDA06FF1538011F1A30A26E020E6D1470010FDB0C7F1560A26E021C7F0107DB183F5DA2
856D6CDA301F4A5AA36D6C4A6C6C49C7FCA36D6C4A6C6C1306A3DB80016E130E027FDA80
03140CA2DBC00380023FDA00015CA203E081021F01066D5CA36E6C486E6C5AA36E6C486E
6C5AA36F48EC1FE1020360A2DBFE7015F302010160020F90C8FCA2DBFFE015FB6E49EC07
FEA36F486E5AA36FC86C5AA3031E6F5AA4030C16605F467EC364>I<003FB500E0011FB5
FCA3C691C7000713E0D93FFC020190C7FC6D4815FC010F6F5A6D6C15E0A26D6C4A5A6D6C
5D4DC8FC6D6D5B6E6C13065F6E6C131C6E6C13185F6E6C13706E6C13605F913803FE01DA
01FF5B4CC9FC6E1387ED7FC616CCED3FFC6F5A5E6F7E6F7EA26F7E82A203067F150E9238
0C7FC04B6C7E15389238301FF04B6C7E15E04B6C7E4A486C7E14034B6C7E02066D7F140E
020C6E7E4A6E7E143802306E7E4A6E7E14E04A6E7E49486E7E130349C86C7E496F7F5B49
6C8201FF83000701E0020313F8B500F8021FEBFFF0A344447EC349>I<B66C91380FFFFC
A3000101F8C8000313C026007FE0923800FE0061013F17F06D6C5E80010F5F6D6C4B5A18
036D6C93C7FC6E15066D160E6D6D140C181C6E6C14186E6C5C18706E6C146018E06E6C5C
6E6C495A17036E6C91C8FC5F6E6C13066E6D5A171C92387FC0185FED3FE06F6C5A17E06F
6C5AEEF980ED07FF6F90C9FCA26F5AB3A6923807FF800203B6FCA346447FC349>I<EAFF
FCA4EAF000B3B3B3B3B3A2EAFFFCA40E6476CA1B>91 D<01C01318000114384848137048
C712E0000EEB01C0000C1480001C13030018140000385B003013060070130E0060130CA3
00E0131C481318A400CFEB19E039FFC01FF801E013FCA3007F130FA2003F130701C013F8
390F0001E01E1D71C431>I<EAFFFCA4EA003CB3B3B3B3B3A2EAFFFCA40E647ECA1B>I<13
C01201EA0380EA0700120E120C121C12181238123012701260A312E05AA412CFEAFFC013
E0A3127FA2123F13C0EA0F000B1D79C41B>96 D<EB07FC90383FFF809038F80FE03903C0
03F048C66C7E000E6D7ED80FC0137E486C137F6D6D7EA36F7EA26C5AEA0380C8FCA4EC0F
FF49B5FC90380FFE1FEB3FC0EBFF00EA03FC485A485A485A485A127F5B176048C7FCA315
3FA36D137F007F14EF6D9038C7E0C0003F13013A1FE00783F13B07F81E03FF802701FFFC
0113003A001FE0007C2B2E7CAC31>I<EA01FC12FFA3120712031201B3EC03FC91380FFF
8091383C07E091387001F89039FDE0007E02807F01FFEC1F8091C713C049EC0FE0491407
17F0A2EE03F8A217FCA2160117FEAB17FC1603A217F8A2EE07F0A26DEC0FE017C06D141F
01FBEC3F80D9F380EB7E00D9E1C05B9039E0F001F89039C03C07E09039801FFF80C7D803
FCC7FC2F467DC436>I<EC7F80903803FFF090380FC07C90383F000F01FCEB03804848EB
01C00003140F4848EB1FE049133F120F485AA2485AED1FC0007FEC070092C7FCA290C9FC
5AAB7E7FA2123F16307F001F15706C6C146016E06C6C14C06C6C13010001EC03806C6CEB
0700013F131E90381FC078903807FFF001001380242E7DAC2B>I<167FED3FFFA3150181
82B3EC7F80903803FFF090380FC07C90383F000E017E1307496D5AD803F87F48487F5B00
0F81485AA2485AA2127FA290C8FC5AAB7E7FA2123FA26C7EA2000F5D7F6C6C5B00035C6C
6C9038077F806C6C010E13C0013F011C13FE90380FC0F8903803FFE09026007F0013002F
467DC436>I<EB01FE903807FFC090381F03F090387E00FC49137E48487F485A4848EB1F
80000F15C049130F121F484814E01507A2007F15F090C7FCA25AA390B6FCA290C9FCA67E
A27FA2123F16306C7E1670000F15606D14E06C6C14C0000314016C6CEB03806C6CEB0700
013E131E90381F80F8903803FFE0010090C7FC242E7DAC2B>I<EC0FE0EC7FF8903801F8
1E903803F03F90390FE07F8090381FC0FF5C133F495AA2ED7F0001FE131C92C7FCAFB67E
A3C648C8FCB3B2486C7E007F13FFA321467EC51E>I<EE0F80D901FCEB7FE0903A0FFF81
F0F090393F07E3819039FC01FF033A01F800FE014848017E13E00007027FC7FC497F000F
8149131F001F81A9000F5D6D133F000792C7FC6D5B0003147E6C6C5B6D485A3903BF07E0
90380FFF80260701FCC8FC90CAFCA25AA37F6C7E7F90B512F86C14FF16E06C15F86C6C80
48B67E3A07C0000FFF48481300003FC8EA3F80003E151F48ED0FC0A2481507A56C150F00
7C1680007E151F003E16006C153E6C6C5CD807E0495AD801F8EB07E0D8007FEB3F809026
1FFFFEC7FC010113E02C427DAC31>I<EA01FC12FFA3120712031201B3EC01FE913807FF
C091381E07F091383801F802707FECE000D9FDC07F5C01FF147F91C7FCA25BA35BB3A848
6CECFF80B5D8F83F13FEA32F457DC436>I<EA01E0EA07F8A2487EA46C5AA2EA01E0C8FC
ADEA01FC12FFA3120712031201B3B0487EB512F8A315437DC21C>I<143C14FFA2491380
A46D1300A2143C91C7FCADEC7F80EB3FFFA31300147F143FB3B3AA123E127F39FF807F00
A2147EA25C6C485A383C01F06C485A3807FF80D801FEC7FC195785C21E>I<EA01FC12FF
A3120712031201B3A292381FFFE0A36F1300ED07F816E05E5E030EC7FC5D5D5D5D4A5A4A
5A4AC8FC5CEC3F804A7E14FF9038FDCFE09038FF8FF01407496C7E01FC7F14016E7E8181
6F7E82151F6F7E821507826F7E8282486C491380B5D8F81F13F8A32D457DC433>I<EA01
FC12FFA3120712031201B3B3B3A5487EB512F8A315457DC41C>I<D801FC01FFEC1FE000
FF010701E0EBFFFC913B0F03F801E07F913C3C01FC07803F800007903C7000FE0E001FC0
000349D97E1C130F2601FDC0D97F38804A143001FFDA3FF06D7E91C75BA2495DA3495DB3
A8486C4A6C497EB5D8F81FB50003B512E0A34B2C7DAB52>I<3901FC01FE00FF903807FF
C091381E07F091383801F8000701707F0003EBE0002601FDC07F5C01FF147F91C7FCA25B
A35BB3A8486CECFF80B5D8F83F13FEA32F2C7DAB36>I<EC7F80903803FFF090380FC0FC
90383E001F496D7E496D7E48486D7E48486D7E48486D7E000F81A24848147E003F157FA2
90C87E481680A44816C0AA6C1680A26D147F003F1600A2001F157E6D14FE000F5D6D1301
00075D6C6C495A6C6C495A6C6C495A013E49C7FC90381FC0FE903807FFF89038007F802A
2E7DAC31>I<3901FC03FC00FF90380FFF8091383C07E091387001F83A07FDE000FE0001
0180137F01FFEC3F8091C7EA1FC04915E049140F17F0160717F8160317FCA3EE01FEABEE
03FCA3EE07F8A217F0160F6D15E0EE1FC06D143F17806EEB7E00D9FDC05B9039FCF003F8
91383C0FE091381FFF80DA03FCC7FC91C9FCAE487EB512F8A32F3F7DAB36>I<91387F80
03903903FFE00790380FE07890393F801C0F90387E000E496D5AD803F8EB039F0007EC01
BF4914FF48487F121F5B003F81A2485AA348C8FCAB6C7EA3123F7F121F6D5C120F6D5B12
076C6C5B6C6C497E6C6C130E013F131C90380FC0F8903803FFE09038007F0091C7FCAEEE
FF80033F13FEA32F3F7DAB33>I<3903F803F000FFEB1FFCEC3C3EEC707F0007EBE0FF38
03F9C000015B13FBEC007E153C01FF13005BA45BB3A748B4FCB512FEA3202C7DAB26>I<
90383FE0183901FFFC383907E01F78390F0003F8001E1301481300007C1478127800F814
38A21518A27EA27E6C6C13006C7E13FC383FFFE06C13FC6C13FF6C14C06C14E0C614F001
1F13F81300EC0FFC140300C0EB01FE1400157E7E153EA27EA36C143C6C147C15786C14F8
6CEB01F039F38003E039F1F00F8039E07FFE0038C00FF01F2E7DAC26>I<1306A5130EA4
131EA3133E137EA213FE12011207001FB512F0B6FCA2C648C7FCB3A4150CAA017E131C01
7F1318A26D133890381F8030ECC070903807E0E0903801FFC09038007F001E3E7EBC26>
I<D801FC147F00FFEC3FFFA300071401000380000181B3A85EA35DA212006D5B017E9038
077F80017F010E13C06D011C13FE90380FC078903803FFF09026007F8013002F2D7DAB36
>I<B539F001FFFCA3000790C7EA7FE06C48EC1F8000011600160E1200160C017F5CA280
013F5CA26E1370011F146080010F5CA2ECF00101075CA26D6C48C7FCA26E5A01011306A2
6D6C5AA214FF6E5AA215B8EC3FB015F06E5AA36E5AA26E5AA36EC8FC2E2C7EAA33>I<B5
00E0B539E03FFF80A30007903C000FFE000FFC00D803FCD903F8EB03F8F001E012010301
5D6D80000060A26D6E13036DD9037E91C7FCA20280017F5B013FD9063F1306A2D91FC06E
5AED0C1FA2D90FE06E5AED180FA2D907F06E5AED3007A2D903F86E5AED6003A2902601FC
E06D5AEDC00117FCD900FFECFD80ED800017FF027F92C8FC92C77EA26E147E023E143EA2
021E143C021C141CA2412C7EAA46>I<B539F007FFFCA30003D9C00113C0C6496C130001
7F14FC013F5C6E13E06D7E010F495A6D6C485A02F890C7FC903803FC060101130E6E5A90
3800FF186E5AEC3FF05D141F140F6E7E81140FEC0DFCEC19FEEC38FF4A7E9138603F8002
C07F0101131F49486C7E02007F01066D7E010E1303496D7E013C80017C80D801FC1580D8
0FFE4913C0B5D8800F13FFA3302B7FAA33>I<B539F001FFFCA3000790C7EA7FE06C48EC
1F8000011600160E0000150C6D141C6D1418A26E1338013F1430A26D6C5BA26E13E0010F
5CA26D6C485AA2ECF803010391C7FCA2903801FC06A2ECFE0E0100130CA2EC7F18A215B8
EC3FB0A2EC1FE0A36E5AA26E5AA36EC8FCA21406A35CA25CA2123C007E5BB4FC5CA25CEA
FE01387C0380D87007C9FCEA3C1EEA0FFCEA03F02E3F7EAA33>I<003FB612E0A29038C0
003F90C713C0003CEC7F800038ECFF00A20030495A0070495AA24A5A0060495AA24A5A4A
5AA2C7485A4AC7FC5B5C495A13075C495A131F4A1360495A495AA249C712C0485AA2485A
485A1501485A48481303A24848EB07804848131F00FF14FF90B6FCA2232B7DAA2B>I<B9
FCA23002809B31>I<BF1280A26102809B62>I<001EEB0780007FEB0FE039FF801FF0EBC0
3FA4EB801F397F000FE0001EEB07801C0A76C231>127 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fv cmbx12 24.88 45
/Fv 45 122 df[<96380FFFFE060FB612E04DB712FC051F16FF94B912C0040784041F18
F8047F9126FC001F7F4BB6008001017F030702F8C8EA3FFF4B02E0030F7F033F02804B7F
4B49C9127F92B54893B57E4A02F05D4A4A4B804A4A5D4A4A84634A91C9FC4A5BA24A5B51
80755C91B5FC5EA3755CA2755C755C755CE23FFEC8FCF40FF899CAFCAF083FB612FCBFFC
A9C702FCC912038787B3B3B3B2003FB800F0013FB812F0A9>116
144 123 271 129 12 D[<EF01F8EF07FC170F171F177FEE01FF1607161F93B5FC150315
3F0203B6FC49B7FCB9FCA615C3ECFC03EBFE00C8FCB3B3B3B3B3AE007FBC1280A9>81
135 110 262 116 49 D[<93381FFFF00303B612E0033F15FC4AB812C0020717F0021F17
FC027F17FF49BA12C0010719F049DA800F814901F8C715FE4901C0021F804948C8000781
49486F814801F00300814849708048018070804890CA6C806E70804813F002FC7080486D
70158080486E6F15C0817315E081B6836F19F0A3861DF8A56C5CA26C5CA26C5C6C91CAFC
6C5B000113F826007FE01AF090CCFC62A21DE0A297B6FC1DC0A24F1580A24F150064A24F
5C64614F5C644F5C644F91C7FC96B55A4E5C634E5C4E5C4E5C98C8FC4E5B4E5B4E5B95B5
12E04D5C624D49C9FC4D5B4D5B4D13E04D5B4D5B4D48CAFC4C5B4C5B4C5B4C01C0ED0FF8
4C5B4C90C9FC4C5A4C48EE1FF04B13F04B5B4B5B4B5B4B90CAFCDB3FFC173F4B4818E04B
5A4A5B4A49177F4A90CBFC4A4818FF5D4A485F4A48053F13C04ABBFC91BCFC5B5B5B5B49
1B805B5B90BDFC5A5A5A5A481C005A5ABEFCA464A4>93 135 117
262 116 I[<933807FFFE93B612F8030FEDFF80033F16F04AB812FE0207717E4A18E002
3F844A9026FC003F14FC49B500C00107804901FCC70001804901F06E6C14C04901C06F80
4990C97E4A708049488549B46C6F8015E090B500F8846F8148878181A2481C808285A461
A36C92C8FC1D006C5CA26D5B6D494B5C6D5B010713C0010190C95D90CB5A64A24F5C6461
644F5C96B6C7FC634E5C4E5C4E14E04E5C063F5C95B548C8FC050314F80407B612E00307
B712804B4BC9FC19F885F1FFC01AF86F16FF92C86C14C0060714F0060114FC7280073F6D
7E738073807314F888738085881D807315C0A21DE0861DF0A21DF8A27414FCA41DFEEB7F
F03801FFFC487F000F6D7E4880A248804880A3B67E1DFCA45014F8A34B19F07E97B612E0
5D1DC06C5C4B4B15806C91C9FC02FC4C15006C494C5C6C01C0616E4C5C6C01F84C5C6C01
FE4C5C6C6D6C4B5C6D01F04AB65A011F01FF020792C7FC6D02F8017F14FC010391B85A01
0019E0023F1880020F4DC8FC020317F0DA007F1680030303F8C9FCDB000F49CAFC>95
137 118 262 116 I[<F37FC0517E6262A2626262A2626297B5FC61A2616161A2616161
96B6FCA2606060A2606060F07FEF19CF18FF4D138F4D130F18FE1707EF0FFCEF1FF8EF3F
F018E0177FEFFFC04C138018005E4C5A4C5A4C5A5F163F4C5A4C5A5F5D4B90C7FC4B5A4B
5A5E151F4B5A4B5A5E15FF4A5B4A90C8FC4A5A5D140F4A5A4A5A5D147F4A5A495B4990C9
FC5C1307495A495A5C133F495A495A485B91CAFC5A485A485A5B121F485A485A485A90BE
12FEA9CC003F02E0C7FCB3A6040FBA12FEA9>103 136 122 263
116 I[<010E1AE0D91FC0F007F002F0183F02FFEF01FF03E0160F03FF4BB5FC04FE91B6
5A93B95AA26499C7FC6363636363636398C8FC1AFC621AE06297C9FC19FC19F019C04ECA
FC18F0DAF87F49CBFC92CEFCB3A394B5FC041F14F84BB77E030716E0031F16FC037F16FF
02F9B912C002FBDA800F8091B526F0000114F893C86C7F03FC6F7F03F06F7F03C06F804B
6F804AC96C804A854A70804A85854A856D5A90CC6C7FA21D80A21DC0A21DE086A21DF0A5
1DF8A3EB7FC03801FFF000077F4813FE5A487F815A81B6FCA31DF0A41DE0625D6C1CC092
CAFC5C1D806C01F894B6FC4A1A006C13C001F8CA485C6C6C626D5F0007636D4D5C6C6D61
6C01E05E6C6D4C5C6E4C5CD97FFE93B548C7FC6D6C6C4A5C6D01E002075C010701FC023F
5C6D9026FFE003B612C06D91B8C8FC6D6C5F021F17F0020717C0020194C9FC6E6C15F003
0792CAFCDB007F13C0>93 137 117 262 116 I[<95380FFFE00503B6FC053F15C04CB7
12F8040782043F16FF93B97E4B8403079126FE003F7F031F02E001037F4B91C87F92B500
FCED3FFC4A02F06F7E4A02C0150F4A4A92B5FC4A91C812034A01FC5D4A494B14804A495D
91B5FC494A4B14C0495C494A5DA24991C9FC5B5D5B5D5B90B57114805D48731400A2745B
484A705B745B48070013E098C8FCA2485CA35AA35AA34B903807FFE0053FEBFF80484BB6
12F04C15FC040F15FF4C16C04C16F093267FF803809327FF80003F13FEB600C190C7000F
7FDBC3FC6E80DBC7F86E804C6E80DBCFE06E80DBDFC06F7F4C6F7F03FF8493C96C7F5D1D
804B7014C0A21DE05D1DF0A25D7414F8A34B19FCA47E1DFEA25DA67EA56C80A46C1CFCA3
7EA21DF87E81626C1CF0A26C1CE0A26D6D19C0626D1B806D6D1900626D6D606D6D4C5B70
5F6D95B55A6D6E4A5C6D6E4A5C6E01F84A5C6E6D021F91C7FC6E01FF027F5B0207DAF007
B55A6E91B712F00200606F1780031F4CC8FC030316F8030016C0041F4AC9FC04001480>
95 137 118 262 116 I[<48B4FCA3487F14E014FE91B512F893BB12E0A45AA41EC01E80
1E0048646565A2656565654899C7FCA26464646402E0CB5BD83FFCCB5A494E5B505B4997
C8FC505A505A49183F505A007F4F5A63494D5B4F5B614F90C9FC4F5A4848604F5A4F5A19
FFCB485B4E5B624E90CAFC604E5A61183F4E5AA24E5A5F615F4D5BA25F4D5BA25F96CBFC
5FA24D5AA25EA24C5BA25EA25EA24C5BA25EA35E60A293B5FCA35DA35DA35D60A35DA65D
A75DAE6F5CA36F5C6F91CCFC6F5B6F5B9238007FF0EE1FC0>99 142
115 267 116 I[<F31FF0517E517EA2517EA3507FA25080A25080A35080A25080A35080
A25080A397B67EA24F81A34F82A24F82A34F82A2DF1FFD811AFC62073F6D80A2DF7FF081
871AE007FF6D80A24E01C081871A804E6E81A24E0100828761060F6E81A24E4883876106
3F6F80A24E486E80A26106FF6F80A24D496E80A2614D7081A24D90C86C81A260050F7081
A24D486F81A260053F7180A24D487080A26005FF7180A24C497080A2604C7281A24C90CA
6C81A25F040F728194BDFC4C88A34C88A24C88A3DCFFE0CB001F80A24B497280A25F4B74
81A24B90CC6C81A25E030F7481A24B487381A25E033F7580A24B487480A25E03FF7580A2
4A497480A25E4A7681A24A90CE6C81A25D91261FFF8074810103B512FEB900C0040FBA12
FEA9>159 145 120 272 176 65 D[<BFFC1EFEF6FFE01FFCF7FF8020E020FC8C7A7EC7
00034ACA001F15E00B0381E3007F800C1F80788078800C01818E788179808B8E8B8E8B8E
A27980A4791580AB551500A4555CA26A676A676A555C9CB65AA2545D5492C7FC545C5414
F80C3F5C9BB65A5315800B0F4AC8FC0B7F14F80A1FB612E094BCC9FC1FF81F801FF8F7FF
8020F020FE4DCA00016E7EE3003F14F00C07807814FE0C006E7E79807980798079807980
8E7980791580A27915C023E08C23F0A223F88CA223FCA38C23FEAB5614FCA55614F8A29D
B612F0A35515E06723C055158067551500555C555C9CB6FC0C035D5415E00C1F5D9BB75A
0B0F93C7FCC212FC6921E021800EFCC8FC20F09DC9FC1FF00CFCCAFC>143
142 120 269 165 I[<0803B500C0EE01F00703B600FEEE03F8077FDBFFE015070607B8
00FC150F063F05FF151F4DBA00E0143F050F07F8147F053F07FE14FF94BC5B04039326F8
000FECC003040F4BC86CEBF007043F03C0030F6D5A93B648C900036D5A4B03F09339007F
FF3F030703C0051F90B5FC4B92CB7E033F02FC18034B02F08492B648844A0380193F4A92
CD7E4A4A864A4A864A02F0864A4A864A8991B65A494B874992CF7E4C885B494A885E498B
494A88A2495C8D90B65A8D5A5E48217FA24892D1FC223FA25A5DA248211FA3485CFA0FF0
9FC7FCA25AA45DA3B6FCB27EA381A47EA46C80FA07F0FA0FF87EA2817EA36C6F1D1F23F0
7E827E223F6D6E1EE0A26D6E1D7F23C06D6E1DFF7F705213806D806D55130070646D6F64
6D6F515A6E6E1B1F6E6E515A6E6E515A6E6E1BFF6E6E505B6E6E505B6E6F4F5B6E03E04F
90C7FC6F6EF13FFE6F02FC4F5A030F02FF4E485A6F03C005075B030103F0051F5B6F03FE
057F1380043FDAFFE00303B5C8FC040F03FE033F13FC0403DBFFF80107B55A040093B812
E0053F1A80050F4FC9FC050119F8DD003F18C0060795CAFCDE007F16F0070393CBFCDF00
0314C0>141 146 115 271 168 I[<BE12FEF5FFFCF6FFC01FFCF7FF8020E020FC20FF21
C0C7000392C9000116F0E2000F810B0015FE0C1F800C0315C00C00810D3F8079800D0714
FE79807981796C808C7A807A808F7A807A808C8F7A818DA17E8DA17E8DA17EA27B80A2A1
7E8DA17EA28DA17EA3A113808DA3A113C0A57B15E0A6A113F0B3A2A113E0A569A113C0A5
A11380A269A2A11300A3575CA2A15AA269A15A69A15AA2575CA15A69A15A9EB6FC5692C7
FC6B565C68565C565C565C565C9DB65A5592C8FC0D075C555C0D3F5C9CB65A0C0315C00C
0F5D0C7F92C9FC0B07B612FC52B712F0C212C09ECAFC20FC20F020800DFCCBFC1FE00CFC
CCFC53CDFC>156 142 120 269 178 I[<C21280A421C0A5C700030380C81201F40007F5
007F0C1F14E01E071E018A1F3F8B8B8B7913F0A28B8BA2207FA3203F21F8201FA4200FA3
21FC2007A4F47FC0A3F803FEA49DC7FCA31CFFA463A263A26363631B7F50B5FC1A1F95B8
FCA9953880001F1A01747E1B1F878787A287A287A41C7FAA99CBFCB3AFBC12F0A9>127
141 120 268 146 70 D[<BC1280A9C7000103C0C8FCB3B3B3B3B3B3B0BC1280A9>73
142 121 269 87 73 D[<BC12F0A9C700030380CEFCB3B3B3B3A5F8FF80A4672100A667
A368A21F07A41F0FA3555AA21F3FA21F7FA21FFFA2666668666666666653B5FC651D0F53
5C1D7F0A03B6FC1C1F0903B7FCC1FCA468A5>121 142 120 269
140 76 D[<B96C0C3FB812E07266729BB9FC7265A37265A27265C70003A101F8C8FC72F5
0FF7A2706DF51FE7A3706EF43FC7A2706EF47F87A2706EF4FF07A2706EF301FEA3706EF3
03FCA2706EF307F8A2706EF30FF0A2716DF31FE0A3716EF23FC0A2716EF27F80A2716EF2
FF00A2716E4F5AA3716E4F5AA2716E4F5AA2716E4F5AA2726D4F5AA3726E4E5AA2726E4E
5AA2726E4EC7FCA2726E4D5AA3726E4D5AA2726E4D5AA2726E4D5AA2736D4D5AA3736E4C
5AA2736E4C5AA2736E4CC8FCA3736E4B5AA2736E4B5AA2736E4B5AA2736E4B5AA3746D4B
5AA2746E4A5AA2746E4A5AA2746E4AC9FCA3746E495AA2746E495AA2746E495AA2746E49
5AA3756D495AA2756E485AA2756E485AA2756E48CAFCA375ECF1FEA275ECFBFCA275ECFF
F8A2755DA3765CA2765CA2765CA27691CBFCA3765B4A7F49B500FE715BB900FC51BB12E0
765BA2765BA3775A775A775A>203 142 120 269 220 I[<B900C04EB912F8848484A284
848485C7000399C7000302FCC7FC73DF000F90C8FC73745A858585A28570807081708182
867081708170818286718071817181718183877181718171818487728172817281728184
8872817281738085897381738173817381A27381738174807481868A7481748174817481
A27481758075817581878B758175817581878B7680768176817681888C76817681768189
8C7715807715C07715E07715F08921F87715FC7715FE7814FF8A22877815C77815E77815
F77815FFA28A8A8B8B8BA28B8B8B8BA28B8C8C8C8CA28C8C8C8CA28D8D8D8D8DA24A6D88
49B500FE88B900FC86227FA2223F221F220F2207A27C5A>165 142
120 269 182 I[<97B512F0077FECFFE00607B712FE067FEEFFE00503B912FC051FF0FF
80057F19E00403BB12FC040F9226E0007F14FF043F02FCC7000315C04C02E0DA007F804B
B60080031F14F8030702FCC9000314FE4B4A70804B02E0706C80037F0280051F14E092B6
CB6C804A4A72804A4A72804A02F00600804A4A737F4A4A73804A8B4A4A738091B6CD6C80
494A7480A2494A7480494A7480498C4C86498D4C87498D494A7580A290B68B4C87488EA2
4892CF6C80A3488E4B88A2488EA3484A761580A34823C0A5484A7615E0A7B621F0B36C23
E0A26F64A56C23C0A46F646C2380A36C23006F64A26C6AA270636C6AA26C6A70636C6A70
636D69A26D6E98B65AA26D6E505DA26D6E5092C7FC6D6870626D6E505C6D686D6F4F5C6E
6E4F5C6E6E4F5CA26E6E96B65A6E6E4E92C8FC6E6E4E5C020102FF060F14F86E6F4D5C6F
6E4D5C6F02F094B65A030F6E4C92C9FC6F02FE04075C03016E6C031F14F86F03F092B65A
043F02FE020715C0040FDAFFF090B7CAFC040392B812FC04001AF0051F198005074ECBFC
DD007F17E0060F94CCFCDE007F15E0070002F0CDFC>148 146 115
271 175 I[<BE12F8F5FFF01EFF1FE01FFCF7FF8020E020F820FEC7000392C9000781E2
003F15C00B03810B00810C3F8078800C07807880788178818E8B8E8B8E8B8EA28EA28B8E
A42380AC2300A46A67A26AA26A676A676A9CB65A6A665492C7FC545C0C1F5C545C9BB612
E00B075D0B3F5D0A07B648C8FC95BB12F820E0208055C9FC1FF09CCAFC1EF00BF8CBFC06
80D0FCB3B3B2BB12FEA9>137 142 120 269 159 I[<BD12FCF4FFFCF5FFE01EFCF6FFC0
1FF01FFE797E20E0C7000392C96C15F80A0181E2003F14FF0B07810B0115E0776C807880
7880788078808A78818E7881A28E8B8EA37980A48EAA6AA3676AA26AA29CB65AA26A545D
9FCAFC66545C545C545C545C9BB612C0535D0B074ACBFC0B3F5C52B612F00A7F15C095BB
CCFC1FF81FC054CDFC1EF81EFE787E95C8000315E0E1003F14F80A0F14FE0A0380768176
6C807780778077808C77807780A27781A27781A28DA28A8DA88DA98DA87BED1FC0A1EB3F
E0A28AA28D8AA1137F7C15C08A7818FF7C1580786F5B781900BB00FC6F6F5B796E495A79
02FEEB1FFC799139FFC07FF80D0792B55A0D015F796C5E0E1F5E0E034BC7FCD4001F14F8
E7003F13C0>163 144 120 269 173 82 D[<93260FFFF8163E4BB600E0153F031F03FE
5D037FDBFFC05C0203B800F05B020F05FC5B4A05FF5B027FF0C00F91B526FC000FECF01F
010302C0D9007F6D5A4949C800076D5A4901F8030090B6FC4901E0163F4949160F494982
90B5CA12014A834849844849181F87484984A2484984874886A248498588A24887A388A2
B58680A36E85A3806E85A28080816C6E725A03F096C7FC8115FE6F7E6C15F0EEFF8017F8
6CEEFFC018FC6CEFFFE019FE6CF0FFF01AFE6CF1FFC06C1AF01BFC6C1AFF6D1AC06D866D
1AF86D866D866D866D876D87023F866E860207860201866E7E031F85030385ED007F0407
1980EE003F050318C0EF001F060117E0F0000F1900080F15F01A031A007514F81B1F8787
7514FC87A2007F86486C86A288A288A46D86A31EF87FA37F1EF0A26D626D1CE0A27F6D50
13C0A26E1B806E616E1B0002F896B5FC6E4E5B6E4E5B6E6C5F03E04D5B03F84D5B03FE4D
5BDBFFC093B55A04F803035C496CD9FF80021F91C7FCD9FC1F02FF49B55AD9F80792B75A
496C19F049C66149011F18804901074DC8FC90C817F848031F16C04803004BC9FC007C04
011480>102 146 115 271 129 I[<000FC312F8A6488EA304C0C7001F02FCC7120103F8
C8F0000F03C01C0192C9737E02FC1E1F4A8A02E01E034A8A4A8A4890CA757EA249203F49
201FA349200FA2492007A4492003007F8EA4498CA848487A1380A6CC99C7FCB3B3B3B3AA
030FBD12F8A9>145 140 120 267 162 I[<BB00C00507B812F8A9C7001F4ACE000192C7
FC71E1000713E06E791380A2846E5590C8FC846E555A846E555AA26E6F64223F846F545A
846F545AA26F6E6469846F535B856F5390C9FC856F66210F856F535A856F535A8570525A
A28570525A8570515B8570515BA2706F96CAFC688670515A8670515A867064203F867150
5A8671505A8671636786714F5B87714F90CBFC87714F5AA287714F5A87714F5A87724E5A
A2726E5E1FFF87724D5B87724D5B887296CCFC6688724D5A88724D5A8872601E3F88734C
5A88734C5A88734B5BA21CFF734B5B1D8373038790CDFC1DC773EDCFFEA273EDEFFC1DFF
A2735EA2745DA2745DA3745DA2745DA27492CEFCA3745CA2745CA2745CA3755BA2755BA2
755BA2755BA27590CFFC755A>165 144 123 269 176 86 D<93B512FC037FECFFF00207
B8FC023F17E091B912F84918FE0107727E499126C0007F14E04901E0C7000F80496D0203
80496D020014FE6F6F7F90B570806F6F8085486E6F807380A27380A28885886C5CA26D49
82886D5B6D5B010713C0010190CAFC90CCFCA90603B7FC050FB8FC0403B9FC167F0307BA
FC153F4AB7EA807F020FEDE000023F02FCC7FC91B612E0010392C8FC4914FC011F14F049
14C0495C90B548C9FC485C485C485C485C5A5D485CA24891CAFCA3B6FC5CA397B6FCA461
806C60F107EF6C6E150F6F16CF6C183F6FDB7F8F806C6EDBFF0F14E06C02FCDA03FE15FE
6C6E91260FFC0791B5FC6C6E6CD93FF817806C923AF803FFF003013F91B6487E010FEF80
00010394C77E010004FC141F021F03F0140702010380DA007F1400DA000701F8CDFC695F
79DD71>97 D[<ED1FF0017FB5FCB7FCA9EA003F1307A27FB3B296383FFFC00607B512FE
063FECFFE04DB712F8050716FF051F17C0057F17F094B5D8C00F8004F301FCC714FE04F7
01E0023F7F93B50080020F804DC86C14E005F80301804D6F804D707F05808294CA804C71
7F4C7180A24C71808BA27680A28B88A28BA28BA3888BA52080B02000A56764A267A36764
67A2525CA267647062704D91C7FC704D5BA2714C5B7193B55A05F04B5CDCBFF84B5CDC1F
FC030F5C4B6CB44B91C8FC7001C0027F5B4B6C01F00103B55A4BC601FF013F14F04B6D90
B712C04B011F94C9FC4B6D16FC4B010316F092C86C15804A030F02F8CAFC90CB49CBFC>
113 144 121 270 129 I<94387FFFF0041FB612E093B712FE0307707E031F17F092B97E
4A18FE020784021F9126F8000F14804A0280010014C04A49C74814E049B500F85C494A17
F0494A5C495C494A4A14F84991C8FC5D495B90B5FC5D5A485C7314F05A4B6F14E05A7314
C0487214804B93383FFE00F20FF84896C8FCA4485CA5B6FCB07EA281A37EA36C80A37E6F
18FE6CF201FFA26C6E5F1CFE6C801B076C6EEF0FFC6D7F70EE1FF86DF13FF06D6E167F6D
6EEEFFE06D02F84B13C06D6E5D6D02FF030F13806D03C0023F1300023F02F0903801FFFC
6E9126FF801F5B020792B65A6E18C0020060033F4CC7FC030716F8030016C0041F4AC8FC
DC007F13C0585F78DD67>I[<F53FE098B6FC4FB7FCA996C77E1B0FA287B3B294383FFF80
040FB512FC93B71280030716E0031F16F8037F16FE4AB9128702074AC66C13C7021F02E0
010713F74A91C890B6FC4A01FC153F49B548150F4902E081494A81494A814991CA7E495B
8749498390B548835A5D5AA2485CA25A5D5AA35AA25D5AA5B6FCB07EA57E81A37EA27EA2
817EA26C80A26C626C6E5F636D7F6D6D94B6FC6D606D6D1607705D6D6E4B81010102F015
7F6D6E92B712FE6E01FE020301EF91B512806E6D6C011F13CF020FDAF801B5120F020391
B612FE6E17F86E6C16E0030F16800301EDFC00DB003F14E0040049C74AC8FC>113
144 120 270 129 I<94387FFFC0040FB6FC93B712E0030716FC031F16FF037F17C04AB9
12F00207DAF80380021F912680003F13FE4A49C7000F7F4A01F802038049B5486E804902
C06E6C7F494A6F7F4991C9FC49727F4949707F4B84498490B548707F5A4B198048855D48
1CC086481CE05D5A871DF05AA25D5AA21DF887A2B6FCA392BBFCA51DF00380CDFCA77EA4
817EA37EA2817EA26CF307F06FF00FF87E816C1B1F6F19F06C1B3F6D6DF07FE06D7FF4FF
C06D6E4C13806D6E5E6D02F04C13006D6EEE1FFE6D6E4C5A6D6C01FFEEFFF86E02E00203
5B6E02FC021F5B02079126FFC003B55A6E92B7C7FC020060033F17F8030F17E003011780
DB003F03FCC8FC040315C0DC000F01F8C9FC5D5F7ADD6A>I[<95383FFF80050FB512F094
B612FE040781041F16C0047F824BB87E0307DAF8077F031FDAC00F7F4B49C6487F4B495B
92B500F0814A4A5B4A5C4A93B612805F4A91C7FC5C5E5C5E5C731400A24C6E5B91B56F5B
A2735B070313E00700138097C8FCB3A4BA12F8A9C702FCCBFCB3B3B3B3A2003FB9FCA9>
81 144 121 271 71 I<F5FFC093260FFFFC030F13F04BB600E0027F7F031F03FE49B512
FE037F9226FF8007800203B8EAF01F020FDDFC3F15804A7148133F027FDA003F90B500F0
14C091B500F80107ED807F4902E00101ECFC00010702806D6C5B93C87E49496F7F49496F
7F49496F6D6D1380491A8077130090B5486F6E6C5AF503F84875C8FCA2484A6F80A44887
AB6C63A46C6E4B5CA26C63A26D6D4B5CA26D97C9FC6D6D4B5B6D6D4B5B6D6D4B5B705C01
0102E049B512E06D02F801075C4902FF013F5C4992B648CAFC496002F317F090260FE07F
1680031F4BCBFC90261FC00115E0DB000F01FCCCFC013F91CFFCA3137FA280A380A28080
806E7E15F092B812F06DF0FFE01BFEF3FFC06D1AF81CFE767E6D1BE06D87896D1BFE6D87
7F6E878A0103BD7E130F013F8890BEFC4802E0C9003F814891CBFC4801FC180F48490601
804849727E484985884849737F88A2B55A88A66E616C65A26E616C6D4F5B6C656E616C6D
4F5B6C6D96B55A6C6D6C05035C6F5FC602F0051F49C7FC6D01FC057F5B6DD9FF800303B5
5A010F02F8033F14E06DDAFFE0010FB65A010192B9C8FCD9003F19F8020F19E0020196C9
FCDA001F17F0030194CAFCDB000192CBFC6A887ADD74>I[<ED1FF0017FB5FCB7FCA9EA00
3F1307A27FB3B2963803FFFC073FEBFFE096B612F8060715FE061F6F7E4E16E095B87E4D
D9FC03804DD9C000804D48C76C7FDD0FF880DD1FE0824D486E804D5A05FEC881DCF1FC81
5F04F385EEF7F04D81EEFFC0A24D84A294C9FCA25EA35EA45EB3B3AFB9D8E001B912C0A9
>114 143 119 270 129 I[<EC3FC0ECFFF0010313FC497F497F498049804980A290B67E
A24881A86C5DA26D5CA26D5C6D5C6D91C8FC6D5B6D5B010013F0EC3FC091CAFCB3A3ED1F
F0017FB5FCB7FCA9EA003F1307A27FB3B3B3B0B91280A9>49 144
119 271 65 I[<ED1FF0017FB5FCB7FCA9EA003F1307A27FB3B3B3B3B3B3ACB912C0A9>
50 143 119 270 65 108 D<DB3FE0912601FFFC943801FFFC017FB5031FD9FFE0041FEB
FFE0B792B600FC93B612FC060303FF030315FF060F04C0020F16C0063F04F0023F16F095
B86C91B87E4DD9FC036E49D9FC03804DD9C0006E49D9C000804D48C7003F6D4948C7003F
7FDD0FF86EDB0FF880D8003F4B48714848830107DB3FC06E9126C03FC06E804D484E5A6D
4BC86F48C881DCE1FE6FDAE1FE814D61DCE3F8DEF3F884DCE7F0F0F7F04D6F4B81DCEFC0
F0FFC0A2DCFF804F84A294C993C9FCA24C61A34C61A44C61B3B3AFB900E090B900E090B9
12E0A9B35D77DCC2>I<DB3FE0913803FFFC017FB5033FEBFFE0B792B612F8060715FE06
1F6F7E4E16E095B87E4DD9FC03804DD9C000804D48C76C7FDD0FF880D8003FDB1FE08201
074B486E804D5A6D03FEC881DCE1FC815F04E385EEE7F04D81EEEFC0A2DCFF8084A294C9
FCA25EA35EA45EB3B3AFB9D8E001B912C0A9725D77DC81>I<94381FFFF00407B612C004
7F15FC0303B87E030F17E0037F17FC4ABAFC4A9126FC007F80020F02C0010714E04A49C8
80027F01F8033F13FC91B5486F7F4902C003077F494A6F804991C96C8049497080494971
7F49874949717FA290B548717F48884B83481D80A2481DC04B83481DE0A2481DF0A3484A
7114F8A4481DFCA5B61BFEAF6C1DFCA56C6E4D14F8A36C1DF0A36C1DE06F5F6C1DC0A26C
6E4D1480A26C1D006F5F6C646D6D4D5B6F94B5FC6D636D6D4C5C6D6E4B5C6D6E4B5C6D02
F0031F5C6D6E4B91C7FC6D6C01FE92B512FC6ED9FFC001075C6E02FC017F5C020791B812
C0020196C8FC6E6C17FC031F17F003031780DB007F03FCC9FC040715C0DC001F01F0CAFC
675F7ADD74>I<DB1FF091381FFFC0017FB50203B6FCB7021F15E095B712FC050316FF05
0F17C0053F17F094B912FC04F1DAC01F8004F79026FC00018093B500E06D6C14C0D8003F
93C86C8001074B030F8005F86F806D03E06F804D6F804D8194CA6C7F4C864C71805E7680
A27680A27680A28B88A28BA288A28BA4882080B0200064A467A26467A3525CA267646764
67647062704D91C7FC7094B55AA2714B5C714B5C714B5C05F84B5C71033F5C05FF4B91C8
FC06C049B55A04FB01F001075C04F801FF017F14F07190B712C0051F94C9FC7116FC0503
16F0DD007F1580060F02F8CAFC060049CBFC96CDFCB3ACB912E0A9718579DC81>I<DB7F
C049B47E90B6021F13F8B7027F13FE4DB67E4D15E04D814D814D01077F94263FF00F7F94
387FC01F4D48487FD8003F16000107DAC1FE491480EEC3FC6D5DEEC7F05F16CF5F16DF4D
6D1400A204FFC76C5BA2735B4C6E5B735B070013C04C92C8FCA45EA65EB3B3AAB912FCA9
515D79DC5F>114 D<92261FFFF814F80203B638C001FC023FEDFC0791B8121F010317FF
130F013F9038F8001F4990C8FCD9FFF8153F4801E0150F484915034849814890CAFC197F
4848173F191F485AA2007F180FA31907487EA27FA28002E0705A6E93C8FC14FC14FF15F0
6CECFF8016FCEEFFF06CEEFF8018F06C17FE727E6C18E0856C18FC6C846C727E6C856D84
011F846D841303010084023F83140F020183EC001FDB007F16801603DC000F15C0170018
3F060F14E0007F1703486C82727E857F85857FA2857F1BC07FA27F1B806D5F7F1B006E5E
6E5F6E163F6E4C5A02FC4C5A6E03035B6E6C4A5B03F0023F5B03FF0107B55A01F991B7C7
FCD9F07F16FCD9E01F16F0D9800716C0D9000193C8FC48D9003F14F8007C020349C9FC4B
5F78DD5C>I[<ED03FEA81507A5150FA4151FA3153FA2157FA215FFA25CA25C5CA25C5C5C
5C91B5FC13035B131F017F91B712F00007BAFCBBFCA7C74AC9FCB3B3AAF101FFB1616E17
FE82A219076E17FC836EEE0FF871131F6E6EEB3FF071137F6E6EEBFFE06EDAFF0313C06E
92B512806E1700033F5D6F5D03075D030015E0041F1480040001FCC7FC>72
132 124 258 90 I<DB0FF8F01FF0017FB594B6FCB74BB7FCA9D8003F94C77E0107190F
A26D85B3B3B063A463A263A27F6398B6FCA26DF001FB7015036EEF07F3E00FE3806E6D15
1FE07FC314FF6E6D6CDAFF83EDFFC06E6E010313036E02FCEB3FFE6E91B612FC020017F8
6F16E0031F16800303EDFE00DB007F14F8040102C093C8FC725E77DC81>I<B90303B7FC
A9D8000702F8CA000FEBFE006D6E050013E0666D6E6164826D5090C7FC836E4F5AA26E6E
4C5AA26E6E4C5AA26E6E5F1C3F836E4F5A836E4F5AA26E6E4B5BA26E6E4B90C8FCA26F6E
5D1B07846F4D5A846F4D5AA26F6E4A5AA26F6E4A5AA26F6E5D1BFF846F4C5B846F4C90C9
FCA2706E485AA27002C05B1A0F7002E05B1A1F19F0704B5A19F8704B5AA2706E485AA270
6E5B96B5FC7093CAFCA3715CA2715CA2715CA2715CA3715CA2715CA2715CA27191CBFCA2
725AA3725A725A725A705D7BDB7B>I<B800FE017FB700F8023FB612F8A9D8000F02F0C8
000702C0C9003FEBF800100313806D6E6F7390C7FC775E6D69706F6E1607A26D6E6F6277
160F6D6970706D161FA26E6E6F61516D163F6E687192B6167FA26E68714A6F15FF6E6871
4A608A6E9DC8FC714A6F5C6E6771DA0FFD17078A6E06F86071021F6F140F6E67714A486C
161F8A6F4D6C5F72017F6F143F6F667249486C167F8A6F4D6C5F72487113FFA26F02F04A
6C4B5B4F17C06F4C6D94C9FCDEF807715AA26F02FC496D4B5A070F17F06F4C6D5EDEFE1F
EFF80FA26F02FF496E4A5A073F17FC704B6E5D07FFEFFE3FA2704B6E4A5A1FFF704B6E5D
20FFA27092C86C5DA2704A6F92CAFCA3704A6F5CA2704A6F5CA3704A705BA27149705BA3
7149705BA27149705BA37190CA6C5BA271487190CBFC7148715A9D5D7BDBA8>I<007FB8
6C49B712FEA9C792C9000F02C0C7FC6E6E030101F0C8FC715F6E6E4B5B6E6E4B5B6E4E90
C9FC6E6E5E71151F6E6E4B5A6E6E4B5A6E4E5A6F6E495B72495B6F6E495B6F806F6E4990
CAFC6F4C5A72495A6F6E495A6F6E495A6F03815B705E7014C307E75B7091B5CBFC705D70
5D705D6282705D715C8386718071807180837180864D814D815F4D81874D814D81DDFFF3
804C13E14C01C1804C0180814E6C804C6E804C487F4C48824C486D804C486D804B496D80
4B497F73804B49834B90C86C804B486F804B48814B486F804B48844C6F804A71804A496F
804A49814A90CA814A487180023F7280010FB500E07080B8031FB812E0A9735C7CDB7B>
I<007FB800C04AB71280A9D800034ACA000791C7FC6D080013F0775A6D6E4E5AA26E6E60
64836E4F90C8FC836E4F5A836E4F5AA26E6E4C5AA26E6E5F1C3F6E6E5F1C7F836E4F5A84
6F4D5B846F4D90C9FCA26F6E4A5AA26F6E5D1B0F846F4D5A846F4D5A846F4D5AA26F6E4A
5AA2706E5C627002C091CAFC6219E0704B5A19F0704B5AA2706E485AA2706E485AA27002
FE5B1A7F19FF704B5AA2715DA27192CBFCA2715CA2715CA3715CA2715CA2715CA2715CA2
725BA27290CCFCA3725AA2725AA24E5AA24E5AA261187FA24E5AA24D5B13FE2603FF804A
90CDFC000F13E0486D4A5A487F486D4A5AA260B56C141F4D5AA24D5A17FF604C5B4A4990
CEFC6C5D4C5A6C49EB3FFC4A495A6C4948485A9026FE80075B270FFFC03F5B6C90B6CFFC
6C5D6C15F86C6C5C011F14C0010749D0FC9038007FE071857CDB7B>I
E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fw cmbx12 12 61
/Fw 61 123 df<DB3FFEEB07FE0207B539C07FFF80023F02F1B512E0913CFFF003FFFE07
F00103D980019038F81FF849494801F013FCD91FFC49EBE03F49485B18C0495A18804948
EE1FF8A270EC07E07091C7FCABBA12F0A4C69026E000030180C7FCB3B2007FD9FFC1B67E
A446457EC441>11 D<ED1FFE0203B512C0021F14F09139FFF803F8010390388000FC4990
C77ED91FFCEB03FF013F5C5C495A4C13804948150082A3705AEE00F894C7FCA74BB51280
B9FCA4C69038E00003B3B2007FD9FFC1B6FCA438457EC43E>I<EC01C01403EC0F80EC1F
00143E5C14FC495A495A495AA2495A131F495AA249C7FC5B5B12015B1203A2485AA3485A
A3121F5BA2123FA35B127FA612FFA25BAE7FA2127FA6123F7FA3121FA27F120FA36C7EA3
6C7EA212017F12007F7F6D7EA26D7E130F6D7EA26D7E6D7E6D7E147C8080EC0F80EC03C0
14011A6475CA2C>40 D<12E07E127C7E7E6C7E7F6C7E6C7E6C7EA26C7E7F137FA26D7E80
131F80130F80A26D7EA36D7EA3801301A280A37F1580A615C0A2147FAE14FFA21580A615
005BA35CA213035CA3495AA3495AA25C131F5C133F5C49C7FCA213FE5B485AA2485A485A
485A5B48C8FC123E5A12F05A1A647ACA2C>I<B612F8A91D097F9A25>45
D<EA0780EA1FE0EA3FF0EA7FF8EAFFFCA6EA7FF8EA3FF0EA1FE0EA07800E0E788D1F>I<
EC3FF849B5FC010F14E090393FF01FF890397FC007FC49486C7E48496C7E48486D138048
48EC7FC0A24848EC3FE0A2001F16F0A2003F16F849141FA2007F16FCA600FF16FEB3A300
7F16FCA5003F16F86D143FA2001F16F0A2000F16E06D147F000716C0A26C6CECFF806C6C
4913006C6D485A6D6C485A90393FF01FF8010FB512E0010314809026003FF8C7FC2F427C
C038>48 D<EC03C01407141F147FEB03FF133FB6FCA313C3EA0003B3B3AFB712FCA42641
77C038>I<ECFFE0010F13FE013FEBFFC090B612F02603FE017F3A07F0007FFED80FC0EB
1FFF48486D138048C76C13C04816E001C07F01F06D13F012FF7F6F13F8A56C5A6C5A6C5A
C9FC4B13F0A34B13E017C05D17804B13005E4B5A4B5A5E4B5AEDFF804A90C7FC4A5AEC07
F84A5A4A5AEC3F804AC71278147E5CD901F014F8494814F0495A495A49C8FC013C140149
140390B7FC4816E05A5A5A5A5A5AB812C0A42D417BC038>I<ECFFF0010713FF011F14C0
D97F8013F09039FC003FFCD803F06D7E48486D7EA2D80FF86D138013FE001F16C07FA66C
5A6C4815806C485BC81400A24B5A5E4B5A4B5A4B5A4A1380DA0FFEC7FC903807FFF85D15
FF90C713C0ED3FF0ED1FFC6FB4FC6F138017C08117E017F081A217F8A2EA0FC0EA3FF048
7EA2487EA317F05DA26C4815E04915C0495BD83F804913806C6C1500D80FF0EB3FFE6CB4
EBFFF8000190B55A6C6C14C0011F49C7FC010113E02D427BC038>I<161F5EA25E5E5DA2
5D5D5D5DA25D5D92B5FCEC01F715E7EC03C7EC0787140FEC1F07141E143C147814F8EB01
F014E0EB03C0EB0780130FEB1F00131E5B5B13F85B485A485A485A120F90C7FC121E5A12
7C5AB91280A4C8000F90C7FCAC027FB61280A431417DC038>I<0007150301E0143F01FF
EB07FF91B55A5EA25E16E05E5E4BC7FC15F815E04AC8FC01C0C9FCAAEC3FF001C3B5FC01
CF14C09039DFE03FF09039FE000FFC01F86D7E496D7E491580496D13C06C5AC814E08117
F0A317F8A31206EA1FC0EA7FE07F12FF7FA317F05B5D6C4815E01380007CC714C06C5C6C
16806D4913006C6C495AD807F0EB3FFCD803FEEBFFF0C6B65A013F1480010F01FCC7FC01
0113C02D427BC038>I<4AB47E021F13F0027F13FC903901FF807F903A07FC001F804948
130FD93FE0EB1FC04948137F01FFECFFE048495A481300A2485A120FA248486D13C0EE7F
80EE1E00003F92C7FCA25B127FA3EC1FFE00FF90387FFFC091B512F09039F9E00FF89039
FBC007FC9039FF8003FF4A7E17804915C06F13E05B17F0A317F85BA4127FA5123FA317F0
6C7EA2000F16E05D6C6C15C017806C6C4913006C6D5A6C9038C00FFC90397FF03FF8011F
B55A010714C0010191C7FC9038003FF82D427BC038>I<121E121F13FC90B712FEA44816
FC17F817F017E0A217C01780481600007EC8127E007C157C16FC00784A5A4B5A4B5A00F8
5D48140F4B5A4BC7FCC8127E157C15FC4A5A14035D14075D140F141F5D143FA2147F5D14
FFA35BA34990C8FCA35BA65BAA6D5A6D5A6D5A2F447AC238>I<EC7FF00103B5FC010F14
C090393F801FF090397C0007FC4848EB01FE48486D7E49800007168049143F000F16C016
1F121FA27FA27F7F01FE143F6D158002C0137F02F014006C01FC13FEECFE016C9038FF83
FCEDE7F06CECFFE06C15806C92C7FC6D14C06D80010F14F86D80011F80017F802601FE3F
14802603FC0F14C02607F80314E04848C6FC48486D13F04848131F150748486D13F81500
00FF157F90C8123F161F160FA21607A36D15F0A2007F150F6D15E0123F6DEC1FC06C6CEC
3F806C6CEC7F00D807FEEB01FE3A03FFC00FFCC690B512F0013F14C0010F91C7FC010013
F02D427BC038>I<EC7FF0903807FFFE011F6D7E90397FE03FE09039FF801FF048496C7E
48486D7E00076E7E484880001F80003F16805B007F16C08117E012FFA217F0A617F8A400
7F5CA4123F5D6C7E000F5C6C7E00035C6C6C131E6C6D5A90387FFFF8011F5B010301C013
F090C8FCA317E05DA2EA03C0D80FF015C0487E486C15805D17004B5AA24B5A49495A6C48
5C01C0EB7FE0000F4A5A2607F8035B6CB548C7FC6C14F86C6C13E0D907FEC8FC2D427BC0
38>I<EA0780EA1FE0EA3FF0EA7FF8EAFFFCA6EA7FF8EA3FF0EA1FE0EA0780C7FCB0EA07
80EA1FE0EA3FF0EA7FF8EAFFFCA6EA7FF8EA3FF0EA1FE0EA07800E2C78AB1F>I<EE1F80
A24C7EA24C7EA34C7EA24B7FA34B7FA24B7FA34B7F169F031F80161F82033F80ED3E0703
7E80157C8203FC804B7E02018115F0820203814B137F0207815D173F020F814B7F021F82
92C77EA24A82023E80027E82027FB7FCA291B87EA2D901F8C700017F4A80A20103834A15
7F0107834A153FA249488284011F8491C97E4984133E842601FFC083B6020FB612F0A44C
457CC455>65 D<B9FC18F018FE727E26003FFCC7000713E005017F717FF03FFC85727E84
1A80A27213C0A84E1380A21A00604E5A614E5A4D485A4D13C0051F90C7FC91B712FC18F0
18FF02FCC7000313C0050013F0F03FFC727E727E7213801AC07213E0A27213F0A31AF8A8
1AF0601AE0601AC0604E13804E1300F0FFFE050713F8BA5A19C04EC7FC18E045447CC350
>I<DCFFF81470031F01FF14F04AB6EAE0010207EDF803023F9039E003FE07DAFFFEC7EA
7F0F4901F0EC1FDF010701C0EC07FF4949804948C87E4948814948167F4948163F484916
1F5A4849160FA248491607A24890CA1203A25A5B1901127FA296C7FC5B12FFAE127F7FA2
1AF0123FA27F7E19016C6D17E0A26C6D16031AC06C6D16076C19806C6D160F6D6CEE1F00
6D6C163E6D6C5E6D6C6C5D6D6DEC03F0010101F04A5A6D01FEEC3FC091283FFFE001FFC7
FC020790B512FC020115F0DA001F1480030001F8C8FC44467AC451>I<B9FC18F018FE72
7E26003FFEC7001F13E0050113F8716C7EF01FFF06077F727F727F727F197F86737EA273
7EA2737EA21B80A2851BC0A51BE0AD1BC0A51B8061A21B00A24F5AA24F5A62197F4F5A4E
5B4E5B4E5B061F90C7FC4E5A943801FFF8051F5BBA12C04EC8FC18F095C9FC4B447CC356
>I<BA12F8A4D8001F90C700037FEF003F180F180318011800A2197C197E193EA2191EA4
0578131F85A396C7FCA217F8A316011603161F92B5FCA4ED001F160316011600A30578EB
01E0A3F103C0A394C7FCA21907A21A80190FA3191FA2193FF17F0061601807181F4DB5FC
BBFC61A343447DC34A>I<BA1280A426003FFEC7001F13C01701EF007F183F181F180F18
07A2F003E0A31801A4F000F0EE01E0A31900A31603A31607160F167F91B6FCA49138FE00
7F160F16071603A31601A693C9FCB0B712F0A43C447CC346>I<B712E0A4D8001F90C7FC
B3B3B3A6B712E0A423447DC32A>73 D<B712F0A426003FFECAFCB3B3F00780A4180F1900
A460A360A2187EA218FE170117031707171F177FEE03FFB95AA439447CC343>76
D<B500FE067FB512806E95B6FCA26F5ED8003F50C7FCA2013D6DEE03DFA2013C6DEE079F
A26E6CEE0F1FA26E6C161EA26E6C163CA36E6C1678A26E6C16F0A26E6DEC01E0A26E6DEC
03C0A36E6DEC0780A26F6CEC0F00A26F6C141EA26F6C5CA36F6C5CA26F6C5CA26F6D485A
A26F6D485AA26F6D485AA3706C48C7FCA293383FF81EA2706C5AA2706C5AA3706C5AA270
5BA2705BA2705BA213FFB66EC7007FB61280A2173E171C61447CC36A>I<B64BB512FE81
81A2D8003F6D91390001FE006FED007881013D7F81133C6E7E6E7F6E7F6E7F6E7F82806E
7F6E7F6F7E6F7F83816F7F6F7F6F7F6F7F6F7F8382707F707F707F707F8482707F707F71
7E7113807113C019E0837113F07113F87113FC7113FE19FF847213F884848484A2848419
7F193F191FA2190F190701FF1703B6160119001A78A24F447CC358>I<923807FFC092B5
12FE0207ECFFC091261FFE0013F0DA7FF0EB1FFC902601FFC0EB07FF010790C7000113C0
49486E7F49486F7E49486F7E49486F7E49486F7E48496F7E4819804A814819C091C97E48
19E0A248487013F0A2003F19F8A3007F19FC49177FA400FF19FEAD007F19FC6D17FFA300
3F19F8A36C6C4C13F0A36C6D4B13E0A26C6D4B13C06C19806E5D6C19006C6D4B5A6D6C4B
5A6D6C4B5A6D6C4B5A6D6C4A5B6D01C001075B010101F0011F90C7FC6D01FEEBFFFE023F
B612F8020715C002004AC8FC030713C047467AC454>I<B9FC18F018FE727ED8001F90C7
001F13E005017F716C7E727E727E85721380A27213C0A31AE0A81AC0A34E1380A24E1300
614E5AF0FFF84D5B051F13C092B7C7FC18FC18C092CBFCB3A9B712E0A443447DC34D>I<
B812F8EFFFC018F818FED8001F90C7383FFF80050713E005017F716C7E727E85727EA272
7FA286A762A26097C7FC61183F614E5A943801FFE005075B057F90C8FC92B612F818C084
DB000113F89338003FFEEF0FFF717F717F858385A2717FA785A61B0F85A2187F1B1F726C
131E72143EB700E06DEB807C72EBE0F80601EBFFF0726C13E0CC0007138050457DC354>
82 D<DAFFE0131C010701FE133C013F9038FF807C90B6EAE0FC489038801FF93A03FC00
03FF4848EB007F4848143F4848141F4848140F1607007F1503491401A2160012FF177CA2
7F173C7F7F7F6D92C7FC6CB4FC14E014FE6CEBFFF015FF6C15E016FC6C816C6F7E6C826C
826C6C81011F810107811300020F80140003077FED007F82040F138082A200F08182A382
7EA218007EA26C5D5F7E6D4A5A13E06D4A5A01FC4A5AD9FF80EB3FE026FE7FF8EBFFC0D8
FC1FB6C7FCD8F80714FC48C614F0480107138031467AC43E>I<003FBA12E0A49026FE00
0FEB800301F0EE007FD87FC0EF1FF049170F90C71607007E1803007C1801A300781800A4
00F819F8481978A5C81700B3B3A40107B8FCA445437CC24E>I<B76C010FB512F8A42600
3FFEC9380FF800F103E0B3B3A9011F17076280190F6D60A26D6D4BC7FC6D5F6F153E6D6D
5D6DEE01FCDA7FF84A5A6E6CEC0FF0DA0FFFEC3FE06E9039F003FF80020190B6C8FC6E6C
14FC030F14E09226007FFEC9FC4D457CC356>I<B792B6FCA4C66C48C900031300013FEF
007C6E17FC6D606F15016D608119036D606F15076D606F150F6D6081191F6D6D93C7FC61
027F163E6F157E023F167C8119FC6E6D5C18016E5E7013036E5E8218076E6D5C180F6E5E
70131F6E93C8FC705B037F143E82187E033F147C7013FC6F5C17816F5C17C117C36F5C17
E76F5C17FF6F5CA36F91C9FCA2705AA2705AA3705AA2705AA2705AA250457EC355>I<B6
00FE017FB691B512FEA426007FFCC8D83FFEC800011300F5003C6E70167C013F70177880
7415F86D705F6F7014016D705FA26F7014036D64814E6D14076D646F70140F6D041E94C7
FCA26F023E6D5C6DDC3C7F151E81027F037C6D5CF0783F6F70147C023F4B6C1578A26F01
016F13F86E4B6C5D16806E02036F485A4E7E04C0EEE0036E4A486C5DA2DCE00FEDF0076E
4B6C5D16F06E4A6F48C8FC051E7F04F8705A6E4A027F131EA2DCFC7CEDFE3E037F017802
3F133C04FE16FF033F01F85E4D8004FF17F86F496E5BA36F496E5BA26F604D80A26F90C8
6C5BA36F486F90C9FCA26F48167EA30478163C6F457EC374>I<001FB812FEA402F8C713
FC02804913F849C75A01F816F0494A13E0495C4916C048485C4C138090C814005E003E4B
5A5F5D4B5B003C5E5D5F4B5BC85A5F4B90C7FC5D5E4B5A5C5E4A5B5C5E4A5B5C5E4A90C8
FC5C5D4A5A49160F5D495B5B5D4949141F5B4B141E5B4990C8FC4A153E13FF485B4A157E
5A484915FE4A14014816034A14074849140F48EE3FFC91C812FF4848140FB9FCA438447A
C344>90 D<903807FFF0017F13FF48B612C03A03FC007FF0486CEB1FF8486CEB0FFE6F7E
A26F7FA26F7F6C5A6C5AEA00F090C7FCA44AB5FC147F0107B6FC013F13C19038FFF80100
0313E0481380381FFE00485A5B127F5B12FF5BA35DA26D5B6C6C5B003F141ED81FFE4913
F83C0FFF80F87FFFC00003EBFFF0C6ECC01F90390FFE0007322C7DAB36>97
D<EB7FC0B5FCA412037EB3ED1FF802C1B5FC02C714E09139DFC03FF89139FF000FFC02FC
EB03FE4A6D7E4A15804A6D13C04A15E0177F18F0A2EF3FF8A318FCAB18F8A3177F18F0A2
18E017FF6E15C06E4913806E491300027C495A496C495A903AFC1FC07FF0D9F807B512C0
D9F00191C7FC9039E0003FF036457DC43E>I<EC3FFF0103B512F0010F14FC90393FF001
FE9039FFC003FF4849481380481300485A485A121F5B003F6E13006F5A007FEC00784991
C7FCA312FFAA127FA27FA2123FEE03C06C7E16076C6C15806C6C140F6C6DEB1F006C6D13
3E6C6D13FC90393FF807F8010FB512E0010314809026003FF8C7FC2A2C7CAB32>I<EE03
FEED07FFA4ED001F160FB3EC3FF0903803FFFE010FEBFF8F90393FF807EF9039FFC001FF
48903880007F4890C7123F4848141F4848140F121F5B123FA2127F5BA312FFAB127FA36C
7EA2121F7F000F151F6C6C143F0003157F6C6C14FF6CD9C0037F90277FF01FCF13FC011F
B5120F010313FC9038007FE036457CC43E>I<EC3FFC0103B57E011F14E090393FF81FF8
9039FFC007FC48496C7E48496C7E48486D13804848147F17C0485A003FED3FE0A2127F49
15F0A2161F12FFA290B7FCA301F0C9FCA5127FA36C7EA217F06C7E000F15016C6C15E016
036C6CEC07C0C66DEB1F80D97FE0EB7F0090393FFC03FE010FB512F8010114E09026001F
FEC7FC2C2C7DAB33>I<4AB4FC021F13E091B512F00103EB83F8903907FE0FFCD90FFC13
FE90381FF81F133FEB7FF0A2EBFFE0ED0FFCA2ED03F092C7FCABB612F8A4C601E0C7FCB3
B2007FEBFFE0A427457DC422>I<177E9139FFE003FF010FD9FE071380013F9039FF9F9F
C0903AFFC07FFE3F489038001FF84848130F4848EB07FC000F9238FE1F80001F9238FF0F
00496D90C7FCA2003F82A7001F93C7FCA26D5B000F5D00075D6C6C495A6C6C495A489038
C07FE091B51280D8078F49C8FC018013E0000F90CAFCA47F7F7F90B612C016FE6C6F7E17
E06C826C16FC7E000382000F82D81FF0C7123FD83FC014074848020113808248C9FC177F
A46D15FF007F17006C6C4A5A6D1403D81FF8EC0FFCD807FEEC3FF03B01FFC001FFC06C6C
B6C7FC010F14F80100148032417DAC38>I<EB7FC0B5FCA412037EB3ED07FE92383FFFC0
92B512F09139C3F03FF89139C7C01FFC9138CF000F02DE8014FC4A6D7EA25C5CA35CB3A8
B60083B512FEA437457CC43E>I<13FC487E487E4813804813C0A66C13806C13006C5A6C
5A90C7FCACEB7FC0EA7FFFA412037EB3B0B6FCA418467CC520>I<EB7FC0B5FCA412037E
B393387FFFE0A493380FF800EE07E0EE1FC04CC7FC167E5EED03F8ED07E04B5A4B5A037F
C8FC15FEECC1FCECC3FE14C7ECDFFF91B57E82A202F97F02E17F02C07FEC807F6F7E826F
7E816F7F836F7F816F7F83707E163F17FFB60003B512F8A435457DC43B>107
D<EB7FC0B5FCA412037EB3B3B3A5B61280A419457CC420>I<90277F8007FFEC0FFEB501
3F01C090387FFF8092B5D8F001B512E0913D81F81FFC03F03FF8913D87C00FFE0F801FFC
000390268F000790381E000F6C019E6E488002BC5D02B86D496D7E14F84A5DA24A5DA24A
5DB3A8B60081B60003B512FEA4572C7CAB5E>I<90397F8007FEB590383FFFC092B512F0
913983F03FF8913987C01FFC000390388F000F6C019E8014BC02B86D7E14F85C5CA35CB3
A8B60083B512FEA4372C7CAB3E>I<EC1FFC49B512C0010F14F890393FF80FFE90397FC0
01FF4848C7EA7FC048486E7E48486E7E000F8249140F001F82A2003F82491407007F82A3
00FF1780AA007F1700A46C6C4A5AA2001F5E6C6C4A5AA26C6C4A5A6C6C4A5A6C6D495A6C
6D485B90273FF80FFEC7FC010FB512F8010114C09026001FFCC8FC312C7DAB38>I<9039
7FC01FF8B500C1B5FC02C714E09139DFC03FF89139FF001FFC000301FCEB07FE6C496D7E
4A15804A6D13C04A15E08218F0177F18F8A3EF3FFCAB18F8177FA318F017FF18E05E6E15
C06E4913806E4913006E495A6E495A9139DFC07FF002C7B512C002C191C7FC9138C03FF0
92C9FCAFB67EA4363F7DAB3E>I<DA3FF0131E902603FFFC133E010F01FF137E903A3FF8
0FC0FE9039FFE003E0489038C001F14890388000FB4890C7127F4848143F001F151F5B00
3F150F5B127FA35B12FFAB6C7EA3123F7F121F6D141F000F153F6C6C147F6C15FF6C6D5A
6C9038E003EF90393FF01FCF6DB5120F010313FC9038007FE091C7FCAF0307B512FCA436
3F7CAB3B>I<90387F807FB53881FFE0028313F091388F87F891389F0FFC000390389E1F
FE6C13BC14B814F814F0A29138E00FFCED07F8ED01E092C7FCA25CB3A6B612E0A4272C7D
AB2E>I<90391FFE038090B512CF000314FF380FF003391FC0007F48C7123F48141F007E
140FA200FE1407A27E7F6D90C7FC13F0EBFF806C13FCECFF806C14E015F86C14FE6C8012
03C61580013F14C01301D9000F13E0140000F0147F153F6C141FA2150F7E16C07E6C141F
168001C0133F6DEB7F009038F801FC00FCB55AD8F03F13E026E007FEC7FC232C7CAB2C>
I<EB01E0A51303A41307A2130FA2131FA2133F137F13FF1203000F90B51280B7FCA3C601
E0C7FCB3A4ED01E0A91503D97FF013C0A2013FEB0780ECF80F90391FFC1F00903807FFFE
010113F89038003FE0233F7EBE2C>I<D97FC049B4FCB50103B5FCA40003EC000F6C81B3
A85EA25EA26C5DA26E5B017FD901F7138090273FF807E713FE010FB512870103EBFE0790
38007FF8372C7CAB3E>I<B6903803FFFCA4000101C09038007F806EEC3E006C163C8001
7F5D8017F8013F5D6E1301011F5D6E1303010F5D6E13076D5DED800F6D92C7FC15C05E6D
EBE01E163E6D143CEDF07C027F1378EDF8F8023F5B15FD021F5B15FF6E5BA36E5BA26E90
C8FCA26E5AA26E5AA21578362C7EAB3B>I<B5D8FE1FB539801FFFF0A400039027C0007F
E0C7EAFE006C033F157C7114786E17F86C6F6C5C6E1601017F6E6C5CA26E011F1403013F
6F5C6E013F1407011F6F5CA26E0179140F010F048090C7FC6E01F95C6D02F0EBC01E1580
6D902681E07F5B18E003C3157C6D9139C03FF07815E76DDA801F5B18F803FF14F96E9039
000FFDE018FF6E486D5BA36E486D5BA26E486D90C8FCA24B7F02075DA26E48147C4B143C
4C2C7EAB51>I<B500FE90383FFFF0A4000101E0903807F8006C6DEB03E06D6C495A013F
4A5A6D6C49C7FC6E5B6D6C137E6DEB807C6D6D5A6DEBC1F0EDE3E06DEBF7C06EB45A806E
90C8FC5D6E7E6E7F6E7FA24A7F4A7F8291381F3FFCEC3E1F027C7F4A6C7E49486C7F0103
6D7F49487E02C08049486C7F49C76C7E013E6E7E49141F48B46E7EB500E090B512FCA436
2C7EAB3B>I<B6903803FFFCA4000101C09038007F806EEC3E006C163C80017F5D8017F8
013F5D6E1301011F5D6E1303010F5D6E13076D5DED800F6D92C7FC15C05E6DEBE01E163E
6D143CEDF07C027F1378EDF8F8023F5B15FD021F5B15FF6E5BA36E5BA26E90C8FCA26E5A
A26E5AA21578A215F85D14015D001F1303D83F805B387FC007D8FFE05B140F92C9FC5C14
3E6C485A5C383F07F0381FFFC06C5BD801FCCAFC363F7EAB3B>I<001FB71280A39026FC
000F130001E05B49495A49495A90C75B15FF003E495B5E4A5B003C5B4A5B93C7FC5C4A5A
C7485A5D14FF495B5D495B5B495B92380007805B495A495A4A130F01FF1500485B5C4849
5B5A485B91C75A485D48485C4848EB03FE49131FB7FCA3292C7DAB32>I
E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fx cmti10 10.95 6
/Fx 6 117 df<147E49B47E903907C1C38090391F80EFC090383F00FF017E137F491480
4848133F485AA248481400120F5B001F5C157E485AA215FE007F5C90C7FCA21401485C5A
A21403EDF0385AA21407EDE078020F1370127C021F13F0007E013F13E0003E137FECF3E1
261F01E313C03A0F8781E3803A03FF00FF00D800FC133E252977A72E>97
D<EE3F80ED1FFF1700A2ED007FA2167EA216FEA25EA21501A25EA21503A25EA21507A25E
147E903801FF8F903807C1CF90391F80EFC090383F00FF017E137F5B48486D5A485AA248
5A000F92C7FC5B001F5CA24848137EA215FE127F90C75AA214015A485CA2140316384814
F0A21407167891380FE070127C021F13F0007E013F5B003E137FECF3E1261F01E35B3A0F
8781E3802703FF00FFC7FCD800FC133E294077BE2E>100 D<EC3F80903801FFE0903807
E0F890381F803CEB3E0001FC131E485A485A12074848133E49133C121F4848137C15F8EC
03F0397F000FE0ECFF80B5EAFC0014C048C8FCA45AA61506150E151E007C143C15786C14
F0EC01E06CEB07C0390F801F003807C0FC3801FFF038007F801F2976A72A>I<1478EB01
FCA21303A314F8EB00E01400AD137C48B4FC38038F80EA0707000E13C0121E121CEA3C0F
1238A2EA781F00701380A2EAF03F140012005B137E13FE5BA212015BA212035B14381207
13E0000F1378EBC070A214F0EB80E0A2EB81C01383148038078700EA03FEEA00F8163E79
BC1C>105 D<D801F0D93F80137F3D07FC01FFE003FFC03D0F3E07C1F80F83F03D0E1F0F
00FC1E01F8001E011C90387C3800001C49D97E707F003C01F05C0038157F4A5C26783FC0
5C12704A91C7FC91C7127E00F003FE1301494A5CEA007EA20301140301FE5F495CA20303
1407000160495C180F03075D0003051F13E0494A1480A2030FEC3F810007F001C0495CA2
031F91383E0380120F494AEC0700A2033F150E001FEF1E1C4991C7EA0FF80007C7000EEC
03E0432979A74A>109 D<EB01C0EB03F01307A25CA2130FA25CA2131FA25CA2133FA291
C7FCA2007FB51280B6FC1500D8007EC7FC13FEA25BA21201A25BA21203A25BA21207A25B
A2120FA25BA2121F141C1380A2003F133C1438EB0078147014F05C495AEA1F03495A6C48
C7FCEA07FCEA01F0193A78B81E>116 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fy cmtt10 10.95 15
/Fy 15 120 df<120FEA3FC0EA7FE0A2EAFFF0A4EA7FE0A2EA3FC0EA0F000C0C6E8B30>
46 D<16E0ED01F0ED03F8A2150716F0150F16E0151F16C0153F1680A2157F16005D5D14
015D14035D14075D140F5D141F5DA2143F5D147F92C7FC5C5C13015C13035C13075C130F
5C131F5CA2133F5C137F91C8FC5B5B12015B12035B12075B120F5BA2121F5B123F5B127F
90C9FC5A5AA2127C123825477BBE30>I<120FEA3FC0EA7FE0A2EAFFF0A4EA7FE0A2EA3F
C0EA0F00C7FCAF120FEA3FC0EA7FE0A2EAFFF0A4EA7FE0A2EA3FC0EA0F000C276EA630>
58 D<EB7FFC0003B57E000F14E015F84880819038E007FF02017F390FC0007F6C48133F
C87F151FA391B5FC130F137F48B6FC12075A003FEB801FEBF800EA7FE0138048C7FC5AA4
6C143F6C6C137F6D13FF383FF80F90B712C06C16E07E000314E7C6140390263FF80013C0
2B277CA630>97 D<913801FFE04A7F5CA28080EC0007ABEB03FE90381FFF87017F13E790
B6FC5A5A481303390FFC007FD81FF0133F49131F4848130F5B007F140790C7FCA25A5AA7
7E7E150F7F003F141F7F6D133F6C6C137F390FF801FFEBFE076CB712C06C16E06C02F713
F06C6C13C7011F010713E0902607FC0313C02C387DB730>100 D<EA3FFC487E12FFA212
7F123F1200ABEC03FE91380FFFC0023F7F91B57E90B67E82ECFE07ECF00102E07FECC000
5C91C7FCA35BB33B3FFFF81FFFF8486D4813FCB500FE14FEA26C01FC14FC6C496C13F82F
3880B730>104 D<14E0EB03F8A2497EA36D5AA2EB00E091C8FCA9381FFFF8487F5AA27E
7EEA0001B3A9003FB612C04815E0B7FCA27E6C15C023397AB830>I<EA7FF8487EA4127F
1200AB0203B512804A14C017E0A217C06E14809139001FE0004B5A4B5A4BC7FC4A5A4A5A
EC0FF84A5A4A5A4A5A4A5A01FD7F90B57E8114F7ECE3F8ECC1FCEC81FEEC00FF497F496D
7E6F7E826F7E15076F7E6F7E3B7FFFF81FFFE0B56C4813F017F8A217F06C496C13E02D38
7FB730>107 D<267FC0FC137E3BFFE7FF03FF8001EF01877F90B500CF7F92B57E7E0007
010F1387496CEB03F89039FC03FE0101F813FC01F013F8A301E013F0B3A23C7FFE0FFF07
FF80B548018F13C0A46C486C01071380322781A630>109 D<393FFC03FE3A7FFE0FFFC0
00FF013F7F91B57E6CB67E6C81C6EBFE07ECF00102E07FECC0005C91C7FCA35BB33B3FFF
F81FFFF8486D4813FCB500FE14FEA26C01FC14FC6C496C13F82F2780A630>I<393FFC03
FE3A7FFE1FFF8000FF017F13E090B612F86C816C81C69038FE07FFECF001DAC00013804A
EB7FC091C7123FEE1FE05B160FA217F01607A7160F17E07F161F17C06E133F6EEB7F806E
13FFDAF00313009138FC0FFE91B55A5E495C6E5B021F1380DA03FCC7FC91C9FCAE383FFF
F8487FB57EA26C5B6C5B2C3B80A630>112 D<3A3FFF800FF8489038C07FFFB500C1B512
8014C36C01CF14C06C13DF3A001FFFFC3F15E09238801F809238000F0002FC90C7FCA25C
5CA25CA35CAF003FB512FC4880B7FCA26C5C6C5C2A277EA630>114
D<EB0780497E131FA9003FB612E04815F0B7FCA36C15E026001FC0C7FCB216F8ED01FCA4
150302E013F890380FF0079138F81FF06DB5FC16E06D14C06D14006D6C5AEC1FF026327E
B130>116 D<D83FFCEB3FFC486C497E00FF14FFA2007F147F003F143F00001400B3A415
01A215036D130F90387FC03F91B612F86D15FC17FE6D5B010701F813FC01019038C07FF8
2F2780A630>I<3B3FFFC01FFFE0486D4813F0B515F8A26C16F06C496C13E0D807E0C7EA
3F00A26D5C0003157EA56D14FE00015DEC0F80EC1FC0EC3FE0A33A00FC7FF1F8A2147DA2
ECFDF9017C5C14F8A3017E13FBA290393FF07FE0A3ECE03FA2011F5C90390F800F802D27
7FA630>119 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fz cmsy10 10.95 2
/Fz 2 25 df<EE3FFC0307B512E0033F14FC92B7FC0203D9E00713C0DA0FFCC7EA3FF0DA
1FE0EC07F8DA3F80EC01FC02FEC9127FD901F8EE1F804948707E4948707ED90F80EE01F0
49CB7E013E187C49840178181E01F8181F4848F00F804848F007C049180300071AE04918
01000F1AF090CDFC481AF8001E1A78A2003E1A7C003C1A3CA2007C1A3E00781A1EA300F8
1A1F481A0FAD6C1A1F00781A1EA3007C1A3E003C1A3CA2003E1A7C001E1A78A2001F1AF8
6C1AF06D180100071AE06D180300031AC06D18076C6CF00F806C6CF01F000178181E017C
183E6D606D606D6C4C5AD907E0EE07E06D6C4C5A6D6C4C5AD900FE047FC7FCDA3F80EC01
FCDA1FE0EC07F8DA0FFCEC3FF0913B03FFE007FFC0020090B6C8FC033F14FC030714E092
26003FFCC9FC50557BC05B>13 D<D91FE01620D97FF816703801FFFE486D7E48804814F0
9038E01FF8271F8007FC15E0393E0001FE003CD9007F1401007CDA3FC013030078DA0FE0
14C00070DA07F81307DB03FEEB1F8048913A01FF807F006F90B5FC043F5B705B04075B04
0113E000409238007F803C157BA047>24 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: FA cmr10 10.95 38
/FA 38 122 df<EC0FC0EC3FE0ECF878903801F018903803E01C903807C00C130FEC800E
011F1306A2EB3F00A4150EEC800CA2151C5D153015705D6D6C5A14C1ECC38002C7CAFC02
EE91383FFFFCEB0FEC14FC4A020313C06D48913800FE006E15F818706D6C1560010716E0
496C5D011D1501D939FF4A5A017093C7FC496D5B0001017F1406496C6C130E00036E5B26
07801F1418000F6E1338001F6D6C5B383F0007486E5B6E6C485AEC01FF486D495A0487C8
FCED7FCEED3FEEDB1FFC14186D6D5AA2007F6E6C14386D6D6C1430003F4A6C14706D496C
6C13E0001F91391E3FC0016C6C903AFC1FF003C03D07FC07F007FC0F800001B5D8C001B5
12006C6C90C7EA7FFCD90FF8EC0FF03E437CC047>38 D<1430147014E0EB01C0EB038013
07EB0F00131E133E133C5B13F85B12015B12035B1207A2485AA348C7FCA35AA2123EA212
7EA4127CA312FCB2127CA3127EA4123EA2123FA27EA36C7EA36C7EA212037F12017F1200
7F13787F133E131E7FEB07801303EB01C0EB00E014701430145A77C323>40
D<12C07E12707E7E121E7E6C7E7F12036C7E7F12007F1378137C133C133EA27FA3EB0F80
A314C0A21307A214E0A41303A314F0B214E0A31307A414C0A2130FA21480A3EB1F00A313
3EA2133C137C137813F85B12015B485A12075B48C7FC121E121C5A5A5A5A145A7BC323>
I<B512FEA617067F951E>45 D<121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A0A798919>
I<14C013031307131F137FEA07FFB5FC139FEAF81F1200B3B3ACEB7FF0B612F8A31D3D78
BC2D>49 D<EB07FC90383FFF8090B512E03903F01FF839078007FC390F0001FE001E6D7E
001C158048EC7FC05AED3FE01260B4FC6DEB1FF07FA56C5A6CC7FC120CC813E0153FA216
C0157F168015FF16004A5A5D4A5A4A5A5D4A5A4A5A4AC7FC147E147C5C495AEB03C0495A
49C8FC011E14305B13385B491460485A485A48C8FC000E15E0001FB6FCA25A4815C0B7FC
A3243D7CBC2D>I<EB03FCEB1FFF90387E07C09038FC03F048486C7E48486C7E4848137C
000F147E4848137F81003F15805B007F15C0A2151F12FF16E0A516F0A5127F153FA36C7E
A2001F147F120F6C6C13FF6D13DF000313013900F8039F90387E0F1FD91FFE13E0EB07F0
90C7FCA2ED3FC0A41680157FD80F801400487E486C13FEA24A5A5D49485AEB8007391E00
0FE04A5A260FC07FC7FC3803FFFE6C13F838003FC0243F7CBC2D>57
D<121EEA7F80A2EAFFC0A4EA7F80A2EA1E00C7FCB3121E127FEAFF80A213C0A4127F121E
1200A412011380A3120313005A1206120E120C121C5A1230A20A3979A619>59
D<1507A34B7EA34B7EA24B7EA34B7E156FA2EDEFF815C7A291380187FC1583A291380303
FE1501A291380600FFA34A6D7EA34A6D7EA34A6D7EA20270800260130FA202E0804A1307
A201018191B6FCA2498191C71201A201068182A2496F7EA3496F7EA3496F7EA21370717E
13F800014C7ED80FFE4B7EB500E0010FB512F8A33D417DC044>65
D<011FB512FCA3D9000713006E5A1401B3B3A6123FEA7F80EAFFC0A44A5A1380D87F005B
006C130700705C6C495A6C495A000F495A2603C07EC7FC3800FFF8EB3FC026407CBD2F>
74 D<D907FC130C90391FFF801C017F13F03A01FC03F83C3A03F0003E7CD807C0EB1FFC
48481307001F140348C71201003E1400127E167C007C153C12FCA2161CA36C150CA27EA2
6C6C14007F7FEA3FF8EBFF806C13F86CEBFF806C14F06C14FC6C14FF6C15C0013F14E001
0714F0EB007F020713F89138007FFC150FED07FE15031501ED00FFA200C0157FA3163FA2
7EA36C153EA26C157E167C6C15FC6C15F86C14016DEB03F001E0EB07E0D8F9F8EB0FC03A
F07F803F803AE01FFFFE00010713F839C0007FC028427BBF33>83
D<003FB91280A3903AE0007FE00090C76C48131F007EEF0FC0007C170700781703007017
01A300601700A5481860A5C81600B3B14B7E4B7E0107B612FEA33B3D7DBC42>I<B500FE
017FB5D88003B5FCA3000301C0010101E0C7EA7FF86C90C849EC0FE07148EC07807E716C
150080017F1906717E6E180E013F190C4D7E80011F614D7E17676D6C60EFE7FC17C36D6C
6084EE01816D6C60A24CC67E6D6C4D5AA20406EB7F806E17036D96C7FC4CEB3FC003805E
027F17064CEB1FE003C0160E023F170C4CEB0FF015E0021F5F047014F804601307DA0FF0
5E04E014FC4C1303DA07F85E19FEDBF9801301DA03FD5EA203FFC812FF6E5FA24B157F02
0094C8FCA24B81A2037C153E0378151EA20338151C0330150C58407EBD5D>87
D<EB0FF8EBFFFE3903F01F8039070007E0486C6C7E9038E001F8D81FF07F6E7EA3157F6C
5AEA0380C8FCA4EC1FFF0103B5FC90381FF87FEB7F803801FC00EA07F8EA0FE0485A485A
A248C7FCEE018012FEA315FFA3007F5BEC03BF3B3F80071F8300261FC00E13C73A07F03C
0FFE3A01FFF807FC3A003FC001F0292A7DA82D>97 D<EA01FC12FFA3120712031201B1EC
03FC91381FFF8091387C07E09138E001F09039FDC000FCD9FF80137E91C77E4915804914
1F17C0EE0FE0A217F0A2160717F8AA17F0A2160FA217E0161F17C06D1580EE3F006D5CD9
FB8013FE9039F1C001F89039E0E003F09039C0780FC09026801FFFC7FCC7EA07F82D407E
BE33>I<49B4FC010F13E090383F00F8017C131E4848131F4848137F0007ECFF80485A5B
121FA24848EB7F00151C007F91C7FCA290C9FC5AAB6C7EA3003F15C07F001F140116806C
6C13036C6CEB0700000314066C6C131E6C6C133890383F01F090380FFFC0D901FEC7FC22
2A7DA828>I<ED01FC15FFA3150715031501B114FF010713C190381F80F190387E003949
131FD803F81307485A49130348481301121F123F5B127FA290C7FCA25AAA7E7FA2123FA2
6C7E000F14037F000714076C6C497E6C6CEB1DFFD8007C017913F890383F01E190380FFF
C1903A01FE01FC002D407DBE33>I<EB01FE90380FFFC090383F03F09038FC01F848486C
7E4848137E48487F000F158049131F001F15C04848130FA2127F16E090C7FCA25AA290B6
FCA290C9FCA67EA27F123F16606C7E16E0000F15C06C6C13016DEB03806C6CEB0700C66C
130E017E5B90381F80F8903807FFE0010090C7FC232A7EA828>I<EC1FC0EC7FF8903801
F83C903807E07E90380FC0FFEB1FC1EB3F811401137FEC00FE01FE137C1500AEB6FCA3C6
48C7FCB3AE487E007F13FFA320407EBF1C>I<167C903903F801FF903A1FFF078F809039
7E0FCE0F9039F803FC1F3A03F001F80F170048486C6CC7FC000F8049137E001F147FA800
0F147E6D13FE00075C6C6C485AA23901F803E03903FE0FC026071FFFC8FCEB03F80006CA
FC120EA3120FA27F7F6CB512E015FE6C6E7E6C15E06C810003813A0FC0001FFC48C7EA01
FE003E140048157E825A82A46C5D007C153E007E157E6C5D6C6C495A6C6C495AD803F0EB
0FC0D800FE017FC7FC90383FFFFC010313C0293D7EA82D>I<EA01FC12FFA31207120312
01B1EC01FE913807FFC091381E07E091387803F09138E001F8D9FDC07F148001FF6D7E91
C7FCA25BA25BB3A6486C497EB5D8F87F13FCA32E3F7DBE33>I<EA01E0EA07F8A2487EA4
6C5AA2EA01E0C8FCACEA01FC127FA3120712031201B3AC487EB512F0A3143E7DBD1A>I<
1478EB01FEA2EB03FFA4EB01FEA2EB00781400AC147FEB7FFFA313017F147FB3B3A5123E
127F38FF807E14FEA214FCEB81F8EA7F01387C03F0381E07C0380FFF803801FC00185185
BD1C>I<EA01FC12FFA3120712031201B292387FFF80A392381FFC00ED0FE0168093C7FC
151C5D5D5D4A5AEC0780020EC8FC141E143F4A7E14FF9038FDDFC09038FF9FE0140F9038
FC07F001F87F6E7E1401816E7E81826F7E151F826F7EA282486C14FEB539F07FFFE0A32B
3F7EBE30>I<EA01FC12FFA3120712031201B3B3B1487EB512F8A3153F7DBE1A>I<2701F8
01FE14FF00FF902707FFC00313E0913B1E07E00F03F0913B7803F03C01F80007903BE001
F87000FC2603F9C06D487F000101805C01FBD900FF147F91C75B13FF4992C7FCA2495CB3
A6486C496CECFF80B5D8F87FD9FC3F13FEA347287DA74C>I<3901F801FE00FF903807FF
C091381E07E091387803F000079038E001F82603F9C07F0001138001FB6D7E91C7FC13FF
5BA25BB3A6486C497EB5D8F87F13FCA32E287DA733>I<14FF010713E090381F81F89038
7E007E01F8131F4848EB0F804848EB07C04848EB03E0000F15F04848EB01F8A2003F15FC
A248C812FEA44815FFA96C15FEA36C6CEB01FCA3001F15F86C6CEB03F0A26C6CEB07E06C
6CEB0FC06C6CEB1F80D8007EEB7E0090383F81FC90380FFFF0010090C7FC282A7EA82D>
I<3901FC03FC00FF90381FFF8091387C0FE09138E003F03A03FDC001FC6CB4486C7E91C7
127F49EC3F805BEE1FC017E0A2EE0FF0A3EE07F8AAEE0FF0A4EE1FE0A2EE3FC06D1580EE
7F007F6E13FE9039FDC001F89039FCE007F09138780FC0DA1FFFC7FCEC07F891C9FCAD48
7EB512F8A32D3A7EA733>I<3901F807E000FFEB1FF8EC787CECE1FE3807F9C100031381
EA01FB1401EC00FC01FF1330491300A35BB3A5487EB512FEA31F287EA724>114
D<90383FC0603901FFF8E03807C03D381F000F003E1303003C1301127C0078130012F815
60A27E7E7E6D1300EA7FF8EBFFC06C13F86C13FE6C7F6C1480000114C0D8003F13E00103
13F0EB001FEC0FF800C01303A214017E1400A27E15F07E6C130115E06CEB03C039FF8007
8039F1E01F0038E0FFFC38C01FE01D2A7DA824>I<130CA5131CA4133CA2137CA213FC12
0112031207001FB512C0B6FCA2D801FCC7FCB3A21560A9000014E06D13C0A2EB7F01013F
1380EB1F83903807FF00EB01FC1B397EB723>I<D801FC14FE00FF147FA3000714030003
140100011400B3A51501A31503120015076DEB06FF017E010E13806D4913FC90381FC078
903807FFE00100903880FE002E297DA733>I<B539E007FFE0A32707FE000113006C48EB
007C1678000115707F00001560A2017F5CA2EC8001013F5CA26D6C48C7FCA26E5A010F13
06A26D6C5AA2ECF81C01031318A26D6C5AA2ECFE7001001360A2EC7FC0A36E5AA26EC8FC
A3140EA22B287EA630>I<B53BC3FFFE01FFF8A33D0FFE003FF0007FC06C48D91FC0EB1F
800003020F15000001170E70130C15076C6C6E5BA27F6D6E5B150D02801570013F6E1360
151802C015E0011FD938FE5BED307ED90FE090387F0180ED603FA2D907F00283C7FCEDC0
1F02F81487010315C69138F9800F02FD14CED901FF14ECED00076D15F84A1303A2027E5C
027C1301A2023C5C0238130002185C3D287EA642>I<B539F01FFFE0A300039039C007FE
00C690388003F8D97F0013E002805BD93FC05B011F49C7FC90380FE00EECF00C6D6C5A01
0313386D6C5A6E5A6D6C5A6E5A143F81141F6E7E4A7E4A7E1473EC61FCECC1FE903801C0
FF49487E49486C7E010680010E6D7E49130F013C6D7E017C80D801FC80D80FFE497EB590
383FFFF8A32D277FA630>I<B539E007FFE0A32707FE000113006C48EB00FC0001157816
706C7E16607F6D5CA26D6C485AA2ECC003011F91C7FCA290380FE006A2ECF00E0107130C
14F801035BA2ECFC380101133014FE01005BA2EC7FC0A36E5AA26EC8FCA3140EA2140CA2
141C1418A25CA200181370007E1360B413E05C13015C4848C9FCEA7E07EA700EEA383CEA
1FF8EA07E02B3A7EA630>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: FB cmsl12 14.4 13
/FB 13 116 df<0103BA12F05BA21BE0D9000301E0C7120F6E4914001A3F1A1F4C150F1A
071A03A21A015C93C9FCA55C5D1BC0A4020F150E5D97C7FCA3181E021F151C5D183CA218
7C18FC023F4A5A4B130F92B6FCA4913A7FF0001FF04B13071701A21700A202FF5D5DA549
4B5A5D94CAFCA45B92CCFCA55B5CA5130F5CA2497E496C7E007FB612E0B7FCA34C527BD1
4C>70 D<0107B600FC013FB612E0A24D17C0A2D9000301F0C8001FEB80006E01C06F48C7
FCA34C5EA41A1F5C93C95BA41A3F5C4B5FA41A7F140F4B5FA41AFF141F4B5FA4614AB9FC
63A303F0C8120161147F4B94C8FCA46114FF4B5EA4190F5B4B5EA4191F5B92C95BA4193F
5B4A5FA4197F130F4A5FA2496C4C7E496C4B7FB7D88007B612FCA204005EA25B527BD158
>72 D<0107B500E0037FB512E0821DC082D900010503EBF8006E9438007FC07070C7FC4A
183EDBCFFE161E1B1CEDC7FFA203C36D153C140303816D1538A203807FA2706C15781407
4B6C6C1570A2707EA2706C15F05C020E6D6C5DA2707FA2706D1301141E021C6F5C82A271
7E1A03023C6E7E023860717EA2717E1A0702786E7E027095C8FC711380A27113C06202F0
6E13E04A170EF07FF0A2F03FF81A1E0101EE1FFC4A171CF00FFEA2F007FF1A3C010318BC
4A6F13B81AF884A284130791CA6C5AA2193FA249171FA249715A497E496C16073803FFF8
B600C01503A24B6F5AA25B527BD158>78 D<0107B8FC19F019FE737ED900039026E00007
13E06E499038007FF8F11FFCF107FE4C6E7E737F737FA2747E5C93C97FA55C5DA4505A14
0F4B5F61634F90C7FC62021F16074BED0FF84F5A4F5AF1FF80060390C8FC023FED0FFC4B
ECFFF092B7128006FCC9FC84923AF00003FF80027F9138007FE04B6E7EF00FF8727E8572
7E14FF4B8086A45B5DA5495E92C8FCA5494C90C8FC5CA2F301C0A21B03010F1A804A811B
07496C05801300496C6F5CB76C6D141E736C5A93C86C6C5A73B45ACC00075B9638007F80
52547BD156>82 D<EC03FF023F13E091B512FC903903FC01FE903A07C0007F8049C76C7E
496E7EEB3FC06E6D7E137F707EA35C6D5A6DC7FC90C8FCA3160FA25FED07FF0203B5FC02
1F138F9138FFE01F903807FE00D91FF05CEB7FC049C7FCEA03FE4848143F485A48485D5B
485A007F173849147FEF807012FF90C812FFA25DA24BEB00E04B7E6D130E007F91391E3F
81C06C6C013C1383D81FF001F0EBC7803C0FFC07E01FFF006CB500805BC649486C5AD91F
F0EB03E0353679B43B>97 D<EDFFC0020713F8023F13FE91387F80FF903A01FC003FC0D9
07F8EB1FE0D90FE0130F4948EB07F0494814F849C712035B4848EC01FC485AA2485A120F
5B121F5B123FA348B7FCA301C0C9FC12FF5BAA127F17E0A216016C6C15C016036C6CEC07
80000F16006D5C6C6C141E6C6C147C6C6C14F06C6CEB03E090393FE01F80010FB5C7FC01
0313F89038007FC02E3679B434>101 D<F003F0DB07F8EB1FFCDB7FFFEB7FFE4AB538C1
F87E913A07F80FF3C0913B0FE003FF00FE91393FC001FE91267F8000147C4AC714104A02
7F1300495A0103825C1307A2495AA417FF95C7FC5CA24C5AA26E495A01075D4C5A6D6C49
5A6D6C495A496C495A91267F81FEC8FC9039071FFFFCD90E0713E0D91E0190C9FC011CCB
FCA2133CA5133EA2EB3F8091B512FCEEFFC06D15F817FE6D8118C0133F01FEC700077FD8
03F89138007FF04848151FD80FC0150F48481507003F707E90C9FC5A007E1601170300FE
5F5AA26C1607007E4C5A60007F161F6C6C4B5A6C6C03FFC7FC6C6CEC01FC6C6CEC07F8D8
03FEEC3FE03B00FFC003FF80013FB548C8FC010714E09026007FFEC9FC3F4E7FB43B>
103 D<EC03C0EC0FF0EC1FF8143FA2147FA4EC3FF0EC1FE0EC0F8091C7FCB0EC7FC0EB7F
FF1580A290B5FC13031300A21500A55B5CA513035CA513075CA5130F5CA5131F5CA5133F
5CA2137F497E007FEBFFC0B6FC1580A21D507CCF21>105 D<EC03FEEB03FF5B15FCA2EB
001F1407A315F8A5140F15F0A5141F15E0A5143F15C0A5147F1580A514FF1500A55B5CA5
13035CA513075CA5130F5CA5131F5CA5133F5CA2137FEBFFF0007FEBFFE0B612C0A31F53
7CD221>108 D<91277F8003FE4AB4FC90B590261FFFC0010F13E0DB007F01F0013F13F8
922701F80FFC9038FC07FE923D03C003FE01E001FF010390260F00019038078000010001
1E6D6C48C7EA7F804B151E4A485D037015384B6E48143F6E485D4B4A48147F5B92C85BA2
4A93C8FCA301034B16FF4A4B1600A5010703035D4A4B5DA5010F030715034A4B5DA5011F
030F15074A4B5DA5013F031F150F4A4B5DA2017F033F151FD9FFF0DA7FF8EC3FFC007F90
26FFE03FB5D8F01FB512F8B648484A4814F0A35D347CB363>I<91397F8007FE90B59038
1FFFC0DB007F7F923901F80FF8923907C007FC010390380F00030100011E6D7E5DECFE70
A24B13006E5A4B13015B92C7FCA25CA2170313034A5DA4170713074A5DA4170F130F4A5D
A4171F131F4A5DA4173F133F4A5DA2017F157FD9FFF0ECFFF0007F9026FFE07FEBFFE0B6
48B612C0A33B347CB341>I<ED7FC0913803FFFC021F13FF91397F807F80903A01FE000F
E0D903F86D7ED907E06D7ED91FC06D7E4948130049C8127E017E157F5B0001EE3F80485A
12074916C0120FA2485AA2003F17E05BA2127FA34848ED7FC0A5EFFF80A390C913005E5F
A26C6C4A5AA24C5A003F5E4C5A6C6C141F5F6C6C4A5A6C6C4AC7FCED01FCD803FC495AC6
6CEB0FF090397FC07FC0011FB5C8FC010713F8010013C0333678B43B>I<DA07FE13E091
383FFFC149B512F3903A03FC01FFC090390FC0007F4948133F49C7121F017E140F5BEE07
80485AA4120317007F7F6D91C7FC6C13C014F8ECFFC06C14FC6D13FF6D14C06D806D8001
0380D9007F7F14039138003FFE15076F7E001C8081A282A2003E157EA45E123F485D6D13
014B5A6D495A6D495AD87CF0495AD8F87E01FFC7FC39F03FFFFCD8E00F13F0D8C00390C8
FC2B367CB42E>115 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: FC cmsy10 14.4 4
/FC 4 84 df<943807FFF094B67E040715F0043F15FE93B87E03039026FC001F13E0030F
0180010013F8DB3FFCC8EA1FFEDBFFE0923803FF804A018003007F4A48CAEA3FE0DA0FF8
EF0FF8DA1FE0EF03FC4A48717E4A48717E02FECCEA3F804948737E4948737E4948737E49
48737E4A19014948737E49CE127E491B7F017E8749757E491B0F000189491B0700038949
1B03000789491B01000F89491B00001F8990D0127CA2481D7E003E1D3EA3007E1D3F007C
89A400FC1E80481D0FAE6C1D1F007C1E00A4007E65003E1D3EA3003F1D7E6C1D7CA26D1C
FC000F656D1B010007656D1B030003656D1B070001656D1B0F0000656D1B1F017E51C7FC
017F636D1B7E6D6C626D6C4F5A6E19036D6C4F5A6D6C4F5A6D6C4F5A6D6C4F5ADA7F8006
FFC8FC6E6C4D5A6E6C4D5ADA0FF8EF0FF8DA03FEEF3FE06E6C6CEEFFC06E01E003035BDB
3FFCDB1FFEC9FC92260FFF80ECFFF8030301FC011F13E0030090B71280043F4BCAFC0407
15F004001580050701F0CBFC696E79D478>13 D<DD07801A03050F63DD3FC062057F6369
05FF1B3E217E21FE72190120034C642007200F201F72193F207F4C6420FF05DF61726067
040762179F058F4F5B72F03FBF040FF27F3F050F19FFF601FE716C18FC041F963803F87F
041EDF07F05BF60FE00503181F043E6DEF3FC0043CF17F801F000CFE13FF4C6C6D4B485C
1D03535A04F04E5A716D4B5A6603014F485A4CF07F00726C5D52485D4B484D5A525A0307
6E6C4A5A4C60525A4BC76D023F5C061F4B5A52C7FC031E4D5A726C495A033E4D4893C7FC
033C4D5A73495A4B0207143F73495A515A4B6E4990C85AF283FE02016FEB87FC4BEECFF8
0203EFDFF04B6EEBFFE0634A486F5B98C9FC020F705A4AC95B0008725A001E013E5F003F
017E704884D9E0FC5FD87FFF7148F083C04A70CAECCF804A93CB14FF2200B5487613FC4A
6621E06C49761380001F90D1007CC7FC6C489BC8FCEA01F882597DD390>77
D<93B612FC031FEDFFE092B812FC0207EFFF80023F18E091BA7E010319FC490181D98007
8090261FF003DA003F7FD93F8004071480D9FE00040014C0484892C87E4848061F13E048
4884000F8548487213F086003F5C494A81127F90C7FC00FE1A7F12F800401BE0C8485AA2
1CC0A21C804C16FF031F1800A2505AA24C4B5A033F5F1A07505A4C5E505A037F4C5A50C7
FC4C15FE4F5A03FFED07F04F5A4CEC3F8007FFC8FC4AED07FCF0FFF84CB512E004071480
4A4949C9FCDBFE3F13F04C138005FCCAFC913907FCFF8093CCFCA24A5AA34A5AA34A5AA3
4A5AA34A5AA34990CDFCA25C1303A25C13075C130F5C5CEB1F8091CEFC131854587DD153
>80 D<F07FF80507B57E053F14E04CB612F8040715FE041F814C16809338FFC00FDB01FC
C714C0DB07F0143F4B48140F4B48804B4880157F4BC86C1380A24A5A0203180062020717
F84F5A1A80020F93C8FCA281A282A282826E7F826E13FE826E14C06E14F06F13FC6F13FF
030F14C06F14F0030114FC6F6C13FF041F80040714E0040180706C7F051F7F05077F717F
1700727F84D903C06F7F011F82D97F808149C9FCD803FE82EA07F8484882121F4960123F
A2007F96C7FCA26100FF17036D5F616D16074E5A6D5F6D4C5A6C6C4C5A6E4BC8FC6C01E0
EC01FC6EEC07F86C01FEEC1FF06C903AFFE003FFC06C91B6C9FC6C16FCC616F06D15C001
1F4ACAFC010314F09026003FFECBFC4A567ED348>83 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: FD cmr12 14.4 1
/FD 1 100 df<EC0FFE91387FFFE049B512F8903907F801FE90391FE0001FD93F80EB07
8049C7EA0FC001FE143F484815E00003157F485A485AA2485AEE3FC0003FED0F004991C7
FCA2127FA35B12FFAB127F7FA3123F6D1570121F6D15F0000F16E06D140112076C6CEC03
C06D15806C6C14076C6DEB0F00D93FC0131E6D6C137C903907FC03F06DB55AD9007F1380
DA0FF8C7FC2C367CB434>99 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: FE cmr17 24.88 25
/FE 25 118 df[<1AF04F7E4F7EA34F7EA34F7EA34F7FA34F7FA34F7FA296B57EA219FB
06018019F319F106038019E119E0060780F1C07FA2060F804F7EA2061F814F7EA2063E81
86067E81187C8606FC8160860501824E7FA20503824E7FA20507824E147FA24D48818705
1F8395C8FC874D83173E87057E83177C8705FC834D81A20401844D81A20403844D81A24C
48831C7F040F845F88041F8594CAFC884C85043E83A2047E85047C83A204FC854C8393BB
FC4B86A24B86A3DB07E0CB7F5E1D7F030F865E89031F8793CC7EA24B87033E85A2037E87
037C85A24B87890201885D890203885D890207884B1A7FA2020F884B86A2021F8992CE7E
5C8C4A878C5C8A498A497F010F6D507F496D88017F6D083F7F0007B500FE4FB612C0B700
C095B812F0A6>132 145 123 272 143 65 D[<96261FFF8016380607B512FC063FDAFF
8015784DB712E0050F04FC15F8053F04FF14014CB526FE000F7F4C02C0010001E0130304
0F01FCC8EA1FF0043F01E0DB07FC130793B50080ED01FE4B49CA007F130F030701F8EF3F
804B01E094381FC01F4B49EF07E04B90CB3803F03FDBFFFEF001F84A49953800FC7F4A49
197E4A01E0F13FFF4A5B4A49858A4A90CD7E4A5A4A48864949865D4988495B49491B7FA2
49491B3FA24990CF121F5B5C01FF1D0F5C5A4A1C075AA24A1C035AA25C481E01A3485BA2
1F005AA25CA2481F00A691D2FCB5FCB37E80A67EA28020787EA36C7FA37E6E1DF820F07E
80A26C6D1C0120E07E80017F1D036E1DC06D1D076D7F20806D6D1B0F6F1C006D656D6D1B
1E6D6D1B3E676D7F6E6C636E6C1A016E6D62704F5A6E6D19076E6D4F5A6E6D4F5A6E6D4F
C7FC6E6D197EDB3FFF616F01C04D5A6F6D4D5A6F01F8EF0FE0030101FE4D5A6F6D6CEE7F
80043F01E0DB01FEC8FC040F01FCED0FFC0403D9FFC0EC7FF07002FE903807FFE0DC003F
90B71280050F4CC9FC050116F0DD003F15C0060702FCCAFCDE001F13C0>117
147 118 271 138 67 D[<BF12FEA58AD8001F0280C9120F010349CB123F6D4918071C00
6D871D1F891D03777FA2891E7F1E3FA21E1FA3787EA31E07A31E03A38BA21E01A7E003C0
811E00A49CC7FCA61A07A41A0FA21A1FA21A3F1A7FF101FF1907197F92B9FCA603FCC87E
19071901F1007F1A3F1A1FA21A0FA21A07A41A03A4F703C0A4F70780A397CAFCA4F70F00
A567A31F1E1F3EA41F7EA21F7C1FFCA31E01A21E031E07671E0F1E1F1E3F1E7F1EFF651D
07535B491B7F52B5FC496D181F011F6D6C0407B6FCC0FCA267A4>114
141 117 268 130 69 D[<BF12F0A58AD8001F0280C97E010349CA12016D49EF001F1C07
6D1A01881D3F1D1F777E1D07A21D031D01A21D00A21E7C1E7EA21E3EA41E1EA31E1FA28A
A71F801E07F20780A39BC7FCA81A0FA41A1FA21A3FA21A7F1AFF1903190F96B5FC92B9FC
A603FCC8FC190F190319001A7F1A3FA21A1FA21A0FA41A07AB97CBFCB3B0497FA2496D7E
011F14F8B912C0A6>105 141 117 268 124 I[<B800FC033FB8FCA6D8001F02E0CA0007
ECF800010391CC14C06D49735BA26D497390C7FCB3B3B392BDFCA603FCCC123FB3B3B3A6
496D4F7FA2496D96B57E011F02E0050714F8B800FC033FB8FCA6>120
141 117 268 143 72 D[<B9FCA6D8000FECF000010114806D91C7FCA26E5AB3B3B3B3B3
B3AD91B5FCA24980010F14F0B9FCA6>48 141 118 268 68 I[<B912C0A6D8001F02F8CD
FC010314806D49CEFCA26D5BB3B3B3B3A61EF0A5F501E0A81D03A31EC0A31D07A41D0FA3
1D1F1E801D3FA21D7FA21DFFA264646452130064646451B5FC1B0749191F1B7F496D0403
B6FC011F6D6C157FBFFC65A5>100 141 117 268 119 76 D[<B600FE9AB612FE6F64A3
7063A2D8001FF9F000D903F76DE107BF138001019EC7FCA2D900F36D98380F3FFEA202F1
6D1B1EA302F06D1B3CA36F6C1B78A36F6C1BF0A270F201E081A26F6DF103C0A36F6DF107
80A36F6DF10F00A36F6D191EA26F6D61A3706C61A3706C61A3706C4E5AA2706D4D5AA370
6D4D5AA3706D4DC7FCA3706D171EA2706D5FA3716C5FA3716C5FA3716C4C5AA2535A717F
A2716D4B5AA3716D4BC8FCA3716D151EA3716D5DA2726C5DA3726C5DA3726C4A5AA3726D
495AA2726D495AA3726D49C9FCA3726D131EA3726D5BA2736C5BA3736C5BA3736C485AA3
73EB83C0A2F387807313C7A27301EFCAFCA37313FEA3496C705BA3496C715A497E496C71
484D7E497F017F01E09AB57E0003B500FC7048040714F0B700F0083FB712FEA2745AA374
5A>151 141 116 268 176 I[<B600FC060FB7FC8181A282A2D800076EDD003F14C00100
6E0607EBFE000B0113F870725B02F7755A02F36D735A70735A14F102F07F7073C7FC8183
816F7F838183816F7F83816F7FA2707E8482707FA2707F8482707F84828482717E858385
83717F8583717FA2717F8583727EA2727F8684727F86848684727F86848685737F878573
7FA2737F8785737FA2737F8786747F88868886747F88868886747F8887751380A27513C0
1DE0877513F0A27513F81DFC877513FE1DFF881E8F887613CF1EEF881EFF8888A28888A2
89A28989A2496C86A289496C86497E496C86497F017F01E0850003B500FC86B712F08AA2
8A8AA2>120 141 117 268 143 I[<F17FFE061FB512F895B7FC050716E0053FD9C00313
FCDDFFF8C7EA1FFF040301C0020313C0040F90C913F0DC3FFCEE3FFCDC7FF0EE0FFE4B48
48706C7E4B018004017F030F90CB13F0DB1FFCF03FF84B48727E4B48727E4B48727E4A49
727F4A49727F4A90CD7F4A48747E021F884A48747E4A48747E4A48747EA24949747F4949
747F498A4B86498A92CFFC498A4948767EA24948767EA201FF8A4A884820804A884820C0
A348497613E0A348497613F0A34820F8A24A884820FCA54820FEA291D1FCA5B51FFFB26C
6D5213FEA76C20FC6E64A36C20F8A26E64A26C20F0A26E646C20E0A36C6D5213C0A26C20
806E646C20006E64017F66A26D6C525AA26D6D505BA26D6D505B6D666F626D666D6D505B
6F626D9BC7FC6E6C505A6E6C505A6E6C505A6E646E6D4E5B70606E6D4E5B02006D4E90C8
FC6F6C4E5A6F6C4E5A6F6C4E5A6F6C4E5A030301C0040313C06F6D4C5B9226007FF8DC1F
FEC9FCDC3FFEEE7FFC93260FFF80913801FFF0040301E0020713C0040001FC023F90CAFC
943B3FFFC003FFFC050790B612E005011680DD001F02F8CBFC9526007FFECCFC>128
147 118 271 149 I[<BB12FCF2FFF01BFEF3FFC01CF01CFCD8001F0280C8003F13FF01
0349C9000114C06D49DC003F7F090713F86D07017F757FF43FFF767F767F767F767F767F
767FA2777E8A891F80A2891FC0A21FE0A289A21FF0AB1FE0A3651FC0A31F80651F006566
A2535A525B6664525B525B525B5290C7FCF4FFFC515B09075B093F13C050B55A083F49C8
FC92BA12F81CC051C9FC1BF008FCCAFC03FCCFFCB3B3B3A2497FA2497F011F14E0B812FC
A6>108 141 117 268 130 I[<922601FFF01507031FEBFF8092B600F05C020315FC020F
03FF5C023F16C091B5D8000F01F05B4901F09038007FF84901C0DA0FFE5B010F90C8EA03
FFD91FFC03006D5A4948EE3FC04948EE1FE14AEE0FF14948EE07FB484916014890CBB5FC
5B48488486484884A248488486123F4984A2007F85A24984A212FF87A387A37F87A37FA2
007F867FA27F7F003F97C7FC7F806C7F806C7F806C13FE806C14C06C14F8EDFF806C15F0
6D14FF6D15F06D15FF6D16F06D16FE6DEEFFE06D17F86D6C16FE021F707E020717E00201
17F86E6C82030F82030082040F82040082051F81050181DD001F801801DE003F7F070F7F
8507017F85741380867413C0867413E0A2867413F0A286A200F01A7F1CF8A21B3FA41B1F
7EA57EA21CF0A27E1B3F7E1CE07F1B7F6D1AC0A26D19FF1C806D606D1A006D606D616D18
076E4D5AD9DFC04D5A6E60D98FF0173FD987FC4D5AD903FF4C485A010001C04B5B48D97F
F04B90C7FCDA3FFEED1FFE4890260FFFC0ECFFF8020301FF01075B486D91B612C06E6C5E
48020F4BC8FC030115F048DA003F14C0040001FCC9FC>85 147 118
271 106 83 D[<001FC112C0A603C0C700070280C7121F02FCC8000149C9FC4801E06F49
041F13E091CA1807498901F81D00491E7F491E3F491E1FA2491E0FA290CB1907A2003E1F
03A3007E20F0007C1F01A600781F00A800F820F8482078A7CC1A00B3B3B3B3AC4E7F4E7F
4E80067F14F8047FB912F8A6>125 140 122 267 138 I[<B800C0030FB700FC0403B7FC
A6C66C02E0CA00074ACB001F14E0010F91CB000102F0060714006D497202C0060113FC6D
497349725B4B73755A6DA16D5AA15E6F73755A6D89A193C7FC6F85027FA1121E8B6F856E
A15A8B7084A1157C6E506D1978A27022F86E7661657021016E76616570DE1E7F19036EA1
5A0B3E7F70F03C3F6E595A0B7C8070F0781FA1140F6E08F86E95C8FC537E7069037F7617
1E52487E70213E6F76173C1C03714D6C197C6F22780A0781714D7E6F6A0A0F817194C7FC
A113016F4E6F5F0A1E147F711F036F765F5280711F076F775E1C7C7104786E170F6F9FC9
FC0AF882714C80047F201E090183714C80A1133E70040371153C5280721E7C7076157851
4880721EF870765D1B0F7292C916017068518372021E167F70555A093E8372023C82A112
0770047C725C097882721D0F707791CAFC51827265057F76131E1A01724A70153E711E3C
08038507804982716608078507C04982A112F871020F735B98CBFC07E01B01710AFE5B08
1E187F07F01B03710AFF5B1A3EDFF83C7213077166087C1A87DFFC7884710B8FCBFC08F8
1ACF73488423DFDE7FFF1BFE5084A272645084A27264A250847264A297CDFC7264A24F1A
7FA20603644F1A3FA20601644F1A1FA2060099CCFC4F86>192 144
126 268 197 87 D<ED0FFF92B512F0020714FE021F6E7E91267FF00313E04AC7EA7FF8
D903FCEC1FFCD907F0EC07FFD90FC06E7F49486E7F49C97F013E707E49707E49161F8549
707E48B4FC02C06F7E80486D836E81A3727FA46C5BA238007FC06D5A90CAFCA8053FB5FC
041FB6FC4BB7FC031FEBFE0192B512800203EBF800021F1380DA7FFEC7FC903801FFF049
13C0010F5B4948C8FC495A495A48485A5C485B485B4890C9FCA2485AA248481A3CA2485A
A312FF5B60A460A2606D160E007F171E181C6D163C003F4D6C6C13786D16F06C6C15016C
6D4A486C6C13F06C6DEC07C06C6D913B1F801FF801E06C01F8DA3E00EBFC0326007FFED9
01FC90390FFF9FC090283FFFC00FF86DEBFF80010F90B500E06D1400010103806D5BD900
3F01FCC813F8020301C0ED1FC0565C78DA5F>97 D<EE3FFC0303B512C0031F14F8037F14
FF912701FFE00313C0020790C7EA3FE0DA0FFCEC07F8DA3FF0EC01FC4A48EC007E4A4881
4949ED0F804990C9EA07C04948EE03E0495A4948EE01F0013F17004948EE0FF84A163F01
FF177F4849EEFFFC60485BA25A91C9FC5AA248487013F8A2F13FE0003FF01FC04994C7FC
A2127FA45BA212FFAF127F7FA4123FA27FA2121FA27F6C190F806C191F1A1E6C7F1A3E6C
6D173C6C197C6E17786D6C17F8013F18F06D6C16016EEE03E06D6CEE07C06D6DED0F806D
6D151F6D6DED3F006D6C6C157EDA3FFC15F86EB4EC03F0020701C0EB1FE0020101F8EBFF
806E6CB548C7FC031F14F8030314C09226003FFCC8FC485C79DA54>99
D[<1BFCF11FFF0607B5FCA6F0000719001A7F1A3FA21A1FB3B3A4EE1FFC0303B512C003
1F14F8037F14FE913B01FFF801FF8002079039C0001FC04A48C7EA07F0DA3FF8EC01F84A
48EC007CDAFFC0153E4949151F4990C9EA0F9F4948EE07DF4948EE03FF494882013F8349
5A4948177F1A3F485B1A1F485B5A91CBFC5AA25B121FA2123F5BA3127FA35BA212FFAF12
7FA37FA3123FA36C7EA3120F7F7EA26C6D173FA26C6D177FA26C6D17FF017F5F806D6C5E
011FEF07DF6D6CEE0F9F6D6C93381F1FFE6D6C163E6D6D037C7F6D01E0DA01F8806E6CDA
03F014F0DA1FFCDA0FC0ECFFF06EB4EC7F8002039039E007FE00020090B512F8033F14E0
030791C7FC9226007FF04BC7FC>92 144 121 270 106 I[<EB07F0497E497E497E497E
90B57EA76D90C7FC6D5A6D5A6D5A6D5A90C9FCB3ACEC1F8048B5FC127FA6C67E131F7F7F
A27FB3B3B3AE497F497F013F13F8B712F8A6>37 137 121 264 52
105 D[<EC1F800003B5FCB6FCA6C6FC131F7F7FA27FB3B3B3B3B3B3AD497F497F013F13
F8B712FEA6>39 143 121 270 52 108 D<023F912601FFE0933807FF800003B5021F01
FE047F13F8B6027FD9FFC04AB6FC4CB600F0020715C0932607FC0101FC91261FF00713F0
93280FC0001FFE4AC76C7E043FC76C6C02FC6E7E047C020390268001F0EC0FFEC64B6E6D
48486E7E011F49486E6D48486E7F6D4948704848826D4A037F91C87E4B48DCF81E836D49
C9003F4981030E1838031E93261FFC78707E4B60A24BEFFDE009FF8403707049163F15F0
4B60A34B95CAFCA44B5FB3B3B0496D4C6C4D7E496D4C6D4C7E013F01F893B500E003036D
7EB700FE0103B700F8010FB712E0A6935A79D9A0>I<023F913801FFE00003B5021F13FE
B6027FEBFFC04CB612F0932607FC0113FC933A0FC0001FFE043FC76C7E047C02037FC64B
6E7F011F49486E7F6D4948826D4A157F4B48826D49C9123F150E031E707E5DA25D870370
160F15F05DA35DA45DB3B3B0496D4C7E496D4C7F013F01F893B512E0B700FE0103B712F8
A65D5A79D96A>I<EE1FFE4BB512E0030F14FC037FECFF809226FFF0037F020390398000
7FF0DA0FFCC7EA0FFCDA1FF0EC03FEDA7FE06E6C7EDAFF806E6C7E4990C96C7E4948707E
4948707E4948707E4948707EA24948707E4948707F01FF854A177F48864890CB6C7EA248
8649181F000F86A34848727EA3003F86A34848721380A500FF1BC0AF007F1B80A26D60A3
003F1B00A3001F626D181FA2000F62A26C6C4E5AA26C626E177F6C626E17FF6C626D6C4C
5BA26D6C4C90C7FC6D6C4C5A6D6C4C5A0107606D6C4C5A6D6C4C5A6D01C0EDFFC06E6C4A
5BDA3FF8020790C8FCDA0FFCEC0FFC6EB46CEB7FF802019039F003FFE06E6CB61280030F
02FCC9FC030114E09226001FFECAFC525C7ADA5F>I<023FEC0FF00003B5EC7FFEB649B5
1280040714E093391FF00FF093383F803F93397E007FF85EC6DA01F0EBFFFC011F495A6D
5C6D13075E6D49C7FC4BEC7FF8151E031CEC1FE0033CEC0780033891C7FC1578A2157015
F0A25DA45DA55DB3B3AB815B497F013F13FCB812C0A63E5A7AD949>114
D<15F0A91401A61403A41407A4140FA2141FA2143FA2147FA214FF5B5B5B5B5B137F90B9
FC120FBAFCA4C7D87FF0C9FCB3B3AAF001E0B218036E6C15C0A318076E6C1580A2180F6E
6C1500606E6C141E6E6D133E606E6D5B6E9038F001F092393FFC07E06FB55A03075C0301
49C7FC9238001FF03B807DFE49>116 D<DA1F80177E0003B593380FFFFEB60303B5FCA6
C6EF0003011FEF007F6D183F6D181FA26D180FB3B3AE1A1FA41A3FA31A7FA26D18FFA2F1
01EF816DEF03CFF1078FA26E6C92380F0FFF191E6E6C033C806E6C0378806E6CDA01F014
F86E6CDA03E0ECFFF86E6C6CEB0FC06E01F8EB7F806E6CB5EAFE00031F14F8030314E092
26003FFEC791C7FC5D5B79D96A>I E
%EndDVIPSBitmapFont
end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
TeXDict begin
%%PaperSize: A4

%%EndSetup
%%Page: 0 1
0 0 bop 383 1805 a FE(SEMANTICS)60 b(WITH)j(APPLICA)-16
b(TIONS)1078 2107 y(A)62 b(F)-16 b(ormal)61 b(In)-5 b(tro)5
b(duction)904 2545 y FD(c)870 2549 y FC(\015)p FB(Hanne)38
b(Riis)g(Nielson)2158 2545 y FD(c)2124 2549 y FC(\015)p
FB(Flemming)d(Nielson)864 3281 y FA(c)839 3284 y Fz(\015)o
FA(The)47 b(w)m(ebpage)h Fy(http://www.daimi.au.dk/)p
Fz(\030)-7 b Fy(hrn)47 b FA(con)m(tains)839 3397 y(information)19
b(ab)s(out)i(ho)m(w)g(to)g(do)m(wnload)g(a)g(cop)m(y)h(of)f(this)f(b)s
(o)s(ok)g(\(sub-)839 3510 y(ject)31 b(to)g(the)g(conditions)d(listed)h
(b)s(elo)m(w\).)839 3670 y(The)41 b(b)s(o)s(ok)h(ma)m(y)h(b)s(e)e(do)m
(wnloaded)g(and)h(prin)m(ted)f(free)h(of)g(c)m(harge)839
3783 y(for)34 b(p)s(ersonal)f(study;)j(it)e(ma)m(y)h(b)s(e)f(do)m
(wnloaded)g(and)g(prin)m(ted)f(free)839 3896 y(of)28
b(c)m(harge)h(b)m(y)f(instructors)f(for)h Fx(imme)-5
b(diate)36 b FA(photo)s(cop)m(ying)28 b(to)h(stu-)839
4008 y(den)m(ts)35 b(pro)m(vided)g(that)h(no)g(fee)g(is)f(c)m(harged)h
(for)g(the)f(course;)k(these)839 4121 y(p)s(ermissions)29
b(explicitly)h(exclude)i(the)h(righ)m(t)f(to)i(an)m(y)f(other)g
(distri-)839 4234 y(bution)19 b(of)j(the)f(b)s(o)s(ok)g(\(b)s(e)g(it)g
(electronically)f(or)h(b)m(y)g(making)g(ph)m(ysical)839
4347 y(copies\).)839 4507 y(All)29 b(other)h(distribution)d(should)h(b)
s(e)i(agreed)h(with)e(the)i(authors.)839 4667 y(This)22
b(is)i(a)h(revised)f(edition)f(completed)i(in)e(July)g(1999;)29
b(the)c(original)839 4780 y(edition)e(from)i(1992)i(w)m(as)f(published)
21 b(b)m(y)k(John)f(Wiley)h(&)f(Sons;)j(this)839 4893
y(should)h(b)s(e)i(ac)m(kno)m(wledged)h(in)e(all)g(references)i(to)g
(the)g(b)s(o)s(ok.)p eop
%%Page: 1 2
1 1 bop 3441 130 a Fw(i)p 0 193 3473 4 v eop
%%Page: 5 3
5 2 bop 0 1181 a Fv(Con)-6 b(ten)g(ts)0 1733 y Fw(List)37
b(of)g(T)-9 b(ables)2688 b(vii)0 1954 y(Preface)3019
b(ix)0 2174 y(1)90 b(In)m(tro)s(duction)2652 b(1)146
2296 y Fu(1.1)100 b(Seman)m(tic)32 b(description)g(metho)s(ds)66
b(.)50 b(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)
h(.)g(.)g(.)g(.)142 b(1)146 2418 y(1.2)100 b(The)33 b(example)f
(language)g Fw(While)64 b Fu(.)50 b(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)142 b(7)146
2540 y(1.3)100 b(Seman)m(tics)32 b(of)g(expressions)72
b(.)50 b(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)f(.)h(.)g(.)g(.)g(.)142 b(9)146 2662 y(1.4)100
b(Prop)s(erties)32 b(of)g(the)h(seman)m(tics)g(.)50 b(.)g(.)g(.)g(.)g
(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)
93 b(15)0 2882 y Fw(2)d(Op)s(erational)37 b(Seman)m(tics)2107
b(19)146 3004 y Fu(2.1)100 b(Natural)31 b(seman)m(tics)38
b(.)49 b(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)93 b(20)146
3126 y(2.2)100 b(Structural)32 b(op)s(erational)e(seman)m(tics)35
b(.)50 b(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)
g(.)g(.)g(.)93 b(32)146 3248 y(2.3)100 b(An)33 b(equiv)-5
b(alence)32 b(result)48 b(.)i(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)93
b(40)146 3370 y(2.4)100 b(Extensions)34 b(of)e Fw(While)64
b Fu(.)50 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)93 b(44)146 3492
y(2.5)100 b(Blo)s(c)m(ks)32 b(and)h(pro)s(cedures)81
b(.)50 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)93 b(50)0 3713 y Fw(3)d(Pro)m(v)-6
b(ably)37 b(Correct)f(Implemen)m(tation)1554 b(63)146
3834 y Fu(3.1)100 b(The)33 b(abstract)g(mac)m(hine)e(.)50
b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)93 b(63)146 3956 y(3.2)100
b(Sp)s(eci\014cation)31 b(of)i(the)g(translation)f(.)50
b(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g
(.)g(.)g(.)93 b(69)146 4078 y(3.3)100 b(Correctness)85
b(.)50 b(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)93
b(73)146 4200 y(3.4)100 b(An)33 b(alternativ)m(e)e(pro)s(of)h(tec)m
(hnique)39 b(.)50 b(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)f(.)h(.)g(.)g(.)g(.)93 b(81)0 4421 y Fw(4)d(Denotational)37
b(Seman)m(tics)2054 b(85)146 4543 y Fu(4.1)100 b(Direct)31
b(st)m(yle)j(seman)m(tics:)43 b(sp)s(eci\014cation)48
b(.)i(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g
(.)93 b(85)146 4664 y(4.2)100 b(Fixed)32 b(p)s(oin)m(t)g(theory)84
b(.)50 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)93 b(93)146 4786
y(4.3)100 b(Direct)31 b(st)m(yle)j(seman)m(tics:)43 b(existence)37
b(.)50 b(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)
g(.)g(.)g(.)44 b(107)146 4908 y(4.4)100 b(An)33 b(equiv)-5
b(alence)32 b(result)48 b(.)i(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)44
b(112)146 5030 y(4.5)100 b(Extensions)34 b(of)e Fw(While)64
b Fu(.)50 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)44 b(117)0 5251
y Fw(5)90 b(Static)37 b(Program)f(Analysis)1958 b(133)146
5373 y Fu(5.1)100 b(Prop)s(erties)32 b(and)h(prop)s(ert)m(y)g(states)44
b(.)50 b(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)
h(.)g(.)g(.)g(.)44 b(135)146 5494 y(5.2)100 b(The)33
b(analysis)42 b(.)50 b(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)
44 b(142)1710 5849 y(v)p eop
%%Page: 6 4
6 3 bop 251 130 a Fw(vi)2944 b(Con)m(ten)m(ts)p 251 193
3473 4 v 430 515 a Fu(5.3)99 b(Safet)m(y)34 b(of)e(the)h(analysis)52
b(.)e(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)44 b(153)430 636 y(5.4)99
b(Bounded)34 b(iteration)e(.)50 b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
44 b(160)283 854 y Fw(6)91 b(Axiomatic)35 b(Program)h(V)-9
b(eri\014cation)1587 b(169)430 974 y Fu(6.1)99 b(Direct)32
b(pro)s(ofs)g(of)g(program)f(correctness)98 b(.)50 b(.)g(.)g(.)g(.)g(.)
f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)44 b(169)430
1094 y(6.2)99 b(P)m(artial)31 b(correctness)k(assertions)d(.)50
b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)44 b(175)430 1215 y(6.3)99 b(Soundness)35
b(and)d(completeness)54 b(.)c(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f
(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)44 b(183)430
1335 y(6.4)99 b(Extensions)34 b(of)e(the)h(axiomatic)d(system)68
b(.)50 b(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)44 b(191)430 1456 y(6.5)99 b(Assertions)34 b(for)e(execution)h
(time)99 b(.)50 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)44 b(200)283 1674 y Fw(7)91
b(F)-9 b(urther)37 b(Reading)2348 b(209)283 1891 y(A)62
b(Review)36 b(of)i(Notation)2200 b(213)283 2109 y(App)s(endices)2741
b(212)283 2327 y(B)67 b(In)m(tro)s(duction)36 b(to)h(Miranda)h
(Implemen)m(tations)1092 b(217)430 2448 y Fu(B.1)79 b(Abstract)33
b(syn)m(tax)49 b(.)h(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)44
b(217)430 2568 y(B.2)79 b(Ev)-5 b(aluation)31 b(of)h(expressions)39
b(.)50 b(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)44 b(218)283 2786 y Fw(C)66
b(Op)s(erational)37 b(Seman)m(tics)f(in)h(Miranda)1468
b(221)430 2906 y Fu(C.1)78 b(Natural)32 b(seman)m(tics)37
b(.)50 b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)44 b(221)430
3027 y(C.2)78 b(Structural)32 b(op)s(erational)e(seman)m(tics)35
b(.)50 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)44 b(223)430 3147 y(C.3)78 b(Extensions)34
b(of)e Fw(While)65 b Fu(.)50 b(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)44
b(225)430 3268 y(C.4)78 b(Pro)m(v)-5 b(ably)33 b(correct)g(implemen)m
(tation)97 b(.)50 b(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)44 b(227)283 3485 y Fw(D)61 b(Denotational)36
b(Seman)m(tics)h(in)g(Miranda)1415 b(229)430 3606 y Fu(D.1)73
b(Direct)32 b(st)m(yle)h(seman)m(tics)27 b(.)50 b(.)g(.)g(.)f(.)h(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)44 b(229)430 3726 y(D.2)73 b(Extensions)34 b(of)e
Fw(While)65 b Fu(.)50 b(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)44
b(230)430 3847 y(D.3)73 b(Static)32 b(program)f(analysis)h(.)50
b(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)44 b(230)283 4065 y Fw(Bibliograph)m(y)2675
b(233)283 4282 y(Index)38 b(of)g(Sym)m(b)s(ols)2454 b(235)283
4500 y(Index)3029 b(237)p eop
%%Page: 7 5
7 4 bop 0 1180 a Fv(List)77 b(of)g(T)-19 b(ables)146
1632 y Fu(1.1)100 b(The)33 b(seman)m(tics)g(of)f(arithmetic)f
(expressions)f(.)50 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g
(.)g(.)g(.)93 b(13)146 1752 y(1.2)100 b(The)33 b(seman)m(tics)g(of)f(b)
s(o)s(olean)f(expressions)63 b(.)49 b(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)93 b(14)146 1956 y(2.1)100
b(Natural)31 b(seman)m(tics)i(for)f Fw(While)24 b Fu(.)50
b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h
(.)g(.)g(.)g(.)93 b(20)146 2076 y(2.2)100 b(Structural)32
b(op)s(erational)e(seman)m(tics)j(for)f Fw(While)98 b
Fu(.)50 b(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)93
b(33)146 2197 y(2.3)100 b(Natural)31 b(seman)m(tics)i(for)f(statemen)m
(ts)h(of)f Fw(Blo)s(c)m(k)53 b Fu(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f
(.)h(.)g(.)g(.)g(.)93 b(52)146 2317 y(2.4)100 b(Natural)31
b(seman)m(tics)i(for)f(v)-5 b(ariable)31 b(declarations)55
b(.)50 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)93
b(52)146 2437 y(2.5)100 b(Natural)31 b(seman)m(tics)i(for)f
Fw(Pro)s(c)g Fu(with)g(dynamic)g(scop)s(e)h(rules)51
b(.)f(.)g(.)f(.)h(.)g(.)g(.)g(.)93 b(54)146 2558 y(2.6)100
b(Pro)s(cedure)33 b(calls)f(in)g(case)h(of)f(mixed)g(scop)s(e)h(rules)g
(\(c)m(ho)s(ose)g(one\))69 b(.)49 b(.)h(.)g(.)g(.)g(.)93
b(56)146 2678 y(2.7)100 b(Natural)31 b(seman)m(tics)i(for)f(v)-5
b(ariable)31 b(declarations)g(using)h(lo)s(cations)82
b(.)50 b(.)g(.)g(.)g(.)93 b(58)146 2798 y(2.8)100 b(Natural)31
b(seman)m(tics)i(for)f Fw(Pro)s(c)g Fu(with)g(static)g(scop)s(e)h
(rules)101 b(.)50 b(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)93
b(59)146 3002 y(3.1)100 b(Op)s(erational)30 b(seman)m(tics)j(for)f
Fw(AM)101 b Fu(.)50 b(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)f(.)h(.)g(.)g(.)g(.)93 b(65)146 3122 y(3.2)100
b(T)-8 b(ranslation)31 b(of)h(expressions)89 b(.)50 b(.)g(.)g(.)g(.)g
(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)
93 b(70)146 3243 y(3.3)100 b(T)-8 b(ranslation)31 b(of)h(statemen)m(ts)
h(in)f Fw(While)50 b Fu(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)f(.)h(.)g(.)g(.)g(.)93 b(71)146 3446 y(4.1)100 b(Denotational)30
b(seman)m(tics)i(for)g Fw(While)g Fu(.)50 b(.)g(.)f(.)h(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)93 b(86)146
3566 y(4.2)100 b(Denotational)30 b(seman)m(tics)i(for)g
Fw(While)f Fu(using)i(lo)s(cations)58 b(.)50 b(.)g(.)g(.)g(.)f(.)h(.)g
(.)g(.)g(.)44 b(119)146 3687 y(4.3)100 b(Denotational)30
b(seman)m(tics)i(for)g(v)-5 b(ariable)31 b(declarations)63
b(.)50 b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)44 b(121)146
3807 y(4.4)100 b(Denotational)30 b(seman)m(tics)i(for)g(non-recursiv)m
(e)i(pro)s(cedure)g(declarations)71 b(.)50 b(.)44 b(122)146
3928 y(4.5)100 b(Denotational)30 b(seman)m(tics)i(for)g
Fw(Pro)s(c)93 b Fu(.)50 b(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)f(.)h(.)g(.)g(.)g(.)44 b(123)146 4048 y(4.6)100
b(Denotational)30 b(seman)m(tics)i(for)g(recursiv)m(e)i(pro)s(cedure)g
(declarations)c(.)50 b(.)g(.)g(.)g(.)44 b(125)146 4168
y(4.7)100 b(Con)m(tin)m(uation)31 b(st)m(yle)j(seman)m(tics)e(for)g
Fw(While)27 b Fu(.)50 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g
(.)g(.)g(.)44 b(128)146 4289 y(4.8)100 b(Con)m(tin)m(uation)31
b(st)m(yle)j(seman)m(tics)e(for)g Fw(Exc)61 b Fu(.)49
b(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)44
b(130)146 4492 y(5.1)100 b(Analysis)32 b(of)g(expressions)62
b(.)50 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)44 b(143)146 4613 y(5.2)100
b(Analysis)32 b(of)g(statemen)m(ts)i(in)d Fw(While)100
b Fu(.)50 b(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g
(.)g(.)g(.)44 b(144)146 4816 y(6.1)100 b(Axiomatic)30
b(system)k(for)e(partial)e(correctness)84 b(.)50 b(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)44 b(178)146 4936
y(6.2)100 b(Axiomatic)30 b(system)k(for)e(total)f(correctness)88
b(.)50 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)44
b(192)146 5057 y(6.3)100 b(Exact)33 b(execution)g(times)f(for)g
(expressions)54 b(.)49 b(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)
h(.)g(.)g(.)g(.)44 b(202)146 5177 y(6.4)100 b(Natural)31
b(seman)m(tics)i(for)f Fw(While)f Fu(with)h(exact)h(execution)h(times)
79 b(.)49 b(.)h(.)g(.)g(.)g(.)44 b(203)146 5297 y(6.5)100
b(Axiomatic)30 b(system)k(for)e(order)g(of)h(magnitude)e(of)h
(execution)h(time)46 b(.)k(.)g(.)g(.)g(.)44 b(204)1683
5849 y(vii)p eop
%%Page: 8 6
8 5 bop 251 130 a Fw(viii)2654 b(List)37 b(of)h(T)-9
b(ables)p 251 193 3473 4 v eop
%%Page: 9 7
9 6 bop 0 1180 a Fv(Preface)0 1632 y Fu(Man)m(y)37 b(b)s(o)s(oks)f(on)h
(formal)c(seman)m(tics)k(b)s(egin)e(b)m(y)i(explaining)e(that)h(there)g
(are)h(three)f(ma)5 b(jor)0 1752 y(approac)m(hes)34 b(to)e(seman)m
(tics,)h(that)f(is)145 1923 y Ft(\017)49 b Fu(op)s(erational)30
b(seman)m(tics,)145 2115 y Ft(\017)49 b Fu(denotational)30
b(seman)m(tics,)j(and)145 2308 y Ft(\017)49 b Fu(axiomatic)30
b(seman)m(tics;)0 2478 y(but)36 b(then)g(they)h(go)e(on)h(to)f(study)i
(just)f Fs(one)43 b Fu(of)35 b(these)i(in)e(greater)g(detail.)52
b(The)36 b(purp)s(ose)h(of)0 2598 y(this)32 b(b)s(o)s(ok)g(is)g(to)145
2769 y Ft(\017)49 b Fu(presen)m(t)34 b(the)f Fs(fundamental)h(ide)-5
b(as)40 b Fu(b)s(ehind)32 b Fs(al)5 b(l)43 b Fu(of)32
b(these)i(approac)m(hes,)145 2961 y Ft(\017)49 b Fu(to)25
b(stress)i(their)d Fs(r)-5 b(elationship)30 b Fu(b)m(y)d(form)m
(ulating)22 b(and)j(pro)m(ving)g(the)h(relev)-5 b(an)m(t)25
b(theorems,)244 3082 y(and)145 3274 y Ft(\017)49 b Fu(to)i(illustrate)f
(the)i Fs(applic)-5 b(ability)60 b Fu(of)51 b(formal)e(seman)m(tics)j
(as)g(a)f(to)s(ol)f(in)h(computer)244 3395 y(science)q(.)0
3565 y(This)45 b(is)g(an)g(am)m(bitious)e(goal)h(and)h(to)f(ac)m(hiev)m
(e)j(it,)g(the)f(bulk)f(of)f(the)i(dev)m(elopmen)m(t)g(con-)0
3685 y(cen)m(trates)37 b(on)f(a)g(rather)f(small)f(core)i(language)f
(of)g Fr(while)p Fu(-programs)h(for)f(whic)m(h)h(the)h(three)0
3806 y(approac)m(hes)e(are)g(dev)m(elop)s(ed)g(to)f(roughly)f(the)i
(same)f(lev)m(el)g(of)f(sophistication.)47 b(T)-8 b(o)34
b(demon-)0 3926 y(strate)f(the)g Fs(applic)-5 b(ability)40
b Fu(of)32 b(formal)f(seman)m(tics)h(w)m(e)i(sho)m(w)145
4097 y Ft(\017)49 b Fu(ho)m(w)34 b(to)g(use)g(seman)m(tics)g(for)f(v)-5
b(alidating)31 b(protot)m(yp)s(e)j(implemen)m(tations)d(of)i(program-)
244 4217 y(ming)e(languages,)145 4409 y Ft(\017)49 b
Fu(ho)m(w)41 b(to)g(use)g(seman)m(tics)g(for)g(v)m(erifying)f(analyses)
h(used)h(in)e(more)g(adv)-5 b(anced)42 b(imple-)244 4530
y(men)m(tations)32 b(of)g(programming)d(languages,)j(and)145
4722 y Ft(\017)49 b Fu(ho)m(w)29 b(to)g(use)h(seman)m(tics)f(for)f(v)m
(erifying)h(useful)g(program)e(prop)s(erties)i(including)e(infor-)244
4843 y(mation)j(ab)s(out)j(execution)g(time.)0 5013 y(The)k(dev)m
(elopmen)m(t)f(is)f Fs(intr)-5 b(o)g(ductory)45 b Fu(as)36
b(is)f(already)g(re\015ected)i(in)e(the)h(title.)51 b(F)-8
b(or)35 b(this)g(rea-)0 5133 y(son)c(v)m(ery)i(man)m(y)e(adv)-5
b(anced)32 b(concepts)h(within)d(op)s(erational,)f(denotational)g(and)i
(axiomatic)0 5254 y(seman)m(tics)36 b(ha)m(v)m(e)h(had)f(to)f(b)s(e)h
(omitted.)52 b(Also)35 b(w)m(e)i(ha)m(v)m(e)g(had)f(to)f(omit)f
(treatmen)m(t)i(of)f(other)0 5374 y(approac)m(hes)26
b(to)f(seman)m(tics,)h(for)f(example)f(P)m(etri-nets)h(and)g(temp)s
(oral)e(logic.)39 b(Some)24 b(p)s(oin)m(ters)0 5494 y(to)32
b(further)h(reading)f(are)h(giv)m(en)f(in)g(Chapter)h(7.)1697
5849 y(ix)p eop
%%Page: 10 8
10 7 bop 251 130 a Fw(x)3050 b(Preface)p 251 193 3473
4 v 283 419 V 283 3790 4 3371 v 1711 1523 a Fq(\010)1628
1565 y(\010)1545 1606 y(\010)1462 1648 y(\010)1379 1689
y(\010)1296 1731 y(\010)1279 1739 y(\010)1711 2270 y(\010)1628
2312 y(\010)1545 2353 y(\010)1462 2395 y(\010)1379 2437
y(\010)1296 2478 y(\010)1279 2486 y(\010)1711 3018 y(\010)1628
3059 y(\010)1545 3101 y(\010)1462 3142 y(\010)1379 3184
y(\010)1296 3225 y(\010)1279 3234 y(\010)2126 1523 y(H)2209
1565 y(H)2292 1606 y(H)2375 1648 y(H)2458 1689 y(H)2541
1731 y(H)2558 1739 y(H)2126 2270 y(H)2209 2312 y(H)2292
2353 y(H)2375 2395 y(H)2458 2437 y(H)2541 2478 y(H)2558
2486 y(H)2126 3018 y(H)2209 3059 y(H)2292 3101 y(H)2375
3142 y(H)2458 3184 y(H)2541 3225 y(H)2558 3234 y(H)p
1959 1208 4 308 v 1959 1955 4 474 v 1959 2702 V 1959
3408 4 432 v 1711 765 485 4 v 1711 903 4 139 v 1739 859
a Fu(Chapter)34 b(1)p 2192 903 V 1711 906 485 4 v 1587
1234 735 4 v 1587 1465 4 232 v 1740 1328 a(Chapter)f(2)1615
1440 y(Sections)g(2.1{2.3)p 2318 1465 V 1587 1468 735
4 v 798 1762 V 798 1880 4 118 v 826 1855 a(Sections)g(2.4{2.5)p
1529 1880 V 798 1883 735 4 v 2541 1761 485 4 v 2541 1900
4 139 v 1065 w(Chapter)g(3)p 3023 1900 V 2541 1903 485
4 v 1587 1981 735 4 v 1587 2212 4 232 v 1740 2075 a(Chapter)g(4)1615
2187 y(Sections)g(4.1{4.4)p 2318 2212 V 1587 2215 735
4 v 881 2510 523 4 v 881 2627 4 118 v 909 2603 a(Section)g(4.5)p
1400 2627 V 881 2630 523 4 v 2541 2508 485 4 v 2541 2647
4 139 v 1194 w(Chapter)g(5)p 3023 2647 V 2541 2650 485
4 v 1587 2728 735 4 v 1587 2960 4 232 v 1740 2822 a(Chapter)g(6)1615
2935 y(Sections)g(6.1{6.3)p 2318 2960 V 1587 2963 735
4 v 881 3257 523 4 v 881 3375 4 118 v 909 3350 a(Section)g(6.4)p
1400 3375 V 881 3378 523 4 v 2541 3257 V 2541 3375 4
118 v 1194 w(Section)f(6.5)p 3061 3375 V 2541 3378 523
4 v 1711 3422 485 4 v 1711 3560 4 139 v 1739 3516 a(Chapter)i(7)p
2192 3560 V 1711 3563 485 4 v 3753 3790 4 3371 v 283
3793 3473 4 v 283 4078 a Fp(Ov)l(erview)283 4281 y Fu(As)26
b(is)e(illustrated)e(in)i(the)h(dep)s(endency)i(diagram,)d(Chapters)h
(1,)h(2,)g(4,)g(6)e(and)h(7)f(form)g(the)g(core)283 4402
y(of)34 b(the)g(b)s(o)s(ok.)47 b(Chapter)35 b(1)f(in)m(tro)s(duces)g
(the)h(example)e(language)g(of)g Fr(while)p Fu(-programs)h(that)283
4522 y(is)28 b(used)h(throughout)f(the)h(b)s(o)s(ok.)41
b(In)29 b(Chapter)g(2)e(w)m(e)j(co)m(v)m(er)f(t)m(w)m(o)g(approac)m
(hes)g(to)f Fs(op)-5 b(er)g(ational)283 4642 y(semantics)p
Fu(,)43 b(the)f(natural)e(seman)m(tics)h(of)g(G.)g(Kahn)g(and)g(the)h
(structural)f(op)s(erational)e(se-)283 4763 y(man)m(tics)30
b(of)g(G.)h(Plotkin.)41 b(Chapter)32 b(4)e(dev)m(elops)i(the)f
Fs(denotational)h(semantics)38 b Fu(of)30 b(D.)i(Scott)283
4883 y(and)40 b(C.)h(Strac)m(hey)g(including)d(simple)h(\014xed)i(p)s
(oin)m(t)e(theory)-8 b(.)66 b(Chapter)40 b(6)g(in)m(tro)s(duces)g
Fs(pr)-5 b(o-)283 5004 y(gr)g(am)33 b(veri\014c)-5 b(ation)36
b Fu(based)31 b(on)f(op)s(erational)e(and)i(denotational)e(seman)m
(tics)j(and)f(go)s(es)g(on)g(to)283 5124 y(presen)m(t)e(the)e
(axiomatic)d(approac)m(h)j(due)h(to)e(C.)h(A.)g(R.)f(Hoare.)42
b(Finally)-8 b(,)24 b(Chapter)i(7)g(con)m(tains)283 5244
y(suggestions)34 b(for)e(further)g(reading.)430 5374
y(The)i(\014rst)f(three)h(or)f(four)f(sections)i(of)f(eac)m(h)g(of)g
(the)g(Chapters)i(2,)e(4)f(and)i(6)e(are)h(dev)m(oted)283
5494 y(to)i(the)h(language)d(of)i Fr(while)p Fu(-programs)g(and)g(co)m
(v)m(ers)i(sp)s(eci\014cation)d(as)i(w)m(ell)e(as)h(theoretical)p
eop
%%Page: 11 9
11 8 bop 0 130 a Fw(Preface)3019 b(xi)p 0 193 3473 4
v 0 515 a Fu(asp)s(ects.)44 b(In)32 b(eac)m(h)g(of)f(the)g(c)m(hapters)
i(w)m(e)f(extend)h(the)e Fr(while)p Fu(-language)g(with)g(v)-5
b(arious)30 b(other)0 636 y(constructs)c(and)e(the)g(emphasis)g(is)f
(here)i(on)f(sp)s(eci\014cation)g(rather)g(than)g(theory)-8
b(.)41 b(In)24 b(Sections)0 756 y(2.4)39 b(and)h(2.5)g(w)m(e)h
(consider)f(extensions)h(with)e(ab)s(ortion,)i(non-determinism,)e
(parallelism,)0 877 y(blo)s(c)m(k)33 b(constructs,)h(dynamic)f(and)g
(static)f(pro)s(cedures,)j(and)e(non-recursiv)m(e)h(and)f(recursiv)m(e)
0 997 y(pro)s(cedures.)86 b(In)47 b(Section)f(4.5)g(w)m(e)i(consider)e
(extensions)i(of)e(the)h Fr(while)p Fu(-language)f(with)0
1117 y(static)37 b(pro)s(cedures)i(that)e(ma)m(y)h(or)f(ma)m(y)g(not)h
(b)s(e)f(recursiv)m(e)i(and)f(w)m(e)h(sho)m(w)f(ho)m(w)g(to)g(handle)0
1238 y(exceptions,)e(that)d(is,)h(certain)g(kinds)g(of)g(jumps.)47
b(Finally)-8 b(,)32 b(in)h(Section)h(6.4)f(w)m(e)i(consider)f(an)0
1358 y(extension)c(with)e(non-recursiv)m(e)i(and)f(recursiv)m(e)i(pro)s
(cedures)f(and)f(w)m(e)h(also)e(sho)m(w)i(ho)m(w)g(total)0
1478 y(correctness)46 b(prop)s(erties)e(are)f(handled.)77
b(The)45 b(sections)g(on)e(extending)i(the)f(op)s(erational,)0
1599 y(denotational)31 b(and)h(axiomatic)e(seman)m(tics)j(ma)m(y)g(b)s
(e)f(studied)h(in)f(an)m(y)h(order.)146 1728 y(The)d(applicabilit)m(y)c
(of)j(op)s(erational,)e(denotational)g(and)i(axiomatic)e(seman)m(tics)i
(is)g(illus-)0 1848 y(trated)h(in)f(Chapters)j(3,)e(5)g(and)g(6.)42
b(In)31 b(Chapter)f(3)g(w)m(e)h(sho)m(w)g(ho)m(w)g(to)f(pro)m(v)m(e)h
(the)f(correctness)0 1969 y(of)37 b(a)g(simple)f(compiler)f(for)i(the)h
Fr(while)p Fu(-language)f(using)g(the)h(op)s(erational)d(seman)m(tics.)
58 b(In)0 2089 y(Chapter)35 b(5)f(w)m(e)i(pro)m(v)m(e)g(an)e(analysis)g
(for)g(the)g Fr(while)p Fu(-language)h(correct)g(using)f(the)h(denota-)
0 2209 y(tional)f(seman)m(tics.)54 b(Finally)-8 b(,)34
b(in)h(Section)h(6.5)g(w)m(e)h(extend)g(the)g(axiomatic)c(approac)m(h)k
(so)f(as)0 2330 y(to)c(obtain)g(information)d(ab)s(out)j(execution)h
(time)f(of)g Fr(while)p Fu(-programs.)146 2459 y(App)s(endix)27
b(A)g(reviews)h(the)f(mathematical)c(notation)i(on)h(whic)m(h)i(this)e
(b)s(o)s(ok)g(is)g(based.)42 b(It)0 2579 y(is)30 b(mostly)g(standard)g
(notation)g(but)g(some)h(ma)m(y)f(\014nd)h(our)f(use)i(of)e
Fo(,)-17 b Ft(!)30 b Fu(and)h Ft(\005)e Fu(non-standard.)0
2700 y(W)-8 b(e)38 b(use)g Fs(D)47 b Fo(,)-17 b Ft(!)37
b Fs(E)50 b Fu(for)37 b(the)g(set)h(of)f Fs(p)-5 b(artial)48
b Fu(functions)37 b(from)f Fs(D)47 b Fu(to)37 b Fs(E)12
b Fu(;)38 b(this)f(is)g(b)s(ecause)h(w)m(e)0 2820 y(\014nd)j(that)g
(the)g Fs(D)50 b Fo(*)40 b Fs(E)53 b Fu(notation)39 b(is)i(to)s(o)e
(easily)h(o)m(v)m(erlo)s(ok)m(ed.)69 b(Also)41 b(w)m(e)g(use)h
Fs(R)j Ft(\005)39 b Fs(S)53 b Fu(for)0 2940 y(the)32
b(comp)s(osition)d(of)i(binary)h(relations)e Fs(R)36
b Fu(and)31 b Fs(S)12 b Fu(;)32 b(this)f(is)g(b)s(ecause)i(of)e(the)h
(di\013eren)m(t)g(order)0 3061 y(of)44 b(comp)s(osition)e(used)k(for)e
(relations)f(and)h(functions.)79 b(When)46 b(dealing)d(with)h
(axiomatic)0 3181 y(seman)m(tics)c(w)m(e)h(use)f(form)m(ulae)e
Ft(f)i Fs(P)50 b Ft(g)39 b Fs(S)52 b Ft(f)39 b Fs(Q)49
b Ft(g)40 b Fu(for)f(partial)e(correctness)42 b(assertions)e(but)0
3302 y Ft(f)32 b Fs(P)43 b Ft(g)33 b Fs(S)44 b Ft(f)32
b(+)h Fs(Q)41 b Ft(g)28 b Fu(for)g(total)e(correctness)31
b(assertions)d(b)s(ecause)i(the)e(explicit)f(o)s(ccurrence)j(of)0
3422 y Ft(+)i Fu(\(for)g(termination\))e(ma)m(y)j(prev)m(en)m(t)h(the)f
(studen)m(t)h(from)e(confusing)g(the)h(t)m(w)m(o)g(systems.)146
3551 y(App)s(endices)27 b(B,)f(C)g(and)g(D)f(con)m(tain)g(implemen)m
(tations)e(of)i(some)h(of)f(the)h(seman)m(tic)g(sp)s(eci-)0
3671 y(\014cations)e(using)g(the)g(functional)e(language)h
Fw(Miranda)p Fu(.)2073 3635 y Fn(1)2154 3671 y Fu(The)i(in)m(ten)m
(tion)f(is)f(that)h(the)g(abilit)m(y)0 3792 y(to)39 b(exp)s(erimen)m(t)
h(with)g(seman)m(tic)f(de\014nitions)g(enhances)j(the)e(understanding)g
(of)f(material)0 3912 y(that)32 b(is)f(often)h(regarded)h(as)f(b)s
(eing)f(terse)i(and)g(hea)m(vy)g(with)f(formalism.)40
b(It)32 b(should)g(b)s(e)g(p)s(os-)0 4032 y(sible)j(to)g(rew)m(ork)i
(these)g(implemen)m(tations)c(in)i(an)m(y)h(functional)f(language)f
(but)i(if)f(an)g(eager)0 4153 y(language)42 b(\(lik)m(e)g
Fw(Standard)i(ML)p Fu(\))f(is)f(used,)47 b(great)42 b(care)h(m)m(ust)g
(b)s(e)g(tak)m(en)h(in)e(the)h(imple-)0 4273 y(men)m(tation)37
b(of)h(the)h(\014xed)h(p)s(oin)m(t)d(com)m(binator.)60
b(Ho)m(w)m(ev)m(er,)42 b(no)d(con)m(tin)m(uit)m(y)f(is)g(lost)g(if)f
(these)0 4394 y(app)s(endices)c(are)g(ignored.)0 4618
y Fp(Notes)46 b(for)f(the)g(instructor)0 4820 y Fu(The)35
b(reader)g(should)g(preferably)f(b)s(e)h(acquain)m(ted)g(with)f(the)h
(BNF-st)m(yle)g(of)f(sp)s(ecifying)g(the)0 4941 y(syn)m(tax)e(of)e
(programming)d(languages)i(and)i(should)f(b)s(e)g(familiar)c(with)k
(most)g(of)g(the)g(mathe-)0 5061 y(matical)c(concepts)k(surv)m(ey)m(ed)
h(in)d(App)s(endix)h(A.)g(T)-8 b(o)29 b(appreciate)f(the)h(protot)m(yp)
s(e)g(implemen-)0 5181 y(tations)j(of)g(the)h(app)s(endices)h(some)f
(exp)s(erience)h(in)e(functional)f(programming)f(is)i(required.)p
0 5304 1389 4 v 112 5365 a Fm(1)149 5395 y Fl(Miranda)24
b Fk(is)f(a)g(trademark)f(of)h(Researc)n(h)e(Soft)n(w)n(are)h(Limited,)
j(23)d(St)i(Augustines)f(Road,)h(Can)n(terbury)-7 b(,)0
5494 y(Ken)n(t)27 b(CT1)g(1XP)-7 b(,)27 b(UK.)p eop
%%Page: 12 10
12 9 bop 251 130 a Fw(xii)2986 b(Preface)p 251 193 3473
4 v 283 515 a Fu(W)-8 b(e)24 b(ha)m(v)m(e)g(ourselv)m(es)h(used)f(this)
f(b)s(o)s(ok)g(for)f(an)h(undergraduate)h(course)g(at)f(Aarh)m(us)h
(Univ)m(ersit)m(y)283 636 y(in)32 b(whic)m(h)h(the)g(required)g
(functional)e(programming)f(is)i(in)m(tro)s(duced)h(\\on-the-\015y".)
430 756 y(W)-8 b(e)48 b(pro)m(vide)g(t)m(w)m(o)g(kinds)g(of)f
(exercises.)90 b(One)48 b(kind)f(helps)h(the)g(studen)m(t)h(in)e
(his/her)283 877 y(understanding)31 b(of)e(the)h
(de\014nitions/results/tec)m(hniques)h(used)g(in)e(the)h(text.)44
b(In)30 b(particular)283 997 y(there)38 b(are)e(exercises)j(that)d(ask)
h(the)g(studen)m(t)i(to)d(pro)m(v)m(e)i(auxiliary)c(results)j(needed)h
(for)e(the)283 1117 y(main)23 b(results)i(but)f(then)h(the)g(pro)s(of)f
(tec)m(hniques)i(will)c(b)s(e)i(minor)f(v)-5 b(ariations)22
b(of)i(those)h(already)283 1238 y(explained)37 b(in)g(the)h(text.)58
b(W)-8 b(e)38 b(ha)m(v)m(e)g(mark)m(ed)g(those)g(exercises)h(whose)f
(results)g(are)f(needed)283 1358 y(later)d(b)m(y)i(\\)p
Fw(\(Essen)m(tial\))p Fu(".)47 b(The)36 b(other)f(kind)g(of)f
(exercises)i(are)f(more)f(c)m(hallenging)f(in)h(that)283
1478 y(they)g(extend)g(the)g(dev)m(elopmen)m(t,)f(for)g(example)f(b)m
(y)i(relating)d(it)h(to)g(other)h(approac)m(hes.)45 b(W)-8
b(e)283 1599 y(use)36 b(a)e(star)h(to)f(mark)g(the)h(more)f(di\016cult)
f(of)h(these)i(exercises.)52 b(Exercises)36 b(mark)m(ed)f(b)m(y)g(t)m
(w)m(o)283 1719 y(stars)42 b(are)e(rather)h(length)m(y)g(and)f(ma)m(y)h
(require)g(insigh)m(t)e(not)i(otherwise)g(presen)m(ted)i(in)c(the)283
1840 y(b)s(o)s(ok.)70 b(It)42 b(will)d(not)i(b)s(e)h(necessary)h(for)e
(studen)m(ts)j(to)d(attempt)g(all)e(the)j(exercises)h(but)f(w)m(e)283
1960 y(do)33 b(recommend)f(that)g(they)i(read)f(them)f(and)h(try)f(to)h
(understand)h(what)e(the)h(exercises)i(are)283 2080 y(ab)s(out.)283
2369 y Fp(Ac)l(kno)l(wledgemen)l(ts)283 2554 y Fu(In)47
b(writing)d(this)h(b)s(o)s(ok)h(w)m(e)g(ha)m(v)m(e)h(b)s(een)g(greatly)
e(assisted)i(b)m(y)f(the)g(commen)m(ts)g(and)g(sug-)283
2674 y(gestions)h(pro)m(vided)g(b)m(y)g(colleagues)f(and)g(review)m
(ers)i(and)e(b)m(y)i(studen)m(ts)g(and)f(instructors)283
2795 y(at)c(Aarh)m(us)h(Univ)m(ersit)m(y)-8 b(.)75 b(This)43
b(includes)g(Anders)h(Gammelgaard,)f(Chris)g(Hankin,)i(T)-8
b(or-)283 2915 y(b)s(en)40 b(Am)m(toft)e(Hansen,)j(Jens)f(P)m(alsb)s
(erg)f(J\034rgensen,)j(Ernst-R)s(\177)-51 b(udiger)37
b(Olderog,)j(Da)m(vid)e(A.)283 3035 y(Sc)m(hmidt,)29
b(Kirsten)f(L.)g(Solb)s(erg)f(and)h(Bernhard)g(Ste\013en.)43
b(Sp)s(ecial)27 b(thanks)i(are)f(due)g(to)g(Stef-)283
3156 y(fen)g(Grarup,)g(Jacob)g(Seligmann,)f(and)g(Bettina)g(Blaab)s
(erg)f(S\034rensen)j(for)e(their)g(en)m(th)m(usiasm)283
3276 y(and)33 b(great)f(care)h(in)f(reading)g(preliminary)e(v)m
(ersions.)283 3633 y(Aarh)m(us,)k(Octob)s(er)f(1991)1721
b(Hanne)33 b(Riis)e(Nielson)2985 3800 y(Flemming)e(Nielson)283
4089 y Fp(Revised)46 b(Edition)283 4274 y Fu(In)36 b(this)f(revised)i
(edition)d(w)m(e)i(ha)m(v)m(e)h(corrected)g(a)e(n)m(um)m(b)s(er)h(of)f
(t)m(yp)s(ographical)f(errors)i(and)f(a)283 4394 y(few)h(mistak)m(es;)h
(ho)m(w)m(ev)m(er,)i(no)c(ma)5 b(jor)34 b(c)m(hanges)j(ha)m(v)m(e)f(b)s
(een)h(made.)51 b(Since)35 b(the)h(publication)283 4515
y(of)49 b(the)g(\014rst)g(edition)e(w)m(e)j(ha)m(v)m(e)g(obtained)e
(helpful)g(commen)m(ts)g(from)g(Jens)i(Kno)s(op)e(and)283
4635 y(Anders)35 b(Sandholm.)45 b(The)34 b(w)m(ebpage)h(for)e(the)h(b)s
(o)s(ok)f(no)m(w)h(also)e(con)m(tains)i(implemen)m(tations)283
4756 y(of)f(App)s(endices)g(B,)g(C)g(and)g(D)f(in)g(Gofer)f(as)i(w)m
(ell)f(as)h(in)f(Miranda.)283 5112 y(Aarh)m(us,)i(July)e(1999)1883
b(Hanne)33 b(Riis)e(Nielson)2985 5280 y(Flemming)e(Nielson)p
eop
%%Page: 1 11
1 10 bop 0 1183 a Fv(Chapter)78 b(1)0 1602 y(In)-6 b(tro)6
b(duction)0 2058 y Fu(The)34 b(purp)s(ose)f(of)f(this)g(b)s(o)s(ok)g
(is)145 2279 y Ft(\017)49 b Fu(to)32 b(describ)s(e)h(some)g(of)f(the)h
(main)e(ideas)h(and)h(metho)s(ds)f(used)i(in)e(seman)m(tics,)145
2501 y Ft(\017)49 b Fu(to)32 b(illustrate)f(these)i(on)g(in)m
(teresting)f(applications,)f(and)145 2722 y Ft(\017)49
b Fu(to)32 b(in)m(v)m(estigate)h(the)g(relationship)d(b)s(et)m(w)m(een)
35 b(the)e(v)-5 b(arious)32 b(metho)s(ds.)0 2944 y(F)-8
b(ormal)47 b(seman)m(tics)k(is)e(concerned)j(with)d(rigorously)g(sp)s
(ecifying)g(the)i(meaning,)i(or)d(b)s(e-)0 3064 y(ha)m(viour,)32
b(of)g(programs,)g(pieces)i(of)e(hardw)m(are)h(etc.)44
b(The)34 b(need)f(for)f(rigour)g(arises)g(b)s(ecause)145
3286 y Ft(\017)49 b Fu(it)31 b(can)i(rev)m(eal)g(am)m(biguities)d(and)i
(subtle)h(complexities)e(in)h(apparen)m(tly)g(crystal)h(clear)244
3406 y(de\014ning)f(do)s(cumen)m(ts)i(\(for)e(example)g(programming)d
(language)j(man)m(uals\),)f(and)145 3627 y Ft(\017)49
b Fu(it)36 b(can)i(form)f(the)h(basis)f(for)g(implemen)m(tation,)f
(analysis)h(and)g(v)m(eri\014cation)g(\(in)g(par-)244
3748 y(ticular)31 b(pro)s(ofs)h(of)g(correctness\).)0
3969 y(W)-8 b(e)30 b(will)d(use)k(informal)26 b(set)31
b(theoretic)e(notation)g(\(review)m(ed)i(in)d(App)s(endix)j(A\))e(to)g
(represen)m(t)0 4090 y(seman)m(tic)40 b(concepts.)67
b(This)40 b(will)e(su\016ce)j(in)e(this)h(b)s(o)s(ok)f(but)i(for)e
(other)h(purp)s(oses)h(greater)0 4210 y(notational)25
b(precision)i(\(that)g(is,)h(formalit)m(y\))d(ma)m(y)i(b)s(e)g(needed,)
j(for)d(example)g(when)i(pro)s(cess-)0 4330 y(ing)j(seman)m(tic)h
(descriptions)f(b)m(y)i(mac)m(hine)f(as)g(in)f(seman)m(tics)h(directed)
g(compiler-compilers)0 4451 y(or)f(mac)m(hine)g(assisted)i(pro)s(of)d
(c)m(hec)m(k)m(ers.)0 4806 y Fj(1.1)161 b(Seman)l(tic)52
b(description)h(metho)t(ds)0 5032 y Fu(It)45 b(is)f(customary)h(to)f
(distinguish)f(b)s(et)m(w)m(een)k(the)e(syn)m(tax)i(and)d(the)i(seman)m
(tics)e(of)h(a)f(pro-)0 5153 y(gramming)34 b(language.)55
b(The)37 b Fs(syntax)49 b Fu(is)36 b(concerned)j(with)d(the)h
(grammatical)c(structure)38 b(of)0 5273 y(programs.)43
b(So)32 b(a)g(syn)m(tactic)i(analysis)e(of)g(the)h(program)244
5494 y Fr(z)p Fu(:=)p Fr(x)p Fu(;)g Fr(x)p Fu(:=)p Fr(y)p
Fu(;)g Fr(y)p Fu(:=)p Fr(z)1712 5849 y Fu(1)p eop
%%Page: 2 12
2 11 bop 251 130 a Fw(2)2631 b(1)113 b(In)m(tro)s(duction)p
251 193 3473 4 v 283 515 a Fu(will)32 b(realize)i(that)g(it)f(consists)
i(of)f(three)h(statemen)m(ts)g(separated)g(b)m(y)h(the)e(sym)m(b)s(ol)g
(`;'.)49 b(Eac)m(h)283 636 y(of)36 b(these)i(statemen)m(ts)f(has)g(the)
g(form)e(of)h(a)g(v)-5 b(ariable)35 b(follo)m(w)m(ed)g(b)m(y)i(the)g
(comp)s(osite)f(sym)m(b)s(ol)283 756 y(`:=')d(and)g(an)f(expression)i
(whic)m(h)f(is)f(just)h(a)g(v)-5 b(ariable.)430 878 y(The)42
b Fs(semantics)48 b Fu(is)40 b(concerned)j(with)d(the)i(meaning)d(of)h
(grammatically)d(correct)k(pro-)283 998 y(grams.)57 b(So)37
b(it)f(will)f(express)k(that)e(the)g(meaning)f(of)h(the)g(ab)s(o)m(v)m
(e)h(program)e(is)g(to)h(exc)m(hange)283 1118 y(the)i(v)-5
b(alues)38 b(of)f(the)h(v)-5 b(ariables)37 b Fr(x)h Fu(and)g
Fr(y)g Fu(\(and)g(setting)g Fr(z)g Fu(to)f(the)i(\014nal)e(v)-5
b(alue)37 b(of)g Fr(y)p Fu(\).)60 b(If)38 b(w)m(e)283
1239 y(w)m(ere)33 b(to)e(explain)g(this)g(in)g(more)f(detail)g(w)m(e)j
(w)m(ould)e(lo)s(ok)f(at)h(the)h(grammatical)c(structure)k(of)283
1359 y(the)h(program)f(and)g(use)i(explanations)e(of)g(the)h(meanings)f
(of)429 1568 y Ft(\017)48 b Fu(sequences)36 b(of)c(statemen)m(ts)i
(separated)f(b)m(y)h(`;',)f(and)429 1777 y Ft(\017)48
b Fu(a)33 b(statemen)m(t)g(consisting)f(of)g(a)g(v)-5
b(ariable)31 b(follo)m(w)m(ed)g(b)m(y)j(`:=')f(and)f(an)h(expression.)
283 1986 y(The)e(actual)d(explanations)h(can)h(b)s(e)f(formalized)e(in)
i(di\013eren)m(t)h(w)m(a)m(ys.)44 b(In)30 b(this)f(b)s(o)s(ok)g(w)m(e)h
(shall)283 2106 y(consider)j(three)h(approac)m(hes.)44
b(V)-8 b(ery)34 b(roughly)-8 b(,)32 b(the)h(ideas)f(are)h(as)f(follo)m
(ws:)283 2315 y Fw(Op)s(erational)37 b(seman)m(tics:)48
b Fu(The)32 b(meaning)d(of)i(a)f(construct)i(is)e(sp)s(eci\014ed)i(b)m
(y)f(the)h(compu-)527 2435 y(tation)40 b(it)f(induces)j(when)g(it)e(is)
g(executed)j(on)d(a)h(mac)m(hine.)67 b(In)41 b(particular,)g(it)f(is)g
(of)527 2555 y(in)m(terest)33 b Fs(how)43 b Fu(the)33
b(e\013ect)g(of)g(a)f(computation)f(is)h(pro)s(duced.)283
2764 y Fw(Denotational)37 b(seman)m(tics:)48 b Fu(Meanings)29
b(are)g(mo)s(delled)e(b)m(y)i(mathematical)d(ob)5 b(jects)30
b(that)527 2885 y(represen)m(t)42 b(the)d(e\013ect)i(of)e(executing)h
(the)f(constructs.)66 b(Th)m(us)41 b Fs(only)47 b Fu(the)40
b(e\013ect)g(is)f(of)527 3005 y(in)m(terest,)34 b(not)e(ho)m(w)h(it)f
(is)g(obtained.)283 3214 y Fw(Axiomatic)j(seman)m(tics:)48
b Fu(Sp)s(eci\014c)i(prop)s(erties)g(of)f(the)h(e\013ect)h(of)e
(executing)h(the)g(con-)527 3334 y(structs)31 b(are)f(expressed)j(as)c
Fs(assertions)p Fu(.)42 b(Th)m(us)31 b(there)g(ma)m(y)e(b)s(e)h(asp)s
(ects)h(of)e(the)i(execu-)527 3455 y(tions)h(that)h(are)f(ignored.)283
3663 y(T)-8 b(o)32 b(get)g(a)g(feeling)f(for)g(their)h(di\013eren)m(t)g
(nature)g(let)f(us)i(see)g(ho)m(w)g(they)g(express)h(the)e(meaning)283
3784 y(of)h(the)g(example)f(program)f(ab)s(o)m(v)m(e.)283
4079 y Fp(Op)t(erational)47 b(seman)l(tics)f(\(Chapter)g(2\))283
4266 y Fu(An)34 b(op)s(erational)c(explanation)i(of)g(the)h(meaning)f
(of)g(a)g(construct)i(will)d(tell)g(ho)m(w)j(to)e Fs(exe)-5
b(cute)283 4387 y Fu(it:)429 4595 y Ft(\017)48 b Fu(T)-8
b(o)30 b(execute)i(a)e(sequence)j(of)c(statemen)m(ts)i(separated)g(b)m
(y)g(`;')g(w)m(e)g(execute)h(the)e(individ-)527 4716
y(ual)i(statemen)m(ts)h(one)g(after)g(the)g(other)f(and)h(from)e(left)h
(to)g(righ)m(t.)429 4925 y Ft(\017)48 b Fu(T)-8 b(o)31
b(execute)h(a)f(statemen)m(t)g(consisting)e(of)h(a)h(v)-5
b(ariable)28 b(follo)m(w)m(ed)i(b)m(y)h(`:=')g(and)g(another)527
5045 y(v)-5 b(ariable)35 b(w)m(e)j(determine)e(the)i(v)-5
b(alue)36 b(of)g(the)h(second)h(v)-5 b(ariable)35 b(and)i(assign)f(it)g
(to)g(the)527 5165 y(\014rst)d(v)-5 b(ariable.)283 5374
y(W)d(e)34 b(shall)e(record)i(the)g(execution)g(of)f(the)h(example)f
(program)f(in)h(a)g(state)h(where)h Fr(x)f Fu(has)f(the)283
5494 y(v)-5 b(alue)32 b Fw(5)p Fu(,)h Fr(y)g Fu(the)g(v)-5
b(alue)32 b Fw(7)g Fu(and)h Fr(z)g Fu(the)g(v)-5 b(alue)32
b Fw(0)g Fu(b)m(y)i(the)f(follo)m(wing)d(\\deriv)-5 b(ation)31
b(sequence":)p eop
%%Page: 3 13
3 12 bop 0 130 a Fw(1.1)112 b(Seman)m(tic)37 b(description)f(metho)s
(ds)1685 b(3)p 0 193 3473 4 v 493 500 a Ft(h)p Fr(z)p
Fu(:=)p Fr(x)p Fu(;)33 b Fr(x)p Fu(:=)p Fr(y)p Fu(;)g
Fr(y)p Fu(:=)p Fr(z)p Fu(,)100 b([)p Fr(x)p Ft(7!)p Fw(5)p
Fu(,)33 b Fr(y)p Ft(7!)p Fw(7)p Fu(,)f Fr(z)p Ft(7!)p
Fw(0)p Fu(])p Ft(i)294 668 y(\))364 b(h)p Fr(x)p Fu(:=)p
Fr(y)p Fu(;)33 b Fr(y)p Fu(:=)p Fr(z)p Fu(,)100 b([)p
Fr(x)p Ft(7!)p Fw(5)p Fu(,)33 b Fr(y)p Ft(7!)p Fw(7)p
Fu(,)f Fr(z)p Ft(7!)p Fw(5)p Fu(])p Ft(i)294 835 y(\))629
b(h)p Fr(y)p Fu(:=)p Fr(z)p Fu(,)100 b([)p Fr(x)p Ft(7!)p
Fw(7)p Fu(,)33 b Fr(y)p Ft(7!)p Fw(7)p Fu(,)f Fr(z)p
Ft(7!)p Fw(5)p Fu(])p Ft(i)294 1003 y(\))1020 b Fu([)p
Fr(x)p Ft(7!)p Fw(7)p Fu(,)32 b Fr(y)p Ft(7!)p Fw(5)p
Fu(,)h Fr(z)p Ft(7!)p Fw(5)p Fu(])0 1193 y(In)45 b(the)f(\014rst)h
(step)g(w)m(e)h(execute)g(the)f(statemen)m(t)g Fr(z)p
Fu(:=)p Fr(x)f Fu(and)h(the)f(v)-5 b(alue)44 b(of)g Fr(z)g
Fu(is)g(c)m(hanged)0 1313 y(to)f Fw(5)g Fu(whereas)i(those)f(of)f
Fr(x)g Fu(and)h Fr(y)f Fu(are)h(unc)m(hanged.)77 b(The)44
b(remaining)d(program)h(is)h(no)m(w)0 1434 y Fr(x)p Fu(:=)p
Fr(y)p Fu(;)33 b Fr(y)p Fu(:=)p Fr(z)q Fu(.)70 b(After)42
b(the)g(second)g(step)h(the)f(v)-5 b(alue)41 b(of)g Fr(x)h
Fu(is)f Fw(7)g Fu(and)h(w)m(e)h(are)e(left)g(with)g(the)0
1554 y(program)32 b Fr(y)p Fu(:=)p Fr(z)p Fu(.)45 b(The)34
b(third)e(and)h(\014nal)g(step)g(of)g(the)g(computation)f(will)f(c)m
(hange)j(the)f(v)-5 b(alue)0 1675 y(of)32 b Fr(y)h Fu(to)f
Fw(5)p Fu(.)44 b(Therefore)34 b(the)f(initial)c(v)-5
b(alues)32 b(of)g Fr(x)h Fu(and)g Fr(y)g Fu(ha)m(v)m(e)h(b)s(een)f(exc)
m(hanged,)i(using)d Fr(z)h Fu(as)0 1795 y(a)f(temp)s(orary)g(v)-5
b(ariable.)146 1915 y(This)45 b(explanation)d(giv)m(es)j(an)f
Fs(abstr)-5 b(action)51 b Fu(of)43 b(ho)m(w)i(the)f(program)f(is)h
(executed)i(on)e(a)0 2036 y(mac)m(hine.)65 b(It)40 b(is)g(imp)s(ortan)m
(t)e(to)h(observ)m(e)j(that)e(it)f(is)g(indeed)i(an)f(abstraction:)57
b(w)m(e)41 b(ignore)0 2156 y(details)21 b(lik)m(e)g(use)j(of)d
(registers)i(and)f(addresses)i(for)e(v)-5 b(ariables.)39
b(So)22 b(the)g(op)s(erational)e(seman)m(tics)0 2277
y(is)32 b(rather)h(indep)s(enden)m(t)h(of)e(mac)m(hine)g(arc)m
(hitectures)h(and)g(implemen)m(tation)c(strategies.)146
2397 y(In)24 b(Chapter)h(2)e(w)m(e)i(shall)d(formalize)f(this)j(kind)f
(of)h(op)s(erational)d(seman)m(tics)j(whic)m(h)g(is)f(often)0
2517 y(called)36 b Fs(structur)-5 b(al)40 b(op)-5 b(er)g(ational)38
b(semantics)44 b Fu(\(or)37 b(small-step)e(seman)m(tics\).)57
b(An)37 b(alternativ)m(e)0 2638 y(op)s(erational)20 b(seman)m(tics)i
(is)g(called)f Fs(natur)-5 b(al)25 b(semantics)k Fu(\(or)22
b(big-step)g(seman)m(tics\))g(and)g(di\013ers)0 2758
y(from)34 b(the)i(structural)f(op)s(erational)e(seman)m(tics)j(b)m(y)g
(hiding)e(ev)m(en)j(more)e(execution)h(details.)0 2878
y(In)e(the)f(natural)g(seman)m(tics)g(the)h(execution)g(of)f(the)h
(example)e(program)g(in)h(the)h(same)f(state)0 2999 y(as)g(b)s(efore)f
(will)f(b)s(e)h(represen)m(ted)k(b)m(y)d(the)g(follo)m(wing)d(\\deriv)
-5 b(ation)31 b(tree":)294 3187 y Ft(h)o Fr(z)p Fu(:=)p
Fr(x)p Fu(,)j Fs(s)646 3202 y Fn(0)685 3187 y Ft(i)e(!)g
Fs(s)936 3202 y Fn(1)1293 3187 y Ft(h)p Fr(x)p Fu(:=)p
Fr(y)p Fu(,)h Fs(s)1645 3202 y Fn(1)1685 3187 y Ft(i)f(!)g
Fs(s)1936 3202 y Fn(2)p 244 3274 1782 4 v 661 3475 a
Ft(h)p Fr(z)p Fu(:=)p Fr(x)p Fu(;)h Fr(x)p Fu(:=)p Fr(y)p
Fu(,)g Fs(s)1278 3490 y Fn(0)1317 3475 y Ft(i)g(!)f Fs(s)1569
3490 y Fn(2)2293 3475 y Ft(h)p Fr(y)p Fu(:=)p Fr(z)p
Fu(,)h Fs(s)2645 3490 y Fn(2)2684 3475 y Ft(i)g(!)f Fs(s)2936
3490 y Fn(3)p 244 3562 2782 4 v 1028 3763 a Ft(h)p Fr(z)p
Fu(:=)p Fr(x)p Fu(;)h Fr(x)p Fu(:=)p Fr(y)p Fu(;)g Fr(y)p
Fu(:=)p Fr(z)p Fu(,)g Fs(s)1910 3778 y Fn(0)1950 3763
y Ft(i)f(!)g Fs(s)2201 3778 y Fn(3)0 3954 y Fu(where)i(w)m(e)f(ha)m(v)m
(e)h(used)g(the)f(abbreviations:)294 4123 y Fs(s)342
4138 y Fn(0)481 4123 y Fu(=)99 b([)p Fr(x)p Ft(7!)p Fw(5)p
Fu(,)33 b Fr(y)p Ft(7!)p Fw(7)p Fu(,)g Fr(z)p Ft(7!)o
Fw(0)p Fu(])294 4290 y Fs(s)342 4305 y Fn(1)481 4290
y Fu(=)99 b([)p Fr(x)p Ft(7!)p Fw(5)p Fu(,)33 b Fr(y)p
Ft(7!)p Fw(7)p Fu(,)g Fr(z)p Ft(7!)o Fw(5)p Fu(])294
4458 y Fs(s)342 4473 y Fn(2)481 4458 y Fu(=)99 b([)p
Fr(x)p Ft(7!)p Fw(7)p Fu(,)33 b Fr(y)p Ft(7!)p Fw(7)p
Fu(,)g Fr(z)p Ft(7!)o Fw(5)p Fu(])294 4626 y Fs(s)342
4641 y Fn(3)481 4626 y Fu(=)99 b([)p Fr(x)p Ft(7!)p Fw(7)p
Fu(,)33 b Fr(y)p Ft(7!)p Fw(5)p Fu(,)g Fr(z)p Ft(7!)o
Fw(5)p Fu(])0 4816 y(This)i(is)f(to)h(b)s(e)g(read)g(as)g(follo)m(ws:)
47 b(The)36 b(execution)f(of)g Fr(z)p Fu(:=)p Fr(x)g
Fu(in)f(the)h(state)h Fs(s)2857 4831 y Fn(0)2931 4816
y Fu(will)c(result)j(in)0 4936 y(the)30 b(state)g Fs(s)449
4951 y Fn(1)518 4936 y Fu(and)g(the)g(execution)g(of)f
Fr(x)p Fu(:=)p Fr(y)h Fu(in)f(state)h Fs(s)2041 4951
y Fn(1)2110 4936 y Fu(will)d(result)j(in)e(state)i Fs(s)2954
4951 y Fn(2)2994 4936 y Fu(.)42 b(Therefore)0 5057 y(the)33
b(execution)h(of)e Fr(z)p Fu(:=)p Fr(x)p Fu(;)h Fr(x)p
Fu(:=)p Fr(y)h Fu(in)e(state)h Fs(s)1621 5072 y Fn(0)1693
5057 y Fu(will)e(giv)m(e)h(state)i Fs(s)2366 5072 y Fn(2)2405
5057 y Fu(.)44 b(F)-8 b(urthermore,)33 b(execution)0
5177 y(of)k Fr(y)p Fu(:=)p Fr(z)h Fu(in)f(state)h Fs(s)770
5192 y Fn(2)847 5177 y Fu(will)d(giv)m(e)j(state)g Fs(s)1534
5192 y Fn(3)1611 5177 y Fu(so)g(in)e(total)h(the)h(execution)g(of)f
(the)h(program)e(in)0 5297 y(state)d Fs(s)287 5312 y
Fn(0)359 5297 y Fu(will)d(giv)m(e)j(the)g(resulting)e(state)i
Fs(s)1600 5312 y Fn(3)1640 5297 y Fu(.)43 b(This)33 b(is)f(expressed)k
(b)m(y)244 5494 y Ft(h)p Fr(z)p Fu(:=)p Fr(x)p Fu(;)d
Fr(x)p Fu(:=)p Fr(y)p Fu(;)g Fr(y)p Fu(:=)p Fr(z)p Fu(,)g
Fs(s)1126 5509 y Fn(0)1165 5494 y Ft(i)g(!)f Fs(s)1417
5509 y Fn(3)p eop
%%Page: 4 14
4 13 bop 251 130 a Fw(4)2631 b(1)113 b(In)m(tro)s(duction)p
251 193 3473 4 v 283 515 a Fu(but)33 b(no)m(w)h(w)m(e)f(ha)m(v)m(e)h
(hidden)f(the)g(ab)s(o)m(v)m(e)g(explanation)f(of)g(ho)m(w)h(it)e(w)m
(as)j(actually)d(obtained.)430 637 y(In)39 b(Chapter)g(3)g(w)m(e)h
(shall)d(use)j(the)f(natural)f(seman)m(tics)h(as)g(the)g(basis)g(for)f
(pro)m(ving)g(the)283 758 y(correctness)d(of)d(an)h(implemen)m(tation)c
(of)j(a)h(simple)e(programming)e(language.)283 1057 y
Fp(Denotational)48 b(seman)l(tics)e(\(Chapter)g(4\))283
1246 y Fu(In)38 b(the)f(denotational)e(seman)m(tics)j(w)m(e)g(concen)m
(trate)g(on)f(the)h Fs(e\013e)-5 b(ct)46 b Fu(of)36 b(executing)i(the)f
(pro-)283 1366 y(grams)32 b(and)h(w)m(e)h(shall)d(mo)s(del)g(this)h(b)m
(y)h(mathematical)d(functions:)429 1578 y Ft(\017)48
b Fu(The)h(e\013ect)g(of)e(a)h(sequence)i(of)e(statemen)m(ts)h
(separated)f(b)m(y)h(`;')56 b(is)47 b(the)h(functional)527
1699 y(comp)s(osition)31 b(of)h(the)h(e\013ects)h(of)e(the)h
(individual)d(statemen)m(ts.)429 1911 y Ft(\017)48 b
Fu(The)26 b(e\013ect)g(of)e(a)h(statemen)m(t)g(consisting)f(of)h(a)f(v)
-5 b(ariable)23 b(follo)m(w)m(ed)h(b)m(y)i(`:=')f(and)g(another)527
2031 y(v)-5 b(ariable)33 b(is)h(the)h(function)f(that)g(giv)m(en)h(a)f
(state)h(will)d(pro)s(duce)k(a)e(new)h(state:)48 b(it)34
b(is)g(as)527 2151 y(the)j(original)c(one)j(except)i(that)e(the)g(v)-5
b(alue)36 b(of)g(the)g(\014rst)h(v)-5 b(ariable)34 b(of)i(the)g
(statemen)m(t)527 2272 y(is)c(equal)h(to)f(that)g(of)h(the)g(second)g
(v)-5 b(ariable.)283 2484 y(F)d(or)49 b(the)h(example)e(program)g(w)m
(e)i(obtain)f(functions)g(written)g Ft(S)8 b Fu([)-17
b([)p Fr(z)p Fu(:=)p Fr(x)p Fu(])g(])q(,)54 b Ft(S)8
b Fu([)-17 b([)p Fr(x)p Fu(:=)p Fr(y)p Fu(])g(])q(,)54
b(and)283 2604 y Ft(S)8 b Fu([)-17 b([)q Fr(y)p Fu(:=)p
Fr(z)p Fu(])g(])44 b(for)f(eac)m(h)i(of)e(the)g(assignmen)m(t)h
(statemen)m(ts)g(and)g(for)e(the)i(o)m(v)m(erall)f(program)f(w)m(e)283
2725 y(get)33 b(the)g(function)527 2937 y Ft(S)8 b Fu([)-17
b([)q Fr(z)p Fu(:=)p Fr(x)p Fu(;)33 b Fr(x)p Fu(:=)p
Fr(y)p Fu(;)g Fr(y)p Fu(:=)p Fr(z)p Fu(])-17 b(])34 b(=)e
Ft(S)8 b Fu([)-17 b([)p Fr(y)p Fu(:=)p Fr(z)p Fu(])g(])34
b Ft(\016)e(S)8 b Fu([)-17 b([)q Fr(x)p Fu(:=)p Fr(y)p
Fu(])g(])33 b Ft(\016)g(S)7 b Fu([)-17 b([)q Fr(z)p Fu(:=)p
Fr(x)p Fu(])g(])283 3149 y(Note)45 b(that)g(the)g Fs(or)-5
b(der)55 b Fu(of)44 b(the)h(statemen)m(ts)g(ha)m(v)m(e)h(c)m(hanged)g
(b)s(ecause)g(w)m(e)g(use)f(the)g(usual)283 3269 y(notation)36
b(for)h(function)g(comp)s(osition)e(where)k(\()p Fs(f)58
b Ft(\016)37 b Fs(g)9 b Fu(\))37 b Fs(s)46 b Fu(means)37
b Fs(f)58 b Fu(\()p Fs(g)46 b(s)8 b Fu(\).)58 b(If)37
b(w)m(e)i(w)m(an)m(t)f(to)283 3390 y(determine)g(the)g(e\013ect)h(of)e
(executing)i(the)f(program)f(on)g(a)h(particular)e(state)i(then)h(w)m
(e)g(can)283 3510 y Fs(apply)i Fu(the)33 b(function)f(to)h(that)f
(state)h(and)g Fs(c)-5 b(alculate)39 b Fu(the)33 b(resulting)f(state)h
(as)g(follo)m(ws:)527 3722 y Ft(S)8 b Fu([)-17 b([)q
Fr(z)p Fu(:=)p Fr(x)p Fu(;)33 b Fr(x)p Fu(:=)p Fr(y)p
Fu(;)g Fr(y)p Fu(:=)p Fr(z)p Fu(])-17 b(])q(\([)p Fr(x)p
Ft(7!)p Fw(5)p Fu(,)33 b Fr(y)p Ft(7!)p Fw(7)p Fu(,)f
Fr(z)p Ft(7!)p Fw(0)p Fu(]\))796 3890 y(=)g(\()p Ft(S)8
b Fu([)-17 b([)q Fr(y)p Fu(:=)p Fr(z)p Fu(])g(])33 b
Ft(\016)g(S)8 b Fu([)-17 b([)p Fr(x)p Fu(:=)p Fr(y)p
Fu(])g(])34 b Ft(\016)e(S)8 b Fu([)-17 b([)p Fr(z)p Fu(:=)p
Fr(x)p Fu(])g(])r(\)\([)p Fr(x)p Ft(7!)o Fw(5)p Fu(,)33
b Fr(y)p Ft(7!)p Fw(7)p Fu(,)g Fr(z)p Ft(7!)o Fw(0)p
Fu(]\))796 4057 y(=)f Ft(S)8 b Fu([)-17 b([)q Fr(y)p
Fu(:=)p Fr(z)p Fu(])g(])q(\()p Ft(S)8 b Fu([)-17 b([)p
Fr(x)p Fu(:=)p Fr(y)p Fu(])g(])q(\()p Ft(S)8 b Fu([)-17
b([)q Fr(z)p Fu(:=)p Fr(x)p Fu(])g(])q(\([)p Fr(x)p Ft(7!)p
Fw(5)p Fu(,)32 b Fr(y)p Ft(7!)p Fw(7)p Fu(,)h Fr(z)p
Ft(7!)p Fw(0)p Fu(]\)\)\))796 4225 y(=)f Ft(S)8 b Fu([)-17
b([)q Fr(y)p Fu(:=)p Fr(z)p Fu(])g(])q(\()p Ft(S)8 b
Fu([)-17 b([)p Fr(x)p Fu(:=)p Fr(y)p Fu(])g(])q(\([)p
Fr(x)p Ft(7!)p Fw(5)p Fu(,)33 b Fr(y)p Ft(7!)p Fw(7)p
Fu(,)f Fr(z)p Ft(7!)p Fw(5)p Fu(]\)\))796 4392 y(=)g
Ft(S)8 b Fu([)-17 b([)q Fr(y)p Fu(:=)p Fr(z)p Fu(])g(])q(\([)p
Fr(x)p Ft(7!)p Fw(7)p Fu(,)33 b Fr(y)p Ft(7!)o Fw(7)p
Fu(,)g Fr(z)p Ft(7!)p Fw(5)p Fu(]\))796 4560 y(=)f([)p
Fr(x)p Ft(7!)p Fw(7)p Fu(,)h Fr(y)p Ft(7!)p Fw(5)p Fu(,)g
Fr(z)p Ft(7!)p Fw(5)p Fu(])283 4772 y(Note)j(that)f(w)m(e)i(are)e(only)
g(manipulating)d(mathematical)h(ob)5 b(jects;)38 b(w)m(e)e(are)g(not)f
(concerned)283 4893 y(with)c(executing)h(programs.)42
b(The)31 b(di\013erence)h(ma)m(y)f(seem)g(small)d(for)j(a)f(program)g
(with)g(only)283 5013 y(assignmen)m(t)35 b(and)g(sequencing)i(statemen)
m(ts)f(but)f(for)f(programs)g(with)h(more)f(sophisticated)283
5133 y(constructs)g(it)e(is)g(substan)m(tial.)43 b(The)33
b(b)s(ene\014ts)h(of)e(the)g(denotational)f(approac)m(h)i(are)f(mainly)
283 5254 y(due)f(to)e(the)h(fact)f(that)g(it)g(abstracts)h(a)m(w)m(a)m
(y)h(from)d(ho)m(w)i(programs)f(are)g(executed.)45 b(Therefore)283
5374 y(it)f(b)s(ecomes)g(easier)h(to)f(reason)g(ab)s(out)g(programs)g
(as)g(it)f(simply)g(amoun)m(ts)h(to)g(reasoning)283 5494
y(ab)s(out)30 b(mathematical)e(ob)5 b(jects.)44 b(Ho)m(w)m(ev)m(er,)33
b(a)d(prerequisite)h(for)f(doing)f(so)i(is)f(to)g(establish)g(a)p
eop
%%Page: 5 15
5 14 bop 0 130 a Fw(1.1)112 b(Seman)m(tic)37 b(description)f(metho)s
(ds)1685 b(5)p 0 193 3473 4 v 0 515 a Fu(\014rm)30 b(mathematical)e
(basis)j(for)g(denotational)e(seman)m(tics)i(and)g(this)g(task)g(turns)
h(out)f(not)g(to)0 636 y(b)s(e)i(en)m(tirely)f(trivial.)146
771 y(The)48 b(denotational)e(approac)m(h)h(can)h(easily)e(b)s(e)i
(adapted)f(to)g(express)j(other)d(sorts)h(of)0 891 y(prop)s(erties)32
b(of)h(programs.)42 b(Some)32 b(examples)h(are:)145 1169
y Ft(\017)49 b Fu(Determine)29 b(whether)i(all)d(v)-5
b(ariables)29 b(are)h(initialized)c(b)s(efore)k(they)h(are)f(used)h(|)f
(if)f(not)244 1290 y(a)j(w)m(arning)g(ma)m(y)h(b)s(e)g(appropriate.)145
1568 y Ft(\017)49 b Fu(Determine)33 b(whether)i(a)e(certain)g
(expression)i(in)e(the)h(program)f(alw)m(a)m(ys)h(ev)-5
b(aluates)34 b(to)244 1688 y(a)e(constan)m(t)i(|)e(if)f(so)i(one)g(can)
g(replace)f(the)h(expression)h(b)m(y)f(the)g(constan)m(t.)145
1966 y Ft(\017)49 b Fu(Determine)23 b(whether)j(all)c(parts)i(of)g(the)
g(program)f(are)h(reac)m(hable)h(|)f(if)f(not)h(they)h(could)244
2087 y(as)33 b(w)m(ell)e(b)s(e)i(remo)m(v)m(ed)h(or)e(a)g(w)m(arning)g
(migh)m(t)g(b)s(e)g(appropriate.)0 2365 y(In)h(Chapter)g(5)g(w)m(e)g
(dev)m(elop)g(an)g(example)f(of)g(this.)146 2500 y(While)c(w)m(e)h
(prefer)g(the)g(denotational)e(approac)m(h)i(when)h(reasoning)e(ab)s
(out)g(programs)f(w)m(e)0 2620 y(ma)m(y)k(prefer)g(an)g(op)s(erational)
e(approac)m(h)j(when)g(implemen)m(ting)c(the)k(language.)41
b(It)32 b(is)e(there-)0 2741 y(fore)39 b(of)g(in)m(terest)h(whether)g
(a)f(denotational)f(de\014nition)g(is)h Fs(e)-5 b(quivalent)48
b Fu(to)39 b(an)g(op)s(erational)0 2861 y(de\014nition)32
b(and)g(this)g(is)h(studied)g(in)e(Section)i(4.3.)0 3242
y Fp(Axiomatic)46 b(seman)l(tics)g(\(Chapter)g(6\))0
3457 y Fu(Often)29 b(one)h(is)e(in)m(terested)j(in)d
Fs(p)-5 b(artial)31 b(c)-5 b(orr)g(e)g(ctness)31 b(pr)-5
b(op)g(erties)37 b Fu(of)29 b(programs:)41 b(A)29 b(program)f(is)0
3578 y(partially)j(correct,)k(with)e(resp)s(ect)i(to)f(a)f
(precondition)g(and)h(a)f(p)s(ostcondition,)g(if)g(whenev)m(er)0
3698 y(the)c(initial)c(state)30 b(ful\014ls)d(the)j(precondition)e(and)
h(the)g(program)e(terminates,)i(then)h(the)f(\014nal)0
3818 y(state)34 b(is)g(guaran)m(teed)g(to)g(ful\014l)e(the)i(p)s
(ostcondition.)46 b(F)-8 b(or)33 b(our)g(example)h(program)e(w)m(e)j
(ha)m(v)m(e)0 3939 y(the)e(partial)d(correctness)35 b(prop)s(ert)m(y:)
244 4217 y Ft(f)d Fr(x)p Fu(=)p Fr(n)h Ft(^)g Fr(y)p
Fu(=)p Fr(m)g Ft(g)f Fr(z)p Fu(:=)p Fr(x)p Fu(;)h Fr(x)p
Fu(:=)p Fr(y)p Fu(;)h Fr(y)p Fu(:=)p Fr(z)f Ft(f)f Fr(y)p
Fu(=)p Fr(n)h Ft(^)g Fr(x)p Fu(=)p Fr(m)g Ft(g)0 4495
y Fu(where)k Fr(x)p Fu(=)p Fr(n)f Ft(^)g Fr(y)p Fu(=)p
Fr(m)f Fu(is)g(the)h(precondition)f(and)h Fr(y)p Fu(=)p
Fr(n)g Ft(^)f Fr(x)p Fu(=)p Fr(m)h Fu(is)f(the)h(p)s(ostcondition.)51
b(The)0 4615 y(names)33 b Fr(n)g Fu(and)g Fr(m)g Fu(are)g(used)h(to)f
(\\remem)m(b)s(er")f(the)h(initial)d(v)-5 b(alues)32
b(of)h Fr(x)g Fu(and)g Fr(y)p Fu(,)g(resp)s(ectiv)m(ely)-8
b(.)0 4736 y(The)26 b(state)f([)p Fr(x)p Ft(7!)p Fw(5)p
Fu(,)h Fr(y)p Ft(7!)p Fw(7)p Fu(,)g Fr(z)p Ft(7!)p Fw(0)p
Fu(])f(satis\014es)g(the)h(precondition)d(b)m(y)j(taking)e
Fr(n)p Fu(=)p Fw(5)h Fu(and)f Fr(m)p Fu(=)p Fw(7)h Fu(and)0
4856 y(when)37 b(w)m(e)h(ha)m(v)m(e)f Fs(pr)-5 b(ove)g(d)46
b Fu(the)37 b(partial)d(correctness)k(prop)s(ert)m(y)f(w)m(e)g(can)g
(deduce)h(that)e Fs(if)57 b Fu(the)0 4976 y(program)29
b(terminates)h Fs(then)38 b Fu(it)30 b(will)f(do)h(so)h(in)f(a)h(state)
g(where)h Fr(y)f Fu(is)f Fw(5)h Fu(and)g Fr(x)g Fu(is)f
Fw(7)p Fu(.)43 b(Ho)m(w)m(ev)m(er,)0 5097 y(the)35 b(partial)d
(correctness)37 b(prop)s(ert)m(y)e(do)s(es)g(not)f(ensure)i(that)e(the)
h(program)e Fs(wil)5 b(l)45 b Fu(terminate)0 5217 y(although)31
b(this)i(is)f(clearly)f(the)i(case)h(for)e(the)h(example)f(program.)146
5352 y(The)j(axiomatic)c(seman)m(tics)j(pro)m(vides)g(a)g
Fs(lo)-5 b(gic)g(al)35 b(system)40 b Fu(for)34 b(pro)m(ving)f(partial)e
(correct-)0 5473 y(ness)40 b(prop)s(erties)e(of)g(individual)d
(programs.)60 b(A)38 b(pro)s(of)g(of)f(the)i(ab)s(o)m(v)m(e)g(partial)d
(correctness)0 5593 y(prop)s(ert)m(y)d(ma)m(y)g(b)s(e)f(expressed)k(b)m
(y)d(the)g(follo)m(wing)d(\\pro)s(of)i(tree":)p eop
%%Page: 6 16
6 15 bop 251 130 a Fw(6)2631 b(1)113 b(In)m(tro)s(duction)p
251 193 3473 4 v 577 668 a Ft(f)32 b Fs(p)715 683 y Fn(0)787
668 y Ft(g)h Fr(z)p Fu(:=)p Fr(x)g Ft(f)f Fs(p)1246 683
y Fn(1)1318 668 y Ft(g)317 b(f)32 b Fs(p)1823 683 y Fn(1)1895
668 y Ft(g)h Fr(x)p Fu(:=)p Fr(y)g Ft(f)f Fs(p)2354 683
y Fn(2)2426 668 y Ft(g)p 527 754 1999 4 v 999 956 a(f)g
Fs(p)1137 971 y Fn(0)1209 956 y Ft(g)g Fr(z)p Fu(:=)p
Fr(x)p Fu(;)h Fr(x)p Fu(:=)p Fr(y)g Ft(f)g Fs(p)1933
971 y Fn(2)2004 956 y Ft(g)739 b(f)32 b Fs(p)2931 971
y Fn(2)3003 956 y Ft(g)h Fr(y)p Fu(:=)p Fr(z)g Ft(f)f
Fs(p)3462 971 y Fn(3)3534 956 y Ft(g)p 527 1042 3107
4 v 1420 1244 a(f)g Fs(p)1558 1259 y Fn(0)1630 1244 y
Ft(g)g Fr(z)p Fu(:=)p Fr(x)p Fu(;)i Fr(x)p Fu(:=)p Fr(y)p
Fu(;)f Fr(y)p Fu(:=)p Fr(z)g Ft(f)f Fs(p)2619 1259 y
Fn(3)2691 1244 y Ft(g)283 1436 y Fu(where)i(w)m(e)g(ha)m(v)m(e)g(used)g
(the)f(abbreviations)577 1608 y Fs(p)633 1623 y Fn(0)772
1608 y Fu(=)100 b Fr(x)p Fu(=)p Fr(n)33 b Ft(^)f Fr(y)p
Fu(=)p Fr(m)577 1775 y Fs(p)633 1790 y Fn(1)772 1775
y Fu(=)100 b Fr(z)p Fu(=)p Fr(n)33 b Ft(^)f Fr(y)p Fu(=)p
Fr(m)577 1943 y Fs(p)633 1958 y Fn(2)772 1943 y Fu(=)100
b Fr(z)p Fu(=)p Fr(n)33 b Ft(^)f Fr(x)p Fu(=)p Fr(m)577
2111 y Fs(p)633 2126 y Fn(3)772 2111 y Fu(=)100 b Fr(y)p
Fu(=)p Fr(n)33 b Ft(^)f Fr(x)p Fu(=)p Fr(m)283 2303 y
Fu(W)-8 b(e)39 b(ma)m(y)f(view)h(the)f(logical)e(system)j(as)f(a)g(sp)s
(eci\014cation)g(of)g(only)f(certain)h(asp)s(ects)i(of)d(the)283
2424 y(seman)m(tics.)42 b(It)27 b(usually)f(do)s(es)i(not)e(capture)i
(all)d(asp)s(ects)j(for)e(the)h(simple)f(reason)h(that)g(all)d(the)283
2544 y(partial)32 b(correctness)k(prop)s(erties)e(listed)g(b)s(elo)m(w)
f(can)i(b)s(e)f(pro)m(v)m(ed)i(using)d(the)i(logical)c(system)283
2664 y(but)i(certainly)f(w)m(e)i(w)m(ould)e(not)h(regard)f(the)h
(programs)f(as)h(b)s(eha)m(ving)f(in)g(the)h(same)f(w)m(a)m(y:)552
2832 y Ft(f)h Fr(x)p Fu(=)p Fr(n)f Ft(^)h Fr(y)p Fu(=)p
Fr(m)g Ft(g)g Fr(z)p Fu(:=)p Fr(x)p Fu(;)g Fr(x)p Fu(:=)p
Fr(y)p Fu(;)g Fr(y)p Fu(:=)p Fr(z)g Ft(f)f Fr(y)p Fu(=)p
Fr(n)h Ft(^)g Fr(x)p Fu(=)p Fr(m)g Ft(g)550 3000 y(f)d
Fr(x)p Fu(=)p Fr(n)h Ft(^)g Fr(y)p Fu(=)p Fr(m)f Ft(g)h
Fr(if)g(x)p Fu(=)p Fr(y)f(then)i(skip)f(else)h Fu(\()p
Fr(z)p Fu(:=)p Fr(x)p Fu(;)f Fr(x)p Fu(:=)p Fr(y)p Fu(;)h
Fr(y)p Fu(:=)p Fr(z)p Fu(\))f Ft(f)f Fr(y)p Fu(=)p Fr(n)h
Ft(^)f Fr(x)p Fu(=)p Fr(m)h Ft(g)552 3167 y(f)i Fr(x)p
Fu(=)p Fr(n)f Ft(^)h Fr(y)p Fu(=)p Fr(m)g Ft(g)g Fr(while)g(true)h(do)f
(skip)h Ft(f)e Fr(y)p Fu(=)p Fr(n)h Ft(^)g Fr(x)p Fu(=)p
Fr(m)g Ft(g)283 3335 y Fu(The)26 b(b)s(ene\014ts)f(of)f(the)h
(axiomatic)d(approac)m(h)j(are)f(that)g(the)h(logical)c(systems)26
b(pro)m(vide)f(an)f(easy)283 3455 y(w)m(a)m(y)29 b(of)e(pro)m(ving)g
(prop)s(erties)g(of)g(programs)f(|)h(and)g(to)g(a)g(large)f(exten)m(t)j
(it)d(has)i(b)s(een)g(p)s(ossible)283 3576 y(to)42 b(automate)e(it.)69
b(Of)41 b(course)i(this)e(is)g(only)g(w)m(orth)m(while)g(if)g(the)h
(axiomatic)d(seman)m(tics)i(is)283 3696 y(faithful)31
b(to)i(the)g(\\more)f(general")g(\(denotational)f(or)h(op)s
(erational\))f(seman)m(tics)i(w)m(e)g(ha)m(v)m(e)i(in)283
3816 y(mind)d(and)g(w)m(e)i(shall)d(discuss)j(this)e(in)g(Section)g
(6.3.)283 4104 y Fp(The)45 b(complemen)l(tary)h(view)283
4289 y Fu(It)30 b(is)g(imp)s(ortan)m(t)e(to)h(note)h(that)g(these)h
(kinds)f(of)g(seman)m(tics)g(are)g Fs(not)39 b Fu(riv)-5
b(al)28 b(approac)m(hes,)k(but)283 4410 y(are)25 b(di\013eren)m(t)g
(tec)m(hniques)h(appropriate)e(for)g(di\013eren)m(t)h(purp)s(oses)h
(and)e(|)h(to)f(some)g(exten)m(t)i(|)283 4530 y(for)32
b(di\013eren)m(t)g(programming)c(languages.)43 b(T)-8
b(o)32 b(stress)h(this,)f(the)g(dev)m(elopmen)m(t)g(will)d(address)283
4650 y(the)k(follo)m(wing)d(issues:)429 4850 y Ft(\017)48
b Fu(It)53 b(will)e(dev)m(elop)j(eac)m(h)g(of)e(the)i(approac)m(hes)g
(for)e(a)h(simple)f(language)g(of)g Fr(while)p Fu(-)527
4970 y(programs.)429 5172 y Ft(\017)c Fu(It)40 b(will)d(illustrate)h
(the)i(p)s(o)m(w)m(er)g(and)g(w)m(eakness)i(of)e(eac)m(h)g(of)f(the)h
(approac)m(hes)h(b)m(y)g(ex-)527 5292 y(tending)33 b(the)g
Fr(while)p Fu(-language)f(with)g(other)h(programming)c(constructs.)429
5494 y Ft(\017)48 b Fu(It)25 b(will)e(pro)m(v)m(e)j(the)f(relationship)
e(b)s(et)m(w)m(een)k(the)e(approac)m(hes)h(for)f(the)g
Fr(while)p Fu(-language.)p eop
%%Page: 7 17
7 16 bop 0 130 a Fw(1.2)112 b(The)38 b(example)f(language)h(While)1734
b(7)p 0 193 3473 4 v 145 515 a Ft(\017)49 b Fu(It)32
b(will)d(giv)m(e)i(examples)h(of)f(applications)e(of)i(the)h(seman)m
(tic)g(descriptions)f(in)g(order)h(to)244 636 y(illustrate)e(their)i
(merits.)0 967 y Fj(1.2)161 b(The)53 b(example)h(language)g(While)0
1186 y Fu(This)37 b(b)s(o)s(ok)f(illustrates)e(the)j(v)-5
b(arious)36 b(forms)f(of)h(seman)m(tics)h(on)f(a)g(v)m(ery)i(simple)d
(imp)s(erativ)m(e)0 1307 y(programming)30 b(language)h(called)g
Fw(While)p Fu(.)42 b(As)33 b(a)g(\014rst)g(step)g(w)m(e)h(m)m(ust)f(sp)
s(ecify)g(its)f(syn)m(tax.)146 1427 y(The)26 b(syn)m(tactic)g(notation)
d(w)m(e)j(use)f(is)g(based)g(on)g(BNF.)g(First)e(w)m(e)j(list)d(the)j
(v)-5 b(arious)24 b Fs(syntac-)0 1548 y(tic)29 b(c)-5
b(ate)g(gories)33 b Fu(and)26 b(giv)m(e)f(a)h(meta-v)-5
b(ariable)23 b(that)i(will)f(b)s(e)i(used)h(to)e(range)h(o)m(v)m(er)h
Fs(c)-5 b(onstructs)34 b Fu(of)0 1668 y(eac)m(h)f(category)-8
b(.)44 b(F)-8 b(or)32 b(our)g(language)g(the)h(meta-v)-5
b(ariables)30 b(and)j(categories)f(are)h(as)f(follo)m(ws:)244
1865 y Fs(n)40 b Fu(will)30 b(range)i(o)m(v)m(er)i(n)m(umerals,)e
Fw(Num)p Fu(,)244 2032 y Fs(x)44 b Fu(will)30 b(range)j(o)m(v)m(er)h(v)
-5 b(ariables,)31 b Fw(V)-9 b(ar)p Fu(,)244 2200 y Fs(a)40
b Fu(will)30 b(range)i(o)m(v)m(er)i(arithmetic)d(expressions,)j
Fw(Aexp)p Fu(,)244 2367 y Fs(b)k Fu(will)31 b(range)h(o)m(v)m(er)i(b)s
(o)s(olean)d(expressions,)j Fw(Bexp)p Fu(,)f(and)244
2535 y Fs(S)44 b Fu(will)30 b(range)j(o)m(v)m(er)h(statemen)m(ts,)f
Fw(Stm)p Fu(.)0 2732 y(The)k(meta-v)-5 b(ariables)34
b(can)i(b)s(e)h(primed)e(or)g(subscripted.)56 b(So,)37
b(for)f(example,)g Fs(n)7 b Fu(,)37 b Fs(n)3117 2696
y Fi(0)3141 2732 y Fu(,)g Fs(n)3267 2747 y Fn(1)3307
2732 y Fu(,)g Fs(n)3433 2747 y Fn(2)0 2852 y Fu(all)30
b(stand)k(for)e(n)m(umerals.)146 2972 y(W)-8 b(e)31 b(assume)g(that)f
(the)h(structure)g(of)f(n)m(umerals)g(and)g(v)-5 b(ariables)29
b(is)h(giv)m(en)g(elsewhere;)j(for)0 3093 y(example)38
b(n)m(umerals)f(migh)m(t)g(b)s(e)h(strings)g(of)g(digits,)g(and)g(v)-5
b(ariables)37 b(strings)h(of)f(letters)h(and)0 3213 y(digits)31
b(starting)h(with)g(a)g(letter.)43 b(The)34 b(structure)g(of)e(the)h
(other)f(constructs)j(is:)294 3401 y Fs(a)116 b Fu(::=)100
b Fs(n)40 b Ft(j)32 b Fs(x)44 b Ft(j)32 b Fs(a)1051 3416
y Fn(1)1124 3401 y Fu(+)g Fs(a)1289 3416 y Fn(2)1361
3401 y Ft(j)g Fs(a)1478 3416 y Fn(1)1551 3401 y Fo(?)g
Fs(a)1689 3416 y Fn(2)1761 3401 y Ft(j)g Fs(a)1878 3416
y Fn(1)1950 3401 y Ft(\000)h Fs(a)2117 3416 y Fn(2)294
3569 y Fs(b)121 b Fu(::=)100 b Fr(true)33 b Ft(j)g Fr(false)g
Ft(j)g Fs(a)1394 3584 y Fn(1)1466 3569 y Fu(=)f Fs(a)1631
3584 y Fn(2)1703 3569 y Ft(j)h Fs(a)1821 3584 y Fn(1)1893
3569 y Ft(\024)g Fs(a)2060 3584 y Fn(2)2132 3569 y Ft(j)f(:)q
Fs(b)38 b Ft(j)32 b Fs(b)2453 3584 y Fn(1)2525 3569 y
Ft(^)h Fs(b)2675 3584 y Fn(2)294 3737 y Fs(S)111 b Fu(::=)100
b Fs(x)44 b Fu(:=)33 b Fs(a)39 b Ft(j)33 b Fr(skip)g
Ft(j)f Fs(S)1429 3752 y Fn(1)1501 3737 y Fu(;)h Fs(S)1628
3752 y Fn(2)1700 3737 y Ft(j)f Fr(if)h Fs(b)38 b Fr(then)c
Fs(S)2283 3752 y Fn(1)2355 3737 y Fr(else)f Fs(S)2659
3752 y Fn(2)511 3904 y Ft(j)151 b Fr(while)34 b Fs(b)k
Fr(do)33 b Fs(S)0 4094 y Fu(Th)m(us,)39 b(a)e(b)s(o)s(olean)e
(expression)j Fs(b)43 b Fu(can)37 b(only)f(ha)m(v)m(e)i(one)f(of)f(six)
h(forms.)55 b(It)37 b(is)f(called)g(a)g Fs(b)-5 b(asis)0
4214 y(element)37 b Fu(if)27 b(it)h(is)g Fr(true)h Fu(or)f
Fr(false)i Fu(or)e(has)h(the)g(form)e Fs(a)2002 4229
y Fn(1)2074 4214 y Fu(=)33 b Fs(a)2240 4229 y Fn(2)2308
4214 y Fu(or)28 b Fs(a)2480 4229 y Fn(1)2552 4214 y Ft(\024)33
b Fs(a)2719 4229 y Fn(2)2787 4214 y Fu(where)d Fs(a)3122
4229 y Fn(1)3190 4214 y Fu(and)f Fs(a)3433 4229 y Fn(2)0
4335 y Fu(are)35 b(arithmetic)f(expressions.)54 b(It)35
b(is)g(called)g(a)g Fs(c)-5 b(omp)g(osite)36 b(element)44
b Fu(if)35 b(it)f(has)i(the)g(form)e Ft(:)q Fs(b)0 4455
y Fu(where)g Fs(b)k Fu(is)31 b(a)h(b)s(o)s(olean)f(expression,)j(or)e
(the)h(form)e Fs(b)1971 4470 y Fn(1)2042 4455 y Ft(^)i
Fs(b)2192 4470 y Fn(2)2263 4455 y Fu(where)h Fs(b)2596
4470 y Fn(1)2668 4455 y Fu(and)e Fs(b)2908 4470 y Fn(2)2980
4455 y Fu(are)g(b)s(o)s(olean)0 4576 y(expressions.)45
b(Similar)29 b(remarks)k(apply)f(to)h(arithmetic)d(expressions)k(and)f
(statemen)m(ts.)146 4696 y(The)g(sp)s(eci\014cation)e(ab)s(o)m(v)m(e)i
(de\014nes)g(the)f Fs(abstr)-5 b(act)34 b(syntax)44 b
Fu(of)31 b Fw(While)f Fu(in)h(that)g(it)g(simply)0 4816
y(sa)m(ys)39 b(ho)m(w)g(to)e(build)f(arithmetic)g(expressions,)41
b(b)s(o)s(olean)36 b(expressions)k(and)d(statemen)m(ts)i(in)0
4937 y(the)d(language.)51 b(One)36 b(w)m(a)m(y)h(to)e(think)g(of)g(the)
h(abstract)g(syn)m(tax)h(is)e(as)h(sp)s(ecifying)f(the)h(parse)0
5057 y(trees)42 b(of)f(the)h(language)e(and)i(it)e(will)f(then)j(b)s(e)
g(the)f(purp)s(ose)h(of)f(the)h Fs(c)-5 b(oncr)g(ete)42
b(syntax)54 b Fu(to)0 5177 y(pro)m(vide)33 b(su\016cien)m(t)h
(information)29 b(that)j(enable)h(unique)g(parse)g(trees)h(to)e(b)s(e)h
(constructed.)146 5298 y(So)g(giv)m(en)g(the)g(string)e(of)i(c)m
(haracters:)244 5494 y Fr(z)p Fu(:=)p Fr(x)p Fu(;)g Fr(x)p
Fu(:=)p Fr(y)p Fu(;)g Fr(y)p Fu(:=)p Fr(z)p eop
%%Page: 8 18
8 17 bop 251 130 a Fw(8)2631 b(1)113 b(In)m(tro)s(duction)p
251 193 3473 4 v 283 515 a Fu(the)47 b(concrete)h(syn)m(tax)g(of)d(the)
i(language)e(m)m(ust)i(b)s(e)f(able)g(to)g(resolv)m(e)h(whic)m(h)g(of)e
(the)i(t)m(w)m(o)283 636 y(abstract)33 b(syn)m(tax)i(trees)e(b)s(elo)m
(w)f(it)g(is)g(in)m(tended)h(to)g(represen)m(t:)2799
794 y Fs(S)2467 1209 y(S)285 b Fu(;)297 b Fs(S)2733 918
y Fq(\000)2650 1001 y(\000)2567 1084 y(\000)2525 1126
y(\000)p 2814 1126 4 291 v 2816 918 a(@)2899 1001 y(@)2982
1084 y(@)3023 1126 y(@)2218 1624 y Fs(S)202 b Fu(;)214
b Fs(S)2421 1333 y Fq(\023)2359 1416 y(\023)2297 1499
y(\023)2276 1527 y(\023)p 2482 1541 V 2484 1333 a(S)2546
1416 y(S)2608 1499 y(S)2629 1527 y(S)2027 2039 y Fr(z)115
b Fu(:=)63 b Fs(a)2359 2288 y Fr(x)2193 1748 y Fq(\001)2151
1831 y(\001)2110 1914 y(\001)2093 1948 y(\001)p 2233
1956 V 2234 1748 a(A)2276 1831 y(A)2318 1914 y(A)2334
1948 y(A)p 2382 2205 4 125 v 2525 2039 a Fr(x)115 b Fu(:=)63
b Fs(a)2857 2288 y Fr(y)2691 1748 y Fq(\001)2650 1831
y(\001)2608 1914 y(\001)2591 1948 y(\001)p 2731 1956
4 291 v 2733 1748 a(A)2774 1831 y(A)2816 1914 y(A)2832
1948 y(A)p 2880 2205 4 125 v 2940 1624 a Fr(y)115 b Fu(:=)63
b Fs(a)3272 1873 y Fr(z)3106 1333 y Fq(\001)3065 1416
y(\001)3023 1499 y(\001)3007 1533 y(\001)p 3146 1541
4 291 v 3148 1333 a(A)3189 1416 y(A)3231 1499 y(A)3247
1533 y(A)p 3296 1790 4 125 v 973 794 a Fs(S)906 918 y
Fq(\000)823 1001 y(\000)740 1084 y(\000)699 1126 y(\000)640
1209 y Fs(S)616 1333 y Fq(\001)574 1416 y(\001)533 1499
y(\001)516 1533 y(\001)474 1624 y Fr(z)p 655 1541 4 291
v 91 w Fu(:=)657 1333 y Fq(A)699 1416 y(A)740 1499 y(A)757
1533 y(A)782 1624 y Fs(a)p 805 1790 4 125 v 782 1873
a Fr(x)p 987 1126 4 291 v 981 1209 a Fu(;)989 918 y Fq(@)1072
1001 y(@)1155 1084 y(@)1197 1126 y(@)1305 1209 y Fs(S)1259
1333 y Fq(\023)1197 1416 y(\023)1134 1499 y(\023)1114
1527 y(\023)1554 1624 y Fs(S)890 2039 y Fr(x)90 b Fu(:=)63
b Fs(a)1197 2288 y Fr(y)1031 1748 y Fq(\001)989 1831
y(\001)948 1914 y(\001)931 1948 y(\001)p 1071 1956 V
1072 1748 a(A)1114 1831 y(A)1155 1914 y(A)1172 1948 y(A)p
1220 2205 4 125 v 1320 1541 4 291 v 1313 1624 a Fu(;)1321
1333 y Fq(S)1384 1416 y(S)1446 1499 y(S)1467 1527 y(S)1056
1624 y Fs(S)1388 2039 y Fr(y)90 b Fu(:=)63 b Fs(a)1695
2288 y Fr(z)1529 1748 y Fq(\001)1487 1831 y(\001)1446
1914 y(\001)1429 1948 y(\001)p 1569 1956 V 1570 1748
a(A)1612 1831 y(A)1653 1914 y(A)1670 1948 y(A)p 1718
2205 4 125 v 283 2622 a Fu(In)37 b(this)f(b)s(o)s(ok)g(w)m(e)h(shall)e
Fs(not)46 b Fu(b)s(e)37 b(concerned)h(with)e(concrete)h(syn)m(tax.)57
b(Whenev)m(er)38 b(w)m(e)g(talk)283 2742 y(ab)s(out)47
b(syn)m(tactic)i(en)m(tities)e(suc)m(h)h(as)g(arithmetic)d
(expressions,)53 b(b)s(o)s(olean)46 b(expressions)j(or)283
2863 y(statemen)m(ts)e(w)m(e)g(will)c(alw)m(a)m(ys)k(b)s(e)f(talking)e
(ab)s(out)h(the)h(abstract)g(syn)m(tax)h(so)f(there)h(is)e(no)283
2983 y(am)m(biguit)m(y)g(with)g(resp)s(ect)i(to)e(the)h(form)f(of)g
(the)h(en)m(tit)m(y)-8 b(.)84 b(In)46 b(particular,)h(the)f(t)m(w)m(o)h
(trees)283 3103 y(ab)s(o)m(v)m(e)34 b(are)e(b)s(oth)h(elemen)m(ts)g(of)
f(the)h(syn)m(tactic)g(category)g Fw(Stm)p Fu(.)430 3224
y(It)e(is)g(rather)g(cum)m(b)s(ersome)g(to)g(use)h(the)g(graphical)d
(represen)m(tation)j(of)f(abstract)g(syn)m(tax)283 3344
y(and)i(w)m(e)h(shall)d(therefore)i(use)h(a)e(linear)f(notation.)42
b(So)33 b(w)m(e)g(shall)e(write)527 3528 y Fr(z)p Fu(:=)p
Fr(x)p Fu(;)i(\()p Fr(x)p Fu(:=)p Fr(y)p Fu(;)h Fr(y)p
Fu(:=)p Fr(z)p Fu(\))283 3712 y(for)e(the)i(leftmost)d(syn)m(tax)j
(tree)f(and)527 3897 y(\()p Fr(z)p Fu(:=)p Fr(x)p Fu(;)g
Fr(x)p Fu(:=)p Fr(y)p Fu(\);)g Fr(y)p Fu(:=)p Fr(z)283
4081 y Fu(for)i(the)h(righ)m(tmost)e(one.)52 b(F)-8 b(or)35
b(statemen)m(ts)h(one)g(often)f(writes)g(the)h(brac)m(k)m(ets)i(as)d
Fr(begin)i Ft(\001)17 b(\001)g(\001)283 4201 y Fr(end)41
b Fu(but)e(w)m(e)h(shall)e(feel)h(free)h(to)f(use)h(\()33
b Ft(\001)17 b(\001)g(\001)30 b Fu(\))39 b(in)g(this)g(b)s(o)s(ok.)63
b(Similarly)-8 b(,)37 b(w)m(e)k(use)f(brac)m(k)m(ets)283
4322 y(\()33 b Ft(\001)17 b(\001)g(\001)31 b Fu(\))e(to)f(resolv)m(e)i
(am)m(biguities)d(for)i(elemen)m(ts)g(in)f(the)i(other)f(syn)m(tactic)h
(categories.)42 b(T)-8 b(o)29 b(cut)283 4442 y(do)m(wn)k(on)e(the)h(n)m
(um)m(b)s(er)g(of)f(brac)m(k)m(ets)i(needed)g(w)m(e)f(shall)e(allo)m(w)
g(to)h(use)i(the)e(familiar)d(relativ)m(e)283 4562 y(binding)j(p)s(o)m
(w)m(ers)j(\(precedences\))h(of)c(+,)i Fo(?)e Fu(and)i
Ft(\000)f Fu(etc.)44 b(and)32 b(so)h(write)f Fr(1)p Fu(+)p
Fr(x)p Fo(?)p Fr(2)g Fu(for)g Fr(1)p Fu(+\()p Fr(x)p
Fo(?)p Fr(2)p Fu(\))283 4683 y(but)h(not)g(for)f(\()p
Fr(1)p Fu(+)p Fr(x)p Fu(\))p Fo(?)p Fr(2)p Fu(.)283 4885
y Fw(Exercise)37 b(1.1)49 b Fu(The)33 b(follo)m(wing)d(statemen)m(t)j
(is)f(in)g Fw(While)p Fu(:)527 5070 y Fr(y)p Fu(:=)p
Fr(1)p Fu(;)h Fr(while)h Ft(:)q Fu(\()p Fr(x)p Fu(=)p
Fr(1)p Fu(\))f Fr(do)g Fu(\()p Fr(y)p Fu(:=)p Fr(y)p
Fo(?)p Fr(x)p Fu(;)g Fr(x)p Fu(:=)p Fr(x)p Ft(\000)p
Fr(1)p Fu(\))283 5254 y(It)23 b(computes)h(the)f(factorial)d(of)j(the)g
(initial)c(v)-5 b(alue)22 b(b)s(ound)h(to)g Fr(x)g Fu(\(pro)m(vided)g
(that)f(it)g(is)h(p)s(ositiv)m(e\))283 5374 y(and)34
b(the)f(result)g(will)e(b)s(e)i(the)g(\014nal)f(v)-5
b(alue)33 b(of)f Fr(y)p Fu(.)45 b(Dra)m(w)33 b(a)g(graphical)e
(represen)m(tation)j(of)e(the)283 5494 y(abstract)h(syn)m(tax)i(tree.)
2516 b Fh(2)p eop
%%Page: 9 19
9 18 bop 0 130 a Fw(1.3)112 b(Seman)m(tics)37 b(of)g(expressions)1956
b(9)p 0 193 3473 4 v 0 515 a(Exercise)36 b(1.2)49 b Fu(Assume)42
b(that)e(the)h(initial)c(v)-5 b(alue)40 b(of)g(the)h(v)-5
b(ariable)39 b Fr(x)i Fu(is)f Fs(n)48 b Fu(and)41 b(that)f(the)0
636 y(initial)31 b(v)-5 b(alue)34 b(of)g Fr(y)h Fu(is)f
Fs(m)7 b Fu(.)49 b(W)-8 b(rite)34 b(a)g(statemen)m(t)h(in)f
Fw(While)f Fu(that)h(assigns)h Fr(z)g Fu(the)g(v)-5 b(alue)34
b(of)g Fs(n)0 756 y Fu(to)e(the)h(p)s(o)m(w)m(er)h(of)e
Fs(m)7 b Fu(,)33 b(that)f(is)244 984 y Fo(n)22 b(?)g
Ft(\001)17 b(\001)g(\001)k Fo(?)g(n)244 1019 y Fg(|)p
281 1019 135 10 v 135 w({z)p 490 1019 V 135 w(})279 1124
y Fs(m)40 b Fu(times)0 1317 y(Giv)m(e)32 b(a)h(linear)e(as)h(w)m(ell)g
(as)h(a)f(graphical)f(represen)m(tation)i(of)f(the)h(abstract)g(syn)m
(tax.)275 b Fh(2)146 1579 y Fu(The)37 b(seman)m(tics)g(of)e
Fw(While)g Fu(is)g(giv)m(en)h(b)m(y)h(de\014ning)f(so-called)f
Fs(semantic)i(functions)44 b Fu(for)0 1700 y(eac)m(h)i(of)f(the)h(syn)m
(tactic)g(categories.)81 b(The)47 b(idea)d(is)h(that)g(a)g(seman)m(tic)
g(function)g(tak)m(es)i(a)0 1820 y(syn)m(tactic)40 b(en)m(tit)m(y)f(as)
g(argumen)m(t)f(and)h(returns)h(its)e(meaning.)60 b(The)40
b(op)s(erational,)e(denota-)0 1940 y(tional)24 b(and)j(axiomatic)c
(approac)m(hes)28 b(men)m(tioned)e(earlier)f(will)f(b)s(e)i(used)i(to)e
(sp)s(ecify)h(seman)m(tic)0 2061 y(functions)34 b(for)f(the)i(statemen)
m(ts)f(of)g Fw(While)p Fu(.)46 b(F)-8 b(or)33 b(n)m(umerals,)h
(arithmetic)e(expressions)j(and)0 2181 y(b)s(o)s(olean)c(expressions)j
(the)f(seman)m(tic)g(functions)f(are)h(sp)s(eci\014ed)g(once)h(and)e
(for)g(all)f(b)s(elo)m(w.)0 2544 y Fj(1.3)161 b(Seman)l(tics)52
b(of)i(expressions)0 2773 y Fu(Before)38 b(em)m(barking)g(on)g(sp)s
(ecifying)f(the)i(seman)m(tics)f(of)g(the)g(arithmetic)e(and)i(b)s(o)s
(olean)f(ex-)0 2893 y(pressions)f(of)e Fw(While)g Fu(let)g(us)h(ha)m(v)
m(e)i(a)d(brief)h(lo)s(ok)e(at)i(the)g(n)m(umerals;)h(this)f(will)d
(presen)m(t)37 b(the)0 3014 y(main)31 b(ingredien)m(ts)i(of)g(the)h
(approac)m(h)f(in)g(a)g(v)m(ery)h(simple)e(setting.)45
b(So)33 b(assume)h(for)e(the)i(mo-)0 3134 y(men)m(t)42
b(that)g(the)g(n)m(umerals)g(are)g(in)f(the)h Fs(binary)50
b Fu(system.)73 b(Their)42 b(abstract)g(syn)m(tax)i(could)0
3254 y(then)33 b(b)s(e)g(sp)s(eci\014ed)g(b)m(y:)244
3482 y Fs(n)40 b Fu(::=)32 b Fr(0)h Ft(j)f Fr(1)h Ft(j)f
Fs(n)40 b Fr(0)33 b Ft(j)f Fs(n)40 b Fr(1)0 3710 y Fu(In)47
b(order)g(to)f(determine)h(the)g(n)m(um)m(b)s(er)g(represen)m(ted)i(b)m
(y)f(a)f(n)m(umeral)f(w)m(e)h(shall)f(de\014ne)i(a)0
3830 y(function)244 4058 y Ft(N)14 b Fu(:)44 b Fw(Num)32
b Ft(!)g Fw(Z)0 4286 y Fu(This)f(is)g(called)e(a)i Fs(semantic)h
(function)38 b Fu(as)32 b(it)d(de\014nes)k(the)f(seman)m(tics)f(of)f
(the)h(n)m(umerals.)43 b(W)-8 b(e)0 4406 y(w)m(an)m(t)42
b Ft(N)56 b Fu(to)41 b(b)s(e)g(a)g Fs(total)i(function)49
b Fu(b)s(ecause)42 b(w)m(e)g(w)m(an)m(t)h(to)d(determine)h(a)g(unique)h
(n)m(um)m(b)s(er)0 4527 y(for)36 b(eac)m(h)h(n)m(umeral)f(of)g
Fw(Num)p Fu(.)54 b(If)36 b Fs(n)44 b Ft(2)37 b Fw(Num)e
Fu(then)i(w)m(e)h(write)e Ft(N)14 b Fu([)-17 b([)q Fs(n)7
b Fu(])-17 b(])37 b(for)f(the)h(application)0 4647 y(of)i
Ft(N)53 b Fu(to)39 b Fs(n)7 b Fu(,)41 b(that)e(is)g(for)g(the)h
(corresp)s(onding)f(n)m(um)m(b)s(er.)64 b(In)39 b(general,)i(the)e
(application)e(of)0 4767 y(a)k(seman)m(tic)g(function)g(to)g(a)g(syn)m
(tactic)h(en)m(tit)m(y)g(will)d(b)s(e)j(written)f(within)f(the)i(\\syn)
m(tactic")0 4888 y(brac)m(k)m(ets)34 b(`[)-17 b([)q(')32
b(and)g(`])-17 b(])q(')32 b(rather)h(than)f(the)g(more)g(usual)g(`\(')g
(and)g(`\)'.)44 b(These)34 b(brac)m(k)m(ets)g(ha)m(v)m(e)f(no)0
5008 y(sp)s(ecial)c(meaning)f(but)i(throughout)f(this)h(b)s(o)s(ok)f(w)
m(e)i(shall)d(enclose)i(syn)m(tactic)h(argumen)m(ts)f(to)0
5128 y(seman)m(tic)23 b(functions)g(using)g(the)h(\\syn)m(tactic")g
(brac)m(k)m(ets)h(whereas)g(w)m(e)f(use)h(ordinary)d(brac)m(k)m(ets)0
5249 y(\(or)32 b(juxtap)s(ositioning\))e(in)i(all)e(other)j(cases.)146
5374 y(The)28 b(seman)m(tic)f(function)g Ft(N)41 b Fu(is)27
b(de\014ned)h(b)m(y)g(the)f(follo)m(wing)e Fs(semantic)k(clauses)34
b Fu(\(or)27 b Fs(e)-5 b(qua-)0 5494 y(tions)p Fu(\):)p
eop
%%Page: 10 20
10 19 bop 251 130 a Fw(10)2575 b(1)113 b(In)m(tro)s(duction)p
251 193 3473 4 v 577 500 a Ft(N)15 b Fu([)-17 b([)p Fr(0)p
Fu(])g(])195 b(=)100 b Fw(0)577 668 y Ft(N)15 b Fu([)-17
b([)p Fr(1)p Fu(])g(])195 b(=)100 b Fw(1)577 835 y Ft(N)15
b Fu([)-17 b([)p Fs(n)40 b Fr(0)p Fu(])-17 b(])100 b(=)g
Fw(2)32 b Ff(?)h Ft(N)15 b Fu([)-17 b([)p Fs(n)7 b Fu(])-17
b(])577 1003 y Ft(N)15 b Fu([)-17 b([)p Fs(n)40 b Fr(1)p
Fu(])-17 b(])100 b(=)g Fw(2)32 b Ff(?)h Ft(N)15 b Fu([)-17
b([)p Fs(n)7 b Fu(])-17 b(])34 b(+)e Fw(1)283 1205 y
Fu(Here)38 b Fw(0)e Fu(and)h Fw(1)g Fu(are)f(n)m(um)m(b)s(ers,)j(that)d
(is)g(elemen)m(ts)h(of)g Fw(Z)p Fu(.)g(F)-8 b(urthermore,)37
b Ff(?)g Fu(and)f(+)h(are)f(the)283 1326 y(usual)e(arithmetic)e(op)s
(erations)h(on)h(n)m(um)m(b)s(ers.)48 b(The)35 b(ab)s(o)m(v)m(e)f
(de\014nition)f(is)h(an)f(example)h(of)f(a)283 1446 y
Fs(c)-5 b(omp)g(ositional)45 b Fu(de\014nition;)37 b(this)f(means)g
(that)g(for)g(eac)m(h)h(p)s(ossible)f(w)m(a)m(y)h(of)f(constructing)g
(a)283 1566 y(n)m(umeral)f(it)f(tells)h(ho)m(w)h(the)g(corresp)s
(onding)f(n)m(um)m(b)s(er)h(is)f(obtained)g(from)f(the)i(meanings)e(of)
283 1687 y(the)f Fs(sub)p Fu(constructs.)283 1924 y Fw(Example)k(1.3)49
b Fu(W)-8 b(e)25 b(can)f(calculate)g(the)g(n)m(um)m(b)s(er)h
Ft(N)14 b Fu([)-17 b([)q Fr(101)p Fu(])g(])26 b(corresp)s(onding)e(to)g
(the)h(n)m(umeral)283 2044 y Fr(101)34 b Fu(as)f(follo)m(ws:)527
2254 y Ft(N)15 b Fu([)-17 b([)p Fr(101)p Fu(])g(])34
b(=)f Fw(2)f Ff(?)h Ft(N)14 b Fu([)-17 b([)q Fr(10)p
Fu(])g(])34 b(+)e Fw(1)885 2421 y Fu(=)h Fw(2)f Ff(?)h
Fu(\()p Fw(2)f Ff(?)h Ft(N)15 b Fu([)-17 b([)p Fr(1)p
Fu(])g(])q(\))33 b(+)f Fw(1)885 2589 y Fu(=)h Fw(2)f
Ff(?)h Fu(\()p Fw(2)f Ff(?)h Fw(1)p Fu(\))g(+)f Fw(1)885
2756 y Fu(=)h Fw(5)283 2966 y Fu(Note)g(that)g(the)g(string)e
Fr(101)j Fu(is)e(decomp)s(osed)h(according)f(to)g(the)h(syn)m(tax)h
(for)e(n)m(umerals.)79 b Fh(2)430 3202 y Fu(So)27 b(far)g(w)m(e)i(ha)m
(v)m(e)g(only)e Fs(claime)-5 b(d)36 b Fu(that)28 b(the)f(de\014nition)g
(of)g Ft(N)42 b Fu(giv)m(es)28 b(rise)f(to)g(a)h(w)m(ell-de\014ned)283
3322 y(total)37 b(function.)58 b(W)-8 b(e)38 b(shall)f(no)m(w)h(presen)
m(t)i(a)d Fs(formal)i(pr)-5 b(o)g(of)58 b Fu(sho)m(wing)38
b(that)g(this)f(is)h(indeed)283 3443 y(the)33 b(case.)p
283 3564 3473 5 v 283 3745 a Fw(F)-9 b(act)38 b(1.4)49
b Fu(The)33 b(ab)s(o)m(v)m(e)h(equations)f(for)f Ft(N)14
b Fu(,)33 b(de\014ne)g(a)g(total)e(function)h Ft(N)14
b Fu(:)44 b Fw(Num)31 b Ft(!)i Fw(Z)p Fu(.)p 283 3866
V 283 4075 a Fw(Pro)s(of:)38 b Fu(W)-8 b(e)33 b(ha)m(v)m(e)h(a)e(total)
f(function)h Ft(N)14 b Fu(,)33 b(if)e(for)i(all)d(argumen)m(ts)j
Fs(n)39 b Ft(2)33 b Fw(Num)552 4242 y Fu(there)g(is)g(exactly)g(one)f
(n)m(um)m(b)s(er)h Fw(n)g Ft(2)g Fw(Z)g Fu(suc)m(h)h(that)f
Ft(N)14 b Fu([)-17 b([)q Fs(n)7 b Fu(])-17 b(])33 b(=)f
Fw(n)699 b Fu(\(*\))283 4410 y(Giv)m(en)38 b(a)f(n)m(umeral)g
Fs(n)44 b Fu(it)37 b(can)h(ha)m(v)m(e)g(one)g(of)f(four)g(forms:)53
b(it)36 b(can)i(b)s(e)g(a)f(basis)g(elemen)m(t)h(and)283
4530 y(then)33 b(it)e(is)g(equal)g(to)h Fr(0)g Fu(or)f
Fr(1)p Fu(,)h(or)g(it)f(can)h(b)s(e)g(a)f(comp)s(osite)g(elemen)m(t)g
(and)h(then)h(it)d(is)i(equal)f(to)283 4651 y Fs(n)345
4615 y Fi(0)369 4651 y Fr(0)d Fu(or)g Fs(n)625 4615 y
Fi(0)649 4651 y Fr(1)g Fu(for)g(some)g(other)g(n)m(umeral)f
Fs(n)1797 4615 y Fi(0)1821 4651 y Fu(.)42 b(So,)29 b(in)e(order)h(to)g
(pro)m(v)m(e)h(\(*\))f(w)m(e)h(ha)m(v)m(e)h(to)e(consider)283
4771 y(all)j(four)h(p)s(ossibilities.)430 4893 y(The)37
b(pro)s(of)f(will)e(b)s(e)i(conducted)i(b)m(y)f Fs(induction)44
b Fu(on)36 b(the)h Fs(structur)-5 b(e)44 b Fu(of)36 b(the)h(n)m(umeral)
f Fs(n)7 b Fu(.)283 5013 y(In)33 b(the)f Fs(b)-5 b(ase)33
b(c)-5 b(ase)39 b Fu(w)m(e)33 b(pro)m(v)m(e)g(\(*\))e(for)g(the)i
(basis)e(elemen)m(ts)h(of)g Fw(Num)p Fu(,)f(that)h(is)f(for)g(the)h
(cases)283 5133 y(where)41 b Fs(n)47 b Fu(is)39 b Fr(0)h
Fu(or)f Fr(1)p Fu(.)64 b(In)40 b(the)g Fs(induction)h(step)k
Fu(w)m(e)40 b(consider)g(the)g(comp)s(osite)f(elemen)m(ts)g(of)283
5254 y Fw(Num)p Fu(,)32 b(that)f(is)g(the)i(cases)g(where)g
Fs(n)39 b Fu(is)31 b Fs(n)1839 5218 y Fi(0)1862 5254
y Fr(0)h Fu(or)g Fs(n)2126 5218 y Fi(0)2149 5254 y Fr(1)p
Fu(.)44 b(The)32 b(induction)f(h)m(yp)s(othesis)i(will)c(then)283
5374 y(allo)m(w)35 b(us)i(to)f(assume)h(that)g(\(*\))f(holds)g(for)g
(the)h(immediate)c(constituen)m(t)k(of)f Fs(n)7 b Fu(,)38
b(that)e(is)g Fs(n)3705 5338 y Fi(0)3729 5374 y Fu(.)283
5494 y(W)-8 b(e)42 b(shall)f(then)h(pro)m(v)m(e)h(that)e(\(*\))g(holds)
g(for)g Fs(n)7 b Fu(.)71 b(It)42 b(then)g(follo)m(ws)e(that)i(\(*\))f
(holds)g(for)g(all)p eop
%%Page: 11 21
11 20 bop 0 130 a Fw(1.3)112 b(Seman)m(tics)37 b(of)g(expressions)1900
b(11)p 0 193 3473 4 v 0 515 a Fu(n)m(umerals)32 b Fs(n)40
b Fu(b)s(ecause)34 b(an)m(y)f(n)m(umeral)f Fs(n)39 b
Fu(can)33 b(b)s(e)g(constructed)h(in)e(that)h(w)m(a)m(y)-8
b(.)0 683 y Fw(The)31 b(case)h Fs(n)38 b Fu(=)31 b Fr(0)p
Fu(:)43 b(Only)31 b(one)g(of)g(the)g(seman)m(tic)g(clauses)h
(de\014ning)f Ft(N)45 b Fu(can)32 b(b)s(e)f(used)h(and)f(it)0
803 y(giv)m(es)37 b Ft(N)14 b Fu([)-17 b([)q Fs(n)7 b
Fu(])-17 b(])37 b(=)f Fw(0)p Fu(.)55 b(So)36 b(clearly)f(there)i(is)f
(exactly)h(one)g(n)m(um)m(b)s(er)f Fw(n)h Fu(in)f Fw(Z)g
Fu(\(namely)g Fw(0)p Fu(\))g(suc)m(h)0 924 y(that)c Ft(N)15
b Fu([)-17 b([)p Fs(n)7 b Fu(])-17 b(])34 b(=)e Fw(n)p
Fu(.)0 1091 y Fw(The)h(case)g Fs(n)40 b Fu(=)32 b Fr(1)h
Fu(is)f(similar)d(and)k(w)m(e)h(omit)c(the)j(details.)0
1259 y Fw(The)k(case)h Fs(n)44 b Fu(=)36 b Fs(n)738 1223
y Fi(0)762 1259 y Fr(0)p Fu(:)52 b(Insp)s(ection)37 b(of)g(the)g
(clauses)g(de\014ning)g Ft(N)51 b Fu(sho)m(ws)39 b(that)d(only)h(one)g
(of)0 1379 y(the)44 b(clauses)h(is)f(applicable)e(and)i(w)m(e)h(ha)m(v)
m(e)g Ft(N)15 b Fu([)-17 b([)p Fs(n)7 b Fu(])-17 b(])45
b(=)f Fw(2)g Ff(?)g Ft(N)15 b Fu([)-17 b([)p Fs(n)2486
1343 y Fi(0)2510 1379 y Fu(])g(].)78 b(W)-8 b(e)45 b(can)f(no)m(w)h
(apply)0 1500 y(the)38 b(induction)e(h)m(yp)s(othesis)j(to)d
Fs(n)1282 1464 y Fi(0)1343 1500 y Fu(and)i(get)f(that)g(there)h(is)f
(exactly)h(one)f(n)m(um)m(b)s(er)h Fw(n)3224 1464 y Fi(0)3285
1500 y Fu(suc)m(h)0 1620 y(that)32 b Ft(N)14 b Fu([)-17
b([)q Fs(n)407 1584 y Fi(0)431 1620 y Fu(])g(])32 b(=)g
Fw(n)670 1584 y Fi(0)694 1620 y Fu(.)43 b(But)33 b(then)g(it)e(is)h
(clear)f(that)h(there)h(is)f(exactly)h(one)f(n)m(um)m(b)s(er)h
Fw(n)f Fu(\(namely)0 1741 y Fw(2)h Ff(?)f Fw(n)240 1704
y Fi(0)264 1741 y Fu(\))g(suc)m(h)i(that)f Ft(N)14 b
Fu([)-17 b([)q Fs(n)7 b Fu(])-17 b(])33 b(=)g Fw(n)p
Fu(.)0 1908 y Fw(The)g(case)g Fs(n)40 b Fu(=)32 b Fs(n)721
1872 y Fi(0)745 1908 y Fr(1)h Fu(is)f(similar)d(and)k(w)m(e)g(omit)e
(the)i(details.)1117 b Fh(2)146 2121 y Fu(The)31 b(general)f(tec)m
(hnique)h(that)f(w)m(e)h(ha)m(v)m(e)g(applied)e(in)g(the)h
(de\014nition)f(of)g(the)i(syn)m(tax)g(and)0 2242 y(seman)m(tics)i(of)f
(n)m(umerals)g(can)h(b)s(e)g(summarized)e(as)i(follo)m(ws:)p
0 2324 3470 4 v 0 2341 V -2 2548 4 208 v 15 2548 V 1101
2469 a Fw(Comp)s(ositional)d(De\014nitions)p 3452 2548
V 3469 2548 V 0 2552 3470 4 v -2 3041 4 490 v 15 3041
V 66 2717 a Fu(1:)143 b(The)34 b(syn)m(tactic)f(category)g(is)f(sp)s
(eci\014ed)i(b)m(y)f(an)g(abstract)g(syn)m(tax)h(giving)d(the)i
Fs(b)-5 b(asis)285 2837 y(elements)52 b Fu(and)44 b(the)g
Fs(c)-5 b(omp)g(osite)51 b(elements)8 b Fu(.)77 b(The)45
b(comp)s(osite)e(elemen)m(ts)h(ha)m(v)m(e)i(a)285 2958
y(unique)33 b(decomp)s(osition)e(in)m(to)h(their)g(immediate)e
(constituen)m(ts.)p 3452 3041 V 3469 3041 V -2 3690 4
650 v 15 3690 V 66 3125 a(2:)143 b(The)29 b(seman)m(tics)f(is)f
(de\014ned)i(b)m(y)g Fs(c)-5 b(omp)g(ositional)36 b Fu(de\014nitions)27
b(of)g(a)h(function:)40 b(There)285 3246 y(is)24 b(a)g
Fs(semantic)29 b(clause)i Fu(for)23 b(eac)m(h)i(of)f(the)g(basis)g
(elemen)m(ts)h(of)f(the)g(syn)m(tactic)h(category)285
3366 y(and)i(one)g(for)f(eac)m(h)h(of)f(the)h(metho)s(ds)f(for)g
(constructing)h(comp)s(osite)f(elemen)m(ts.)41 b(The)285
3487 y(clauses)28 b(for)e(comp)s(osite)g(elemen)m(ts)i(are)f(de\014ned)
h(in)e(terms)h(of)g(the)g(seman)m(tics)g(of)g(the)285
3607 y(immediate)j(constituen)m(ts)k(of)e(the)h(elemen)m(ts.)p
3452 3690 V 3469 3690 V 0 3694 3470 4 v 0 3710 V 0 3859
a(The)42 b(pro)s(of)f(tec)m(hnique)i(w)m(e)f(ha)m(v)m(e)h(applied)d(is)
h(closely)g(connected)i(with)e(the)h(approac)m(h)g(to)0
3979 y(de\014ning)33 b(seman)m(tic)f(functions.)43 b(It)33
b(can)g(b)s(e)g(summarized)e(as)i(follo)m(ws:)p 0 4081
V 0 4097 V -2 4305 4 208 v 15 4305 V 1232 4226 a Fw(Structural)f
(Induction)p 3452 4305 V 3469 4305 V 0 4308 3470 4 v
-2 4678 4 370 v 15 4678 V 66 4474 a Fu(1:)143 b(Pro)m(v)m(e)39
b(that)f(the)g(prop)s(ert)m(y)g(holds)f(for)g(all)f(the)i
Fs(b)-5 b(asis)45 b Fu(elemen)m(ts)37 b(of)g(the)h(syn)m(tactic)285
4594 y(category)-8 b(.)p 3452 4678 V 3469 4678 V -2 5206
4 529 v 15 5206 V 66 4762 a(2:)143 b(Pro)m(v)m(e)39 b(that)d(the)i
(prop)s(ert)m(y)f(holds)g(for)f(all)f(the)i Fs(c)-5 b(omp)g(osite)44
b Fu(elemen)m(ts)37 b(of)f(the)i(syn-)285 4882 y(tactic)44
b(category:)66 b(Assume)45 b(that)f(the)g(prop)s(ert)m(y)h(holds)e(for)
h(all)e(the)i(immediate)285 5003 y(constituen)m(ts)d(of)f(the)g(elemen)
m(t)g(\(this)f(is)h(called)f(the)h Fs(induction)h(hyp)-5
b(othesis)p Fu(\))39 b(and)285 5123 y(pro)m(v)m(e)34
b(that)e(it)g(also)g(holds)g(for)g(the)h(elemen)m(t)f(itself.)p
3452 5206 V 3469 5206 V 0 5210 3470 4 v 0 5226 V 146
5374 a(In)41 b(the)f(remainder)f(of)h(this)f(b)s(o)s(ok)h(w)m(e)h
(shall)d(assume)j(that)f(n)m(umerals)f(are)h(in)f(decimal)0
5494 y(notation)30 b(and)h(ha)m(v)m(e)i(their)e(normal)e(meanings)h
(\(so)i(for)e(example)h Ft(N)14 b Fu([)-17 b([)q Fr(137)p
Fu(])g(])33 b(=)e Fw(137)g Ft(2)h Fw(Z)p Fu(\).)f(It)p
eop
%%Page: 12 22
12 21 bop 251 130 a Fw(12)2575 b(1)113 b(In)m(tro)s(duction)p
251 193 3473 4 v 283 515 a Fu(is)30 b(imp)s(ortan)m(t)e(to)i
(understand,)i(ho)m(w)m(ev)m(er,)h(that)d(there)h(is)f(a)g(distinction)
e(b)s(et)m(w)m(een)k(n)m(umerals)283 636 y(\(whic)m(h)27
b(are)f(syn)m(tactic\))i(and)e(n)m(um)m(b)s(ers)h(\(whic)m(h)g(are)f
(seman)m(tic\),)h(ev)m(en)h(in)e(decimal)e(notation.)283
922 y Fp(Seman)l(tic)46 b(functions)283 1107 y Fu(The)36
b(meaning)d(of)h(an)g(expression)h(dep)s(ends)h(on)f(the)f(v)-5
b(alues)35 b(b)s(ound)f(to)g(the)h(v)-5 b(ariables)33
b(that)283 1228 y(o)s(ccur)38 b(in)f(it.)58 b(F)-8 b(or)36
b(example,)j(if)d Fr(x)i Fu(is)f(b)s(ound)h(to)f Fw(3)h
Fu(then)g(the)g(arithmetic)e(expression)j Fr(x)p Fu(+)p
Fr(1)283 1348 y Fu(ev)-5 b(aluates)33 b(to)f Fw(4)g Fu(but)h(if)e
Fr(x)h Fu(is)g(b)s(ound)g(to)g Fw(2)h Fu(then)g(the)f(expression)i(ev)
-5 b(aluates)32 b(to)g Fw(3)p Fu(.)44 b(W)-8 b(e)32 b(shall)283
1468 y(therefore)f(in)m(tro)s(duce)f(the)h(concept)g(of)e(a)h
Fs(state)p Fu(:)43 b(to)29 b(eac)m(h)i(v)-5 b(ariable)28
b(the)j(state)f(will)e(asso)s(ciate)283 1589 y(its)h(curren)m(t)h(v)-5
b(alue.)41 b(W)-8 b(e)29 b(shall)f(represen)m(t)i(a)f(state)g(as)g(a)f
(function)h(from)e(v)-5 b(ariables)27 b(to)i(v)-5 b(alues,)283
1709 y(that)33 b(is)f(an)g(elemen)m(t)h(of)f(the)h(set)527
1900 y Fw(State)g Fu(=)f Fw(V)-9 b(ar)32 b Ft(!)h Fw(Z)283
2090 y Fu(Eac)m(h)42 b(state)f Fs(s)49 b Fu(sp)s(eci\014es)42
b(a)e(v)-5 b(alue,)42 b(written)f Fs(s)48 b(x)12 b Fu(,)43
b(for)d(eac)m(h)h(v)-5 b(ariable)39 b Fs(x)53 b Fu(of)40
b Fw(V)-9 b(ar)p Fu(.)67 b(Th)m(us)42 b(if)283 2211 y
Fs(s)f Fr(x)33 b Fu(=)f Fw(3)h Fu(then)g(the)g(v)-5 b(alue)32
b(of)g Fr(x)p Fu(+)p Fr(1)h Fu(in)f(state)h Fs(s)40 b
Fu(is)33 b Fw(4)p Fu(.)430 2331 y(Actually)-8 b(,)41
b(this)e(is)h(just)g(one)g(of)g(sev)m(eral)h(represen)m(tations)g(of)e
(the)i(state.)66 b(Some)40 b(other)283 2451 y(p)s(ossibilities)30
b(are)j(to)f(use)h(a)g(table:)p 527 2553 877 4 v 525
2801 4 249 v 728 2718 a Fr(x)p 978 2801 V 368 w Fw(5)p
1402 2801 V 525 2969 4 168 v 728 2886 a Fr(y)p 978 2969
V 385 w Fw(7)p 1402 2969 V 525 3137 V 728 3053 a Fr(z)p
978 3137 V 385 w Fw(0)p 1402 3137 V 527 3140 877 4 v
283 3288 a Fu(or)g(a)f(\\list")f(of)h(the)h(form)527
3478 y([)p Fr(x)p Ft(7!)p Fw(5)p Fu(,)g Fr(y)p Ft(7!)p
Fw(7)p Fu(,)g Fr(z)p Ft(7!)o Fw(0)p Fu(])283 3669 y(\(as)28
b(in)f(Section)g(1.1\).)41 b(In)28 b(all)d(cases)k(w)m(e)g(m)m(ust)e
(ensure)i(that)f(exactly)f(one)h(v)-5 b(alue)27 b(is)g(asso)s(ciated)
283 3789 y(with)36 b(eac)m(h)g(v)-5 b(ariable.)51 b(By)37
b(requiring)d(a)i(state)g(to)f(b)s(e)h(a)g(function)f(this)g(is)g
(trivially)e(ful\014lled)283 3909 y(whereas)49 b(for)e(the)g
(alternativ)m(e)f(represen)m(tations)j(ab)s(o)m(v)m(e)e(extra)h
(restrictions)f(ha)m(v)m(e)h(to)f(b)s(e)283 4030 y(enforced.)430
4150 y(Giv)m(en)33 b(an)g(arithmetic)e(expression)k Fs(a)41
b Fu(and)33 b(a)g(state)h Fs(s)41 b Fu(w)m(e)34 b(can)g(determine)f
(the)h(v)-5 b(alue)32 b(of)283 4271 y(the)41 b(expression.)66
b(Therefore)40 b(w)m(e)h(shall)d(de\014ne)j(the)f(meaning)e(of)i
(arithmetic)d(expressions)283 4391 y(as)f(a)g(total)e(function)h
Ft(A)g Fu(that)h(tak)m(es)h(t)m(w)m(o)f(argumen)m(ts:)50
b(the)37 b(syn)m(tactic)f(construct)h Fs(and)45 b Fu(the)283
4511 y(state.)f(The)34 b(functionalit)m(y)d(of)h Ft(A)g
Fu(is)527 4702 y Ft(A)p Fu(:)43 b Fw(Aexp)33 b Ft(!)f
Fu(\()p Fw(State)h Ft(!)f Fw(Z)p Fu(\))283 4893 y(This)h(means)e(that)h
Ft(A)f Fu(tak)m(es)j(its)d(parameters)h Fs(one)h(at)i(a)f(time)p
Fu(.)43 b(So)32 b(w)m(e)h(ma)m(y)e(supply)i Ft(A)e Fu(with)283
5013 y(its)i(\014rst)g(parameter,)g(sa)m(y)h Fr(x)p Fu(+)p
Fr(1)p Fu(,)f(and)g(study)h(the)f(function)g Ft(A)o Fu([)-17
b([)q Fr(x)p Fu(+)p Fr(1)p Fu(])g(])q(.)44 b(It)33 b(has)h
(functionalit)m(y)283 5133 y Fw(State)45 b Ft(!)g Fw(Z)g
Fu(and)g(only)g(when)h(w)m(e)f(supply)h(it)e(with)g(a)h(state)g(\(whic)
m(h)h(happ)s(ens)f(to)g(b)s(e)g(a)283 5254 y(function)32
b(but)g(that)g(do)s(es)g(not)g(matter\))f(do)h(w)m(e)h(obtain)e(the)i
(v)-5 b(alue)31 b(of)h(the)g(expression)h Fr(x)p Fu(+)p
Fr(1)p Fu(.)430 5374 y(Assuming)25 b(the)g(existence)i(of)e(the)h
(function)e Ft(N)40 b Fu(de\014ning)25 b(the)h(meaning)e(of)g(n)m
(umerals,)j(w)m(e)283 5494 y(can)f(de\014ne)g(the)f(function)g
Ft(A)f Fu(b)m(y)i(de\014ning)f(its)f(v)-5 b(alue)25 b
Ft(A)o Fu([)-17 b([)q Fs(a)7 b Fu(])-17 b(])q Fs(s)33
b Fu(on)25 b(eac)m(h)h(arithmetic)d(expression)p eop
%%Page: 13 23
13 22 bop 0 130 a Fw(1.3)112 b(Seman)m(tics)37 b(of)g(expressions)1900
b(13)p 0 193 3473 4 v 0 419 V 0 1260 4 841 v 432 528
a Ft(A)o Fu([)-17 b([)q Fs(n)7 b Fu(])-17 b(])q Fs(s)381
b Fu(=)100 b Ft(N)14 b Fu([)-17 b([)q Fs(n)7 b Fu(])-17
b(])432 696 y Ft(A)o Fu([)g([)q Fs(x)12 b Fu(])-17 b(])p
Fs(s)387 b Fu(=)100 b Fs(s)40 b(x)432 863 y Ft(A)o Fu([)-17
b([)q Fs(a)606 878 y Fn(1)678 863 y Fu(+)33 b Fs(a)844
878 y Fn(2)883 863 y Fu(])-17 b(])q Fs(s)109 b Fu(=)100
b Ft(A)o Fu([)-17 b([)q Fs(a)1420 878 y Fn(1)1460 863
y Fu(])g(])p Fs(s)41 b Fu(+)32 b Ft(A)p Fu([)-17 b([)p
Fs(a)1860 878 y Fn(2)1900 863 y Fu(])g(])q Fs(s)432 1031
y Ft(A)o Fu([)g([)q Fs(a)606 1046 y Fn(1)678 1031 y Fo(?)33
b Fs(a)817 1046 y Fn(2)856 1031 y Fu(])-17 b(])q Fs(s)136
b Fu(=)100 b Ft(A)o Fu([)-17 b([)q Fs(a)1420 1046 y Fn(1)1460
1031 y Fu(])g(])p Fs(s)41 b Ff(?)33 b Ft(A)o Fu([)-17
b([)q Fs(a)1842 1046 y Fn(2)1881 1031 y Fu(])g(])q Fs(s)432
1199 y Ft(A)o Fu([)g([)q Fs(a)606 1214 y Fn(1)678 1199
y Ft(\000)33 b Fs(a)845 1214 y Fn(2)885 1199 y Fu(])-17
b(])q Fs(s)107 b Fu(=)100 b Ft(A)o Fu([)-17 b([)q Fs(a)1420
1214 y Fn(1)1460 1199 y Fu(])g(])p Fs(s)41 b Fe(\000)32
b Ft(A)p Fu([)-17 b([)q Fs(a)1874 1214 y Fn(2)1913 1199
y Fu(])g(])q Fs(s)p 3469 1260 V 0 1263 3473 4 v 654 1424
a Fu(T)-8 b(able)32 b(1.1:)43 b(The)34 b(seman)m(tics)e(of)g
(arithmetic)f(expressions)0 1708 y Fs(a)41 b Fu(and)33
b(state)h Fs(s)8 b Fu(.)46 b(The)34 b(de\014nition)f(of)g
Ft(A)g Fu(is)g(giv)m(en)g(in)g(T)-8 b(able)33 b(1.1.)45
b(The)35 b(clause)e(for)g Fs(n)41 b Fu(re\015ects)0 1828
y(that)29 b(the)g(v)-5 b(alue)28 b(of)h Fs(n)36 b Fu(in)28
b(an)m(y)h(state)h(is)e Ft(N)15 b Fu([)-17 b([)p Fs(n)7
b Fu(])-17 b(])q(.)42 b(The)30 b(v)-5 b(alue)28 b(of)h(a)f(v)-5
b(ariable)28 b Fs(x)40 b Fu(in)28 b(state)i Fs(s)37 b
Fu(is)28 b(the)0 1949 y(v)-5 b(alue)34 b(b)s(ound)i(to)e
Fs(x)47 b Fu(in)34 b Fs(s)8 b Fu(,)36 b(that)e(is)h Fs(s)43
b(x)12 b Fu(.)50 b(The)36 b(v)-5 b(alue)34 b(of)h(the)g(comp)s(osite)f
(expression)i Fs(a)3260 1964 y Fn(1)3300 1949 y Fu(+)p
Fs(a)3433 1964 y Fn(2)0 2069 y Fu(in)31 b Fs(s)40 b Fu(is)31
b(the)i(sum)e(of)h(the)g(v)-5 b(alues)32 b(of)f Fs(a)1398
2084 y Fn(1)1470 2069 y Fu(and)h Fs(a)1716 2084 y Fn(2)1787
2069 y Fu(in)f Fs(s)8 b Fu(.)44 b(Similarly)-8 b(,)28
b(the)k(v)-5 b(alue)31 b(of)g Fs(a)3037 2084 y Fn(1)3110
2069 y Fo(?)h Fs(a)3248 2084 y Fn(2)3319 2069 y Fu(in)g
Fs(s)0 2189 y Fu(is)f(the)h(pro)s(duct)f(of)g(the)h(v)-5
b(alues)31 b(of)g Fs(a)1361 2204 y Fn(1)1432 2189 y Fu(and)g
Fs(a)1677 2204 y Fn(2)1748 2189 y Fu(in)g Fs(s)8 b Fu(,)32
b(and)f(the)h(v)-5 b(alue)31 b(of)f Fs(a)2740 2204 y
Fn(1)2811 2189 y Ft(\000)i Fs(a)2977 2204 y Fn(2)3048
2189 y Fu(in)f Fs(s)39 b Fu(is)31 b(the)0 2310 y(di\013erence)i(b)s(et)
m(w)m(een)h(the)f(v)-5 b(alues)32 b(of)g Fs(a)1438 2325
y Fn(1)1510 2310 y Fu(and)g Fs(a)1756 2325 y Fn(2)1828
2310 y Fu(in)g Fs(s)8 b Fu(.)43 b(Note)32 b(that)g(+)h(,)f
Ff(?)g Fu(and)h Fe(\000)f Fu(o)s(ccurring)0 2430 y(on)i(the)g(righ)m(t)
f(of)h(these)h(equations)f(are)g(the)g(usual)g(arithmetic)e(op)s
(erations,)h(whilst)g(on)h(the)0 2550 y(left)42 b(they)i(are)f(just)h
(pieces)f(of)g(syn)m(tax;)50 b(this)42 b(is)h(analogous)f(to)h(the)g
(distinction)e(b)s(et)m(w)m(een)0 2671 y(n)m(umerals)32
b(and)h(n)m(um)m(b)s(ers)g(but)g(w)m(e)h(shall)d(not)h(b)s(other)h(to)f
(use)i(di\013eren)m(t)e(sym)m(b)s(ols.)0 2897 y Fw(Example)37
b(1.5)48 b Fu(Supp)s(ose)34 b(that)e Fs(s)41 b Fr(x)33
b Fu(=)f Fw(3)p Fu(.)44 b(Then:)294 3091 y Ft(A)o Fu([)-17
b([)q Fr(x)p Fu(+)p Fr(1)p Fu(])g(])q Fs(s)108 b Fu(=)99
b Ft(A)p Fu([)-17 b([)p Fr(x)p Fu(])g(])q Fs(s)41 b Fu(+)32
b Ft(A)p Fu([)-17 b([)p Fr(1)p Fu(])g(])q Fs(s)775 3259
y Fu(=)99 b(\()p Fs(s)41 b Fr(x)p Fu(\))32 b(+)h Ft(N)14
b Fu([)-17 b([)q Fr(1)p Fu(])g(])775 3426 y(=)99 b Fw(3)33
b Fu(+)f Fw(1)775 3594 y Fu(=)99 b Fw(4)0 3795 y Fu(Note)33
b(that)g(here)g Fr(1)h Fu(is)e(a)h(n)m(umeral)f(\(enclosed)h(in)f(the)i
(brac)m(k)m(ets)h(`[)-17 b([')33 b(and)g(`])-17 b(])q('\))33
b(whereas)h Fw(1)f Fu(is)g(a)0 3915 y(n)m(um)m(b)s(er.)3049
b Fh(2)0 4142 y Fw(Example)37 b(1.6)48 b Fu(Supp)s(ose)28
b(w)m(e)g(add)f(the)g(arithmetic)d(expression)k Ft(\000)16
b Fs(a)35 b Fu(to)26 b(our)h(language.)40 b(An)0 4262
y(acceptable)33 b(seman)m(tic)f(clause)h(for)f(this)g(construct)i(w)m
(ould)e(b)s(e)244 4464 y Ft(A)o Fu([)-17 b([)q Ft(\000)16
b Fs(a)7 b Fu(])-17 b(])r Fs(s)40 b Fu(=)33 b Fw(0)f
Fe(\000)h Ft(A)o Fu([)-17 b([)q Fs(a)7 b Fu(])-17 b(])q
Fs(s)0 4666 y Fu(whereas)39 b(the)f(alternativ)m(e)e(clause)i
Ft(A)o Fu([)-17 b([)q Ft(\000)16 b Fs(a)7 b Fu(])-17
b(])q Fs(s)46 b Fu(=)37 b Ft(A)o Fu([)-17 b([)q Fr(0)37
b Ft(\000)h Fs(a)7 b Fu(])-17 b(])q Fs(s)45 b Fu(w)m(ould)38
b(con)m(tradict)f(the)h(com-)0 4786 y(p)s(ositionalit)m(y)29
b(requiremen)m(t.)2301 b Fh(2)0 5013 y Fw(Exercise)36
b(1.7)49 b Fu(Pro)m(v)m(e)f(that)e(the)h(equations)g(of)f(T)-8
b(able)46 b(1.1)g(de\014ne)h(a)f(total)f(function)h Ft(A)0
5133 y Fu(in)51 b Fw(Aexp)g Ft(!)g Fu(\()p Fw(State)h
Ft(!)f Fw(Z)p Fu(\):)h(First)e(argue)i(that)f(it)f(is)h(su\016cien)m(t)
i(to)e(pro)m(v)m(e)i(that)e(for)0 5254 y(eac)m(h)39 b
Fs(a)h Ft(2)33 b Fw(Aexp)39 b Fu(and)f(eac)m(h)h Fs(s)47
b Ft(2)39 b Fw(State)f Fu(there)h(is)f(exactly)h(one)g(v)-5
b(alue)38 b Fw(v)g Ft(2)h Fw(Z)g Fu(suc)m(h)h(that)0
5374 y Ft(A)p Fu([)-17 b([)p Fs(a)7 b Fu(])-17 b(])q
Fs(s)41 b Fu(=)32 b Fw(v)p Fu(.)48 b(Next)35 b(use)g(structural)f
(induction)f(on)h(the)h(arithmetic)d(expressions)j(to)f(pro)m(v)m(e)0
5494 y(that)e(this)h(is)f(indeed)h(the)g(case.)2221 b
Fh(2)p eop
%%Page: 14 24
14 23 bop 251 130 a Fw(14)2575 b(1)113 b(In)m(tro)s(duction)p
251 193 3473 4 v 283 419 V 283 2160 4 1741 v 715 528
a Ft(B)t Fu([)-17 b([)p Fr(true)p Fu(])g(])r Fs(s)239
b Fu(=)99 b Fw(tt)715 696 y Ft(B)t Fu([)-17 b([)p Fr(false)p
Fu(])g(])r Fs(s)188 b Fu(=)99 b Fw(\013)715 954 y Ft(B)t
Fu([)-17 b([)p Fs(a)878 969 y Fn(1)951 954 y Fu(=)32
b Fs(a)1116 969 y Fn(2)1156 954 y Fu(])-17 b(])p Fs(s)110
b Fu(=)1518 779 y Fg(8)1518 854 y(<)1518 1003 y(:)1633
869 y Fw(tt)83 b Fu(if)31 b Ft(A)p Fu([)-17 b([)p Fs(a)2067
884 y Fn(1)2107 869 y Fu(])g(])p Fs(s)41 b Fu(=)32 b
Ft(A)p Fu([)-17 b([)q Fs(a)2508 884 y Fn(2)2547 869 y
Fu(])g(])q Fs(s)1633 1037 y Fw(\013)106 b Fu(if)31 b
Ft(A)p Fu([)-17 b([)p Fs(a)2067 1052 y Fn(1)2107 1037
y Fu(])g(])p Fs(s)41 b Ft(6)p Fu(=)32 b Ft(A)p Fu([)-17
b([)q Fs(a)2508 1052 y Fn(2)2547 1037 y Fu(])g(])q Fs(s)715
1306 y Ft(B)t Fu([)g([)p Fs(a)878 1321 y Fn(1)951 1306
y Ft(\024)33 b Fs(a)1118 1321 y Fn(2)1157 1306 y Fu(])-17
b(])q Fs(s)108 b Fu(=)1518 1131 y Fg(8)1518 1206 y(<)1518
1356 y(:)1633 1221 y Fw(tt)83 b Fu(if)31 b Ft(A)p Fu([)-17
b([)p Fs(a)2067 1236 y Fn(1)2107 1221 y Fu(])g(])p Fs(s)41
b Fe(\024)33 b Ft(A)o Fu([)-17 b([)q Fs(a)2521 1236 y
Fn(2)2561 1221 y Fu(])g(])p Fs(s)1633 1389 y Fw(\013)106
b Fu(if)31 b Ft(A)p Fu([)-17 b([)p Fs(a)2067 1404 y Fn(1)2107
1389 y Fu(])g(])p Fs(s)41 b Ff(>)33 b Ft(A)o Fu([)-17
b([)q Fs(a)2521 1404 y Fn(2)2561 1389 y Fu(])g(])p Fs(s)715
1658 y Ft(B)t Fu([)g([)p Ft(:)33 b Fs(b)6 b Fu(])-17
b(])q Fs(s)294 b Fu(=)1518 1484 y Fg(8)1518 1558 y(<)1518
1708 y(:)1633 1573 y Fw(tt)83 b Fu(if)31 b Ft(B)t Fu([)-17
b([)p Fs(b)6 b Fu(])-17 b(])q Fs(s)40 b Fu(=)33 b Fw(\013)1633
1741 y(\013)106 b Fu(if)31 b Ft(B)t Fu([)-17 b([)p Fs(b)6
b Fu(])-17 b(])q Fs(s)40 b Fu(=)33 b Fw(tt)715 2010 y
Ft(B)t Fu([)-17 b([)p Fs(b)872 2025 y Fn(1)944 2010 y
Ft(^)33 b Fs(b)1094 2025 y Fn(2)1134 2010 y Fu(])-17
b(])p Fs(s)132 b Fu(=)1518 1836 y Fg(8)1518 1911 y(<)1518
2060 y(:)1633 1926 y Fw(tt)83 b Fu(if)31 b Ft(B)t Fu([)-17
b([)p Fs(b)2050 1941 y Fn(1)2089 1926 y Fu(])g(])q Fs(s)41
b Fu(=)32 b Fw(tt)g Fu(and)g Ft(B)t Fu([)-17 b([)p Fs(b)2782
1941 y Fn(2)2822 1926 y Fu(])g(])p Fs(s)41 b Fu(=)32
b Fw(tt)1633 2093 y(\013)106 b Fu(if)31 b Ft(B)t Fu([)-17
b([)p Fs(b)2050 2108 y Fn(1)2089 2093 y Fu(])g(])q Fs(s)41
b Fu(=)32 b Fw(\013)h Fu(or)f Ft(B)t Fu([)-17 b([)p Fs(b)2690
2108 y Fn(2)2730 2093 y Fu(])g(])p Fs(s)41 b Fu(=)32
b Fw(\013)p 3753 2160 V 283 2163 3473 4 v 991 2323 a
Fu(T)-8 b(able)33 b(1.2:)43 b(The)33 b(seman)m(tics)g(of)f(b)s(o)s
(olean)f(expressions)430 2588 y(The)g(v)-5 b(alues)31
b(of)f(b)s(o)s(olean)f(expressions)k(are)d(truth)h(v)-5
b(alues)30 b(so)h(in)f(a)g(similar)e(w)m(a)m(y)k(w)m(e)f(shall)283
2709 y(de\014ne)j(their)e(meanings)g(b)m(y)h(a)g(\(total\))e(function)h
(from)f Fw(State)i Fu(to)f Fw(T)p Fu(:)527 2882 y Ft(B)t
Fu(:)43 b Fw(Bexp)33 b Ft(!)f Fu(\()p Fw(State)h Ft(!)f
Fw(T)p Fu(\))283 3055 y(Here)i Fw(T)e Fu(consists)i(of)e(the)h(truth)f
(v)-5 b(alues)33 b Fw(tt)f Fu(\(for)f(true\))i(and)g
Fw(\013)g Fu(\(for)f(false\).)430 3176 y(Using)g Ft(A)h
Fu(w)m(e)h(can)f(de\014ne)h Ft(B)i Fu(b)m(y)e(the)f(seman)m(tic)g
(clauses)h(of)e(T)-8 b(able)33 b(1.2.)44 b(Again)32 b(w)m(e)i(ha)m(v)m
(e)283 3296 y(the)h(distinction)e(b)s(et)m(w)m(een)k(syn)m(tax)f
(\(e.g.)49 b Ft(\024)35 b Fu(on)f(the)h(left-hand)f(side\))g(and)h
(seman)m(tics)g(\(e.g.)283 3416 y Fe(\024)e Fu(on)g(the)g(righ)m
(t-hand)e(side\).)283 3604 y Fw(Exercise)37 b(1.8)49
b Fu(Assume)33 b(that)g Fs(s)40 b Fr(x)33 b Fu(=)f Fw(3)h
Fu(and)g(determine)f Ft(B)s Fu([)-17 b([)q Ft(:)p Fu(\()p
Fr(x)33 b Fu(=)f Fr(1)p Fu(\)])-17 b(])q Fs(s)8 b Fu(.)579
b Fh(2)283 3793 y Fw(Exercise)37 b(1.9)49 b Fu(Pro)m(v)m(e)38
b(that)e(the)h(equations)g(of)f(T)-8 b(able)37 b(1.2)f(de\014ne)i(a)e
(total)f(function)i Ft(B)j Fu(in)283 3913 y Fw(Bexp)33
b Ft(!)f Fu(\()p Fw(State)h Ft(!)f Fw(T)p Fu(\).)2380
b Fh(2)283 4101 y Fw(Exercise)37 b(1.10)49 b Fu(The)26
b(syn)m(tactic)g(category)g Fw(Bexp)2211 4065 y Fi(0)2260
4101 y Fu(is)e(de\014ned)j(as)f(the)f(follo)m(wing)e(extension)283
4221 y(of)33 b Fw(Bexp)p Fu(:)577 4386 y Fs(b)106 b Fu(::=)99
b Fr(true)34 b Ft(j)e Fr(false)i Ft(j)e Fs(a)1661 4401
y Fn(1)1733 4386 y Fu(=)h Fs(a)1899 4401 y Fn(2)1971
4386 y Ft(j)f Fs(a)2088 4401 y Fn(1)2160 4386 y Ft(6)p
Fu(=)h Fs(a)2326 4401 y Fn(2)2398 4386 y Ft(j)f Fs(a)2515
4401 y Fn(1)2587 4386 y Ft(\024)h Fs(a)2754 4401 y Fn(2)2827
4386 y Ft(j)f Fs(a)2944 4401 y Fn(1)3016 4386 y Ft(\025)h
Fs(a)3183 4401 y Fn(2)830 4554 y Ft(j)99 b Fs(a)1014
4569 y Fn(1)1087 4554 y Fo(<)32 b Fs(a)1252 4569 y Fn(2)1324
4554 y Ft(j)g Fs(a)1441 4569 y Fn(1)1514 4554 y Fo(>)g
Fs(a)1679 4569 y Fn(2)1751 4554 y Ft(j)g(:)q Fs(b)38
b Ft(j)32 b Fs(b)2072 4569 y Fn(1)2144 4554 y Ft(^)h
Fs(b)2294 4569 y Fn(2)2366 4554 y Ft(j)f Fs(b)2477 4569
y Fn(1)2549 4554 y Ft(_)h Fs(b)2699 4569 y Fn(2)830 4721
y Ft(j)99 b Fs(b)1008 4736 y Fn(1)1080 4721 y Ft(\))32
b Fs(b)1263 4736 y Fn(2)1335 4721 y Ft(j)h Fs(b)1447
4736 y Fn(1)1518 4721 y Ft(,)g Fs(b)1702 4736 y Fn(2)283
4888 y Fu(Giv)m(e)g(a)f Fs(c)-5 b(omp)g(ositional)41
b Fu(extension)34 b(of)e(the)h(seman)m(tic)f(function)g
Ft(B)k Fu(of)c(T)-8 b(able)32 b(1.2.)430 5008 y(Tw)m(o)h(b)s(o)s(olean)
e(expressions)k Fs(b)1572 5023 y Fn(1)1644 5008 y Fu(and)d
Fs(b)1884 5023 y Fn(2)1956 5008 y Fu(are)h Fs(e)-5 b(quivalent)41
b Fu(if)32 b(for)g(all)e(states)k Fs(s)8 b Fu(,)527 5181
y Ft(B)t Fu([)-17 b([)p Fs(b)684 5196 y Fn(1)724 5181
y Fu(])g(])p Fs(s)41 b Fu(=)32 b Ft(B)t Fu([)-17 b([)p
Fs(b)1107 5196 y Fn(2)1147 5181 y Fu(])g(])p Fs(s)283
5355 y Fu(Sho)m(w)35 b(that)e(for)f(eac)m(h)i Fs(b)1174
5319 y Fi(0)1231 5355 y Fu(of)e Fw(Bexp)1594 5319 y Fi(0)1651
5355 y Fu(there)i(exists)g(a)f(b)s(o)s(olean)f(expression)i
Fs(b)39 b Fu(of)33 b Fw(Bexp)g Fu(suc)m(h)283 5475 y(that)g
Fs(b)546 5439 y Fi(0)602 5475 y Fu(and)f Fs(b)39 b Fu(are)32
b(equiv)-5 b(alen)m(t.)2186 b Fh(2)p eop
%%Page: 15 25
15 24 bop 0 130 a Fw(1.4)112 b(Prop)s(erties)36 b(of)i(the)f(seman)m
(tics)1763 b(15)p 0 193 3473 4 v 0 515 a Fj(1.4)161 b(Prop)t(erties)53
b(of)h(the)f(seman)l(tics)0 737 y Fu(Later)29 b(in)g(the)h(b)s(o)s(ok)g
(w)m(e)g(shall)e(b)s(e)i(in)m(terested)h(in)e(t)m(w)m(o)h(kinds)g(of)f
(prop)s(erties)g(for)h(expressions.)0 858 y(One)39 b(is)g(that)f(their)
g(v)-5 b(alues)39 b(do)g(not)g(dep)s(end)h(on)e(v)-5
b(alues)39 b(of)g(v)-5 b(ariables)37 b(that)i(do)f(not)h(o)s(ccur)0
978 y(in)h(them.)67 b(The)41 b(other)g(is)f(that)g(if)g(w)m(e)h
(replace)g(a)f(v)-5 b(ariable)39 b(with)h(an)g(expression)i(then)f(w)m
(e)0 1098 y(could)d(as)h(w)m(ell)e(ha)m(v)m(e)j(made)e(a)g(similar)d(c)
m(hange)40 b(in)d(the)i(state.)61 b(W)-8 b(e)39 b(shall)e(formalize)f
(these)0 1219 y(prop)s(erties)c(b)s(elo)m(w)h(and)g(pro)m(v)m(e)g(that)
g(they)g(do)g(hold.)0 1516 y Fp(F)-11 b(ree)45 b(v)-7
b(ariables)0 1704 y Fu(The)27 b Fs(fr)-5 b(e)g(e)29 b(variables)34
b Fu(of)26 b(an)g(arithmetic)f(expression)i Fs(a)34 b
Fu(is)26 b(de\014ned)i(to)e(b)s(e)h(the)g(set)g(of)f(v)-5
b(ariables)0 1824 y(o)s(ccurring)41 b(in)f(it.)69 b(F)-8
b(ormally)g(,)41 b(w)m(e)h(ma)m(y)f(giv)m(e)h(a)f(comp)s(ositional)d
(de\014nition)i(of)h(the)h(subset)0 1944 y(FV\()p Fs(a)7
b Fu(\))32 b(of)h Fw(V)-9 b(ar)p Fu(:)294 2152 y(FV\()p
Fs(n)7 b Fu(\))373 b(=)99 b Ft(;)294 2319 y Fu(FV\()p
Fs(x)12 b Fu(\))378 b(=)99 b Ft(f)33 b Fs(x)44 b Ft(g)294
2487 y Fu(FV\()p Fs(a)526 2502 y Fn(1)598 2487 y Fu(+)32
b Fs(a)763 2502 y Fn(2)803 2487 y Fu(\))101 b(=)e(FV\()p
Fs(a)1349 2502 y Fn(1)1389 2487 y Fu(\))32 b Ft([)h Fu(FV\()p
Fs(a)1790 2502 y Fn(2)1830 2487 y Fu(\))294 2654 y(FV\()p
Fs(a)526 2669 y Fn(1)598 2654 y Fo(?)f Fs(a)736 2669
y Fn(2)776 2654 y Fu(\))128 b(=)99 b(FV\()p Fs(a)1349
2669 y Fn(1)1389 2654 y Fu(\))32 b Ft([)h Fu(FV\()p Fs(a)1790
2669 y Fn(2)1830 2654 y Fu(\))294 2822 y(FV\()p Fs(a)526
2837 y Fn(1)598 2822 y Ft(\000)g Fs(a)765 2837 y Fn(2)804
2822 y Fu(\))100 b(=)f(FV\()p Fs(a)1349 2837 y Fn(1)1389
2822 y Fu(\))32 b Ft([)h Fu(FV\()p Fs(a)1790 2837 y Fn(2)1830
2822 y Fu(\))0 3031 y(As)d(an)f(example)g(FV\()p Fr(x)p
Fu(+)p Fr(1)p Fu(\))g(=)g Ft(f)g Fr(x)h Ft(g)f Fu(and)g(FV\()p
Fr(x)p Fu(+)p Fr(y)p Fo(?)p Fr(x)p Fu(\))g(=)g Ft(f)g
Fr(x)p Fu(,)i Fr(y)e Ft(g)p Fu(.)42 b(It)30 b(should)f(b)s(e)g(ob)m
(vious)0 3151 y(that)39 b(only)g(the)h(v)-5 b(ariables)38
b(in)h(FV\()p Fs(a)7 b Fu(\))39 b(ma)m(y)g(in\015uence)h(the)g(v)-5
b(alue)39 b(of)g Fs(a)7 b Fu(.)64 b(This)39 b(is)g(formally)0
3272 y(expressed)c(b)m(y:)p 0 3394 3473 5 v 0 3576 a
Fw(Lemma)i(1.11)49 b Fu(Let)39 b Fs(s)48 b Fu(and)39
b Fs(s)1158 3540 y Fi(0)1220 3576 y Fu(b)s(e)h(t)m(w)m(o)f(states)h
(satisfying)f(that)f Fs(s)48 b(x)i Fu(=)39 b Fs(s)2839
3540 y Fi(0)2902 3576 y Fs(x)51 b Fu(for)38 b(all)f Fs(x)51
b Fu(in)0 3697 y(FV\()p Fs(a)7 b Fu(\).)43 b(Then)34
b Ft(A)p Fu([)-17 b([)p Fs(a)7 b Fu(])-17 b(])q Fs(s)41
b Fu(=)32 b Ft(A)p Fu([)-17 b([)p Fs(a)7 b Fu(])-17 b(])q
Fs(s)1256 3660 y Fi(0)1279 3697 y Fu(.)p 0 3817 V 0 4027
a Fw(Pro)s(of:)26 b Fu(W)-8 b(e)24 b(shall)e(giv)m(e)h(a)g(fairly)e
(detailed)h(pro)s(of)g(of)h(the)h(lemma)d(using)h(structural)h
(induction)0 4148 y(on)30 b(the)h(arithmetic)d(expressions.)44
b(W)-8 b(e)31 b(shall)d(\014rst)j(consider)f(the)h(basis)f(elemen)m(ts)
g(of)g Fw(Aexp)p Fu(:)0 4315 y Fw(The)35 b(case)g Fs(n)7
b Fu(:)48 b(F)-8 b(rom)33 b(T)-8 b(able)34 b(1.1)g(w)m(e)i(ha)m(v)m(e)g
Ft(A)o Fu([)-17 b([)q Fs(n)7 b Fu(])-17 b(])q Fs(s)42
b Fu(=)35 b Ft(N)14 b Fu([)-17 b([)q Fs(n)7 b Fu(])-17
b(])35 b(as)g(w)m(ell)f(as)g Ft(A)p Fu([)-17 b([)p Fs(n)7
b Fu(])-17 b(])q Fs(s)3043 4279 y Fi(0)3101 4315 y Fu(=)34
b Ft(N)15 b Fu([)-17 b([)q Fs(n)7 b Fu(])-17 b(].)0 4436
y(So)32 b Ft(A)p Fu([)-17 b([)q Fs(n)7 b Fu(])-17 b(])p
Fs(s)41 b Fu(=)32 b Ft(A)p Fu([)-17 b([)q Fs(n)7 b Fu(])-17
b(])p Fs(s)806 4399 y Fi(0)862 4436 y Fu(and)33 b(clearly)f(the)h
(lemma)d(holds)i(in)g(this)g(case.)0 4603 y Fw(The)e(case)h
Fs(x)12 b Fu(:)42 b(F)-8 b(rom)28 b(T)-8 b(able)30 b(1.1)f(w)m(e)i(ha)m
(v)m(e)g Ft(A)p Fu([)-17 b([)q Fs(x)12 b Fu(])-17 b(])p
Fs(s)38 b Fu(=)30 b Fs(s)38 b(x)j Fu(as)30 b(w)m(ell)g(as)g
Ft(A)o Fu([)-17 b([)q Fs(x)12 b Fu(])-17 b(])p Fs(s)2862
4567 y Fi(0)2916 4603 y Fu(=)29 b Fs(s)3069 4567 y Fi(0)3123
4603 y Fs(x)12 b Fu(.)42 b(F)-8 b(rom)0 4724 y(the)31
b(assumptions)f(of)g(the)h(lemma)d(w)m(e)j(get)g Fs(s)38
b(x)k Fu(=)31 b Fs(s)1927 4687 y Fi(0)1980 4724 y Fs(x)42
b Fu(b)s(ecause)32 b Fs(x)42 b Ft(2)31 b Fu(FV\()p Fs(x)12
b Fu(\))30 b(so)h(clearly)e(the)0 4844 y(lemma)h(holds)j(in)e(this)i
(case.)146 4966 y(Next)h(w)m(e)f(turn)g(to)f(the)h(comp)s(osite)f
(elemen)m(ts)h(of)f Fw(Aexp)p Fu(:)0 5133 y Fw(The)f(case)g
Fs(a)509 5148 y Fn(1)579 5133 y Fu(+)f Fs(a)742 5148
y Fn(2)781 5133 y Fu(:)43 b(F)-8 b(rom)29 b(T)-8 b(able)30
b(1.1)g(w)m(e)h(ha)m(v)m(e)h Ft(A)o Fu([)-17 b([)q Fs(a)2064
5148 y Fn(1)2134 5133 y Fu(+)30 b Fs(a)2297 5148 y Fn(2)2337
5133 y Fu(])-17 b(])p Fs(s)39 b Fu(=)30 b Ft(A)o Fu([)-17
b([)q Fs(a)2733 5148 y Fn(1)2773 5133 y Fu(])g(])p Fs(s)38
b Fu(+)31 b Ft(A)o Fu([)-17 b([)q Fs(s)3160 5148 y Fn(2)3199
5133 y Fu(])g(])q Fs(s)38 b Fu(and)0 5254 y(similarly)24
b Ft(A)p Fu([)-17 b([)p Fs(a)568 5269 y Fn(1)636 5254
y Fu(+)28 b Fs(a)797 5269 y Fn(2)836 5254 y Fu(])-17
b(])q Fs(s)922 5218 y Fi(0)973 5254 y Fu(=)28 b Ft(A)o
Fu([)-17 b([)q Fs(a)1251 5269 y Fn(1)1291 5254 y Fu(])g(])p
Fs(s)1376 5218 y Fi(0)1427 5254 y Fu(+)28 b Ft(A)p Fu([)-17
b([)p Fs(s)1696 5269 y Fn(2)1736 5254 y Fu(])g(])p Fs(s)1821
5218 y Fi(0)1845 5254 y Fu(.)42 b(Since)28 b Fs(a)2221
5269 y Fn(i)2273 5254 y Fu(\(for)f(i)g(=)g(1,2\))h(is)f(an)h(immediate)
0 5374 y(sub)s(expression)35 b(of)e Fs(a)789 5389 y Fn(1)862
5374 y Fu(+)g Fs(a)1028 5389 y Fn(2)1101 5374 y Fu(and)g(FV\()p
Fs(a)1523 5389 y Fn(i)1547 5374 y Fu(\))g Ft(\022)h Fu(FV\()p
Fs(a)1961 5389 y Fn(1)2033 5374 y Fu(+)f Fs(a)2199 5389
y Fn(2)2239 5374 y Fu(\))g(w)m(e)h(can)g(apply)f(the)g(induction)0
5494 y(h)m(yp)s(othesis)i(\(that)f(is)g(the)g(lemma\))e(to)i
Fs(a)1534 5509 y Fn(i)1592 5494 y Fu(and)g(get)h Ft(A)o
Fu([)-17 b([)q Fs(a)2122 5509 y Fn(i)2146 5494 y Fu(])g(])p
Fs(s)43 b Fu(=)34 b Ft(A)o Fu([)-17 b([)q Fs(a)2550 5509
y Fn(i)2574 5494 y Fu(])g(])p Fs(s)2659 5458 y Fi(0)2683
5494 y Fu(.)48 b(It)34 b(is)g(no)m(w)h(easy)g(to)p eop
%%Page: 16 26
16 25 bop 251 130 a Fw(16)2575 b(1)113 b(In)m(tro)s(duction)p
251 193 3473 4 v 283 515 a Fu(see)34 b(that)f(the)g(lemma)d(holds)i
(for)g Fs(a)1596 530 y Fn(1)1668 515 y Fu(+)h Fs(a)1834
530 y Fn(2)1906 515 y Fu(as)g(w)m(ell.)283 683 y Fw(The)38
b(cases)h Fs(a)851 698 y Fn(1)928 683 y Ft(\000)f Fs(a)1100
698 y Fn(2)1177 683 y Fu(and)g Fs(a)1429 698 y Fn(1)1506
683 y Fo(?)f Fs(a)1649 698 y Fn(2)1726 683 y Fu(follo)m(w)f(the)i(same)
g(pattern)f(and)h(are)g(omitted.)57 b(This)283 803 y(completes)33
b(the)g(pro)s(of.)2529 b Fh(2)430 1009 y Fu(In)41 b(a)f(similar)e(w)m
(a)m(y)k(w)m(e)g(ma)m(y)e(de\014ne)j(the)e(set)g(FV\()p
Fs(b)6 b Fu(\))41 b(of)f(free)h(v)-5 b(ariables)40 b(in)g(a)g(b)s(o)s
(olean)283 1130 y(expression)34 b Fs(b)39 b Fu(b)m(y)577
1336 y(FV\()p Fr(true)p Fu(\))231 b(=)100 b Ft(;)577
1504 y Fu(FV\()p Fr(false)p Fu(\))180 b(=)100 b Ft(;)577
1672 y Fu(FV\()p Fs(a)809 1687 y Fn(1)881 1672 y Fu(=)32
b Fs(a)1046 1687 y Fn(2)1086 1672 y Fu(\))101 b(=)f(FV\()p
Fs(a)1633 1687 y Fn(1)1672 1672 y Fu(\))33 b Ft([)g Fu(FV\()p
Fs(a)2074 1687 y Fn(2)2113 1672 y Fu(\))577 1839 y(FV\()p
Fs(a)809 1854 y Fn(1)881 1839 y Ft(\024)g Fs(a)1048 1854
y Fn(2)1088 1839 y Fu(\))99 b(=)h(FV\()p Fs(a)1633 1854
y Fn(1)1672 1839 y Fu(\))33 b Ft([)g Fu(FV\()p Fs(a)2074
1854 y Fn(2)2113 1839 y Fu(\))577 2007 y(FV\()p Ft(:)p
Fs(b)6 b Fu(\))318 b(=)100 b(FV\()p Fs(b)6 b Fu(\))577
2175 y(FV\()p Fs(b)803 2190 y Fn(1)875 2175 y Ft(^)33
b Fs(b)1025 2190 y Fn(2)1064 2175 y Fu(\))123 b(=)100
b(FV\()p Fs(b)1627 2190 y Fn(1)1666 2175 y Fu(\))32 b
Ft([)h Fu(FV\()p Fs(b)2061 2190 y Fn(2)2100 2175 y Fu(\))283
2421 y Fw(Exercise)k(1.12)49 b(\(Essen)m(tial\))31 b
Fu(Let)j Fs(s)41 b Fu(and)34 b Fs(s)2024 2385 y Fi(0)2080
2421 y Fu(b)s(e)g(t)m(w)m(o)g(states)h(satisfying)d(that)h
Fs(s)42 b(x)j Fu(=)33 b Fs(s)3654 2385 y Fi(0)3711 2421
y Fs(x)283 2541 y Fu(for)f(all)f Fs(x)44 b Fu(in)32 b(FV\()p
Fs(b)6 b Fu(\).)43 b(Pro)m(v)m(e)34 b(that)f Ft(B)s Fu([)-17
b([)q Fs(b)6 b Fu(])-17 b(])p Fs(s)41 b Fu(=)32 b Ft(B)t
Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])q Fs(s)2218 2505
y Fi(0)2241 2541 y Fu(.)1413 b Fh(2)283 2845 y Fp(Substitutions)283
3034 y Fu(W)-8 b(e)46 b(shall)d(later)g(b)s(e)i(in)m(terested)h(in)e
(replacing)f(eac)m(h)j(o)s(ccurrence)g(of)e(a)h(v)-5
b(ariable)42 b Fs(y)54 b Fu(in)44 b(an)283 3155 y(arithmetic)j
(expression)i Fs(a)56 b Fu(with)48 b(another)g(arithmetic)e(expression)
k Fs(a)3003 3170 y Fn(0)3042 3155 y Fu(.)91 b(This)48
b(is)g(called)283 3275 y Fs(substitution)39 b Fu(and)30
b(w)m(e)i(write)e Fs(a)7 b Fu([)p Fs(y)i Ft(7!)p Fs(a)1685
3290 y Fn(0)1725 3275 y Fu(])30 b(for)g(the)h(arithmetic)d(expression)k
(so)f(obtained.)42 b(The)283 3395 y(formal)31 b(de\014nition)g(is)h(as)
h(follo)m(ws:)577 3583 y Fs(n)7 b Fu([)p Fs(y)i Ft(7!)p
Fs(a)879 3598 y Fn(0)919 3583 y Fu(])449 b(=)100 b Fs(n)577
3840 y(x)12 b Fu([)p Fs(y)d Ft(7!)p Fs(a)874 3855 y Fn(0)913
3840 y Fu(])455 b(=)1571 3666 y Fg(8)1571 3741 y(<)1571
3890 y(:)1686 3756 y Fs(a)1743 3771 y Fn(0)1866 3756
y Fu(if)31 b Fs(x)44 b Fu(=)33 b Fs(y)1686 3923 y(x)135
b Fu(if)31 b Fs(x)44 b Ft(6)p Fu(=)33 b Fs(y)577 4103
y Fu(\()p Fs(a)672 4118 y Fn(1)744 4103 y Fu(+)g Fs(a)910
4118 y Fn(2)949 4103 y Fu(\)[)p Fs(y)9 b Ft(7!)p Fs(a)1227
4118 y Fn(0)1267 4103 y Fu(])101 b(=)f(\()p Fs(a)1666
4118 y Fn(1)1705 4103 y Fu([)p Fs(y)9 b Ft(7!)p Fs(a)1945
4118 y Fn(0)1985 4103 y Fu(]\))32 b(+)h(\()p Fs(a)2286
4118 y Fn(2)2325 4103 y Fu([)p Fs(y)9 b Ft(7!)p Fs(a)2565
4118 y Fn(0)2605 4103 y Fu(]\))577 4270 y(\()p Fs(a)672
4285 y Fn(1)744 4270 y Fo(?)33 b Fs(a)883 4285 y Fn(2)922
4270 y Fu(\)[)p Fs(y)9 b Ft(7!)p Fs(a)1200 4285 y Fn(0)1240
4270 y Fu(])128 b(=)100 b(\()p Fs(a)1666 4285 y Fn(1)1705
4270 y Fu([)p Fs(y)9 b Ft(7!)p Fs(a)1945 4285 y Fn(0)1985
4270 y Fu(]\))32 b Fo(?)h Fu(\()p Fs(a)2259 4285 y Fn(2)2298
4270 y Fu([)p Fs(y)9 b Ft(7!)p Fs(a)2538 4285 y Fn(0)2578
4270 y Fu(]\))577 4438 y(\()p Fs(a)672 4453 y Fn(1)744
4438 y Ft(\000)33 b Fs(a)911 4453 y Fn(2)951 4438 y Fu(\)[)p
Fs(y)9 b Ft(7!)p Fs(a)1229 4453 y Fn(0)1268 4438 y Fu(])100
b(=)g(\()p Fs(a)1666 4453 y Fn(1)1705 4438 y Fu([)p Fs(y)9
b Ft(7!)p Fs(a)1945 4453 y Fn(0)1985 4438 y Fu(]\))32
b Ft(\000)h Fu(\()p Fs(a)2287 4453 y Fn(2)2327 4438 y
Fu([)p Fs(y)9 b Ft(7!)p Fs(a)2567 4453 y Fn(0)2606 4438
y Fu(]\))283 4652 y(As)34 b(an)e(example)g(\()p Fr(x)p
Fu(+)p Fr(1)p Fu(\)[)p Fr(x)p Ft(7!)p Fr(3)p Fu(])h(=)g
Fr(3)p Fu(+)p Fr(1)g Fu(and)f(\()p Fr(x)p Fu(+)p Fr(y)p
Fo(?)p Fr(x)p Fu(\)[)p Fr(x)p Ft(7!)q Fr(y)p Ft(\000)p
Fr(5)p Fu(])h(=)g(\()p Fr(y)p Ft(\000)p Fr(5)p Fu(\)+)p
Fr(y)p Fo(?)p Fu(\()p Fr(y)p Ft(\000)p Fr(5)p Fu(\).)430
4775 y(W)-8 b(e)48 b(also)e(ha)m(v)m(e)j(a)e(notion)f(of)h
(substitution)g(\(or)g(up)s(dating\))f(for)h(states.)89
b(W)-8 b(e)48 b(de\014ne)283 4895 y Fs(s)8 b Fu([)p Fs(y)h
Ft(7!)p Fs(v)i Fu(])33 b(to)f(b)s(e)h(the)g(state)g(that)f(is)g(as)h
Fs(s)40 b Fu(except)35 b(that)d(the)h(v)-5 b(alue)32
b(b)s(ound)h(to)f Fs(y)41 b Fu(is)33 b Fs(v)11 b Fu(,)32
b(that)g(is)527 5198 y(\()p Fs(s)8 b Fu([)p Fs(y)h Ft(7!)p
Fs(v)i Fu(]\))32 b Fs(x)45 b Fu(=)1147 5023 y Fg(8)1147
5098 y(<)1147 5247 y(:)1262 5113 y Fs(v)176 b Fu(if)31
b Fs(x)44 b Fu(=)33 b Fs(y)1262 5281 y(s)41 b(x)95 b
Fu(if)31 b Fs(x)44 b Ft(6)p Fu(=)33 b Fs(y)283 5494 y
Fu(The)h(relationship)d(b)s(et)m(w)m(een)j(the)f(t)m(w)m(o)h(concepts)g
(is)e(sho)m(wn)i(in)e(the)h(follo)m(wing)c(exercise:)p
eop
%%Page: 17 27
17 26 bop 0 130 a Fw(1.4)112 b(Prop)s(erties)36 b(of)i(the)f(seman)m
(tics)1763 b(17)p 0 193 3473 4 v 0 515 a(Exercise)36
b(1.13)49 b(\(Essen)m(tial\))37 b Fu(Pro)m(v)m(e)k(that)e
Ft(A)p Fu([)-17 b([)p Fs(a)7 b Fu([)p Fs(y)i Ft(7!)p
Fs(a)2164 530 y Fn(0)2204 515 y Fu(]])-17 b(])q Fs(s)47
b Fu(=)39 b Ft(A)p Fu([)-17 b([)p Fs(a)7 b Fu(])-17 b(])q(\()p
Fs(s)8 b Fu([)p Fs(y)h Ft(7!A)p Fu([)-17 b([)p Fs(a)3126
530 y Fn(0)3166 515 y Fu(])g(])q Fs(s)8 b Fu(]\))39 b(for)0
636 y(all)30 b(states)k Fs(s)8 b Fu(.)2910 b Fh(2)0 864
y Fw(Exercise)36 b(1.14)49 b(\(Essen)m(tial\))25 b Fu(De\014ne)i
(substitution)f(for)g(b)s(o)s(olean)g(expressions:)42
b Fs(b)6 b Fu([)p Fs(y)j Ft(7!)p Fs(a)3406 879 y Fn(0)3445
864 y Fu(])0 984 y(is)44 b(to)h(b)s(e)g(the)h(b)s(o)s(olean)d
(expression)j(that)f(is)f(as)i Fs(b)k Fu(except)d(that)e(all)e(o)s
(ccurrences)j(of)f(the)0 1105 y(v)-5 b(ariable)26 b Fs(y)37
b Fu(are)28 b(replaced)h(b)m(y)g(the)f(arithmetic)e(expression)k
Fs(a)2268 1120 y Fn(0)2307 1105 y Fu(.)42 b(Pro)m(v)m(e)30
b(that)e(y)m(our)g(de\014nition)0 1225 y(satis\014es)244
1429 y Ft(B)s Fu([)-17 b([)q Fs(b)6 b Fu([)p Fs(y)j Ft(7!)p
Fs(a)641 1444 y Fn(0)680 1429 y Fu(]])-17 b(])q Fs(s)41
b Fu(=)32 b Ft(B)s Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(])q(\()p
Fs(s)8 b Fu([)p Fs(y)h Ft(7!)o(A)p Fu([)-17 b([)q Fs(a)1572
1444 y Fn(0)1611 1429 y Fu(])g(])q Fs(s)8 b Fu(]\))0
1632 y(for)32 b(all)f(states)i Fs(s)8 b Fu(.)2761 b Fh(2)p
eop
%%Page: 18 28
18 27 bop 251 130 a Fw(18)2575 b(1)113 b(In)m(tro)s(duction)p
251 193 3473 4 v eop
%%Page: 19 29
19 28 bop 0 1180 a Fv(Chapter)78 b(2)0 1595 y(Op)6 b(erational)77
b(Seman)-6 b(tics)0 2047 y Fu(The)27 b(role)e(of)g(a)h(statemen)m(t)g
(in)f Fw(While)f Fu(is)h(to)h(c)m(hange)h(the)f(state.)41
b(F)-8 b(or)25 b(example,)i(if)e Fr(x)h Fu(is)f(b)s(ound)0
2168 y(to)i Fw(3)g Fu(in)g Fs(s)35 b Fu(and)27 b(w)m(e)i(execute)g(the)
f(statemen)m(t)f Fr(x)h Fu(:=)f Fr(x)h Fu(+)f Fr(1)g
Fu(then)h(w)m(e)g(get)g(a)f(new)h(state)g(where)g Fr(x)0
2288 y Fu(is)k(b)s(ound)h(to)f Fw(4)p Fu(.)44 b(So)33
b(while)f(the)h(seman)m(tics)g(of)f(arithmetic)e(and)j(b)s(o)s(olean)e
(expressions)k(only)0 2408 y Fs(insp)-5 b(e)g(ct)43 b
Fu(the)34 b(state)h(in)e(order)h(to)g(determine)g(the)g(v)-5
b(alue)34 b(of)f(the)i(expression,)h(the)e(seman)m(tics)0
2529 y(of)e(statemen)m(ts)i(will)c Fs(mo)-5 b(dify)41
b Fu(the)33 b(state)g(as)f(w)m(ell.)146 2649 y(In)38
b(an)g(op)s(erational)e(seman)m(tics)i(w)m(e)g(are)g(concerned)i(with)d
Fs(how)48 b Fu(to)37 b(execute)j(programs)0 2769 y(and)27
b(not)g(merely)f(what)h(the)h(results)f(of)g(execution)g(are.)42
b(More)27 b(precisely)-8 b(,)28 b(w)m(e)g(are)f(in)m(terested)0
2890 y(in)39 b(ho)m(w)h(the)f(states)i(are)e(mo)s(di\014ed)f(during)h
(the)h(execution)g(of)f(the)h(statemen)m(t.)64 b(W)-8
b(e)40 b(shall)0 3010 y(consider)33 b(t)m(w)m(o)g(di\013eren)m(t)g
(approac)m(hes)h(to)e(op)s(erational)e(seman)m(tics:)145
3211 y Ft(\017)49 b Fs(Natur)-5 b(al)36 b(semantics)p
Fu(:)43 b(its)33 b(purp)s(ose)h(is)e(to)h(describ)s(e)h(ho)m(w)g(the)f
Fs(over)-5 b(al)5 b(l)43 b Fu(results)33 b(of)g(exe-)244
3332 y(cutions)f(are)h(obtained.)145 3535 y Ft(\017)49
b Fs(Structur)-5 b(al)26 b(op)-5 b(er)g(ational)24 b(semantics)p
Fu(:)37 b(its)21 b(purp)s(ose)i(is)e(to)h(describ)s(e)h(ho)m(w)f(the)g
Fs(individual)244 3655 y(steps)40 b Fu(of)32 b(the)h(computations)f
(tak)m(e)h(place.)0 3856 y(W)-8 b(e)46 b(shall)e(see)i(that)f(for)g
(the)h(language)e Fw(While)g Fu(w)m(e)i(can)g(easily)e(sp)s(ecify)i(b)s
(oth)f(kinds)h(of)0 3977 y(seman)m(tics)41 b(and)g(that)g(they)h(will)d
(b)s(e)i(\\equiv)-5 b(alen)m(t")40 b(in)h(a)f(sense)j(to)e(b)s(e)g
(made)g(clear)f(later.)0 4097 y(Ho)m(w)m(ev)m(er,)33
b(w)m(e)f(shall)d(also)h(giv)m(e)h(examples)f(of)g(programming)e
(constructs)k(where)g(one)f(of)f(the)0 4217 y(approac)m(hes)k(is)e(sup)
s(erior)g(to)g(the)h(other.)146 4338 y(F)-8 b(or)43 b(b)s(oth)h(kinds)g
(of)f(op)s(erational)e(seman)m(tics,)47 b(the)d(meaning)e(of)h
(statemen)m(ts)i(will)c(b)s(e)0 4458 y(sp)s(eci\014ed)33
b(b)m(y)h(a)e Fs(tr)-5 b(ansition)35 b(system)p Fu(.)43
b(It)33 b(will)d(ha)m(v)m(e)k(t)m(w)m(o)f(t)m(yp)s(es)h(of)e
(con\014gurations:)294 4651 y Ft(h)o Fs(S)12 b Fu(,)33
b Fs(s)8 b Ft(i)99 b Fu(represen)m(ting)39 b(that)f(the)g(statemen)m(t)
g Fs(S)49 b Fu(is)38 b(to)f(b)s(e)h(executed)i(from)645
4771 y(the)33 b(state)g Fs(s)8 b Fu(,)33 b(and)294 4939
y Fs(s)311 b Fu(represen)m(ting)34 b(a)e(terminal)e(\(that)j(is)f
(\014nal\))g(state.)0 5133 y(The)24 b Fs(terminal)i(c)-5
b(on\014gur)g(ations)31 b Fu(will)21 b(b)s(e)i(those)h(of)f(the)h
(latter)e(form.)39 b(The)25 b Fs(tr)-5 b(ansition)26
b(r)-5 b(elation)0 5254 y Fu(will)31 b(then)j(describ)s(e)g(ho)m(w)g
(the)g(execution)g(tak)m(es)h(place.)45 b(The)34 b(di\013erence)g(b)s
(et)m(w)m(een)i(the)e(t)m(w)m(o)0 5374 y(approac)m(hes)40
b(to)f(op)s(erational)d(seman)m(tics)j(amoun)m(ts)g(to)f(di\013eren)m
(t)i(w)m(a)m(ys)g(of)f(sp)s(ecifying)f(the)0 5494 y(transition)31
b(relation.)1687 5849 y(19)p eop
%%Page: 20 30
20 29 bop 251 130 a Fw(20)2086 b(2)112 b(Op)s(erational)37
b(Seman)m(tics)p 251 193 3473 4 v 283 419 V 283 2467
4 2049 v 609 528 a Fu([ass)761 543 y Fn(ns)833 528 y
Fu(])372 b Ft(h)p Fs(x)44 b Fu(:=)33 b Fs(a)7 b Fu(,)33
b Fs(s)8 b Ft(i)32 b(!)g Fs(s)8 b Fu([)p Fs(x)k Ft(7!A)o
Fu([)-17 b([)q Fs(a)7 b Fu(])-17 b(])q Fs(s)8 b Fu(])609
743 y([skip)807 758 y Fn(ns)879 743 y Fu(])326 b Ft(h)p
Fr(skip)p Fu(,)34 b Fs(s)8 b Ft(i)32 b(!)g Fs(s)609 1035
y Fu([comp)864 1050 y Fn(ns)935 1035 y Fu(])1242 948
y Ft(h)p Fs(S)1348 963 y Fn(1)1387 948 y Fu(,)h Fs(s)8
b Ft(i)32 b(!)g Fs(s)1746 912 y Fi(0)1770 948 y Fu(,)g
Ft(h)p Fs(S)1935 963 y Fn(2)1974 948 y Fu(,)h Fs(s)2082
912 y Fi(0)2105 948 y Ft(i)f(!)h Fs(s)2357 912 y Fi(00)p
1242 1012 1158 4 v 1481 1116 a Ft(h)o Fs(S)1586 1131
y Fn(1)1626 1116 y Fu(;)p Fs(S)1720 1131 y Fn(2)1759
1116 y Fu(,)g Fs(s)8 b Ft(i)32 b(!)g Fs(s)2118 1080 y
Fi(00)609 1397 y Fu([if)706 1361 y Fn(tt)694 1422 y(ns)764
1397 y Fu(])1658 1310 y Ft(h)p Fs(S)1764 1325 y Fn(1)1803
1310 y Fu(,)h Fs(s)8 b Ft(i)32 b(!)g Fs(s)2162 1274 y
Fi(0)p 1242 1374 1360 4 v 1242 1478 a Ft(h)p Fr(if)h
Fs(b)38 b Fr(then)c Fs(S)1804 1493 y Fn(1)1876 1478 y
Fr(else)f Fs(S)2180 1493 y Fn(2)2220 1478 y Fu(,)f Fs(s)8
b Ft(i)33 b(!)f Fs(s)2579 1442 y Fi(0)2677 1397 y Fu(if)f
Ft(B)t Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(])p Fs(s)41
b Fu(=)32 b Fw(tt)609 1759 y Fu([if)706 1723 y Fn(\013)694
1784 y(ns)764 1759 y Fu(])1658 1673 y Ft(h)p Fs(S)1764
1688 y Fn(2)1803 1673 y Fu(,)h Fs(s)8 b Ft(i)32 b(!)g
Fs(s)2162 1636 y Fi(0)p 1242 1736 V 1242 1841 a Ft(h)p
Fr(if)h Fs(b)38 b Fr(then)c Fs(S)1804 1856 y Fn(1)1876
1841 y Fr(else)f Fs(S)2180 1856 y Fn(2)2220 1841 y Fu(,)f
Fs(s)8 b Ft(i)33 b(!)f Fs(s)2579 1804 y Fi(0)2677 1759
y Fu(if)f Ft(B)t Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(])p
Fs(s)41 b Fu(=)32 b Fw(\013)609 2121 y Fu([while)871
2085 y Fn(tt)859 2146 y(ns)930 2121 y Fu(])1242 2035
y Ft(h)p Fs(S)12 b Fu(,)32 b Fs(s)8 b Ft(i)33 b(!)f Fs(s)1707
1998 y Fi(0)1730 2035 y Fu(,)h Ft(h)p Fr(while)g Fs(b)39
b Fr(do)33 b Fs(S)12 b Fu(,)32 b Fs(s)2510 1998 y Fi(0)2534
2035 y Ft(i)g(!)g Fs(s)2785 1998 y Fi(00)p 1242 2098
1586 4 v 1528 2203 a Ft(h)o Fr(while)i Fs(b)39 b Fr(do)33
b Fs(S)12 b Fu(,)32 b Fs(s)8 b Ft(i)32 b(!)h Fs(s)2500
2166 y Fi(00)2903 2121 y Fu(if)e Ft(B)t Fu([)-17 b([)p
Fs(b)6 b Fu(])-17 b(])q Fs(s)40 b Fu(=)33 b Fw(tt)609
2406 y Fu([while)871 2370 y Fn(\013)859 2431 y(ns)930
2406 y Fu(])275 b Ft(h)p Fr(while)34 b Fs(b)k Fr(do)33
b Fs(S)12 b Fu(,)33 b Fs(s)8 b Ft(i)32 b(!)g Fs(s)41
b Fu(if)31 b Ft(B)t Fu([)-17 b([)p Fs(b)6 b Fu(])-17
b(])q Fs(s)40 b Fu(=)33 b Fw(\013)p 3753 2467 4 2049
v 283 2470 3473 4 v 1166 2631 a Fu(T)-8 b(able)32 b(2.1:)44
b(Natural)31 b(seman)m(tics)i(for)f Fw(While)283 2881
y Fj(2.1)161 b(Natural)55 b(seman)l(tics)283 3100 y Fu(In)34
b(a)f(natural)e(seman)m(tics)j(w)m(e)g(are)f(concerned)i(with)d(the)i
(relationship)d(b)s(et)m(w)m(een)k(the)e Fs(initial)283
3220 y Fu(and)j(the)g Fs(\014nal)45 b Fu(state)36 b(of)f(an)g
(execution.)53 b(Therefore)37 b(the)f(transition)e(relation)f(will)g
(sp)s(ecify)283 3340 y(the)40 b(relationship)d(b)s(et)m(w)m(een)k(the)f
(initial)35 b(state)k(and)h(the)f(\014nal)f(state)i(for)e(eac)m(h)i
(statemen)m(t.)283 3461 y(W)-8 b(e)33 b(shall)f(write)g(a)g(transition)
f(as)527 3640 y Ft(h)p Fs(S)12 b Fu(,)33 b Fs(s)8 b Ft(i)32
b(!)g Fs(s)992 3604 y Fi(0)283 3819 y Fu(In)m(tuitiv)m(ely)38
b(this)f(means)h(that)f(the)i(execution)f(of)f Fs(S)50
b Fu(from)36 b Fs(s)46 b Fu(will)36 b(terminate)g(and)i(the)g(re-)283
3940 y(sulting)32 b(state)h(will)d(b)s(e)j Fs(s)1208
3904 y Fi(0)1231 3940 y Fu(.)430 4060 y(The)i(de\014nition)e(of)h
Ft(!)g Fu(is)g(giv)m(en)g(b)m(y)h(the)g(rules)f(of)g(T)-8
b(able)34 b(2.1.)48 b(A)34 b Fs(rule)42 b Fu(has)35 b(the)f(general)283
4181 y(form)537 4323 y Ft(h)p Fs(S)643 4338 y Fn(1)682
4323 y Fu(,)f Fs(s)790 4338 y Fn(1)829 4323 y Ft(i)g(!)f
Fs(s)1081 4286 y Fi(0)1081 4347 y Fn(1)1120 4323 y Fu(,)h
Ft(\001)17 b(\001)g(\001)n Fu(,)33 b Ft(h)p Fs(S)1462
4338 y Fn(n)1505 4323 y Fu(,)f Fs(s)1612 4338 y Fn(n)1656
4323 y Ft(i)g(!)g Fs(s)1907 4286 y Fi(0)1907 4347 y Fn(n)p
537 4386 1414 4 v 1000 4491 a Ft(h)p Fs(S)12 b Fu(,)32
b Fs(s)8 b Ft(i)32 b(!)h Fs(s)1465 4454 y Fi(0)2026 4409
y Fu(if)e Ft(\001)17 b(\001)g(\001)283 4652 y Fu(where)40
b Fs(S)638 4667 y Fn(1)677 4652 y Fu(,)g Ft(\001)17 b(\001)g(\001)n
Fu(,)39 b Fs(S)993 4667 y Fn(n)1074 4652 y Fu(are)g Fs(imme)-5
b(diate)38 b(c)-5 b(onstituents)47 b Fu(of)37 b Fs(S)50
b Fu(or)38 b(are)g(statemen)m(ts)h Fs(c)-5 b(onstructe)g(d)283
4772 y(fr)g(om)43 b Fu(the)35 b(immediate)e(constituen)m(ts)j(of)f
Fs(S)12 b Fu(.)35 b(A)g(rule)g(has)h(a)e(n)m(um)m(b)s(er)i(of)f
Fs(pr)-5 b(emises)42 b Fu(\(written)283 4893 y(ab)s(o)m(v)m(e)29
b(the)f(solid)f(line\))f(and)i(one)g Fs(c)-5 b(onclusion)34
b Fu(\(written)28 b(b)s(elo)m(w)g(the)g(solid)e(line\).)41
b(A)28 b(rule)f(ma)m(y)283 5013 y(also)32 b(ha)m(v)m(e)i(a)e(n)m(um)m
(b)s(er)h(of)e Fs(c)-5 b(onditions)40 b Fu(\(written)32
b(to)g(the)h(righ)m(t)f(of)g(the)g(solid)f(line\))g(that)i(ha)m(v)m(e)
283 5133 y(to)j(b)s(e)g(ful\014lled)e(whenev)m(er)k(the)e(rule)g(is)f
(applied.)52 b(Rules)36 b(with)f(an)h(empt)m(y)g(set)g(of)g(premises)
283 5254 y(are)d(called)e Fs(axioms)40 b Fu(and)33 b(the)g(solid)e
(line)g(is)h(then)h(omitted.)430 5374 y(In)m(tuitiv)m(ely)-8
b(,)32 b(the)g(axiom)e([ass)1531 5389 y Fn(ns)1604 5374
y Fu(])i(sa)m(ys)h(that)f(in)f(a)h(state)h Fs(s)8 b Fu(,)32
b Fs(x)44 b Fu(:=)32 b Fs(a)39 b Fu(is)32 b(executed)i(to)e(yield)283
5494 y(a)38 b(\014nal)f(state)h Fs(s)8 b Fu([)p Fs(x)k
Ft(7!)o(A)p Fu([)-17 b([)p Fs(a)7 b Fu(])-17 b(])q Fs(s)8
b Fu(])38 b(whic)m(h)g(is)f(as)h Fs(s)45 b Fu(except)40
b(that)d Fs(x)49 b Fu(has)38 b(the)g(v)-5 b(alue)37 b
Ft(A)p Fu([)-17 b([)p Fs(a)7 b Fu(])-17 b(])q Fs(s)8
b Fu(.)59 b(This)p eop
%%Page: 21 31
21 30 bop 0 130 a Fw(2.1)112 b(Natural)37 b(seman)m(tics)2216
b(21)p 0 193 3473 4 v 0 515 a Fu(is)45 b(really)f(an)i
Fs(axiom)g(schema)52 b Fu(b)s(ecause)47 b Fs(x)12 b Fu(,)49
b Fs(a)j Fu(and)46 b Fs(s)54 b Fu(are)45 b(meta-v)-5
b(ariables)44 b(standing)h(for)0 636 y(arbitrary)33 b(v)-5
b(ariables,)33 b(arithmetic)e(expressions)36 b(and)d(states)i(but)f(w)m
(e)h(shall)d(simply)g(use)j(the)0 756 y(term)h(axiom)f(for)h(this.)56
b(W)-8 b(e)37 b(obtain)e(an)i Fs(instanc)-5 b(e)43 b
Fu(of)36 b(the)h(axiom)e(b)m(y)j(selecting)e(particular)0
877 y(v)-5 b(ariables,)30 b(arithmetic)e(expressions)k(and)f(states.)43
b(As)31 b(an)g(example,)f(if)f Fs(s)2725 892 y Fn(0)2795
877 y Fu(is)h(the)h(state)g(that)0 997 y(assigns)i(the)g(v)-5
b(alue)32 b Fw(0)g Fu(to)h(all)d(v)-5 b(ariables)31 b(then)244
1188 y Ft(h)p Fr(x)h Fu(:=)h Fr(x)p Fu(+)p Fr(1)p Fu(,)g
Fs(s)788 1203 y Fn(0)827 1188 y Ft(i)g(!)f Fs(s)1079
1203 y Fn(0)1118 1188 y Fu([)p Fr(x)p Ft(7!)p Fw(1)p
Fu(])0 1379 y(is)i(an)f(instance)i(of)e([ass)882 1394
y Fn(ns)954 1379 y Fu(])h(b)s(ecause)i Fs(x)45 b Fu(is)34
b(instan)m(tiated)f(to)h Fr(x)p Fu(,)h Fs(a)41 b Fu(to)33
b Fr(x)p Fu(+)p Fr(1)p Fu(,)i Fs(s)42 b Fu(to)34 b Fs(s)3045
1394 y Fn(0)3084 1379 y Fu(,)h(and)f(the)0 1499 y(v)-5
b(alue)32 b Ft(A)p Fu([)-17 b([)p Fr(x)p Fu(+)p Fr(1)p
Fu(])g(])q Fs(s)633 1514 y Fn(0)705 1499 y Fu(is)32 b(determined)h(to)f
(b)s(e)h Fw(1)p Fu(.)146 1619 y(Similarly)23 b([skip)753
1634 y Fn(ns)824 1619 y Fu(])j(is)g(an)g(axiom)f(and,)j(in)m(tuitiv)m
(ely)-8 b(,)26 b(it)f(sa)m(ys)i(that)f Fr(skip)i Fu(do)s(es)e(not)h(c)m
(hange)0 1740 y(the)33 b(state.)44 b(Letting)32 b Fs(s)836
1755 y Fn(0)908 1740 y Fu(b)s(e)h(as)f(ab)s(o)m(v)m(e)i(w)m(e)f(obtain)
244 1931 y Ft(h)p Fr(skip)p Fu(,)g Fs(s)595 1946 y Fn(0)635
1931 y Ft(i)f(!)g Fs(s)886 1946 y Fn(0)0 2122 y Fu(as)h(an)f(instance)h
(of)f(the)h(axiom)e([skip)1402 2137 y Fn(ns)1474 2122
y Fu(].)146 2242 y(In)m(tuitiv)m(ely)-8 b(,)35 b(the)f(rule)g([comp)
1263 2257 y Fn(ns)1334 2242 y Fu(])g(sa)m(ys)i(that)e(to)g(execute)i
Fs(S)2356 2257 y Fn(1)2395 2242 y Fu(;)p Fs(S)2489 2257
y Fn(2)2563 2242 y Fu(from)d(state)i Fs(s)42 b Fu(w)m(e)35
b(m)m(ust)0 2362 y(\014rst)k(execute)i Fs(S)630 2377
y Fn(1)708 2362 y Fu(from)d Fs(s)8 b Fu(.)63 b(Assuming)38
b(that)h(this)f(yields)h(a)g(\014nal)f(state)h Fs(s)2836
2326 y Fi(0)2898 2362 y Fu(w)m(e)h(shall)e(then)0 2483
y(execute)26 b Fs(S)408 2498 y Fn(2)472 2483 y Fu(from)d
Fs(s)742 2447 y Fi(0)765 2483 y Fu(.)41 b(The)25 b(premises)f(of)g(the)
h(rule)f(are)g(concerned)i(with)e(the)g(t)m(w)m(o)h(statemen)m(ts)0
2603 y Fs(S)67 2618 y Fn(1)134 2603 y Fu(and)i Fs(S)385
2618 y Fn(2)451 2603 y Fu(whereas)i(the)f(conclusion)f(expresses)j(a)d
(prop)s(ert)m(y)h(of)f(the)h(comp)s(osite)e(statemen)m(t)0
2723 y(itself.)42 b(The)34 b(follo)m(wing)c(is)i(an)g
Fs(instanc)-5 b(e)39 b Fu(of)32 b(the)h(rule:)254 2896
y Ft(h)p Fr(skip)p Fu(,)g Fs(s)605 2911 y Fn(0)645 2896
y Ft(i)f(!)g Fs(s)896 2911 y Fn(0)936 2896 y Fu(,)g Ft(h)p
Fr(x)h Fu(:=)f Fr(x)p Fu(+)p Fr(1)p Fu(,)h Fs(s)1539
2911 y Fn(0)1579 2896 y Ft(i)f(!)g Fs(s)1830 2911 y Fn(0)1870
2896 y Fu([)p Fr(x)p Ft(7!)p Fw(1)p Fu(])p 254 2960 1878
4 v 492 3064 a Ft(h)p Fr(skip)p Fu(;)i Fr(x)e Fu(:=)h
Fr(x)p Fu(+)p Fr(1)p Fu(,)g Fs(s)1301 3079 y Fn(0)1340
3064 y Ft(i)g(!)f Fs(s)1592 3079 y Fn(0)1631 3064 y Fu([)p
Fr(x)p Ft(7!)p Fw(1)p Fu(])0 3241 y(Here)j Fs(S)299 3256
y Fn(1)372 3241 y Fu(is)f(instan)m(tiated)f(to)g Fr(skip)p
Fu(,)j Fs(S)1467 3256 y Fn(2)1540 3241 y Fu(to)e Fr(x)g
Fu(:=)g Fr(x)g Fu(+)g Fr(1)p Fu(,)h Fs(s)42 b Fu(and)34
b Fs(s)2512 3205 y Fi(0)2569 3241 y Fu(are)g(b)s(oth)g(instan)m(tiated)
0 3361 y(to)e Fs(s)167 3376 y Fn(0)239 3361 y Fu(and)h
Fs(s)477 3325 y Fi(00)552 3361 y Fu(is)f(instan)m(tiated)g(to)g
Fs(s)1357 3376 y Fn(0)1397 3361 y Fu([)p Fr(x)p Ft(7!)p
Fw(1)p Fu(].)43 b(Similarly)254 3540 y Ft(h)p Fr(skip)p
Fu(,)33 b Fs(s)605 3555 y Fn(0)645 3540 y Ft(i)f(!)g
Fs(s)896 3555 y Fn(0)936 3540 y Fu([)p Fr(x)p Ft(7!)p
Fw(5)p Fu(],)g Ft(h)p Fr(x)h Fu(:=)f Fr(x)p Fu(+)p Fr(1)p
Fu(,)h Fs(s)1800 3555 y Fn(0)1840 3540 y Fu([)p Fr(x)p
Ft(7!)p Fw(5)p Fu(])p Ft(i)f(!)h Fs(s)2353 3555 y Fn(0)p
254 3603 2139 4 v 753 3708 a Ft(h)p Fr(skip)p Fu(;)h
Fr(x)f Fu(:=)f Fr(x)p Fu(+)p Fr(1)p Fu(,)h Fs(s)1562
3723 y Fn(0)1602 3708 y Ft(i)f(!)g Fs(s)1853 3723 y Fn(0)0
3886 y Fu(is)37 b(an)g(instance)g(of)g([comp)998 3901
y Fn(ns)1069 3886 y Fu(])g(although)f(it)h(is)f(less)i(in)m(teresting)f
(b)s(ecause)h(its)f(premises)g(can)0 4007 y(nev)m(er)d(b)s(e)f(deriv)m
(ed)g(from)f(the)h(axioms)e(and)i(rules)f(of)g(T)-8 b(able)33
b(2.1.)146 4127 y(F)-8 b(or)24 b(the)g Fr(if)p Fu(-construct)i(w)m(e)f
(ha)m(v)m(e)g(t)m(w)m(o)g(rules.)41 b(The)25 b(\014rst)g(one,)h([if)
2505 4091 y Fn(tt)2493 4152 y(ns)2563 4127 y Fu(],)g(sa)m(ys)g(that)e
(to)f(execute)0 4247 y Fr(if)41 b Fs(b)46 b Fr(then)41
b Fs(S)546 4262 y Fn(1)625 4247 y Fr(else)g Fs(S)937
4262 y Fn(2)1016 4247 y Fu(w)m(e)h(simply)c(execute)k
Fs(S)1911 4262 y Fn(1)1991 4247 y Fu(pro)m(vided)e(that)g
Fs(b)46 b Fu(ev)-5 b(aluates)40 b(to)g Fw(tt)f Fu(in)0
4368 y(the)46 b(state.)81 b(The)47 b(other)e(rule,)j([if)1311
4332 y Fn(\013)1299 4392 y(ns)1369 4368 y Fu(],)h(sa)m(ys)d(that)f(if)f
Fs(b)51 b Fu(ev)-5 b(aluates)45 b(to)g Fw(\013)h Fu(then)g(to)e
(execute)0 4488 y Fr(if)33 b Fs(b)38 b Fr(then)c Fs(S)523
4503 y Fn(1)595 4488 y Fr(else)f Fs(S)899 4503 y Fn(2)980
4488 y Fu(w)m(e)42 b(just)g(execute)h Fs(S)1759 4503
y Fn(2)1799 4488 y Fu(.)69 b(T)-8 b(aking)41 b Fs(s)2277
4503 y Fn(0)2358 4488 y Fr(x)h Fu(=)f Fw(0)g Fu(the)h(follo)m(wing)d
(is)h(an)0 4609 y(instance)33 b(of)f(the)h(rule)f([if)951
4572 y Fn(tt)939 4633 y(ns)1009 4609 y Fu(]:)912 4787
y Ft(h)p Fr(skip)p Fu(,)h Fs(s)1263 4802 y Fn(0)1303
4787 y Ft(i)f(!)g Fs(s)1554 4802 y Fn(0)p 254 4850 1999
4 v 254 4955 a Ft(h)p Fr(if)h(x)f Fu(=)h Fr(0)g(then)g(skip)h(else)f(x)
g Fu(:=)g Fr(x)p Fu(+)p Fr(1)p Fu(,)g Fs(s)1922 4970
y Fn(0)1961 4955 y Ft(i)f(!)h Fs(s)2213 4970 y Fn(0)0
5133 y Fu(b)s(ecause)40 b Ft(B)t Fu([)-17 b([)p Fr(x)39
b Fu(=)g Fr(0)p Fu(])-17 b(])q Fs(s)815 5148 y Fn(0)893
5133 y Fu(=)39 b Fw(tt)p Fu(.)61 b(Ho)m(w)m(ev)m(er,)43
b(had)c(it)f(b)s(een)h(the)h(case)f(that)g Fs(s)2801
5148 y Fn(0)2879 5133 y Fr(x)g Ft(6)p Fu(=)g Fw(0)g Fu(then)g(it)0
5254 y(w)m(ould)31 b(not)g(b)s(e)h(an)f(instance)g(of)g(the)h(rule)f
([if)1667 5218 y Fn(tt)1655 5278 y(ns)1725 5254 y Fu(])g(b)s(ecause)i
(then)f Ft(B)s Fu([)-17 b([)q Fr(x)31 b Fu(=)g Fr(0)p
Fu(])-17 b(])q Fs(s)2796 5269 y Fn(0)2867 5254 y Fu(w)m(ould)31
b(amoun)m(t)0 5374 y(to)26 b Fw(\013)p Fu(.)41 b(F)-8
b(urthermore)26 b(it)f(w)m(ould)g(not)h(b)s(e)g(an)g(instance)h(of)e
(the)h(rule)g([if)2520 5338 y Fn(\013)2508 5399 y(ns)2578
5374 y Fu(])g(b)s(ecause)h(the)g(premise)0 5494 y(has)33
b(the)g(wrong)g(form.)p eop
%%Page: 22 32
22 31 bop 251 130 a Fw(22)2086 b(2)112 b(Op)s(erational)37
b(Seman)m(tics)p 251 193 3473 4 v 430 515 a Fu(Finally)-8
b(,)28 b(w)m(e)k(ha)m(v)m(e)g(one)f(rule)f(and)h(one)g(axiom)e
(expressing)j(ho)m(w)f(to)f(execute)j(the)e Fr(while)p
Fu(-)283 636 y(construct.)60 b(In)m(tuitiv)m(ely)-8 b(,)38
b(the)g(meaning)e(of)h(the)h(construct)g Fr(while)h Fs(b)k
Fr(do)38 b Fs(S)50 b Fu(in)36 b(the)i(state)g Fs(s)283
756 y Fu(can)33 b(b)s(e)g(explained)f(as)h(follo)m(ws:)429
955 y Ft(\017)48 b Fu(If)29 b(the)g(test)g Fs(b)35 b
Fu(ev)-5 b(aluates)28 b(to)h(true)g(in)e(the)i(state)g
Fs(s)37 b Fu(then)29 b(w)m(e)h(\014rst)f(execute)i(the)e(b)s(o)s(dy)f
(of)527 1076 y(the)33 b(lo)s(op)e(and)i(then)g(con)m(tin)m(ue)g(with)g
(the)g(lo)s(op)e(itself)g(from)g(the)i(state)g(so)g(obtained.)429
1278 y Ft(\017)48 b Fu(If)35 b(the)h(test)g Fs(b)41 b
Fu(ev)-5 b(aluates)35 b(to)g(false)f(in)h(the)g(state)h
Fs(s)43 b Fu(then)36 b(the)f(execution)h(of)f(the)g(lo)s(op)527
1398 y(terminates.)283 1597 y(The)47 b(rule)d([while)966
1561 y Fn(tt)954 1622 y(ns)1025 1597 y Fu(])h(formalizes)e(the)j
(\014rst)f(case)h(where)h Fs(b)k Fu(ev)-5 b(aluates)45
b(to)g Fw(tt)f Fu(and)h(it)f(sa)m(ys)283 1717 y(that)49
b(then)h(w)m(e)f(ha)m(v)m(e)i(to)d(execute)j Fs(S)60
b Fu(follo)m(w)m(ed)48 b(b)m(y)i Fr(while)34 b Fs(b)k
Fr(do)33 b Fs(S)61 b Fu(again.)91 b(The)49 b(axiom)283
1838 y([while)545 1802 y Fn(\013)533 1862 y(ns)604 1838
y Fu(])33 b(formalizes)e(the)j(second)g(p)s(ossibilit)m(y)d(and)j
(states)g(that)f(if)f Fs(b)39 b Fu(ev)-5 b(aluates)33
b(to)g Fw(\013)g Fu(then)283 1958 y(w)m(e)41 b(terminate)d(the)h
(execution)h(of)f(the)h Fr(while)p Fu(-construct)h(lea)m(ving)d(the)i
(state)f(unc)m(hanged.)283 2079 y(Note)33 b(that)f(the)h(rule)f([while)
1355 2042 y Fn(tt)1343 2103 y(ns)1413 2079 y Fu(])g(sp)s(eci\014es)i
(the)f(meaning)e(of)g(the)i Fr(while)p Fu(-construct)h(in)e(terms)283
2199 y(of)d(the)h(meaning)e(of)h(the)h(v)m(ery)h(same)e(construct)i(so)
f(that)f(w)m(e)h(do)g Fs(not)38 b Fu(ha)m(v)m(e)31 b(a)e(comp)s
(ositional)283 2319 y(de\014nition)j(of)g(the)h(seman)m(tics)g(of)f
(statemen)m(ts.)430 2440 y(When)e(w)m(e)g(use)g(the)f(axioms)f(and)h
(rules)g(to)f(deriv)m(e)i(a)f(transition)e Ft(h)p Fs(S)12
b Fu(,)28 b Fs(s)8 b Ft(i)29 b(!)g Fs(s)3293 2404 y Fi(0)3345
2440 y Fu(w)m(e)h(obtain)283 2560 y(a)41 b Fs(derivation)h(tr)-5
b(e)g(e)p Fu(.)68 b(The)42 b Fs(r)-5 b(o)g(ot)50 b Fu(of)40
b(the)h(deriv)-5 b(ation)40 b(tree)h(is)f Ft(h)p Fs(S)12
b Fu(,)41 b Fs(s)8 b Ft(i)40 b(!)h Fs(s)3074 2524 y Fi(0)3138
2560 y Fu(and)g(the)g Fs(le)-5 b(aves)283 2680 y Fu(are)37
b(instances)g(of)e(axioms.)53 b(The)37 b Fs(internal)h(no)-5
b(des)44 b Fu(are)36 b(conclusions)g(of)f(instan)m(tiated)h(rules)283
2801 y(and)k(they)h(ha)m(v)m(e)g(the)f(corresp)s(onding)g(premises)f
(as)h(their)f(immediate)e(sons.)66 b(W)-8 b(e)40 b(request)283
2921 y(that)c(all)e(the)j(instan)m(tiated)e(conditions)g(of)h(axioms)f
(and)h(rules)g(m)m(ust)g(b)s(e)g(satis\014ed.)55 b(When)283
3042 y(displa)m(ying)37 b(a)h(deriv)-5 b(ation)37 b(tree)i(it)e(is)g
(common)g(to)h(ha)m(v)m(e)i(the)e(ro)s(ot)g(at)f(the)i(b)s(ottom)e
(rather)283 3162 y(than)28 b(at)e(the)i(top;)g(hence)h(the)e(son)h(is)e
Fs(ab)-5 b(ove)34 b Fu(its)26 b(father.)42 b(A)27 b(deriv)-5
b(ation)25 b(tree)j(is)e(called)g Fs(simple)283 3282
y Fu(if)32 b(it)f(is)i(an)f(instance)h(of)f(an)g(axiom,)g(otherwise)h
(it)e(is)h(called)g Fs(c)-5 b(omp)g(osite)7 b Fu(.)283
3505 y Fw(Example)37 b(2.1)49 b Fu(Let)33 b(us)g(\014rst)g(consider)g
(the)g(statemen)m(t)g(of)f(Chapter)h(1:)527 3704 y(\()p
Fr(z)p Fu(:=)p Fr(x)p Fu(;)g Fr(x)p Fu(:=)p Fr(y)p Fu(\);)g
Fr(y)p Fu(:=)p Fr(z)283 3903 y Fu(Let)i Fs(s)508 3918
y Fn(0)582 3903 y Fu(b)s(e)f(the)h(state)f(that)g(maps)g(all)e(v)-5
b(ariables)33 b(except)j Fr(x)f Fu(and)f Fr(y)h Fu(to)e
Fw(0)i Fu(and)f(has)h Fs(s)3436 3918 y Fn(0)3508 3903
y Fr(x)d Fu(=)h Fw(5)283 4023 y Fu(and)g Fs(s)521 4038
y Fn(0)593 4023 y Fr(y)g Fu(=)f Fw(7)p Fu(.)44 b(Then)34
b(the)f(follo)m(wing)c(is)k(an)f(example)g(of)g(a)g(deriv)-5
b(ation)31 b(tree:)577 4217 y Ft(h)p Fr(z)p Fu(:=)p Fr(x)p
Fu(,)i Fs(s)929 4232 y Fn(0)969 4217 y Ft(i)f(!)g Fs(s)1220
4232 y Fn(1)1577 4217 y Ft(h)p Fr(x)p Fu(:=)p Fr(y)p
Fu(,)h Fs(s)1929 4232 y Fn(1)1968 4217 y Ft(i)f(!)h Fs(s)2220
4232 y Fn(2)p 527 4303 1782 4 v 944 4505 a Ft(h)p Fr(z)p
Fu(:=)p Fr(x)p Fu(;)g Fr(x)p Fu(:=)p Fr(y)p Fu(,)g Fs(s)1561
4520 y Fn(0)1601 4505 y Ft(i)f(!)g Fs(s)1852 4520 y Fn(2)2576
4505 y Ft(h)p Fr(y)p Fu(:=)p Fr(z)p Fu(,)h Fs(s)2928
4520 y Fn(2)2968 4505 y Ft(i)f(!)g Fs(s)3219 4520 y Fn(3)p
527 4591 2782 4 v 1274 4793 a Ft(h)p Fu(\()p Fr(z)p Fu(:=)p
Fr(x)p Fu(;)h Fr(x)p Fu(:=)p Fr(y)p Fu(\);)g Fr(y)p Fu(:=)p
Fr(z)p Fu(,)g Fs(s)2232 4808 y Fn(0)2271 4793 y Ft(i)g(!)f
Fs(s)2523 4808 y Fn(3)283 4985 y Fu(where)i(w)m(e)g(ha)m(v)m(e)g(used)g
(the)f(abbreviations:)577 5156 y Fs(s)625 5171 y Fn(1)764
5156 y Fu(=)100 b Fs(s)988 5171 y Fn(0)1027 5156 y Fu([)p
Fr(z)p Ft(7!)p Fw(5)p Fu(])577 5324 y Fs(s)625 5339 y
Fn(2)764 5324 y Fu(=)g Fs(s)988 5339 y Fn(1)1027 5324
y Fu([)p Fr(x)p Ft(7!)p Fw(7)p Fu(])577 5492 y Fs(s)625
5507 y Fn(3)764 5492 y Fu(=)g Fs(s)988 5507 y Fn(2)1027
5492 y Fu([)p Fr(y)p Ft(7!)p Fw(5)p Fu(])p eop
%%Page: 23 33
23 32 bop 0 130 a Fw(2.1)112 b(Natural)37 b(seman)m(tics)2216
b(23)p 0 193 3473 4 v 0 515 a Fu(The)40 b(deriv)-5 b(ation)37
b(tree)j(has)g(three)f(lea)m(v)m(es)i(denoted)f Ft(h)o
Fr(z)p Fu(:=)p Fr(x)p Fu(,)i Fs(s)2331 530 y Fn(0)2370
515 y Ft(i)d(!)g Fs(s)2635 530 y Fn(1)2674 515 y Fu(,)i
Ft(h)p Fr(x)p Fu(:=)p Fr(y)p Fu(,)g Fs(s)3102 530 y Fn(1)3141
515 y Ft(i)e(!)g Fs(s)3406 530 y Fn(2)3445 515 y Fu(,)0
636 y(and)28 b Ft(h)p Fr(y)p Fu(:=)p Fr(z)p Fu(,)h Fs(s)533
651 y Fn(2)573 636 y Ft(i)e(!)h Fs(s)815 651 y Fn(3)854
636 y Fu(,)h(corresp)s(onding)f(to)g(three)g(applications)e(of)i(the)g
(axiom)e([ass)3136 651 y Fn(ns)3208 636 y Fu(].)42 b(The)0
756 y(rule)32 b([comp)450 771 y Fn(ns)521 756 y Fu(])h(has)g(b)s(een)g
(applied)e(t)m(wice.)44 b(One)33 b(instance)g(is)254
916 y Ft(h)p Fr(z)p Fu(:=)p Fr(x)p Fu(,)g Fs(s)606 931
y Fn(0)645 916 y Ft(i)f(!)h Fs(s)897 931 y Fn(1)936 916
y Fu(,)g Ft(h)o Fr(x)p Fu(:=)p Fr(y)p Fu(,)h Fs(s)1348
931 y Fn(1)1387 916 y Ft(i)e(!)h Fs(s)1639 931 y Fn(2)p
254 980 1425 4 v 492 1084 a Ft(h)p Fr(z)p Fu(:=)p Fr(x)p
Fu(;)g Fr(x)p Fu(:=)p Fr(y)p Fu(,)g Fs(s)1109 1099 y
Fn(0)1149 1084 y Ft(i)f(!)g Fs(s)1400 1099 y Fn(2)0 1245
y Fu(whic)m(h)j(has)g(b)s(een)g(used)h(to)e(com)m(bine)g(the)g(lea)m(v)
m(es)i Ft(h)p Fr(z)p Fu(:=)p Fr(x)p Fu(,)f Fs(s)2224
1260 y Fn(0)2264 1245 y Ft(i)f(!)g Fs(s)2519 1260 y Fn(1)2593
1245 y Fu(and)g Ft(h)p Fr(x)p Fu(:=)p Fr(y)p Fu(,)h Fs(s)3138
1260 y Fn(1)3178 1245 y Ft(i)f(!)g Fs(s)3433 1260 y Fn(2)0
1365 y Fu(with)e(the)h(in)m(ternal)f(no)s(de)g(lab)s(elled)f
Ft(h)o Fr(z)p Fu(:=)p Fr(x)p Fu(;)j Fr(x)p Fu(:=)p Fr(y)p
Fu(,)f Fs(s)1964 1380 y Fn(0)2003 1365 y Ft(i)f(!)h Fs(s)2255
1380 y Fn(2)2294 1365 y Fu(.)44 b(The)33 b(other)g(instance)g(is)254
1525 y Ft(h)p Fr(z)p Fu(:=)p Fr(x)p Fu(;)g Fr(x)p Fu(:=)p
Fr(y)p Fu(,)g Fs(s)871 1540 y Fn(0)910 1525 y Ft(i)g(!)f
Fs(s)1162 1540 y Fn(2)1201 1525 y Fu(,)h Ft(h)p Fr(y)p
Fu(:=)p Fr(z)p Fu(,)g Fs(s)1613 1540 y Fn(2)1652 1525
y Ft(i)g(!)f Fs(s)1904 1540 y Fn(3)p 254 1589 1690 4
v 454 1693 a Ft(h)p Fu(\()p Fr(z)p Fu(:=)p Fr(x)p Fu(;)h
Fr(x)p Fu(:=)p Fr(y)p Fu(\);)g Fr(y)p Fu(:=)p Fr(z)p
Fu(,)g Fs(s)1412 1708 y Fn(0)1452 1693 y Ft(i)f(!)g Fs(s)1703
1708 y Fn(3)0 1854 y Fu(whic)m(h)h(has)f(b)s(een)i(used)f(to)f(com)m
(bine)g(the)g(in)m(ternal)f(no)s(de)i Ft(h)p Fr(z)p Fu(:=)p
Fr(x)p Fu(;)g Fr(x)p Fu(:=)p Fr(y)p Fu(,)f Fs(s)2785
1869 y Fn(0)2825 1854 y Ft(i)g(!)g Fs(s)3076 1869 y Fn(2)3148
1854 y Fu(and)g(the)0 1974 y(leaf)g Ft(h)o Fr(y)p Fu(:=)p
Fr(z)p Fu(,)h Fs(s)533 1989 y Fn(2)573 1974 y Ft(i)f(!)g
Fs(s)824 1989 y Fn(3)896 1974 y Fu(with)h(the)g(ro)s(ot)e
Ft(h)p Fu(\()p Fr(z)p Fu(:=)p Fr(x)p Fu(;)i Fr(x)p Fu(:=)p
Fr(y)p Fu(\);)g Fr(y)p Fu(:=)p Fr(z)p Fu(,)g Fs(s)2453
1989 y Fn(0)2493 1974 y Ft(i)f(!)g Fs(s)2744 1989 y Fn(3)2784
1974 y Fu(.)587 b Fh(2)146 2161 y Fu(Consider)37 b(no)m(w)f(the)h
(problem)d(of)i(constructing)g(a)g(deriv)-5 b(ation)34
b(tree)i(for)g(a)f(giv)m(en)h(state-)0 2282 y(men)m(t)43
b Fs(S)54 b Fu(and)43 b(state)g Fs(s)8 b Fu(.)74 b(The)43
b(b)s(est)h(w)m(a)m(y)g(to)e(approac)m(h)h(this)f(is)h(to)f(try)h(to)f
(construct)i(the)0 2402 y(tree)37 b(from)f(the)i(ro)s(ot)e(up)m(w)m
(ards.)58 b(So)37 b(w)m(e)h(will)c(start)j(b)m(y)h(\014nding)f(an)g
(axiom)e(or)i(rule)f(with)h(a)0 2523 y(conclusion)g(where)j(the)e
(left-hand)f(side)h(matc)m(hes)h(the)f(con\014guration)f
Ft(h)p Fs(S)12 b Fu(,)38 b Fs(s)8 b Ft(i)p Fu(.)59 b(There)39
b(are)0 2643 y(t)m(w)m(o)33 b(cases:)145 2816 y Ft(\017)49
b Fu(If)43 b(it)e(is)h(an)h Fs(axiom)49 b Fu(and)43 b(if)f(the)h
(conditions)f(of)g(the)h(axiom)e(are)i(satis\014ed)g(then)g(w)m(e)244
2936 y(can)37 b(determine)g(the)h(\014nal)f(state)g(and)h(the)f
(construction)h(of)f(the)g(deriv)-5 b(ation)36 b(tree)i(is)244
3057 y(completed.)145 3250 y Ft(\017)49 b Fu(If)28 b(it)g(is)g(a)h
Fs(rule)36 b Fu(then)29 b(the)g(next)h(step)f(is)g(to)f(try)h(to)f
(construct)i(deriv)-5 b(ation)27 b(trees)j(for)e(the)244
3370 y(premises)33 b(of)f(the)h(rule.)44 b(When)34 b(this)e(has)i(b)s
(een)f(done,)h(it)d(m)m(ust)i(b)s(e)g(c)m(hec)m(k)m(ed)j(that)d(the)244
3490 y(conditions)e(of)g(the)i(rule)e(are)h(ful\014lled,)f(and)h(only)f
(then)i(can)f(w)m(e)h(determine)f(the)g(\014nal)244 3611
y(state)h(corresp)s(onding)f(to)h Ft(h)o Fs(S)12 b Fu(,)33
b Fs(s)8 b Ft(i)p Fu(.)0 3784 y(Often)25 b(there)h(will)d(b)s(e)i(more)
f(than)i(one)f(axiom)e(or)i(rule)g(that)g(matc)m(hes)g(a)g(giv)m(en)g
(con\014guration)0 3904 y(and)j(then)h(the)f(v)-5 b(arious)28
b(p)s(ossibilities)d(ha)m(v)m(e)k(to)f(b)s(e)g(insp)s(ected)h(in)e
(order)h(to)g(\014nd)g(a)g(deriv)-5 b(ation)0 4024 y(tree.)53
b(W)-8 b(e)36 b(shall)e(see)i(later)f(that)g(for)g Fw(While)f
Fu(there)i(will)d(b)s(e)j(at)f(most)g(one)h(deriv)-5
b(ation)34 b(tree)0 4145 y(for)27 b(eac)m(h)i(transition)e
Ft(h)o Fs(S)12 b Fu(,)28 b Fs(s)8 b Ft(i)28 b(!)g Fs(s)1251
4109 y Fi(0)1302 4145 y Fu(but)g(that)g(this)g(need)h(not)f(hold)f(in)g
(extensions)i(of)f Fw(While)p Fu(.)0 4332 y Fw(Example)37
b(2.2)48 b Fu(Consider)33 b(the)g(factorial)e(statemen)m(t:)244
4505 y Fr(y)p Fu(:=)p Fr(1)p Fu(;)i Fr(while)h Ft(:)p
Fu(\()p Fr(x)p Fu(=)p Fr(1)p Fu(\))f Fr(do)g Fu(\()p
Fr(y)p Fu(:=)p Fr(y)g Fo(?)f Fr(x)p Fu(;)h Fr(x)p Fu(:=)p
Fr(x)p Ft(\000)p Fr(1)p Fu(\))0 4678 y(and)g(let)f Fs(s)40
b Fu(b)s(e)33 b(a)f(state)h(with)f Fs(s)41 b Fr(x)33
b Fu(=)f Fw(3)p Fu(.)44 b(In)33 b(this)f(example)g(w)m(e)i(shall)d(sho)
m(w)i(that)269 4845 y Ft(h)o Fr(y)p Fu(:=)p Fr(1)p Fu(;)h
Fr(while)f Ft(:)q Fu(\()p Fr(x)p Fu(=)p Fr(1)p Fu(\))g
Fr(do)g Fu(\()p Fr(y)p Fu(:=)p Fr(y)g Fo(?)f Fr(x)p Fu(;)h
Fr(x)p Fu(:=)p Fr(x)p Ft(\000)p Fr(1)p Fu(\),)h Fs(s)8
b Ft(i)32 b(!)g Fs(s)8 b Fu([)p Fr(y)p Ft(7!)p Fw(6)p
Fu(][)p Fr(x)p Ft(7!)p Fw(1)p Fu(])277 b(\(*\))0 5013
y(T)-8 b(o)42 b(do)f(so)h(w)m(e)g(shall)e(sho)m(w)j(that)e(\(*\))g(can)
h(b)s(e)g(obtained)e(from)h(the)h(transition)d(system)k(of)0
5133 y(T)-8 b(able)37 b(2.1.)56 b(This)37 b(is)g(done)g(b)m(y)h
(constructing)g(a)e(deriv)-5 b(ation)36 b(tree)h(with)g(the)g
(transition)f(\(*\))0 5254 y(as)d(its)f(ro)s(ot.)146
5374 y(Rather)26 b(than)g(presen)m(ting)h(the)f(complete)g(deriv)-5
b(ation)24 b(tree)j Fs(T)39 b Fu(in)25 b(one)h(go,)h(w)m(e)g(shall)e
(build)0 5494 y(it)i(in)h(an)g(up)m(w)m(ards)j(manner.)41
b(Initially)-8 b(,)27 b(w)m(e)i(only)f(kno)m(w)i(that)e(the)h(ro)s(ot)e
(of)h Fs(T)42 b Fu(is)28 b(of)g(the)h(form:)p eop
%%Page: 24 34
24 33 bop 251 130 a Fw(24)2086 b(2)112 b(Op)s(erational)37
b(Seman)m(tics)p 251 193 3473 4 v 527 515 a Ft(h)p Fr(y)p
Fu(:=)p Fr(1)p Fu(;)c Fr(while)h Ft(:)p Fu(\()p Fr(x)p
Fu(=)p Fr(1)p Fu(\))f Fr(do)g Fu(\()p Fr(y)p Fu(:=)p
Fr(y)g Fo(?)g Fr(x)p Fu(;)f Fr(x)p Fu(:=)p Fr(x)p Ft(\000)p
Fr(1)p Fu(\),)i Fs(s)8 b Ft(i)33 b(!)f Fs(s)2808 530
y Fn(61)283 700 y Fu(Ho)m(w)m(ev)m(er,)j(the)e(statemen)m(t)527
885 y Fr(y)p Fu(:=)p Fr(1)p Fu(;)g Fr(while)h Ft(:)q
Fu(\()p Fr(x)p Fu(=)p Fr(1)p Fu(\))f Fr(do)g Fu(\()p
Fr(y)p Fu(:=)p Fr(y)g Fo(?)f Fr(x)p Fu(;)h Fr(x)p Fu(:=)p
Fr(x)p Ft(\000)p Fr(1)p Fu(\))283 1070 y(is)38 b(of)f(the)h(form)e
Fs(S)978 1085 y Fn(1)1017 1070 y Fu(;)k Fs(S)1151 1085
y Fn(2)1228 1070 y Fu(so)e(the)g(only)f(rule)g(that)h(could)f(ha)m(v)m
(e)i(b)s(een)f(used)h(to)e(pro)s(duce)h(the)283 1190
y(ro)s(ot)32 b(of)g Fs(T)46 b Fu(is)32 b([comp)1072 1205
y Fn(ns)1143 1190 y Fu(].)43 b(Therefore)34 b Fs(T)46
b Fu(m)m(ust)32 b(ha)m(v)m(e)i(the)f(form:)813 1372 y
Ft(h)p Fr(y)p Fu(:=)p Fr(1)p Fu(,)g Fs(s)8 b Ft(i!)p
Fs(s)1352 1387 y Fn(13)2411 1372 y Fs(T)2494 1387 y Fn(1)p
527 1459 2325 4 v 577 1664 a Ft(h)p Fr(y)p Fu(:=)p Fr(1)p
Fu(;)33 b Fr(while)h Ft(:)p Fu(\()p Fr(x)p Fu(=)p Fr(1)p
Fu(\))f Fr(do)g Fu(\()p Fr(y)p Fu(:=)p Fr(y)p Fo(?)p
Fr(x)p Fu(;)g Fr(x)p Fu(:=)p Fr(x)p Ft(\000)p Fr(1)p
Fu(\),)h Fs(s)8 b Ft(i!)o Fs(s)2727 1679 y Fn(61)283
1842 y Fu(for)32 b(some)h(state)g Fs(s)964 1857 y Fn(13)1071
1842 y Fu(and)g(some)f(deriv)-5 b(ation)31 b(tree)i Fs(T)2241
1857 y Fn(1)2313 1842 y Fu(whic)m(h)h(has)f(ro)s(ot)552
2009 y Ft(h)p Fr(while)h Ft(:)p Fu(\()p Fr(x)p Fu(=)p
Fr(1)p Fu(\))f Fr(do)g Fu(\()p Fr(y)p Fu(:=)p Fr(y)p
Fo(?)p Fr(x)p Fu(;)g Fr(x)p Fu(:=)p Fr(x)p Ft(\000)p
Fr(1)p Fu(\),)h Fs(s)2251 2024 y Fn(13)2326 2009 y Ft(i)o(!)p
Fs(s)2512 2024 y Fn(61)3582 2009 y Fu(\(**\))283 2177
y(Since)d Ft(h)p Fr(y)p Fu(:=)p Fr(1)p Fu(,)g Fs(s)8
b Ft(i)31 b(!)f Fs(s)1134 2192 y Fn(13)1239 2177 y Fu(has)h(to)f(b)s(e)
h(an)g(instance)g(of)f(the)h(axiom)e([ass)2886 2192 y
Fn(ns)2958 2177 y Fu(])h(w)m(e)i(get)e(that)h Fs(s)3575
2192 y Fn(13)3680 2177 y Fu(=)283 2297 y Fs(s)8 b Fu([)p
Fr(y)p Ft(7!)q Fw(1)p Fu(].)430 2418 y(The)34 b(missing)e(part)h
Fs(T)1275 2433 y Fn(1)1348 2418 y Fu(of)g Fs(T)47 b Fu(is)33
b(a)g(deriv)-5 b(ation)32 b(tree)i(with)f(ro)s(ot)g(\(**\).)45
b(Since)34 b(the)g(state-)283 2538 y(men)m(t)39 b(of)e(\(**\))h(has)g
(the)h(form)e Fr(while)i Fs(b)44 b Fr(do)39 b Fs(S)50
b Fu(the)38 b(deriv)-5 b(ation)37 b(tree)i Fs(T)3003
2553 y Fn(1)3080 2538 y Fu(m)m(ust)g(ha)m(v)m(e)g(b)s(een)283
2658 y(constructed)48 b(b)m(y)f(applying)e(either)h(the)g(rule)g
([while)2326 2622 y Fn(tt)2314 2683 y(ns)2384 2658 y
Fu(])h(or)e(the)i(axiom)d([while)3337 2622 y Fn(\013)3325
2683 y(ns)3396 2658 y Fu(].)84 b(Since)283 2779 y Ft(B)t
Fu([)-17 b([)q Ft(:)p Fu(\()p Fr(x)p Fu(=)p Fr(1)p Fu(\)])g(])q
Fs(s)796 2794 y Fn(13)904 2779 y Fu(=)33 b Fw(tt)f Fu(w)m(e)j(see)f
(that)f(only)g(the)h(rule)f([while)2490 2743 y Fn(tt)2478
2804 y(ns)2548 2779 y Fu(])h(could)f(ha)m(v)m(e)h(b)s(een)g(applied)f
(so)283 2899 y Fs(T)366 2914 y Fn(1)439 2899 y Fu(will)d(ha)m(v)m(e)k
(the)f(form:)813 3071 y Fs(T)896 3086 y Fn(2)2221 3071
y Fs(T)2304 3086 y Fn(3)p 527 3158 2135 4 v 577 3363
a Ft(h)p Fr(while)h Ft(:)p Fu(\()p Fr(x)p Fu(=)p Fr(1)p
Fu(\))f Fr(do)g Fu(\()p Fr(y)p Fu(:=)p Fr(y)p Fo(?)p
Fr(x)p Fu(;)g Fr(x)p Fu(:=)p Fr(x)p Ft(\000)p Fr(1)p
Fu(\),)h Fs(s)2276 3378 y Fn(13)2351 3363 y Ft(i)o(!)p
Fs(s)2537 3378 y Fn(61)283 3541 y Fu(where)g Fs(T)648
3556 y Fn(2)720 3541 y Fu(is)e(a)h(deriv)-5 b(ation)31
b(tree)i(with)f(ro)s(ot)527 3726 y Ft(h)p Fr(y)p Fu(:=)p
Fr(y)p Fo(?)p Fr(x)p Fu(;)h Fr(x)p Fu(:=)p Fr(x)p Ft(\000)p
Fr(1)p Fu(,)h Fs(s)1373 3741 y Fn(13)1448 3726 y Ft(i!)o
Fs(s)1634 3741 y Fn(32)283 3910 y Fu(and)f Fs(T)556 3925
y Fn(3)628 3910 y Fu(is)f(a)h(deriv)-5 b(ation)31 b(tree)i(with)f(ro)s
(ot)552 4078 y Ft(h)p Fr(while)i Ft(:)p Fu(\()p Fr(x)p
Fu(=)p Fr(1)p Fu(\))f Fr(do)g Fu(\()p Fr(y)p Fu(:=)p
Fr(y)p Fo(?)p Fr(x)p Fu(;)g Fr(x)p Fu(:=)p Fr(x)p Ft(\000)p
Fr(1)p Fu(\),)h Fs(s)2251 4093 y Fn(32)2326 4078 y Ft(i)o(!)p
Fs(s)2512 4093 y Fn(61)3534 4078 y Fu(\(***\))283 4246
y(for)e(some)h(state)g Fs(s)964 4261 y Fn(32)1039 4246
y Fu(.)430 4366 y(Using)h(that)g(the)h(form)e(of)h(the)h(statemen)m(t)g
Fr(y)p Fu(:=)p Fr(y)p Fo(?)p Fr(x)p Fu(;)h Fr(x)p Fu(:=)p
Fr(x)p Ft(\000)p Fr(1)f Fu(is)f Fs(S)2962 4381 y Fn(1)3002
4366 y Fu(;)p Fs(S)3096 4381 y Fn(2)3169 4366 y Fu(it)g(is)g(no)m(w)h
(easy)283 4486 y(to)e(see)g(that)g(the)g(deriv)-5 b(ation)31
b(tree)i Fs(T)1676 4501 y Fn(2)1748 4486 y Fu(is)577
4658 y Ft(h)p Fr(y)p Fu(:=)p Fr(y)p Fo(?)p Fr(x)p Fu(,)g
Fs(s)1029 4673 y Fn(13)1104 4658 y Ft(i!)o Fs(s)1290
4673 y Fn(33)1682 4658 y Ft(h)p Fr(x)p Fu(:=)p Fr(x)p
Ft(\000)p Fr(1)p Fu(,)h Fs(s)2163 4673 y Fn(33)2238 4658
y Ft(i!)o Fs(s)2424 4673 y Fn(32)p 527 4745 2022 4 v
947 4950 a Ft(h)p Fr(y)p Fu(:=)p Fr(y)p Fo(?)p Fr(x)p
Fu(;)f Fr(x)p Fu(:=)p Fr(x)p Ft(\000)p Fr(1)p Fu(,)h
Fs(s)1793 4965 y Fn(13)1868 4950 y Ft(i!)o Fs(s)2054
4965 y Fn(32)283 5133 y Fu(where)40 b Fs(s)619 5148 y
Fn(33)731 5133 y Fu(=)e Fs(s)8 b Fu([)p Fr(y)p Ft(7!)p
Fw(3)p Fu(])38 b(and)g Fs(s)1435 5148 y Fn(32)1548 5133
y Fu(=)f Fs(s)8 b Fu([)p Fr(y)p Ft(7!)p Fw(3)p Fu(][)p
Fr(x)p Ft(7!)q Fw(2)p Fu(].)59 b(The)39 b(lea)m(v)m(es)g(of)e
Fs(T)3008 5148 y Fn(2)3086 5133 y Fu(are)h(instances)g(of)283
5254 y([ass)435 5269 y Fn(ns)507 5254 y Fu(])33 b(and)g(they)g(are)g
(com)m(bined)f(using)g([comp)2085 5269 y Fn(ns)2156 5254
y Fu(].)44 b(So)32 b(no)m(w)i Fs(T)2676 5269 y Fn(2)2748
5254 y Fu(is)e(fully)f(constructed.)430 5374 y(In)k(a)g(similar)d(w)m
(a)m(y)k(w)m(e)g(can)f(construct)i(the)e(deriv)-5 b(ation)34
b(tree)h Fs(T)2831 5389 y Fn(3)2906 5374 y Fu(with)f(ro)s(ot)h(\(***\))
f(and)283 5494 y(w)m(e)g(get:)p eop
%%Page: 25 35
25 34 bop 0 130 a Fw(2.1)112 b(Natural)37 b(seman)m(tics)2216
b(25)p 0 193 3473 4 v 294 500 a Ft(h)o Fr(y)p Fu(:=)p
Fr(y)p Fo(?)q Fr(x)p Fu(,)33 b Fs(s)746 515 y Fn(32)820
500 y Ft(i!)p Fs(s)1007 515 y Fn(62)1399 500 y Ft(h)p
Fr(x)p Fu(:=)p Fr(x)p Ft(\000)p Fr(1)p Fu(,)h Fs(s)1880
515 y Fn(62)1954 500 y Ft(i!)p Fs(s)2141 515 y Fn(61)p
244 587 2022 4 v 664 788 a Ft(h)o Fr(y)p Fu(:=)p Fr(y)p
Fo(?)q Fr(x)p Fu(;)f Fr(x)p Fu(:=)p Fr(x)p Ft(\000)p
Fr(1)p Fu(,)g Fs(s)1509 803 y Fn(32)1584 788 y Ft(i!)p
Fs(s)1771 803 y Fn(61)2533 788 y Fs(T)2616 803 y Fn(4)p
244 875 2462 4 v 457 1079 a Ft(h)p Fr(while)h Ft(:)p
Fu(\()p Fr(x)p Fu(=)p Fr(1)p Fu(\))f Fr(do)g Fu(\()p
Fr(y)p Fu(:=)p Fr(y)p Fo(?)p Fr(x)p Fu(;)g Fr(x)p Fu(:=)p
Fr(x)p Ft(\000)p Fr(1)p Fu(\),)h Fs(s)2156 1094 y Fn(32)2231
1079 y Ft(i)o(!)p Fs(s)2417 1094 y Fn(61)0 1294 y Fu(where)39
b Fs(s)335 1309 y Fn(62)447 1294 y Fu(=)e Fs(s)8 b Fu([)p
Fr(y)p Ft(7!)p Fw(6)p Fu(][)p Fr(x)p Ft(7!)p Fw(2)p Fu(],)39
b Fs(s)1244 1309 y Fn(61)1356 1294 y Fu(=)e Fs(s)8 b
Fu([)p Fr(y)p Ft(7!)p Fw(6)p Fu(][)p Fr(x)p Ft(7!)p Fw(1)p
Fu(])38 b(and)f Fs(T)2354 1309 y Fn(4)2431 1294 y Fu(is)g(a)g(deriv)-5
b(ation)36 b(tree)i(with)0 1415 y(ro)s(ot)244 1631 y
Ft(h)p Fr(while)33 b Ft(:)q Fu(\()p Fr(x)p Fu(=)p Fr(1)p
Fu(\))g Fr(do)g Fu(\()p Fr(y)p Fu(:=)p Fr(y)p Fo(?)p
Fr(x)p Fu(;)g Fr(x)p Fu(:=)p Fr(x)p Ft(\000)p Fr(1)p
Fu(\),)h Fs(s)1943 1646 y Fn(61)2017 1631 y Ft(i!)p Fs(s)2204
1646 y Fn(61)146 1847 y Fu(Finally)-8 b(,)28 b(w)m(e)i(see)h(that)e
(the)h(deriv)-5 b(ation)27 b(tree)j Fs(T)1892 1862 y
Fn(4)1961 1847 y Fu(is)f(an)h(instance)f(of)g(the)h(axiom)e([while)3387
1810 y Fn(\013)3375 1871 y(ns)3445 1847 y Fu(])0 1967
y(b)s(ecause)h Ft(B)s Fu([)-17 b([)q Ft(:)p Fu(\()p Fr(x)p
Fu(=)p Fr(1)p Fu(\)])g(])q Fs(s)868 1982 y Fn(61)971
1967 y Fu(=)27 b Fw(\013)p Fu(.)42 b(This)28 b(completes)f(the)h
(construction)g(of)f(the)h(deriv)-5 b(ation)26 b(tree)0
2087 y Fs(T)46 b Fu(for)32 b(\(*\).)2981 b Fh(2)0 2333
y Fw(Exercise)36 b(2.3)49 b Fu(Consider)33 b(the)g(statemen)m(t)244
2549 y Fr(z)p Fu(:=)p Fr(0)p Fu(;)g Fr(while)h(y)p Ft(\024)q
Fr(x)e(do)h Fu(\()p Fr(z)p Fu(:=)p Fr(z)p Fu(+)p Fr(1)p
Fu(;)h Fr(x)p Fu(:=)p Fr(x)p Ft(\000)p Fr(y)p Fu(\))0
2765 y(Construct)39 b(a)e(deriv)-5 b(ation)36 b(tree)i(for)f(this)g
(statemen)m(t)h(when)h(executed)g(in)e(a)g(state)h(where)h
Fr(x)0 2886 y Fu(has)33 b(the)g(v)-5 b(alue)32 b Fw(17)h
Fu(and)f Fr(y)h Fu(has)g(the)g(v)-5 b(alue)32 b Fw(5)p
Fu(.)1709 b Fh(2)146 3132 y Fu(W)-8 b(e)33 b(shall)f(in)m(tro)s(duce)h
(the)g(follo)m(wing)d(terminology:)41 b(The)34 b(execution)g(of)e(a)g
(statemen)m(t)i Fs(S)0 3252 y Fu(on)e(a)h(state)g Fs(s)145
3468 y Ft(\017)49 b Fs(terminates)40 b Fu(if)32 b(and)g(only)g(if)g
(there)h(is)f(a)g(state)h Fs(s)2032 3432 y Fi(0)2088
3468 y Fu(suc)m(h)h(that)f Ft(h)o Fs(S)12 b Fu(,)33 b
Fs(s)8 b Ft(i)32 b(!)g Fs(s)2984 3432 y Fi(0)3008 3468
y Fu(,)g(and)145 3684 y Ft(\017)49 b Fs(lo)-5 b(ops)40
b Fu(if)31 b(and)i(only)f(if)f(there)j(is)e Fs(no)38
b Fu(state)33 b Fs(s)1854 3648 y Fi(0)1910 3684 y Fu(suc)m(h)h(that)e
Ft(h)p Fs(S)12 b Fu(,)33 b Fs(s)8 b Ft(i)32 b(!)g Fs(s)2806
3648 y Fi(0)2829 3684 y Fu(.)0 3900 y(W)-8 b(e)40 b(shall)e(sa)m(y)j
(that)e(a)g(statemen)m(t)h Fs(S)51 b(always)41 b(terminates)47
b Fu(if)39 b(its)g(execution)h(on)f(a)h(state)g Fs(s)0
4021 y Fu(terminates)31 b(for)g(all)f(c)m(hoices)j(of)e
Fs(s)8 b Fu(,)32 b(and)g Fs(always)i(lo)-5 b(ops)39 b
Fu(if)31 b(its)g(execution)i(on)f(a)f(state)i Fs(s)39
b Fu(lo)s(ops)0 4141 y(for)32 b(all)f(c)m(hoices)i(of)f
Fs(s)8 b Fu(.)0 4390 y Fw(Exercise)36 b(2.4)49 b Fu(Consider)33
b(the)g(follo)m(wing)d(statemen)m(ts)145 4606 y Ft(\017)49
b Fr(while)34 b Ft(:)p Fu(\()p Fr(x)p Fu(=)p Fr(1)p Fu(\))f
Fr(do)g Fu(\()p Fr(y)p Fu(:=)p Fr(y)p Fo(?)p Fr(x)p Fu(;)g
Fr(x)p Fu(:=)p Fr(x)p Ft(\000)p Fr(1)p Fu(\))145 4822
y Ft(\017)49 b Fr(while)34 b(1)p Ft(\024)p Fr(x)f(do)g
Fu(\()p Fr(y)p Fu(:=)p Fr(y)p Fo(?)q Fr(x)p Fu(;)f Fr(x)p
Fu(:=)p Fr(x)p Ft(\000)p Fr(1)p Fu(\))145 5038 y Ft(\017)49
b Fr(while)34 b(true)f(do)g(skip)0 5254 y Fu(F)-8 b(or)28
b(eac)m(h)j(statemen)m(t)e(determine)g(whether)i(or)e(not)g(it)f(alw)m
(a)m(ys)i(terminates)f(and)g(whether)i(or)0 5374 y(not)k(it)f(alw)m(a)m
(ys)i(lo)s(ops.)50 b(T)-8 b(ry)36 b(to)f(argue)g(for)f(y)m(our)i(answ)m
(ers)h(using)e(the)g(axioms)f(and)i(rules)f(of)0 5494
y(T)-8 b(able)32 b(2.1.)2978 b Fh(2)p eop
%%Page: 26 36
26 35 bop 251 130 a Fw(26)2086 b(2)112 b(Op)s(erational)37
b(Seman)m(tics)p 251 193 3473 4 v 283 515 a Fp(Prop)t(erties)46
b(of)f(the)h(seman)l(tics)283 700 y Fu(The)32 b(transition)d(system)j
(giv)m(es)f(us)g(a)g(w)m(a)m(y)h(of)e(arguing)f(ab)s(out)i(statemen)m
(ts)g(and)g(their)f(prop-)283 820 y(erties.)44 b(As)31
b(an)g(example)f(w)m(e)i(ma)m(y)f(b)s(e)g(in)m(terested)h(in)e(whether)
j(t)m(w)m(o)e(statemen)m(ts)h Fs(S)3391 835 y Fn(1)3462
820 y Fu(and)f Fs(S)3717 835 y Fn(2)283 941 y Fu(are)i
Fs(semantic)-5 b(al)5 b(ly)34 b(e)-5 b(quivalent)p Fu(;)32
b(b)m(y)h(this)g(w)m(e)g(mean)f(that)h(for)f(all)e(states)k
Fs(s)40 b Fu(and)33 b Fs(s)3303 905 y Fi(0)527 1140 y
Ft(h)p Fs(S)633 1155 y Fn(1)672 1140 y Fu(,)g Fs(s)8
b Ft(i)32 b(!)g Fs(s)1031 1104 y Fi(0)1087 1140 y Fu(if)g(and)g(only)h
(if)e Ft(h)p Fs(S)1776 1155 y Fn(2)1815 1140 y Fu(,)i
Fs(s)8 b Ft(i)32 b(!)g Fs(s)2174 1104 y Fi(0)p 283 1339
3473 5 v 283 1509 a Fw(Lemma)38 b(2.5)49 b Fu(The)33
b(statemen)m(t)527 1708 y Fr(while)h Fs(b)39 b Fr(do)33
b Fs(S)283 1907 y Fu(is)g(seman)m(tically)d(equiv)-5
b(alen)m(t)33 b(to)520 2098 y Fr(if)g Fs(b)38 b Fr(then)c
Fu(\()p Fs(S)12 b Fu(;)32 b Fr(while)i Fs(b)k Fr(do)33
b Fs(S)12 b Fu(\))33 b Fr(else)g(skip)p Fu(.)p 283 2219
V 283 2418 a Fw(Pro)s(of:)38 b Fu(The)33 b(pro)s(of)f(is)g(in)g(t)m(w)m
(o)h(stages.)44 b(W)-8 b(e)33 b(shall)f(\014rst)h(pro)m(v)m(e)g(that)g
(if)552 2585 y Ft(h)p Fr(while)h Fs(b)k Fr(do)33 b Fs(S)12
b Fu(,)33 b Fs(s)8 b Ft(i)32 b(!)g Fs(s)1524 2549 y Fi(00)3631
2585 y Fu(\(*\))283 2753 y(then)552 2920 y Ft(h)p Fr(if)h
Fs(b)38 b Fr(then)c Fu(\()p Fs(S)12 b Fu(;)32 b Fr(while)i
Fs(b)39 b Fr(do)33 b Fs(S)12 b Fu(\))32 b Fr(else)i(skip)p
Fu(,)f Fs(s)8 b Ft(i)33 b(!)f Fs(s)2658 2884 y Fi(00)3582
2920 y Fu(\(**\))283 3088 y(Th)m(us,)j(if)d(the)h(execution)h(of)e(the)
h(lo)s(op)f(terminates)g(then)h(so)g(do)s(es)h(its)e(one-lev)m(el)g
(unfolding.)283 3208 y(Later)26 b(w)m(e)g(shall)f(sho)m(w)h(that)g(if)e
(the)i(unfolded)f(lo)s(op)f(terminates)h(then)h(so)g(will)d(the)j(lo)s
(op)e(itself;)283 3329 y(the)33 b(conjunction)g(of)f(these)i(results)f
(then)g(pro)m(v)m(e)h(the)f(lemma.)430 3449 y(Because)44
b(\(*\))f(holds)f(w)m(e)i(kno)m(w)g(that)f(w)m(e)h(ha)m(v)m(e)g(a)f
(deriv)-5 b(ation)41 b(tree)j Fs(T)56 b Fu(for)42 b(it.)74
b(It)43 b(can)283 3570 y(ha)m(v)m(e)g(one)e(of)f(t)m(w)m(o)i(forms)e
(dep)s(ending)h(on)g(whether)h(it)e(has)h(b)s(een)g(constructed)i
(using)d(the)283 3690 y(rule)30 b([while)738 3654 y Fn(tt)726
3715 y(ns)796 3690 y Fu(])g(or)f(the)h(axiom)e([while)1683
3654 y Fn(\013)1671 3715 y(ns)1742 3690 y Fu(].)42 b(In)30
b(the)h(\014rst)f(case)g(the)g(deriv)-5 b(ation)28 b(tree)j
Fs(T)42 b Fu(has)30 b(the)283 3810 y(form:)813 3982 y
Fs(T)896 3997 y Fn(1)1253 3982 y Fs(T)1336 3997 y Fn(2)p
527 4068 1168 4 v 604 4273 a Ft(h)o Fr(while)k Fs(b)39
b Fr(do)33 b Fs(S)12 b Fu(,)32 b Fs(s)8 b Ft(i)32 b(!)h
Fs(s)1576 4237 y Fi(00)283 4471 y Fu(where)e Fs(T)645
4486 y Fn(1)714 4471 y Fu(is)e(a)g(deriv)-5 b(ation)28
b(tree)i(with)f(ro)s(ot)g Ft(h)o Fs(S)12 b Fu(,)30 b
Fs(s)8 b Ft(i)o(!)p Fs(s)2355 4435 y Fi(0)2408 4471 y
Fu(and)29 b Fs(T)2677 4486 y Fn(2)2746 4471 y Fu(is)g(a)g(deriv)-5
b(ation)28 b(tree)i(with)283 4591 y(ro)s(ot)h Ft(h)p
Fr(while)h Fs(b)38 b Fr(do)31 b Fs(S)12 b Fu(,)32 b Fs(s)1207
4555 y Fi(0)1230 4591 y Ft(i!)o Fs(s)1416 4555 y Fi(00)1459
4591 y Fu(.)43 b(F)-8 b(urthermore,)31 b Ft(B)s Fu([)-17
b([)q Fs(b)6 b Fu(])-17 b(])q Fs(s)39 b Fu(=)31 b Fw(tt)p
Fu(.)42 b(Using)31 b(the)h(deriv)-5 b(ation)30 b(trees)283
4711 y Fs(T)366 4726 y Fn(1)439 4711 y Fu(and)j Fs(T)712
4726 y Fn(2)785 4711 y Fu(as)g(the)h(premises)f(for)g(the)g(rules)g
([comp)2278 4726 y Fn(ns)2349 4711 y Fu(])g(w)m(e)h(can)g(construct)g
(the)f(deriv)-5 b(ation)283 4832 y(tree:)813 5003 y Fs(T)896
5018 y Fn(1)1327 5003 y Fs(T)1410 5018 y Fn(2)p 527 5090
1241 4 v 577 5294 a Ft(h)p Fs(S)12 b Fu(;)32 b Fr(while)i
Fs(b)39 b Fr(do)33 b Fs(S)12 b Fu(,)32 b Fs(s)8 b Ft(i)32
b(!)h Fs(s)1676 5258 y Fi(00)283 5494 y Fu(Using)g(that)f
Ft(B)s Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(])q Fs(s)40
b Fu(=)33 b Fw(tt)e Fu(w)m(e)j(can)f(use)g(the)g(rule)f([if)2223
5458 y Fn(tt)2211 5519 y(ns)2282 5494 y Fu(])g(to)g(construct)i(the)f
(deriv)-5 b(ation)31 b(tree)p eop
%%Page: 27 37
27 36 bop 0 130 a Fw(2.1)112 b(Natural)37 b(seman)m(tics)2216
b(27)p 0 193 3473 4 v 530 500 a Fs(T)613 515 y Fn(1)2051
500 y Fs(T)2134 515 y Fn(2)p 244 587 2248 4 v 797 791
a Ft(h)p Fs(S)12 b Fu(;)32 b Fr(while)i Fs(b)39 b Fr(do)33
b Fs(S)12 b Fu(,)32 b Fs(s)8 b Ft(i)33 b(!)f Fs(s)1896
755 y Fi(00)p 244 878 V 294 1083 a Ft(h)o Fr(if)h Fs(b)39
b Fr(then)34 b Fu(\()p Fs(S)12 b Fu(;)32 b Fr(while)i
Fs(b)k Fr(do)33 b Fs(S)12 b Fu(\))33 b Fr(else)g(skip)p
Fu(,)h Fs(s)8 b Ft(i)32 b(!)g Fs(s)2399 1047 y Fi(00)0
1267 y Fu(thereb)m(y)i(sho)m(wing)f(that)f(\(**\))g(holds.)146
1388 y(Alternativ)m(ely)-8 b(,)27 b(the)f(deriv)-5 b(ation)25
b(tree)h Fs(T)39 b Fu(is)26 b(an)g(instance)g(of)f([while)2621
1352 y Fn(\013)2609 1412 y(ns)2680 1388 y Fu(].)41 b(Then)27
b Ft(B)t Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(])p Fs(s)41
b Fu(=)32 b Fw(\013)0 1508 y Fu(and)h(w)m(e)g(m)m(ust)g(ha)m(v)m(e)h
(that)e Fs(s)1059 1472 y Fi(00)1102 1508 y Fu(=)p Fs(s)8
b Fu(.)43 b(So)33 b Fs(T)45 b Fu(simply)31 b(is)244 1694
y Ft(h)p Fr(while)i Fs(b)39 b Fr(do)33 b Fs(S)12 b Fu(,)32
b Fs(s)8 b Ft(i)33 b(!)f Fs(s)0 1880 y Fu(Using)g(the)h(axiom)e([skip)
930 1895 y Fn(ns)1002 1880 y Fu(])h(w)m(e)i(get)e(a)h(deriv)-5
b(ation)31 b(tree)244 2066 y Ft(h)p Fr(skip)p Fu(,)i
Fs(s)8 b Ft(i!)p Fs(s)782 2030 y Fi(00)0 2252 y Fu(and)33
b(w)m(e)g(can)g(no)m(w)g(apply)g(the)g(rule)f([if)1444
2216 y Fn(\013)1432 2276 y(ns)1502 2252 y Fu(])h(to)f(construct)h(a)g
(deriv)-5 b(ation)31 b(tree)i(for)f(\(**\):)1045 2435
y Ft(h)p Fr(skip)p Fu(,)h Fs(s)8 b Ft(i)33 b(!)f Fs(s)1648
2399 y Fi(00)p 244 2521 V 294 2726 a Ft(h)o Fr(if)h Fs(b)39
b Fr(then)34 b Fu(\()p Fs(S)12 b Fu(;)32 b Fr(while)i
Fs(b)k Fr(do)33 b Fs(S)12 b Fu(\))33 b Fr(else)g(skip)p
Fu(,)h Fs(s)8 b Ft(i)32 b(!)g Fs(s)2399 2690 y Fi(00)0
2905 y Fu(This)h(completes)f(the)h(\014rst)g(part)g(of)f(the)h(pro)s
(of.)146 3026 y(F)-8 b(or)38 b(the)h(second)h(stage)f(of)f(the)h(pro)s
(of)e(w)m(e)j(assume)f(that)f(\(**\))g(holds)g(and)h(shall)e(pro)m(v)m
(e)0 3146 y(that)29 b(\(*\))g(holds.)42 b(So)29 b(w)m(e)h(ha)m(v)m(e)g
(a)f(deriv)-5 b(ation)27 b(tree)j Fs(T)42 b Fu(for)29
b(\(**\))f(and)h(m)m(ust)g(construct)i(one)e(for)0 3266
y(\(*\).)46 b(Only)34 b(t)m(w)m(o)g(rules)g(could)f(giv)m(e)h(rise)f
(to)h(the)g(deriv)-5 b(ation)32 b(tree)i Fs(T)47 b Fu(for)33
b(\(**\),)g(namely)g([if)3387 3230 y Fn(tt)3375 3291
y(ns)3445 3266 y Fu(])0 3387 y(or)f([if)216 3351 y Fn(\013)204
3411 y(ns)274 3387 y Fu(].)44 b(In)33 b(the)g(\014rst)g(case,)h
Ft(B)s Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(])p Fs(s)41
b Fu(=)32 b Fw(tt)g Fu(and)g(w)m(e)i(ha)m(v)m(e)g(a)e(deriv)-5
b(ation)31 b(tree)i Fs(T)2975 3402 y Fn(1)3047 3387 y
Fu(with)g(ro)s(ot)244 3573 y Ft(h)p Fs(S)12 b Fu(;)32
b Fr(while)i Fs(b)k Fr(do)33 b Fs(S)12 b Fu(,)33 b Fs(s)8
b Ft(i!)o Fs(s)1277 3536 y Fi(00)0 3759 y Fu(The)34 b(statemen)m(t)g
(has)f(the)h(general)f(form)e Fs(S)1632 3774 y Fn(1)1672
3759 y Fu(;)i Fs(S)1799 3774 y Fn(2)1872 3759 y Fu(and)g(the)h(only)e
(rule)h(that)g(could)g(giv)m(e)g(this)0 3879 y(is)f([comp)353
3894 y Fn(ns)424 3879 y Fu(].)44 b(Therefore)33 b(there)h(are)e(deriv)
-5 b(ation)31 b(trees)j Fs(T)2150 3894 y Fn(2)2222 3879
y Fu(and)e Fs(T)2494 3894 y Fn(3)2566 3879 y Fu(for)244
4065 y Ft(h)p Fs(S)12 b Fu(,)32 b Fs(s)8 b Ft(i!)p Fs(s)644
4029 y Fi(0)667 4065 y Fu(,)33 b(and)244 4232 y Ft(h)p
Fr(while)g Fs(b)39 b Fr(do)33 b Fs(S)12 b Fu(,)32 b Fs(s)964
4196 y Fi(0)988 4232 y Ft(i!)o Fs(s)1174 4196 y Fi(00)0
4418 y Fu(for)d(some)g(state)g Fs(s)670 4382 y Fi(0)693
4418 y Fu(.)43 b(It)29 b(is)g(no)m(w)g(straigh)m(tforw)m(ard)g(to)g
(use)h(the)f(rule)g([while)2741 4382 y Fn(tt)2729 4443
y(ns)2799 4418 y Fu(])h(to)e(com)m(bine)h Fs(T)3433 4433
y Fn(2)0 4539 y Fu(and)k Fs(T)273 4554 y Fn(3)345 4539
y Fu(to)f(a)g(deriv)-5 b(ation)31 b(tree)i(for)f(\(*\).)146
4659 y(In)i(the)g(second)h(case,)f Ft(B)t Fu([)-17 b([)q
Fs(b)6 b Fu(])-17 b(])p Fs(s)42 b Fu(=)33 b Fw(\013)h
Fu(and)f Fs(T)47 b Fu(is)33 b(constructed)i(using)e(the)h(rule)f([if)
3124 4623 y Fn(\013)3112 4684 y(ns)3182 4659 y Fu(].)46
b(This)0 4780 y(means)33 b(that)f(w)m(e)i(ha)m(v)m(e)f(a)g(deriv)-5
b(ation)31 b(tree)i(for)244 4965 y Ft(h)p Fr(skip)p Fu(,)g
Fs(s)8 b Ft(i!)p Fs(s)782 4929 y Fi(00)0 5151 y Fu(and)36
b(according)f(to)h(axiom)e([skip)1249 5166 y Fn(ns)1321
5151 y Fu(])i(it)f(m)m(ust)h(b)s(e)g(the)g(case)h(that)f
Fs(s)8 b Fu(=)p Fs(s)2634 5115 y Fi(00)2676 5151 y Fu(.)54
b(But)36 b(then)g(w)m(e)h(can)0 5272 y(use)f(the)f(axiom)e([while)895
5236 y Fn(\013)883 5296 y(ns)953 5272 y Fu(])i(to)f(construct)i(a)e
(deriv)-5 b(ation)33 b(tree)i(for)f(\(*\).)50 b(This)35
b(completes)f(the)0 5392 y(pro)s(of.)3148 b Fh(2)p eop
%%Page: 28 38
28 37 bop 251 130 a Fw(28)2086 b(2)112 b(Op)s(erational)37
b(Seman)m(tics)p 251 193 3473 4 v 283 515 a(Exercise)g(2.6)49
b Fu(Pro)m(v)m(e)42 b(that)f(the)h(t)m(w)m(o)g(statemen)m(ts)g
Fs(S)2359 530 y Fn(1)2398 515 y Fu(;\()p Fs(S)2530 530
y Fn(2)2570 515 y Fu(;)p Fs(S)2664 530 y Fn(3)2703 515
y Fu(\))f(and)g(\()p Fs(S)3085 530 y Fn(1)3125 515 y
Fu(;)p Fs(S)3219 530 y Fn(2)3258 515 y Fu(\);)p Fs(S)3390
530 y Fn(3)3470 515 y Fu(are)h(se-)283 636 y(man)m(tically)21
b(equiv)-5 b(alen)m(t.)40 b(Construct)25 b(a)e(statemen)m(t)h(sho)m
(wing)f(that)g Fs(S)2843 651 y Fn(1)2882 636 y Fu(;)p
Fs(S)2976 651 y Fn(2)3039 636 y Fu(is)g(not,)i(in)d(general,)283
756 y(seman)m(tically)31 b(equiv)-5 b(alen)m(t)33 b(to)f
Fs(S)1492 771 y Fn(2)1531 756 y Fu(;)p Fs(S)1625 771
y Fn(1)1664 756 y Fu(.)1990 b Fh(2)283 970 y Fw(Exercise)37
b(2.7)49 b Fu(Extend)34 b(the)f(language)e Fw(While)g
Fu(with)h(the)h(statemen)m(t)527 1163 y Fr(repeat)h Fs(S)45
b Fr(until)34 b Fs(b)283 1355 y Fu(and)39 b(de\014ne)h(the)f(relation)e
Ft(!)h Fu(for)g(it.)61 b(\(The)39 b(seman)m(tics)g(of)f(the)h
Fr(repeat)p Fu(-construct)i(is)d(not)283 1476 y(allo)m(w)m(ed)45
b(to)g(rely)g(on)g(the)h(existence)h(of)e(a)g Fr(while)p
Fu(-construct)i(in)e(the)h(language.\))80 b(Pro)m(v)m(e)283
1596 y(that)44 b Fr(repeat)i Fs(S)56 b Fr(until)45 b
Fs(b)50 b Fu(and)44 b Fs(S)12 b Fu(;)44 b Fr(if)h Fs(b)50
b Fr(then)45 b(skip)g(else)g Fu(\()p Fr(repeat)h Fs(S)56
b Fr(until)45 b Fs(b)6 b Fu(\))44 b(are)283 1717 y(seman)m(tically)31
b(equiv)-5 b(alen)m(t.)2381 b Fh(2)283 1931 y Fw(Exercise)37
b(2.8)49 b Fu(Another)33 b(iterativ)m(e)f(construct)h(is)527
2123 y Fr(for)h Fs(x)44 b Fu(:=)32 b Fs(a)995 2138 y
Fn(1)1068 2123 y Fr(to)h Fs(a)1260 2138 y Fn(2)1332 2123
y Fr(do)g Fs(S)283 2316 y Fu(Extend)h(the)f(language)f
Fw(While)e Fu(with)i(this)g(statemen)m(t)h(and)g(de\014ne)h(the)e
(relation)f Ft(!)h Fu(for)g(it.)283 2436 y(Ev)-5 b(aluate)33
b(the)g(statemen)m(t)527 2629 y Fr(y)p Fu(:=)p Fr(1)p
Fu(;)g Fr(for)h(z)p Fu(:=)p Fr(1)f(to)g(x)g(do)g Fu(\()p
Fr(y)p Fu(:=)p Fr(y)g Fo(?)f Fr(x)p Fu(;)h Fr(x)p Fu(:=)p
Fr(x)p Ft(\000)p Fr(1)p Fu(\))283 2822 y(from)38 b(a)h(state)h(where)g
Fr(x)f Fu(has)h(the)f(v)-5 b(alue)39 b(5.)63 b(Hin)m(t:)56
b(Y)-8 b(ou)39 b(ma)m(y)g(need)h(to)f(assume)g(that)g(y)m(ou)283
2942 y(ha)m(v)m(e)30 b(an)f(\\in)m(v)m(erse")h(to)e Ft(N)14
b Fu(,)30 b(so)f(that)f(there)h(is)g(a)f(n)m(umeral)g(for)g(eac)m(h)h
(n)m(um)m(b)s(er)g(that)g(ma)m(y)f(arise)283 3062 y(during)41
b(the)g(computation.)67 b(\(The)42 b(seman)m(tics)f(of)f(the)i
Fr(for)p Fu(-construct)g(is)e(not)h(allo)m(w)m(ed)f(to)283
3183 y(rely)33 b(on)f(the)h(existence)h(of)f(a)f Fr(while)p
Fu(-construct)i(in)e(the)h(language.\))855 b Fh(2)430
3397 y Fu(In)31 b(the)f(ab)s(o)m(v)m(e)i(pro)s(of)d(w)m(e)j(used)f(T)-8
b(able)30 b(2.1)g(to)g(insp)s(ect)h(the)g(structure)h(of)e(the)g(deriv)
-5 b(ation)283 3517 y(tree)30 b(for)e(a)g(certain)g(transition)f(kno)m
(wn)j(to)f(hold.)41 b(In)29 b(the)g(pro)s(of)f(of)g(the)h(next)h
(result)f(w)m(e)g(shall)283 3638 y(com)m(bine)34 b(this)g(with)h(an)f
Fs(induction)i(on)g(the)h(shap)-5 b(e)36 b(of)g(the)g(derivation)g(tr)
-5 b(e)g(e)p Fu(.)49 b(The)36 b(idea)e(can)283 3758 y(b)s(e)f
(summarized)f(as)g(follo)m(ws:)p 283 3888 3470 4 v 283
3904 V 281 4112 4 208 v 298 4112 V 967 4033 a Fw(Induction)g(on)h(the)f
(Shap)s(e)i(of)f(Deriv)-6 b(ation)31 b(T)-9 b(rees)p
3735 4112 V 3752 4112 V 283 4115 3470 4 v 281 4484 4
370 v 298 4484 V 350 4281 a Fu(1:)143 b(Pro)m(v)m(e)24
b(that)f(the)h(prop)s(ert)m(y)g(holds)f(for)f(all)f(the)j(simple)e
(deriv)-5 b(ation)21 b(trees)j(b)m(y)h(sho)m(wing)569
4401 y(that)32 b(it)g(holds)g(for)g(the)h Fs(axioms)40
b Fu(of)32 b(the)h(transition)e(system.)p 3735 4484 V
3752 4484 V 281 5013 4 529 v 298 5013 V 350 4569 a(2:)143
b(Pro)m(v)m(e)31 b(that)g(the)f(prop)s(ert)m(y)h(holds)f(for)g(all)e
(comp)s(osite)h(deriv)-5 b(ation)29 b(trees:)43 b(F)-8
b(or)30 b(eac)m(h)569 4689 y Fs(rule)50 b Fu(assume)44
b(that)f(the)g(prop)s(ert)m(y)h(holds)e(for)h(its)f(premises)h(\(this)g
(is)g(called)e(the)569 4809 y Fs(induction)29 b(hyp)-5
b(othesis)p Fu(\))27 b(and)g(pro)m(v)m(e)i(that)e(it)g(also)f(holds)h
(for)g(the)h(conclusion)e(of)h(the)569 4930 y(rule)32
b(pro)m(vided)h(that)f(the)h(conditions)f(of)g(the)h(rule)f(are)h
(satis\014ed.)p 3735 5013 V 3752 5013 V 283 5016 3470
4 v 283 5033 V 283 5181 a(T)-8 b(o)28 b(form)m(ulate)f(the)h(theorem)f
(w)m(e)i(shall)e(sa)m(y)h(that)g(the)g(seman)m(tics)g(of)f(T)-8
b(able)28 b(2.1)f(is)h Fs(determin-)283 5302 y(istic)39
b Fu(if)31 b(for)h(all)f(c)m(hoices)i(of)f Fs(S)12 b
Fu(,)32 b Fs(s)8 b Fu(,)33 b Fs(s)1594 5266 y Fi(0)1650
5302 y Fu(and)g Fs(s)1888 5266 y Fi(00)1963 5302 y Fu(w)m(e)g(ha)m(v)m
(e)h(that)527 5494 y Ft(h)p Fs(S)12 b Fu(,)33 b Fs(s)8
b Ft(i)32 b(!)g Fs(s)992 5458 y Fi(0)1048 5494 y Fu(and)h
Ft(h)o Fs(S)12 b Fu(,)33 b Fs(s)8 b Ft(i)32 b(!)g Fs(s)1702
5458 y Fi(00)1777 5494 y Fu(imply)f Fs(s)2099 5458 y
Fi(0)2155 5494 y Fu(=)h Fs(s)2311 5458 y Fi(00)p eop
%%Page: 29 39
29 38 bop 0 130 a Fw(2.1)112 b(Natural)37 b(seman)m(tics)2216
b(29)p 0 193 3473 4 v 0 515 a Fu(This)22 b(means)g(that)f(for)h(ev)m
(ery)h(statemen)m(t)g Fs(S)33 b Fu(and)22 b(initial)c(state)k
Fs(s)30 b Fu(w)m(e)23 b(can)f(uniquely)g(determine)0
636 y(a)32 b(\014nal)g(state)h Fs(s)585 600 y Fi(0)641
636 y Fu(if)e(\(and)i(only)f(if)7 b(\))31 b(the)i(execution)h(of)e
Fs(S)44 b Fu(terminates.)p 0 759 3473 5 v 0 949 a Fw(Theorem)37
b(2.9)49 b Fu(The)34 b(natural)d(seman)m(tics)i(of)f(T)-8
b(able)32 b(2.1)g(is)g(deterministic.)p 0 1069 V 0 1286
a Fw(Pro)s(of:)37 b Fu(W)-8 b(e)33 b(assume)g(that)g
Ft(h)o Fs(S)12 b Fu(,)33 b Fs(s)8 b Ft(i!)o Fs(s)1456
1250 y Fi(0)1512 1286 y Fu(and)33 b(shall)e(pro)m(v)m(e)j(that)244
1503 y(if)d Ft(h)p Fs(S)12 b Fu(,)32 b Fs(s)8 b Ft(i!)p
Fs(s)733 1466 y Fi(00)808 1503 y Fu(then)33 b Fs(s)1078
1466 y Fi(0)1134 1503 y Fu(=)f Fs(s)1290 1466 y Fi(00)1333
1503 y Fu(.)0 1719 y(W)-8 b(e)33 b(shall)e(pro)s(ceed)j(b)m(y)f
(induction)f(on)g(the)h(shap)s(e)g(of)f(the)h(deriv)-5
b(ation)31 b(tree)i(for)f Ft(h)p Fs(S)12 b Fu(,)33 b
Fs(s)8 b Ft(i)o(!)p Fs(s)3384 1683 y Fi(0)3407 1719 y
Fu(.)0 1887 y Fw(The)34 b(case)h Fu([ass)611 1902 y Fn(ns)683
1887 y Fu(]:)46 b(Then)36 b Fs(S)45 b Fu(is)34 b Fs(x)12
b Fu(:=)p Fs(a)41 b Fu(and)34 b Fs(s)1730 1851 y Fi(0)1787
1887 y Fu(is)g Fs(s)8 b Fu([)p Fs(x)k Ft(7!)o(A)p Fu([)-17
b([)q Fs(a)7 b Fu(])-17 b(])p Fs(s)8 b Fu(].)48 b(The)35
b(only)f(axiom)e(or)i(rule)0 2007 y(that)39 b(could)f(b)s(e)i(used)g
(to)f(giv)m(e)g Ft(h)o Fs(x)12 b Fu(:=)p Fs(a)7 b Fu(,)41
b Fs(s)8 b Ft(i!)o Fs(s)1743 1971 y Fi(00)1825 2007 y
Fu(is)39 b([ass)2082 2022 y Fn(ns)2154 2007 y Fu(])g(so)g(it)f(follo)m
(ws)g(that)h Fs(s)3043 1971 y Fi(00)3124 2007 y Fu(m)m(ust)g(b)s(e)0
2128 y Fs(s)8 b Fu([)p Fs(x)k Ft(7!A)o Fu([)-17 b([)q
Fs(a)7 b Fu(])-17 b(])q Fs(s)8 b Fu(])32 b(and)h(thereb)m(y)h
Fs(s)1141 2091 y Fi(0)1197 2128 y Fu(=)f Fs(s)1354 2091
y Fi(00)1396 2128 y Fu(.)0 2295 y Fw(The)g(case)g Fu([skip)654
2310 y Fn(ns)726 2295 y Fu(]:)43 b(Analogous.)0 2463
y Fw(The)33 b(case)g Fu([comp)711 2478 y Fn(ns)782 2463
y Fu(]:)43 b(Assume)34 b(that)244 2679 y Ft(h)p Fs(S)350
2694 y Fn(1)389 2679 y Fu(;)p Fs(S)483 2694 y Fn(2)522
2679 y Fu(,)f Fs(s)8 b Ft(i!)o Fs(s)816 2643 y Fi(0)0
2896 y Fu(holds)32 b(b)s(ecause)244 3113 y Ft(h)p Fs(S)350
3128 y Fn(1)389 3113 y Fu(,)h Fs(s)8 b Ft(i)o(!)p Fs(s)683
3128 y Fn(0)755 3113 y Fu(and)33 b Ft(h)o Fs(S)1050 3128
y Fn(2)1090 3113 y Fu(,)f Fs(s)1197 3128 y Fn(0)1237
3113 y Ft(i!)o Fs(s)1423 3076 y Fi(0)0 3329 y Fu(for)c(some)h
Fs(s)434 3344 y Fn(0)474 3329 y Fu(.)42 b(The)30 b(only)e(rule)g(that)h
(could)f(b)s(e)h(applied)f(to)h(giv)m(e)f Ft(h)p Fs(S)2490
3344 y Fn(1)2529 3329 y Fu(;)p Fs(S)2623 3344 y Fn(2)2663
3329 y Fu(,)h Fs(s)8 b Ft(i!)p Fs(s)2954 3293 y Fi(00)3025
3329 y Fu(is)28 b([comp)3374 3344 y Fn(ns)3445 3329 y
Fu(])0 3450 y(so)33 b(there)g(is)f(a)g(state)h Fs(s)835
3465 y Fn(1)907 3450 y Fu(suc)m(h)i(that)244 3666 y Ft(h)p
Fs(S)350 3681 y Fn(1)389 3666 y Fu(,)e Fs(s)8 b Ft(i)o(!)p
Fs(s)683 3681 y Fn(1)755 3666 y Fu(and)33 b Ft(h)o Fs(S)1050
3681 y Fn(2)1090 3666 y Fu(,)f Fs(s)1197 3681 y Fn(1)1237
3666 y Ft(i!)o Fs(s)1423 3630 y Fi(00)0 3883 y Fu(The)47
b(induction)d(h)m(yp)s(othesis)j(can)f(b)s(e)g(applied)e(to)i(the)g
(premise)f Ft(h)p Fs(S)2637 3898 y Fn(1)2676 3883 y Fu(,)k
Fs(s)8 b Ft(i!)p Fs(s)2987 3898 y Fn(0)3072 3883 y Fu(and)46
b(from)0 4003 y Ft(h)p Fs(S)106 4018 y Fn(1)145 4003
y Fu(,)33 b Fs(s)8 b Ft(i)o(!)p Fs(s)439 4018 y Fn(1)512
4003 y Fu(w)m(e)34 b(get)g Fs(s)868 4018 y Fn(0)941 4003
y Fu(=)f Fs(s)1098 4018 y Fn(1)1138 4003 y Fu(.)46 b(Similarly)-8
b(,)29 b(the)34 b(induction)f(h)m(yp)s(othesis)h(can)g(b)s(e)f(applied)
g(to)0 4123 y(the)g(premise)f Ft(h)p Fs(S)632 4138 y
Fn(2)671 4123 y Fu(,)h Fs(s)779 4138 y Fn(0)818 4123
y Ft(i!)p Fs(s)1005 4087 y Fi(0)1061 4123 y Fu(and)f(from)g
Ft(h)o Fs(S)1586 4138 y Fn(2)1626 4123 y Fu(,)g Fs(s)1733
4138 y Fn(0)1773 4123 y Ft(i!)o Fs(s)1959 4087 y Fi(00)2034
4123 y Fu(w)m(e)i(get)e Fs(s)2388 4087 y Fi(0)2444 4123
y Fu(=)h Fs(s)2601 4087 y Fi(00)2676 4123 y Fu(as)f(required.)0
4291 y Fw(The)h(case)g Fu([if)553 4255 y Fn(tt)541 4316
y(ns)611 4291 y Fu(]:)44 b(Assume)33 b(that)244 4508
y Ft(h)p Fr(if)g Fs(b)38 b Fr(then)c Fs(S)806 4523 y
Fn(1)877 4508 y Fr(else)g Fs(S)1182 4523 y Fn(2)1221
4508 y Fu(,)f Fs(s)8 b Ft(i)32 b(!)g Fs(s)1580 4472 y
Fi(0)0 4724 y Fu(holds)g(b)s(ecause)244 4941 y Ft(B)s
Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(])p Fs(s)41 b Fu(=)32
b Fw(tt)g Fu(and)h Ft(h)p Fs(S)1043 4956 y Fn(1)1082
4941 y Fu(,)f Fs(s)8 b Ft(i!)p Fs(s)1376 4905 y Fi(0)0
5158 y Fu(F)-8 b(rom)45 b Ft(B)s Fu([)-17 b([)q Fs(b)6
b Fu(])-17 b(])p Fs(s)54 b Fu(=)46 b Fw(tt)g Fu(w)m(e)h(get)f(that)g
(the)h(only)e(rule)h(that)g(could)g(b)s(e)g(applied)f(to)h(giv)m(e)g
(the)0 5278 y(alternativ)m(e)32 b Ft(h)o Fr(if)i Fs(b)k
Fr(then)c Fs(S)1050 5293 y Fn(1)1121 5278 y Fr(else)g
Fs(S)1426 5293 y Fn(2)1465 5278 y Fu(,)f Fs(s)8 b Ft(i)32
b(!)g Fs(s)1824 5242 y Fi(00)1899 5278 y Fu(is)g([if)2094
5242 y Fn(tt)2082 5303 y(ns)2153 5278 y Fu(].)43 b(So)33
b(it)e(m)m(ust)i(b)s(e)g(the)g(case)g(that)244 5494 y
Ft(h)p Fs(S)350 5509 y Fn(1)389 5494 y Fu(,)g Fs(s)8
b Ft(i)32 b(!)g Fs(s)748 5458 y Fi(00)p eop
%%Page: 30 40
30 39 bop 251 130 a Fw(30)2086 b(2)112 b(Op)s(erational)37
b(Seman)m(tics)p 251 193 3473 4 v 283 515 a Fu(But)30
b(then)h(the)f(induction)f(h)m(yp)s(othesis)i(can)f(b)s(e)g(applied)e
(to)i(the)g(premise)f Ft(h)p Fs(S)3155 530 y Fn(1)3194
515 y Fu(,)i Fs(s)8 b Ft(i)29 b(!)h Fs(s)3546 479 y Fi(0)3599
515 y Fu(and)283 636 y(from)i Ft(h)p Fs(S)620 651 y Fn(1)659
636 y Fu(,)g Fs(s)8 b Ft(i)33 b(!)f Fs(s)1018 600 y Fi(00)1093
636 y Fu(w)m(e)i(get)e Fs(s)1447 600 y Fi(0)1503 636
y Fu(=)g Fs(s)1659 600 y Fi(00)1702 636 y Fu(.)283 803
y Fw(The)h(case)g Fu([if)836 767 y Fn(\013)824 828 y(ns)895
803 y Fu(]:)43 b(Analogous.)283 971 y Fw(The)33 b(case)g
Fu([while)1001 935 y Fn(tt)989 996 y(ns)1060 971 y Fu(]:)44
b(Assume)33 b(that)527 1198 y Ft(h)p Fr(while)h Fs(b)k
Fr(do)33 b Fs(S)12 b Fu(,)33 b Fs(s)8 b Ft(i)32 b(!)g
Fs(s)1499 1162 y Fi(0)283 1425 y Fu(b)s(ecause)527 1652
y Ft(B)t Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])q Fs(s)41
b Fu(=)32 b Fw(tt)p Fu(,)g Ft(h)o Fs(S)12 b Fu(,)33 b
Fs(s)8 b Ft(i!)o Fs(s)1457 1667 y Fn(0)1529 1652 y Fu(and)33
b Ft(h)p Fr(while)h Fs(b)k Fr(do)33 b Fs(S)12 b Fu(,)33
b Fs(s)2440 1667 y Fn(0)2479 1652 y Ft(i!)o Fs(s)2665
1615 y Fi(0)283 1879 y Fu(The)40 b(only)e(rule)h(that)f(could)g(b)s(e)h
(applied)f(to)g(giv)m(e)h Ft(h)p Fr(while)h Fs(b)k Fr(do)c
Fs(S)12 b Fu(,)38 b Fs(s)8 b Ft(i)39 b(!)f Fs(s)3223
1842 y Fi(00)3304 1879 y Fu(is)g([while)3670 1842 y Fn(tt)3658
1903 y(ns)3729 1879 y Fu(])283 1999 y(b)s(ecause)c Ft(B)t
Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])q Fs(s)41 b Fu(=)32
b Fw(tt)g Fu(and)g(this)h(means)f(that)527 2226 y Ft(h)p
Fs(S)12 b Fu(,)33 b Fs(s)8 b Ft(i)o(!)p Fs(s)927 2241
y Fn(1)999 2226 y Fu(and)33 b Ft(h)o Fr(while)h Fs(b)39
b Fr(do)33 b Fs(S)12 b Fu(,)32 b Fs(s)1909 2241 y Fn(1)1949
2226 y Ft(i)g(!)g Fs(s)2200 2190 y Fi(00)283 2453 y Fu(m)m(ust)46
b(hold)e(for)h(some)g Fs(s)1234 2468 y Fn(1)1273 2453
y Fu(.)81 b(Again)44 b(the)i(induction)e(h)m(yp)s(othesis)i(can)f(b)s
(e)h(applied)e(to)g(the)283 2573 y(premise)33 b Ft(h)o
Fs(S)12 b Fu(,)33 b Fs(s)8 b Ft(i!)o Fs(s)1041 2588 y
Fn(0)1113 2573 y Fu(and)33 b(from)e Ft(h)p Fs(S)12 b
Fu(,)33 b Fs(s)8 b Ft(i)o(!)p Fs(s)1933 2588 y Fn(1)2005
2573 y Fu(w)m(e)34 b(get)e Fs(s)2359 2588 y Fn(0)2431
2573 y Fu(=)h Fs(s)2588 2588 y Fn(1)2627 2573 y Fu(.)44
b(Th)m(us)34 b(w)m(e)f(ha)m(v)m(e)527 2800 y Ft(h)p Fr(while)h
Fs(b)k Fr(do)33 b Fs(S)12 b Fu(,)33 b Fs(s)1248 2815
y Fn(0)1287 2800 y Ft(i!)p Fs(s)1474 2764 y Fi(0)1530
2800 y Fu(and)f Ft(h)p Fr(while)i Fs(b)k Fr(do)33 b Fs(S)12
b Fu(,)33 b Fs(s)2440 2815 y Fn(0)2479 2800 y Ft(i!)p
Fs(s)2666 2764 y Fi(00)283 3027 y Fu(Since)44 b Ft(h)o
Fr(while)g Fs(b)49 b Fr(do)44 b Fs(S)12 b Fu(,)42 b Fs(s)1310
3042 y Fn(0)1350 3027 y Ft(i!)o Fs(s)1536 2991 y Fi(0)1602
3027 y Fu(is)h(a)f(premise)h(of)f(\(the)i(instance)f(of)7
b(\))42 b([while)3327 2991 y Fn(tt)3315 3051 y(ns)3386
3027 y Fu(])h(w)m(e)h(can)283 3147 y(apply)37 b(the)h(induction)e(h)m
(yp)s(othesis)j(to)d(it.)57 b(F)-8 b(rom)35 b Ft(h)p
Fr(while)k Fs(b)k Fr(do)37 b Fs(S)12 b Fu(,)37 b Fs(s)2925
3162 y Fn(0)2965 3147 y Ft(i!)o Fs(s)3151 3111 y Fi(00)3231
3147 y Fu(w)m(e)h(therefore)283 3268 y(get)33 b Fs(s)494
3231 y Fi(0)550 3268 y Fu(=)f Fs(s)706 3231 y Fi(00)781
3268 y Fu(as)h(required.)283 3435 y Fw(The)g(case)g Fu([while)1001
3399 y Fn(\013)989 3460 y(ns)1060 3435 y Fu(]:)44 b(Straigh)m(tforw)m
(ard.)1826 b Fh(2)283 3784 y Fw(Exercise)37 b(2.10)49
b Fu(*)83 b(Pro)m(v)m(e)43 b(that)e Fr(repeat)i Fs(S)53
b Fr(until)43 b Fs(b)48 b Fu(\(as)41 b(de\014ned)i(in)e(Exercise)i
(2.7\))e(is)283 3904 y(seman)m(tically)k(equiv)-5 b(alen)m(t)47
b(to)g Fs(S)12 b Fu(;)32 b Fr(while)i Ft(:)p Fs(b)39
b Fr(do)33 b Fs(S)12 b Fu(.)86 b(Argue)47 b(that)f(this)h(means)g(that)
f(the)283 4025 y(extended)35 b(seman)m(tics)e(is)f(deterministic.)1860
b Fh(2)430 4286 y Fu(It)42 b(is)f(w)m(orth)i(observing)f(that)g(w)m(e)h
(could)e(not)h(pro)m(v)m(e)i(Theorem)e(2.9)f(using)h(structural)283
4406 y(induction)h(on)g(the)h(statemen)m(t)h Fs(S)12
b Fu(.)43 b(The)h(reason)h(is)e(that)g(the)h(rule)f([while)3160
4370 y Fn(tt)3148 4431 y(ns)3219 4406 y Fu(])g(de\014nes)i(the)283
4527 y(seman)m(tics)30 b(of)f Fr(while)i Fs(b)k Fr(do)30
b Fs(S)41 b Fu(in)29 b(terms)g(of)g(itself.)41 b(Structural)29
b(induction)g(w)m(orks)i(\014ne)f(when)283 4647 y(the)k(seman)m(tics)f
(is)f(de\014ned)i Fs(c)-5 b(omp)g(ositional)5 b(ly)40
b Fu(\(as)33 b(e.g.)45 b Ft(A)32 b Fu(and)h Ft(B)j Fu(in)c(Chapter)i
(1\).)43 b(But)33 b(the)283 4768 y(natural)i(seman)m(tics)h(of)f(T)-8
b(able)35 b(2.1)g(is)g Fs(not)45 b Fu(de\014ned)38 b(comp)s
(ositionally)31 b(b)s(ecause)37 b(of)e(the)h(rule)283
4888 y([while)545 4852 y Fn(tt)533 4913 y(ns)604 4888
y Fu(].)430 5013 y(Basically)-8 b(,)46 b(induction)e(on)h(the)g(shap)s
(e)h(of)e(deriv)-5 b(ation)44 b(trees)i(is)e(a)h(kind)g(of)f
(structural)283 5133 y(induction)g(on)g(the)g(deriv)-5
b(ation)43 b(trees:)68 b(In)44 b(the)h Fs(b)-5 b(ase)45
b(c)-5 b(ase)51 b Fu(w)m(e)45 b(sho)m(w)g(that)f(the)h(prop)s(ert)m(y)
283 5254 y(holds)40 b(for)g(the)g(simple)e(deriv)-5 b(ation)39
b(trees.)66 b(In)41 b(the)f Fs(induction)h(step)46 b
Fu(w)m(e)41 b(assume)g(that)e(the)283 5374 y(prop)s(ert)m(y)d(holds)e
(for)g(the)h(immediate)d(constituen)m(ts)j(of)g(a)f(deriv)-5
b(ation)33 b(tree)i(and)f(sho)m(w)i(that)283 5494 y(it)c(also)g(holds)g
(for)g(the)h(comp)s(osite)e(deriv)-5 b(ation)31 b(tree.)p
eop
%%Page: 31 41
31 40 bop 0 130 a Fw(2.1)112 b(Natural)37 b(seman)m(tics)2216
b(31)p 0 193 3473 4 v 0 515 a Fp(The)44 b(seman)l(tic)j(function)d
FC(S)1440 533 y Fk(ns)0 700 y Fu(The)37 b Fs(me)-5 b(aning)44
b Fu(of)36 b(statemen)m(ts)h(can)g(no)m(w)g(b)s(e)g(summarized)e(as)i
(a)f(\(partial\))e(function)i(from)0 820 y Fw(State)d
Fu(to)f Fw(State)p Fu(.)43 b(W)-8 b(e)33 b(de\014ne)244
1017 y Ft(S)312 1032 y Fn(ns)383 1017 y Fu(:)43 b Fw(Stm)32
b Ft(!)g Fu(\()p Fw(State)h Fo(,)-17 b Ft(!)32 b Fw(State)p
Fu(\))0 1214 y(and)h(this)f(means)h(that)f(for)g(ev)m(ery)i(statemen)m
(t)f Fs(S)45 b Fu(w)m(e)33 b(ha)m(v)m(e)h(a)f(partial)d(function)244
1411 y Ft(S)312 1426 y Fn(ns)383 1411 y Fu([)-17 b([)p
Fs(S)12 b Fu(])-17 b(])33 b Ft(2)g Fw(State)g Fo(,)-17
b Ft(!)33 b Fw(State)p Fu(.)0 1607 y(It)g(is)f(giv)m(en)g(b)m(y)244
1861 y Ft(S)312 1876 y Fn(ns)383 1861 y Fu([)-17 b([)p
Fs(S)12 b Fu(])-17 b(])q Fs(s)40 b Fu(=)714 1715 y Fg(\()822
1800 y Fs(s)870 1763 y Fi(0)1148 1800 y Fu(if)31 b Ft(h)p
Fs(S)12 b Fu(,)33 b Fs(s)8 b Ft(i)32 b(!)g Fs(s)1702
1763 y Fi(0)822 1920 y Fu(undef)p 822 1933 243 4 v 91
w(otherwise)0 2114 y(Note)e(that)g Ft(S)510 2129 y Fn(ns)611
2114 y Fu(is)g(a)g(w)m(ell-de\014ned)g(partial)e(function)h(b)s(ecause)
j(of)e(Theorem)g(2.9.)42 b(The)31 b(need)0 2234 y(for)36
b(partialit)m(y)f(is)h(demonstrated)h(b)m(y)h(the)f(statemen)m(t)g
Fr(while)d(true)f(do)g(skip)38 b Fu(that)f(alw)m(a)m(ys)0
2355 y(lo)s(ops)32 b(\(see)h(Exercise)h(2.4\);)e(w)m(e)i(then)f(ha)m(v)
m(e)244 2552 y Ft(S)312 2567 y Fn(ns)383 2552 y Fu([)-17
b([)p Fr(while)34 b(true)g(do)f(skip)p Fu(])-17 b(])34
b Fs(s)41 b Fu(=)32 b(undef)p 1546 2565 236 4 v 0 2748
a(for)g(all)f(states)i Fs(s)8 b Fu(.)0 2968 y Fw(Exercise)36
b(2.11)49 b Fu(The)38 b(seman)m(tics)g(of)e(arithmetic)f(expressions)k
(is)e(giv)m(en)g(b)m(y)h(the)g(function)0 3088 y Ft(A)p
Fu(.)61 b(W)-8 b(e)39 b(can)g(also)f(use)h(an)g(op)s(erational)d
(approac)m(h)j(and)g(de\014ne)g(a)g(natural)e(seman)m(tics)i(for)0
3208 y(the)33 b(arithmetic)d(expressions.)46 b(It)32
b(will)f(ha)m(v)m(e)j(t)m(w)m(o)f(kinds)g(of)f(con\014gurations:)294
3397 y Ft(h)o Fs(a)7 b Fu(,)33 b Fs(s)8 b Ft(i)100 b
Fu(denoting)32 b(that)g Fs(a)40 b Fu(has)33 b(to)f(b)s(e)h(ev)-5
b(aluated)32 b(in)g(state)h Fs(s)8 b Fu(,)33 b(and)294
3564 y Fs(z)302 b Fu(denoting)32 b(the)h(\014nal)f(v)-5
b(alue)32 b(\(an)g(elemen)m(t)g(of)g Fw(Z)p Fu(\).)0
3754 y(The)i(transition)c(relation)h Ft(!)1103 3769 y
Fn(Aexp)1300 3754 y Fu(has)i(the)g(form)244 3951 y Ft(h)p
Fs(a)7 b Fu(,)32 b Fs(s)8 b Ft(i)33 b(!)618 3966 y Fn(Aexp)816
3951 y Fs(z)0 4147 y Fu(where)e(the)g(idea)e(is)h(that)f
Fs(a)38 b Fu(ev)-5 b(aluates)29 b(to)h Fs(z)42 b Fu(in)29
b(state)i Fs(s)8 b Fu(.)42 b(Some)30 b(example)f(axioms)g(and)h(rules)0
4268 y(are)244 4465 y Ft(h)p Fs(n)7 b Fu(,)32 b Fs(s)8
b Ft(i)33 b(!)623 4480 y Fn(Aexp)821 4465 y Ft(N)14 b
Fu([)-17 b([)q Fs(n)7 b Fu(])-17 b(])244 4679 y Ft(h)p
Fs(x)12 b Fu(,)32 b Fs(s)8 b Ft(i)32 b(!)618 4694 y Fn(Aexp)815
4679 y Fs(s)41 b(x)254 4885 y Ft(h)p Fs(a)350 4900 y
Fn(1)389 4885 y Fu(,)33 b Fs(s)8 b Ft(i)32 b(!)668 4900
y Fn(Aexp)865 4885 y Fs(z)917 4900 y Fn(1)957 4885 y
Fu(,)g Ft(h)p Fs(a)1112 4900 y Fn(2)1152 4885 y Fu(,)g
Fs(s)8 b Ft(i)33 b(!)1430 4900 y Fn(Aexp)1628 4885 y
Fs(z)1680 4900 y Fn(2)p 254 4948 1466 4 v 536 5053 a
Ft(h)p Fs(a)632 5068 y Fn(1)704 5053 y Fu(+)f Fs(a)869
5068 y Fn(2)909 5053 y Fu(,)h Fs(s)8 b Ft(i)32 b(!)1188
5068 y Fn(Aexp)1385 5053 y Fs(z)1826 4971 y Fu(where)i
Fs(z)45 b Fu(=)32 b Fs(z)2353 4986 y Fn(1)2425 4971 y
Fu(+)g Fs(z)2585 4986 y Fn(2)0 5234 y Fu(Complete)k(the)h(sp)s
(eci\014cation)f(of)h(the)g(transition)e(system.)57 b(Use)37
b(structural)g(induction)e(on)0 5355 y Fw(Aexp)e Fu(to)f(pro)m(v)m(e)i
(that)f(the)g(meaning)e(of)h Fs(a)40 b Fu(de\014ned)34
b(b)m(y)g(this)e(relation)f(is)h(the)h(same)g(as)g(that)0
5475 y(de\014ned)h(b)m(y)f Ft(A)p Fu(.)2820 b Fh(2)p
eop
%%Page: 32 42
32 41 bop 251 130 a Fw(32)2086 b(2)112 b(Op)s(erational)37
b(Seman)m(tics)p 251 193 3473 4 v 283 515 a(Exercise)g(2.12)49
b Fu(In)24 b(a)h(similar)c(w)m(a)m(y)k(w)m(e)h(can)e(sp)s(ecify)h(a)f
(natural)f(seman)m(tics)i(for)f(the)g(b)s(o)s(olean)283
636 y(expressions.)46 b(The)33 b(transitions)f(will)e(ha)m(v)m(e)k(the)
f(form)527 865 y Ft(h)p Fs(b)6 b Fu(,)33 b Fs(s)8 b Ft(i)32
b(!)896 880 y Fn(Bexp)1090 865 y Fs(t)283 1094 y Fu(where)27
b Fs(t)34 b Ft(2)25 b Fw(T)p Fu(.)g(Sp)s(ecify)g(the)h(transition)d
(system)j(and)f(pro)m(v)m(e)h(that)e(the)i(meaning)d(of)i
Fs(b)30 b Fu(de\014ned)283 1215 y(in)i(this)g(w)m(a)m(y)i(is)e(the)h
(same)g(as)g(that)f(de\014ned)i(b)m(y)f Ft(B)t Fu(.)1487
b Fh(2)283 1479 y Fw(Exercise)37 b(2.13)49 b Fu(Determine)i(whether)i
(or)e(not)h(seman)m(tic)g(equiv)-5 b(alence)52 b(of)f
Fs(S)3349 1494 y Fn(1)3441 1479 y Fu(and)h Fs(S)3717
1494 y Fn(2)283 1600 y Fu(amoun)m(ts)33 b(to)f Ft(S)864
1615 y Fn(ns)935 1600 y Fu([)-17 b([)q Fs(S)1040 1615
y Fn(1)1079 1600 y Fu(])g(])33 b(=)f Ft(S)1325 1615 y
Fn(ns)1396 1600 y Fu([)-17 b([)q Fs(S)1501 1615 y Fn(2)1540
1600 y Fu(])g(])q(.)2076 b Fh(2)283 1964 y Fj(2.2)161
b(Structural)53 b(op)t(erational)i(seman)l(tics)283 2194
y Fu(In)34 b(structural)g(op)s(erational)d(seman)m(tics)j(the)g
(emphasis)f(is)g(on)h(the)g Fs(individual)h(steps)41
b Fu(of)33 b(the)283 2314 y(execution,)i(that)f(is)f(the)i(execution)f
(of)f(assignmen)m(ts)i(and)e(tests.)49 b(The)35 b(transition)d
(relation)283 2435 y(has)h(the)g(form)527 2664 y Ft(h)p
Fs(S)12 b Fu(,)33 b Fs(s)8 b Ft(i)32 b(\))g Fo(\015)283
2893 y Fu(where)39 b Fo(\015)j Fu(either)37 b(is)f(of)h(the)g(form)f
Ft(h)p Fs(S)1675 2857 y Fi(0)1698 2893 y Fu(,)i Fs(s)1811
2857 y Fi(0)1835 2893 y Ft(i)e Fu(or)h(of)g(the)g(form)f
Fs(s)2605 2857 y Fi(0)2628 2893 y Fu(.)57 b(The)38 b(transition)e
(expresses)283 3014 y(the)30 b Fs(\014rst)39 b Fu(step)31
b(of)e(the)h(execution)g(of)f Fs(S)41 b Fu(from)28 b(state)i
Fs(s)8 b Fu(.)43 b(There)30 b(are)g(t)m(w)m(o)g(p)s(ossible)f
(outcomes:)429 3243 y Ft(\017)48 b Fu(If)25 b Fo(\015)k
Fu(is)24 b(of)g(the)h(form)e Ft(h)p Fs(S)1378 3207 y
Fi(0)1401 3243 y Fu(,)j Fs(s)1502 3207 y Fi(0)1526 3243
y Ft(i)e Fu(then)h(the)g(execution)g(of)f Fs(S)36 b Fu(from)23
b Fs(s)33 b Fu(is)24 b Fs(not)34 b Fu(completed)24 b(and)527
3363 y(the)42 b(remaining)e(computation)g(is)h(expressed)k(b)m(y)d(the)
g(in)m(termediate)f(con\014guration)527 3484 y Ft(h)p
Fs(S)633 3447 y Fi(0)656 3484 y Fu(,)33 b Fs(s)764 3447
y Fi(0)787 3484 y Ft(i)p Fu(.)429 3713 y Ft(\017)48 b
Fu(If)32 b Fo(\015)k Fu(is)31 b(of)g(the)g(form)g Fs(s)1362
3677 y Fi(0)1416 3713 y Fu(then)h(the)g(execution)g(of)f
Fs(S)43 b Fu(from)30 b Fs(s)40 b(has)f Fu(terminated)30
b(and)h(the)527 3833 y(\014nal)h(state)h(is)f Fs(s)1129
3797 y Fi(0)1153 3833 y Fu(.)283 4063 y(W)-8 b(e)33 b(shall)f(sa)m(y)h
(that)f Ft(h)p Fs(S)12 b Fu(,)33 b Fs(s)8 b Ft(i)32 b
Fu(is)g Fs(stuck)44 b Fu(if)31 b(there)i(is)f(no)h Fo(\015)k
Fu(suc)m(h)d(that)f Ft(h)p Fs(S)12 b Fu(,)32 b Fs(s)8
b Ft(i)32 b(\))g Fo(\015)5 b Fu(.)430 4188 y(The)45 b(de\014nition)f
(of)g Ft(\))g Fu(is)g(giv)m(en)h(b)m(y)g(the)g(axioms)e(and)i(rules)f
(of)g(T)-8 b(able)45 b(2.2)f(and)g(the)283 4308 y(general)36
b(form)g(of)g(these)h(are)g(as)g(in)e(the)i(previous)g(section.)56
b(Axioms)35 b([ass)3082 4323 y Fn(sos)3178 4308 y Fu(])i(and)f([skip)
3633 4323 y Fn(sos)3729 4308 y Fu(])283 4429 y(ha)m(v)m(e)46
b(not)e(c)m(hanged)i(at)d(all)g(b)s(ecause)i(the)g(assignmen)m(t)f(and)
g Fr(skip)i Fu(statemen)m(ts)f(are)f(fully)283 4549 y(executed)35
b(in)d(one)h(step.)430 4675 y(The)k(rules)f([comp)1138
4639 y Fn(1)1126 4699 y(sos)1221 4675 y Fu(])g(and)g([comp)1744
4639 y Fn(2)1732 4699 y(sos)1827 4675 y Fu(])g(express)j(that)d(to)g
(execute)i Fs(S)2992 4690 y Fn(1)3031 4675 y Fu(;)p Fs(S)3125
4690 y Fn(2)3201 4675 y Fu(in)d(state)i Fs(s)44 b Fu(w)m(e)283
4795 y(\014rst)34 b(execute)g Fs(S)901 4810 y Fn(1)973
4795 y Fu(one)f(step)g(from)f Fs(s)8 b Fu(.)43 b(Then)34
b(there)f(are)g(t)m(w)m(o)g(p)s(ossible)f(outcomes:)429
5024 y Ft(\017)48 b Fu(If)31 b(the)g(execution)h(of)e
Fs(S)1400 5039 y Fn(1)1470 5024 y Fu(has)i(not)e(b)s(een)i(completed)e
(w)m(e)i(ha)m(v)m(e)g(to)f(complete)f(it)g(b)s(efore)527
5145 y(em)m(barking)i(on)h(the)g(execution)g(of)f Fs(S)1922
5160 y Fn(2)1961 5145 y Fu(.)429 5374 y Ft(\017)48 b
Fu(If)35 b(the)g(execution)h(of)e Fs(S)1416 5389 y Fn(1)1490
5374 y Fu(has)i(b)s(een)f(completed)g(w)m(e)h(can)f(start)g(on)f(the)i
(execution)f(of)527 5494 y Fs(S)594 5509 y Fn(2)634 5494
y Fu(.)p eop
%%Page: 33 43
33 42 bop 0 130 a Fw(2.2)112 b(Structural)37 b(op)s(erational)f(seman)m
(tics)1506 b(33)p 0 193 3473 4 v 0 419 V 0 2340 4 1922
v 331 528 a Fu([ass)483 543 y Fn(sos)579 528 y Fu(])348
b Ft(h)o Fs(x)45 b Fu(:=)32 b Fs(a)7 b Fu(,)33 b Fs(s)8
b Ft(i)33 b(\))f Fs(s)8 b Fu([)p Fs(x)k Ft(7!)o(A)p Fu([)-17
b([)p Fs(a)7 b Fu(])-17 b(])q Fs(s)8 b Fu(])331 743 y([skip)529
758 y Fn(sos)624 743 y Fu(])303 b Ft(h)o Fr(skip)p Fu(,)34
b Fs(s)8 b Ft(i)33 b(\))f Fs(s)331 1035 y Fu([comp)598
999 y Fn(1)586 1059 y(sos)681 1035 y Fu(])1097 948 y
Ft(h)p Fs(S)1203 963 y Fn(1)1242 948 y Fu(,)h Fs(s)8
b Ft(i)32 b(\))g(h)p Fs(S)1659 912 y Fi(0)1659 973 y
Fn(1)1698 948 y Fu(,)h Fs(s)1806 912 y Fi(0)1829 948
y Ft(i)p 964 1012 1038 4 v 964 1116 a(h)o Fs(S)1069 1131
y Fn(1)1109 1116 y Fu(;)p Fs(S)1203 1131 y Fn(2)1242
1116 y Fu(,)g Fs(s)8 b Ft(i)32 b(\))g(h)p Fs(S)1659 1080
y Fi(0)1659 1141 y Fn(1)1698 1116 y Fu(;)p Fs(S)1792
1131 y Fn(2)1832 1116 y Fu(,)g Fs(s)1939 1080 y Fi(0)1963
1116 y Ft(i)331 1397 y Fu([comp)598 1361 y Fn(2)586 1422
y(sos)681 1397 y Fu(])1152 1310 y Ft(h)p Fs(S)1258 1325
y Fn(1)1297 1310 y Fu(,)h Fs(s)8 b Ft(i)32 b(\))g Fs(s)1656
1274 y Fi(0)p 964 1374 905 4 v 964 1478 a Ft(h)o Fs(S)1069
1493 y Fn(1)1109 1478 y Fu(;)p Fs(S)1203 1493 y Fn(2)1242
1478 y Fu(,)h Fs(s)8 b Ft(i)32 b(\))g(h)p Fs(S)1659 1493
y Fn(2)1698 1478 y Fu(,)h Fs(s)1806 1442 y Fi(0)1829
1478 y Ft(i)331 1682 y Fu([if)428 1646 y Fn(tt)416 1707
y(sos)510 1682 y Fu(])417 b Ft(h)o Fr(if)34 b Fs(b)k
Fr(then)c Fs(S)1516 1697 y Fn(1)1587 1682 y Fr(else)g
Fs(S)1892 1697 y Fn(2)1931 1682 y Fu(,)f Fs(s)8 b Ft(i)32
b(\))g(h)p Fs(S)2348 1697 y Fn(1)2387 1682 y Fu(,)h Fs(s)8
b Ft(i)32 b Fu(if)g Ft(B)s Fu([)-17 b([)q Fs(b)6 b Fu(])-17
b(])p Fs(s)41 b Fu(=)32 b Fw(tt)331 1897 y Fu([if)428
1861 y Fn(\013)416 1922 y(sos)510 1897 y Fu(])417 b Ft(h)o
Fr(if)34 b Fs(b)k Fr(then)c Fs(S)1516 1912 y Fn(1)1587
1897 y Fr(else)g Fs(S)1892 1912 y Fn(2)1931 1897 y Fu(,)f
Fs(s)8 b Ft(i)32 b(\))g(h)p Fs(S)2348 1912 y Fn(2)2387
1897 y Fu(,)h Fs(s)8 b Ft(i)32 b Fu(if)g Ft(B)s Fu([)-17
b([)q Fs(b)6 b Fu(])-17 b(])p Fs(s)41 b Fu(=)32 b Fw(\013)331
2112 y Fu([while)581 2127 y Fn(sos)675 2112 y Fu(])252
b Ft(h)o Fr(while)34 b Fs(b)39 b Fr(do)33 b Fs(S)12 b
Fu(,)32 b Fs(s)8 b Ft(i)33 b(\))1281 2279 y(h)p Fr(if)g
Fs(b)39 b Fr(then)33 b Fu(\()p Fs(S)12 b Fu(;)33 b Fr(while)g
Fs(b)39 b Fr(do)33 b Fs(S)12 b Fu(\))32 b Fr(else)i(skip)p
Fu(,)f Fs(s)8 b Ft(i)p 3469 2340 4 1922 v 0 2343 3473
4 v 574 2504 a Fu(T)-8 b(able)32 b(2.2:)43 b(Structural)32
b(op)s(erational)e(seman)m(tics)j(for)f Fw(While)0 2798
y Fu(The)h(\014rst)g(case)g(is)e(captured)i(b)m(y)g(the)g(rule)e([comp)
1874 2762 y Fn(1)1862 2822 y(sos)1957 2798 y Fu(]:)43
b(If)32 b(the)h(result)f(of)g(executing)g(the)h(\014rst)0
2918 y(step)e(of)e Ft(h)p Fs(S)12 b Fu(,)29 b Fs(s)8
b Ft(i)30 b Fu(is)f(an)h(in)m(termediate)f(con\014guration)g
Ft(h)o Fs(S)2076 2882 y Fi(0)2076 2943 y Fn(1)2116 2918
y Fu(,)h Fs(s)2221 2882 y Fi(0)2244 2918 y Ft(i)g Fu(then)g(the)h(next)
f(con\014guration)0 3039 y(is)g Ft(h)p Fs(S)202 3002
y Fi(0)202 3063 y Fn(1)241 3039 y Fu(;)p Fs(S)335 3054
y Fn(2)375 3039 y Fu(,)h Fs(s)481 3002 y Fi(0)504 3039
y Ft(i)g Fu(sho)m(wing)g(that)f(w)m(e)i(ha)m(v)m(e)h(to)d(complete)g
(the)h(execution)h(of)e Fs(S)2823 3054 y Fn(1)2893 3039
y Fu(b)s(efore)h(w)m(e)h(can)0 3159 y(start)f(on)f Fs(S)432
3174 y Fn(2)471 3159 y Fu(.)43 b(The)32 b(second)g(case)f(ab)s(o)m(v)m
(e)h(is)e(captured)i(b)m(y)f(the)g(rule)f([comp)2792
3123 y Fn(2)2780 3184 y(sos)2875 3159 y Fu(]:)43 b(If)30
b(the)h(result)0 3279 y(of)g(executing)g Fs(S)611 3294
y Fn(1)682 3279 y Fu(from)e Fs(s)40 b Fu(is)30 b(a)h(\014nal)f(state)i
Fs(s)1667 3243 y Fi(0)1721 3279 y Fu(then)g(the)f(next)h
(con\014guration)e(is)h Ft(h)p Fs(S)3118 3294 y Fn(2)3157
3279 y Fu(,)i Fs(s)3265 3243 y Fi(0)3288 3279 y Ft(i)p
Fu(,)e(so)0 3400 y(that)h(w)m(e)i(can)f(no)m(w)g(start)g(on)f
Fs(S)1173 3415 y Fn(2)1212 3400 y Fu(.)146 3524 y(F)-8
b(rom)47 b(the)i(axioms)e([if)1043 3488 y Fn(tt)1031
3549 y(sos)1125 3524 y Fu(])h(and)h([if)1503 3488 y Fn(\013)1491
3549 y(sos)1585 3524 y Fu(])f(w)m(e)h(see)h(that)e(the)g(\014rst)h
(step)g(in)f(executing)h(a)0 3645 y(conditional)22 b(is)j(to)g(p)s
(erform)f(the)h(test)h(and)f(to)g(select)h(the)f(appropriate)f(branc)m
(h.)42 b(Finally)-8 b(,)24 b(the)0 3765 y(axiom)i([while)535
3780 y Fn(sos)629 3765 y Fu(])h(sho)m(ws)i(that)e(the)h(\014rst)g(step)
g(in)e(the)i(execution)g(of)f(the)h Fr(while)p Fu(-construct)h(is)0
3886 y(to)i(unfold)f(it)g(one)h(lev)m(el,)g(that)g(is)f(to)h(rewrite)g
(it)e(as)j(a)e(conditional.)41 b(The)32 b(test)f(will)e(therefore)0
4006 y(b)s(e)h(p)s(erformed)g(in)g(the)g(second)i(step)f(of)f(the)g
(execution)h(\(where)g(one)g(of)f(the)g(axioms)f(for)h(the)0
4126 y Fr(if)p Fu(-construct)k(is)e(applied\).)42 b(W)-8
b(e)33 b(shall)e(see)j(an)e(example)h(of)f(this)g(shortly)-8
b(.)146 4251 y(A)33 b Fs(derivation)h(se)-5 b(quenc)g(e)39
b Fu(of)32 b(a)g(statemen)m(t)i Fs(S)44 b Fu(starting)32
b(in)f(state)i Fs(s)41 b Fu(is)32 b(either)145 4476 y
Ft(\017)49 b Fu(a)32 b Fs(\014nite)40 b Fu(sequence)458
4700 y Fo(\015)515 4715 y Fn(0)554 4700 y Fu(,)33 b Fo(\015)670
4715 y Fn(1)709 4700 y Fu(,)g Fo(\015)825 4715 y Fn(2)864
4700 y Fu(,)g Ft(\001)17 b(\001)g(\001)n Fu(,)33 b Fo(\015)1156
4715 y Fn(k)244 4925 y Fu(of)24 b(con\014gurations)g(satisfying)g
Fo(\015)1451 4940 y Fn(0)1515 4925 y Fu(=)g Ft(h)p Fs(S)12
b Fu(,)24 b Fs(s)8 b Ft(i)p Fu(,)27 b Fo(\015)1969 4940
y Fn(i)2017 4925 y Ft(\))d Fo(\015)2197 4940 y Fn(i+1)2335
4925 y Fu(for)h(0)p Ft(\024)p Fu(i)p Fo(<)p Fu(k,)g(k)p
Ft(\025)q Fu(0,)h(and)f(where)244 5045 y Fo(\015)300
5060 y Fn(k)374 5045 y Fu(is)32 b(either)g(a)h(terminal)d
(con\014guration)h(or)i(a)f(stuc)m(k)i(con\014guration,)e(or)g(it)g(is)
145 5270 y Ft(\017)49 b Fu(an)32 b Fs(in\014nite)40 b
Fu(sequence)458 5494 y Fo(\015)515 5509 y Fn(0)554 5494
y Fu(,)33 b Fo(\015)670 5509 y Fn(1)709 5494 y Fu(,)g
Fo(\015)825 5509 y Fn(2)864 5494 y Fu(,)g Ft(\001)17
b(\001)g(\001)p eop
%%Page: 34 44
34 43 bop 251 130 a Fw(34)2086 b(2)112 b(Op)s(erational)37
b(Seman)m(tics)p 251 193 3473 4 v 527 515 a Fu(of)32
b(con\014gurations)h(satisfying)e Fo(\015)1758 530 y
Fn(0)1830 515 y Fu(=)i Ft(h)o Fs(S)12 b Fu(,)33 b Fs(s)8
b Ft(i)32 b Fu(and)h Fo(\015)2469 530 y Fn(i)2525 515
y Ft(\))f Fo(\015)2713 530 y Fn(i+1)2860 515 y Fu(for)g(0)p
Ft(\024)p Fu(i)283 715 y(W)-8 b(e)40 b(shall)d(write)i
Fo(\015)1004 730 y Fn(0)1082 715 y Ft(\))1181 678 y Fn(i)1244
715 y Fo(\015)1300 730 y Fn(i)1362 715 y Fu(to)g(indicate)f(that)g
(there)i(are)e(i)g(steps)i(in)e(the)i(execution)f(from)283
835 y Fo(\015)339 850 y Fn(0)413 835 y Fu(to)c Fo(\015)591
850 y Fn(i)649 835 y Fu(and)g(w)m(e)g(write)f Fo(\015)1294
850 y Fn(0)1367 835 y Ft(\))1467 799 y Fi(\003)1541 835
y Fo(\015)1597 850 y Fn(i)1655 835 y Fu(to)h(indicate)e(that)h(there)i
(is)e(a)g(\014nite)g(n)m(um)m(b)s(er)h(of)f(steps.)283
955 y(Note)i(that)f Fo(\015)792 970 y Fn(0)867 955 y
Ft(\))966 919 y Fn(i)1025 955 y Fo(\015)1081 970 y Fn(i)1140
955 y Fu(and)g Fo(\015)1389 970 y Fn(0)1463 955 y Ft(\))1563
919 y Fi(\003)1637 955 y Fo(\015)1693 970 y Fn(i)1752
955 y Fu(need)i Fs(not)44 b Fu(b)s(e)36 b(deriv)-5 b(ation)33
b(sequences:)53 b(they)36 b(will)d(b)s(e)283 1076 y(so)g(if)f(and)g
(only)g(if)g Fo(\015)1042 1091 y Fn(i)1098 1076 y Fu(is)g(either)h(a)f
(terminal)e(con\014guration)i(or)g(a)g(stuc)m(k)j(con\014guration.)283
1298 y Fw(Example)i(2.14)49 b Fu(Consider)33 b(the)g(statemen)m(t)527
1497 y(\()p Fr(z)g Fu(:=)g Fr(x)p Fu(;)f Fr(x)h Fu(:=)g
Fr(y)p Fu(\);)g Fr(y)f Fu(:=)h Fr(z)283 1697 y Fu(of)j(Chapter)h(1)f
(and)g(let)g Fs(s)1252 1712 y Fn(0)1328 1697 y Fu(b)s(e)g(the)h(state)f
(that)g(maps)g(all)e(v)-5 b(ariables)35 b(except)j Fr(x)e
Fu(and)h Fr(y)f Fu(to)g Fw(0)283 1817 y Fu(and)d(that)g(has)f
Fs(s)906 1832 y Fn(0)979 1817 y Fr(x)g Fu(=)h Fw(5)f
Fu(and)h Fs(s)1497 1832 y Fn(0)1569 1817 y Fr(y)g Fu(=)f
Fw(7)p Fu(.)44 b(W)-8 b(e)33 b(then)g(ha)m(v)m(e)h(the)f(deriv)-5
b(ation)31 b(sequence:)527 2016 y Ft(h)p Fu(\()p Fr(z)i
Fu(:=)f Fr(x)p Fu(;)h Fr(x)g Fu(:=)f Fr(y)p Fu(\);)h
Fr(y)g Fu(:=)g Fr(z)p Fu(,)f Fs(s)1680 2031 y Fn(0)1720
2016 y Ft(i)934 2184 y(\))g(h)p Fr(x)h Fu(:=)f Fr(y)p
Fu(;)h Fr(y)g Fu(:=)f Fr(z)p Fu(,)h Fs(s)1813 2199 y
Fn(0)1853 2184 y Fu([)p Fr(z)p Ft(7!)p Fw(5)p Fu(])p
Ft(i)934 2351 y(\))f(h)p Fr(y)h Fu(:=)f Fr(z)p Fu(,)h(\()p
Fs(s)1521 2366 y Fn(0)1561 2351 y Fu([)p Fr(z)p Ft(7!)p
Fw(5)p Fu(]\)[)p Fr(x)p Ft(7!)p Fw(7)p Fu(])p Ft(i)934
2519 y(\))f Fu(\(\()p Fs(s)1190 2534 y Fn(0)1230 2519
y Fu([)p Fr(z)p Ft(7!)p Fw(5)p Fu(]\)[)p Fr(x)p Ft(7!)p
Fw(7)p Fu(]\)[)p Fr(y)p Ft(7!)p Fw(5)p Fu(])283 2718
y(Corresp)s(onding)c(to)g Fs(e)-5 b(ach)34 b Fu(of)28
b(these)h(steps)g(w)m(e)g(ha)m(v)m(e)g Fs(derivation)h(tr)-5
b(e)g(es)36 b Fu(explaining)26 b(wh)m(y)j(they)283 2839
y(tak)m(e)34 b(place.)43 b(F)-8 b(or)32 b(the)h(\014rst)g(step)527
3038 y Ft(h)p Fu(\()p Fr(z)g Fu(:=)f Fr(x)p Fu(;)h Fr(x)g
Fu(:=)f Fr(y)p Fu(\);)h Fr(y)g Fu(:=)g Fr(z)p Fu(,)f
Fs(s)1680 3053 y Fn(0)1720 3038 y Ft(i)g(\))g(h)p Fr(x)h
Fu(:=)f Fr(y)p Fu(;)h Fr(y)g Fu(:=)f Fr(z)p Fu(,)h Fs(s)2670
3053 y Fn(0)2710 3038 y Fu([)p Fr(z)p Ft(7!)p Fw(5)p
Fu(])p Ft(i)283 3237 y Fu(the)g(deriv)-5 b(ation)31 b(tree)j(is)1314
3408 y Ft(h)p Fr(z)f Fu(:=)f Fr(x)p Fu(,)h Fs(s)1731
3423 y Fn(0)1771 3408 y Ft(i)f(\))g Fs(s)2022 3423 y
Fn(0)2061 3408 y Fu([)p Fr(z)p Ft(7!)p Fw(5)p Fu(])p
527 3495 2583 4 v 945 3699 a Ft(h)p Fr(z)h Fu(:=)f Fr(x)p
Fu(;)h Fr(x)g Fu(:=)f Fr(y)p Fu(,)h Fs(s)1692 3714 y
Fn(0)1732 3699 y Ft(i)f(\))g(h)p Fr(x)h Fu(:=)f Fr(y)p
Fu(,)h Fs(s)2352 3714 y Fn(0)2392 3699 y Fu([)p Fr(z)p
Ft(7!)p Fw(5)p Fu(])p Ft(i)p 527 3786 V 577 3991 a(h)p
Fu(\()p Fr(z)g Fu(:=)f Fr(x)p Fu(;)h Fr(x)g Fu(:=)f Fr(y)p
Fu(\);)h Fr(y)g Fu(:=)f Fr(z)p Fu(,)h Fs(s)1730 4006
y Fn(0)1770 3991 y Ft(i)f(\))g(h)p Fr(x)h Fu(:=)f Fr(y)p
Fu(;)h Fr(y)g Fu(:=)f Fr(z)p Fu(,)h Fs(s)2720 4006 y
Fn(0)2760 3991 y Fu([)p Fr(z)p Ft(7!)p Fw(5)p Fu(])p
Ft(i)283 4193 y Fu(and)41 b(it)e(has)i(b)s(een)g(constructed)h(from)d
(the)i(axiom)e([ass)2404 4208 y Fn(sos)2500 4193 y Fu(])h(and)g(the)h
(rules)g([comp)3449 4157 y Fn(1)3437 4218 y(sos)3531
4193 y Fu(])g(and)283 4313 y([comp)550 4277 y Fn(2)538
4338 y(sos)633 4313 y Fu(].)49 b(The)36 b(deriv)-5 b(ation)33
b(tree)i(for)f(the)g(second)i(step)g(is)d(constructed)k(in)c(a)h
(similar)e(w)m(a)m(y)283 4434 y(using)j(only)g([ass)910
4449 y Fn(sos)1006 4434 y Fu(])g(and)g([comp)1527 4398
y Fn(2)1515 4458 y(sos)1610 4434 y Fu(])g(and)g(for)g(the)g(third)g
(step)h(it)e(simply)f(is)i(an)g(instance)g(of)283 4554
y([ass)435 4569 y Fn(sos)531 4554 y Fu(].)3096 b Fh(2)283
4777 y Fw(Example)37 b(2.15)49 b Fu(Assume)37 b(that)f
Fs(s)45 b Fr(x)36 b Fu(=)h Fw(3)p Fu(.)55 b(The)37 b(\014rst)g(step)g
(of)f(execution)h(from)e(the)i(con-)283 4897 y(\014guration)527
5096 y Ft(h)p Fr(y)p Fu(:=)p Fr(1)p Fu(;)c Fr(while)h
Ft(:)p Fu(\()p Fr(x)p Fu(=)p Fr(1)p Fu(\))f Fr(do)g Fu(\()p
Fr(y)p Fu(:=)p Fr(y)g Fo(?)g Fr(x)p Fu(;)f Fr(x)p Fu(:=)p
Fr(x)p Ft(\000)p Fr(1)p Fu(\),)i Fs(s)8 b Ft(i)283 5295
y Fu(will)31 b(giv)m(e)h(the)h(con\014guration)527 5494
y Ft(h)p Fr(while)h Ft(:)p Fu(\()p Fr(x)p Fu(=)p Fr(1)p
Fu(\))f Fr(do)g Fu(\()p Fr(y)p Fu(:=)p Fr(y)g Fo(?)f
Fr(x)p Fu(;)h Fr(x)p Fu(:=)p Fr(x)p Ft(\000)p Fr(1)p
Fu(\),)h Fs(s)8 b Fu([)p Fr(y)p Ft(7!)p Fw(1)p Fu(])p
Ft(i)p eop
%%Page: 35 45
35 44 bop 0 130 a Fw(2.2)112 b(Structural)37 b(op)s(erational)f(seman)m
(tics)1506 b(35)p 0 193 3473 4 v 0 515 a Fu(This)39 b(is)g(ac)m(hiev)m
(ed)h(using)e(the)i(axiom)d([ass)1617 530 y Fn(sos)1713
515 y Fu(])i(and)g(the)g(rule)g([comp)2618 479 y Fn(2)2606
540 y(sos)2701 515 y Fu(])g(as)g(sho)m(wn)h(b)m(y)g(the)0
636 y(deriv)-5 b(ation)31 b(tree:)929 798 y Ft(h)p Fr(y)p
Fu(:=)p Fr(1)p Fu(,)i Fs(s)8 b Ft(i)32 b(\))g Fs(s)8
b Fu([)p Fr(y)p Ft(7!)p Fw(1)p Fu(])p 244 885 2235 4
v 294 1089 a Ft(h)o Fr(y)p Fu(:=)p Fr(1)p Fu(;)34 b Fr(while)f
Ft(:)q Fu(\()p Fr(x)p Fu(=)p Fr(1)p Fu(\))g Fr(do)g Fu(\()p
Fr(y)p Fu(:=)p Fr(y)p Fo(?)p Fr(x)p Fu(;)g Fr(x)p Fu(:=)p
Fr(x)p Ft(\000)p Fr(1)p Fu(\),)h Fs(s)8 b Ft(i)32 b(\))362
1257 y(h)o Fr(while)i Ft(:)q Fu(\()p Fr(x)p Fu(=)p Fr(1)p
Fu(\))f Fr(do)g Fu(\()p Fr(y)p Fu(:=)p Fr(y)p Fo(?)p
Fr(x)p Fu(;)g Fr(x)p Fu(:=)p Fr(x)p Ft(\000)p Fr(1)p
Fu(\),)h Fs(s)8 b Fu([)p Fr(y)p Ft(7!)p Fw(1)p Fu(])p
Ft(i)0 1440 y Fu(The)43 b(next)h(step)f(of)f(the)h(execution)g(will)d
(rewrite)i(the)h(lo)s(op)e(as)i(a)f(conditional)e(using)i(the)0
1561 y(axiom)31 b([while)540 1576 y Fn(sos)634 1561 y
Fu(])i(so)g(w)m(e)g(get)g(the)g(con\014guration)244 1751
y Ft(h)p Fr(if)g Ft(:)p Fu(\()p Fr(x)p Fu(=)p Fr(1)p
Fu(\))g Fr(then)g Fu(\(\()p Fr(y)p Fu(:=)p Fr(y)p Fo(?)q
Fr(x)p Fu(;)f Fr(x)p Fu(:=)p Fr(x)p Ft(\000)p Fr(1)p
Fu(\);)1046 1919 y Fr(while)i Ft(:)q Fu(\()p Fr(x)p Fu(=)p
Fr(1)p Fu(\))e Fr(do)i Fu(\()p Fr(y)p Fu(:=)p Fr(y)p
Fo(?)p Fr(x)p Fu(;)f Fr(x)p Fu(:=)p Fr(x)p Ft(\000)p
Fr(1)p Fu(\)\))771 2086 y Fr(else)g(skip)p Fu(,)h Fs(s)8
b Fu([)p Fr(y)p Ft(7!)p Fw(1)p Fu(])p Ft(i)0 2276 y Fu(The)38
b(follo)m(wing)c(step)k(will)d(p)s(erform)h(the)i(test)g(and)f(yields)g
(\(according)f(to)h([if)2937 2240 y Fn(tt)2925 2301 y(sos)3019
2276 y Fu(]\))g(the)h(con-)0 2397 y(\014guration)244
2587 y Ft(h)p Fu(\()p Fr(y)p Fu(:=)p Fr(y)p Fo(?)p Fr(x)p
Fu(;)33 b Fr(x)p Fu(:=)p Fr(x)p Ft(\000)p Fr(1)p Fu(\);)h
Fr(while)f Ft(:)q Fu(\()p Fr(x)p Fu(=)p Fr(1)p Fu(\))g
Fr(do)g Fu(\()p Fr(y)p Fu(:=)p Fr(y)g Fo(?)f Fr(x)p Fu(;)h
Fr(x)p Fu(:=)p Fr(x)p Ft(\000)p Fr(1)p Fu(\),)h Fs(s)8
b Fu([)p Fr(y)p Ft(7!)p Fw(1)p Fu(])p Ft(i)0 2777 y Fu(W)-8
b(e)33 b(can)g(then)g(use)h([ass)890 2792 y Fn(sos)985
2777 y Fu(],)f([comp)1339 2741 y Fn(2)1327 2802 y(sos)1422
2777 y Fu(])g(and)f([comp)1938 2741 y Fn(1)1926 2802
y(sos)2021 2777 y Fu(])h(to)f(obtain)f(the)i(con\014guration)244
2967 y Ft(h)p Fr(x)p Fu(:=)p Fr(x)p Ft(\000)p Fr(1)p
Fu(;)g Fr(while)h Ft(:)q Fu(\()p Fr(x)p Fu(=)p Fr(1)p
Fu(\))f Fr(do)g Fu(\()p Fr(y)p Fu(:=)p Fr(y)g Fo(?)f
Fr(x)p Fu(;)h Fr(x)p Fu(:=)p Fr(x)p Ft(\000)p Fr(1)p
Fu(\),)h Fs(s)8 b Fu([)p Fr(y)p Ft(7!)p Fw(3)p Fu(])p
Ft(i)0 3157 y Fu(as)33 b(is)f(v)m(eri\014ed)h(b)m(y)h(the)f(deriv)-5
b(ation)31 b(tree:)1156 3339 y Ft(h)p Fr(y)p Fu(:=)p
Fr(y)p Fo(?)p Fr(x)p Fu(,)i Fs(s)8 b Fu([)p Fr(y)p Ft(7!)p
Fw(1)p Fu(])p Ft(i\))o Fs(s)g Fu([)p Fr(y)p Ft(7!)p Fw(3)p
Fu(])p 204 3426 3066 4 v 723 3630 a Ft(h)p Fr(y)p Fu(:=)p
Fr(y)p Fo(?)p Fr(x)p Fu(;)33 b Fr(x)p Fu(:=)p Fr(x)p
Ft(\000)p Fr(1)p Fu(,)h Fs(s)8 b Fu([)p Fr(y)p Ft(7!)p
Fw(1)p Fu(])p Ft(i\)h)o Fr(x)p Fu(:=)p Fr(x)p Ft(\000)p
Fr(1)p Fu(,)34 b Fs(s)8 b Fu([)p Fr(y)p Ft(7!)p Fw(3)p
Fu(])p Ft(i)p 204 3717 V 253 3922 a(h)p Fu(\()p Fr(y)p
Fu(:=)p Fr(y)p Fo(?)p Fr(x)p Fu(;)33 b Fr(x)p Fu(:=)p
Fr(x)p Ft(\000)p Fr(1)p Fu(\);)h Fr(while)g Ft(:)p Fu(\()p
Fr(x)p Fu(=)p Fr(1)p Fu(\))f Fr(do)g Fu(\()p Fr(y)p Fu(:=)p
Fr(y)p Fo(?)p Fr(x)p Fu(;)g Fr(x)p Fu(:=)p Fr(x)p Ft(\000)p
Fr(1)p Fu(\),)h Fs(s)8 b Fu([)p Fr(y)p Ft(7!)p Fw(1)p
Fu(])p Ft(i)32 b(\))507 4089 y(h)p Fr(x)p Fu(:=)p Fr(x)p
Ft(\000)p Fr(1)p Fu(;)i Fr(while)g Ft(:)p Fu(\()p Fr(x)p
Fu(=)p Fr(1)p Fu(\))f Fr(do)g Fu(\()p Fr(y)p Fu(:=)p
Fr(y)g Fo(?)f Fr(x)p Fu(;)h Fr(x)p Fu(:=)p Fr(x)p Ft(\000)p
Fr(1)p Fu(\),)h Fs(s)8 b Fu([)p Fr(y)p Ft(7!)p Fw(3)p
Fu(])p Ft(i)0 4282 y Fu(Using)32 b([ass)426 4297 y Fn(sos)522
4282 y Fu(])h(and)f([comp)1038 4246 y Fn(2)1026 4307
y(sos)1121 4282 y Fu(])h(the)g(next)g(con\014guration)f(will)e(then)k
(b)s(e)244 4473 y Ft(h)p Fr(while)f Ft(:)q Fu(\()p Fr(x)p
Fu(=)p Fr(1)p Fu(\))g Fr(do)g Fu(\()p Fr(y)p Fu(:=)p
Fr(y)g Fo(?)f Fr(x)p Fu(;)h Fr(x)p Fu(:=)p Fr(x)p Ft(\000)p
Fr(1)p Fu(\),)h Fs(s)8 b Fu([)p Fr(y)p Ft(7!)p Fw(3)p
Fu(][)p Fr(x)p Ft(7!)p Fw(2)p Fu(])p Ft(i)0 4663 y Fu(Con)m(tin)m(uing)
32 b(in)g(this)g(w)m(a)m(y)i(w)m(e)f(ev)m(en)m(tually)h(reac)m(h)f(the)
g(\014nal)f(state)h Fs(s)8 b Fu([)p Fr(y)p Ft(7!)p Fw(6)p
Fu(][)p Fr(x)p Ft(7!)p Fw(1)p Fu(].)304 b Fh(2)0 4873
y Fw(Exercise)36 b(2.16)49 b Fu(Construct)34 b(a)e(deriv)-5
b(ation)31 b(sequence)36 b(for)c(the)h(statemen)m(t)244
5064 y Fr(z)p Fu(:=)p Fr(0)p Fu(;)g Fr(while)h(y)p Ft(\024)q
Fr(x)e(do)h Fu(\()p Fr(z)p Fu(:=)p Fr(z)p Fu(+)p Fr(1)p
Fu(;)h Fr(x)p Fu(:=)p Fr(x)p Ft(\000)p Fr(y)p Fu(\))0
5254 y(when)24 b(executed)h(in)d(a)g(state)h(where)h
Fr(x)f Fu(has)g(the)g(v)-5 b(alue)22 b Fw(17)h Fu(and)g
Fr(y)g Fu(has)g(the)g(v)-5 b(alue)22 b Fw(5)p Fu(.)40
b(Determine)0 5374 y(a)33 b(state)g Fs(s)41 b Fu(suc)m(h)35
b(that)d(the)i(deriv)-5 b(ation)31 b(sequence)36 b(obtained)c(for)h
(the)g(ab)s(o)m(v)m(e)h(statemen)m(t)f(and)0 5494 y Fs(s)41
b Fu(is)32 b(in\014nite.)2893 b Fh(2)p eop
%%Page: 36 46
36 45 bop 251 130 a Fw(36)2086 b(2)112 b(Op)s(erational)37
b(Seman)m(tics)p 251 193 3473 4 v 430 515 a Fu(Giv)m(en)30
b(a)g(statemen)m(t)h Fs(S)42 b Fu(in)29 b(the)i(language)e
Fw(While)g Fu(and)h(a)g(state)g Fs(s)39 b Fu(it)29 b(is)h(alw)m(a)m(ys)
h(p)s(ossible)283 636 y(to)43 b(\014nd)g Fs(at)i(le)-5
b(ast)44 b(one)50 b Fu(deriv)-5 b(ation)41 b(sequence)46
b(that)d(starts)g(in)f(the)h(con\014guration)f Ft(h)p
Fs(S)12 b Fu(,)43 b Fs(s)8 b Ft(i)p Fu(:)283 756 y(simply)29
b(apply)h(axioms)e(and)j(rules)f(forev)m(er)g(or)g(un)m(til)f(a)g
(terminal)f(or)i(stuc)m(k)h(con\014guration)e(is)283
877 y(reac)m(hed.)60 b(Insp)s(ection)37 b(of)g(T)-8 b(able)37
b(2.2)g(sho)m(ws)i(that)e(there)h(are)f(no)h(stuc)m(k)h
(con\014gurations)e(in)283 997 y Fw(While)30 b Fu(and)i(Exercise)g
(2.22)f(b)s(elo)m(w)g(will)e(sho)m(w)k(that)e(there)h(is)f(in)g(fact)g
(only)g(one)g(deriv)-5 b(ation)283 1117 y(sequence)41
b(that)c(starts)h(with)f Ft(h)p Fs(S)12 b Fu(,)37 b Fs(s)8
b Ft(i)p Fu(.)59 b(Ho)m(w)m(ev)m(er,)41 b(some)c(of)g(the)h(constructs)
h(considered)g(in)283 1238 y(Section)k(2.4)g(that)f(extend)j
Fw(While)c Fu(will)f(ha)m(v)m(e)45 b(con\014gurations)d(that)h(are)g
(stuc)m(k)h(or)f(more)283 1358 y(than)33 b(one)g(deriv)-5
b(ation)31 b(sequence)k(that)e(starts)g(in)e(a)i(giv)m(en)f
(con\014guration.)430 1496 y(In)j(analogy)f(with)h(the)h(terminology)d
(of)h(the)i(previous)g(section)f(w)m(e)h(shall)e(sa)m(y)i(that)f(the)
283 1616 y(execution)f(of)e(a)g(statemen)m(t)h Fs(S)45
b Fu(on)32 b(a)g(state)h Fs(s)429 1905 y Ft(\017)48 b
Fs(terminates)e Fu(if)36 b(and)i(only)g(if)e(there)j(is)e(a)g(\014nite)
h(deriv)-5 b(ation)36 b(sequence)k(starting)d(with)527
2025 y Ft(h)p Fs(S)12 b Fu(,)33 b Fs(s)8 b Ft(i)o Fu(,)33
b(and)429 2314 y Ft(\017)48 b Fs(lo)-5 b(ops)54 b Fu(if)46
b(and)g(only)g(if)f(there)j(is)e(an)g(in\014nite)g(deriv)-5
b(ation)44 b(sequence)50 b(starting)45 b(with)527 2434
y Ft(h)p Fs(S)12 b Fu(,)33 b Fs(s)8 b Ft(i)o Fu(.)283
2723 y(W)-8 b(e)37 b(shall)d(sa)m(y)j(that)f(the)g(execution)g(of)g
Fs(S)47 b Fu(on)36 b Fs(s)44 b(terminates)37 b(suc)-5
b(c)g(essful)5 b(ly)45 b Fu(if)34 b Ft(h)p Fs(S)12 b
Fu(,)33 b Fs(s)8 b Ft(i)32 b(\))3613 2687 y Fi(\003)3685
2723 y Fs(s)3733 2687 y Fi(0)283 2844 y Fu(for)k(some)f(state)i
Fs(s)974 2807 y Fi(0)997 2844 y Fu(;)h(in)d Fw(While)f
Fu(an)i(execution)g(terminates)f(successfully)i(if)e(and)h(only)f(if)g
(it)283 2964 y(terminates)e(b)s(ecause)h(there)g(are)f(no)g(stuc)m(k)i
(con\014gurations.)45 b(Finally)-8 b(,)30 b(w)m(e)k(shall)e(sa)m(y)i
(that)f(a)283 3084 y(statemen)m(t)e Fs(S)42 b(always)32
b(terminates)38 b Fu(if)29 b(it)g(terminates)h(on)g(all)e(states,)k
(and)e Fs(always)i(lo)-5 b(ops)38 b Fu(if)29 b(it)283
3205 y(lo)s(ops)j(on)g(all)f(states.)283 3570 y Fw(Exercise)37
b(2.17)49 b Fu(Extend)42 b Fw(While)d Fu(with)i(the)g(construct)h
Fr(repeat)g Fs(S)53 b Fr(until)42 b Fs(b)k Fu(and)41
b(sp)s(ec-)283 3690 y(ify)i(the)g(structural)g(op)s(erational)e(seman)m
(tics)i(for)f(it.)74 b(\(The)44 b(seman)m(tics)f(for)f(the)i
Fr(repeat)p Fu(-)283 3811 y(construct)34 b(is)e(not)h(allo)m(w)m(ed)e
(to)i(rely)f(on)h(the)g(existence)h(of)e(a)g Fr(while)p
Fu(-construct.\))380 b Fh(2)283 4158 y Fw(Exercise)37
b(2.18)49 b Fu(Extend)42 b Fw(While)c Fu(with)j(the)f(construct)i
Fr(for)f Fs(x)52 b Fu(:=)41 b Fs(a)2989 4173 y Fn(1)3069
4158 y Fr(to)g Fs(a)3269 4173 y Fn(2)3349 4158 y Fr(do)g
Fs(S)52 b Fu(and)283 4279 y(sp)s(ecify)31 b(the)f(structural)f(op)s
(erational)e(seman)m(tics)j(for)f(it.)42 b(Hin)m(t:)f(Y)-8
b(ou)30 b(ma)m(y)f(need)i(to)e(assume)283 4399 y(that)j(y)m(ou)g(ha)m
(v)m(e)h(an)e(\\in)m(v)m(erse")h(to)f Ft(N)15 b Fu(,)31
b(so)h(that)f(there)h(is)f(a)h(n)m(umeral)e(for)h(eac)m(h)h(n)m(um)m(b)
s(er)g(that)283 4520 y(ma)m(y)40 b(arise)g(during)f(the)i(computation.)
64 b(\(The)41 b(seman)m(tics)f(for)g(the)g Fr(for)p Fu(-construct)h(is)
f(not)283 4640 y(allo)m(w)m(ed)32 b(to)h(rely)f(on)g(the)h(existence)i
(of)d(a)g Fr(while)p Fu(-construct.\))1080 b Fh(2)283
5034 y Fp(Prop)t(erties)46 b(of)f(the)h(seman)l(tics)283
5254 y Fu(F)-8 b(or)44 b(structural)g(op)s(erational)e(seman)m(tics)i
(it)f(is)h(often)h(useful)f(to)g(conduct)h(pro)s(ofs)f(b)m(y)h(in-)283
5374 y(duction)40 b(on)g(the)g Fs(length)47 b Fu(of)39
b(the)h(deriv)-5 b(ation)39 b(sequences.)68 b(The)41
b(pro)s(of)e(tec)m(hnique)i(ma)m(y)f(b)s(e)283 5494 y(summarized)32
b(as)h(follo)m(ws:)p eop
%%Page: 37 47
37 46 bop 0 130 a Fw(2.2)112 b(Structural)37 b(op)s(erational)f(seman)m
(tics)1506 b(37)p 0 193 3473 4 v 0 419 3470 4 v 0 436
V -2 643 4 208 v 15 643 V 544 564 a(Induction)32 b(on)g(the)h(Length)g
(of)g(Deriv)-6 b(ation)31 b(Sequences)p 3452 643 V 3469
643 V 0 647 3470 4 v -2 895 4 249 v 15 895 V 66 812 a
Fu(1:)143 b(Pro)m(v)m(e)34 b(that)f(the)g(prop)s(ert)m(y)g(holds)f(for)
g(all)f(deriv)-5 b(ation)31 b(sequences)k(of)e(length)f(0.)p
3452 895 V 3469 895 V -2 1424 4 529 v 15 1424 V 66 980
a(2:)143 b(Pro)m(v)m(e)35 b(that)d(the)i(prop)s(ert)m(y)f(holds)g(for)f
(all)f(other)i(deriv)-5 b(ation)31 b(sequences:)47 b(Assume)285
1100 y(that)39 b(the)h(prop)s(ert)m(y)g(holds)f(for)g(all)e(deriv)-5
b(ation)38 b(sequences)k(of)d(length)g(at)g(most)g(k)285
1220 y(\(this)31 b(is)f(called)g(the)h Fs(induction)i(hyp)-5
b(othesis)p Fu(\))31 b(and)g(sho)m(w)h(that)e(it)g(holds)h(for)f(deriv)
-5 b(a-)285 1341 y(tion)32 b(sequences)k(of)c(length)g(k+1.)p
3452 1424 V 3469 1424 V 0 1427 3470 4 v 0 1444 V 0 1640
a(The)27 b(induction)f(step)h(of)g(a)f(pro)s(of)g(follo)m(wing)d(this)k
(principle)e(will)f(often)i(b)s(e)h(done)g(b)m(y)h(insp)s(ect-)0
1760 y(ing)k(either)145 1960 y Ft(\017)49 b Fu(the)33
b(structure)h(of)e(the)h(syn)m(tactic)g(elemen)m(t,)g(or)145
2162 y Ft(\017)49 b Fu(the)33 b(deriv)-5 b(ation)31 b(tree)i(v)-5
b(alidating)29 b(the)k(\014rst)h(transition)c(of)j(the)g(deriv)-5
b(ation)30 b(sequence.)0 2361 y(Note)j(that)f(the)h(pro)s(of)f(tec)m
(hnique)i(is)e(a)g(simple)f(application)f(of)i(mathematical)e
(induction.)146 2482 y(T)-8 b(o)30 b(illustrate)e(the)i(use)h(of)e(the)
i(pro)s(of)e(tec)m(hnique)i(w)m(e)g(shall)d(pro)m(v)m(e)j(the)f(follo)m
(wing)e(lemma)0 2602 y(\(to)22 b(b)s(e)h(used)g(in)f(the)h(next)g
(section\).)40 b(In)m(tuitiv)m(ely)-8 b(,)24 b(the)f(lemma)d(expresses)
26 b(that)c(the)h(execution)0 2723 y(of)35 b(a)h(comp)s(osite)e
(construct)j Fs(S)1159 2738 y Fn(1)1198 2723 y Fu(;)p
Fs(S)1292 2738 y Fn(2)1367 2723 y Fu(can)f(b)s(e)g(split)e(in)m(to)h(t)
m(w)m(o)h(parts,)h(one)f(corresp)s(onding)g(to)0 2843
y Fs(S)67 2858 y Fn(1)139 2843 y Fu(and)c(the)h(other)g(corresp)s
(onding)g(to)f Fs(S)1564 2858 y Fn(2)1603 2843 y Fu(.)p
0 2963 3473 5 v 0 3134 a Fw(Lemma)37 b(2.19)49 b Fu(If)26
b Ft(h)p Fs(S)842 3149 y Fn(1)881 3134 y Fu(;)p Fs(S)975
3149 y Fn(2)1015 3134 y Fu(,)h Fs(s)8 b Ft(i)26 b(\))1282
3098 y Fn(k)1349 3134 y Fs(s)1397 3098 y Fi(00)1466 3134
y Fu(then)h(there)g(exists)g(a)f(state)h Fs(s)2544 3098
y Fi(0)2593 3134 y Fu(and)f(natural)g(n)m(um)m(b)s(ers)0
3254 y(k)51 3269 y Fn(1)123 3254 y Fu(and)33 b(k)364
3269 y Fn(2)437 3254 y Fu(suc)m(h)h(that)e Ft(h)p Fs(S)974
3269 y Fn(1)1013 3254 y Fu(,)h Fs(s)8 b Ft(i)32 b(\))1292
3218 y Fn(k)1329 3227 y Fd(1)1400 3254 y Fs(s)1448 3218
y Fi(0)1504 3254 y Fu(and)h Ft(h)o Fs(S)1799 3269 y Fn(2)1839
3254 y Fu(,)f Fs(s)1946 3218 y Fi(0)1970 3254 y Ft(i)g(\))2141
3218 y Fn(k)2178 3227 y Fd(2)2249 3254 y Fs(s)2297 3218
y Fi(00)2372 3254 y Fu(where)i(k)f(=)f(k)2897 3269 y
Fn(1)2937 3254 y Fu(+k)3064 3269 y Fn(2)3104 3254 y Fu(.)p
0 3375 V 0 3574 a Fw(Pro)s(of:)44 b Fu(The)39 b(pro)s(of)f(is)g(b)m(y)h
(induction)f(on)g(the)h(n)m(um)m(b)s(er)g(k,)i(that)d(is)g(b)m(y)h
(induction)f(on)g(the)0 3695 y(length)32 b(of)g(the)h(deriv)-5
b(ation)31 b(sequence)k Ft(h)p Fs(S)1545 3710 y Fn(1)1584
3695 y Fu(;)p Fs(S)1678 3710 y Fn(2)1718 3695 y Fu(,)d
Fs(s)8 b Ft(i)33 b(\))1996 3659 y Fn(k)2070 3695 y Fs(s)2118
3659 y Fi(00)2161 3695 y Fu(.)146 3815 y(If)g(k)g(=)f(0)h(then)g(the)g
(result)f(holds)g(v)-5 b(acuously)d(.)146 3936 y(F)g(or)26
b(the)h(induction)f(step)i(w)m(e)g(assume)f(that)f(the)h(lemma)e(holds)
h(for)h(k)33 b Ft(\024)g Fu(k)2889 3951 y Fn(0)2955 3936
y Fu(and)27 b(w)m(e)h(shall)0 4056 y(pro)m(v)m(e)34 b(it)d(for)h(k)560
4071 y Fn(0)600 4056 y Fu(+1.)43 b(So)33 b(assume)g(that)244
4256 y Ft(h)p Fs(S)350 4271 y Fn(1)389 4256 y Fu(;)p
Fs(S)483 4271 y Fn(2)522 4256 y Fu(,)g Fs(s)8 b Ft(i)32
b(\))801 4219 y Fn(k)838 4228 y Fd(0)873 4219 y Fn(+1)1000
4256 y Fs(s)1048 4219 y Fi(00)0 4455 y Fu(This)h(means)f(that)h(the)g
(deriv)-5 b(ation)31 b(sequence)k(can)e(b)s(e)g(written)f(as)244
4655 y Ft(h)p Fs(S)350 4670 y Fn(1)389 4655 y Fu(;)p
Fs(S)483 4670 y Fn(2)522 4655 y Fu(,)h Fs(s)8 b Ft(i)32
b(\))g Fo(\015)38 b Ft(\))1022 4619 y Fn(k)1059 4628
y Fd(0)1130 4655 y Fs(s)1178 4619 y Fi(00)0 4854 y Fu(for)29
b(some)h(con\014guration)f Fo(\015)5 b Fu(.)43 b(No)m(w)30
b(one)h(of)e(t)m(w)m(o)i(cases)g(applies)e(dep)s(ending)h(on)g(whic)m
(h)g(of)g(the)0 4975 y(t)m(w)m(o)j(rules)g([comp)685
4939 y Fn(1)673 4999 y(sos)768 4975 y Fu(])f(and)h([comp)1284
4939 y Fn(2)1272 4999 y(sos)1367 4975 y Fu(])f(w)m(as)i(used)g(to)e
(obtain)f Ft(h)p Fs(S)2365 4990 y Fn(1)2404 4975 y Fu(;)p
Fs(S)2498 4990 y Fn(2)2538 4975 y Fu(,)h Fs(s)8 b Ft(i)33
b(\))f Fo(\015)5 b Fu(.)146 5095 y(In)33 b(the)g(\014rst)g(case)h
(where)g([comp)1393 5059 y Fn(1)1381 5120 y(sos)1475
5095 y Fu(])f(is)f(used)i(w)m(e)f(ha)m(v)m(e)244 5295
y Ft(h)p Fs(S)350 5310 y Fn(1)389 5295 y Fu(;)p Fs(S)483
5310 y Fn(2)522 5295 y Fu(,)g Fs(s)8 b Ft(i)32 b(\))g(h)p
Fs(S)939 5259 y Fi(0)939 5319 y Fn(1)978 5295 y Fu(;)p
Fs(S)1072 5310 y Fn(2)1112 5295 y Fu(,)g Fs(s)1219 5259
y Fi(0)1243 5295 y Ft(i)0 5494 y Fu(b)s(ecause)p eop
%%Page: 38 48
38 47 bop 251 130 a Fw(38)2086 b(2)112 b(Op)s(erational)37
b(Seman)m(tics)p 251 193 3473 4 v 527 515 a Ft(h)p Fs(S)633
530 y Fn(1)672 515 y Fu(,)c Fs(s)8 b Ft(i)32 b(\))g(h)p
Fs(S)1089 479 y Fi(0)1089 540 y Fn(1)1128 515 y Fu(,)h
Fs(s)1236 479 y Fi(0)1259 515 y Ft(i)283 732 y Fu(W)-8
b(e)33 b(therefore)h(ha)m(v)m(e)527 950 y Ft(h)p Fs(S)633
913 y Fi(0)633 974 y Fn(1)672 950 y Fu(;)p Fs(S)766 965
y Fn(2)806 950 y Fu(,)e Fs(s)913 913 y Fi(0)937 950 y
Ft(i)g(\))1108 913 y Fn(k)1145 922 y Fd(0)1216 950 y
Fs(s)1264 913 y Fi(00)283 1167 y Fu(and)37 b(the)h(induction)e(h)m(yp)s
(othesis)i(can)f(b)s(e)g(applied)f(to)g(this)h(deriv)-5
b(ation)35 b(sequence)k(b)s(ecause)283 1287 y(it)29 b(is)h(shorter)h
(than)f(the)g(one)h(w)m(e)g(started)f(with.)43 b(This)30
b(means)g(that)g(there)g(is)g(a)g(state)g Fs(s)3529 1302
y Fn(0)3599 1287 y Fu(and)283 1408 y(natural)i(n)m(um)m(b)s(ers)h(k)
1069 1423 y Fn(1)1142 1408 y Fu(and)f(k)1382 1423 y Fn(2)1455
1408 y Fu(suc)m(h)i(that)527 1625 y Ft(h)p Fs(S)633 1588
y Fi(0)633 1649 y Fn(1)672 1625 y Fu(,)f Fs(s)780 1588
y Fi(0)803 1625 y Ft(i)g(\))974 1588 y Fn(k)1011 1597
y Fd(1)1083 1625 y Fs(s)1131 1640 y Fn(0)1203 1625 y
Fu(and)f Ft(h)p Fs(S)1498 1640 y Fn(2)1537 1625 y Fu(,)h
Fs(s)1645 1640 y Fn(0)1685 1625 y Ft(i)f(\))1855 1588
y Fn(k)1892 1597 y Fd(2)1964 1625 y Fs(s)2012 1588 y
Fi(00)283 1842 y Fu(where)i(k)616 1857 y Fn(1)656 1842
y Fu(+k)783 1857 y Fn(2)823 1842 y Fu(=k)950 1857 y Fn(0)990
1842 y Fu(.)43 b(Using)32 b(that)h Ft(h)p Fs(S)1652 1857
y Fn(1)1691 1842 y Fu(,)f Fs(s)8 b Ft(i)33 b(\))f(h)p
Fs(S)2108 1806 y Fi(0)2107 1866 y Fn(1)2147 1842 y Fu(,)h
Fs(s)2255 1806 y Fi(0)2278 1842 y Ft(i)f Fu(and)h Ft(h)p
Fs(S)2645 1806 y Fi(0)2644 1866 y Fn(1)2684 1842 y Fu(,)f
Fs(s)2791 1806 y Fi(0)2815 1842 y Ft(i)g(\))2986 1806
y Fn(k)3023 1815 y Fd(1)3094 1842 y Fs(s)3142 1857 y
Fn(0)3214 1842 y Fu(w)m(e)i(get)527 2059 y Ft(h)p Fs(S)633
2074 y Fn(1)672 2059 y Fu(,)f Fs(s)8 b Ft(i)32 b(\))951
2023 y Fn(k)988 2032 y Fd(1)1023 2023 y Fn(+1)1150 2059
y Fs(s)1198 2074 y Fn(0)283 2276 y Fu(W)-8 b(e)34 b(ha)m(v)m(e)g
(already)f(seen)h(that)f Ft(h)o Fs(S)1551 2291 y Fn(2)1591
2276 y Fu(,)g Fs(s)1699 2291 y Fn(0)1738 2276 y Ft(i)g(\))1909
2240 y Fn(k)1946 2249 y Fd(2)2018 2276 y Fs(s)2066 2240
y Fi(00)2142 2276 y Fu(and)g(since)g(\(k)2660 2291 y
Fn(1)2700 2276 y Fu(+1\)+k)2990 2291 y Fn(2)3062 2276
y Fu(=)g(k)3222 2291 y Fn(0)3262 2276 y Fu(+1)g(w)m(e)h(ha)m(v)m(e)283
2396 y(pro)m(v)m(ed)h(the)e(required)g(result.)430 2520
y(The)f(second)h(p)s(ossibilit)m(y)c(is)h(that)i([comp)1980
2483 y Fn(2)1968 2544 y(sos)2062 2520 y Fu(])g(has)f(b)s(een)h(used)h
(to)e(obtain)f(the)h(deriv)-5 b(ation)283 2640 y Ft(h)p
Fs(S)389 2655 y Fn(1)428 2640 y Fu(;)p Fs(S)522 2655
y Fn(2)562 2640 y Fu(,)32 b Fs(s)8 b Ft(i)33 b(\))f Fo(\015)5
b Fu(.)43 b(Then)34 b(w)m(e)g(ha)m(v)m(e)527 2857 y Ft(h)p
Fs(S)633 2872 y Fn(1)672 2857 y Fu(,)f Fs(s)8 b Ft(i)32
b(\))g Fs(s)1031 2821 y Fi(0)283 3074 y Fu(and)h Fo(\015)38
b Fu(is)32 b Ft(h)p Fs(S)766 3089 y Fn(2)805 3074 y Fu(,)g
Fs(s)912 3038 y Fi(0)936 3074 y Ft(i)g Fu(so)h(that)527
3291 y Ft(h)p Fs(S)633 3306 y Fn(2)672 3291 y Fu(,)g
Fs(s)780 3255 y Fi(0)803 3291 y Ft(i)g(\))974 3255 y
Fn(k)1011 3264 y Fd(0)1083 3291 y Fs(s)1131 3255 y Fi(00)283
3508 y Fu(The)h(result)e(no)m(w)i(follo)m(ws)d(b)m(y)j(c)m(ho)s(osing)e
(k)1862 3523 y Fn(1)1902 3508 y Fu(=1)g(and)g(k)2299
3523 y Fn(2)2339 3508 y Fu(=k)2466 3523 y Fn(0)2506 3508
y Fu(.)1148 b Fh(2)283 3842 y Fw(Exercise)37 b(2.20)49
b Fu(Supp)s(ose)27 b(that)f Ft(h)o Fs(S)1661 3857 y Fn(1)1701
3842 y Fu(;)p Fs(S)1795 3857 y Fn(2)1834 3842 y Fu(,)h
Fs(s)8 b Ft(i\))2075 3806 y Fi(\003)2114 3842 y Ft(h)p
Fs(S)2220 3857 y Fn(2)2259 3842 y Fu(,)28 b Fs(s)2362
3806 y Fi(0)2385 3842 y Ft(i)p Fu(.)41 b(Sho)m(w)27 b(that)e(it)g(is)h
Fs(not)35 b Fu(necessarily)283 3962 y(the)e(case)h(that)e
Ft(h)p Fs(S)975 3977 y Fn(1)1014 3962 y Fu(,)h Fs(s)8
b Ft(i\))1260 3926 y Fi(\003)1300 3962 y Fs(s)1348 3926
y Fi(0)1371 3962 y Fu(.)2283 b Fh(2)283 4210 y Fw(Exercise)37
b(2.21)49 b(\(Essen)m(tial\))30 b Fu(Pro)m(v)m(e)k(that)527
4427 y(if)e Ft(h)p Fs(S)723 4442 y Fn(1)762 4427 y Fu(,)g
Fs(s)8 b Ft(i)33 b(\))1040 4391 y Fn(k)1114 4427 y Fs(s)1162
4391 y Fi(0)1218 4427 y Fu(then)g Ft(h)p Fs(S)1546 4442
y Fn(1)1585 4427 y Fu(;)p Fs(S)1679 4442 y Fn(2)1719
4427 y Fu(,)f Fs(s)8 b Ft(i)33 b(\))1997 4391 y Fn(k)2071
4427 y Ft(h)p Fs(S)2177 4442 y Fn(2)2216 4427 y Fu(,)g
Fs(s)2324 4391 y Fi(0)2347 4427 y Ft(i)283 4644 y Fu(that)g(is)f(the)h
(execution)g(of)f Fs(S)1375 4659 y Fn(1)1447 4644 y Fu(is)g(not)h
(in\015uenced)g(b)m(y)h(the)f(statemen)m(t)g(follo)m(wing)d(it.)240
b Fh(2)430 4891 y Fu(In)25 b(the)h(previous)g(section)f(w)m(e)h
(de\014ned)h(a)e(notion)f(of)h(determinism)e(based)j(on)f(the)h
(natural)283 5012 y(seman)m(tics.)59 b(F)-8 b(or)37 b(the)h(structural)
f(op)s(erational)e(seman)m(tics)j(w)m(e)g(de\014ne)h(the)f(similar)c
(notion)283 5132 y(as)g(follo)m(ws.)46 b(The)35 b(seman)m(tics)e(of)h
(T)-8 b(able)33 b(2.2)g(is)h Fs(deterministic)k Fu(if)33
b(for)g(all)e(c)m(hoices)k(of)e Fs(S)12 b Fu(,)34 b Fs(s)8
b Fu(,)34 b Fo(\015)283 5252 y Fu(and)f Fo(\015)529 5216
y Fi(0)585 5252 y Fu(w)m(e)h(ha)m(v)m(e)f(that)527 5470
y Ft(h)p Fs(S)12 b Fu(,)33 b Fs(s)8 b Ft(i)32 b(\))g
Fo(\015)38 b Fu(and)32 b Ft(h)p Fs(S)12 b Fu(,)32 b Fs(s)8
b Ft(i)33 b(\))f Fo(\015)1695 5433 y Fi(0)1751 5470 y
Fu(imply)e Fo(\015)38 b Fu(=)32 b Fo(\015)2277 5433 y
Fi(0)p eop
%%Page: 39 49
39 48 bop 0 130 a Fw(2.2)112 b(Structural)37 b(op)s(erational)f(seman)m
(tics)1506 b(39)p 0 193 3473 4 v 0 515 a(Exercise)36
b(2.22)49 b(\(Essen)m(tial\))d Fu(Sho)m(w)j(that)f(the)g(structural)g
(op)s(erational)e(seman)m(tics)i(of)0 636 y(T)-8 b(able)38
b(2.2)g(is)g(deterministic.)60 b(Deduce)39 b(that)f(there)h(is)f
(exactly)h(one)g(deriv)-5 b(ation)37 b(sequence)0 756
y(starting)25 b(in)g(a)h(con\014guration)f Ft(h)p Fs(S)12
b Fu(,)26 b Fs(s)8 b Ft(i)p Fu(.)41 b(Argue)26 b(that)g(a)g(statemen)m
(t)h Fs(S)37 b Fu(of)26 b Fw(While)e Fu(cannot)j(b)s(oth)0
877 y(terminate)34 b(and)h(lo)s(op)f(on)h(a)g(state)g
Fs(s)44 b Fu(and)35 b(hence)h(it)f(cannot)g(b)s(oth)g(b)s(e)g(alw)m(a)m
(ys)h(terminating)0 997 y(and)d(alw)m(a)m(ys)g(lo)s(oping.)2555
b Fh(2)146 1166 y Fu(In)31 b(the)g(previous)h(section)e(w)m(e)i
(de\014ned)g(a)f(notion)e(of)h(t)m(w)m(o)i(statemen)m(ts)g
Fs(S)2848 1181 y Fn(1)2917 1166 y Fu(and)f Fs(S)3172
1181 y Fn(2)3242 1166 y Fu(b)s(eing)0 1287 y(seman)m(tically)26
b(equiv)-5 b(alen)m(t.)41 b(The)29 b(similar)24 b(notion)i(can)i(b)s(e)
g(de\014ned)h(based)f(on)g(the)g(structural)0 1407 y(op)s(erational)i
(seman)m(tics:)44 b Fs(S)1060 1422 y Fn(1)1132 1407 y
Fu(and)32 b Fs(S)1388 1422 y Fn(2)1460 1407 y Fu(are)h
Fs(semantic)-5 b(al)5 b(ly)34 b(e)-5 b(quivalent)41 b
Fu(if)31 b(for)h(all)f(states)i Fs(s)145 1567 y Ft(\017)49
b(h)p Fs(S)350 1582 y Fn(1)389 1567 y Fu(,)32 b Fs(s)8
b Ft(i)31 b(\))666 1530 y Fi(\003)737 1567 y Fo(\015)37
b Fu(if)30 b(and)i(only)f(if)f Ft(h)p Fs(S)1509 1582
y Fn(2)1548 1567 y Fu(,)i Fs(s)8 b Ft(i)32 b(\))1825
1530 y Fi(\003)1896 1567 y Fo(\015)5 b Fu(,)32 b(whenev)m(er)j
Fo(\015)h Fu(is)31 b(a)h(con\014guration)f(that)244 1687
y(is)h(either)g(stuc)m(k)j(or)d(terminal,)e(and)145 1876
y Ft(\017)49 b Fu(there)30 b(is)e(an)h(in\014nite)f(deriv)-5
b(ation)28 b(sequence)k(starting)c(in)g Ft(h)p Fs(S)2475
1891 y Fn(1)2514 1876 y Fu(,)i Fs(s)8 b Ft(i)29 b Fu(if)f(and)h(only)g
(if)f(there)244 1996 y(is)k(one)h(starting)e(in)h Ft(h)p
Fs(S)1104 2011 y Fn(2)1143 1996 y Fu(,)h Fs(s)8 b Ft(i)p
Fu(.)0 2155 y(Note)47 b(that)f(in)g(the)g(\014rst)h(case)h(the)f
(length)e(of)h(the)h(t)m(w)m(o)g(deriv)-5 b(ation)45
b(sequences)50 b(ma)m(y)c(b)s(e)0 2276 y(di\013eren)m(t.)0
2445 y Fw(Exercise)36 b(2.23)49 b Fu(Sho)m(w)f(that)f(the)h(follo)m
(wing)d(statemen)m(ts)j(of)e Fw(While)g Fu(are)h(seman)m(tically)0
2566 y(equiv)-5 b(alen)m(t)32 b(in)g(the)h(ab)s(o)m(v)m(e)h(sense:)145
2725 y Ft(\017)49 b Fs(S)12 b Fu(;)p Fr(skip)33 b Fu(and)g
Fs(S)145 2914 y Ft(\017)49 b Fr(while)34 b Fs(b)k Fr(do)33
b Fs(S)45 b Fu(and)32 b Fr(if)h Fs(b)39 b Fr(then)33
b Fu(\()p Fs(S)12 b Fu(;)33 b Fr(while)h Fs(b)k Fr(do)33
b Fs(S)12 b Fu(\))32 b Fr(else)i(skip)145 3103 y Ft(\017)49
b Fs(S)311 3118 y Fn(1)350 3103 y Fu(;\()p Fs(S)482 3118
y Fn(2)521 3103 y Fu(;)p Fs(S)615 3118 y Fn(3)655 3103
y Fu(\))32 b(and)h(\()p Fs(S)1020 3118 y Fn(1)1059 3103
y Fu(;)p Fs(S)1153 3118 y Fn(2)1193 3103 y Fu(\);)p Fs(S)1325
3118 y Fn(3)0 3262 y Fu(Y)-8 b(ou)42 b(ma)m(y)g(use)i(the)e(result)g
(of)g(Exercise)i(2.22.)72 b(Discuss)43 b(to)f(what)g(exten)m(t)i(the)f
(notion)e(of)0 3382 y(seman)m(tic)24 b(equiv)-5 b(alence)25
b(in)m(tro)s(duced)g(ab)s(o)m(v)m(e)g(is)f(the)i(same)e(as)h(that)f
(de\014ned)i(from)e(the)h(natural)0 3503 y(seman)m(tics.)2961
b Fh(2)0 3672 y Fw(Exercise)36 b(2.24)49 b Fu(Pro)m(v)m(e)37
b(that)f Fr(repeat)h Fs(S)47 b Fr(until)37 b Fs(b)k Fu(\(as)36
b(de\014ned)h(in)d(Exercise)j(2.17\))e(is)g(se-)0 3793
y(man)m(tically)30 b(equiv)-5 b(alen)m(t)32 b(to)g Fs(S)12
b Fu(;)33 b Fr(while)h Ft(:)f Fs(b)38 b Fr(do)33 b Fs(S)12
b Fu(.)1512 b Fh(2)0 4074 y Fp(The)44 b(seman)l(tic)j(function)d
FC(S)1440 4092 y Fk(sos)0 4259 y Fu(As)f(in)f(the)h(previous)g(section)
f(the)h Fs(me)-5 b(aning)50 b Fu(of)42 b(statemen)m(ts)h(can)g(b)s(e)g
(summarized)e(b)m(y)j(a)0 4379 y(\(partial\))30 b(function)i(from)g
Fw(State)g Fu(to)g Fw(State)p Fu(:)244 4538 y Ft(S)312
4553 y Fn(sos)407 4538 y Fu(:)43 b Fw(Stm)32 b Ft(!)g
Fu(\()p Fw(State)h Fo(,)-17 b Ft(!)32 b Fw(State)p Fu(\))0
4698 y(It)h(is)f(giv)m(en)g(b)m(y)244 4939 y Ft(S)312
4954 y Fn(sos)407 4939 y Fu([)-17 b([)p Fs(S)12 b Fu(])-17
b(])q Fs(s)40 b Fu(=)738 4764 y Fg(8)738 4839 y(<)738
4988 y(:)853 4854 y Fs(s)901 4818 y Fi(0)1179 4854 y
Fu(if)31 b Ft(h)p Fs(S)12 b Fu(,)32 b Fs(s)8 b Ft(i)33
b(\))1652 4818 y Fi(\003)1724 4854 y Fs(s)1772 4818 y
Fi(0)853 5022 y Fu(undef)p 853 5035 243 4 v 91 w(otherwise)0
5180 y(The)h(w)m(ell-de\014nedness)g(of)e(the)h(de\014nition)e(follo)m
(ws)h(from)f(Exercise)j(2.22.)0 5349 y Fw(Exercise)i(2.25)49
b Fu(Determine)i(whether)i(or)f(not)g(seman)m(tic)f(equiv)-5
b(alence)53 b(of)e Fs(S)3066 5364 y Fn(1)3157 5349 y
Fu(and)h Fs(S)3433 5364 y Fn(2)0 5470 y Fu(amoun)m(ts)32
b(to)h Ft(S)580 5485 y Fn(sos)676 5470 y Fu([)-17 b([)p
Fs(S)780 5485 y Fn(1)819 5470 y Fu(])g(])34 b(=)e Ft(S)1066
5485 y Fn(sos)1161 5470 y Fu([)-17 b([)p Fs(S)1265 5485
y Fn(2)1305 5470 y Fu(])g(].)2029 b Fh(2)p eop
%%Page: 40 50
40 49 bop 251 130 a Fw(40)2086 b(2)112 b(Op)s(erational)37
b(Seman)m(tics)p 251 193 3473 4 v 283 515 a Fj(2.3)161
b(An)53 b(equiv)-9 b(alence)55 b(result)283 734 y Fu(W)-8
b(e)29 b(ha)m(v)m(e)g(giv)m(en)e(t)m(w)m(o)i(de\014nitions)e(of)g(the)h
(seman)m(tics)g(of)f Fw(While)f Fu(and)i(w)m(e)h(shall)d(no)m(w)i
(address)283 855 y(the)33 b(question)g(of)g(their)f(equiv)-5
b(alence.)p 283 975 3473 5 v 283 1142 a Fw(Theorem)38
b(2.26)49 b Fu(F)-8 b(or)31 b(ev)m(ery)k(statemen)m(t)e
Fs(S)44 b Fu(of)32 b Fw(While)f Fu(w)m(e)j(ha)m(v)m(e)g
Ft(S)2863 1157 y Fn(ns)2934 1142 y Fu([)-17 b([)p Fs(S)12
b Fu(])-17 b(])33 b(=)g Ft(S)3284 1157 y Fn(sos)3380
1142 y Fu([)-17 b([)p Fs(S)12 b Fu(])-17 b(])q(.)p 283
1263 V 283 1459 a(This)33 b(result)g(expresses)i(t)m(w)m(o)f(prop)s
(erties:)429 1655 y Ft(\017)48 b Fu(If)27 b(the)g(execution)g(of)f
Fs(S)38 b Fu(from)26 b(some)g(state)h(terminates)f(in)g(one)g(of)h(the)
f(seman)m(tics)h(then)527 1776 y(it)32 b(also)g(terminates)f(in)h(the)h
(other)g(and)g(the)g(resulting)e(states)j(will)c(b)s(e)j(equal.)429
1977 y Ft(\017)48 b Fu(If)36 b(the)g(execution)h(of)e
Fs(S)48 b Fu(from)34 b(some)i(state)g(lo)s(ops)f(in)g(one)h(of)f(the)h
(seman)m(tics)g(then)h(it)527 2097 y(will)31 b(also)g(lo)s(op)g(in)h
(the)h(other.)283 2294 y(It)26 b(should)g(b)s(e)g(fairly)e(ob)m(vious)i
(that)g(the)g(\014rst)g(prop)s(ert)m(y)h(follo)m(ws)d(from)h(the)h
(theorem)f(b)s(ecause)283 2414 y(there)i(are)f(no)f(stuc)m(k)i
(con\014gurations)f(in)f(the)h(structural)f(op)s(erational)e(seman)m
(tics)j(of)f Fw(While)p Fu(.)283 2534 y(F)-8 b(or)40
b(the)h(other)f(prop)s(ert)m(y)h(supp)s(ose)h(that)e(the)h(execution)g
(of)e Fs(S)53 b Fu(on)40 b(state)g Fs(s)49 b Fu(lo)s(ops)39
b(in)h(one)283 2655 y(of)c(the)g(seman)m(tics.)52 b(If)36
b(it)e(terminates)h(in)g(the)h(other)f(seman)m(tics)h(w)m(e)h(ha)m(v)m
(e)g(a)e(con)m(tradiction)283 2775 y(with)27 b(the)g(\014rst)g(prop)s
(ert)m(y)h(b)s(ecause)g(b)s(oth)f(seman)m(tics)g(are)f(deterministic)f
(\(Theorem)i(2.9)g(and)283 2895 y(Exercise)34 b(2.22\).)43
b(Hence)34 b Fs(S)44 b Fu(will)31 b(ha)m(v)m(e)j(to)e(lo)s(op)f(on)h
(state)h Fs(s)41 b Fu(also)32 b(in)f(the)i(other)g(seman)m(tics.)430
3016 y(The)g(theorem)f(is)f(pro)m(v)m(ed)j(in)d(t)m(w)m(o)h(stages)h
(as)f(expressed)j(b)m(y)e(Lemma)e(2.27)g(and)h(Lemma)283
3136 y(2.28)g(b)s(elo)m(w.)44 b(W)-8 b(e)33 b(shall)e(\014rst)i(pro)m
(v)m(e:)p 283 3257 V 283 3424 a Fw(Lemma)38 b(2.27)49
b Fu(F)-8 b(or)31 b(ev)m(ery)k(statemen)m(t)e Fs(S)44
b Fu(of)32 b Fw(While)f Fu(and)i(states)g Fs(s)41 b Fu(and)33
b Fs(s)3134 3388 y Fi(0)3190 3424 y Fu(w)m(e)g(ha)m(v)m(e)527
3620 y Ft(h)p Fs(S)12 b Fu(,)33 b Fs(s)8 b Ft(i)32 b(!)g
Fs(s)992 3584 y Fi(0)1048 3620 y Fu(implies)e Ft(h)p
Fs(S)12 b Fu(,)32 b Fs(s)8 b Ft(i)33 b(\))1763 3584 y
Fi(\003)1835 3620 y Fs(s)1883 3584 y Fi(0)1907 3620 y
Fu(.)283 3817 y(So)40 b(if)e(the)i(execution)g(of)f Fs(S)51
b Fu(from)38 b Fs(s)47 b Fu(terminates)39 b(in)f(the)i(natural)e(seman)
m(tics)i(then)g(it)e(will)283 3937 y(terminate)32 b(in)g(the)h(same)f
(state)h(in)f(the)h(structural)f(op)s(erational)e(seman)m(tics.)p
283 4057 V 283 4254 a Fw(Pro)s(of:)45 b Fu(The)40 b(pro)s(of)e(pro)s
(ceeds)i(b)m(y)g(induction)e(on)g(the)i(shap)s(e)f(of)f(the)i(deriv)-5
b(ation)37 b(tree)i(for)283 4374 y Ft(h)p Fs(S)12 b Fu(,)33
b Fs(s)8 b Ft(i)32 b(!)g Fs(s)748 4338 y Fi(0)772 4374
y Fu(.)283 4542 y Fw(The)h(case)g Fu([ass)891 4557 y
Fn(ns)964 4542 y Fu(]:)43 b(W)-8 b(e)33 b(assume)g(that)527
4738 y Ft(h)p Fs(x)44 b Fu(:=)33 b Fs(a)7 b Fu(,)33 b
Fs(s)8 b Ft(i)32 b(!)g Fs(s)8 b Fu([)p Fs(x)k Ft(7!A)o
Fu([)-17 b([)q Fs(a)7 b Fu(])-17 b(])q Fs(s)8 b Fu(])283
4934 y(F)-8 b(rom)32 b([ass)692 4949 y Fn(sos)787 4934
y Fu(])h(w)m(e)h(get)e(the)h(required)527 5131 y Ft(h)p
Fs(x)44 b Fu(:=)33 b Fs(a)7 b Fu(,)33 b Fs(s)8 b Ft(i)32
b(\))g Fs(s)8 b Fu([)p Fs(x)k Ft(7!A)o Fu([)-17 b([)q
Fs(a)7 b Fu(])-17 b(])q Fs(s)8 b Fu(])283 5327 y Fw(The)33
b(case)g Fu([skip)937 5342 y Fn(ns)1009 5327 y Fu(]:)44
b(Analogous.)283 5494 y Fw(The)33 b(case)g Fu([comp)994
5509 y Fn(ns)1065 5494 y Fu(]:)44 b(Assume)33 b(that)p
eop
%%Page: 41 51
41 50 bop 0 130 a Fw(2.3)112 b(An)38 b(equiv)-6 b(alence)37
b(result)2047 b(41)p 0 193 3473 4 v 244 515 a Ft(h)p
Fs(S)350 530 y Fn(1)389 515 y Fu(;)p Fs(S)483 530 y Fn(2)522
515 y Fu(,)33 b Fs(s)8 b Ft(i)32 b(!)g Fs(s)881 479 y
Fi(00)0 711 y Fu(b)s(ecause)244 907 y Ft(h)p Fs(S)350
922 y Fn(1)389 907 y Fu(,)h Fs(s)8 b Ft(i)32 b(!)g Fs(s)748
871 y Fi(0)804 907 y Fu(and)h Ft(h)o Fs(S)1099 922 y
Fn(2)1139 907 y Fu(,)f Fs(s)1246 871 y Fi(0)1270 907
y Ft(i)g(!)g Fs(s)1521 871 y Fi(00)0 1103 y Fu(The)f(induction)e(h)m
(yp)s(othesis)i(can)f(b)s(e)h(applied)d(to)i(b)s(oth)g(of)f(the)i
(premises)f Ft(h)p Fs(S)2871 1118 y Fn(1)2910 1103 y
Fu(,)h Fs(s)8 b Ft(i)29 b(!)h Fs(s)3262 1067 y Fi(0)3315
1103 y Fu(and)0 1224 y Ft(h)p Fs(S)106 1239 y Fn(2)145
1224 y Fu(,)j Fs(s)253 1187 y Fi(0)276 1224 y Ft(i)f(!)g
Fs(s)527 1187 y Fi(00)602 1224 y Fu(and)h(giv)m(es)244
1420 y Ft(h)p Fs(S)350 1435 y Fn(1)389 1420 y Fu(,)g
Fs(s)8 b Ft(i)32 b(\))667 1383 y Fi(\003)739 1420 y Fs(s)787
1383 y Fi(0)843 1420 y Fu(and)h Ft(h)p Fs(S)1139 1435
y Fn(2)1178 1420 y Fu(,)g Fs(s)1286 1383 y Fi(0)1309
1420 y Ft(i)f(\))1480 1383 y Fi(\003)1552 1420 y Fs(s)1600
1383 y Fi(00)0 1616 y Fu(F)-8 b(rom)31 b(Exercise)j(2.21)e(w)m(e)i(get)
244 1811 y Ft(h)p Fs(S)350 1826 y Fn(1)389 1811 y Fu(;)p
Fs(S)483 1826 y Fn(2)522 1811 y Fu(,)f Fs(s)8 b Ft(i)32
b(\))801 1775 y Fi(\003)873 1811 y Ft(h)p Fs(S)979 1826
y Fn(2)1018 1811 y Fu(,)g Fs(s)1125 1775 y Fi(0)1149
1811 y Ft(i)0 2007 y Fu(and)h(thereb)m(y)h Ft(h)p Fs(S)648
2022 y Fn(1)687 2007 y Fu(;)p Fs(S)781 2022 y Fn(2)820
2007 y Fu(,)f Fs(s)8 b Ft(i)32 b(\))1099 1971 y Fi(\003)1171
2007 y Fs(s)1219 1971 y Fi(00)1261 2007 y Fu(.)0 2175
y Fw(The)h(case)g Fu([if)553 2139 y Fn(tt)541 2200 y(ns)611
2175 y Fu(]:)44 b(Assume)33 b(that)244 2371 y Ft(h)p
Fr(if)g Fs(b)38 b Fr(then)c Fs(S)806 2386 y Fn(1)877
2371 y Fr(else)g Fs(S)1182 2386 y Fn(2)1221 2371 y Fu(,)f
Fs(s)8 b Ft(i)32 b(!)g Fs(s)1580 2335 y Fi(0)0 2567 y
Fu(b)s(ecause)244 2763 y Ft(B)s Fu([)-17 b([)q Fs(b)6
b Fu(])-17 b(])p Fs(s)41 b Fu(=)32 b Fw(tt)g Fu(and)h
Ft(h)p Fs(S)1043 2778 y Fn(1)1082 2763 y Fu(,)f Fs(s)8
b Ft(i)33 b(!)f Fs(s)1441 2727 y Fi(0)0 2959 y Fu(Since)h
Ft(B)s Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(])p Fs(s)41
b Fu(=)32 b Fw(tt)g Fu(w)m(e)i(get)244 3155 y Ft(h)p
Fr(if)f Fs(b)38 b Fr(then)c Fs(S)806 3170 y Fn(1)877
3155 y Fr(else)g Fs(S)1182 3170 y Fn(2)1221 3155 y Fu(,)f
Fs(s)8 b Ft(i)32 b(\))g(h)p Fs(S)1638 3170 y Fn(1)1677
3155 y Fu(,)h Fs(s)8 b Ft(i)32 b(\))1956 3119 y Fi(\003)2028
3155 y Fs(s)2076 3119 y Fi(0)0 3351 y Fu(where)39 b(the)f(\014rst)g
(relationship)e(comes)i(from)e([if)1828 3315 y Fn(tt)1816
3375 y(sos)1910 3351 y Fu(])i(and)g(the)g(second)h(from)d(the)i
(induction)0 3471 y(h)m(yp)s(othesis)c(applied)d(to)h(the)h(premise)g
Ft(h)o Fs(S)1573 3486 y Fn(1)1613 3471 y Fu(,)f Fs(s)8
b Ft(i)33 b(!)f Fs(s)1972 3435 y Fi(0)1995 3471 y Fu(.)0
3639 y Fw(The)h(case)g Fu([if)553 3603 y Fn(\013)541
3663 y(ns)611 3639 y Fu(]:)44 b(Analogous.)0 3806 y Fw(The)33
b(case)g Fu([while)718 3770 y Fn(tt)706 3831 y(ns)777
3806 y Fu(]:)43 b(Assume)34 b(that)244 4002 y Ft(h)p
Fr(while)f Fs(b)39 b Fr(do)33 b Fs(S)12 b Fu(,)32 b Fs(s)8
b Ft(i)33 b(!)f Fs(s)1216 3966 y Fi(00)0 4198 y Fu(b)s(ecause)244
4394 y Ft(B)s Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(])p
Fs(s)41 b Fu(=)32 b Fw(tt)p Fu(,)g Ft(h)p Fs(S)12 b Fu(,)32
b Fs(s)8 b Ft(i)33 b(!)f Fs(s)1239 4358 y Fi(0)1295 4394
y Fu(and)g Ft(h)p Fr(while)i Fs(b)39 b Fr(do)33 b Fs(S)12
b Fu(,)32 b Fs(s)2205 4358 y Fi(0)2228 4394 y Ft(i)h(!)f
Fs(s)2480 4358 y Fi(00)0 4590 y Fu(The)i(induction)d(h)m(yp)s(othesis)j
(can)f(b)s(e)g(applied)e(to)i(b)s(oth)f(of)g(the)h(premises)g
Ft(h)p Fs(S)12 b Fu(,)33 b Fs(s)8 b Ft(i)32 b(!)g Fs(s)3259
4554 y Fi(0)3315 4590 y Fu(and)0 4711 y Ft(h)p Fr(while)i
Fs(b)k Fr(do)33 b Fs(S)12 b Fu(,)33 b Fs(s)721 4675 y
Fi(0)744 4711 y Ft(i)f(!)g Fs(s)995 4675 y Fi(00)1070
4711 y Fu(and)h(giv)m(es)244 4907 y Ft(h)p Fs(S)12 b
Fu(,)32 b Fs(s)8 b Ft(i)32 b(\))628 4870 y Fi(\003)700
4907 y Fs(s)748 4870 y Fi(0)804 4907 y Fu(and)h Ft(h)o
Fr(while)h Fs(b)39 b Fr(do)33 b Fs(S)12 b Fu(,)32 b Fs(s)1714
4870 y Fi(0)1737 4907 y Ft(i)h(\))1908 4870 y Fi(\003)1980
4907 y Fs(s)2028 4870 y Fi(00)0 5103 y Fu(Using)f(Exercise)i(2.21)e(w)m
(e)i(get)244 5299 y Ft(h)p Fs(S)12 b Fu(;)32 b Fr(while)i
Fs(b)k Fr(do)33 b Fs(S)12 b Fu(,)33 b Fs(s)8 b Ft(i)32
b(\))1262 5262 y Fi(\003)1334 5299 y Fs(s)1382 5262 y
Fi(00)0 5494 y Fu(Using)g([while)524 5509 y Fn(sos)619
5494 y Fu(])g(and)h([if)965 5458 y Fn(tt)953 5519 y(sos)1047
5494 y Fu(])g(\(with)f Ft(B)s Fu([)-17 b([)q Fs(b)6 b
Fu(])-17 b(])p Fs(s)41 b Fu(=)32 b Fw(tt)p Fu(\))g(w)m(e)i(get)e(the)h
(\014rst)g(t)m(w)m(o)g(steps)h(of)p eop
%%Page: 42 52
42 51 bop 251 130 a Fw(42)2086 b(2)112 b(Op)s(erational)37
b(Seman)m(tics)p 251 193 3473 4 v 527 515 a Ft(h)p Fr(while)d
Fs(b)k Fr(do)33 b Fs(S)12 b Fu(,)33 b Fs(s)8 b Ft(i)855
683 y(\))32 b(h)p Fr(if)h Fs(b)38 b Fr(then)c Fu(\()p
Fs(S)12 b Fu(;)32 b Fr(while)i Fs(b)39 b Fr(do)33 b Fs(S)12
b Fu(\))32 b Fr(else)h(skip)p Fu(,)h Fs(s)8 b Ft(i)855
851 y(\))32 b(h)p Fs(S)12 b Fu(;)32 b Fr(while)i Fs(b)39
b Fr(do)33 b Fs(S)12 b Fu(,)32 b Fs(s)8 b Ft(i)855 1018
y(\))955 982 y Fi(\003)1027 1018 y Fs(s)1075 982 y Fi(00)283
1225 y Fu(and)33 b(w)m(e)h(ha)m(v)m(e)g(already)e(argued)h(for)f(the)h
(last)e(part.)283 1392 y Fw(The)i(case)g Fu([while)1001
1356 y Fn(\013)989 1417 y(ns)1060 1392 y Fu(]:)44 b(Straigh)m(tforw)m
(ard.)1826 b Fh(2)430 1596 y Fu(This)45 b(completes)g(the)g(pro)s(of)f
(of)h(Lemma)f(2.27.)80 b(The)46 b(second)g(part)f(of)g(the)g(theorem)
283 1717 y(follo)m(ws)32 b(from:)p 283 1838 3473 5 v
283 2015 a Fw(Lemma)38 b(2.28)49 b Fu(F)-8 b(or)21 b(ev)m(ery)j
(statemen)m(t)e Fs(S)34 b Fu(of)21 b Fw(While)p Fu(,)i(states)g
Fs(s)30 b Fu(and)22 b Fs(s)2878 1979 y Fi(0)2923 2015
y Fu(and)h(natural)d(n)m(um)m(b)s(er)283 2136 y(k)33
b(w)m(e)h(ha)m(v)m(e)g(that)527 2342 y Ft(h)p Fs(S)12
b Fu(,)33 b Fs(s)8 b Ft(i)32 b(\))912 2306 y Fn(k)985
2342 y Fs(s)1033 2306 y Fi(0)1089 2342 y Fu(implies)e
Ft(h)p Fs(S)12 b Fu(,)33 b Fs(s)8 b Ft(i)32 b(!)g Fs(s)1885
2306 y Fi(0)1908 2342 y Fu(.)283 2549 y(So)g(if)e(the)i(execution)g(of)
f Fs(S)43 b Fu(from)30 b Fs(s)39 b Fu(terminates)31 b(in)g(the)h
(structural)f(op)s(erational)e(seman)m(tics)283 2669
y(then)34 b(it)d(will)f(terminate)i(in)g(the)h(same)f(state)h(in)f(the)
h(natural)e(seman)m(tics.)p 283 2789 V 283 2996 a Fw(Pro)s(of:)38
b Fu(The)33 b(pro)s(of)f(pro)s(ceeds)h(b)m(y)h(induction)d(on)i(the)f
(length)g(of)g(the)h(deriv)-5 b(ation)31 b(sequence)283
3116 y Ft(h)p Fs(S)12 b Fu(,)33 b Fs(s)8 b Ft(i)32 b(\))668
3080 y Fn(k)742 3116 y Fs(s)790 3080 y Fi(0)813 3116
y Fu(,)h(that)f(is)g(b)m(y)h(induction)f(on)h(k.)430
3237 y(If)f(k=0)h(then)g(the)g(result)g(holds)f(v)-5
b(acuously)d(.)430 3358 y(T)g(o)37 b(pro)m(v)m(e)h(the)g(induction)e
(step)i(w)m(e)g(assume)f(that)g(the)h(lemma)d(holds)h(for)h(k)c
Ft(\024)g Fu(k)3522 3373 y Fn(0)3599 3358 y Fu(and)283
3478 y(w)m(e)j(shall)d(then)i(pro)m(v)m(e)g(that)g(it)e(holds)h(for)g
(k)1919 3493 y Fn(0)1959 3478 y Fu(+1.)48 b(W)-8 b(e)35
b(pro)s(ceed)g(b)m(y)g(cases)h(on)f(ho)m(w)g(the)f(\014rst)283
3599 y(step)40 b(of)f Ft(h)o Fs(S)12 b Fu(,)39 b Fs(s)8
b Ft(i)39 b(\))1010 3563 y Fn(k)1047 3572 y Fd(0)1082
3563 y Fn(+1)1215 3599 y Fs(s)1263 3563 y Fi(0)1325 3599
y Fu(is)g(obtained,)h(that)e(is)h(b)m(y)g(insp)s(ecting)g(the)g(deriv)
-5 b(ation)37 b(tree)i(for)283 3719 y(the)33 b(\014rst)h(step)f(of)f
(computation)f(in)h(the)h(structural)f(op)s(erational)e(seman)m(tics.)
283 3887 y Fw(The)j(case)g Fu([ass)891 3902 y Fn(sos)987
3887 y Fu(]:)44 b(Straigh)m(tforw)m(ard)32 b(\(and)g(k)2065
3902 y Fn(0)2138 3887 y Fu(=)g(0\).)283 4054 y Fw(The)h(case)g
Fu([skip)937 4069 y Fn(sos)1033 4054 y Fu(]:)44 b(Straigh)m(tforw)m
(ard)31 b(\(and)i(k)2111 4069 y Fn(0)2183 4054 y Fu(=)g(0\).)283
4222 y Fw(The)g(cases)h Fu([comp)1051 4186 y Fn(1)1039
4247 y(sos)1134 4222 y Fu(])e(and)h([comp)1650 4186 y
Fn(2)1638 4247 y(sos)1733 4222 y Fu(]:)43 b(In)33 b(b)s(oth)f(cases)i
(w)m(e)g(assume)f(that)527 4428 y Ft(h)p Fs(S)633 4443
y Fn(1)672 4428 y Fu(;)p Fs(S)766 4443 y Fn(2)806 4428
y Fu(,)f Fs(s)8 b Ft(i)33 b(\))1084 4392 y Fn(k)1121
4401 y Fd(0)1156 4392 y Fn(+1)1283 4428 y Fs(s)1331 4392
y Fi(00)283 4635 y Fu(W)-8 b(e)40 b(can)f(no)m(w)h(apply)e(Lemma)g
(2.19)g(and)h(get)g(that)g(there)g(exists)h(a)e(state)i
Fs(s)3189 4599 y Fi(0)3251 4635 y Fu(and)f(natural)283
4755 y(n)m(um)m(b)s(ers)34 b(k)728 4770 y Fn(1)800 4755
y Fu(and)f(k)1041 4770 y Fn(2)1113 4755 y Fu(suc)m(h)h(that)527
4961 y Ft(h)p Fs(S)633 4976 y Fn(1)672 4961 y Fu(,)f
Fs(s)8 b Ft(i)32 b(\))951 4925 y Fn(k)988 4934 y Fd(1)1059
4961 y Fs(s)1107 4925 y Fi(0)1163 4961 y Fu(and)h Ft(h)p
Fs(S)1459 4976 y Fn(2)1498 4961 y Fu(,)g Fs(s)1606 4925
y Fi(0)1629 4961 y Ft(i)f(\))1800 4925 y Fn(k)1837 4934
y Fd(2)1908 4961 y Fs(s)1956 4925 y Fi(00)283 5168 y
Fu(where)c(k)610 5183 y Fn(1)650 5168 y Fu(+k)777 5183
y Fn(2)817 5168 y Fu(=k)944 5183 y Fn(0)984 5168 y Fu(+1.)41
b(The)28 b(induction)d(h)m(yp)s(othesis)j(can)f(no)m(w)g(b)s(e)g
(applied)f(to)g(eac)m(h)h(of)g(these)283 5288 y(deriv)-5
b(ation)31 b(sequences)36 b(b)s(ecause)e(k)1596 5303
y Fn(1)1669 5288 y Ft(\024)f Fu(k)1830 5303 y Fn(0)1902
5288 y Fu(and)g(k)2143 5303 y Fn(2)2215 5288 y Ft(\024)g
Fu(k)2376 5303 y Fn(0)2416 5288 y Fu(.)43 b(So)33 b(w)m(e)h(get)527
5494 y Ft(h)p Fs(S)633 5509 y Fn(1)672 5494 y Fu(,)f
Fs(s)8 b Ft(i)32 b(!)g Fs(s)1031 5458 y Fi(0)1087 5494
y Fu(and)h Ft(h)p Fs(S)1383 5509 y Fn(2)1422 5494 y Fu(,)g
Fs(s)1530 5458 y Fi(0)1553 5494 y Ft(i)f(!)g Fs(s)1804
5458 y Fi(00)p eop
%%Page: 43 53
43 52 bop 0 130 a Fw(2.3)112 b(An)38 b(equiv)-6 b(alence)37
b(result)2047 b(43)p 0 193 3473 4 v 0 515 a Fu(Using)32
b([comp)529 530 y Fn(ns)600 515 y Fu(])h(w)m(e)g(no)m(w)h(get)e(the)h
(required)g Ft(h)p Fs(S)1825 530 y Fn(1)1864 515 y Fu(;)p
Fs(S)1958 530 y Fn(2)1998 515 y Fu(,)f Fs(s)8 b Ft(i)33
b(!)f Fs(s)2357 479 y Fi(00)2399 515 y Fu(.)0 683 y Fw(The)h(case)g
Fu([if)553 647 y Fn(tt)541 708 y(sos)635 683 y Fu(]:)44
b(Assume)33 b(that)f Ft(B)t Fu([)-17 b([)q Fs(b)6 b Fu(])-17
b(])p Fs(s)41 b Fu(=)32 b Fw(tt)g Fu(and)g(that)244 902
y Ft(h)p Fr(if)h Fs(b)38 b Fr(then)c Fs(S)806 917 y Fn(1)877
902 y Fr(else)g Fs(S)1182 917 y Fn(2)1221 902 y Fu(,)f
Fs(s)8 b Ft(i)32 b(\))g(h)p Fs(S)1638 917 y Fn(1)1677
902 y Fu(,)h Fs(s)8 b Ft(i)32 b(\))1956 865 y Fn(k)1993
874 y Fd(0)2065 902 y Fs(s)2113 865 y Fi(0)0 1120 y Fu(The)d(induction)
d(h)m(yp)s(othesis)j(can)f(b)s(e)g(applied)f(to)g(the)h(deriv)-5
b(ation)27 b(sequence)j Ft(h)p Fs(S)2975 1135 y Fn(1)3014
1120 y Fu(,)j Fs(s)8 b Ft(i)32 b(\))3293 1084 y Fn(k)3330
1093 y Fd(0)3401 1120 y Fs(s)3449 1084 y Fi(0)0 1240
y Fu(and)h(giv)m(es)244 1459 y Ft(h)p Fs(S)350 1474 y
Fn(1)389 1459 y Fu(,)g Fs(s)8 b Ft(i)32 b(!)g Fs(s)748
1423 y Fi(0)0 1678 y Fu(The)i(result)e(no)m(w)h(follo)m(ws)f(using)g
([if)1348 1641 y Fn(tt)1336 1702 y(ns)1406 1678 y Fu(].)0
1845 y Fw(The)h(case)g Fu([if)553 1809 y Fn(\013)541
1870 y(sos)635 1845 y Fu(]:)44 b(Analogous.)0 2013 y
Fw(The)33 b(case)g Fu([while)706 2028 y Fn(sos)800 2013
y Fu(]:)44 b(W)-8 b(e)33 b(ha)m(v)m(e)244 2231 y Ft(h)p
Fr(while)g Fs(b)39 b Fr(do)33 b Fs(S)12 b Fu(,)32 b Fs(s)8
b Ft(i)571 2399 y(\))33 b(h)o Fr(if)g Fs(b)39 b Fr(then)33
b Fu(\()p Fs(S)12 b Fu(;)33 b Fr(while)h Fs(b)k Fr(do)33
b Fs(S)12 b Fu(\))32 b Fr(else)i(skip)p Fu(,)g Fs(s)8
b Ft(i)571 2567 y(\))671 2530 y Fn(k)708 2539 y Fd(0)780
2567 y Fs(s)828 2530 y Fi(00)0 2785 y Fu(The)46 b(induction)e(h)m(yp)s
(othesis)i(can)f(b)s(e)g(applied)f(to)g(the)h(k)2204
2800 y Fn(0)2289 2785 y Fu(last)f(steps)i(of)f(the)g(deriv)-5
b(ation)0 2905 y(sequence)35 b(and)e(giv)m(es)244 3124
y Ft(h)p Fr(if)g Fs(b)38 b Fr(then)c Fu(\()p Fs(S)12
b Fu(;)32 b Fr(while)i Fs(b)k Fr(do)33 b Fs(S)12 b Fu(\))33
b Fr(else)g(skip)p Fu(,)h Fs(s)8 b Ft(i)32 b(!)g Fs(s)2349
3088 y Fi(00)0 3343 y Fu(and)h(from)e(Lemma)g(2.5)h(w)m(e)i(get)f(the)g
(required)269 3510 y Ft(h)o Fr(while)h Fs(b)39 b Fr(do)33
b Fs(S)12 b Fu(,)32 b Fs(s)8 b Ft(i)33 b(!)f Fs(s)1241
3474 y Fi(00)3398 3510 y Fh(2)0 3789 y Fw(Pro)s(of)43
b(of)g(Theorem)g(2.26:)98 b Fu(F)-8 b(or)36 b(an)i(arbitrary)e
(statemen)m(t)i Fs(S)49 b Fu(and)38 b(state)g Fs(s)45
b Fu(it)37 b(follo)m(ws)0 3909 y(from)27 b(Lemmas)g(2.27)g(and)h(2.28)g
(that)g(if)f Ft(S)1555 3924 y Fn(ns)1627 3909 y Fu([)-17
b([)p Fs(S)12 b Fu(])-17 b(])q Fs(s)36 b Fu(=)27 b Fs(s)1996
3873 y Fi(0)2048 3909 y Fu(then)h Ft(S)2333 3924 y Fn(sos)2428
3909 y Fu([)-17 b([)q Fs(S)12 b Fu(])-17 b(])p Fs(s)36
b Fu(=)28 b Fs(s)2798 3873 y Fi(0)2850 3909 y Fu(and)g(vice)g(v)m
(ersa.)0 4029 y(This)35 b(su\016ces)i(for)d(sho)m(wing)h(that)f(the)h
(functions)g Ft(S)1958 4044 y Fn(ns)2029 4029 y Fu([)-17
b([)q Fs(S)12 b Fu(])-17 b(])35 b(and)g Ft(S)2465 4044
y Fn(sos)2560 4029 y Fu([)-17 b([)q Fs(S)12 b Fu(])-17
b(])35 b(m)m(ust)g(b)s(e)g(equal:)48 b(if)0 4150 y(one)31
b(is)f(de\014ned)i(on)e(a)h(state)f Fs(s)39 b Fu(then)31
b(so)g(is)f(the)h(other,)g(and)g(therefore,)g(if)f(one)h(is)f(not)g
(de\014ned)0 4270 y(on)i(a)h(state)g Fs(s)40 b Fu(then)34
b(neither)e(is)g(the)h(other.)1794 b Fh(2)0 4523 y Fw(Exercise)36
b(2.29)49 b Fu(Consider)28 b(the)g(extension)h(of)e(the)h(language)e
Fw(While)g Fu(with)h(the)h(statemen)m(t)0 4643 y Fr(repeat)47
b Fs(S)58 b Fr(until)47 b Fs(b)6 b Fu(.)83 b(The)46 b(natural)f(seman)m
(tics)h(of)f(the)h(construct)h(w)m(as)g(considered)f(in)0
4763 y(Exercise)30 b(2.7)d(and)i(the)f(structural)h(op)s(erational)c
(seman)m(tics)k(in)e(Exercise)j(2.17.)41 b(Mo)s(dify)28
b(the)0 4884 y(pro)s(of)k(of)g(Theorem)h(2.26)f(so)g(that)h(the)g
(theorem)f(applies)g(to)g(the)h(extended)i(language.)106
b Fh(2)0 5133 y Fw(Exercise)36 b(2.30)49 b Fu(Consider)28
b(the)g(extension)h(of)e(the)h(language)e Fw(While)g
Fu(with)h(the)h(statemen)m(t)0 5254 y Fr(for)j Fs(x)43
b Fu(:=)30 b Fs(a)462 5269 y Fn(1)532 5254 y Fr(to)h
Fs(a)722 5269 y Fn(2)792 5254 y Fr(do)g Fs(S)12 b Fu(.)31
b(The)g(natural)f(seman)m(tics)h(of)f(the)h(construct)g(w)m(as)h
(considered)f(in)0 5374 y(Exercise)f(2.8)d(and)i(the)f(structural)h(op)
s(erational)c(seman)m(tics)k(in)e(Exercise)j(2.18.)41
b(Mo)s(dify)28 b(the)0 5494 y(pro)s(of)k(of)g(Theorem)h(2.26)f(so)g
(that)h(the)g(theorem)f(applies)g(to)g(the)h(extended)i(language.)106
b Fh(2)p eop
%%Page: 44 54
44 53 bop 251 130 a Fw(44)2086 b(2)112 b(Op)s(erational)37
b(Seman)m(tics)p 251 193 3473 4 v 430 515 a Fu(The)h(pro)s(of)e(tec)m
(hnique)j(emplo)m(y)m(ed)e(in)g(the)g(pro)s(of)f(of)h(Theorem)h(2.26)e
(ma)m(y)h(b)s(e)g(summa-)283 636 y(rized)c(as)g(follo)m(ws:)p
283 765 3470 4 v 283 782 V 281 990 4 208 v 298 990 V
1371 911 a Fw(Pro)s(of)f(Summary)h(for)f(While)p Fu(:)p
3735 990 V 3752 990 V 281 1197 V 298 1197 V 997 1118
a Fw(Equiv)-6 b(alence)32 b(of)g(t)m(w)m(o)g(Op)s(erational)g(Seman)m
(tics)p 3735 1197 V 3752 1197 V 283 1201 3470 4 v 281
1690 4 490 v 298 1690 V 350 1366 a Fu(1:)143 b(Pro)m(v)m(e)24
b(b)m(y)h Fs(induction)h(on)f(the)i(shap)-5 b(e)25 b(of)h(derivation)g
(tr)-5 b(e)g(es)31 b Fu(that)23 b(for)g(eac)m(h)h(deriv)-5
b(ation)569 1487 y(tree)46 b(in)e(the)i(natural)e(seman)m(tics)h(there)
h(is)f(a)g(corresp)s(onding)g(\014nite)g(deriv)-5 b(ation)569
1607 y(sequence)35 b(in)d(the)h(structural)f(op)s(erational)e(seman)m
(tics.)p 3735 1690 V 3752 1690 V 281 2099 4 409 v 298
2099 V 350 1775 a(2:)143 b(Pro)m(v)m(e)45 b(b)m(y)g Fs(induction)g(on)g
(the)h(length)f(of)g(derivation)f(se)-5 b(quenc)g(es)52
b Fu(that)43 b(for)h(eac)m(h)569 1895 y(\014nite)33 b(deriv)-5
b(ation)31 b(sequence)36 b(in)c(the)i(structural)f(op)s(erational)d
(seman)m(tics)j(there)h(is)569 2015 y(a)e(corresp)s(onding)h(deriv)-5
b(ation)30 b(tree)k(in)d(the)i(natural)f(seman)m(tics.)p
3735 2099 V 3752 2099 V 283 2102 3470 4 v 283 2119 V
283 2314 a(When)41 b(pro)m(ving)e(the)h(equiv)-5 b(alence)40
b(of)f(t)m(w)m(o)h(op)s(erational)d(seman)m(tics)j(for)f(a)g(language)f
(with)283 2435 y(additional)29 b(programming)f(constructs)k(one)g(ma)m
(y)f(need)h(to)f(amend)g(the)g(ab)s(o)m(v)m(e)h(pro)s(of)e(tec)m(h-)283
2555 y(nique.)70 b(One)41 b(reason)h(is)f(that)g(the)g(equiv)-5
b(alence)42 b(result)f(ma)m(y)g(ha)m(v)m(e)h(to)f(b)s(e)g(expressed)j
(dif-)283 2675 y(feren)m(tly)37 b(from)e(that)h(of)g(Theorem)h(2.26)e
(\(as)i(will)d(b)s(e)i(the)h(case)g(if)e(the)i(extended)h(language)283
2796 y(is)43 b(non-deterministic\).)75 b(Also)43 b(one)g(migh)m(t)f(w)m
(an)m(t)j(to)e(consider)h(only)f(some)g(of)g(the)h(\014nite)283
2916 y(deriv)-5 b(ation)31 b(sequences,)36 b(for)c(example)g(those)i
(ending)e(in)g(a)g(terminal)e(con\014guration.)283 3242
y Fj(2.4)161 b(Extensions)53 b(of)g(While)283 3461 y
Fu(In)29 b(order)f(to)f(illustrate)f(the)i(p)s(o)m(w)m(er)h(and)f(w)m
(eakness)j(of)d(the)g(t)m(w)m(o)h(approac)m(hes)g(to)e(op)s(erational)
283 3582 y(seman)m(tics)38 b(w)m(e)h(shall)d(consider)i(v)-5
b(arious)37 b(extensions)i(of)e(the)h(language)e Fw(While)p
Fu(.)57 b(F)-8 b(or)37 b(eac)m(h)283 3702 y(extension)d(w)m(e)f(shall)f
(sho)m(w)h(ho)m(w)h(to)e(mo)s(dify)f(the)i(op)s(erational)d(seman)m
(tics.)283 3984 y Fp(Ab)t(ortion)283 4169 y Fu(W)-8 b(e)35
b(\014rst)f(extend)h Fw(While)d Fu(with)h(the)h(simple)e(statemen)m(t)i
Fr(abort)p Fu(.)48 b(The)35 b(idea)e(is)g(that)h Fr(abort)283
4289 y Fs(stops)52 b Fu(the)44 b(execution)g(of)g(the)g(complete)f
(program.)75 b(This)44 b(means)f(that)h Fr(abort)h Fu(b)s(eha)m(v)m(es)
283 4410 y(di\013eren)m(tly)30 b(from)f Fr(while)i(true)g(do)f(skip)h
Fu(in)e(that)h(it)f(causes)i(the)f(execution)h(to)f(stop)g(rather)283
4530 y(than)25 b(lo)s(op.)39 b(Also)24 b Fr(abort)h Fu(b)s(eha)m(v)m
(es)i(di\013eren)m(tly)d(from)f Fr(skip)i Fu(b)s(ecause)h(a)e(statemen)
m(t)h(follo)m(wing)283 4651 y Fr(abort)34 b Fu(will)d(nev)m(er)j(b)s(e)
e(executed)j(whereas)f(one)f(follo)m(wing)d Fr(skip)k
Fu(certainly)d(will.)430 4771 y(F)-8 b(ormally)g(,)29
b(the)k(new)h(syn)m(tax)g(of)e(statemen)m(ts)i(is)e(giv)m(en)g(b)m(y:)
577 4928 y Fs(S)112 b Fu(::=)99 b Fs(x)45 b Fu(:=)32
b Fs(a)40 b Ft(j)32 b Fr(skip)i Ft(j)e Fs(S)1713 4943
y Fn(1)1785 4928 y Fu(;)g Fs(S)1911 4943 y Fn(2)1983
4928 y Ft(j)g Fr(if)h Fs(b)39 b Fr(then)33 b Fs(S)2566
4943 y Fn(1)2638 4928 y Fr(else)h Fs(S)2943 4943 y Fn(2)795
5095 y Ft(j)150 b Fr(while)34 b Fs(b)39 b Fr(do)33 b
Fs(S)44 b Ft(j)32 b Fr(abort)283 5254 y Fu(W)-8 b(e)31
b(shall)d(not)h(rep)s(eat)h(the)g(de\014nitions)f(of)h(the)g(sets)h(of)
e(con\014gurations)g(but)h(tacitly)e(assume)283 5374
y(that)k(they)g(are)g(mo)s(di\014ed)e(so)h(as)h(to)f(corresp)s(ond)h
(to)g(the)f(extended)j(syn)m(tax.)45 b(The)32 b(task)g(that)283
5494 y(remains,)g(therefore,)h(is)g(to)f(de\014ne)i(the)f(new)g
(transition)e(relations)g Ft(!)h Fu(and)h Ft(\))p Fu(.)p
eop
%%Page: 45 55
45 54 bop 0 130 a Fw(2.4)112 b(Extensions)37 b(of)h(While)2119
b(45)p 0 193 3473 4 v 146 515 a Fu(The)26 b(fact)f(that)g
Fr(abort)h Fu(stops)g(the)g(execution)g(of)e(the)i(program)e(is)g(mo)s
(delled)f(b)m(y)j(ensuring)0 636 y(that)40 b(the)h(con\014gurations)f
(of)g(the)h(form)e Ft(h)p Fr(abort)p Fu(,)44 b Fs(s)8
b Ft(i)40 b Fu(are)h Fs(stuck)11 b Fu(.)67 b(Therefore)41
b(the)g Fs(natur)-5 b(al)0 756 y(semantics)47 b Fu(of)39
b(the)h(extended)i(language)c(is)i(still)d(de\014ned)k(b)m(y)g(the)f
(transition)e(relation)g Ft(!)0 877 y Fu(of)31 b(T)-8
b(able)31 b(2.1.)43 b(So)31 b(although)g(the)h(language)e(and)i(thereb)
m(y)h(the)f(set)g(of)f(con\014gurations)g(ha)m(v)m(e)0
997 y(b)s(een)c(extended)h(w)m(e)f(do)f(not)f(mo)s(dify)g(the)h
(de\014nition)f(of)g(the)i(transition)d(relation.)39
b(Similarly)-8 b(,)0 1117 y(the)40 b Fs(structur)-5 b(al)43
b(op)-5 b(er)g(ational)40 b(semantics)47 b Fu(of)39 b(the)h(extended)i
(language)d(is)g(still)e(de\014ned)k(b)m(y)0 1238 y(T)-8
b(able)32 b(2.2.)146 1358 y(F)-8 b(rom)39 b(the)i(structural)g(op)s
(erational)d(seman)m(tics)i(p)s(oin)m(t)g(of)g(view)h(it)e(is)h(clear)g
(no)m(w)i(that)0 1478 y Fr(abort)34 b Fu(and)f Fr(skip)g
Fu(cannot)g(b)s(e)g(seman)m(tically)d(equiv)-5 b(alen)m(t.)44
b(This)32 b(is)h(b)s(ecause)244 1648 y Ft(h)p Fr(skip)p
Fu(,)g Fs(s)8 b Ft(i)33 b(\))f Fs(s)0 1818 y Fu(is)g(the)h(only)f
(deriv)-5 b(ation)31 b(sequence)k(for)d Fr(skip)i Fu(starting)e(in)f
Fs(s)41 b Fu(and)244 1989 y Ft(h)p Fr(abort)p Fu(,)34
b Fs(s)8 b Ft(i)0 2159 y Fu(is)28 b(the)h(only)g(deriv)-5
b(ation)27 b(sequence)k(for)e Fr(abort)h Fu(starting)d(in)h
Fs(s)8 b Fu(.)43 b(Similarly)-8 b(,)25 b Fr(abort)30
b Fu(cannot)f(b)s(e)0 2279 y(seman)m(tically)i(equiv)-5
b(alen)m(t)32 b(to)g Fr(while)i(true)g(do)f(skip)g Fu(b)s(ecause)244
2449 y Ft(h)p Fr(while)g(true)h(do)f(skip)p Fu(,)h Fs(s)8
b Ft(i)571 2617 y(\))33 b(h)o Fr(if)g(true)h(then)g Fu(\()p
Fr(skip)p Fu(;)f Fr(while)h(true)g(do)f(skip)p Fu(\))g
Fr(else)h(skip)p Fu(,)f Fs(s)8 b Ft(i)571 2784 y(\))33
b(h)o Fr(skip)p Fu(;)h Fr(while)g(true)f(do)h(skip)p
Fu(,)f Fs(s)8 b Ft(i)571 2952 y(\))33 b(h)o Fr(while)h(true)g(do)f
(skip)p Fu(,)h Fs(s)8 b Ft(i)571 3119 y(\))33 b(\001)17
b(\001)g(\001)0 3289 y Fu(is)27 b(an)h(in\014nite)f(deriv)-5
b(ation)26 b(sequence)31 b(for)c Fr(while)i(true)g(do)f(skip)h
Fu(whereas)g Fr(abort)h Fu(has)e(none.)0 3410 y(Th)m(us)d(w)m(e)f
(shall)d(claim)g(that)i(the)g(structural)g(op)s(erational)e(seman)m
(tics)i(captures)h(the)f(informal)0 3530 y(explanation)31
b(giv)m(en)i(earlier.)146 3651 y(F)-8 b(rom)32 b(the)i(natural)d(seman)
m(tics)j(p)s(oin)m(t)e(of)h(view)g(it)f(is)h(also)f(clear)h(that)g
Fr(skip)h Fu(and)f Fr(abort)0 3771 y Fu(cannot)25 b(b)s(e)g(seman)m
(tically)e(equiv)-5 b(alen)m(t.)40 b(Ho)m(w)m(ev)m(er,)29
b(it)24 b(turns)h(out)f(that)h Fr(while)34 b(true)f(do)g(skip)0
3891 y Fu(and)25 b Fr(abort)i Fs(ar)-5 b(e)32 b Fu(seman)m(tically)23
b(equiv)-5 b(alen)m(t!)41 b(The)26 b(reason)g(is)e(that)h(in)g(the)g
(natural)f(seman)m(tics)0 4012 y(w)m(e)39 b(are)f(only)f(concerned)j
(with)d(executions)i(that)f(terminate)f(prop)s(erly)-8
b(.)58 b(So)38 b(if)f(w)m(e)i(do)f(not)0 4132 y(ha)m(v)m(e)31
b(a)e(deriv)-5 b(ation)28 b(tree)i(for)f Ft(h)p Fs(S)12
b Fu(,)29 b Fs(s)8 b Ft(i)30 b(!)f Fs(s)1549 4096 y Fi(0)1602
4132 y Fu(then)h(w)m(e)g(cannot)g(tell)e(whether)j(it)d(is)h(b)s
(ecause)i(w)m(e)0 4253 y(en)m(tered)39 b(a)e(stuc)m(k)j
(con\014guration)c(or)h(a)h(lo)s(oping)d(execution.)59
b(W)-8 b(e)38 b(can)g(summarize)e(this)h(as)0 4373 y(follo)m(ws:)p
0 4503 3472 4 v 0 4519 V -2 4727 4 208 v 15 4727 V 283
4648 a Fw(Natural)32 b(Seman)m(tics)g(v)m(ersus)h(Structural)f(Op)s
(erational)g(Seman)m(tics)p 3453 4727 V 3470 4727 V 0
4730 3472 4 v -2 5099 4 370 v 15 5099 V 66 4896 a Ft(\017)100
b Fu(In)27 b(a)g(natural)e(seman)m(tics)i(w)m(e)h(cannot)f(distinguish)
f(b)s(et)m(w)m(een)j Fs(lo)-5 b(oping)34 b Fu(and)27
b Fs(abnormal)216 5016 y(termination)p Fu(.)p 3453 5099
V 3470 5099 V -2 5508 4 409 v 15 5508 V 66 5184 a Ft(\017)100
b Fu(In)32 b(a)g(structural)g(op)s(erational)e(seman)m(tics)i
Fs(lo)-5 b(oping)40 b Fu(is)32 b(re\015ected)i(b)m(y)f(in\014nite)e
(deriv)-5 b(a-)216 5304 y(tion)22 b(sequences)27 b(and)c
Fs(abnormal)i(termination)30 b Fu(b)m(y)24 b(\014nite)f(deriv)-5
b(ation)22 b(sequences)27 b(end-)216 5424 y(ing)k(in)h(a)h(stuc)m(k)h
(con\014guration.)p 3453 5508 V 3470 5508 V 0 5511 3472
4 v 0 5528 V eop
%%Page: 46 56
46 55 bop 251 130 a Fw(46)2086 b(2)112 b(Op)s(erational)37
b(Seman)m(tics)p 251 193 3473 4 v 283 515 a Fu(W)-8 b(e)41
b(should)f(note,)j(ho)m(w)m(ev)m(er,)i(that)40 b(if)f(abnormal)g
(termination)f(is)h(mo)s(delled)g(b)m(y)i(\\normal)283
636 y(termination")22 b(in)i(a)h(sp)s(ecial)e(error)i(con\014guration)f
(\(included)g(in)g(the)h(set)h(of)e(terminal)e(con\014g-)283
756 y(urations\))34 b(then)g(w)m(e)h(can)f(distinguish)f(b)s(et)m(w)m
(een)j(the)e(three)h(statemen)m(ts)f(in)g(b)s(oth)f(seman)m(tic)283
877 y(st)m(yles.)283 1092 y Fw(Exercise)k(2.31)49 b Fu(Theorem)30
b(2.26)f(expresses)k(that)d(the)g(natural)f(seman)m(tics)h(and)g(the)g
(struc-)283 1213 y(tural)41 b(op)s(erational)e(seman)m(tics)j(of)f
Fw(While)f Fu(are)i(equiv)-5 b(alen)m(t.)70 b(Discuss)42
b(whether)h(or)f(not)f(a)283 1333 y(similar)30 b(result)i(holds)h(for)f
Fw(While)f Fu(extended)j(with)e Fr(abort)p Fu(.)1159
b Fh(2)283 1549 y Fw(Exercise)37 b(2.32)49 b Fu(Extend)34
b Fw(While)d Fu(with)h(the)h(statemen)m(t)527 1743 y
Fr(assert)h Fs(b)39 b Fr(before)34 b Fs(S)283 1937 y
Fu(The)23 b(idea)e(is)h(that)f(if)g Fs(b)28 b Fu(ev)-5
b(aluates)21 b(to)h(true)g(then)g(w)m(e)h(execute)h Fs(S)34
b Fu(and)22 b(otherwise)g(the)g(execution)283 2057 y(of)48
b(the)h(complete)e(program)g(ab)s(orts.)90 b(Extend)49
b(the)g(structural)f(op)s(erational)e(seman)m(tics)283
2178 y(of)40 b(T)-8 b(able)39 b(2.2)h(to)f(express)j(this)e(\(without)f
(assuming)g(that)h Fw(While)e Fu(con)m(tains)i(the)g
Fr(abort)p Fu(-)283 2298 y(statemen)m(t\).)k(Sho)m(w)31
b(that)f Fr(assert)h(true)g(before)h Fs(S)42 b Fu(is)30
b(seman)m(tically)e(equiv)-5 b(alen)m(t)30 b(to)g Fs(S)42
b Fu(but)283 2419 y(that)i Fr(assert)h(false)f(before)h
Fs(S)56 b Fu(neither)43 b(is)g(equiv)-5 b(alen)m(t)43
b(to)g Fr(while)i(true)g(do)f(skip)g Fu(nor)283 2539
y Fr(skip)p Fu(.)3167 b Fh(2)283 2826 y Fp(Non-determinism)283
3011 y Fu(The)34 b(second)g(extension)f(of)f Fw(While)f
Fu(has)i(statemen)m(ts)h(giv)m(en)f(b)m(y)577 3197 y
Fs(S)112 b Fu(::=)99 b Fs(x)45 b Fu(:=)32 b Fs(a)40 b
Ft(j)32 b Fr(skip)i Ft(j)e Fs(S)1713 3212 y Fn(1)1785
3197 y Fu(;)g Fs(S)1911 3212 y Fn(2)1983 3197 y Ft(j)g
Fr(if)h Fs(b)39 b Fr(then)33 b Fs(S)2566 3212 y Fn(1)2638
3197 y Fr(else)h Fs(S)2943 3212 y Fn(2)795 3364 y Ft(j)150
b Fr(while)34 b Fs(b)39 b Fr(do)33 b Fs(S)44 b Ft(j)32
b Fs(S)1707 3379 y Fn(1)1779 3364 y Fr(or)h Fs(S)1981
3379 y Fn(2)283 3551 y Fu(The)i(idea)f(is)f(here)i(that)f(in)f
Fs(S)1400 3566 y Fn(1)1474 3551 y Fr(or)h Fs(S)1677 3566
y Fn(2)1750 3551 y Fu(w)m(e)h(can)g(non-deterministically)30
b(c)m(ho)s(ose)35 b(to)f(execute)283 3672 y(either)f
Fs(S)627 3687 y Fn(1)699 3672 y Fu(or)f Fs(S)885 3687
y Fn(2)924 3672 y Fu(.)44 b(So)32 b(w)m(e)i(shall)d(exp)s(ect)j(that)e
(execution)h(of)f(the)h(statemen)m(t)527 3866 y Fr(x)g
Fu(:=)g Fr(1)f(or)h Fu(\()p Fr(x)g Fu(:=)g Fr(2)p Fu(;)g
Fr(x)f Fu(:=)h Fr(x)g Fu(+)f Fr(2)p Fu(\))283 4060 y(could)c(result)f
(in)g(a)g(state)h(where)g Fr(x)g Fu(has)g(the)g(v)-5
b(alue)27 b Fw(1)p Fu(,)h(but)g(it)f(could)g(as)g(w)m(ell)g(result)h
(in)e(a)h(state)283 4180 y(where)34 b Fr(x)f Fu(has)g(the)g(v)-5
b(alue)32 b Fw(4)p Fu(.)430 4301 y(When)c(sp)s(ecifying)f(the)h
Fs(natur)-5 b(al)31 b(semantics)j Fu(w)m(e)29 b(extend)g(T)-8
b(able)27 b(2.1)g(with)h(the)g(t)m(w)m(o)g(rules:)527
4555 y([or)653 4519 y Fn(1)641 4579 y(ns)712 4555 y Fu(])1297
4468 y Ft(h)p Fs(S)1403 4483 y Fn(1)1442 4468 y Fu(,)33
b Fs(s)8 b Ft(i)32 b(!)g Fs(s)1801 4432 y Fi(0)p 1160
4532 802 4 v 1160 4636 a Ft(h)p Fs(S)1266 4651 y Fn(1)1338
4636 y Fr(or)h Fs(S)1540 4651 y Fn(2)1579 4636 y Fu(,)g
Fs(s)8 b Ft(i)32 b(!)g Fs(s)1938 4600 y Fi(0)527 4917
y Fu([or)653 4881 y Fn(2)641 4942 y(ns)712 4917 y Fu(])1297
4831 y Ft(h)p Fs(S)1403 4846 y Fn(2)1442 4831 y Fu(,)h
Fs(s)8 b Ft(i)32 b(!)g Fs(s)1801 4794 y Fi(0)p 1160 4894
V 1160 4998 a Ft(h)p Fs(S)1266 5013 y Fn(1)1338 4998
y Fr(or)h Fs(S)1540 5013 y Fn(2)1579 4998 y Fu(,)g Fs(s)8
b Ft(i)32 b(!)g Fs(s)1938 4962 y Fi(0)283 5180 y Fu(Corresp)s(onding)42
b(to)f(the)g(con\014guration)g Ft(h)o Fr(x)h Fu(:=)f
Fr(1)h(or)f Fu(\()p Fr(x)h Fu(:=)f Fr(2)p Fu(;)46 b Fr(x)41
b Fu(:=)g Fr(x)p Fu(+)p Fr(2)p Fu(\),)j Fs(s)8 b Ft(i)41
b Fu(w)m(e)i(ha)m(v)m(e)283 5300 y(deriv)-5 b(ation)31
b(trees)j(for)527 5494 y Ft(h)p Fr(x)f Fu(:=)f Fr(1)h(or)g
Fu(\()p Fr(x)g Fu(:=)f Fr(2)p Fu(;)h Fr(x)g Fu(:=)g Fr(x)p
Fu(+)p Fr(2)p Fu(\),)f Fs(s)8 b Ft(i)33 b(!)f Fs(s)8
b Fu([)p Fr(x)p Ft(7!)p Fw(1)p Fu(])p eop
%%Page: 47 57
47 56 bop 0 130 a Fw(2.4)112 b(Extensions)37 b(of)h(While)2119
b(47)p 0 193 3473 4 v 0 515 a Fu(as)33 b(w)m(ell)f(as)244
712 y Ft(h)p Fr(x)g Fu(:=)h Fr(1)g(or)g Fu(\()p Fr(x)f
Fu(:=)h Fr(2)p Fu(;)g Fr(x)g Fu(:=)f Fr(x)p Fu(+)p Fr(2)p
Fu(\),)h Fs(s)8 b Ft(i)32 b(!)h Fs(s)8 b Fu([)p Fr(x)p
Ft(7!)p Fw(4)p Fu(])0 910 y(It)39 b(is)f(imp)s(ortan)m(t)f(to)h(note)h
(that)f(if)g(w)m(e)i(replace)e Fr(x)h Fu(:=)g Fr(1)g
Fu(b)m(y)g Fr(while)h(true)g(do)f(skip)h Fu(in)e(the)0
1030 y(ab)s(o)m(v)m(e)33 b(statemen)m(t)g(then)h(w)m(e)f(will)e(only)h
(ha)m(v)m(e)i(one)e(deriv)-5 b(ation)31 b(tree,)i(namely)f(that)h(for)
244 1227 y Ft(h)p Fu(\()p Fr(while)g(true)h(do)f(skip)p
Fu(\))h Fr(or)f Fu(\()p Fr(x)f Fu(:=)h Fr(2)p Fu(;)g
Fr(x)f Fu(:=)h Fr(x)p Fu(+)p Fr(2)p Fu(\),)g Fs(s)8 b
Ft(i)32 b(!)g Fs(s)8 b Fu([)p Fr(x)p Ft(7!)p Fw(4)p Fu(])146
1424 y(T)-8 b(urning)29 b(to)g(the)h Fs(structur)-5 b(al)33
b(op)-5 b(er)g(ational)31 b(semantics)36 b Fu(w)m(e)30
b(shall)e(extend)j(T)-8 b(able)29 b(2.2)g(with)0 1545
y(the)k(t)m(w)m(o)g(axioms:)244 1742 y([or)370 1705 y
Fn(1)358 1766 y(sos)453 1742 y Fu(])387 b Ft(h)p Fs(S)973
1757 y Fn(1)1044 1742 y Fr(or)34 b Fs(S)1247 1757 y Fn(2)1286
1742 y Fu(,)e Fs(s)8 b Ft(i)33 b(\))f(h)p Fs(S)1703 1757
y Fn(1)1742 1742 y Fu(,)h Fs(s)8 b Ft(i)244 1956 y Fu([or)370
1920 y Fn(2)358 1981 y(sos)453 1956 y Fu(])387 b Ft(h)p
Fs(S)973 1971 y Fn(1)1044 1956 y Fr(or)34 b Fs(S)1247
1971 y Fn(2)1286 1956 y Fu(,)e Fs(s)8 b Ft(i)33 b(\))f(h)p
Fs(S)1703 1971 y Fn(2)1742 1956 y Fu(,)h Fs(s)8 b Ft(i)0
2154 y Fu(F)-8 b(or)29 b(the)h(statemen)m(t)h Fr(x)f
Fu(:=)f Fr(1)h(or)h Fu(\()p Fr(x)f Fu(:=)f Fr(2)p Fu(;)i
Fr(x)g Fu(:=)e Fr(x)p Fu(+)p Fr(2)p Fu(\))h(w)m(e)h(ha)m(v)m(e)g(t)m(w)
m(o)g(deriv)-5 b(ation)28 b(sequences:)244 2351 y Ft(h)p
Fr(x)k Fu(:=)h Fr(1)g(or)g Fu(\()p Fr(x)f Fu(:=)h Fr(2)p
Fu(;)g Fr(x)g Fu(:=)f Fr(x)p Fu(+)p Fr(2)p Fu(\),)h Fs(s)8
b Ft(i)32 b(\))1803 2315 y Fi(\003)1875 2351 y Fs(s)8
b Fu([)p Fr(x)p Ft(7!)p Fw(1)p Fu(])0 2548 y(and)244
2745 y Ft(h)p Fr(x)32 b Fu(:=)h Fr(1)g(or)g Fu(\()p Fr(x)f
Fu(:=)h Fr(2)p Fu(;)g Fr(x)g Fu(:=)f Fr(x)p Fu(+)p Fr(2)p
Fu(\),)h Fs(s)8 b Ft(i)32 b(\))1803 2709 y Fi(\003)1875
2745 y Fs(s)8 b Fu([)p Fr(x)p Ft(7!)p Fw(4)p Fu(])0 2942
y(If)34 b(w)m(e)h(replace)g Fr(x)f Fu(:=)g Fr(1)h Fu(b)m(y)g
Fr(while)g(true)h(do)e(skip)i Fu(in)d(the)i(ab)s(o)m(v)m(e)g(statemen)m
(t)g(then)f(w)m(e)i(still)0 3062 y(ha)m(v)m(e)e(t)m(w)m(o)f(deriv)-5
b(ation)31 b(sequences.)47 b(One)33 b(is)f(in\014nite)244
3259 y Ft(h)p Fu(\()p Fr(while)h(true)h(do)f(skip)p Fu(\))h
Fr(or)f Fu(\()p Fr(x)f Fu(:=)h Fr(2)p Fu(;)g Fr(x)f Fu(:=)h
Fr(x)p Fu(+)p Fr(2)p Fu(\),)g Fs(s)8 b Ft(i)609 3427
y(\))65 b(h)p Fr(while)34 b(true)f(do)g(skip)p Fu(,)h
Fs(s)8 b Ft(i)609 3595 y(\))709 3559 y Fn(3)774 3595
y Ft(h)p Fr(while)34 b(true)f(do)g(skip)p Fu(,)h Fs(s)8
b Ft(i)609 3762 y(\))65 b(\001)17 b(\001)g(\001)0 3959
y Fu(and)33 b(the)g(other)f(is)g(\014nite)244 4156 y
Ft(h)p Fu(\()p Fr(while)h(true)h(do)f(skip)p Fu(\))h
Fr(or)f Fu(\()p Fr(x)f Fu(:=)h Fr(2)p Fu(;)g Fr(x)f Fu(:=)h
Fr(x)p Fu(+)p Fr(2)p Fu(\),)g Fs(s)8 b Ft(i)32 b(\))2475
4120 y Fi(\003)2547 4156 y Fs(s)8 b Fu([)p Fr(x)p Ft(7!)p
Fw(4)p Fu(])146 4354 y(Comparing)31 b(the)h(natural)f(seman)m(tics)i
(and)f(the)g(structural)g(op)s(erational)e(seman)m(tics)i(w)m(e)0
4474 y(see)42 b(that)e(the)h(latter)f(can)h(c)m(ho)s(ose)g(the)h
(\\wrong")e(branc)m(h)h(of)g(the)g Fr(or)p Fu(-statemen)m(t)g(whereas)0
4594 y(the)33 b(\014rst)g(alw)m(a)m(ys)g(c)m(ho)s(oses)h(the)f(\\righ)m
(t")e(branc)m(h.)45 b(This)33 b(is)f(summarized)f(as)i(follo)m(ws:)p
0 4743 3472 4 v 0 4760 V -2 4968 4 208 v 15 4968 V 283
4889 a Fw(Natural)f(Seman)m(tics)g(v)m(ersus)h(Structural)f(Op)s
(erational)g(Seman)m(tics)p 3453 4968 V 3470 4968 V 0
4971 3472 4 v -2 5220 4 249 v 15 5220 V 66 5136 a Ft(\017)100
b Fu(In)33 b(a)f(natural)f(seman)m(tics)i Fs(non-determinism)g(wil)5
b(l)34 b(suppr)-5 b(ess)35 b(lo)-5 b(oping)p Fu(,)31
b(if)h(p)s(ossible.)p 3453 5220 V 3470 5220 V -2 5508
4 289 v 15 5508 V 66 5304 a Ft(\017)100 b Fu(In)44 b(a)f(structural)h
(op)s(erational)d(seman)m(tics)j Fs(non-determinism)f(do)-5
b(es)44 b(not)h(suppr)-5 b(ess)216 5424 y(lo)g(oping)p
Fu(.)p 3453 5508 V 3470 5508 V 0 5511 3472 4 v 0 5528
V eop
%%Page: 48 58
48 57 bop 251 130 a Fw(48)2086 b(2)112 b(Op)s(erational)37
b(Seman)m(tics)p 251 193 3473 4 v 283 515 a(Exercise)g(2.33)49
b Fu(Consider)33 b(the)g(statemen)m(t)527 718 y Fr(x)g
Fu(:=)g Ft(\000)p Fr(1)p Fu(;)g Fr(while)h(x)p Ft(\024)q
Fr(0)e(do)h Fu(\()p Fr(x)g Fu(:=)g Fr(x)p Ft(\000)p Fr(1)g(or)g(x)g
Fu(:=)f(\()p Ft(\000)p Fr(1)p Fu(\))p Fo(?)q Fr(x)p Fu(\))283
921 y(Giv)m(en)39 b(a)g(state)h Fs(s)47 b Fu(describ)s(e)40
b(the)f(set)h(of)f(\014nal)f(states)i(that)f(ma)m(y)g(result)g
(according)g(to)f(the)283 1041 y(natural)32 b(seman)m(tics.)43
b(F)-8 b(urther)33 b(describ)s(e)g(the)g(set)g(of)f(deriv)-5
b(ation)31 b(sequences)36 b(that)c(are)g(sp)s(ec-)283
1162 y(i\014ed)42 b(b)m(y)g(the)g(structural)f(op)s(erational)e(seman)m
(tics.)70 b(Based)42 b(on)g(this)f(discuss)h(whether)h(or)283
1282 y(not)35 b(y)m(ou)g(w)m(ould)g(regard)f(the)h(natural)e(seman)m
(tics)i(as)g(b)s(eing)f(equiv)-5 b(alen)m(t)34 b(to)g(the)h(structural)
283 1402 y(op)s(erational)c(seman)m(tics)h(for)g(this)h(particular)d
(statemen)m(t.)1207 b Fh(2)283 1630 y Fw(Exercise)37
b(2.34)49 b Fu(W)-8 b(e)33 b(shall)e(no)m(w)i(extend)h
Fw(While)d Fu(with)h(the)h(statemen)m(t)527 1833 y Fr(random)p
Fu(\()p Fs(x)12 b Fu(\))283 2035 y(and)42 b(the)f(idea)f(is)h(that)g
(its)f(execution)i(will)d(c)m(hange)j(the)f(v)-5 b(alue)41
b(of)f Fs(x)53 b Fu(to)41 b(b)s(e)g(an)m(y)g(p)s(ositiv)m(e)283
2156 y(natural)23 b(n)m(um)m(b)s(er.)41 b(Extend)26 b(the)e(natural)f
(seman)m(tics)h(as)g(w)m(ell)f(as)h(the)h(structural)e(op)s(erational)
283 2276 y(seman)m(tics)38 b(to)f(express)j(this.)58
b(Discuss)38 b(whether)h Fr(random)p Fu(\()p Fs(x)12
b Fu(\))39 b(is)e(a)h(sup)s(er\015uous)h(construct)283
2396 y(in)32 b(the)h(case)h(where)g Fw(While)d Fu(is)h(also)f(extended)
k(with)d(the)h Fr(or)g Fu(construct.)648 b Fh(2)283 2685
y Fp(P)l(arallelism)283 2870 y Fu(W)-8 b(e)38 b(shall)e(no)m(w)h
(consider)h(an)f(extension)h(of)e Fw(While)g Fu(with)h(a)g(parallel)d
(construct.)58 b(So)37 b(no)m(w)283 2990 y(the)c(syn)m(tax)i(of)d
(expressions)i(is)e(giv)m(en)h(b)m(y)577 3185 y Fs(S)112
b Fu(::=)99 b Fs(x)45 b Fu(:=)32 b Fs(a)40 b Ft(j)32
b Fr(skip)i Ft(j)e Fs(S)1713 3200 y Fn(1)1785 3185 y
Fu(;)g Fs(S)1911 3200 y Fn(2)1983 3185 y Ft(j)g Fr(if)h
Fs(b)39 b Fr(then)33 b Fs(S)2566 3200 y Fn(1)2638 3185
y Fr(else)h Fs(S)2943 3200 y Fn(2)795 3352 y Ft(j)150
b Fr(while)34 b Fs(b)39 b Fr(do)33 b Fs(S)44 b Ft(j)32
b Fs(S)1707 3367 y Fn(1)1779 3352 y Fr(par)h Fs(S)2032
3367 y Fn(2)283 3548 y Fu(The)k(idea)f(is)f(that)h(b)s(oth)f(statemen)m
(ts)i(of)f Fs(S)1923 3563 y Fn(1)1998 3548 y Fr(par)g
Fs(S)2254 3563 y Fn(2)2330 3548 y Fu(ha)m(v)m(e)h(to)e(b)s(e)h
(executed)j(but)d(that)f(the)283 3669 y(execution)f(can)f(b)s(e)f
Fs(interle)-5 b(ave)g(d)p Fu(.)43 b(This)33 b(means)f(that)h(a)f
(statemen)m(t)h(lik)m(e)527 3871 y Fr(x)g Fu(:=)g Fr(1)f(par)i
Fu(\()p Fr(x)e Fu(:=)h Fr(2)p Fu(;)g Fr(x)g Fu(:=)f Fr(x)p
Fu(+)p Fr(2)p Fu(\))283 4074 y(can)f(giv)m(e)g(three)g(di\013eren)m(t)f
(results)h(for)f Fr(x)p Fu(,)h(namely)f Fw(4)p Fu(,)h
Fw(1)f Fu(and)h Fw(3)p Fu(:)42 b(If)31 b(w)m(e)g(\014rst)g(execute)h
Fr(x)h Fu(:=)g Fr(1)283 4194 y Fu(and)44 b(then)h Fr(x)e
Fu(:=)h Fr(2)p Fu(;)50 b Fr(x)44 b Fu(:=)f Fr(x)p Fu(+)p
Fr(2)h Fu(w)m(e)h(get)f(the)g(\014nal)f(v)-5 b(alue)43
b Fw(4)p Fu(.)77 b(Alternativ)m(ely)-8 b(,)45 b(if)e(w)m(e)h(\014rst)
283 4315 y(execute)c Fr(x)e Fu(:=)g Fr(2)p Fu(;)j Fr(x)d
Fu(:=)g Fr(x)p Fu(+)p Fr(2)g Fu(and)g(then)h Fr(x)f Fu(:=)g
Fr(1)g Fu(w)m(e)h(get)f(the)g(\014nal)f(v)-5 b(alue)38
b Fw(1)p Fu(.)59 b(Finally)-8 b(,)37 b(w)m(e)283 4435
y(ha)m(v)m(e)c(the)e(p)s(ossibilit)m(y)d(of)j(\014rst)g(executing)g
Fr(x)g Fu(:=)g Fr(2)p Fu(,)g(then)h Fr(x)e Fu(:=)h Fr(1)g
Fu(and)g(lastly)e Fr(x)k Fu(:=)g Fr(x)p Fu(+)p Fr(2)e
Fu(and)283 4556 y(w)m(e)j(then)f(get)g(the)g(\014nal)f(v)-5
b(alue)32 b Fw(3)p Fu(.)430 4676 y(T)-8 b(o)43 b(express)j(this)d(in)g
(the)h Fs(structur)-5 b(al)45 b(op)-5 b(er)g(ational)44
b(semantics)51 b Fu(w)m(e)44 b(extend)h(T)-8 b(able)43
b(2.2)283 4796 y(with)33 b(the)g(follo)m(wing)d(rules:)527
5059 y([par)707 5023 y Fn(1)695 5084 y(sos)790 5059 y
Fu(])1485 4973 y Ft(h)p Fs(S)1591 4988 y Fn(1)1630 4973
y Fu(,)j Fs(s)8 b Ft(i)32 b(\))h(h)o Fs(S)2047 4937 y
Fi(0)2047 4997 y Fn(1)2087 4973 y Fu(,)f Fs(s)2194 4937
y Fi(0)2218 4973 y Ft(i)p 1160 5036 1422 4 v 1160 5141
a(h)p Fs(S)1266 5156 y Fn(1)1338 5141 y Fr(par)h Fs(S)1591
5156 y Fn(2)1630 5141 y Fu(,)g Fs(s)8 b Ft(i)32 b(\))h(h)o
Fs(S)2047 5105 y Fi(0)2047 5165 y Fn(1)2119 5141 y Fr(par)g
Fs(S)2372 5156 y Fn(2)2412 5141 y Fu(,)f Fs(s)2519 5105
y Fi(0)2543 5141 y Ft(i)527 5421 y Fu([par)707 5385 y
Fn(2)695 5446 y(sos)790 5421 y Fu(])1445 5335 y Ft(h)o
Fs(S)1550 5350 y Fn(1)1590 5335 y Fu(,)g Fs(s)8 b Ft(i)33
b(\))f Fs(s)1949 5299 y Fi(0)p 1160 5398 1096 4 v 1160
5503 a Ft(h)p Fs(S)1266 5518 y Fn(1)1338 5503 y Fr(par)h
Fs(S)1591 5518 y Fn(2)1630 5503 y Fu(,)g Fs(s)8 b Ft(i)32
b(\))h(h)o Fs(S)2047 5518 y Fn(2)2087 5503 y Fu(,)f Fs(s)2194
5467 y Fi(0)2218 5503 y Ft(i)p eop
%%Page: 49 59
49 58 bop 0 130 a Fw(2.4)112 b(Extensions)37 b(of)h(While)2119
b(49)p 0 193 3473 4 v 244 577 a Fu([par)424 541 y Fn(3)412
602 y(sos)507 577 y Fu(])1202 490 y Ft(h)p Fs(S)1308
505 y Fn(2)1347 490 y Fu(,)33 b Fs(s)8 b Ft(i)32 b(\))g(h)p
Fs(S)1764 454 y Fi(0)1764 515 y Fn(2)1803 490 y Fu(,)h
Fs(s)1911 454 y Fi(0)1934 490 y Ft(i)p 877 554 1422 4
v 877 658 a(h)p Fs(S)983 673 y Fn(1)1054 658 y Fr(par)h
Fs(S)1308 673 y Fn(2)1347 658 y Fu(,)f Fs(s)8 b Ft(i)32
b(\))g(h)p Fs(S)1764 673 y Fn(1)1836 658 y Fr(par)h Fs(S)2089
622 y Fi(0)2089 683 y Fn(2)2128 658 y Fu(,)g Fs(s)2236
622 y Fi(0)2259 658 y Ft(i)244 939 y Fu([par)424 903
y Fn(4)412 964 y(sos)507 939 y Fu(])1161 853 y Ft(h)p
Fs(S)1267 868 y Fn(2)1306 853 y Fu(,)g Fs(s)8 b Ft(i)32
b(\))g Fs(s)1665 816 y Fi(0)p 877 916 1096 4 v 877 1020
a Ft(h)p Fs(S)983 1035 y Fn(1)1054 1020 y Fr(par)i Fs(S)1308
1035 y Fn(2)1347 1020 y Fu(,)f Fs(s)8 b Ft(i)32 b(\))g(h)p
Fs(S)1764 1035 y Fn(1)1803 1020 y Fu(,)h Fs(s)1911 984
y Fi(0)1934 1020 y Ft(i)0 1212 y Fu(The)g(\014rst)g(t)m(w)m(o)h(rules)e
(tak)m(e)h(accoun)m(t)h(of)e(the)h(case)g(where)h(w)m(e)g(b)s(egin)d(b)
m(y)j(executing)f(the)g(\014rst)0 1332 y(step)h(of)e(statemen)m(t)i
Fs(S)839 1347 y Fn(1)878 1332 y Fu(.)45 b(If)33 b(the)g(execution)h(of)
e Fs(S)1831 1347 y Fn(1)1903 1332 y Fu(is)h(not)g(fully)e(completed)i
(w)m(e)h(mo)s(dify)d(the)0 1452 y(con\014guration)h(so)g(as)h(to)f
(remem)m(b)s(er)g(ho)m(w)h(far)f(w)m(e)i(ha)m(v)m(e)f(reac)m(hed.)45
b(Otherwise)33 b(only)f Fs(S)3259 1467 y Fn(2)3331 1452
y Fu(has)0 1573 y(to)38 b(b)s(e)g(executed)j(and)d(w)m(e)h(up)s(date)g
(the)f(con\014guration)g(accordingly)-8 b(.)59 b(The)39
b(last)e(t)m(w)m(o)i(rules)0 1693 y(are)33 b(similar)c(but)k(for)f(the)
h(case)g(where)h(w)m(e)g(b)s(egin)d(b)m(y)j(executing)f(the)g(\014rst)g
(step)h(of)e Fs(S)3199 1708 y Fn(2)3238 1693 y Fu(.)146
1815 y(Using)43 b(these)h(rules)f(w)m(e)h(get)f(the)h(follo)m(wing)c
(deriv)-5 b(ation)42 b(sequences)k(for)c(the)i(example)0
1935 y(statemen)m(t:)244 2144 y Ft(h)p Fr(x)32 b Fu(:=)h
Fr(1)g(par)g Fu(\()p Fr(x)g Fu(:=)f Fr(2)p Fu(;)h Fr(x)g
Fu(:=)f Fr(x)p Fu(+)p Fr(2)p Fu(\),)h Fs(s)8 b Ft(i)33
b(\))f(h)p Fr(x)g Fu(:=)h Fr(2)p Fu(;)g Fr(x)f Fu(:=)h
Fr(x)p Fu(+)p Fr(2)p Fu(,)g Fs(s)8 b Fu([)p Fr(x)p Ft(7!)p
Fw(1)p Fu(])p Ft(i)1755 2312 y(\))32 b(h)p Fr(x)g Fu(:=)h
Fr(x)p Fu(+)p Fr(2)p Fu(,)g Fs(s)8 b Fu([)p Fr(x)p Ft(7!)p
Fw(2)p Fu(])p Ft(i)1755 2479 y(\))32 b Fs(s)8 b Fu([)p
Fr(x)p Ft(7!)p Fw(4)p Fu(])244 2694 y Ft(h)p Fr(x)32
b Fu(:=)h Fr(1)g(par)g Fu(\()p Fr(x)g Fu(:=)f Fr(2)p
Fu(;)h Fr(x)g Fu(:=)f Fr(x)p Fu(+)p Fr(2)p Fu(\),)h Fs(s)8
b Ft(i)33 b(\))f(h)p Fr(x)g Fu(:=)h Fr(1)g(par)g(x)g
Fu(:=)f Fr(x)p Fu(+)p Fr(2)p Fu(,)h Fs(s)8 b Fu([)p Fr(x)p
Ft(7!)p Fw(2)p Fu(])p Ft(i)1755 2862 y(\))32 b(h)p Fr(x)g
Fu(:=)h Fr(1)p Fu(,)g Fs(s)8 b Fu([)p Fr(x)p Ft(7!)p
Fw(4)p Fu(])p Ft(i)1755 3029 y(\))32 b Fs(s)8 b Fu([)p
Fr(x)p Ft(7!)p Fw(1)p Fu(])0 3238 y(and)244 3447 y Ft(h)p
Fr(x)32 b Fu(:=)h Fr(1)g(par)g Fu(\()p Fr(x)g Fu(:=)f
Fr(2)p Fu(;)h Fr(x)g Fu(:=)f Fr(x)p Fu(+)p Fr(2)p Fu(\),)h
Fs(s)8 b Ft(i)33 b(\))f(h)p Fr(x)g Fu(:=)h Fr(1)g(par)g(x)g
Fu(:=)f Fr(x)p Fu(+)p Fr(2)p Fu(,)h Fs(s)8 b Fu([)p Fr(x)p
Ft(7!)p Fw(2)p Fu(])p Ft(i)1755 3615 y(\))32 b(h)p Fr(x)g
Fu(:=)h Fr(x)p Fu(+)p Fr(2)p Fu(,)g Fs(s)8 b Fu([)p Fr(x)p
Ft(7!)p Fw(1)p Fu(])p Ft(i)1755 3783 y(\))32 b Fs(s)8
b Fu([)p Fr(x)p Ft(7!)p Fw(3)p Fu(])146 3992 y(T)-8 b(urning)34
b(to)g(the)h Fs(natur)-5 b(al)37 b(semantics)42 b Fu(w)m(e)35
b(migh)m(t)e(start)h(b)m(y)i(extending)f(T)-8 b(able)34
b(2.1)g(with)0 4112 y(the)f(t)m(w)m(o)g(rules:)254 4284
y Ft(h)p Fs(S)360 4299 y Fn(1)399 4284 y Fu(,)f Fs(s)8
b Ft(i)33 b(!)f Fs(s)758 4247 y Fi(0)781 4284 y Fu(,)h
Ft(h)p Fs(S)947 4299 y Fn(2)986 4284 y Fu(,)g Fs(s)1094
4247 y Fi(0)1117 4284 y Ft(i)f(!)g Fs(s)1368 4247 y Fi(00)p
254 4347 1158 4 v 396 4452 a Ft(h)p Fs(S)502 4467 y Fn(1)574
4452 y Fr(par)h Fs(S)827 4467 y Fn(2)867 4452 y Fu(,)f
Fs(s)8 b Ft(i)33 b(!)f Fs(s)1226 4415 y Fi(00)254 4654
y Ft(h)p Fs(S)360 4669 y Fn(2)399 4654 y Fu(,)g Fs(s)8
b Ft(i)33 b(!)f Fs(s)758 4618 y Fi(0)781 4654 y Fu(,)h
Ft(h)p Fs(S)947 4669 y Fn(1)986 4654 y Fu(,)g Fs(s)1094
4618 y Fi(0)1117 4654 y Ft(i)f(!)g Fs(s)1368 4618 y Fi(00)p
254 4717 V 396 4822 a Ft(h)p Fs(S)502 4837 y Fn(1)574
4822 y Fr(par)h Fs(S)827 4837 y Fn(2)867 4822 y Fu(,)f
Fs(s)8 b Ft(i)33 b(!)f Fs(s)1226 4786 y Fi(00)0 5013
y Fu(Ho)m(w)m(ev)m(er,)50 b(it)44 b(is)g(easy)i(to)f(see)h(that)e(this)
h(will)d(not)j(do)g(b)s(ecause)h(the)f(rules)g(only)f(express)0
5133 y(that)36 b(either)f Fs(S)561 5148 y Fn(1)636 5133
y Fu(is)g(executed)j(b)s(efore)e Fs(S)1507 5148 y Fn(2)1582
5133 y Fu(or)g(vice)g(v)m(ersa.)54 b(This)36 b(means)g(that)f(w)m(e)i
(ha)m(v)m(e)g(lost)0 5254 y(the)h(abilit)m(y)e(to)i Fs(interle)-5
b(ave)44 b Fu(the)39 b(execution)f(of)g(t)m(w)m(o)g(statemen)m(ts.)61
b(F)-8 b(urthermore,)39 b(it)d(seems)0 5374 y(imp)s(ossible)28
b(to)i(b)s(e)h(able)f(to)g(express)i(this)e(in)g(the)h(natural)e(seman)
m(tics)i(b)s(ecause)h(w)m(e)f(consider)0 5494 y(the)h(execution)g(of)f
(a)h(statemen)m(t)g(as)f(an)h(atomic)d(en)m(tit)m(y)k(that)e(cannot)h
(b)s(e)f(split)g(in)m(to)f(smaller)p eop
%%Page: 50 60
50 59 bop 251 130 a Fw(50)2086 b(2)112 b(Op)s(erational)37
b(Seman)m(tics)p 251 193 3473 4 v 283 515 a Fu(pieces.)45
b(This)32 b(ma)m(y)h(b)s(e)g(summarized)e(as)i(follo)m(ws:)p
283 664 3472 4 v 283 681 V 281 889 4 208 v 298 889 V
567 810 a Fw(Natural)f(Seman)m(tics)f(v)m(ersus)j(Structural)d(Op)s
(erational)h(Seman)m(tics)p 3736 889 V 3753 889 V 283
892 3472 4 v 281 1261 4 370 v 298 1261 V 350 1057 a Ft(\017)99
b Fu(In)42 b(a)f(natural)f(seman)m(tics)h(the)h(execution)g(of)e(the)i
(immediate)c(constituen)m(ts)43 b(is)d(an)499 1178 y
Fs(atomic)35 b(entity)41 b Fu(so)33 b(w)m(e)h(cannot)f(express)h(in)m
(terlea)m(ving)e(of)g(computations.)p 3736 1261 V 3753
1261 V 281 1549 4 289 v 298 1549 V 350 1345 a Ft(\017)99
b Fu(In)36 b(a)e(structural)h(op)s(erational)d(seman)m(tics)j(w)m(e)h
(concen)m(trate)h(on)d(the)i Fs(smal)5 b(l)36 b(steps)43
b Fu(of)499 1466 y(the)33 b(computation)e(so)i(w)m(e)h(can)f(easily)e
(express)k(in)m(terlea)m(ving.)p 3736 1549 V 3753 1549
V 283 1553 3472 4 v 283 1569 V 283 1833 a Fw(Exercise)i(2.35)49
b Fu(Consider)j(an)f(extension)h(of)f Fw(While)f Fu(that)h(in)g
(addition)f(to)h(the)h Fr(par)p Fu(-)283 1954 y(construct)34
b(also)e(con)m(tains)g(the)h(construct)527 2206 y Fr(protect)i
Fs(S)44 b Fr(end)283 2459 y Fu(The)37 b(idea)f(is)f(that)h(the)g
(statemen)m(t)h Fs(S)47 b Fu(has)37 b(to)e(b)s(e)h(executed)i(as)f(an)e
(atomic)f(en)m(tit)m(y)j(so)f(that)283 2579 y(for)c(example)527
2832 y Fr(x)h Fu(:=)g Fr(1)f(par)i(protect)g Fu(\()p
Fr(x)f Fu(:=)f Fr(2)p Fu(;)h Fr(x)g Fu(:=)f Fr(x)p Fu(+)p
Fr(2)p Fu(\))h Fr(end)283 3085 y Fu(only)26 b(has)g(t)m(w)m(o)g(p)s
(ossible)g(outcomes)f(namely)g Fw(1)h Fu(and)g Fw(4)p
Fu(.)41 b(Extend)27 b(the)g(structural)e(op)s(erational)283
3205 y(seman)m(tics)38 b(to)f(express)i(this.)57 b(Can)38
b(y)m(ou)g(sp)s(ecify)f(a)g(natural)f(seman)m(tics)i(for)e(the)i
(extended)283 3325 y(language?)2977 b Fh(2)283 3623 y
Fw(Exercise)37 b(2.36)49 b Fu(Sp)s(ecify)37 b(a)h(structural)f(op)s
(erational)e(seman)m(tics)i(for)g(arithmetic)f(expres-)283
3743 y(sions)42 b(where)h(the)f(individual)d(parts)j(of)g(an)f
(expression)i(ma)m(y)f(b)s(e)g(computed)g(in)e(parallel.)283
3863 y(T)-8 b(ry)34 b(to)e(pro)m(v)m(e)i(that)e(y)m(ou)h(still)e
(obtain)g(the)i(result)g(that)f(w)m(as)i(sp)s(eci\014ed)f(b)m(y)g
Ft(A)p Fu(.)468 b Fh(2)283 4257 y Fj(2.5)161 b(Blo)t(c)l(ks)54
b(and)f(pro)t(cedures)283 4496 y Fu(W)-8 b(e)38 b(no)m(w)f(extend)i
(the)e(language)f Fw(While)f Fu(with)i(blo)s(c)m(ks)g(con)m(taining)e
(declarations)h(of)h(v)-5 b(ari-)283 4616 y(ables)33
b(and)g(pro)s(cedures.)44 b(In)33 b(doing)f(so)h(w)m(e)g(in)m(tro)s
(duce)g(a)f(couple)h(of)f(imp)s(ortan)m(t)e(concepts:)429
4869 y Ft(\017)48 b Fu(v)-5 b(ariable)31 b(and)i(pro)s(cedure)g(en)m
(vironmen)m(ts,)h(and)429 5121 y Ft(\017)48 b Fu(lo)s(cations)31
b(and)i(stores.)283 5374 y(W)-8 b(e)36 b(shall)e(concen)m(trate)j(on)e
(the)h(natural)e(seman)m(tics)i(and)f(will)f(consider)h(dynamic)g(as)h
(w)m(ell)283 5494 y(as)d(static)f(scop)s(e)i(and)e(non-recursiv)m(e)i
(as)f(w)m(ell)f(as)g(recursiv)m(e)i(pro)s(cedures.)p
eop
%%Page: 51 61
51 60 bop 0 130 a Fw(2.5)112 b(Blo)s(c)m(ks)37 b(and)h(pro)s(cedures)
1998 b(51)p 0 193 3473 4 v 0 515 a Fp(Blo)t(c)l(ks)45
b(and)g(simple)g(declarations)0 700 y Fu(W)-8 b(e)37
b(\014rst)g(extend)h(the)f(language)f Fw(While)f Fu(with)h(blo)s(c)m
(ks)h(con)m(taining)e(declarations)h(of)g(lo)s(cal)0
820 y(v)-5 b(ariables.)42 b(The)34 b(new)f(language)f(is)g(called)f
Fw(Blo)s(c)m(k)h Fu(and)g(its)g(syn)m(tax)i(is)294 1001
y Fs(S)111 b Fu(::=)100 b Fs(x)44 b Fu(:=)33 b Fs(a)39
b Ft(j)33 b Fr(skip)g Ft(j)f Fs(S)1429 1016 y Fn(1)1501
1001 y Fu(;)h Fs(S)1628 1016 y Fn(2)1700 1001 y Ft(j)f
Fr(if)h Fs(b)38 b Fr(then)c Fs(S)2283 1016 y Fn(1)2355
1001 y Fr(else)f Fs(S)2659 1016 y Fn(2)511 1168 y Ft(j)151
b Fr(while)34 b Fs(b)k Fr(do)33 b Fs(S)45 b Ft(j)32 b
Fr(begin)i Fs(D)1729 1183 y Fc(V)1822 1168 y Fs(S)44
b Fr(end)0 1350 y Fu(where)32 b Fs(D)363 1365 y Fc(V)454
1350 y Fu(is)d(a)h(meta-v)-5 b(ariable)28 b(ranging)h(o)m(v)m(er)i(the)
g(syn)m(tactic)g(category)g Fw(Dec)2946 1365 y Fn(V)3034
1350 y Fu(of)e Fs(variable)0 1471 y(de)-5 b(clar)g(ations)p
Fu(.)42 b(The)34 b(syn)m(tax)g(of)e(v)-5 b(ariable)31
b(declarations)g(is)h(giv)m(en)h(b)m(y:)294 1658 y Fs(D)377
1673 y Fc(V)537 1658 y Fu(::=)100 b Fr(var)33 b Fs(x)45
b Fu(:=)32 b Fs(a)7 b Fu(;)33 b Fs(D)1378 1673 y Fc(V)1471
1658 y Ft(j)g Fo(")0 1848 y Fu(where)h Fo(")f Fu(is)g(the)g(empt)m(y)h
(declaration.)43 b(The)34 b(idea)e(is)h(that)g(the)g(v)-5
b(ariables)32 b(declared)h(inside)g(a)0 1969 y(blo)s(c)m(k)f
Fr(begin)i Fs(D)629 1984 y Fc(V)723 1969 y Fs(S)44 b
Fr(end)33 b Fu(are)g Fs(lo)-5 b(c)g(al)42 b Fu(to)32
b(it.)43 b(So)32 b(in)g(a)g(statemen)m(t)h(lik)m(e)244
2157 y Fr(begin)h(var)f(y)g Fu(:=)f Fr(1)p Fu(;)533 2325
y(\()p Fr(x)g Fu(:=)h Fr(1)p Fu(;)533 2493 y Fr(begin)h(var)f(x)g
Fu(:=)f Fr(2)p Fu(;)h Fr(y)g Fu(:=)f Fr(x)p Fu(+)p Fr(1)h(end)p
Fu(;)533 2660 y Fr(x)g Fu(:=)f Fr(y)p Fu(+)p Fr(x)p Fu(\))244
2828 y Fr(end)0 3017 y Fu(the)d Fr(x)f Fu(in)g Fr(y)g
Fu(:=)g Fr(x)p Fu(+)p Fr(1)h Fu(relates)f(to)g(the)h(lo)s(cal)d(v)-5
b(ariable)27 b Fr(x)h Fu(in)m(tro)s(duced)g(b)m(y)i Fr(var)f(x)f
Fu(:=)g Fr(2)p Fu(,)i(whereas)0 3137 y(the)e Fr(x)g Fu(in)f
Fr(x)h Fu(:=)g Fr(y)p Fu(+)p Fr(x)g Fu(relates)f(to)h(the)g(global)d(v)
-5 b(ariable)26 b Fr(x)i Fu(that)g(is)f(also)g(used)i(in)e(the)h
(statemen)m(t)0 3257 y Fr(x)k Fu(:=)h Fr(1)p Fu(.)43
b(In)33 b(b)s(oth)f(cases)i(the)e Fr(y)h Fu(refers)g(to)f(the)g
Fr(y)h Fu(declared)f(in)g(the)h(outer)f(blo)s(c)m(k.)43
b(Therefore,)0 3378 y(the)37 b(statemen)m(t)g Fr(y)g
Fu(:=)f Fr(x)p Fu(+)p Fr(1)h Fu(assigns)g Fr(y)f Fu(the)h(v)-5
b(alue)36 b Fw(3)p Fu(,)i(rather)e(than)h Fw(2)p Fu(,)g(and)g(the)g
(statemen)m(t)0 3498 y Fr(x)c Fu(:=)f Fr(y)p Fu(+)p Fr(x)h
Fu(assigns)g Fr(x)g Fu(the)g(v)-5 b(alue)32 b Fw(4)p
Fu(,)g(rather)h(than)g Fw(5)p Fu(.)146 3619 y(Before)28
b(going)e(in)m(to)h(the)h(details)e(of)h(ho)m(w)i(to)e(sp)s(ecify)h
(the)g(seman)m(tics)f(w)m(e)i(shall)d(de\014ne)j(the)0
3739 y(set)k(D)m(V\()p Fs(D)418 3754 y Fc(V)479 3739
y Fu(\))g(of)f(v)-5 b(ariables)31 b(declared)i(in)e Fs(D)1646
3754 y Fc(V)1707 3739 y Fu(:)294 3925 y(D)m(V\()p Fr(var)i
Fs(x)44 b Fu(:=)33 b Fs(a)7 b Fu(;)33 b Fs(D)1088 3940
y Fc(V)1148 3925 y Fu(\))100 b(=)g Ft(f)p Fs(x)12 b Ft(g)31
b([)i Fu(D)m(V\()p Fs(D)2015 3940 y Fc(V)2076 3925 y
Fu(\))294 4092 y(D)m(V\()p Fo(")o Fu(\))726 b(=)100 b
Ft(;)146 4274 y Fu(W)-8 b(e)43 b(next)g(de\014ne)h(the)e
Fs(natur)-5 b(al)44 b(semantics)p Fu(.)71 b(The)44 b(idea)d(will)f(b)s
(e)j(to)e(ha)m(v)m(e)j(one)f(transi-)0 4395 y(tion)36
b(system)i(for)f Fs(e)-5 b(ach)43 b Fu(of)37 b(the)g(syn)m(tactic)h
(categories)f Fw(Stm)f Fu(and)h Fw(Dec)2692 4410 y Fn(V)2750
4395 y Fu(.)57 b(F)-8 b(or)36 b(statemen)m(ts)0 4515
y(the)i(transition)d(system)j(is)f(as)g(in)g(T)-8 b(able)37
b(2.1)f(but)i(extended)h(with)e(the)g(rule)g(of)g(T)-8
b(able)37 b(2.3.)0 4635 y(The)28 b(transition)e(system)j(for)d(v)-5
b(ariable)26 b(declarations)g(has)i(con\014gurations)f(of)g(the)h(t)m
(w)m(o)g(forms)0 4756 y Ft(h)p Fs(D)122 4771 y Fc(V)183
4756 y Fu(,)k Fs(s)8 b Ft(i)37 b Fu(and)h Fs(s)45 b Fu(and)37
b(the)h(idea)f(is)f(that)h(the)h(transition)e(relation)f
Ft(!)2627 4771 y Fc(D)2728 4756 y Fu(sp)s(eci\014es)j(the)g(rela-)0
4876 y(tionship)31 b(b)s(et)m(w)m(een)k(initial)29 b(and)k(\014nal)e
(states)j(as)f(b)s(efore:)244 5065 y Ft(h)p Fs(D)366
5080 y Fc(V)427 5065 y Fu(,)f Fs(s)8 b Ft(i)32 b(!)705
5080 y Fc(D)802 5065 y Fs(s)850 5029 y Fi(0)0 5254 y
Fu(The)g(relation)d Ft(!)654 5269 y Fc(D)749 5254 y Fu(for)h(v)-5
b(ariable)29 b(declarations)h(is)g(giv)m(en)h(in)f(T)-8
b(able)30 b(2.4.)43 b(W)-8 b(e)31 b(generalize)f(the)0
5374 y(substitution)42 b(op)s(eration)f(on)i(states)g(and)g(write)f
Fs(s)1939 5338 y Fi(0)1962 5374 y Fu([)p Fs(X)16 b Ft(7\000)-15
b(!)o Fs(s)8 b Fu(])43 b(for)f(the)h(state)g(that)f(is)g(as)h
Fs(s)3449 5338 y Fi(0)0 5494 y Fu(except)34 b(for)e(v)-5
b(ariables)32 b(in)f(the)i(set)h Fs(X)48 b Fu(where)34
b(it)e(is)g(as)h(sp)s(eci\014ed)g(b)m(y)g Fs(s)8 b Fu(.)44
b(F)-8 b(ormally)g(,)p eop
%%Page: 52 62
52 61 bop 251 130 a Fw(52)2086 b(2)112 b(Op)s(erational)37
b(Seman)m(tics)p 251 193 3473 4 v 283 419 V 283 736 4
318 v 773 605 a Fu([blo)s(c)m(k)1025 620 y Fn(ns)1096
605 y Fu(])1689 519 y Ft(h)p Fs(D)1811 534 y Fc(V)1872
519 y Fu(,)32 b Fs(s)8 b Ft(i)33 b(!)2150 534 y Fc(D)2247
519 y Fs(s)2295 483 y Fi(0)2318 519 y Fu(,)g Ft(h)p Fs(S)12
b Fu(,)32 b Fs(s)2591 483 y Fi(0)2614 519 y Ft(i)h(!)f
Fs(s)2866 483 y Fi(00)p 1406 582 1787 4 v 1406 687 a
Ft(h)o Fr(begin)i Fs(D)1816 702 y Fc(V)1910 687 y Fs(S)44
b Fr(end)p Fu(,)33 b Fs(s)8 b Ft(i)33 b(!)f Fs(s)2522
650 y Fi(00)2564 687 y Fu([D)m(V\()p Fs(D)2857 702 y
Fc(V)2918 687 y Fu(\))p Ft(7\000)-16 b(!)p Fs(s)8 b Fu(])p
3753 736 4 318 v 283 739 3473 4 v 873 900 a(T)-8 b(able)32
b(2.3:)43 b(Natural)31 b(seman)m(tics)i(for)f(statemen)m(ts)i(of)e
Fw(Blo)s(c)m(k)p 283 976 V 283 1508 4 533 v 720 1162
a Fu([v)-5 b(ar)880 1177 y Fn(ns)951 1162 y Fu(])1382
1076 y Ft(h)p Fs(D)1504 1091 y Fc(V)1565 1076 y Fu(,)32
b Fs(s)8 b Fu([)p Fs(x)k Ft(7!A)o Fu([)-17 b([)q Fs(a)7
b Fu(])-17 b(])q Fs(s)8 b Fu(])p Ft(i)32 b(!)2314 1091
y Fc(D)2410 1076 y Fs(s)2458 1040 y Fi(0)p 1353 1139
1158 4 v 1353 1244 a Ft(h)p Fr(var)h Fs(x)45 b Fu(:=)32
b Fs(a)7 b Fu(;)33 b Fs(D)2003 1259 y Fc(V)2064 1244
y Fu(,)g Fs(s)8 b Ft(i)32 b(!)2343 1259 y Fc(D)2439 1244
y Fs(s)2487 1208 y Fi(0)720 1447 y Fu([none)947 1462
y Fn(ns)1019 1447 y Fu(])297 b Ft(h)p Fo(")p Fu(,)32
b Fs(s)8 b Ft(i)33 b(!)1706 1462 y Fc(D)1803 1447 y Fs(s)p
3753 1508 4 533 v 283 1511 3473 4 v 874 1672 a Fu(T)-8
b(able)32 b(2.4:)43 b(Natural)32 b(seman)m(tics)h(for)f(v)-5
b(ariable)30 b(declarations)527 1961 y(\()p Fs(s)613
1925 y Fi(0)637 1961 y Fu([)p Fs(X)16 b Ft(7\000)-16
b(!)o Fs(s)8 b Fu(]\))33 b Fs(x)44 b Fu(=)1256 1815 y
Fg(\()1364 1900 y Fs(s)d(x)118 b Fu(if)31 b Fs(x)45 b
Ft(2)33 b Fs(X)1364 2020 y(s)1412 1984 y Fi(0)1468 2020
y Fs(x)95 b Fu(if)31 b Fs(x)45 b Ft(62)33 b Fs(X)283
2180 y Fu(This)c(op)s(eration)d(will)g(ensure)j(that)f(lo)s(cal)d(v)-5
b(ariables)27 b(are)h(restored)h(to)e(their)h(previous)g(v)-5
b(alues)283 2301 y(when)34 b(the)f(blo)s(c)m(k)g(is)f(left.)283
2475 y Fw(Exercise)37 b(2.37)49 b Fu(Use)35 b(the)f(natural)g(seman)m
(tics)g(of)g(T)-8 b(able)34 b(2.3)f(to)h(sho)m(w)h(that)f(execution)h
(of)283 2595 y(the)e(statemen)m(t)527 2758 y Fr(begin)h(var)g(y)e
Fu(:=)h Fr(1)p Fu(;)816 2926 y(\()p Fr(x)g Fu(:=)f Fr(1)p
Fu(;)816 3093 y Fr(begin)i(var)f(x)g Fu(:=)g Fr(2)p Fu(;)f
Fr(y)h Fu(:=)g Fr(x)p Fu(+)p Fr(1)g(end)p Fu(;)816 3261
y Fr(x)g Fu(:=)f Fr(y)p Fu(+)p Fr(x)p Fu(\))527 3429
y Fr(end)283 3592 y Fu(will)f(lead)h(to)g(a)g(state)h(where)h
Fr(x)f Fu(has)g(the)g(v)-5 b(alue)32 b Fw(4)p Fu(.)1525
b Fh(2)430 3766 y Fu(It)32 b(is)f(somewhat)h(harder)g(to)f(sp)s(ecify)i
(a)e Fs(structur)-5 b(al)35 b(op)-5 b(er)g(ational)33
b(semantics)39 b Fu(for)31 b(the)i(ex-)283 3886 y(tended)c(language.)41
b(One)28 b(approac)m(h)g(is)f(to)g(replace)h(states)g(with)g(a)f
(structure)i(that)e(is)g(similar)283 4007 y(to)34 b(the)g(run-time)f
(stac)m(ks)i(used)h(in)d(the)h(implemen)m(tation)d(of)i(blo)s(c)m(k)h
(structured)h(languages.)283 4127 y(Another)43 b(is)f(to)g(extend)h
(the)g(statemen)m(ts)g(with)f(fragmen)m(ts)g(of)f(the)i(state.)73
b(Ho)m(w)m(ev)m(er,)47 b(w)m(e)283 4247 y(shall)32 b(not)g(go)g
(further)h(in)m(to)f(this.)283 4529 y Fp(Pro)t(cedures)283
4714 y Fu(W)-8 b(e)27 b(shall)f(no)m(w)h(extend)h(the)f(language)e
Fw(Blo)s(c)m(k)h Fu(with)g(pro)s(cedure)h(declarations.)41
b(The)27 b(syn)m(tax)283 4834 y(of)33 b(the)g(language)e
Fw(Pro)s(c)h Fu(is:)577 4989 y Fs(S)189 b Fu(::=)99 b
Fs(x)45 b Fu(:=)32 b Fs(a)40 b Ft(j)32 b Fr(skip)i Ft(j)e
Fs(S)1790 5004 y Fn(1)1862 4989 y Fu(;)g Fs(S)1988 5004
y Fn(2)2060 4989 y Ft(j)g Fr(if)h Fs(b)39 b Fr(then)33
b Fs(S)2643 5004 y Fn(1)2715 4989 y Fr(else)h Fs(S)3020
5004 y Fn(2)872 5156 y Ft(j)150 b Fr(while)34 b Fs(b)39
b Fr(do)33 b Fs(S)44 b Ft(j)32 b Fr(begin)i Fs(D)2089
5171 y Fc(V)2183 5156 y Fs(D)2266 5171 y Fc(P)2357 5156
y Fs(S)44 b Fr(end)33 b Ft(j)g Fr(call)g Fs(p)577 5324
y(D)660 5339 y Fc(V)821 5324 y Fu(::=)99 b Fr(var)34
b Fs(x)44 b Fu(:=)33 b Fs(a)7 b Fu(;)32 b Fs(D)1661 5339
y Fc(V)1755 5324 y Ft(j)g Fo(")577 5492 y Fs(D)660 5507
y Fc(P)821 5492 y Fu(::=)99 b Fr(proc)34 b Fs(p)k Fr(is)33
b Fs(S)12 b Fu(;)33 b Fs(D)1721 5507 y Fc(P)1812 5492
y Ft(j)f Fo(")p eop
%%Page: 53 63
53 62 bop 0 130 a Fw(2.5)112 b(Blo)s(c)m(ks)37 b(and)h(pro)s(cedures)
1998 b(53)p 0 193 3473 4 v 0 515 a Fu(Here)27 b Fs(p)33
b Fu(is)26 b(a)g(meta-v)-5 b(ariable)24 b(ranging)i(o)m(v)m(er)h(the)g
(syn)m(tactic)h(category)f Fw(Pname)f Fu(of)g(pro)s(cedure)0
636 y(names;)31 b(in)e(the)h(concrete)h(syn)m(tax)h(there)e(need)h(not)
f(b)s(e)g(an)m(y)g(di\013erence)h(b)s(et)m(w)m(een)g(pro)s(cedure)0
756 y(names)37 b(and)g(v)-5 b(ariable)36 b(names)h(but)g(in)g(the)g
(abstract)h(syn)m(tax)g(it)e(is)h(con)m(v)m(enien)m(t)i(to)e(b)s(e)g
(able)0 877 y(to)c(distinguish)f(b)s(et)m(w)m(een)j(the)f(t)m(w)m(o.)46
b(F)-8 b(urthermore,)33 b Fs(D)2061 892 y Fc(P)2152 877
y Fu(is)g(a)g(meta-v)-5 b(ariable)30 b(ranging)i(o)m(v)m(er)0
997 y(the)h(syn)m(tactic)g(category)g Fw(Dec)1160 1012
y Fn(P)1245 997 y Fu(of)f Fs(pr)-5 b(o)g(c)g(e)g(dur)g(e)34
b(de)-5 b(clar)g(ations)p Fu(.)146 1117 y(W)d(e)40 b(shall)d(giv)m(e)i
(three)h(di\013eren)m(t)f(seman)m(tics)g(of)f(this)h(language.)61
b(They)40 b(di\013er)f(in)f(their)0 1238 y(c)m(hoice)33
b(of)f(scop)s(e)h(rules)g(for)f(v)-5 b(ariables)31 b(and)i(pro)s
(cedures:)145 1436 y Ft(\017)49 b Fu(dynamic)32 b(scop)s(e)h(for)f(v)-5
b(ariables)31 b(as)i(w)m(ell)f(as)h(pro)s(cedures,)145
1637 y Ft(\017)49 b Fu(dynamic)32 b(scop)s(e)h(for)f(v)-5
b(ariables)31 b(but)i(static)f(scop)s(e)i(for)e(pro)s(cedures,)i(and)
145 1839 y Ft(\017)49 b Fu(static)32 b(scop)s(e)h(for)f(v)-5
b(ariables)32 b(as)g(w)m(ell)g(as)h(pro)s(cedures.)0
2037 y(T)-8 b(o)33 b(illustrate)d(the)j(di\013erence)g(consider)g(the)g
(statemen)m(t)244 2235 y Fr(begin)h(var)f(x)g Fu(:=)f
Fr(0)p Fu(;)533 2403 y Fr(proc)h(p)g(is)g(x)g Fu(:=)f
Fr(x)h Fo(?)f Fr(2)p Fu(;)533 2570 y Fr(proc)h(q)g(is)g(call)h(p)p
Fu(;)533 2738 y Fr(begin)g(var)f(x)g Fu(:=)f Fr(5)p Fu(;)822
2905 y Fr(proc)h(p)g(is)g(x)g Fu(:=)f Fr(x)h Fu(+)f(1;)822
3073 y Fr(call)h(q)p Fu(;)g Fr(y)g Fu(:=)f Fr(x)533 3241
y(end)244 3408 y(end)0 3606 y Fu(If)39 b Fs(dynamic)i(sc)-5
b(op)g(e)46 b Fu(is)39 b(used)h(for)f(v)-5 b(ariables)38
b(as)i(w)m(ell)f(as)g(pro)s(cedures)i(then)f(the)g(\014nal)f(v)-5
b(alue)0 3727 y(of)42 b Fr(y)h Fu(is)f Fw(6)p Fu(.)74
b(The)44 b(reason)f(is)f(that)h Fr(call)g(q)g Fu(will)e(call)g(the)i
Fs(lo)-5 b(c)g(al)52 b Fu(pro)s(cedure)44 b Fr(p)e Fu(whic)m(h)i(will)0
3847 y(up)s(date)31 b(the)g Fs(lo)-5 b(c)g(al)40 b Fu(v)-5
b(ariable)29 b Fr(x)p Fu(.)43 b(If)30 b(w)m(e)i(use)f(dynamic)f(scop)s
(e)i(for)e(v)-5 b(ariables)29 b(but)i Fs(static)i(sc)-5
b(op)g(e)0 3967 y Fu(for)35 b(pro)s(cedures)i(then)f
Fr(y)g Fu(gets)g(the)g(v)-5 b(alue)35 b Fw(10)p Fu(.)52
b(The)37 b(reason)f(is)f(that)g(no)m(w)i Fr(call)f(q)g
Fu(will)d(call)0 4088 y(the)38 b Fs(glob)-5 b(al)47 b
Fu(pro)s(cedure)39 b Fr(p)f Fu(and)g(it)f(will)e(up)s(date)j(the)g
Fs(lo)-5 b(c)g(al)47 b Fu(v)-5 b(ariable)36 b Fr(x)p
Fu(.)60 b(Finally)-8 b(,)36 b(if)h(w)m(e)h(use)0 4208
y(static)28 b(scop)s(e)h(for)e(v)-5 b(ariables)27 b(as)h(w)m(ell)f(as)i
(pro)s(cedures)g(then)g Fr(y)f Fu(gets)h(the)f(v)-5 b(alue)28
b Fw(5)p Fu(.)42 b(The)29 b(reason)0 4329 y(is)39 b(that)g
Fr(call)h(q)g Fu(no)m(w)g(will)d(call)g(the)j Fs(glob)-5
b(al)49 b Fu(pro)s(cedure)40 b Fr(p)f Fu(whic)m(h)h(will)d(up)s(date)j
(the)f Fs(glob)-5 b(al)0 4449 y Fu(v)g(ariable)31 b Fr(x)i
Fu(so)f(the)h(lo)s(cal)e(v)-5 b(ariable)31 b Fr(x)h Fu(is)g(unc)m
(hanged.)0 4708 y Fw(Dynamic)37 b(scop)s(e)g(rules)g(for)h(v)-6
b(ariables)37 b(and)h(pro)s(cedures)0 4893 y Fu(The)44
b(general)f(idea)f(is)h(that)g(to)g(execute)i(the)e(statemen)m(t)h
Fr(call)g Fs(p)49 b Fu(w)m(e)44 b(shall)e(execute)j(the)0
5013 y(b)s(o)s(dy)34 b(of)f(the)i(pro)s(cedure.)48 b(This)34
b(means)g(that)g(w)m(e)g(ha)m(v)m(e)i(to)d(k)m(eep)j(trac)m(k)e(of)g
(the)g(asso)s(ciation)0 5133 y(of)k(pro)s(cedure)i(names)f(with)g(pro)s
(cedure)h(b)s(o)s(dies.)62 b(T)-8 b(o)39 b(facilitate)d(this)j(w)m(e)h
(shall)d(in)m(tro)s(duce)0 5254 y(the)42 b(notion)f(of)g(a)h
Fs(pr)-5 b(o)g(c)g(e)g(dur)g(e)42 b(envir)-5 b(onment)p
Fu(.)70 b(Giv)m(en)42 b(a)f(pro)s(cedure)i(name)e(the)h(pro)s(cedure)0
5374 y(en)m(vironmen)m(t)25 b Fs(env)709 5389 y Fc(P)792
5374 y Fu(will)d(return)k(the)f(statemen)m(t)g(that)g(is)f(its)g(b)s(o)
s(dy)-8 b(.)41 b(So)25 b Fs(env)2844 5389 y Fc(P)2927
5374 y Fu(is)f(an)h(elemen)m(t)0 5494 y(of)p eop
%%Page: 54 64
54 63 bop 251 130 a Fw(54)2086 b(2)112 b(Op)s(erational)37
b(Seman)m(tics)p 251 193 3473 4 v 283 419 V 283 3862
4 3443 v 654 528 a Fu([ass)806 543 y Fn(ns)878 528 y
Fu(])372 b Fs(env)1433 543 y Fc(P)1523 528 y Ft(`)33
b(h)o Fs(x)45 b Fu(:=)32 b Fs(a)7 b Fu(,)33 b Fs(s)8
b Ft(i)32 b(!)g Fs(s)8 b Fu([)p Fs(x)k Ft(7!A)p Fu([)-17
b([)p Fs(a)7 b Fu(])-17 b(])q Fs(s)8 b Fu(])654 743 y([skip)852
758 y Fn(ns)923 743 y Fu(])327 b Fs(env)1433 758 y Fc(P)1523
743 y Ft(`)33 b(h)o Fr(skip)p Fu(,)h Fs(s)8 b Ft(i)32
b(!)g Fs(s)654 1035 y Fu([comp)909 1050 y Fn(ns)980 1035
y Fu(])1287 948 y Fs(env)1443 963 y Fc(P)1533 948 y Ft(`)h(h)o
Fs(S)1732 963 y Fn(1)1772 948 y Fu(,)f Fs(s)8 b Ft(i)33
b(!)f Fs(s)2131 912 y Fi(0)2154 948 y Fu(,)h Fs(env)2370
963 y Fc(P)2460 948 y Ft(`)f(h)p Fs(S)2659 963 y Fn(2)2698
948 y Fu(,)h Fs(s)2806 912 y Fi(0)2829 948 y Ft(i)g(!)f
Fs(s)3081 912 y Fi(00)p 1287 1012 1837 4 v 1695 1116
a Fs(env)1851 1131 y Fc(P)1942 1116 y Ft(`)g(h)p Fs(S)2141
1131 y Fn(1)2180 1116 y Fu(;)p Fs(S)2274 1131 y Fn(2)2313
1116 y Fu(,)h Fs(s)8 b Ft(i)32 b(!)g Fs(s)2672 1080 y
Fi(00)654 1397 y Fu([if)739 1361 y Fn(tt)739 1422 y(ns)809
1397 y Fu(])1703 1310 y Fs(env)1859 1325 y Fc(P)1949
1310 y Ft(`)h(h)p Fs(S)2149 1325 y Fn(1)2188 1310 y Fu(,)f
Fs(s)8 b Ft(i)33 b(!)f Fs(s)2547 1274 y Fi(0)p 1287 1374
1700 4 v 1287 1478 a Fs(env)1443 1493 y Fc(P)1533 1478
y Ft(`)h(h)o Fr(if)g Fs(b)39 b Fr(then)33 b Fs(S)2188
1493 y Fn(1)2260 1478 y Fr(else)h Fs(S)2565 1493 y Fn(2)2604
1478 y Fu(,)f Fs(s)8 b Ft(i)32 b(!)g Fs(s)2963 1442 y
Fi(0)1513 1635 y Fu(if)f Ft(B)t Fu([)-17 b([)p Fs(b)6
b Fu(])-17 b(])q Fs(s)41 b Fu(=)32 b Fw(tt)654 1927 y
Fu([if)739 1890 y Fn(\013)739 1951 y(ns)809 1927 y Fu(])1703
1840 y Fs(env)1859 1855 y Fc(P)1949 1840 y Ft(`)h(h)p
Fs(S)2149 1855 y Fn(2)2188 1840 y Fu(,)f Fs(s)8 b Ft(i)33
b(!)f Fs(s)2547 1804 y Fi(0)p 1287 1903 V 1287 2008 a
Fs(env)1443 2023 y Fc(P)1533 2008 y Ft(`)h(h)o Fr(if)g
Fs(b)39 b Fr(then)33 b Fs(S)2188 2023 y Fn(1)2260 2008
y Fr(else)h Fs(S)2565 2023 y Fn(2)2604 2008 y Fu(,)f
Fs(s)8 b Ft(i)32 b(!)g Fs(s)2963 1972 y Fi(0)1513 2165
y Fu(if)f Ft(B)t Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])q
Fs(s)41 b Fu(=)32 b Fw(\013)654 2456 y Fu([while)904
2420 y Fn(tt)904 2481 y(ns)974 2456 y Fu(])1287 2370
y Fs(env)1443 2385 y Fc(P)1533 2370 y Ft(`)h(h)o Fs(S)12
b Fu(,)33 b Fs(s)8 b Ft(i)32 b(!)g Fs(s)2091 2334 y Fi(0)2115
2370 y Fu(,)g Fs(env)2330 2385 y Fc(P)2421 2370 y Ft(`)g(h)p
Fr(while)i Fs(b)k Fr(do)33 b Fs(S)12 b Fu(,)33 b Fs(s)3235
2334 y Fi(0)3258 2370 y Ft(i)f(!)g Fs(s)3509 2334 y Fi(00)p
1287 2433 2266 4 v 1742 2538 a Fs(env)1898 2553 y Fc(P)1989
2538 y Ft(`)g(h)p Fr(while)i Fs(b)k Fr(do)33 b Fs(S)12
b Fu(,)32 b Fs(s)8 b Ft(i)33 b(!)f Fs(s)3054 2502 y Fi(00)1513
2694 y Fu(if)f Ft(B)t Fu([)-17 b([)p Fs(b)6 b Fu(])-17
b(])q Fs(s)41 b Fu(=)32 b Fw(tt)654 2909 y Fu([while)904
2873 y Fn(\013)904 2934 y(ns)974 2909 y Fu(])276 b Fs(env)1433
2924 y Fc(P)1523 2909 y Ft(`)33 b(h)o Fr(while)h Fs(b)39
b Fr(do)33 b Fs(S)12 b Fu(,)32 b Fs(s)8 b Ft(i)32 b(!)h
Fs(s)1513 3077 y Fu(if)e Ft(B)t Fu([)-17 b([)p Fs(b)6
b Fu(])-17 b(])q Fs(s)41 b Fu(=)32 b Fw(\013)654 3368
y Fu([blo)s(c)m(k)906 3383 y Fn(ns)977 3368 y Fu(])1410
3282 y Ft(h)p Fs(D)1532 3297 y Fc(V)1593 3282 y Fu(,)g
Fs(s)8 b Ft(i)33 b(!)1871 3297 y Fc(D)1968 3282 y Fs(s)2016
3246 y Fi(0)2039 3282 y Fu(,)g(up)s(d)2264 3297 y Fn(P)2316
3282 y Fu(\()p Fs(D)2437 3297 y Fc(P)2496 3282 y Fu(,)g
Fs(env)2712 3297 y Fc(P)2769 3282 y Fu(\))g Ft(`)f(h)p
Fs(S)12 b Fu(,)32 b Fs(s)3146 3246 y Fi(0)3170 3282 y
Ft(i)g(!)g Fs(s)3421 3246 y Fi(00)p 1287 3345 2301 4
v 1287 3450 a Fs(env)1443 3465 y Fc(P)1533 3450 y Ft(`)h(h)o
Fr(begin)h Fs(D)2037 3465 y Fc(V)2131 3450 y Fs(D)2214
3465 y Fc(P)2305 3450 y Fs(S)44 b Fr(end)p Fu(,)34 b
Fs(s)8 b Ft(i)32 b(!)g Fs(s)2917 3414 y Fi(00)2960 3450
y Fu([D)m(V\()p Fs(D)3253 3465 y Fc(V)3313 3450 y Fu(\))p
Ft(7\000)-16 b(!)p Fs(s)8 b Fu(])654 3731 y([call)829
3694 y Fn(rec)829 3755 y(ns)922 3731 y Fu(])1400 3644
y Fs(env)1556 3659 y Fc(P)1646 3644 y Ft(`)33 b(h)p Fs(S)12
b Fu(,)32 b Fs(s)8 b Ft(i)32 b(!)h Fs(s)2205 3608 y Fi(0)p
1287 3707 1055 4 v 1287 3812 a Fs(env)1443 3827 y Fc(P)1533
3812 y Ft(`)g(h)o Fr(call)h Fs(p)6 b Fu(,)32 b Fs(s)8
b Ft(i)33 b(!)f Fs(s)2318 3776 y Fi(0)2449 3731 y Fu(where)i
Fs(env)2887 3746 y Fc(P)2977 3731 y Fs(p)k Fu(=)33 b
Fs(S)p 3753 3862 4 3443 v 283 3865 3473 4 v 640 4026
a Fu(T)-8 b(able)32 b(2.5:)44 b(Natural)31 b(seman)m(tics)i(for)f
Fw(Pro)s(c)g Fu(with)g(dynamic)g(scop)s(e)h(rules)527
4322 y Fw(En)m(v)719 4337 y Fn(P)804 4322 y Fu(=)f Fw(Pname)h
Fo(,)-17 b Ft(!)32 b Fw(Stm)430 4552 y Fu(The)45 b(next)g(step)g(will)c
(b)s(e)k(to)e(extend)j(the)e(natural)f(seman)m(tics)h(to)g(tak)m(e)h
(the)f(en)m(viron-)283 4672 y(men)m(t)35 b(in)m(to)f(accoun)m(t.)50
b(W)-8 b(e)35 b(shall)e(extend)j(the)f(transition)e(system)j(for)e
(statemen)m(ts)h(to)g(ha)m(v)m(e)283 4793 y(transitions)d(of)g(the)h
(form)527 5023 y Fs(env)683 5038 y Fc(P)774 5023 y Ft(`)f(h)p
Fs(S)12 b Fu(,)32 b Fs(s)8 b Ft(i)33 b(!)f Fs(s)1332
4987 y Fi(0)283 5254 y Fu(The)e(presence)g(of)e(the)h(en)m(vironmen)m
(t)f(means)h(that)f(w)m(e)h(can)g(alw)m(a)m(ys)g(access)h(it)d(and)h
(therefore)283 5374 y(get)36 b(hold)g(of)f(the)i(b)s(o)s(dies)e(of)h
(declared)g(pro)s(cedures.)55 b(The)37 b(result)f(of)f(mo)s(difying)f
(T)-8 b(able)35 b(2.1)283 5494 y(to)e(incorp)s(orate)e(this)h(extra)h
(information)d(is)i(sho)m(wn)i(in)e(T)-8 b(able)32 b(2.5.)p
eop
%%Page: 55 65
55 64 bop 0 130 a Fw(2.5)112 b(Blo)s(c)m(ks)37 b(and)h(pro)s(cedures)
1998 b(55)p 0 193 3473 4 v 146 515 a Fu(Concerning)39
b(the)f(rule)g(for)g Fr(begin)h Fs(D)1573 530 y Fc(V)1672
515 y Fs(D)1755 530 y Fc(P)1852 515 y Fs(S)50 b Fr(end)39
b Fu(the)f(idea)g(is)f(that)h(w)m(e)i(up)s(date)e(the)0
636 y(pro)s(cedure)44 b(en)m(vironmen)m(t)f(so)f(that)h(the)g(pro)s
(cedures)h(declared)f(in)f Fs(D)2666 651 y Fc(P)2767
636 y Fu(will)e(b)s(e)j(a)m(v)-5 b(ailable)0 756 y(when)41
b(executing)f Fs(S)12 b Fu(.)39 b(Giv)m(en)h(a)f(global)e(en)m
(vironmen)m(t)j Fs(env)2234 771 y Fc(P)2331 756 y Fu(and)g(a)f
(declaration)f Fs(D)3210 771 y Fc(P)3269 756 y Fu(,)j(the)0
877 y(up)s(dated)33 b(pro)s(cedure)h(en)m(vironmen)m(t,)f(up)s(d)1588
892 y Fn(P)1640 877 y Fu(\()p Fs(D)1761 892 y Fc(P)1820
877 y Fu(,)f Fs(env)2035 892 y Fc(P)2093 877 y Fu(\),)h(is)f(sp)s
(eci\014ed)h(b)m(y:)244 1072 y(up)s(d)409 1087 y Fn(P)461
1072 y Fu(\()p Fr(proc)h Fs(p)k Fr(is)33 b Fs(S)12 b
Fu(;)33 b Fs(D)1170 1087 y Fc(P)1228 1072 y Fu(,)g Fs(env)1444
1087 y Fc(P)1502 1072 y Fu(\))f(=)h(up)s(d)1846 1087
y Fn(P)1898 1072 y Fu(\()p Fs(D)2019 1087 y Fc(P)2078
1072 y Fu(,)f Fs(env)2293 1087 y Fc(P)2351 1072 y Fu([)p
Fs(p)6 b Ft(7!)p Fs(S)12 b Fu(]\))244 1240 y(up)s(d)409
1255 y Fn(P)461 1240 y Fu(\()p Fo(")p Fu(,)33 b Fs(env)761
1255 y Fc(P)818 1240 y Fu(\))g(=)f Fs(env)1153 1255 y
Fc(P)146 1436 y Fu(As)j(the)f(v)-5 b(ariable)32 b(declarations)g(do)i
(not)g(need)g(to)g(access)h(the)f(pro)s(cedure)h(en)m(vironmen)m(t)0
1556 y(it)c(is)h(not)g(necessary)j(to)d(extend)i(the)f(transition)e
(system)i(for)f(declarations)f(with)h(the)h(extra)0 1677
y(comp)s(onen)m(t.)44 b(So)32 b(for)g(v)-5 b(ariable)31
b(declarations)g(w)m(e)j(still)c(ha)m(v)m(e)k(transitions)d(of)i(the)g
(form)244 1873 y Ft(h)p Fs(D)9 b Fu(,)32 b Fs(s)8 b Ft(i)33
b(!)644 1888 y Fc(D)741 1873 y Fs(s)789 1837 y Fi(0)0
2069 y Fu(The)h(relation)c(is)i(de\014ned)i(as)f(for)f(the)h(language)f
Fw(Blo)s(c)m(k)p Fu(,)f(that)h(is)g(b)m(y)i(T)-8 b(able)32
b(2.4.)146 2189 y(W)-8 b(e)25 b(can)g(no)m(w)g(complete)e(the)i(sp)s
(eci\014cation)f(of)g(the)h(seman)m(tics)f(of)g(blo)s(c)m(ks)h(and)f
(pro)s(cedure)0 2309 y(calls.)42 b(Note)31 b(that)g(in)g(the)h(rule)f
([blo)s(c)m(k)1425 2324 y Fn(ns)1496 2309 y Fu(])g(of)g(T)-8
b(able)31 b(2.5)g(w)m(e)h(use)g(the)g(up)s(dated)g(en)m(vironmen)m(t)0
2430 y(when)47 b(executing)f(the)g(b)s(o)s(dy)f(of)g(the)h(blo)s(c)m
(k.)82 b(In)46 b(the)g(rule)f([call)2495 2394 y Fn(rec)2495
2454 y(ns)2588 2430 y Fu(])g(for)g(pro)s(cedure)i(calls)0
2550 y(w)m(e)g(mak)m(e)f(use)i(of)d(the)i(information)c(pro)m(vided)j
(b)m(y)h(the)g(en)m(vironmen)m(t.)85 b(It)46 b(follo)m(ws)f(that)0
2671 y(pro)s(cedures)34 b(will)c Fs(always)40 b Fu(b)s(e)33
b(recursiv)m(e.)0 2889 y Fw(Exercise)j(2.38)49 b Fu(Consider)33
b(the)g(follo)m(wing)d(statemen)m(t)j(of)f Fw(Pro)s(c)p
Fu(:)244 3085 y Fr(begin)i(proc)f(fac)h(is)f(begin)h(var)f(z)g
Fu(:=)f Fr(x)p Fu(;)1381 3252 y Fr(if)h(x)f Fu(=)h Fr(1)g(then)g(skip)
1381 3420 y(else)g Fu(\()p Fr(x)g Fu(:=)f Fr(x)p Ft(\000)p
Fr(1)p Fu(;)i Fr(call)g(fac)p Fu(;)f Fr(y)g Fu(:=)f Fr(z)p
Fo(?)p Fr(y)p Fu(\))1092 3588 y Fr(end)p Fu(;)533 3755
y(\()p Fr(y)g Fu(:=)h Fr(1)p Fu(;)g Fr(call)g(fac)p Fu(\))244
3923 y Fr(end)0 4119 y Fu(Construct)26 b(a)f(deriv)-5
b(ation)23 b(tree)j(for)e(the)i(execution)f(of)g(this)g(statemen)m(t)g
(from)f(a)h(state)g Fs(s)33 b Fu(where)0 4239 y Fs(s)41
b Fr(x)32 b Fu(=)h Fw(3)p Fu(.)3042 b Fh(2)0 4458 y Fw(Exercise)36
b(2.39)49 b Fu(Use)34 b(the)f(seman)m(tics)g(to)f(v)m(erify)h(that)f
(the)h(statemen)m(t)244 4653 y Fr(begin)h(var)f(x)g Fu(:=)f
Fr(0)p Fu(;)533 4821 y Fr(proc)h(p)g(is)g(x)g Fu(:=)f
Fr(x)h Fo(?)f Fr(2)p Fu(;)533 4989 y Fr(proc)h(q)g(is)g(call)h(p)p
Fu(;)533 5156 y Fr(begin)g(var)f(x)g Fu(:=)f Fr(5)p Fu(;)822
5324 y Fr(proc)h(p)g(is)g(x)g Fu(:=)f Fr(x)h Fu(+)f(1;)822
5492 y Fr(call)h(q)p Fu(;)g Fr(y)g Fu(:=)f Fr(x)p eop
%%Page: 56 66
56 65 bop 251 130 a Fw(56)2086 b(2)112 b(Op)s(erational)37
b(Seman)m(tics)p 251 193 3473 4 v 283 419 V 283 1434
4 1015 v 955 605 a Fu([call)1130 620 y Fn(ns)1200 605
y Fu(])1701 519 y Fs(env)1857 483 y Fi(0)1857 543 y Fc(P)1948
519 y Ft(`)32 b(h)p Fs(S)12 b Fu(,)32 b Fs(s)8 b Ft(i)33
b(!)f Fs(s)2506 483 y Fi(0)p 1588 582 1055 4 v 1588 687
a Fs(env)1744 702 y Fc(P)1834 687 y Ft(`)h(h)p Fr(call)g
Fs(p)6 b Fu(,)33 b Fs(s)8 b Ft(i)32 b(!)g Fs(s)2619 650
y Fi(0)1814 843 y Fu(where)i Fs(env)2252 858 y Fc(P)2343
843 y Fs(p)k Fu(=)32 b(\()p Fs(S)12 b Fu(,)33 b Fs(env)2860
807 y Fi(0)2860 868 y Fc(P)2918 843 y Fu(\))955 1135
y([call)1130 1099 y Fn(rec)1130 1159 y(ns)1223 1135 y
Fu(])1588 1048 y Fs(env)1744 1012 y Fi(0)1744 1073 y
Fc(P)1802 1048 y Fu([)p Fs(p)6 b Ft(7!)p Fu(\()p Fs(S)12
b Fu(,)32 b Fs(env)2305 1012 y Fi(0)2305 1073 y Fc(P)2363
1048 y Fu(\)])g Ft(`)h(h)p Fs(S)12 b Fu(,)32 b Fs(s)8
b Ft(i)32 b(!)g Fs(s)3018 1012 y Fi(0)p 1588 1112 1454
4 v 1788 1216 a Fs(env)1944 1231 y Fc(P)2034 1216 y Ft(`)g(h)p
Fr(call)i Fs(p)6 b Fu(,)32 b Fs(s)8 b Ft(i)33 b(!)f Fs(s)2819
1180 y Fi(0)1814 1373 y Fu(where)i Fs(env)2252 1388 y
Fc(P)2343 1373 y Fs(p)k Fu(=)32 b(\()p Fs(S)12 b Fu(,)33
b Fs(env)2860 1337 y Fi(0)2860 1397 y Fc(P)2918 1373
y Fu(\))p 3753 1434 4 1015 v 283 1437 3473 4 v 572 1603
a(T)-8 b(able)32 b(2.6:)43 b(Pro)s(cedure)34 b(calls)d(in)h(case)i(of)e
(mixed)g(scop)s(e)h(rules)g(\(c)m(ho)s(ose)g(one\))816
1894 y Fr(end)527 2061 y(end)283 2264 y Fu(considered)h(earlier)d(do)s
(es)i(indeed)g(assign)f(the)h(exp)s(ected)i(v)-5 b(alue)32
b(to)g Fr(y)p Fu(.)781 b Fh(2)283 2524 y Fw(Static)37
b(scop)s(e)h(rules)f(for)g(pro)s(cedures)283 2709 y Fu(W)-8
b(e)36 b(shall)d(no)m(w)j(mo)s(dify)d(the)i(seman)m(tics)g(of)f
Fw(Pro)s(c)h Fu(to)f(sp)s(ecify)h(static)g(scop)s(e)g(rules)g(for)f
(pro-)283 2829 y(cedures.)46 b(The)33 b(\014rst)g(step)h(will)c(b)s(e)j
(to)f(extend)i(the)f(pro)s(cedure)g(en)m(vironmen)m(t)g
Fs(env)3367 2844 y Fc(P)3457 2829 y Fu(so)g(that)283
2949 y(pro)s(cedure)g(names)f(are)f(asso)s(ciated)h(with)f(their)g(b)s
(o)s(dy)g(as)h(w)m(ell)f(as)h(the)g(pro)s(cedure)g(en)m(viron-)283
3070 y(men)m(t)h(at)f(the)h(p)s(oin)m(t)f(of)g(declaration.)42
b(T)-8 b(o)33 b(this)f(end)h(w)m(e)h(de\014ne)527 3273
y Fw(En)m(v)719 3288 y Fn(P)804 3273 y Fu(=)e Fw(Pname)h
Fo(,)-17 b Ft(!)32 b Fw(Stm)g Ft(\002)h Fw(En)m(v)1959
3288 y Fn(P)283 3476 y Fu(This)j(de\014nition)e(ma)m(y)h(seem)g
(problematic)e(b)s(ecause)k Fw(En)m(v)2495 3491 y Fn(P)2582
3476 y Fu(is)d(de\014ned)j(in)d(terms)h(of)g(itself.)283
3596 y(Ho)m(w)m(ev)m(er,)41 b(this)c(is)g(not)h(really)e(a)h(problem)f
(b)s(ecause)j(a)e(concrete)h(pro)s(cedure)h(en)m(vironmen)m(t)283
3717 y(alw)m(a)m(ys)31 b(will)d(b)s(e)i(built)f(from)f(smaller)g(en)m
(vironmen)m(ts)j(starting)e(with)h(the)g(empt)m(y)h(pro)s(cedure)283
3837 y(en)m(vironmen)m(t.)65 b(The)41 b(function)e(up)s(d)1665
3852 y Fn(P)1757 3837 y Fu(up)s(dating)f(the)i(pro)s(cedure)h(en)m
(vironmen)m(t)e(can)h(then)283 3958 y(b)s(e)33 b(rede\014ned)i(as:)527
4161 y(up)s(d)692 4176 y Fn(P)745 4161 y Fu(\()p Fr(proc)e
Fs(p)39 b Fr(is)33 b Fs(S)12 b Fu(;)32 b Fs(D)1453 4176
y Fc(P)1512 4161 y Fu(,)h Fs(env)1728 4176 y Fc(P)1785
4161 y Fu(\))g(=)f(up)s(d)2129 4176 y Fn(P)2182 4161
y Fu(\()p Fs(D)2303 4176 y Fc(P)2361 4161 y Fu(,)h Fs(env)2577
4176 y Fc(P)2635 4161 y Fu([)p Fs(p)6 b Ft(7!)o Fu(\()p
Fs(S)12 b Fu(,)33 b Fs(env)3138 4176 y Fc(P)3196 4161
y Fu(\)]\))527 4328 y(up)s(d)692 4343 y Fn(P)745 4328
y Fu(\()p Fo(")o Fu(,)g Fs(env)1044 4343 y Fc(P)1102
4328 y Fu(\))f(=)h Fs(env)1437 4343 y Fc(P)430 4531 y
Fu(The)28 b(seman)m(tics)f(of)g(v)-5 b(ariable)25 b(declarations)h(are)
i(una\013ected)g(and)f(so)h(is)e(the)i(seman)m(tics)f(of)283
4652 y(most)f(of)f(the)h(statemen)m(ts.)42 b(Compared)26
b(with)g(T)-8 b(able)25 b(2.5)g(w)m(e)i(shall)e(only)g(need)i(to)e(mo)s
(dify)f(the)283 4772 y(rules)36 b(for)g(pro)s(cedure)g(calls.)52
b(In)36 b(the)h(case)f(where)h(the)g(pro)s(cedures)g(of)e
Fw(Pro)s(c)g Fu(are)h(assumed)283 4893 y(to)42 b(b)s(e)h
Fs(non-r)-5 b(e)g(cursive)48 b Fu(w)m(e)c(simply)d(consult)h(the)g(pro)
s(cedure)i(en)m(vironmen)m(t)e(to)g(determine)283 5013
y(the)35 b(b)s(o)s(dy)f(of)g(the)g(pro)s(cedure)h(and)f(the)h(en)m
(vironmen)m(t)f(at)g(the)g(p)s(oin)m(t)g(of)f(declaration.)47
b(This)283 5133 y(is)35 b(expressed)j(b)m(y)e(the)g(rule)e([call)1505
5148 y Fn(ns)1575 5133 y Fu(])h(of)g(T)-8 b(able)35 b(2.6.)51
b(In)35 b(the)h(case)g(where)g(the)g(pro)s(cedures)g(of)283
5254 y Fw(Pro)s(c)25 b Fu(are)h(assumed)g(to)f(b)s(e)h
Fs(r)-5 b(e)g(cursive)32 b Fu(w)m(e)27 b(ha)m(v)m(e)g(to)e(mak)m(e)g
(sure)i(that)e(o)s(ccurrences)i(of)e Fr(call)34 b Fs(p)283
5374 y Fu(inside)j(the)h(b)s(o)s(dy)f(of)g Fs(p)43 b
Fu(refer)37 b(to)g(the)h(pro)s(cedure)g(itself.)56 b(W)-8
b(e)37 b(shall)f(therefore)i(up)s(date)f(the)283 5494
y(pro)s(cedure)c(en)m(vironmen)m(t)g(to)e(con)m(tain)h(that)g
(information.)40 b(This)32 b(is)f(expressed)k(b)m(y)e(the)f(rule)p
eop
%%Page: 57 67
57 66 bop 0 130 a Fw(2.5)112 b(Blo)s(c)m(ks)37 b(and)h(pro)s(cedures)
1998 b(57)p 0 193 3473 4 v 0 515 a Fu([call)175 479 y
Fn(rec)175 540 y(ns)268 515 y Fu(])28 b(of)f(T)-8 b(able)27
b(2.6.)42 b(The)28 b(remaining)d(axioms)i(and)h(rules)f(are)h(as)g(in)f
(T)-8 b(ables)28 b(2.5)f(\(without)0 636 y([call)175
600 y Fn(rec)175 660 y(ns)268 636 y Fu(]\))32 b(and)h(2.4.)43
b(\(Clearly)32 b(a)g(c)m(hoice)h(should)f(b)s(e)h(made)f(b)s(et)m(w)m
(een)j([call)2752 651 y Fn(ns)2822 636 y Fu(])d(or)g([call)3175
600 y Fn(rec)3175 660 y(ns)3268 636 y Fu(].\))0 880 y
Fw(Exercise)k(2.40)49 b Fu(Construct)36 b(a)d(statemen)m(t)i(that)f
(illustrates)e(the)j(di\013erence)g(b)s(et)m(w)m(een)h(the)0
1000 y(t)m(w)m(o)26 b(rules)g(for)f(pro)s(cedure)h(call)e(giv)m(en)i
(in)f(T)-8 b(able)25 b(2.6.)41 b(V)-8 b(alidate)23 b(y)m(our)k(claim)c
(b)m(y)j(constructing)0 1121 y(deriv)-5 b(ation)31 b(trees)j(for)e(the)
h(executions)g(of)f(the)h(statemen)m(t)g(from)f(a)g(suitable)g(state.)
274 b Fh(2)0 1363 y Fw(Exercise)36 b(2.41)49 b Fu(Use)43
b(the)f(seman)m(tics)g(to)g(v)m(erify)g(that)f(the)h(statemen)m(t)h(of)
e(Exercise)i(2.39)0 1483 y(assigns)33 b(the)g(exp)s(ected)h(v)-5
b(alue)32 b(to)g Fr(y)p Fu(.)2048 b Fh(2)0 1755 y Fw(Static)36
b(scop)s(e)i(rules)f(for)g(v)-6 b(ariables)0 1943 y Fu(W)e(e)34
b(shall)e(no)m(w)i(mo)s(dify)e(the)i(seman)m(tics)f(of)h
Fw(Pro)s(c)e Fu(to)h(sp)s(ecify)h(static)f(scop)s(e)i(rules)e(for)g(v)
-5 b(ari-)0 2064 y(ables)37 b(as)g(w)m(ell)f(as)h(pro)s(cedures.)57
b(T)-8 b(o)37 b(ac)m(hiev)m(e)h(this)e(w)m(e)i(shall)e(replace)g(the)i
(states)f(with)g(t)m(w)m(o)0 2184 y(mappings:)h(a)23
b Fs(variable)j(envir)-5 b(onment)32 b Fu(that)24 b(asso)s(ciates)g(a)f
Fs(lo)-5 b(c)g(ation)30 b Fu(with)24 b(eac)m(h)g(v)-5
b(ariable)22 b(and)0 2305 y(a)35 b Fs(stor)-5 b(e)42
b Fu(that)34 b(asso)s(ciates)h(a)g(v)-5 b(alue)34 b(with)h(eac)m(h)g
(lo)s(cation.)48 b(F)-8 b(ormally)g(,)33 b(w)m(e)j(de\014ne)g(a)e(v)-5
b(ariable)0 2425 y(en)m(vironmen)m(t)33 b Fs(env)717
2440 y Fc(V)810 2425 y Fu(as)f(an)h(elemen)m(t)f(of)244
2638 y Fw(En)m(v)436 2653 y Fn(V)526 2638 y Fu(=)h Fw(V)-9
b(ar)32 b Ft(!)g Fw(Lo)s(c)0 2851 y Fu(where)h Fw(Lo)s(c)f
Fu(is)f(a)g(set)i(of)e(lo)s(cations.)41 b(F)-8 b(or)31
b(the)h(sak)m(e)h(of)e(simplicit)m(y)e(w)m(e)k(shall)d(tak)m(e)j
Fw(Lo)s(c)e Fu(=)h Fw(Z)p Fu(.)0 2972 y(A)h(store)g Fs(sto)38
b Fu(is)32 b(an)h(elemen)m(t)f(of)244 3185 y Fw(Store)g
Fu(=)h Fw(Lo)s(c)f Ft([)h(f)g Fu(next)g Ft(g)f(!)h Fw(Z)0
3398 y Fu(where)i(`next')g(is)e(a)h(sp)s(ecial)f(tok)m(en)h(used)h(to)f
(hold)f(the)h(next)h(free)f(lo)s(cation.)45 b(W)-8 b(e)34
b(shall)e(need)0 3519 y(a)g(function)244 3732 y(new:)44
b Fw(Lo)s(c)33 b Ft(!)f Fw(Lo)s(c)0 3945 y Fu(that)37
b(giv)m(en)h(a)g(lo)s(cation)d(will)g(pro)s(duce)k(the)f(next)g(one.)59
b(In)38 b(our)g(case)g(where)h Fw(Lo)s(c)f Fu(is)f Fw(Z)h
Fu(w)m(e)0 4065 y(tak)m(e)33 b(`new')h(to)e(b)s(e)h(the)g(successor)i
(function)d(on)h(the)g(in)m(tegers.)146 4188 y(So)44
b(rather)f(than)h(ha)m(ving)f(a)g(single)f(mapping)g
Fs(s)52 b Fu(from)42 b(v)-5 b(ariables)42 b(to)h(v)-5
b(alues)44 b(w)m(e)g(ha)m(v)m(e)0 4308 y(split)33 b(it)g(in)m(to)h(t)m
(w)m(o)h(mappings)e Fs(env)1301 4323 y Fc(V)1395 4308
y Fu(and)i Fs(sto)40 b Fu(and)35 b(the)f(idea)g(is)g(that)g
Fs(s)42 b Fu(=)34 b Fs(sto)41 b Ft(\016)34 b Fs(env)3226
4323 y Fc(V)3286 4308 y Fu(.)48 b(T)-8 b(o)0 4428 y(determine)32
b(the)h(v)-5 b(alue)32 b(of)g(a)h(v)-5 b(ariable)30 b
Fs(x)45 b Fu(w)m(e)33 b(shall)f(\014rst)145 4642 y Ft(\017)49
b Fu(determine)32 b(the)h(lo)s(cation)d Fs(l)43 b Fu(=)32
b Fs(env)1570 4657 y Fc(V)1663 4642 y Fs(x)44 b Fu(asso)s(ciated)33
b(with)f Fs(x)44 b Fu(and)33 b(then)145 4855 y Ft(\017)49
b Fu(determine)32 b(the)h(v)-5 b(alue)32 b Fs(sto)39
b(l)k Fu(asso)s(ciated)32 b(with)g(the)h(lo)s(cation)d
Fs(l)10 b Fu(.)0 5068 y(Similarly)-8 b(,)29 b(to)j(assign)g(a)g(v)-5
b(alue)32 b Fs(v)43 b Fu(to)33 b(a)f(v)-5 b(ariable)31
b Fs(x)44 b Fu(w)m(e)34 b(shall)d(\014rst)145 5281 y
Ft(\017)49 b Fu(determine)32 b(the)h(lo)s(cation)d Fs(l)43
b Fu(=)32 b Fs(env)1570 5296 y Fc(V)1663 5281 y Fs(x)44
b Fu(asso)s(ciated)33 b(with)f Fs(x)44 b Fu(and)33 b(then)145
5494 y Ft(\017)49 b Fu(up)s(date)33 b(the)g(store)g(to)f(ha)m(v)m(e)i
Fs(sto)39 b(l)j Fu(=)33 b Fs(v)11 b Fu(.)p eop
%%Page: 58 68
58 67 bop 251 130 a Fw(58)2086 b(2)112 b(Op)s(erational)37
b(Seman)m(tics)p 251 193 3473 4 v 283 419 V 283 1119
4 700 v 562 605 a Fu([v)-5 b(ar)722 620 y Fn(ns)793 605
y Fu(])1195 519 y Ft(h)p Fs(D)1317 534 y Fc(V)1378 519
y Fu(,)32 b Fs(env)1593 534 y Fc(V)1653 519 y Fu([)p
Fs(x)12 b Ft(7!)p Fs(l)e Fu(],)33 b Fs(sto)6 b Fu([)p
Fs(l)k Ft(7!)p Fs(v)h Fu(][next)p Ft(7!)p Fu(new)34 b
Fs(l)10 b Fu(])p Ft(i)33 b(!)3079 534 y Fc(D)3176 519
y Fu(\()p Fs(env)3370 483 y Fi(0)3370 543 y Fc(V)3430
519 y Fu(,)f Fs(sto)3617 483 y Fi(0)3641 519 y Fu(\))p
1195 582 2484 4 v 1465 687 a Ft(h)o Fr(var)i Fs(x)44
b Fu(:=)32 b Fs(a)7 b Fu(;)33 b Fs(D)2114 702 y Fc(V)2175
687 y Fu(,)g Fs(env)2391 702 y Fc(V)2451 687 y Fu(,)g
Fs(sto)6 b Ft(i)32 b(!)2810 702 y Fc(D)2906 687 y Fu(\()p
Fs(env)3100 650 y Fi(0)3100 711 y Fc(V)3160 687 y Fu(,)h
Fs(sto)3348 650 y Fi(0)3371 687 y Fu(\))1454 843 y(where)h
Fs(v)43 b Fu(=)32 b Ft(A)p Fu([)-17 b([)p Fs(a)7 b Fu(])-17
b(])q(\()p Fs(sto)6 b Ft(\016)p Fs(env)2516 858 y Fc(V)2576
843 y Fu(\))33 b(and)f Fs(l)43 b Fu(=)32 b Fs(sto)39
b Fu(next)562 1058 y([none)789 1073 y Fn(ns)861 1058
y Fu(])297 b Ft(h)p Fo(")p Fu(,)32 b Fs(env)1485 1073
y Fc(V)1545 1058 y Fu(,)h Fs(sto)6 b Ft(i)32 b(!)1904
1073 y Fc(D)2000 1058 y Fu(\()p Fs(env)2194 1073 y Fc(V)2254
1058 y Fu(,)h Fs(sto)6 b Fu(\))p 3753 1119 4 700 v 283
1122 3473 4 v 542 1283 a(T)-8 b(able)32 b(2.7:)43 b(Natural)31
b(seman)m(tics)i(for)f(v)-5 b(ariable)31 b(declarations)g(using)i(lo)s
(cations)430 1570 y(The)44 b(initial)39 b(v)-5 b(ariable)41
b(en)m(vironmen)m(t)j(could)e(for)g(example)h(map)f(all)f(v)-5
b(ariables)42 b(to)g(the)283 1690 y(lo)s(cation)35 b
Fw(0)i Fu(and)h(the)f(initial)d(store)j(could)g(for)f(example)h(map)f
(`next')j(to)d Fw(1)p Fu(.)58 b(The)38 b(v)-5 b(ariable)283
1810 y(en)m(vironmen)m(t)23 b(\(and)g(the)g(store\))g(is)f(up)s(dated)h
(b)m(y)g(the)g(v)-5 b(ariable)21 b(declarations.)39 b(The)23
b(transition)283 1931 y(system)34 b(for)e(v)-5 b(ariable)31
b(declarations)g(is)h(therefore)i(mo)s(di\014ed)d(to)h(ha)m(v)m(e)i
(the)f(form)527 2139 y Ft(h)p Fs(D)649 2154 y Fc(V)710
2139 y Fu(,)g Fs(env)926 2154 y Fc(V)986 2139 y Fu(,)f
Fs(sto)6 b Ft(i)33 b(!)1344 2154 y Fc(D)1441 2139 y Fu(\()p
Fs(env)1635 2102 y Fi(0)1635 2163 y Fc(V)1695 2139 y
Fu(,)g Fs(sto)1883 2102 y Fi(0)1906 2139 y Fu(\))283
2346 y(b)s(ecause)g(a)d(v)-5 b(ariable)30 b(declaration)f(will)g(mo)s
(dify)g(the)i(v)-5 b(ariable)30 b(en)m(vironmen)m(t)h(as)g(w)m(ell)f
(as)h(the)283 2467 y(store.)42 b(The)25 b(relation)e(is)h(de\014ned)i
(in)e(T)-8 b(able)24 b(2.7.)40 b(Note)25 b(that)g(w)m(e)g(use)h(`)p
Fs(sto)k Fu(next')c(to)e(determine)283 2587 y(the)33
b(lo)s(cation)d Fs(l)43 b Fu(to)32 b(b)s(e)g(asso)s(ciated)g(with)g
Fs(x)44 b Fu(in)32 b(the)h(v)-5 b(ariable)30 b(en)m(vironmen)m(t.)44
b(Also)32 b(the)g(store)283 2708 y(is)j(up)s(dated)h(to)f(hold)g(the)g
(correct)h(v)-5 b(alue)35 b(for)g Fs(l)45 b Fu(as)36
b(w)m(ell)f(as)g(`next'.)53 b(Finally)33 b(note)i(that)g(the)283
2828 y(declared)e(v)-5 b(ariables)32 b(will)e(get)i(p)s(ositiv)m(e)g
(lo)s(cations.)430 2949 y(T)-8 b(o)37 b(obtain)g(static)g(scoping)h
(for)f(v)-5 b(ariables)36 b(w)m(e)j(shall)d(extend)j(the)f(pro)s
(cedure)h(en)m(viron-)283 3070 y(men)m(t)28 b(to)f(hold)g(the)h(v)-5
b(ariable)26 b(en)m(vironmen)m(t)i(at)g(the)g(p)s(oin)m(t)f(of)g
(declaration.)40 b(Therefore)29 b Fs(env)3698 3085 y
Fc(P)283 3190 y Fu(will)i(no)m(w)i(b)s(e)g(an)f(elemen)m(t)h(of)527
3398 y Fw(En)m(v)719 3413 y Fn(P)804 3398 y Fu(=)f Fw(Pname)h
Fo(,)-17 b Ft(!)32 b Fw(Stm)g Ft(\002)h Fw(En)m(v)1959
3413 y Fn(V)2049 3398 y Ft(\002)g Fw(En)m(v)2351 3413
y Fn(P)283 3606 y Fu(The)41 b(pro)s(cedure)g(en)m(vironmen)m(t)f(is)g
(up)s(dated)g(b)m(y)h(the)f(pro)s(cedure)h(declarations)e(as)h(b)s
(efore,)283 3726 y(the)d(only)e(di\013erence)i(b)s(eing)e(that)h(the)g
(curren)m(t)h(v)-5 b(ariable)34 b(en)m(vironmen)m(t)j(is)e(supplied)h
(as)g(an)283 3846 y(additional)30 b(parameter.)43 b(The)34
b(function)e(up)s(d)1996 3861 y Fn(P)2081 3846 y Fu(is)g(no)m(w)h
(de\014ned)h(b)m(y:)527 4054 y(up)s(d)692 4069 y Fn(P)745
4054 y Fu(\()p Fr(proc)f Fs(p)39 b Fr(is)33 b Fs(S)12
b Fu(;)32 b Fs(D)1453 4069 y Fc(P)1512 4054 y Fu(,)h
Fs(env)1728 4069 y Fc(V)1788 4054 y Fu(,)f Fs(env)2003
4069 y Fc(P)2061 4054 y Fu(\))h(=)764 4222 y(up)s(d)929
4237 y Fn(P)981 4222 y Fu(\()p Fs(D)1102 4237 y Fc(P)1161
4222 y Fu(,)f Fs(env)1376 4237 y Fc(V)1436 4222 y Fu(,)h
Fs(env)1652 4237 y Fc(P)1710 4222 y Fu([)p Fs(p)6 b Ft(7!)o
Fu(\()p Fs(S)12 b Fu(,)33 b Fs(env)2213 4237 y Fc(V)2273
4222 y Fu(,)g Fs(env)2489 4237 y Fc(P)2546 4222 y Fu(\)]\))527
4389 y(up)s(d)692 4404 y Fn(P)745 4389 y Fu(\()p Fo(")o
Fu(,)g Fs(env)1044 4404 y Fc(V)1104 4389 y Fu(,)g Fs(env)1320
4404 y Fc(P)1378 4389 y Fu(\))f(=)g Fs(env)1712 4404
y Fc(P)430 4597 y Fu(Finally)-8 b(,)30 b(the)j(transition)e(system)i
(for)f(statemen)m(ts)i(will)c(ha)m(v)m(e)k(the)f(form:)527
4805 y Fs(env)683 4820 y Fc(V)743 4805 y Fu(,)g Fs(env)959
4820 y Fc(P)1049 4805 y Ft(`)g(h)p Fs(S)12 b Fu(,)32
b Fs(sto)6 b Ft(i)32 b(!)h Fs(sto)1768 4769 y Fi(0)283
5013 y Fu(so)26 b(giv)m(en)g(a)g(v)-5 b(ariable)24 b(en)m(vironmen)m(t)
i(and)g(a)g(pro)s(cedure)g(en)m(vironmen)m(t)h(w)m(e)f(get)g(a)g
(relationship)283 5133 y(b)s(et)m(w)m(een)37 b(an)d(initial)c(store)k
(and)h(a)e(\014nal)h(store.)48 b(The)35 b(mo)s(di\014cation)d(of)h(T)-8
b(ables)34 b(2.5)g(and)g(2.6)283 5254 y(is)h(rather)f(straigh)m(tforw)m
(ard)g(and)h(is)f(giv)m(en)h(in)f(T)-8 b(able)34 b(2.8.)50
b(Note)34 b(that)h(in)f(the)h(new)g(rule)f(for)283 5374
y(blo)s(c)m(ks)d(there)g(is)f(no)g(analogue)g(of)g Fs(s)1615
5338 y Fi(00)1657 5374 y Fu([D)m(V\()p Fs(D)1950 5389
y Fc(V)2011 5374 y Fu(\))p Ft(7\000)-16 b(!)o Fs(s)8
b Fu(])31 b(as)g(the)f(v)-5 b(alues)31 b(of)f(v)-5 b(ariables)29
b(only)h(can)283 5494 y(b)s(e)j(obtained)f(b)m(y)i(accessing)f(the)g
(en)m(vironmen)m(t.)p eop
%%Page: 59 69
59 68 bop 0 130 a Fw(2.5)112 b(Blo)s(c)m(ks)37 b(and)h(pro)s(cedures)
1998 b(59)p 0 193 3473 4 v 0 510 V 0 5220 4 4710 v 193
620 a Fu([ass)345 635 y Fn(ns)417 620 y Fu(])254 b Fs(env)854
635 y Fc(V)914 620 y Fu(,)32 b Fs(env)1129 635 y Fc(P)1220
620 y Ft(`)g(h)p Fs(x)44 b Fu(:=)33 b Fs(a)7 b Fu(,)33
b Fs(sto)6 b Ft(i)32 b(!)g Fs(sto)6 b Fu([)p Fs(l)k Ft(7!)p
Fs(v)h Fu(])934 787 y(where)34 b Fs(l)43 b Fu(=)32 b
Fs(env)1548 802 y Fc(V)1641 787 y Fs(x)44 b Fu(and)33
b Fs(v)43 b Fu(=)32 b Ft(A)p Fu([)-17 b([)p Fs(a)7 b
Fu(])-17 b(])q(\()p Fs(sto)6 b Ft(\016)p Fs(env)2700
802 y Fc(V)2760 787 y Fu(\))193 1002 y([skip)391 1017
y Fn(ns)462 1002 y Fu(])209 b Fs(env)854 1017 y Fc(V)914
1002 y Fu(,)32 b Fs(env)1129 1017 y Fc(P)1220 1002 y
Ft(`)g(h)p Fr(skip)p Fu(,)i Fs(sto)6 b Ft(i)32 b(!)g
Fs(sto)193 1294 y Fu([comp)448 1309 y Fn(ns)519 1294
y Fu(])708 1207 y Fs(env)864 1222 y Fc(V)924 1207 y Fu(,)g
Fs(env)1139 1222 y Fc(P)1230 1207 y Ft(`)g(h)p Fs(S)1429
1222 y Fn(1)1468 1207 y Fu(,)h Fs(sto)6 b Ft(i)32 b(!)g
Fs(sto)1987 1171 y Fi(0)2011 1207 y Fu(,)65 b Fs(env)2259
1222 y Fc(V)2319 1207 y Fu(,)33 b Fs(env)2535 1222 y
Fc(P)2625 1207 y Ft(`)f(h)p Fs(S)2824 1222 y Fn(2)2864
1207 y Fu(,)g Fs(sto)3051 1171 y Fi(0)3075 1207 y Ft(i)g(!)g
Fs(sto)3406 1171 y Fi(00)p 708 1270 2741 4 v 1350 1375
a Fs(env)1506 1390 y Fc(V)1566 1375 y Fu(,)h Fs(env)1782
1390 y Fc(P)1872 1375 y Ft(`)g(h)p Fs(S)2072 1390 y Fn(1)2111
1375 y Fu(;)p Fs(S)2205 1390 y Fn(2)2244 1375 y Fu(,)g
Fs(sto)6 b Ft(i)32 b(!)g Fs(sto)2763 1339 y Fi(00)193
1656 y Fu([if)278 1620 y Fn(tt)278 1680 y(ns)348 1656
y Fu(])1124 1569 y Fs(env)1280 1584 y Fc(V)1340 1569
y Fu(,)h Fs(env)1556 1584 y Fc(P)1646 1569 y Ft(`)f(h)p
Fs(S)1845 1584 y Fn(1)1884 1569 y Fu(,)h Fs(sto)6 b Ft(i)32
b(!)h Fs(sto)2404 1533 y Fi(0)p 708 1633 2136 4 v 708
1737 a Fs(env)864 1752 y Fc(V)924 1737 y Fu(,)f Fs(env)1139
1752 y Fc(P)1230 1737 y Ft(`)g(h)p Fr(if)h Fs(b)38 b
Fr(then)c Fs(S)1885 1752 y Fn(1)1957 1737 y Fr(else)f
Fs(S)2261 1752 y Fn(2)2301 1737 y Fu(,)f Fs(sto)6 b Ft(i)33
b(!)f Fs(sto)2820 1701 y Fi(0)934 1894 y Fu(if)f Ft(B)t
Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])q(\()p Fs(sto)6
b Ft(\016)p Fs(env)1590 1909 y Fc(V)1650 1894 y Fu(\))32
b(=)h Fw(tt)193 2185 y Fu([if)278 2149 y Fn(\013)278
2210 y(ns)348 2185 y Fu(])1124 2099 y Fs(env)1280 2114
y Fc(V)1340 2099 y Fu(,)g Fs(env)1556 2114 y Fc(P)1646
2099 y Ft(`)f(h)p Fs(S)1845 2114 y Fn(2)1884 2099 y Fu(,)h
Fs(sto)6 b Ft(i)32 b(!)h Fs(sto)2404 2063 y Fi(0)p 708
2162 V 708 2267 a Fs(env)864 2282 y Fc(V)924 2267 y Fu(,)f
Fs(env)1139 2282 y Fc(P)1230 2267 y Ft(`)g(h)p Fr(if)h
Fs(b)38 b Fr(then)c Fs(S)1885 2282 y Fn(1)1957 2267 y
Fr(else)f Fs(S)2261 2282 y Fn(2)2301 2267 y Fu(,)f Fs(sto)6
b Ft(i)33 b(!)f Fs(sto)2820 2231 y Fi(0)934 2423 y Fu(if)f
Ft(B)t Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])q(\()p Fs(sto)6
b Ft(\016)p Fs(env)1590 2438 y Fc(V)1650 2423 y Fu(\))32
b(=)h Fw(\013)193 2832 y Fu([while)443 2796 y Fn(tt)443
2857 y(ns)513 2832 y Fu(])969 2637 y Fs(env)1125 2652
y Fc(V)1185 2637 y Fu(,)g Fs(env)1401 2652 y Fc(P)1491
2637 y Ft(`)g(h)o Fs(S)12 b Fu(,)33 b Fs(sto)6 b Ft(i)32
b(!)g Fs(sto)2209 2601 y Fi(0)2233 2637 y Fu(,)708 2746
y Fs(env)864 2761 y Fc(V)924 2746 y Fu(,)g Fs(env)1139
2761 y Fc(P)1230 2746 y Ft(`)g(h)p Fr(while)i Fs(b)k
Fr(do)33 b Fs(S)12 b Fu(,)33 b Fs(sto)2124 2710 y Fi(0)2147
2746 y Ft(i)f(!)h Fs(sto)2479 2710 y Fi(00)p 708 2809
1814 4 v 719 2914 a Fs(env)875 2929 y Fc(V)935 2914 y
Fu(,)g Fs(env)1151 2929 y Fc(P)1241 2914 y Ft(`)g(h)p
Fr(while)g Fs(b)39 b Fr(do)33 b Fs(S)12 b Fu(,)32 b Fs(sto)6
b Ft(i)33 b(!)f Fs(sto)2467 2878 y Fi(00)934 3070 y Fu(if)f
Ft(B)t Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])q(\()p Fs(sto)6
b Ft(\016)p Fs(env)1590 3085 y Fc(V)1650 3070 y Fu(\))32
b(=)h Fw(tt)193 3285 y Fu([while)443 3249 y Fn(\013)443
3310 y(ns)513 3285 y Fu(])158 b Fs(env)854 3300 y Fc(V)914
3285 y Fu(,)32 b Fs(env)1129 3300 y Fc(P)1220 3285 y
Ft(`)g(h)p Fr(while)i Fs(b)k Fr(do)33 b Fs(S)12 b Fu(,)33
b Fs(sto)6 b Ft(i)32 b(!)g Fs(sto)934 3453 y Fu(if)f
Ft(B)t Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])q(\()p Fs(sto)6
b Ft(\016)p Fs(env)1590 3468 y Fc(V)1650 3453 y Fu(\))32
b(=)h Fw(\013)193 3862 y Fu([blo)s(c)m(k)445 3877 y Fn(ns)516
3862 y Fu(])1040 3666 y Ft(h)p Fs(D)1162 3681 y Fc(V)1223
3666 y Fu(,)f Fs(env)1438 3681 y Fc(V)1499 3666 y Fu(,)g
Fs(sto)6 b Ft(i)33 b(!)1857 3681 y Fc(D)1954 3666 y Fu(\()p
Fs(env)2148 3630 y Fi(0)2148 3691 y Fc(V)2208 3666 y
Fu(,)f Fs(sto)2395 3630 y Fi(0)2419 3666 y Fu(\),)1109
3775 y Fs(env)1265 3739 y Fi(0)1265 3800 y Fc(V)1325
3775 y Fu(,)h Fs(env)1541 3739 y Fi(0)1541 3800 y Fc(P)1631
3775 y Ft(`)f(h)p Fs(S)12 b Fu(,)33 b Fs(sto)2018 3739
y Fi(0)2041 3775 y Ft(i)f(!)h Fs(sto)2373 3739 y Fi(00)p
708 3838 2109 4 v 708 3943 a Fs(env)864 3958 y Fc(V)924
3943 y Fu(,)f Fs(env)1139 3958 y Fc(P)1230 3943 y Ft(`)g(h)p
Fr(begin)i Fs(D)1734 3958 y Fc(V)1827 3943 y Fs(D)1910
3958 y Fc(P)2001 3943 y Fs(S)45 b Fr(end)p Fu(,)33 b
Fs(sto)6 b Ft(i)33 b(!)f Fs(sto)2774 3907 y Fi(00)934
4100 y Fu(where)i Fs(env)1372 4063 y Fi(0)1372 4124 y
Fc(P)1462 4100 y Fu(=)f(up)s(d)1736 4115 y Fn(P)1788
4100 y Fu(\()p Fs(D)1909 4115 y Fc(P)1968 4100 y Fu(,)f
Fs(env)2183 4063 y Fi(0)2183 4124 y Fc(V)2243 4100 y
Fu(,)h Fs(env)2459 4115 y Fc(P)2517 4100 y Fu(\))193
4391 y([call)368 4406 y Fn(ns)437 4391 y Fu(])821 4305
y Fs(env)977 4269 y Fi(0)977 4330 y Fc(V)1037 4305 y
Fu(,)g Fs(env)1253 4269 y Fi(0)1253 4330 y Fc(P)1343
4305 y Ft(`)g(h)o Fs(S)12 b Fu(,)33 b Fs(sto)6 b Ft(i)32
b(!)g Fs(sto)2061 4269 y Fi(0)p 708 4368 1491 4 v 708
4473 a Fs(env)864 4488 y Fc(V)924 4473 y Fu(,)g Fs(env)1139
4488 y Fc(P)1230 4473 y Ft(`)g(h)p Fr(call)i Fs(p)6 b
Fu(,)32 b Fs(sto)6 b Ft(i)32 b(!)h Fs(sto)2175 4437 y
Fi(0)934 4629 y Fu(where)h Fs(env)1372 4644 y Fc(P)1462
4629 y Fs(p)39 b Fu(=)32 b(\()p Fs(S)12 b Fu(,)32 b Fs(env)1979
4593 y Fi(0)1979 4654 y Fc(V)2039 4629 y Fu(,)h Fs(env)2255
4593 y Fi(0)2255 4654 y Fc(P)2313 4629 y Fu(\))193 4921
y([call)368 4885 y Fn(rec)368 4946 y(ns)461 4921 y Fu(])708
4835 y Fs(env)864 4798 y Fi(0)864 4859 y Fc(V)924 4835
y Fu(,)f Fs(env)1139 4798 y Fi(0)1139 4859 y Fc(P)1197
4835 y Fu([)p Fs(p)6 b Ft(7!)p Fu(\()p Fs(S)12 b Fu(,)32
b Fs(env)1700 4798 y Fi(0)1700 4859 y Fc(V)1760 4835
y Fu(,)h Fs(env)1976 4798 y Fi(0)1976 4859 y Fc(P)2034
4835 y Fu(\)])f Ft(`)h(h)p Fs(S)12 b Fu(,)32 b Fs(sto)6
b Ft(i)32 b(!)h Fs(sto)2850 4798 y Fi(0)p 708 4898 2166
4 v 1045 5003 a Fs(env)1201 5018 y Fc(V)1261 5003 y Fu(,)g
Fs(env)1477 5018 y Fc(P)1567 5003 y Ft(`)g(h)o Fr(call)h
Fs(p)6 b Fu(,)33 b Fs(sto)6 b Ft(i)32 b(!)g Fs(sto)2512
4966 y Fi(0)934 5159 y Fu(where)i Fs(env)1372 5174 y
Fc(P)1462 5159 y Fs(p)39 b Fu(=)32 b(\()p Fs(S)12 b Fu(,)32
b Fs(env)1979 5123 y Fi(0)1979 5184 y Fc(V)2039 5159
y Fu(,)h Fs(env)2255 5123 y Fi(0)2255 5184 y Fc(P)2313
5159 y Fu(\))p 3469 5220 4 4710 v 0 5223 3473 4 v 420
5384 a(T)-8 b(able)32 b(2.8:)44 b(Natural)31 b(seman)m(tics)i(for)f
Fw(Pro)s(c)g Fu(with)g(static)g(scop)s(e)h(rules)p eop
%%Page: 60 70
60 69 bop 251 130 a Fw(60)2086 b(2)112 b(Op)s(erational)37
b(Seman)m(tics)p 251 193 3473 4 v 283 515 a(Exercise)g(2.42)49
b Fu(Apply)23 b(the)h(natural)f(seman)m(tics)h(of)f(T)-8
b(able)23 b(2.8)g(to)g(the)h(factorial)d(statemen)m(t)283
636 y(of)33 b(Exercise)h(2.38)d(and)i(a)f(store)h(where)h(the)f(lo)s
(cation)d(for)i Fr(x)h Fu(has)g(the)g(v)-5 b(alue)32
b Fw(3)p Fu(.)456 b Fh(2)283 830 y Fw(Exercise)37 b(2.43)49
b Fu(V)-8 b(erify)24 b(that)h(the)g(seman)m(tics)g(applied)e(to)i(the)g
(statemen)m(t)g(of)f(Exercise)i(2.39)283 950 y(giv)m(es)33
b(the)g(exp)s(ected)i(result.)2318 b Fh(2)283 1144 y
Fw(Exercise)37 b(2.44)49 b Fu(*)38 b(An)h(alternativ)m(e)g(seman)m
(tics)g(of)f(the)h(language)f Fw(While)f Fu(is)i(de\014ned)h(b)m(y)283
1264 y(the)30 b(axioms)e(and)h(rules)g([ass)1341 1279
y Fn(ns)1413 1264 y Fu(],)h([skip)1695 1279 y Fn(ns)1766
1264 y Fu(],)g([comp)2105 1279 y Fn(ns)2176 1264 y Fu(],)g([if)2345
1228 y Fn(tt)2345 1289 y(ns)2415 1264 y Fu(],)g([if)2584
1228 y Fn(\013)2584 1289 y(ns)2654 1264 y Fu(],)g([while)2988
1228 y Fn(tt)2988 1289 y(ns)3059 1264 y Fu(])f(and)g([while)3551
1228 y Fn(\013)3551 1289 y(ns)3621 1264 y Fu(])g(of)283
1384 y(T)-8 b(able)35 b(2.8.)50 b(F)-8 b(orm)m(ulate)33
b(and)i(pro)m(v)m(e)i(the)e(equiv)-5 b(alence)35 b(b)s(et)m(w)m(een)i
(this)e(seman)m(tics)g(and)g(that)283 1505 y(of)e(T)-8
b(able)32 b(2.1.)2866 b Fh(2)283 1699 y Fw(Exercise)37
b(2.45)49 b Fu(Mo)s(dify)40 b(the)i(syn)m(tax)h(of)e(pro)s(cedure)h
(declarations)e(so)h(that)g(pro)s(cedures)283 1819 y(tak)m(e)34
b(t)m(w)m(o)f Fs(c)-5 b(al)5 b(l-by-value)39 b Fu(parameters:)527
1996 y Fs(D)610 2011 y Fc(P)702 1996 y Fu(::=)32 b Fr(proc)i
Fs(p)6 b Fu(\()p Fs(x)1253 2011 y Fn(1)1292 1996 y Fu(,)p
Fs(x)1376 2011 y Fn(2)1415 1996 y Fu(\))33 b Fr(is)g
Fs(S)12 b Fu(;)32 b Fs(D)1830 2011 y Fc(P)1921 1996 y
Ft(j)g Fo(")527 2164 y Fs(S)45 b Fu(::=)32 b Ft(\001)17
b(\001)g(\001)31 b(j)h Fr(call)i Fs(p)6 b Fu(\()p Fs(a)1387
2179 y Fn(1)1426 2164 y Fu(,)p Fs(a)1510 2179 y Fn(2)1550
2164 y Fu(\))283 2342 y(Pro)s(cedure)34 b(en)m(vironmen)m(ts)g(will)c
(no)m(w)j(b)s(e)g(elemen)m(ts)g(of)527 2519 y Fw(En)m(v)719
2534 y Fn(P)804 2519 y Fu(=)f Fw(Pname)h Fo(,)-17 b Ft(!)32
b Fw(V)-9 b(ar)32 b Ft(\002)h Fw(V)-9 b(ar)32 b Ft(\002)h
Fw(Stm)f Ft(\002)h Fw(En)m(v)2595 2534 y Fn(V)2686 2519
y Ft(\002)g Fw(En)m(v)2988 2534 y Fn(P)283 2697 y Fu(Mo)s(dify)g(the)h
(seman)m(tics)g(giv)m(en)g(ab)s(o)m(v)m(e)g(to)g(handle)f(this)g
(language.)46 b(In)33 b(particular,)g(pro)m(vide)283
2817 y(new)42 b(rules)g(for)e(pro)s(cedure)i(calls:)59
b(one)42 b(for)e(non-recursiv)m(e)j(pro)s(cedures)f(and)f(another)g
(for)283 2937 y(recursiv)m(e)c(pro)s(cedures.)52 b(Construct)37
b(statemen)m(ts)f(that)f(illustrate)e(ho)m(w)i(the)h(new)g(rules)f(are)
283 3058 y(used.)3182 b Fh(2)283 3252 y Fw(Exercise)37
b(2.46)49 b Fu(No)m(w)27 b(consider)g(the)h(language)e
Fw(Pro)s(c)g Fu(and)h(the)g(task)h(of)e(ac)m(hieving)g
Fs(mutual)283 3372 y(r)-5 b(e)g(cursion)p Fu(.)43 b(The)34
b(pro)s(cedure)g(en)m(vironmen)m(t)e(is)h(no)m(w)g(de\014ned)h(to)e(b)s
(e)h(an)f(elemen)m(t)h(of)527 3549 y Fw(En)m(v)719 3564
y Fn(P)804 3549 y Fu(=)f Fw(Pname)h Fo(,)-17 b Ft(!)32
b Fw(Stm)g Ft(\002)h Fw(En)m(v)1959 3564 y Fn(V)2049
3549 y Ft(\002)g Fw(En)m(v)2351 3564 y Fn(P)2436 3549
y Ft(\002)g Fw(Dec)2733 3564 y Fn(P)283 3727 y Fu(The)49
b(idea)e(is)h(that)g(if)e Fs(env)1321 3742 y Fc(P)1427
3727 y Fs(p)54 b Fu(=)47 b(\()p Fs(S)12 b Fu(,)48 b Fs(env)1990
3691 y Fi(0)1990 3752 y Fc(V)2050 3727 y Fu(,)k Fs(env)2285
3691 y Fi(0)2285 3752 y Fc(P)2343 3727 y Fu(,)f Fo(D)2505
3691 y Fc(?)2502 3752 y(P)2561 3727 y Fu(\))d(then)g
Fo(D)2968 3691 y Fc(?)2965 3752 y(P)3072 3727 y Fu(con)m(tains)g(all)d
(the)283 3847 y(pro)s(cedure)34 b(declarations)d(that)i(are)f(made)h
(in)e(the)i(same)g(blo)s(c)m(k)f(as)h Fs(p)6 b Fu(.)43
b(De\014ne)33 b(up)s(d)3409 3811 y Fi(0)3409 3872 y Fc(P)3501
3847 y Fu(b)m(y)527 4025 y(up)s(d)692 3989 y Fi(0)692
4049 y Fc(P)751 4025 y Fu(\()p Fr(proc)h Fs(p)k Fr(is)33
b Fs(S)12 b Fu(;)33 b Fs(D)1460 4040 y Fc(P)1518 4025
y Fu(,)g Fs(env)1734 4040 y Fc(V)1794 4025 y Fu(,)g Fs(env)2010
4040 y Fc(P)2068 4025 y Fu(,)f Fo(D)2211 3989 y Fc(?)2208
4049 y(P)2267 4025 y Fu(\))g(=)796 4192 y(up)s(d)961
4156 y Fi(0)961 4217 y Fc(P)1020 4192 y Fu(\()p Fs(D)1141
4207 y Fc(P)1200 4192 y Fu(,)g Fs(env)1415 4207 y Fc(V)1475
4192 y Fu(,)h Fs(env)1691 4207 y Fc(P)1749 4192 y Fu([)p
Fs(p)6 b Ft(7!)p Fu(\()p Fs(S)12 b Fu(,)32 b Fs(env)2252
4207 y Fc(V)2312 4192 y Fu(,)h Fs(env)2528 4207 y Fc(P)2586
4192 y Fu(,)p Fo(D)2697 4156 y Fc(?)2694 4217 y(P)2752
4192 y Fu(\)],)g Fo(D)2961 4156 y Fc(?)2958 4217 y(P)3017
4192 y Fu(\))527 4360 y(up)s(d)692 4324 y Fi(0)692 4385
y Fc(P)751 4360 y Fu(\()p Fo(")p Fu(,)g Fs(env)1051 4375
y Fc(V)1111 4360 y Fu(,)f Fs(env)1326 4375 y Fc(P)1384
4360 y Fu(,)p Fo(D)1495 4324 y Fc(?)1492 4385 y(P)1551
4360 y Fu(\))g(=)h Fs(env)1886 4375 y Fc(P)283 4538 y
Fu(Next)h(rede\014ne)g(up)s(d)1050 4553 y Fc(P)1141 4538
y Fu(b)m(y)527 4715 y(up)s(d)692 4730 y Fc(P)751 4715
y Fu(\()p Fs(D)872 4730 y Fc(P)931 4715 y Fu(,)f Fs(env)1147
4730 y Fc(V)1207 4715 y Fu(,)f Fs(env)1422 4730 y Fc(P)1480
4715 y Fu(\))h(=)f(up)s(d)1824 4679 y Fi(0)1824 4740
y Fc(P)1883 4715 y Fu(\()p Fs(D)2004 4730 y Fc(P)2063
4715 y Fu(,)g Fs(env)2278 4730 y Fc(V)2338 4715 y Fu(,)h
Fs(env)2554 4730 y Fc(P)2612 4715 y Fu(,)f Fs(D)2754
4730 y Fc(P)2813 4715 y Fu(\))283 4893 y(Mo)s(dify)d(the)i(seman)m
(tics)e(of)g Fw(Pro)s(c)g Fu(so)h(as)g(to)f(obtain)g(m)m(utual)f
(recursion)i(among)e(pro)s(cedures)283 5013 y(de\014ned)33
b(in)e(the)h(same)f(blo)s(c)m(k.)43 b(Illustrate)31 b(ho)m(w)h(the)g
(new)g(rules)f(are)h(used)h(on)e(an)g(in)m(teresting)283
5133 y(statemen)m(t)j(of)e(y)m(our)h(c)m(hoice.)430 5254
y(\(Hin)m(t:)39 b(Con)m(vince)26 b(y)m(ourself,)g(that)f([call)1899
5218 y Fn(rec)1899 5278 y(ns)1992 5254 y Fu(])f(is)g(the)i(only)e(rule)
g(that)g(needs)j(to)d(b)s(e)h(c)m(hanged;)283 5374 y(then)36
b(consider)g(whether)h(or)e(not)g(the)h(function)f(up)s(d)2287
5389 y Fc(P)2381 5374 y Fu(migh)m(t)f(b)s(e)i(useful)f(in)g(the)g(new)i
(de\014-)283 5494 y(nition)31 b(of)h([call)851 5458 y
Fn(rec)851 5519 y(ns)944 5494 y Fu(].\))2645 b Fh(2)p
eop
%%Page: 61 71
61 70 bop 0 130 a Fw(2.5)112 b(Blo)s(c)m(ks)37 b(and)h(pro)s(cedures)
1998 b(61)p 0 193 3473 4 v 0 515 a(Exercise)36 b(2.47)49
b Fu(W)-8 b(e)46 b(shall)e(consider)i(a)f(v)-5 b(arian)m(t)45
b(of)g(the)h(seman)m(tics)f(where)i(w)m(e)g(use)f(the)0
636 y(v)-5 b(ariable)45 b(en)m(vironmen)m(t)i(rather)f(than)h(the)g
(store)g(to)f(hold)g(the)h(next)g(free)g(lo)s(cation.)83
b(So)0 756 y(assume)33 b(that)244 960 y Fw(En)m(v)436
975 y Fn(V)526 960 y Fu(=)g Fw(V)-9 b(ar)32 b Ft([)h(f)f
Fu(next)h Ft(g)g(!)f Fw(Lo)s(c)0 1163 y Fu(and)244 1366
y Fw(Store)g Fu(=)h Fw(Lo)s(c)f Ft(!)h Fw(Z)0 1570 y
Fu(As)j(b)s(efore)f(w)m(e)h(shall)d(write)i Fs(sto)41
b Ft(\016)35 b Fs(env)1474 1585 y Fc(V)1569 1570 y Fu(for)f(the)i
(state)f(obtained)g(b)m(y)h(\014rst)f(using)g Fs(env)3291
1585 y Fc(V)3386 1570 y Fu(to)0 1690 y(\014nd)29 b(the)f(lo)s(cation)e
(of)h(the)i(v)-5 b(ariable)26 b(and)i(then)h Fs(sto)34
b Fu(to)27 b(\014nd)i(the)f(v)-5 b(alue)28 b(of)f(the)i(lo)s(cation.)39
b(The)0 1811 y(clauses)33 b(of)f(T)-8 b(able)33 b(2.7)f(are)g(no)m(w)i
(replaced)e(b)m(y)254 1996 y Ft(h)p Fs(D)376 2011 y Fc(V)437
1996 y Fu(,)g Fs(env)652 2011 y Fc(V)712 1996 y Fu([)p
Fs(x)12 b Ft(7!)p Fs(l)e Fu(][next)p Ft(7!)q Fu(new)33
b Fs(l)10 b Fu(],)33 b Fs(sto)6 b Fu([)p Fs(l)k Ft(7!)p
Fs(v)h Fu(])p Ft(i)32 b(!)2138 2011 y Fc(D)2234 1996
y Fu(\()p Fs(env)2428 1960 y Fi(0)2428 2021 y Fc(V)2488
1996 y Fu(,)h Fs(sto)2676 1960 y Fi(0)2700 1996 y Fu(\))p
254 2059 2484 4 v 523 2164 a Ft(h)p Fr(var)g Fs(x)45
b Fu(:=)32 b Fs(a)7 b Fu(;)33 b Fs(D)1173 2179 y Fc(V)1234
2164 y Fu(,)g Fs(env)1450 2179 y Fc(V)1510 2164 y Fu(,)f
Fs(sto)6 b Ft(i)33 b(!)1868 2179 y Fc(D)1965 2164 y Fu(\()p
Fs(env)2159 2128 y Fi(0)2159 2189 y Fc(V)2219 2164 y
Fu(,)g Fs(sto)2407 2128 y Fi(0)2430 2164 y Fu(\))513
2319 y(where)g Fs(v)43 b Fu(=)33 b Ft(A)o Fu([)-17 b([)q
Fs(a)7 b Fu(])-17 b(])q(\()p Fs(sto)6 b Ft(\016)p Fs(env)1575
2334 y Fc(V)1635 2319 y Fu(\))32 b(and)h Fs(l)43 b Fu(=)32
b Fs(env)2227 2334 y Fc(V)2320 2319 y Fu(next)244 2534
y Ft(h)p Fo(")o Fu(,)h Fs(env)544 2549 y Fc(V)604 2534
y Fu(,)g Fs(sto)6 b Ft(i)32 b(!)963 2549 y Fc(D)1059
2534 y Fu(\()p Fs(env)1253 2549 y Fc(V)1313 2534 y Fu(,)h
Fs(sto)6 b Fu(\))0 2737 y(Construct)25 b(a)f(statemen)m(t)h(that)e
(computes)i(di\013eren)m(t)f(results)h(under)g(the)f(t)m(w)m(o)h(v)-5
b(arian)m(ts)23 b(of)h(the)0 2858 y(seman)m(tics.)43
b(V)-8 b(alidate)29 b(y)m(our)i(claim)d(b)m(y)j(constructing)f(deriv)-5
b(ation)29 b(trees)j(for)d(the)i(executions)0 2978 y(of)h(the)h
(statemen)m(t)g(from)e(a)i(suitable)e(state.)1758 b Fh(2)p
eop
%%Page: 62 72
62 71 bop 251 130 a Fw(62)2086 b(2)112 b(Op)s(erational)37
b(Seman)m(tics)p 251 193 3473 4 v eop
%%Page: 63 73
63 72 bop 0 1180 a Fv(Chapter)78 b(3)0 1596 y(Pro)-6
b(v)-13 b(ably)76 b(Correct)i(Implemen)-6 b(tation)0
2049 y Fu(A)31 b(formal)e(sp)s(eci\014cation)h(of)h(the)h(seman)m(tics)
f(of)g(a)f(programming)e(language)i(is)h(useful)g(when)0
2169 y(implemen)m(ting)c(it.)42 b(In)31 b(particular,)e(it)g(b)s
(ecomes)i(p)s(ossible)f(to)f(argue)i(ab)s(out)f(the)g(correctness)0
2290 y(of)38 b(the)i(implemen)m(tation.)59 b(W)-8 b(e)39
b(shall)f(illustrate)e(this)j(b)m(y)h(sho)m(wing)f(ho)m(w)g(to)g
(translate)f(the)0 2410 y(language)29 b Fw(While)f Fu(in)m(to)h(a)h
(structured)h(form)e(of)g(assem)m(bler)h(co)s(de)h(for)e(an)h(abstract)
g(mac)m(hine)0 2530 y(and)c(w)m(e)h(shall)e(then)i(pro)m(v)m(e)g(that)f
(the)h(translation)d(is)i(correct.)42 b(The)27 b(idea)e(is)h(that)g(w)m
(e)h(\014rst)f(de-)0 2651 y(\014ne)h(the)g Fs(me)-5 b(aning)34
b Fu(of)25 b(the)i(abstract)g(mac)m(hine)f(instructions)g(b)m(y)h(an)f
(op)s(erational)e(seman)m(tics.)0 2771 y(Then)33 b(w)m(e)g(de\014ne)f
Fs(tr)-5 b(anslation)34 b(functions)39 b Fu(that)32 b(will)d(map)i
(expressions)j(and)d(statemen)m(ts)i(in)0 2892 y(the)41
b Fw(While)d Fu(language)i(in)m(to)f(sequences)44 b(of)c(suc)m(h)h
(instructions.)67 b(The)41 b(correctness)h(result)0 3012
y(will)30 b(then)j(state)g(that)g(if)e(w)m(e)145 3218
y Ft(\017)49 b Fu(translate)32 b(a)g(program)f(in)m(to)h(co)s(de,)h
(and)145 3424 y Ft(\017)49 b Fu(execute)34 b(the)f(co)s(de)g(on)g(the)g
(abstract)g(mac)m(hine,)0 3631 y(then)41 b(w)m(e)f(get)g(the)h(same)e
(result)h(as)g(w)m(as)h(sp)s(eci\014ed)g(b)m(y)g(the)f(seman)m(tic)g
(functions)f Ft(S)3204 3646 y Fn(ns)3315 3631 y Fu(and)0
3751 y Ft(S)68 3766 y Fn(sos)195 3751 y Fu(of)33 b(the)g(previous)g(c)m
(hapter.)0 4087 y Fj(3.1)161 b(The)53 b(abstract)g(mac)l(hine)0
4308 y Fu(When)33 b(sp)s(ecifying)f(the)g(abstract)h(mac)m(hine)f(it)f
(is)g(con)m(v)m(enien)m(t)j(\014rst)f(to)f(presen)m(t)i(its)d
(con\014gu-)0 4428 y(rations)h(and)g(next)i(its)e(instructions)g(and)h
(their)f(meanings.)146 4549 y(The)i(abstract)f(mac)m(hine)f
Fw(AM)g Fu(has)h(con\014gurations)f(of)h(the)g(form)e
Ft(h)p Fs(c)6 b Fu(,)32 b Fs(e)7 b Fu(,)33 b Fs(s)8 b
Ft(i)32 b Fu(where)145 4755 y Ft(\017)49 b Fs(c)38 b
Fu(is)32 b(the)h(sequence)i(of)d(instructions)h(\(or)f(co)s(de\))h(to)f
(b)s(e)h(executed,)145 4962 y Ft(\017)49 b Fs(e)40 b
Fu(is)32 b(the)h(ev)-5 b(aluation)31 b(stac)m(k,)i(and)145
5168 y Ft(\017)49 b Fs(s)40 b Fu(is)33 b(the)g(storage.)0
5374 y(W)-8 b(e)33 b(use)g(the)g Fs(evaluation)h(stack)43
b Fu(to)32 b(ev)-5 b(aluate)32 b(arithmetic)e(and)j(b)s(o)s(olean)d
(expressions.)46 b(F)-8 b(or-)0 5494 y(mally)g(,)30 b(it)i(is)g(a)g
(list)f(of)h(v)-5 b(alues,)33 b(so)g(writing)1687 5849
y(63)p eop
%%Page: 64 74
64 73 bop 251 130 a Fw(64)1535 b(3)112 b(Pro)m(v)-6 b(ably)36
b(Correct)h(Implemen)m(tation)p 251 193 3473 4 v 527
515 a(Stac)m(k)c Fu(=)f(\()p Fw(Z)h Ft([)g Fw(T)p Fu(\))1288
479 y Fc(?)283 703 y Fu(w)m(e)39 b(ha)m(v)m(e)g Fs(e)45
b Ft(2)38 b Fw(Stac)m(k)p Fu(.)59 b(F)-8 b(or)37 b(the)h(sak)m(e)h(of)e
(simplicit)m(y)e(w)m(e)k(shall)d(assume)j(that)e(the)h
Fs(stor)-5 b(age)283 824 y Fu(is)44 b(similar)d(to)j(the)h(state,)i
(that)d(is)g Fs(s)53 b Ft(2)44 b Fw(State)p Fu(,)j(and)e(it)e(is)h
(used)h(to)f(hold)f(the)i(v)-5 b(alues)44 b(of)283 944
y(v)-5 b(ariables.)430 1064 y(The)33 b Fs(instructions)41
b Fu(of)32 b Fw(AM)g Fu(are)h(giv)m(en)g(b)m(y)g(the)g(abstract)g(syn)m
(tax)577 1244 y Fs(inst)109 b Fu(::=)100 b Fb(push)p
Fu(-)p Fs(n)39 b Ft(j)32 b Fb(add)h Ft(j)f Fb(mul)-7
b(t)33 b Ft(j)g Fb(sub)894 1411 y Ft(j)151 b Fb(tr)n(ue)32
b Ft(j)g Fb(f)-9 b(alse)32 b Ft(j)h Fb(eq)f Ft(j)g Fb(le)g
Ft(j)h Fb(and)f Ft(j)h Fb(neg)894 1579 y Ft(j)151 b Fb(fetch)p
Fu(-)p Fs(x)44 b Ft(j)32 b Fb(store)p Fu(-)p Fs(x)894
1746 y Ft(j)151 b Fb(noop)33 b Ft(j)f Fb(branch)p Fu(\()p
Fs(c)6 b Fu(,)32 b Fs(c)6 b Fu(\))32 b Ft(j)g Fb(loop)p
Fu(\()p Fs(c)6 b Fu(,)33 b Fs(c)6 b Fu(\))577 1914 y
Fs(c)221 b Fu(::=)100 b Fo(")32 b Ft(j)g Fs(inst)9 b
Fu(:)p Fs(c)283 2095 y Fu(where)32 b Fo(")e Fu(is)h(the)g(empt)m(y)g
(sequence.)45 b(W)-8 b(e)31 b(shall)e(write)i Fw(Co)s(de)g
Fu(for)f(the)h(syn)m(tactic)g(category)g(of)283 2215
y Fs(se)-5 b(quenc)g(es)40 b(of)f(instructions)p Fu(,)h(so)e
Fs(c)44 b Fu(is)38 b(a)g(meta-v)-5 b(ariable)35 b(ranging)i(o)m(v)m(er)
j Fw(Co)s(de)p Fu(.)61 b(Therefore)283 2336 y(w)m(e)34
b(ha)m(v)m(e)527 2524 y Ft(h)p Fs(c)6 b Fu(,)32 b Fs(e)7
b Fu(,)33 b Fs(s)8 b Ft(i)33 b(2)f Fw(Co)s(de)h Ft(\002)g
Fw(Stac)m(k)g Ft(\002)g Fw(State)283 2711 y Fu(A)h(con\014guration)f
(is)g(a)g Fs(terminal)43 b Fu(\(or)33 b(\014nal\))f(con\014guration)h
(if)f(its)h(co)s(de)h(comp)s(onen)m(t)f(is)g(the)283
2832 y(empt)m(y)h(sequence,)h(that)d(is)g(if)g(it)f(has)i(the)g(form)f
Ft(h)o Fo(")p Fu(,)h Fs(e)7 b Fu(,)33 b Fs(s)8 b Ft(i)o
Fu(.)430 2952 y(The)33 b(seman)m(tics)f(of)f(the)h(instructions)g(of)f
(the)i(abstract)f(mac)m(hine)f(is)h(giv)m(en)g(b)m(y)h(an)e
Fs(op)-5 b(er-)283 3072 y(ational)38 b(semantics)p Fu(.)55
b(As)37 b(in)e(the)i(previous)g(c)m(hapter)h(it)d(will)g(b)s(e)h(sp)s
(eci\014ed)i(b)m(y)f(a)f(transition)283 3193 y(system.)69
b(The)42 b(con\014gurations)e(ha)m(v)m(e)i(the)f(form)e
Ft(h)p Fs(c)6 b Fu(,)42 b Fs(e)7 b Fu(,)43 b Fs(s)8 b
Ft(i)41 b Fu(as)g(describ)s(ed)g(ab)s(o)m(v)m(e)h(and)e(the)283
3313 y(transition)31 b(relation)g Fh(\003)i Fu(sp)s(eci\014es)h(ho)m(w)
f(to)f(execute)j(the)e(instructions:)527 3501 y Ft(h)p
Fs(c)6 b Fu(,)32 b Fs(e)7 b Fu(,)33 b Fs(s)8 b Ft(i)33
b Fh(\003)g Ft(h)o Fs(c)1107 3465 y Fi(0)1130 3501 y
Fu(,)g Fs(e)1242 3465 y Fi(0)1265 3501 y Fu(,)g Fs(s)1373
3465 y Fi(0)1396 3501 y Ft(i)283 3689 y Fu(The)40 b(idea)e(is)g(that)g
Fs(one)i(step)g(of)g(exe)-5 b(cution)45 b Fu(will)36
b(transform)i(the)h(con\014guration)e Ft(h)p Fs(c)6 b
Fu(,)40 b Fs(e)7 b Fu(,)40 b Fs(s)8 b Ft(i)283 3809 y
Fu(in)m(to)46 b Ft(h)o Fs(c)584 3773 y Fi(0)607 3809
y Fu(,)j Fs(e)735 3773 y Fi(0)759 3809 y Fu(,)g Fs(s)883
3773 y Fi(0)907 3809 y Ft(i)o Fu(.)84 b(The)47 b(relation)d(is)h
(de\014ned)i(b)m(y)g(the)f(axioms)f(of)h(T)-8 b(able)45
b(3.1)h(where)h(w)m(e)283 3930 y(\(am)m(biguously\))35
b(use)i(the)g(notation)e(`:')50 b(b)s(oth)36 b(for)g(app)s(ending)g(t)m
(w)m(o)g(instruction)g(sequences)283 4050 y(and)c(for)f(prep)s(ending)g
(an)g(elemen)m(t)g(to)g(a)g(sequence.)46 b(The)32 b(ev)-5
b(aluation)30 b(stac)m(k)j(is)d(represen)m(ted)283 4170
y(as)f(a)g(sequence)i(of)d(elemen)m(ts.)43 b(It)29 b(has)g(the)g(top)g
(of)f(the)h(stac)m(k)h(to)e(the)h(left)f(and)h(w)m(e)h(shall)d(write)
283 4291 y Fo(")33 b Fu(for)f(the)h(empt)m(y)g(sequence.)430
4411 y(In)27 b(addition)e(to)i(the)h(usual)f(arithmetic)e(and)i(b)s(o)s
(olean)e(op)s(erations)i(w)m(e)h(ha)m(v)m(e)g(six)f(instruc-)283
4531 y(tions)35 b(that)f(mo)s(dify)f(the)i(ev)-5 b(aluation)33
b(stac)m(k:)49 b(The)35 b(op)s(eration)e Fb(push)p Fu(-)p
Fs(n)41 b Fu(pushes)c(a)d(constan)m(t)283 4652 y(v)-5
b(alue)32 b Fs(n)39 b Fu(on)m(to)31 b(the)i(stac)m(k)g(and)f
Fb(tr)n(ue)f Fu(and)h Fb(f)-9 b(alse)31 b Fu(push)i(the)g(constan)m(ts)
g Fw(tt)e Fu(and)h Fw(\013)p Fu(,)g(resp)s(ec-)283 4772
y(tiv)m(ely)-8 b(,)35 b(on)m(to)g(the)g(stac)m(k.)51
b(The)36 b(op)s(eration)d Fb(fetch)p Fu(-)p Fs(x)46 b
Fu(pushes)36 b(the)f(v)-5 b(alue)34 b(b)s(ound)h(to)g
Fs(x)46 b Fu(on)m(to)283 4893 y(the)25 b(stac)m(k)h(whereas)g
Fb(store)p Fu(-)p Fs(x)35 b Fu(p)s(ops)25 b(the)f(topmost)g(elemen)m(t)
g(o\013)g(the)h(stac)m(k)h(and)e(up)s(dates)h(the)283
5013 y(storage)35 b(so)f(that)g(the)h(p)s(opp)s(ed)f(v)-5
b(alue)34 b(is)g(b)s(ound)g(to)g Fs(x)12 b Fu(.)48 b(The)35
b(instruction)e Fb(branch)p Fu(\()p Fs(c)3529 5028 y
Fn(1)3568 5013 y Fu(,)g Fs(c)3679 5028 y Fn(2)3718 5013
y Fu(\))283 5133 y(will)e(also)h(c)m(hange)h(the)g(\015o)m(w)g(of)g
(con)m(trol:)43 b(If)32 b(the)h(top)g(of)f(the)h(stac)m(k)h(is)e(the)h
(v)-5 b(alue)32 b Fw(tt)g Fu(\(that)g(is)283 5254 y(some)d(b)s(o)s
(olean)e(expression)j(has)f(b)s(een)h(ev)-5 b(aluated)28
b(to)g(true\))h(then)h(the)f(stac)m(k)h(is)e(p)s(opp)s(ed)h(and)283
5374 y Fs(c)334 5389 y Fn(1)408 5374 y Fu(is)35 b(to)g(b)s(e)g
(executed)i(next.)52 b(Otherwise,)36 b(if)e(the)h(top)g(elemen)m(t)g
(of)g(the)g(stac)m(k)h(is)f Fw(\013)g Fu(then)h(it)283
5494 y(will)31 b(b)s(e)i(p)s(opp)s(ed)f(and)h Fs(c)1188
5509 y Fn(2)1260 5494 y Fu(will)d(b)s(e)j(executed)h(next.)p
eop
%%Page: 65 75
65 74 bop 0 130 a Fw(3.1)112 b(The)38 b(abstract)g(mac)m(hine)2038
b(65)p 0 193 3473 4 v 0 419 V 0 3830 4 3411 v 416 528
a Ft(h)o Fb(push)p Fu(-)p Fs(n)7 b Fu(:)p Fs(c)f Fu(,)32
b Fs(e)7 b Fu(,)33 b Fs(s)8 b Ft(i)525 b Fh(\003)101
b Ft(h)o Fs(c)6 b Fu(,)32 b Ft(N)15 b Fu([)-17 b([)q
Fs(n)7 b Fu(])-17 b(]:)p Fs(e)7 b Fu(,)33 b Fs(s)8 b
Ft(i)416 697 y(h)o Fb(add)p Fu(:)p Fs(c)e Fu(,)33 b Fs(z)829
712 y Fn(1)869 697 y Fu(:)p Fs(z)948 712 y Fn(2)987 697
y Fu(:)p Fs(e)7 b Fu(,)33 b Fs(s)8 b Ft(i)421 b Fh(\003)101
b Ft(h)o Fs(c)6 b Fu(,)32 b(\()p Fs(z)2050 712 y Fn(1)2090
697 y Fu(+)p Fs(z)2218 712 y Fn(2)2257 697 y Fu(\):)p
Fs(e)7 b Fu(,)33 b Fs(s)8 b Ft(i)2664 696 y Fu(if)31
b Fs(z)2805 711 y Fn(1)2844 696 y Fu(,)i Fs(z)2956 711
y Fn(2)2995 696 y Ft(2)q Fw(Z)416 865 y Ft(h)o Fb(mul)-7
b(t)p Fu(:)p Fs(c)6 b Fu(,)34 b Fs(z)883 880 y Fn(1)922
865 y Fu(:)p Fs(z)1001 880 y Fn(2)1040 865 y Fu(:)p Fs(e)7
b Fu(,)33 b Fs(s)8 b Ft(i)368 b Fh(\003)101 b Ft(h)o
Fs(c)6 b Fu(,)32 b(\()p Fs(z)2050 880 y Fn(1)2090 865
y Fo(?)p Fs(z)2191 880 y Fn(2)2230 865 y Fu(\):)p Fs(e)7
b Fu(,)33 b Fs(s)8 b Ft(i)2664 864 y Fu(if)31 b Fs(z)2805
879 y Fn(1)2844 864 y Fu(,)i Fs(z)2956 879 y Fn(2)2995
864 y Ft(2)q Fw(Z)416 1034 y Ft(h)o Fb(sub)p Fu(:)p Fs(c)6
b Fu(,)32 b Fs(z)808 1049 y Fn(1)848 1034 y Fu(:)p Fs(z)927
1049 y Fn(2)966 1034 y Fu(:)p Fs(e)7 b Fu(,)33 b Fs(s)8
b Ft(i)442 b Fh(\003)101 b Ft(h)o Fs(c)6 b Fu(,)32 b(\()p
Fs(z)2050 1049 y Fn(1)2090 1034 y Ft(\000)p Fs(z)2219
1049 y Fn(2)2259 1034 y Fu(\):)p Fs(e)7 b Fu(,)33 b Fs(s)8
b Ft(i)2664 1033 y Fu(if)31 b Fs(z)2805 1048 y Fn(1)2844
1033 y Fu(,)i Fs(z)2956 1048 y Fn(2)2995 1033 y Ft(2)q
Fw(Z)416 1201 y Ft(h)o Fb(tr)n(ue)p Fu(:)p Fs(c)6 b Fu(,)32
b Fs(e)7 b Fu(,)33 b Fs(s)8 b Ft(i)610 b Fh(\003)101
b Ft(h)o Fs(c)6 b Fu(,)32 b Fw(tt)p Fu(:)p Fs(e)7 b Fu(,)33
b Fs(s)8 b Ft(i)416 1369 y(h)o Fb(f)-9 b(alse)p Fu(:)p
Fs(c)6 b Fu(,)33 b Fs(e)7 b Fu(,)32 b Fs(s)8 b Ft(i)586
b Fh(\003)101 b Ft(h)o Fs(c)6 b Fu(,)32 b Fw(\013)p Fu(:)p
Fs(e)7 b Fu(,)34 b Fs(s)8 b Ft(i)416 1537 y(h)o Fb(eq)p
Fu(:)p Fs(c)e Fu(,)33 b Fs(z)763 1552 y Fn(1)802 1537
y Fu(:)p Fs(z)881 1552 y Fn(2)920 1537 y Fu(:)p Fs(e)7
b Fu(,)33 b Fs(s)8 b Ft(i)488 b Fh(\003)101 b Ft(h)o
Fs(c)6 b Fu(,)32 b(\()p Fs(z)2050 1552 y Fn(1)2090 1537
y Fu(=)p Fs(z)2218 1552 y Fn(2)2257 1537 y Fu(\):)p Fs(e)7
b Fu(,)33 b Fs(s)8 b Ft(i)2664 1536 y Fu(if)31 b Fs(z)2805
1551 y Fn(1)2844 1536 y Fu(,)i Fs(z)2956 1551 y Fn(2)2995
1536 y Ft(2)q Fw(Z)416 1706 y Ft(h)o Fb(le)p Fu(:)p Fs(c)6
b Fu(,)32 b Fs(z)750 1721 y Fn(1)790 1706 y Fu(:)p Fs(z)869
1721 y Fn(2)908 1706 y Fu(:)p Fs(e)7 b Fu(,)33 b Fs(s)8
b Ft(i)500 b Fh(\003)101 b Ft(h)o Fs(c)6 b Fu(,)32 b(\()p
Fs(z)2050 1721 y Fn(1)2090 1706 y Ft(\024)p Fs(z)2219
1721 y Fn(2)2259 1706 y Fu(\):)p Fs(e)7 b Fu(,)33 b Fs(s)8
b Ft(i)2664 1705 y Fu(if)31 b Fs(z)2805 1720 y Fn(1)2844
1705 y Fu(,)i Fs(z)2956 1720 y Fn(2)2995 1705 y Ft(2)q
Fw(Z)416 1873 y Ft(h)o Fb(and)p Fu(:)p Fs(c)6 b Fu(,)33
b Fs(t)817 1888 y Fn(1)857 1873 y Fu(:)p Fs(t)925 1888
y Fn(2)966 1873 y Fu(:)p Fs(e)7 b Fu(,)33 b Fs(s)8 b
Ft(i)442 b Fh(\003)921 1957 y Fg(8)921 2031 y(<)921 2181
y(:)1036 2046 y Ft(h)p Fs(c)5 b Fo(;)17 b Fw(tt)27 b
Fu(:)h Fs(e)7 b Fo(;)17 b Fs(s)8 b Ft(i)1036 2214 y(h)p
Fs(c)d Fo(;)17 b Fw(\013)38 b Fu(:)28 b Fs(e)7 b Fo(;)17
b Fs(s)8 b Ft(i)1647 2046 y Fu(if)31 b Fs(t)1777 2061
y Fn(1)1818 2046 y Fu(=)p Fw(tt)g Fu(and)i Fs(t)2244
2061 y Fn(2)2284 2046 y Fu(=)p Fw(tt)1647 2214 y Fu(if)e
Fs(t)1777 2229 y Fn(1)1818 2214 y Fu(=)p Fw(\013)h Fu(or)h
Fs(t)2152 2229 y Fn(2)2192 2214 y Fu(=)p Fw(\013)p Fu(,)g
Fs(t)2434 2229 y Fn(1)2474 2214 y Fu(,)g Fs(t)2575 2229
y Fn(2)2615 2214 y Ft(2)p Fw(T)416 2483 y Ft(h)o Fb(neg)p
Fu(:)p Fs(c)6 b Fu(,)32 b Fs(t)9 b Fu(:)p Fs(e)e Fu(,)34
b Fs(s)8 b Ft(i)594 b Fh(\003)1812 2309 y Fg(8)1812 2384
y(<)1812 2533 y(:)1927 2399 y Ft(h)p Fs(c)5 b Fo(;)17
b Fw(\013)38 b Fu(:)28 b Fs(e)7 b Fo(;)17 b Fs(s)8 b
Ft(i)1927 2566 y(h)p Fs(c)d Fo(;)17 b Fw(tt)27 b Fu(:)h
Fs(e)7 b Fo(;)17 b Fs(s)8 b Ft(i)2664 2399 y Fu(if)31
b Fs(t)9 b Fu(=)p Fw(tt)2664 2566 y Fu(if)31 b Fs(t)9
b Fu(=)p Fw(\013)416 2745 y Ft(h)o Fb(fetch)p Fu(-)p
Fs(x)j Fu(:)p Fs(c)6 b Fu(,)32 b Fs(e)7 b Fu(,)33 b Fs(s)8
b Ft(i)466 b Fh(\003)101 b Ft(h)o Fs(c)6 b Fu(,)32 b(\()p
Fs(s)41 b(x)12 b Fu(\):)p Fs(e)7 b Fu(,)33 b Fs(s)8 b
Ft(i)416 2914 y(h)o Fb(store)p Fu(-)p Fs(x)k Fu(:)p Fs(c)6
b Fu(,)31 b Fs(z)12 b Fu(:)p Fs(e)7 b Fu(,)33 b Fs(s)8
b Ft(i)392 b Fh(\003)101 b Ft(h)o Fs(c)6 b Fu(,)32 b
Fs(e)7 b Fu(,)33 b Fs(s)8 b Fu([)p Fs(x)k Ft(7!)p Fs(z)g
Fu(])p Ft(i)2664 2913 y Fu(if)31 b Fs(z)12 b Ft(2)p Fw(Z)416
3081 y Ft(h)o Fb(noop)p Fu(:)p Fs(c)6 b Fu(,)33 b Fs(e)7
b Fu(,)33 b Fs(s)8 b Ft(i)600 b Fh(\003)101 b Ft(h)o
Fs(c)6 b Fu(,)32 b Fs(e)7 b Fu(,)33 b Fs(s)8 b Ft(i)416
3339 y(h)o Fb(branch)p Fu(\()p Fs(c)903 3354 y Fn(1)942
3339 y Fu(,)33 b Fs(c)1053 3354 y Fn(2)1092 3339 y Fu(\):)p
Fs(c)6 b Fu(,)32 b Fs(t)9 b Fu(:)p Fs(e)e Fu(,)34 b Fs(s)8
b Ft(i)99 b Fh(\003)1812 3165 y Fg(8)1812 3240 y(<)1812
3389 y(:)1927 3255 y Ft(h)p Fs(c)2016 3270 y Fn(1)2083
3255 y Fu(:)28 b Fs(c)6 b Fo(;)17 b Fs(e)7 b Fo(;)17
b Fs(s)7 b Ft(i)1927 3422 y(h)p Fs(c)2016 3437 y Fn(2)2083
3422 y Fu(:)28 b Fs(c)6 b Fo(;)17 b Fs(e)7 b Fo(;)17
b Fs(s)7 b Ft(i)2664 3255 y Fu(if)31 b Fs(t)9 b Fu(=)p
Fw(tt)2664 3422 y Fu(if)31 b Fs(t)9 b Fu(=)p Fw(\013)416
3601 y Ft(h)o Fb(loop)p Fu(\()p Fs(c)776 3616 y Fn(1)816
3601 y Fu(,)32 b Fs(c)926 3616 y Fn(2)965 3601 y Fu(\):)p
Fs(c)6 b Fu(,)33 b Fs(e)7 b Fu(,)32 b Fs(s)8 b Ft(i)295
b Fh(\003)921 3769 y Ft(h)o Fs(c)1010 3784 y Fn(1)1049
3769 y Fu(:)p Fb(branch)p Fu(\()p Fs(c)1525 3784 y Fn(2)1564
3769 y Fu(:)p Fb(loop)p Fu(\()p Fs(c)1913 3784 y Fn(1)1953
3769 y Fu(,)32 b Fs(c)2063 3784 y Fn(2)2102 3769 y Fu(\),)h
Fb(noop)p Fu(\):)p Fs(c)6 b Fu(,)32 b Fs(e)7 b Fu(,)33
b Fs(s)8 b Ft(i)p 3469 3830 V 0 3833 3473 4 v 844 3994
a Fu(T)-8 b(able)32 b(3.1:)43 b(Op)s(erational)30 b(seman)m(tics)j(for)
f Fw(AM)146 4287 y Fu(There)43 b(are)f(t)m(w)m(o)h(instructions)f(that)
f(c)m(hange)i(the)f(\015o)m(w)h(of)e(con)m(trol.)71 b(The)43
b(instruction)0 4407 y Fb(branch)p Fu(\()p Fs(c)449 4422
y Fn(1)488 4407 y Fu(,)i Fs(c)611 4422 y Fn(2)650 4407
y Fu(\))d(will)e(b)s(e)j(used)h(to)e(implemen)m(t)e(the)j(conditional:)
61 b(as)42 b(describ)s(ed)i(ab)s(o)m(v)m(e)0 4527 y(it)f(will)f(c)m(ho)
s(ose)i(the)h(co)s(de)f(comp)s(onen)m(t)g Fs(c)1602 4542
y Fn(1)1685 4527 y Fu(or)g Fs(c)1867 4542 y Fn(2)1950
4527 y Fu(dep)s(ending)g(on)g(the)g(curren)m(t)h(v)-5
b(alue)43 b(on)0 4648 y(top)g(of)g(the)h(stac)m(k.)76
b(If)44 b(the)f(top)g(of)g(the)h(stac)m(k)g(is)f(not)g(a)g(truth)h(v)-5
b(alue)42 b(the)i(mac)m(hine)f(will)0 4768 y(halt)e(as)i(there)g(is)f
(no)h(next)g(con\014guration)f(\(since)h(the)g(meaning)e(of)h
Fb(branch)p Fu(\()p Ft(\001)17 b(\001)g(\001)n Fu(,)p
Ft(\001)g(\001)g(\001)n Fu(\))43 b(is)0 4889 y(not)i(de\014ned)h(in)e
(that)h(case\).)82 b(A)45 b(lo)s(oping)d(construct)k(suc)m(h)g(as)g
(the)f Fr(while)p Fu(-construct)i(of)0 5009 y Fw(While)40
b Fu(can)i(b)s(e)g(implemen)m(ted)f(using)g(the)h(instruction)f
Fb(loop)p Fu(\()p Fs(c)2516 5024 y Fn(1)2555 5009 y Fu(,)j
Fs(c)2677 5024 y Fn(2)2716 5009 y Fu(\).)71 b(The)43
b(seman)m(tics)0 5129 y(of)35 b(this)g(instruction)f(is)h(de\014ned)i
(b)m(y)f(rewriting)f(it)f(to)h(a)g(com)m(bination)e(of)i(other)h
(constructs)0 5250 y(including)29 b(the)i Fb(branch)p
Fu(-instruction)e(and)h(itself.)42 b(W)-8 b(e)31 b(shall)e(see)j
(shortly)e(ho)m(w)h(this)f(can)h(b)s(e)0 5370 y(used.)146
5494 y(The)40 b(op)s(erational)d(seman)m(tics)i(of)f(T)-8
b(able)38 b(3.1)h(is)f(indeed)h(a)g(structural)g(op)s(erational)d(se-)p
eop
%%Page: 66 76
66 75 bop 251 130 a Fw(66)1535 b(3)112 b(Pro)m(v)-6 b(ably)36
b(Correct)h(Implemen)m(tation)p 251 193 3473 4 v 283
515 a Fu(man)m(tics)29 b(for)g Fw(AM)p Fu(.)g(Corresp)s(onding)g(to)g
(the)g(deriv)-5 b(ation)28 b(sequences)k(of)d(Chapter)h(2)f(w)m(e)h
(shall)283 636 y(de\014ne)36 b(a)e Fs(c)-5 b(omputation)36
b(se)-5 b(quenc)g(e)40 b Fu(for)34 b Fw(AM)p Fu(.)g(Giv)m(en)g(a)g
(sequence)j Fs(c)i Fu(of)34 b(instructions)g(and)g(a)283
756 y(storage)f Fs(s)8 b Fu(,)33 b(a)f(computation)f(sequence)k(for)d
Fs(c)38 b Fu(and)33 b Fs(s)41 b Fu(is)32 b(either)429
956 y Ft(\017)48 b Fu(a)33 b Fs(\014nite)39 b Fu(sequence)742
1159 y Fo(\015)798 1174 y Fn(0)837 1159 y Fu(,)33 b Fo(\015)953
1174 y Fn(1)992 1159 y Fu(,)g Fo(\015)1108 1174 y Fn(2)1148
1159 y Fu(,)f Ft(\001)17 b(\001)g(\001)31 b Fu(,)i Fo(\015)1472
1174 y Fn(k)527 1361 y Fu(of)c(con\014gurations)f(satisfying)g
Fo(\015)1747 1376 y Fn(0)1815 1361 y Fu(=)g Ft(h)p Fs(c)6
b Fu(,)29 b Fo(")p Fu(,)g Fs(s)8 b Ft(i)29 b Fu(and)g
Fo(\015)2525 1376 y Fn(i)2577 1361 y Fh(\003)g Fo(\015)2739
1376 y Fn(i+1)2882 1361 y Fu(for)f(0)p Ft(\024)p Fu(i)p
Fo(<)p Fu(k,)h(k)p Ft(\025)q Fu(0,)h(and)527 1482 y(where)k(there)f(is)
g(no)f Fo(\015)38 b Fu(suc)m(h)c(that)e Fo(\015)1868
1497 y Fn(k)1942 1482 y Fh(\003)h Fo(\015)5 b Fu(,)33
b(or)f(it)f(is)429 1684 y Ft(\017)48 b Fu(an)33 b Fs(in\014nite)39
b Fu(sequence)742 1886 y Fo(\015)798 1901 y Fn(0)837
1886 y Fu(,)33 b Fo(\015)953 1901 y Fn(1)992 1886 y Fu(,)g
Fo(\015)1108 1901 y Fn(2)1148 1886 y Fu(,)f Ft(\001)17
b(\001)g(\001)527 2089 y Fu(of)32 b(con\014gurations)h(satisfying)e
Fo(\015)1758 2104 y Fn(0)1830 2089 y Fu(=)i Ft(h)o Fs(c)6
b Fu(,)33 b Fo(")o Fu(,)g Fs(s)8 b Ft(i)32 b Fu(and)h
Fo(\015)2558 2104 y Fn(i)2614 2089 y Fh(\003)g Fo(\015)2780
2104 y Fn(i+1)2927 2089 y Fu(for)f(0)p Ft(\024)p Fu(i.)283
2289 y(Note)e(that)g(initial)c(con\014gurations)j(alw)m(a)m(ys)h(ha)m
(v)m(e)h(an)f Fs(empty)38 b Fu(ev)-5 b(aluation)28 b(stac)m(k.)44
b(A)30 b(compu-)283 2410 y(tation)i(sequence)j(is)429
2610 y Ft(\017)48 b Fs(terminating)41 b Fu(if)31 b(and)i(only)f(if)g
(it)f(is)h(\014nite,)h(and)429 2812 y Ft(\017)48 b Fs(lo)-5
b(oping)40 b Fu(if)32 b(and)h(only)f(if)f(it)h(is)g(in\014nite.)283
3013 y(A)f(terminating)d(computation)h(sequence)k(ma)m(y)d(end)h(in)f
(a)g(terminal)e(con\014guration)h(\(that)h(is)283 3133
y(a)38 b(con\014guration)g(with)g(an)g(empt)m(y)h(co)s(de)f(comp)s
(onen)m(t\))h(or)f(in)f(a)h(stuc)m(k)i(con\014guration)d(\(for)283
3253 y(example)c Ft(h)o Fb(add)p Fu(,)g Fo(")p Fu(,)g
Fs(s)8 b Ft(i)p Fu(\).)283 3478 y Fw(Example)37 b(3.1)49
b Fu(Consider)33 b(the)g(instruction)f(sequence)527 3678
y Fb(push)p Fu(-)p Fr(1)p Fu(:)p Fb(fetch)p Fu(-)p Fr(x)p
Fu(:)p Fb(add)p Fu(:)p Fb(store)p Fu(-)p Fr(x)283 3878
y Fu(Assuming)h(that)f(the)h(initial)c(storage)j Fs(s)41
b Fu(has)33 b Fs(s)41 b Fr(x)32 b Fu(=)h Fw(3)f Fu(w)m(e)i(get)527
4079 y Ft(h)p Fb(push)p Fu(-)p Fr(1)p Fu(:)p Fb(fetch)p
Fu(-)p Fr(x)p Fu(:)p Fb(add)p Fu(:)p Fb(store)p Fu(-)p
Fr(x)p Fu(,)d Fo(")p Fu(,)i Fs(s)8 b Ft(i)873 4246 y
Fh(\003)33 b Ft(h)p Fb(fetch)p Fu(-)p Fr(x)p Fu(:)p Fb(add)p
Fu(:)p Fb(store)p Fu(-)p Fr(x)p Fu(,)f Fw(1)p Fu(,)h
Fs(s)8 b Ft(i)873 4414 y Fh(\003)33 b Ft(h)p Fb(add)p
Fu(:)p Fb(store)p Fu(-)p Fr(x)p Fu(,)f Fw(3)p Fu(:)p
Fw(1)p Fu(,)h Fs(s)8 b Ft(i)873 4582 y Fh(\003)33 b Ft(h)p
Fb(store)p Fu(-)p Fr(x)p Fu(,)f Fw(4)p Fu(,)g Fs(s)8
b Ft(i)873 4749 y Fh(\003)33 b Ft(h)p Fo(")p Fu(,)f Fo(")p
Fu(,)h Fs(s)8 b Fu([)p Fr(x)p Ft(7!)p Fw(4)p Fu(])p Ft(i)283
4950 y Fu(The)36 b(computation)c(no)m(w)j(stops)g(b)s(ecause)g(there)g
(is)f(no)g(next)h(step.)49 b(This)34 b(is)g(an)g(example)f(of)283
5070 y(a)g(terminating)d(computation)h(sequence.)1820
b Fh(2)283 5294 y Fw(Example)37 b(3.2)49 b Fu(Consider)33
b(the)g(co)s(de)527 5494 y Fb(loop)p Fu(\()p Fb(tr)n(ue)p
Fu(,)g Fb(noop)p Fu(\))p eop
%%Page: 67 77
67 76 bop 0 130 a Fw(3.1)112 b(The)38 b(abstract)g(mac)m(hine)2038
b(67)p 0 193 3473 4 v 0 515 a Fu(W)-8 b(e)33 b(ha)m(v)m(e)244
681 y Ft(h)p Fb(loop)p Fu(\()p Fb(tr)n(ue)p Fu(,)f Fb(noop)p
Fu(\),)h Fo(")o Fu(,)g Fs(s)8 b Ft(i)554 848 y Fh(\003)33
b Ft(h)p Fb(tr)n(ue)p Fu(:)p Fb(branch)p Fu(\()p Fb(noop)p
Fu(:)p Fb(loop)p Fu(\()p Fb(tr)n(ue)p Fu(,)f Fb(noop)p
Fu(\),)h Fb(noop)p Fu(\),)f Fo(")p Fu(,)h Fs(s)8 b Ft(i)554
1016 y Fh(\003)33 b Ft(h)p Fb(branch)p Fu(\()p Fb(noop)p
Fu(:)p Fb(loop)p Fu(\()p Fb(tr)n(ue)p Fu(,)f Fb(noop)p
Fu(\),)h Fb(noop)p Fu(\),)g Fw(tt)p Fu(,)f Fs(s)8 b Ft(i)554
1183 y Fh(\003)33 b Ft(h)p Fb(noop)p Fu(:)p Fb(loop)p
Fu(\()p Fb(tr)n(ue)p Fu(,)f Fb(noop)p Fu(\),)h Fo(")p
Fu(,)f Fs(s)8 b Ft(i)554 1351 y Fh(\003)33 b Ft(h)p Fb(loop)p
Fu(\()p Fb(tr)n(ue)p Fu(,)f Fb(noop)p Fu(\),)h Fo(")o
Fu(,)g Fs(s)8 b Ft(i)554 1519 y Fh(\003)33 b Ft(\001)17
b(\001)g(\001)0 1684 y Fu(and)40 b(the)h(unfolding)d(of)i(the)g
Fb(loop)p Fu(-instruction)f(is)h(rep)s(eated.)67 b(This)40
b(is)f(an)h(example)g(of)g(a)0 1804 y(lo)s(oping)30 b(computation)h
(sequence.)2089 b Fh(2)0 1982 y Fw(Exercise)36 b(3.3)49
b Fu(Consider)33 b(the)g(co)s(de)244 2147 y Fb(push)p
Fu(-)p Fr(0)p Fu(:)p Fb(store)p Fu(-)p Fr(z)p Fu(:)p
Fb(fetch)p Fu(-)p Fr(x)p Fu(:)p Fb(store)p Fu(-)p Fr(r)p
Fu(:)244 2315 y Fb(loop)p Fu(\()p Fb(fetch)p Fu(-)p Fr(r)p
Fu(:)p Fb(fetch)p Fu(-)p Fr(y)p Fu(:)p Fb(le)p Fu(,)515
2482 y Fb(fetch)p Fu(-)p Fr(y)p Fu(:)p Fb(fetch)p Fu(-)p
Fr(r)p Fu(:)p Fb(sub)p Fu(:)p Fb(store)p Fu(-)p Fr(r)p
Fu(:)515 2650 y Fb(push)p Fu(-)p Fr(1)p Fu(:)p Fb(fetch)p
Fu(-)p Fr(z)p Fu(:)p Fb(add)p Fu(:)p Fb(store)p Fu(-)p
Fr(z)p Fu(\))0 2815 y(Determine)f(the)h(function)f(computed)g(b)m(y)i
(this)e(co)s(de.)1378 b Fh(2)0 3097 y Fp(Prop)t(erties)46
b(of)f(AM)0 3282 y Fu(The)40 b(seman)m(tics)f(w)m(e)h(ha)m(v)m(e)h(sp)s
(eci\014ed)e(for)g(the)g(abstract)h(mac)m(hine)e(is)h(concerned)h(with)
f(the)0 3402 y(execution)27 b(of)g(individual)d(instructions)i(and)h
(is)f(therefore)i(close)f(in)f(spirit)f(to)h(the)i(structural)0
3523 y(op)s(erational)j(seman)m(tics)j(studied)g(in)e(Chapter)j(2.)46
b(When)34 b(pro)m(ving)f(the)h(correctness)i(of)d(the)0
3643 y(co)s(de)44 b(generation)g(w)m(e)g(shall)f(need)i(a)f(few)g
(results)g(analogous)f(to)h(those)g(holding)f(for)g(the)0
3764 y(structural)d(op)s(erational)e(seman)m(tics.)66
b(As)41 b(their)f(pro)s(ofs)g(follo)m(w)e(the)j(same)f(lines)f(as)i
(those)0 3884 y(for)32 b(the)h(structural)f(op)s(erational)e(seman)m
(tics)i(w)m(e)i(shall)d(lea)m(v)m(e)i(them)f(as)g(exercises)i(and)f
(only)0 4004 y Fs(r)-5 b(eformulate)40 b Fu(the)33 b(pro)s(of)e(tec)m
(hnique)j(from)e(Section)g(2.2:)p 0 4153 3470 4 v 0 4170
V -2 4378 4 208 v 15 4378 V 478 4299 a Fw(Induction)g(on)h(the)f
(Length)h(of)g(Computation)f(Sequences)p 3452 4378 V
3469 4378 V 0 4381 3470 4 v -2 4630 4 249 v 15 4630 V
66 4546 a Fu(1:)143 b(Pro)m(v)m(e)34 b(that)f(the)g(prop)s(ert)m(y)g
(holds)f(for)g(all)f(computation)g(sequences)36 b(of)c(length)g(0.)p
3452 4630 V 3469 4630 V -2 5159 4 529 v 15 5159 V 66
4714 a(2:)143 b(Pro)m(v)m(e)41 b(that)f(the)g(prop)s(ert)m(y)g(holds)f
(for)g(all)f(other)i(computation)e(sequences:)60 b(As-)285
4834 y(sume)37 b(that)f(the)h(prop)s(ert)m(y)g(holds)g(for)f(all)e
(computation)h(sequences)40 b(of)c(length)g(at)285 4955
y(most)31 b(k)g(\(this)g(is)f(called)g(the)i Fs(induction)h(hyp)-5
b(othesis)p Fu(\))30 b(and)h(sho)m(w)h(that)f(it)f(holds)h(for)285
5075 y(computation)g(sequences)36 b(of)c(length)g(k+1.)p
3452 5159 V 3469 5159 V 0 5162 3470 4 v 0 5179 V 0 5374
a(The)f(induction)d(step)j(of)e(a)g(pro)s(of)g(follo)m(wing)e(this)i
(tec)m(hnique)j(will)27 b(often)j(b)s(e)f(done)i(b)m(y)f(a)f(case)0
5494 y(analysis)j(on)g(the)h(\014rst)g(instruction)f(of)g(the)h(co)s
(de)g(comp)s(onen)m(t)g(of)f(the)h(con\014guration.)p
eop
%%Page: 68 78
68 77 bop 251 130 a Fw(68)1535 b(3)112 b(Pro)m(v)-6 b(ably)36
b(Correct)h(Implemen)m(tation)p 251 193 3473 4 v 283
515 a(Exercise)g(3.4)49 b(\(Essen)m(tial\))30 b Fu(By)j(analogy)f(with)
g(Exercise)i(2.21)e(pro)m(v)m(e)h(that)527 717 y(if)f
Ft(h)p Fs(c)707 732 y Fn(1)746 717 y Fu(,)g Fs(e)857
732 y Fn(1)897 717 y Fu(,)g Fs(s)8 b Ft(i)33 b Fh(\003)1153
681 y Fn(k)1227 717 y Ft(h)p Fs(c)1317 681 y Fi(0)1340
717 y Fu(,)f Fs(e)1451 681 y Fi(0)1475 717 y Fu(,)h Fs(s)1583
681 y Fi(0)1606 717 y Ft(i)f Fu(then)h Ft(h)p Fs(c)1989
732 y Fn(1)2028 717 y Fu(:)p Fs(c)2106 732 y Fn(2)2145
717 y Fu(,)g Fs(e)2257 732 y Fn(1)2297 717 y Fu(:)p Fs(e)2376
732 y Fn(2)2415 717 y Fu(,)g Fs(s)8 b Ft(i)32 b Fh(\003)2672
681 y Fn(k)2746 717 y Ft(h)p Fs(c)2836 681 y Fi(0)2858
717 y Fu(:)p Fs(c)2936 732 y Fn(2)2976 717 y Fu(,)g Fs(e)3087
681 y Fi(0)3111 717 y Fu(:)p Fs(e)3190 732 y Fn(2)3230
717 y Fu(,)g Fs(s)3337 681 y Fi(0)3361 717 y Ft(i)283
919 y Fu(This)25 b(means)g(that)f(w)m(e)i(can)e(extend)i(the)f(co)s(de)
g(comp)s(onen)m(t)g(as)g(w)m(ell)e(as)i(the)g(stac)m(k)h(comp)s(onen)m
(t)283 1039 y(without)33 b(c)m(hanging)f(the)h(b)s(eha)m(viour)f(of)g
(the)h(mac)m(hine.)1349 b Fh(2)283 1265 y Fw(Exercise)37
b(3.5)49 b(\(Essen)m(tial\))30 b Fu(By)j(analogy)f(with)g(Lemma)f(2.19)
h(pro)m(v)m(e)i(that)e(if)527 1467 y Ft(h)p Fs(c)617
1482 y Fn(1)656 1467 y Fu(:)p Fs(c)734 1482 y Fn(2)773
1467 y Fu(,)h Fs(e)7 b Fu(,)33 b Fs(s)8 b Ft(i)32 b Fh(\003)1142
1431 y Fn(k)1215 1467 y Ft(h)p Fo(")p Fu(,)g Fs(e)1411
1431 y Fi(00)1454 1467 y Fu(,)h Fs(s)1562 1431 y Fi(00)1604
1467 y Ft(i)283 1669 y Fu(then)40 b(there)f(exists)g(a)g
(con\014guration)e Ft(h)p Fo(")p Fu(,)j Fs(e)1930 1633
y Fi(0)1953 1669 y Fu(,)g Fs(s)2068 1633 y Fi(0)2092
1669 y Ft(i)e Fu(and)h(natural)e(n)m(um)m(b)s(ers)j(k)3163
1684 y Fn(1)3241 1669 y Fu(and)f(k)3488 1684 y Fn(2)3566
1669 y Fu(with)283 1789 y(k)334 1804 y Fn(1)374 1789
y Fu(+k)501 1804 y Fn(2)541 1789 y Fu(=k)33 b(suc)m(h)h(that)527
1991 y Ft(h)p Fs(c)617 2006 y Fn(1)656 1991 y Fu(,)f
Fs(e)7 b Fu(,)33 b Fs(s)8 b Ft(i)32 b Fh(\003)1024 1955
y Fn(k)1061 1964 y Fd(1)1133 1991 y Ft(h)p Fo(")o Fu(,)h
Fs(e)1329 1955 y Fi(0)1353 1991 y Fu(,)f Fs(s)1460 1955
y Fi(0)1484 1991 y Ft(i)g Fu(and)g Ft(h)p Fs(c)1834 2006
y Fn(2)1873 1991 y Fu(,)h Fs(e)1985 1955 y Fi(0)2008
1991 y Fu(,)g Fs(s)2116 1955 y Fi(0)2139 1991 y Ft(i)g
Fh(\003)2288 1955 y Fn(k)2325 1964 y Fd(2)2397 1991 y
Ft(h)o Fo(")p Fu(,)g Fs(e)2593 1955 y Fi(00)2635 1991
y Fu(,)g Fs(s)2743 1955 y Fi(00)2785 1991 y Ft(i)283
2193 y Fu(This)c(means)f(that)f(the)i(execution)g(of)e(a)h(comp)s
(osite)f(sequence)j(of)e(instructions)g(can)g(b)s(e)g(split)283
2313 y(in)m(to)k(t)m(w)m(o)i(pieces.)2739 b Fh(2)430
2539 y Fu(The)23 b(notion)d(of)i(determinism)e(is)h(de\014ned)i(as)f
(for)f(the)i(structural)e(op)s(erational)f(seman)m(tics.)283
2660 y(So)34 b(the)g(seman)m(tics)g(of)g(an)f(abstract)i(mac)m(hine)e
(is)g Fs(deterministic)39 b Fu(if)32 b(for)i(all)d(c)m(hoices)k(of)e
Fo(\015)5 b Fu(,)35 b Fo(\015)3733 2624 y Fi(0)283 2780
y Fu(and)e Fo(\015)529 2744 y Fi(00)572 2780 y Fu(:)527
2982 y Fo(\015)38 b Fh(\003)33 b Fo(\015)782 2946 y Fi(0)838
2982 y Fu(and)f Fo(\015)38 b Fh(\003)33 b Fo(\015)1282
2946 y Fi(00)1357 2982 y Fu(imply)e Fo(\015)1687 2946
y Fi(0)1742 2982 y Fu(=)i Fo(\015)1907 2946 y Fi(00)283
3208 y Fw(Exercise)k(3.6)49 b(\(Essen)m(tial\))36 b Fu(Sho)m(w)j(that)f
(the)h(mac)m(hine)f(seman)m(tics)h(of)f(T)-8 b(able)38
b(3.1)g(is)g(de-)283 3329 y(terministic.)48 b(Deduce)36
b(that)e(there)i(is)e(exactly)h(one)g(computation)e(sequence)k
(starting)d(in)g(a)283 3449 y(con\014guration)e Ft(h)p
Fs(c)6 b Fu(,)32 b Fs(e)7 b Fu(,)33 b Fs(s)8 b Ft(i)p
Fu(.)2432 b Fh(2)283 3737 y Fp(The)45 b(execution)h(function)e
FC(M)283 3922 y Fu(W)-8 b(e)37 b(shall)e(de\014ne)j(the)f
Fs(me)-5 b(aning)44 b Fu(of)36 b(a)g(sequence)j(of)d(instructions)g(as)
h(a)f(\(partial\))e(function)283 4043 y(from)e Fw(State)g
Fu(to)h Fw(State)p Fu(:)527 4244 y Ft(M)p Fu(:)43 b Fw(Co)s(de)33
b Ft(!)g Fu(\()p Fw(State)f Fo(,)-17 b Ft(!)33 b Fw(State)p
Fu(\))283 4446 y(It)g(is)f(giv)m(en)h(b)m(y)527 4730
y Ft(M)p Fu([)-17 b([)q Fs(c)6 b Fu(])-17 b(])32 b Fs(s)41
b Fu(=)994 4555 y Fg(8)994 4630 y(<)994 4779 y(:)1110
4645 y Fs(s)1158 4609 y Fi(0)1428 4645 y Fu(if)32 b Ft(h)o
Fs(c)6 b Fu(,)33 b Fo(")o Fu(,)g Fs(s)8 b Ft(i)32 b Fh(\003)1969
4609 y Fi(\003)2041 4645 y Ft(h)o Fo(")p Fu(,)h Fs(e)7
b Fu(,)33 b Fs(s)2345 4609 y Fi(0)2368 4645 y Ft(i)1110
4813 y Fu(undef)p 1110 4826 236 4 v 83 w(otherwise)283
5013 y(The)e(function)f(is)f(w)m(ell-de\014ned)i(b)s(ecause)g(of)e
(Exercise)j(3.6.)42 b(Note)30 b(that)g(the)g(de\014nition)f(do)s(es)283
5133 y(not)k(require)g(the)g(stac)m(k)h(comp)s(onen)m(t)e(of)h(the)g
(terminal)d(con\014guration)i(to)g(b)s(e)h(empt)m(y)g(but)g(it)283
5254 y(do)s(es)g(require)g(the)g(co)s(de)g(comp)s(onen)m(t)g(to)f(b)s
(e)h(so.)430 5374 y(The)j(abstract)g(mac)m(hine)g Fw(AM)f
Fu(ma)m(y)h(seem)g(far)f(remo)m(v)m(ed)h(from)f(more)g(traditional)d
(ma-)283 5494 y(c)m(hine)h(arc)m(hitectures.)45 b(In)33
b(the)g(next)h(few)f(exercises)h(w)m(e)g(shall)d(gradually)g(bridge)h
(this)g(gap.)p eop
%%Page: 69 79
69 78 bop 0 130 a Fw(3.2)112 b(Sp)s(eci\014cation)37
b(of)h(the)f(translation)1596 b(69)p 0 193 3473 4 v 0
515 a(Exercise)36 b(3.7)49 b(AM)29 b Fu(refers)h(to)f(v)-5
b(ariables)28 b(b)m(y)i(their)f Fs(name)36 b Fu(rather)29
b(than)g(b)m(y)i(their)d Fs(addr)-5 b(ess)p Fu(.)0 636
y(The)34 b(abstract)e(mac)m(hine)g Fw(AM)1153 651 y Fn(1)1225
636 y Fu(di\013ers)h(from)e Fw(AM)i Fu(in)e(that)145
805 y Ft(\017)49 b Fu(the)31 b(con\014gurations)g(ha)m(v)m(e)h(the)f
(form)f Ft(h)o Fs(c)6 b Fu(,)31 b Fs(e)7 b Fu(,)32 b
Fs(m)7 b Ft(i)30 b Fu(where)i Fs(c)37 b Fu(and)31 b Fs(e)38
b Fu(are)30 b(as)i(in)e Fw(AM)g Fu(and)244 925 y Fs(m)7
b Fu(,)33 b(the)g Fs(memory)9 b Fu(,)31 b(is)i(a)f(\(\014nite\))g(list)
f(of)h(v)-5 b(alues,)33 b(that)f(is)g Fs(m)40 b Ft(2)33
b Fw(Z)2662 889 y Fc(?)2702 925 y Fu(,)f(and)145 1117
y Ft(\017)49 b Fu(the)38 b(instructions)f Fb(fetch)p
Fu(-)p Fs(x)48 b Fu(and)38 b Fb(store)p Fu(-)p Fs(x)48
b Fu(are)37 b(replaced)h(b)m(y)g(instructions)f Fb(get)p
Fu(-)p Fs(n)244 1237 y Fu(and)c Fb(put)p Fu(-)p Fs(n)38
b Fu(where)c Fs(n)40 b Fu(is)32 b(a)g(natural)g(n)m(um)m(b)s(er)h(\(an)
f(address\).)0 1406 y(Sp)s(ecify)37 b(the)h(op)s(erational)c(seman)m
(tics)j(of)g(the)g(mac)m(hine.)56 b(Y)-8 b(ou)37 b(ma)m(y)g(write)g
Fs(m)7 b Fu([)p Fs(n)g Fu(])37 b(to)g(select)0 1527 y(the)30
b Fo(n)p Fu(th)g(v)-5 b(alue)28 b(in)h(the)h(list)e Fs(m)36
b Fu(\(when)31 b Fs(n)36 b Fu(is)29 b(p)s(ositiv)m(e)g(but)h(less)f
(than)h(or)f(equal)g(to)g(the)h(length)0 1647 y(of)i
Fs(m)7 b Fu(\).)44 b(What)32 b(happ)s(ens)i(if)d(w)m(e)j(reference)g
(an)f(address)h(that)e(is)g(outside)h(the)g(memory?)104
b Fh(2)0 1829 y Fw(Exercise)36 b(3.8)49 b Fu(The)37 b(next)h(step)f(is)
e(to)h(get)h(rid)e(of)h(the)g(op)s(erations)g Fb(branch)p
Fu(\()p Ft(\001)17 b(\001)g(\001)n Fu(,)p Ft(\001)g(\001)g(\001)n
Fu(\))36 b(and)0 1950 y Fb(loop)p Fu(\()p Ft(\001)17
b(\001)g(\001)o Fu(,)p Ft(\001)g(\001)g(\001)n Fu(\).)79
b(The)46 b(idea)e(is)g(to)g(in)m(tro)s(duce)g(instructions)h(for)f
Fs(de\014ning)g(lab)-5 b(els)52 b Fu(and)45 b(for)0 2070
y Fs(jumping)32 b(to)i(lab)-5 b(els)p Fu(.)42 b(The)32
b(abstract)f(mac)m(hine)f Fw(AM)1932 2085 y Fn(2)2002
2070 y Fu(di\013ers)h(from)e Fw(AM)2710 2085 y Fn(1)2780
2070 y Fu(\(of)i(Exercise)h(3.7\))0 2190 y(in)g(that)145
2359 y Ft(\017)49 b Fu(the)27 b(con\014gurations)f(ha)m(v)m(e)h(the)g
(form)e Ft(h)p Fs(p)-5 b(c)6 b Fu(,)27 b Fs(c)6 b Fu(,)27
b Fs(e)7 b Fu(,)28 b Fs(m)7 b Ft(i)26 b Fu(where)i Fs(c)6
b Fu(,)27 b Fs(e)34 b Fu(and)26 b Fs(m)33 b Fu(are)27
b(as)f(b)s(efore)244 2480 y(and)i Fs(p)-5 b(c)34 b Fu(is)28
b(the)h(program)e(coun)m(ter)j(\(a)e(natural)f(n)m(um)m(b)s(er\))i(p)s
(oin)m(ting)e(to)h(an)g(instruction)244 2600 y(in)k Fs(c)6
b Fu(,)32 b(and)145 2792 y Ft(\017)49 b Fu(the)38 b(instructions)f
Fb(branch)p Fu(\()p Ft(\001)17 b(\001)g(\001)n Fu(,)p
Ft(\001)g(\001)g(\001)o Fu(\))37 b(and)h Fb(loop)p Fu(\()p
Ft(\001)17 b(\001)g(\001)n Fu(,)p Ft(\001)g(\001)g(\001)n
Fu(\))38 b(are)f(replaced)h(b)m(y)h(the)f(in-)244 2912
y(structions)h Fb(label)p Fu(-)p Fs(l)10 b Fu(,)39 b
Fb(jump)p Fu(-)p Fs(l)49 b Fu(and)38 b Fb(jumpf)-9 b(alse)p
Fu(-)p Fs(l)48 b Fu(where)40 b Fs(l)49 b Fu(is)38 b(a)g(lab)s(el)e(\(a)
j(natural)244 3033 y(n)m(um)m(b)s(er\).)0 3201 y(The)31
b(idea)f(is)f(that)h(w)m(e)h(will)d(execute)k(the)f(instruction)e(in)h
Fs(c)35 b Fu(that)30 b Fs(p)-5 b(c)36 b Fu(p)s(oin)m(ts)30
b(to)f(and)i(in)e(most)0 3322 y(cases)41 b(this)e(will)e(cause)j(the)g
(program)e(coun)m(ter)i(to)f(b)s(e)h(incremen)m(ted)g(b)m(y)g(1.)63
b(The)41 b(instruc-)0 3442 y(tion)32 b Fb(label)p Fu(-)p
Fs(l)42 b Fu(has)32 b(no)h(e\013ect)g(except)i(up)s(dating)c(the)i
(program)e(coun)m(ter.)45 b(The)33 b(instruction)0 3563
y Fb(jump)p Fu(-)p Fs(l)53 b Fu(will)41 b(mo)m(v)m(e)j(the)f(program)f
(coun)m(ter)i(to)f(the)h(unique)f(instruction)g Fb(label)p
Fu(-)p Fs(l)52 b Fu(\(if)42 b(it)0 3683 y(exists\).)51
b(The)36 b(instruction)d Fb(jumpf)-9 b(alse)p Fu(-)p
Fs(l)45 b Fu(will)33 b(only)h(mo)m(v)m(e)h(the)g(program)f(coun)m(ter)i
(to)e(the)0 3803 y(instruction)j Fb(label)p Fu(-)p Fs(l)48
b Fu(if)37 b(the)i(v)-5 b(alue)38 b(on)g(top)g(of)g(the)h(stac)m(k)h
(is)e Fw(\013)p Fu(;)j(if)c(it)h(is)g Fw(tt)f Fu(the)i(program)0
3924 y(coun)m(ter)34 b(will)c(b)s(e)j(incremen)m(ted)g(b)m(y)g(1.)146
4044 y(Sp)s(ecify)42 b(an)f(op)s(erational)e(seman)m(tics)i(for)g
Fw(AM)1959 4059 y Fn(2)1999 4044 y Fu(.)69 b(Y)-8 b(ou)42
b(ma)m(y)f(write)g Fs(c)6 b Fu([)p Fs(p)-5 b(c)6 b Fu(])40
b(for)h(the)h(in-)0 4164 y(struction)h(in)g Fs(c)49 b
Fu(p)s(oin)m(ted)43 b(to)g(b)m(y)i Fs(p)-5 b(c)49 b Fu(\(if)42
b Fs(p)-5 b(c)49 b Fu(is)43 b(p)s(ositiv)m(e)f(and)i(less)g(than)f(or)h
(equal)f(to)g(the)0 4285 y(length)32 b(of)g Fs(c)6 b
Fu(\).)43 b(What)33 b(happ)s(ens)g(if)f(the)h(same)f(lab)s(el)f(is)h
(de\014ned)i(more)e(than)h(once?)295 b Fh(2)0 4467 y
Fw(Exercise)36 b(3.9)49 b Fu(Finally)-8 b(,)32 b(w)m(e)j(shall)e
(consider)h(an)h(abstract)f(mac)m(hine)g Fw(AM)2838 4482
y Fn(3)2911 4467 y Fu(where)h(the)g(la-)0 4587 y(b)s(els)f(of)h(the)g
(instructions)f Fb(jump)p Fu(-)p Fs(l)45 b Fu(and)35
b Fb(jumpf)-9 b(alse)p Fu(-)p Fs(l)44 b Fu(of)34 b(Exercise)i(3.8)f
(are)f Fs(absolute)j(ad-)0 4708 y(dr)-5 b(esses)p Fu(;)32
b(so)g Fb(jump)p Fu(-7)g(means)g(jump)g(to)g(the)h(7th)f(instruction)g
(of)g(the)g(co)s(de)h(\(rather)f(than)h(to)0 4828 y(the)26
b(instruction)f Fb(label)p Fu(-7\).)41 b(Sp)s(ecify)26
b(the)g(op)s(erational)e(seman)m(tics)i(of)f(the)i(mac)m(hine.)40
b(What)0 4949 y(happ)s(ens)34 b(if)d(w)m(e)j(jump)e(to)g(an)g
(instruction)g(that)g(is)h(not)f(in)g(the)h(co)s(de?)779
b Fh(2)0 5275 y Fj(3.2)161 b(Sp)t(eci\014cation)53 b(of)h(the)f
(translation)0 5494 y Fu(W)-8 b(e)33 b(shall)e(no)m(w)i(study)h(ho)m(w)
f(to)g(generate)g(co)s(de)g(for)f(the)h(abstract)g(mac)m(hine.)p
eop
%%Page: 70 80
70 79 bop 251 130 a Fw(70)1535 b(3)112 b(Pro)m(v)-6 b(ably)36
b(Correct)h(Implemen)m(tation)p 251 193 3473 4 v 283
515 a Fp(Expressions)283 700 y Fu(Arithmetic)g(and)h(b)s(o)s(olean)f
(expressions)j(will)c(b)s(e)i(ev)-5 b(aluated)38 b(on)g(the)h(ev)-5
b(aluation)36 b(stac)m(k)j(of)283 820 y(the)d(mac)m(hine)e(and)g(the)i
(co)s(de)e(to)h(b)s(e)g(generated)g(m)m(ust)g(e\013ect)g(this.)50
b(This)35 b(is)f(accomplished)283 941 y(b)m(y)g(the)f(\(total\))e
(functions)527 1124 y Ft(C)6 b(A)p Fu(:)44 b Fw(Aexp)32
b Ft(!)g Fw(Co)s(de)283 1308 y Fu(and)527 1491 y Ft(C)6
b(B)t Fu(:)44 b Fw(Bexp)32 b Ft(!)g Fw(Co)s(de)283 1674
y Fu(sp)s(eci\014ed)27 b(in)f(T)-8 b(able)26 b(3.2.)41
b(Note)26 b(that)g(the)g(co)s(de)h(generated)g(for)e(binary)h
(expressions)i(consists)p 283 1800 V 283 3694 4 1894
v 715 1909 a Ft(C)6 b(A)p Fu([)-17 b([)q Fs(n)7 b Fu(])-17
b(])361 b(=)100 b Fb(push)p Fu(-)p Fs(n)715 2077 y Ft(C)6
b(A)p Fu([)-17 b([)q Fs(x)12 b Fu(])-17 b(])366 b(=)100
b Fb(fetch)p Fu(-)p Fs(x)715 2245 y Ft(C)6 b(A)p Fu([)-17
b([)q Fs(a)948 2260 y Fn(1)987 2245 y Fu(+)p Fs(a)1120
2260 y Fn(2)1160 2245 y Fu(])g(])154 b(=)100 b Ft(C)6
b(A)p Fu([)-17 b([)p Fs(a)1759 2260 y Fn(2)1799 2245
y Fu(])g(]:)p Ft(C)6 b(A)p Fu([)-17 b([)q Fs(a)2096 2260
y Fn(1)2136 2245 y Fu(])g(]:)p Fb(add)715 2412 y Ft(C)6
b(A)p Fu([)-17 b([)q Fs(a)948 2427 y Fn(1)1020 2412 y
Fo(?)32 b Fs(a)1158 2427 y Fn(2)1198 2412 y Fu(])-17
b(])116 b(=)100 b Ft(C)6 b(A)p Fu([)-17 b([)p Fs(a)1759
2427 y Fn(2)1799 2412 y Fu(])g(]:)p Ft(C)6 b(A)p Fu([)-17
b([)q Fs(a)2096 2427 y Fn(1)2136 2412 y Fu(])g(]:)p Fb(mul)-7
b(t)715 2580 y Ft(C)6 b(A)p Fu([)-17 b([)q Fs(a)948 2595
y Fn(1)987 2580 y Ft(\000)p Fs(a)1121 2595 y Fn(2)1162
2580 y Fu(])g(])152 b(=)100 b Ft(C)6 b(A)p Fu([)-17 b([)p
Fs(a)1759 2595 y Fn(2)1799 2580 y Fu(])g(]:)p Ft(C)6
b(A)p Fu([)-17 b([)q Fs(a)2096 2595 y Fn(1)2136 2580
y Fu(])g(]:)p Fb(sub)715 2795 y Ft(C)6 b(B)t Fu([)-17
b([)q Fr(true)p Fu(])g(])230 b(=)100 b Fb(tr)n(ue)715
2962 y Ft(C)6 b(B)t Fu([)-17 b([)q Fr(false)p Fu(])g(])179
b(=)100 b Fb(f)-9 b(alse)715 3130 y Ft(C)6 b(B)t Fu([)-17
b([)q Fs(a)937 3145 y Fn(1)1009 3130 y Fu(=)32 b Fs(a)1174
3145 y Fn(2)1214 3130 y Fu(])-17 b(])100 b(=)g Ft(C)6
b(A)p Fu([)-17 b([)p Fs(a)1759 3145 y Fn(2)1799 3130
y Fu(])g(]:)p Ft(C)6 b(A)p Fu([)-17 b([)q Fs(a)2096 3145
y Fn(1)2136 3130 y Fu(])g(]:)p Fb(eq)715 3298 y Ft(C)6
b(B)t Fu([)-17 b([)q Fs(a)937 3313 y Fn(1)976 3298 y
Ft(\024)q Fs(a)1111 3313 y Fn(2)1151 3298 y Fu(])g(])163
b(=)100 b Ft(C)6 b(A)p Fu([)-17 b([)p Fs(a)1759 3313
y Fn(2)1799 3298 y Fu(])g(]:)p Ft(C)6 b(A)p Fu([)-17
b([)q Fs(a)2096 3313 y Fn(1)2136 3298 y Fu(])g(]:)p Fb(le)715
3465 y Ft(C)6 b(B)t Fu([)-17 b([)q Ft(:)p Fs(b)6 b Fu(])-17
b(])317 b(=)100 b Ft(C)6 b(B)s Fu([)-17 b([)q Fs(b)6
b Fu(])-17 b(])q(:)p Fb(neg)715 3633 y Ft(C)6 b(B)t Fu([)-17
b([)q Fs(b)931 3648 y Fn(1)970 3633 y Ft(^)p Fs(b)1087
3648 y Fn(2)1127 3633 y Fu(])g(])187 b(=)100 b Ft(C)6
b(B)s Fu([)-17 b([)q Fs(b)1742 3648 y Fn(2)1781 3633
y Fu(])g(])q(:)p Ft(C)6 b(B)t Fu([)-17 b([)p Fs(b)2061
3648 y Fn(1)2101 3633 y Fu(])g(]:)p Fb(and)p 3753 3694
V 283 3697 3473 4 v 1235 3858 a Fu(T)-8 b(able)33 b(3.2:)43
b(T)-8 b(ranslation)31 b(of)h(expressions)283 4081 y(of)45
b(the)f(co)s(de)h(for)f(the)h Fs(right)54 b Fu(argumen)m(t)44
b(follo)m(w)m(ed)g(b)m(y)h(that)g(for)f(the)h Fs(left)54
b Fu(argumen)m(t)44 b(and)283 4201 y(\014nally)j(the)h(appropriate)f
(instruction)f(for)h(the)h(op)s(erator.)88 b(In)48 b(this)g(w)m(a)m(y)g
(it)f(is)g(ensured)283 4322 y(that)39 b(the)h(argumen)m(ts)f(app)s(ear)
g(on)g(the)g(ev)-5 b(aluation)38 b(stac)m(k)i(in)e(the)i(order)f
(required)g(b)m(y)h(the)283 4442 y(instructions)33 b(\(in)e(T)-8
b(able)33 b(3.1\).)43 b(Note)32 b(that)h Ft(C)6 b(A)32
b Fu(and)h Ft(C)6 b(B)36 b Fu(are)d(de\014ned)h(comp)s(ositionally)-8
b(.)283 4644 y Fw(Example)37 b(3.10)49 b Fu(F)-8 b(or)38
b(the)i(arithmetic)d(expression)j Fr(x)p Fu(+)p Fr(1)g
Fu(w)m(e)g(calculate)e(the)i(co)s(de)f(as)h(fol-)283
4764 y(lo)m(ws:)552 4932 y Ft(C)6 b(A)p Fu([)-17 b([)q
Fr(x)p Fu(+)p Fr(1)p Fu(])g(])33 b(=)g Ft(C)6 b(A)o Fu([)-17
b([)q Fr(1)p Fu(])g(])q(:)p Ft(C)6 b(A)p Fu([)-17 b([)p
Fr(x)p Fu(])g(])q(:)p Fb(add)33 b Fu(=)g Fb(push)p Fu(-)p
Fr(1)p Fu(:)p Fb(fetch)p Fu(-)p Fs(x)12 b Fu(:)p Fb(add)762
b Fh(2)283 5133 y Fw(Exercise)37 b(3.11)49 b Fu(It)26
b(is)g(clear)f(that)h Ft(A)p Fu([)-17 b([\()p Fs(a)1809
5148 y Fn(1)1849 5133 y Fu(+)p Fs(a)1982 5148 y Fn(2)2022
5133 y Fu(\)+)p Fs(a)2193 5148 y Fn(3)2232 5133 y Fu(])g(])27
b(equals)f Ft(A)p Fu([)-17 b([)p Fs(a)2759 5148 y Fn(1)2799
5133 y Fu(+\()p Fs(a)2970 5148 y Fn(2)3010 5133 y Fu(+)p
Fs(a)3143 5148 y Fn(3)3182 5133 y Fu(\)])g(])q(.)41 b(Sho)m(w)27
b(that)283 5254 y(it)43 b(is)g Fs(not)53 b Fu(the)45
b(case)f(that)g Ft(C)6 b(A)o Fu([)-17 b([)q(\()p Fs(a)1581
5269 y Fn(1)1621 5254 y Fu(+)p Fs(a)1754 5269 y Fn(2)1793
5254 y Fu(\)+)p Fs(a)1964 5269 y Fn(3)2004 5254 y Fu(])g(])44
b(equals)g Ft(C)6 b(A)p Fu([)-17 b([)p Fs(a)2624 5269
y Fn(1)2664 5254 y Fu(+\()p Fs(a)2835 5269 y Fn(2)2875
5254 y Fu(+)p Fs(a)3008 5269 y Fn(3)3047 5254 y Fu(\)])g(])q(.)76
b(Nonetheless,)283 5374 y(sho)m(w)31 b(that)e Ft(C)6
b(A)o Fu([)-17 b([)q(\()p Fs(a)1000 5389 y Fn(1)1040
5374 y Fu(+)p Fs(a)1173 5389 y Fn(2)1212 5374 y Fu(\)+)p
Fs(a)1383 5389 y Fn(3)1423 5374 y Fu(])g(])29 b(and)h
Ft(C)6 b(A)o Fu([)-17 b([)q Fs(a)1908 5389 y Fn(1)1948
5374 y Fu(+\()p Fs(a)2119 5389 y Fn(2)2158 5374 y Fu(+)p
Fs(a)2291 5389 y Fn(3)2331 5374 y Fu(\)])g(])29 b(do)g(in)g(fact)g
Fs(b)-5 b(ehave)35 b Fu(similar)26 b(to)j(one)283 5494
y(another.)3046 b Fh(2)p eop
%%Page: 71 81
71 80 bop 0 130 a Fw(3.2)112 b(Sp)s(eci\014cation)37
b(of)h(the)f(translation)1596 b(71)p 0 193 3473 4 v 0
515 a Fp(Statemen)l(ts)0 700 y Fu(The)38 b(translation)e(of)h(statemen)
m(ts)h(in)m(to)f(abstract)h(mac)m(hine)f(co)s(de)g(is)g(giv)m(en)h(b)m
(y)g(the)g(\(total\))0 820 y(function)244 1012 y Ft(C)6
b(S)i Fu(:)43 b Fw(Stm)32 b Ft(!)g Fw(Co)s(de)0 1204
y Fu(sp)s(eci\014ed)i(in)e(T)-8 b(able)33 b(3.3.)44 b(The)34
b(co)s(de)g(generated)g(for)e(an)h(arithmetic)e(expression)j
Fs(a)40 b Fu(ensures)p 0 1336 V 0 2176 4 841 v 432 1445
a Ft(C)6 b(S)i Fu([)-17 b([)q Fs(x)44 b Fu(:=)32 b Fs(a)7
b Fu(])-17 b(])757 b(=)100 b Ft(C)6 b(A)p Fu([)-17 b([)p
Fs(a)7 b Fu(])-17 b(])q(:)p Fb(store)p Fu(-)p Fs(x)432
1612 y Ft(C)6 b(S)i Fu([)-17 b([)q Fr(skip)p Fu(])g(])834
b(=)100 b Fb(noop)432 1780 y Ft(C)6 b(S)i Fu([)-17 b([)q
Fs(S)663 1795 y Fn(1)702 1780 y Fu(;)p Fs(S)796 1795
y Fn(2)835 1780 y Fu(])g(])799 b(=)100 b Ft(C)6 b(S)i
Fu([)-17 b([)q Fs(S)2078 1795 y Fn(1)2117 1780 y Fu(])g(]:)p
Ft(C)6 b(S)j Fu([)-17 b([)p Fs(S)2412 1795 y Fn(2)2452
1780 y Fu(])g(])432 1948 y Ft(C)6 b(S)i Fu([)-17 b([)q
Fr(if)33 b Fs(b)38 b Fr(then)c Fs(S)1119 1963 y Fn(1)1190
1948 y Fr(else)g Fs(S)1495 1963 y Fn(2)1534 1948 y Fu(])-17
b(])100 b(=)g Ft(C)6 b(B)t Fu([)-17 b([)p Fs(b)6 b Fu(])-17
b(])q(:)p Fb(branch)p Fu(\()p Ft(C)6 b(S)i Fu([)-17 b([)p
Fs(S)2755 1963 y Fn(1)2795 1948 y Fu(])g(],)p Ft(C)6
b(S)j Fu([)-17 b([)p Fs(S)3090 1963 y Fn(2)3129 1948
y Fu(])g(])q(\))432 2115 y Ft(C)6 b(S)i Fu([)-17 b([)q
Fr(while)33 b Fs(b)39 b Fr(do)33 b Fs(S)12 b Fu(])-17
b(])464 b(=)100 b Fb(loop)p Fu(\()p Ft(C)6 b(B)t Fu([)-17
b([)q Fs(b)6 b Fu(])-17 b(],)p Ft(C)6 b(S)i Fu([)-17
b([)q Fs(S)12 b Fu(])-17 b(]\))p 3469 2176 V 0 2179 3473
4 v 742 2340 a(T)-8 b(able)32 b(3.3:)43 b(T)-8 b(ranslation)31
b(of)h(statemen)m(ts)i(in)d Fw(While)0 2550 y Fu(that)45
b(the)h(v)-5 b(alue)45 b(of)g(the)h(expression)h(is)e(on)g(top)h(of)f
(the)g(ev)-5 b(aluation)44 b(stac)m(k)j(when)g(it)d(has)0
2670 y(b)s(een)e(computed.)70 b(So)41 b(in)f(the)i(co)s(de)f(for)g
Fs(x)53 b Fu(:=)41 b Fs(a)49 b Fu(it)40 b(su\016ces)j(to)e(app)s(end)h
(the)f(co)s(de)h(for)f Fs(a)0 2790 y Fu(with)g(the)g(instruction)f
Fb(store)p Fu(-)p Fs(x)12 b Fu(.)67 b(This)41 b(instruction)f(assigns)h
Fs(x)53 b Fu(the)41 b(appropriate)f(v)-5 b(alue)0 2911
y(and)36 b(additionally)d(p)s(ops)j(the)h(stac)m(k.)55
b(F)-8 b(or)36 b(the)g Fr(skip)p Fu(-statemen)m(t)h(w)m(e)g(generate)g
(the)g Fb(noop)p Fu(-)0 3031 y(instruction.)42 b(F)-8
b(or)30 b(sequencing)j(of)d(statemen)m(ts)i(w)m(e)h(just)e(concatenate)
h(the)g(t)m(w)m(o)f(instruction)0 3152 y(sequences.)73
b(When)42 b(generating)f(co)s(de)h(for)f(the)h(conditional,)f(the)g(co)
s(de)h(for)f(the)h(b)s(o)s(olean)0 3272 y(expression)d(will)c(ensure)k
(that)f(a)f(truth)h(v)-5 b(alue)37 b(will)e(b)s(e)j(placed)f(on)h(top)f
(of)g(the)h(ev)-5 b(aluation)0 3392 y(stac)m(k)48 b(and)g(the)f
Fb(branch)p Fu(-instruction)f(will)f(then)i(insp)s(ect)h(\(and)f(p)s
(op\))g(that)g(v)-5 b(alue)46 b(and)0 3513 y(select)28
b(the)g(appropriate)e(piece)i(of)f(co)s(de.)42 b(Finally)-8
b(,)26 b(the)h(co)s(de)h(for)f(the)h Fr(while)p Fu(-construct)h(uses)0
3633 y(the)38 b Fb(loop)p Fu(-instruction.)56 b(Again)35
b(w)m(e)k(ma)m(y)d(note)i(that)f Ft(C)6 b(S)45 b Fu(is)36
b(de\014ned)j(in)d(a)h(comp)s(ositional)0 3754 y(manner.)0
3966 y Fw(Example)g(3.12)49 b Fu(The)33 b(co)s(de)f(generated)h(for)f
(the)g(factorial)e(statemen)m(t)j(considered)g(earlier)0
4087 y(is)f(as)h(follo)m(ws:)244 4279 y Ft(C)6 b(S)i
Fu([)-17 b([)q Fr(y)p Fu(:=)p Fr(1)p Fu(;)33 b Fr(while)g
Ft(:)q Fu(\()p Fr(x)p Fu(=)p Fr(1)p Fu(\))g Fr(do)g Fu(\()p
Fr(y)p Fu(:=)p Fr(y)g Fo(?)f Fr(x)p Fu(;)h Fr(x)p Fu(:=)p
Fr(x)p Ft(\000)p Fr(1)p Fu(\)])-17 b(])370 4446 y(=)32
b Ft(C)6 b(S)i Fu([)-17 b([)q Fr(y)p Fu(:=)p Fr(1)p Fu(])g(])q(:)p
Ft(C)6 b(S)i Fu([)-17 b([)q Fr(while)34 b Ft(:)p Fu(\()p
Fr(x)p Fu(=)p Fr(1)p Fu(\))f Fr(do)g Fu(\()p Fr(y)p Fu(:=)p
Fr(y)g Fo(?)f Fr(x)p Fu(;)h Fr(x)p Fu(:=)p Fr(x)p Ft(\000)p
Fr(1)p Fu(\)])-17 b(])370 4614 y(=)32 b Ft(C)6 b(A)p
Fu([)-17 b([)q(1])g(]:)p Fb(store)p Fu(-)p Fr(y)p Fu(:)p
Fb(loop)p Fu(\()p Ft(C)6 b(B)s Fu([)-17 b([)q Ft(:)p
Fu(\()p Fr(x)p Fu(=)p Fr(1)p Fu(\)])g(])q(,)p Ft(C)6
b(S)j Fu([)-17 b([)p Fr(y)p Fu(:=)p Fr(y)33 b Fo(?)f
Fr(x)p Fu(;)h Fr(x)p Fu(:=)p Fr(x)p Ft(\000)p Fr(1)p
Fu(])-17 b(])r(\))370 4782 y(=)32 b Fb(push)p Fu(-)p
Fr(1)p Fu(:)p Fb(store)p Fu(-)p Fr(y)p Fu(:)p Fb(loop)p
Fu(\()p Ft(C)6 b(B)s Fu([)-17 b([)p Fr(x)p Fu(=)p Fr(1)p
Fu(])g(])q(:)p Fb(neg)p Fu(,)p Ft(C)6 b(S)i Fu([)-17
b([)q Fr(y)p Fu(:=)p Fr(y)33 b Fo(?)f Fr(x)p Fu(])-17
b(])q(:)p Ft(C)6 b(S)i Fu([)-17 b([)q Fr(x)p Fu(:=)p
Fr(x)p Ft(\000)p Fr(1)p Fu(])g(])r(\))370 4925 y(.)370
4958 y(.)370 4991 y(.)370 5159 y(=)32 b Fb(push)p Fu(-)p
Fr(1)p Fu(:)p Fb(store)p Fu(-)p Fr(y)p Fu(:)p Fb(loop)p
Fu(\()p Fb(push)p Fu(-)p Fr(1)p Fu(:)p Fb(fetch)p Fu(-)p
Fr(x)p Fu(:)p Fb(eq)p Fu(:)p Fb(neg)p Fu(,)1478 5326
y Fb(fetch)p Fu(-)p Fr(x)p Fu(:)p Fb(fetch)p Fu(-)p Fr(y)p
Fu(:)p Fb(mul)-7 b(t)p Fu(:)p Fb(store)p Fu(-)p Fr(y)p
Fu(:)1654 5494 y Fb(push)p Fu(-)p Fr(1)p Fu(:)p Fb(fetch)p
Fu(-)p Fr(x)p Fu(:)p Fb(sub)p Fu(:)p Fb(store)p Fu(-)p
Fr(x)p Fu(\))412 b Fh(2)p eop
%%Page: 72 82
72 81 bop 251 130 a Fw(72)1535 b(3)112 b(Pro)m(v)-6 b(ably)36
b(Correct)h(Implemen)m(tation)p 251 193 3473 4 v 283
515 a(Exercise)g(3.13)49 b Fu(Use)33 b Ft(C)6 b(S)41
b Fu(to)32 b(generate)h(co)s(de)g(for)f(the)h(statemen)m(t)527
727 y Fr(z)p Fu(:=)p Fr(0)p Fu(;)g Fr(while)h(y)p Ft(\024)q
Fr(x)f(do)g Fu(\()p Fr(z)p Fu(:=)p Fr(z)p Fu(+)p Fr(1)p
Fu(;)g Fr(x)p Fu(:=)p Fr(x)p Ft(\000)p Fr(y)p Fu(\))283
939 y(T)-8 b(race)41 b(the)e(computation)f(of)h(the)h(co)s(de)g
(starting)e(from)g(a)h(storage)h(where)g Fr(x)g Fu(is)f
Fw(17)g Fu(and)h Fr(y)283 1059 y Fu(is)33 b Fw(5)p Fu(.)3216
b Fh(2)283 1300 y Fw(Exercise)37 b(3.14)49 b Fu(Extend)34
b Fw(While)e Fu(with)h(the)h(construct)g Fr(repeat)h
Fs(S)45 b Fr(until)34 b Fs(b)39 b Fu(and)33 b(sp)s(ecify)283
1420 y(ho)m(w)h(to)e(generate)h(co)s(de)f(for)g(it.)43
b(Note)32 b(that)g(the)h(de\014nition)e(has)i(to)f(b)s(e)h(comp)s
(ositional)c(and)283 1540 y(that)k(it)e(is)h Fs(not)42
b Fu(necessary)35 b(to)e(extend)h(the)f(instruction)e(set)j(of)e(the)h
(abstract)g(mac)m(hine.)93 b Fh(2)283 1780 y Fw(Exercise)37
b(3.15)49 b Fu(Extend)42 b Fw(While)c Fu(with)j(the)f(construct)i
Fr(for)f Fs(x)52 b Fu(:=)41 b Fs(a)2989 1795 y Fn(1)3069
1780 y Fr(to)g Fs(a)3269 1795 y Fn(2)3349 1780 y Fr(do)g
Fs(S)52 b Fu(and)283 1901 y(sp)s(ecify)38 b(ho)m(w)h(to)e(generate)h
(co)s(de)g(for)f(it.)57 b(As)38 b(in)f(Exercise)i(3.14)e(the)h
(de\014nition)f(has)g(to)h(b)s(e)283 2021 y(comp)s(ositional)26
b(but)j(y)m(ou)g(ma)m(y)g(ha)m(v)m(e)h(to)f(in)m(tro)s(duce)f(an)h
(instruction)f Fb(copy)h Fu(that)f(duplicates)283 2142
y(the)33 b(elemen)m(t)g(on)f(top)h(of)f(the)h(ev)-5 b(aluation)31
b(stac)m(k.)1569 b Fh(2)283 2441 y Fp(The)45 b(seman)l(tic)h(function)f
FC(S)1723 2459 y Fk(am)283 2629 y Fu(The)e(meaning)d(of)i(a)f(statemen)
m(t)h Fs(S)54 b Fu(can)42 b(no)m(w)g(b)s(e)g(obtained)f(b)m(y)i
(\014rst)f(translating)e(it)h(in)m(to)283 2749 y(co)s(de)33
b(for)f Fw(AM)g Fu(and)h(next)g(executing)g(the)g(co)s(de)f(on)h(the)f
(abstract)h(mac)m(hine.)43 b(The)33 b(e\013ect)g(of)283
2870 y(this)g(is)f(expressed)j(b)m(y)f(the)f(function)527
3082 y Ft(S)595 3097 y Fn(am)693 3082 y Fu(:)44 b Fw(Stm)32
b Ft(!)g Fu(\()p Fw(State)g Fo(,)-17 b Ft(!)33 b Fw(State)p
Fu(\))283 3294 y(de\014ned)h(b)m(y)527 3505 y Ft(S)595
3520 y Fn(am)693 3505 y Fu([)-17 b([)q Fs(S)12 b Fu(])-17
b(])33 b(=)f(\()p Ft(M)g(\016)h(C)6 b(S)i Fu(\)[)-17
b([)p Fs(S)12 b Fu(])-17 b(])283 3747 y Fw(Exercise)37
b(3.16)49 b Fu(Mo)s(dify)27 b(the)h(co)s(de)g(generation)f(so)h(as)g
(to)f(translate)g Fw(While)f Fu(in)m(to)h(co)s(de)h(for)283
3868 y(the)40 b(abstract)f(mac)m(hine)g Fw(AM)1424 3883
y Fn(1)1502 3868 y Fu(of)g(Exercise)h(3.7.)63 b(Y)-8
b(ou)39 b(ma)m(y)g(assume)g(the)h(existence)h(of)d(a)283
3988 y(function)527 4200 y Fs(env)11 b Fu(:)43 b Fw(V)-9
b(ar)32 b Ft(!)g Fw(N)283 4412 y Fu(that)f(maps)g(v)-5
b(ariables)30 b(to)g(their)h(addresses.)45 b(Apply)31
b(the)h(co)s(de)f(generation)f(function)h(to)f(the)283
4532 y(factorial)e(statemen)m(t)j(of)e(Exercise)j(1.1)e(and)g(execute)i
(the)f(co)s(de)f(so)g(obtained)g(starting)f(from)283
4652 y(a)k(memory)e(where)j Fr(x)f Fu(is)f Fw(3)p Fu(.)2393
b Fh(2)283 4893 y Fw(Exercise)37 b(3.17)49 b Fu(Mo)s(dify)27
b(the)h(co)s(de)g(generation)f(so)h(as)g(to)f(translate)g
Fw(While)f Fu(in)m(to)h(co)s(de)h(for)283 5013 y(the)36
b(abstract)f(mac)m(hine)f Fw(AM)1411 5028 y Fn(2)1486
5013 y Fu(of)g(Exercise)i(3.8.)50 b(Be)35 b(careful)g(to)f(generate)i
(unique)f(lab)s(els,)283 5133 y(for)e(example)f(b)m(y)i(ha)m(ving)f
(\\the)g(next)h(un)m(used)h(lab)s(el")c(as)i(an)g(additional)d
(parameter)j(to)f(the)283 5254 y(co)s(de)44 b(generation)f(functions.)
76 b(Apply)44 b(the)g(co)s(de)g(generation)e(function)h(to)g(the)h
(factorial)283 5374 y(statemen)m(t)34 b(and)f(execute)i(the)f(co)s(de)g
(so)f(obtained)g(starting)f(from)g(a)g(memory)h(where)h
Fr(x)f Fu(has)283 5494 y(the)g(v)-5 b(alue)32 b Fw(3)p
Fu(.)2895 b Fh(2)p eop
%%Page: 73 83
73 82 bop 0 130 a Fw(3.3)112 b(Correctness)2530 b(73)p
0 193 3473 4 v 0 515 a Fj(3.3)161 b(Correctness)0 734
y Fu(The)33 b(correctness)g(of)f(the)g(implemen)m(tation)c(amoun)m(ts)k
(to)f(sho)m(wing)h(that,)g(if)f(w)m(e)h(\014rst)h(trans-)0
855 y(late)42 b(a)i(statemen)m(t)f(in)m(to)g(co)s(de)h(for)e
Fw(AM)i Fu(and)f(then)h(execute)h(that)e(co)s(de,)k(then)d(w)m(e)g(m)m
(ust)0 975 y(obtain)31 b(the)i(same)g(result)f(as)h(sp)s(eci\014ed)h(b)
m(y)f(the)g(op)s(erational)d(seman)m(tics)j(of)f Fw(While)p
Fu(.)0 1263 y Fp(Expressions)0 1447 y Fu(The)40 b(correctness)i(of)d
(the)g(implemen)m(tation)d(of)j(arithmetic)e(expressions)42
b(is)c(expressed)k(b)m(y)0 1568 y(the)33 b(follo)m(wing)d(lemma:)p
0 1688 3473 5 v 0 1854 a Fw(Lemma)37 b(3.18)49 b Fu(F)-8
b(or)32 b(all)e(arithmetic)h(expressions)j Fs(a)40 b
Fu(w)m(e)34 b(ha)m(v)m(e)244 2049 y Ft(hC)6 b(A)o Fu([)-17
b([)q Fs(a)7 b Fu(])-17 b(])q(,)32 b Fo(")p Fu(,)h Fs(s)8
b Ft(i)32 b Fh(\003)915 2013 y Fi(\003)987 2049 y Ft(h)o
Fo(")p Fu(,)h Ft(A)o Fu([)-17 b([)q Fs(a)7 b Fu(])-17
b(])q Fs(s)8 b Fu(,)32 b Fs(s)8 b Ft(i)0 2244 y Fu(F)-8
b(urthermore,)51 b(all)45 b(in)m(termediate)h(con\014gurations)h(of)g
(this)h(computation)e(sequence)k(will)0 2365 y(ha)m(v)m(e)34
b(a)e(non-empt)m(y)h(ev)-5 b(aluation)31 b(stac)m(k.)p
0 2485 V 0 2680 a Fw(Pro)s(of:)40 b Fu(The)d(pro)s(of)d(is)h(b)m(y)h
(structural)g(induction)e(on)h Fs(a)7 b Fu(.)52 b(Belo)m(w)36
b(w)m(e)g(shall)e(giv)m(e)h(the)h(pro)s(of)0 2800 y(for)c(three)h
(illustrativ)m(e)e(cases,)j(lea)m(ving)d(the)i(remaining)d(ones)k(as)f
(an)f(exercise.)0 2968 y Fw(The)h(case)g Fs(n)7 b Fu(:)44
b(W)-8 b(e)33 b(ha)m(v)m(e)h Ft(C)6 b(A)o Fu([)-17 b([)q
Fs(n)7 b Fu(])-17 b(])33 b(=)g Fb(push)p Fu(-)p Fs(n)38
b Fu(and)33 b(from)e(T)-8 b(able)33 b(3.1)f(w)m(e)h(get)244
3163 y Ft(h)p Fb(push)p Fu(-)p Fs(n)7 b Fu(,)31 b Fo(")p
Fu(,)i Fs(s)8 b Ft(i)32 b Fh(\003)h Ft(h)p Fo(")o Fu(,)g
Ft(N)14 b Fu([)-17 b([)q Fs(n)7 b Fu(])-17 b(])q(,)32
b Fs(s)8 b Ft(i)0 3358 y Fu(Since)33 b Ft(A)o Fu([)-17
b([)q Fs(n)7 b Fu(])-17 b(])q Fs(s)40 b Fu(=)33 b Ft(N)14
b Fu([)-17 b([)q Fs(n)7 b Fu(])-17 b(])33 b(\(see)h(T)-8
b(able)32 b(1.1\))g(w)m(e)i(ha)m(v)m(e)g(completed)e(the)h(pro)s(of)e
(in)h(this)g(case.)0 3526 y Fw(The)h(case)g Fs(x)12 b
Fu(:)43 b(W)-8 b(e)33 b(ha)m(v)m(e)h Ft(C)6 b(A)p Fu([)-17
b([)q Fs(x)12 b Fu(])-17 b(])32 b(=)h Fb(fetch)p Fu(-)p
Fs(x)44 b Fu(and)32 b(from)g(T)-8 b(able)32 b(3.1)g(w)m(e)i(get)244
3721 y Ft(h)p Fb(fetch)p Fu(-)p Fs(x)12 b Fu(,)31 b Fo(")p
Fu(,)i Fs(s)8 b Ft(i)32 b Fh(\003)h Ft(h)p Fo(")o Fu(,)g(\()p
Fs(s)41 b(x)12 b Fu(\),)32 b Fs(s)8 b Ft(i)0 3916 y Fu(Since)33
b Ft(A)o Fu([)-17 b([)q Fs(x)12 b Fu(])-17 b(])p Fs(s)41
b Fu(=)32 b Fs(s)41 b(x)j Fu(this)32 b(is)g(the)h(required)h(result.)0
4083 y Fw(The)44 b(case)g Fs(a)535 4098 y Fn(1)574 4083
y Fu(+)p Fs(a)707 4098 y Fn(2)747 4083 y Fu(:)65 b(W)-8
b(e)44 b(ha)m(v)m(e)g Ft(C)6 b(A)p Fu([)-17 b([)q Fs(a)1486
4098 y Fn(1)1525 4083 y Fu(+)p Fs(a)1658 4098 y Fn(2)1698
4083 y Fu(])g(])44 b(=)f Ft(C)6 b(A)p Fu([)-17 b([)q
Fs(a)2131 4098 y Fn(2)2170 4083 y Fu(])g(])q(:)p Ft(C)6
b(A)p Fu([)-17 b([)p Fs(a)2467 4098 y Fn(1)2507 4083
y Fu(])g(])q(:)p Fb(add)p Fu(.)76 b(The)44 b(induction)0
4204 y(h)m(yp)s(othesis)34 b(applied)d(to)h Fs(a)998
4219 y Fn(1)1071 4204 y Fu(and)g Fs(a)1317 4219 y Fn(2)1389
4204 y Fu(giv)m(es)h(that)244 4399 y Ft(hC)6 b(A)o Fu([)-17
b([)q Fs(a)515 4414 y Fn(1)555 4399 y Fu(])g(],)33 b
Fo(")p Fu(,)f Fs(s)8 b Ft(i)33 b Fh(\003)954 4363 y Fi(\003)1026
4399 y Ft(h)p Fo(")o Fu(,)g Ft(A)p Fu([)-17 b([)p Fs(a)1344
4414 y Fn(1)1384 4399 y Fu(])g(])p Fs(s)8 b Fu(,)33 b
Fs(s)8 b Ft(i)0 4594 y Fu(and)244 4789 y Ft(hC)e(A)o
Fu([)-17 b([)q Fs(a)515 4804 y Fn(2)555 4789 y Fu(])g(],)33
b Fo(")p Fu(,)f Fs(s)8 b Ft(i)33 b Fh(\003)954 4753 y
Fi(\003)1026 4789 y Ft(h)p Fo(")o Fu(,)g Ft(A)p Fu([)-17
b([)p Fs(a)1344 4804 y Fn(2)1384 4789 y Fu(])g(])p Fs(s)8
b Fu(,)33 b Fs(s)8 b Ft(i)0 4984 y Fu(In)46 b(b)s(oth)f(cases)i(all)d
(in)m(termediate)g(con\014gurations)h(will)e(ha)m(v)m(e)k(a)e(non-empt)
m(y)h(ev)-5 b(aluation)0 5104 y(stac)m(k.)45 b(Using)32
b(Exercise)i(3.4)e(w)m(e)i(get)e(that)244 5299 y Ft(hC)6
b(A)o Fu([)-17 b([)q Fs(a)515 5314 y Fn(2)555 5299 y
Fu(])g(]:)p Ft(C)6 b(A)p Fu([)-17 b([)q Fs(a)852 5314
y Fn(1)892 5299 y Fu(])g(]:)p Fb(add)p Fu(,)33 b Fo(")p
Fu(,)g Fs(s)8 b Ft(i)32 b Fh(\003)1503 5263 y Fi(\003)1575
5299 y Ft(hC)6 b(A)p Fu([)-17 b([)q Fs(a)1847 5314 y
Fn(1)1886 5299 y Fu(])g(])q(:)p Fb(add)p Fu(,)33 b Ft(A)p
Fu([)-17 b([)p Fs(a)2370 5314 y Fn(2)2410 5299 y Fu(])g(])p
Fs(s)8 b Fu(,)33 b Fs(s)8 b Ft(i)0 5494 y Fu(Applying)32
b(the)h(exercise)h(once)f(more)f(w)m(e)h(get)g(that)p
eop
%%Page: 74 84
74 83 bop 251 130 a Fw(74)1535 b(3)112 b(Pro)m(v)-6 b(ably)36
b(Correct)h(Implemen)m(tation)p 251 193 3473 4 v 527
515 a Ft(hC)6 b(A)p Fu([)-17 b([)p Fs(a)798 530 y Fn(1)838
515 y Fu(])g(])q(:)p Fb(add)p Fu(,)33 b Ft(A)p Fu([)-17
b([)p Fs(a)1322 530 y Fn(2)1362 515 y Fu(])g(])p Fs(s)8
b Fu(,)33 b Fs(s)8 b Ft(i)32 b Fh(\003)1704 479 y Fi(\003)1776
515 y Ft(h)p Fb(add)p Fu(,)h(\()p Ft(A)o Fu([)-17 b([)q
Fs(a)2272 530 y Fn(1)2312 515 y Fu(])g(])p Fs(s)8 b Fu(\):\()p
Ft(A)p Fu([)-17 b([)p Fs(a)2674 530 y Fn(2)2714 515 y
Fu(])g(])q Fs(s)8 b Fu(\),)32 b Fs(s)8 b Ft(i)283 709
y Fu(Using)33 b(the)g(transition)e(relation)f(for)i Fb(add)h
Fu(giv)m(en)g(in)f(T)-8 b(able)32 b(3.1)g(w)m(e)i(get)527
903 y Ft(h)p Fb(add)p Fu(,)f(\()p Ft(A)p Fu([)-17 b([)p
Fs(a)1023 918 y Fn(1)1063 903 y Fu(])g(])q Fs(s)8 b Fu(\):\()p
Ft(A)o Fu([)-17 b([)q Fs(a)1426 918 y Fn(2)1465 903 y
Fu(])g(])q Fs(s)8 b Fu(\),)33 b Fs(s)8 b Ft(i)32 b Fh(\003)h
Ft(h)p Fo(")o Fu(,)g Ft(A)p Fu([)-17 b([)p Fs(a)2196
918 y Fn(1)2236 903 y Fu(])g(])p Fs(s)8 b Fu(+)p Ft(A)p
Fu([)-17 b([)q Fs(a)2572 918 y Fn(2)2611 903 y Fu(])g(])q
Fs(s)8 b Fu(,)33 b Fs(s)8 b Ft(i)283 1097 y Fu(It)25
b(is)e(easy)j(to)e(c)m(hec)m(k)i(that)e(all)e(in)m(termediate)h
(con\014gurations)h(ha)m(v)m(e)h(a)f(non-empt)m(y)h(ev)-5
b(aluation)283 1217 y(stac)m(k.)45 b(Since)33 b Ft(A)o
Fu([)-17 b([)q Fs(a)1000 1232 y Fn(1)1040 1217 y Fu(+)p
Fs(a)1173 1232 y Fn(2)1212 1217 y Fu(])g(])q Fs(s)41
b Fu(=)32 b Ft(A)o Fu([)-17 b([)q Fs(a)1613 1232 y Fn(1)1653
1217 y Fu(])g(])p Fs(s)41 b Fu(+)32 b Ft(A)p Fu([)-17
b([)p Fs(a)2053 1232 y Fn(2)2093 1217 y Fu(])g(])q Fs(s)40
b Fu(w)m(e)34 b(ha)m(v)m(e)g(the)f(desired)g(result.)336
b Fh(2)430 1421 y Fu(W)-8 b(e)33 b(ha)m(v)m(e)h(a)e(similar)d(result)k
(for)f(b)s(o)s(olean)f(expressions:)283 1636 y Fw(Exercise)37
b(3.19)49 b(\(Essen)m(tial\))30 b Fu(Sho)m(w)k(that)e(for)g(all)e(b)s
(o)s(olean)h(expressions)k Fs(b)j Fu(w)m(e)c(ha)m(v)m(e)527
1830 y Ft(hC)6 b(B)t Fu([)-17 b([)p Fs(b)6 b Fu(])-17
b(])q(,)33 b Fo(")o Fu(,)g Fs(s)8 b Ft(i)32 b Fh(\003)1181
1794 y Fi(\003)1253 1830 y Ft(h)o Fo(")p Fu(,)h Ft(B)s
Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(])p Fs(s)8 b Fu(,)33
b Fs(s)8 b Ft(i)283 2024 y Fu(F)-8 b(urthermore,)48 b(sho)m(w)d(that)g
(all)d(in)m(termediate)i(con\014gurations)g(of)g(this)g(computation)g
(se-)283 2144 y(quence)35 b(will)30 b(ha)m(v)m(e)k(a)e(non-empt)m(y)h
(ev)-5 b(aluation)31 b(stac)m(k.)1385 b Fh(2)283 2432
y Fp(Statemen)l(ts)283 2616 y Fu(When)42 b(form)m(ulating)c(the)j
(correctness)h(of)e(the)h(result)g(for)f(statemen)m(ts)i(w)m(e)f(ha)m
(v)m(e)h(a)e(c)m(hoice)283 2737 y(b)s(et)m(w)m(een)35
b(using)429 2931 y Ft(\017)48 b Fu(the)33 b(natural)f(seman)m(tics,)h
(or)429 3131 y Ft(\017)48 b Fu(the)33 b(structural)g(op)s(erational)d
(seman)m(tics.)283 3325 y(Here)e(w)m(e)g(shall)d(use)j(the)f(natural)f
(seman)m(tics)h(but)g(in)f(the)i(next)f(section)g(w)m(e)h(sk)m(etc)m(h)
h(the)f(pro)s(of)283 3445 y(in)k(the)h(case)h(where)g(the)f(structural)
f(op)s(erational)e(seman)m(tics)j(is)f(used.)430 3565
y(The)k(correctness)i(of)d(the)h(translation)d(of)i(statemen)m(ts)i(is)
e(expressed)j(b)m(y)f(the)f(follo)m(wing)283 3686 y(theorem:)p
283 3806 3473 5 v 283 3971 a Fw(Theorem)i(3.20)49 b Fu(F)-8
b(or)31 b(ev)m(ery)k(statemen)m(t)e Fs(S)44 b Fu(of)32
b Fw(While)f Fu(w)m(e)j(ha)m(v)m(e)g Ft(S)2863 3986 y
Fn(ns)2934 3971 y Fu([)-17 b([)p Fs(S)12 b Fu(])-17 b(])33
b(=)g Ft(S)3284 3986 y Fn(am)3383 3971 y Fu([)-17 b([)p
Fs(S)12 b Fu(])-17 b(])q(.)p 283 4091 V 430 4285 a(This)28
b(theorem)g(relates)g(the)h(b)s(eha)m(viour)f(of)g(a)g(statemen)m(t)h
(under)g(the)g(natural)e(seman)m(tics)283 4406 y(with)47
b(the)g(b)s(eha)m(viour)f(of)g(the)h(co)s(de)g(on)g(the)g(abstract)g
(mac)m(hine)f(under)h(its)f(op)s(erational)283 4526 y(seman)m(tics.)e
(In)33 b(analogy)e(with)i(Theorem)g(2.26)e(it)h(expresses)k(t)m(w)m(o)d
(prop)s(erties:)429 4720 y Ft(\017)48 b Fu(If)27 b(the)g(execution)g
(of)f Fs(S)38 b Fu(from)26 b(some)g(state)h(terminates)f(in)g(one)g(of)
h(the)f(seman)m(tics)h(then)527 4840 y(it)32 b(also)g(terminates)f(in)h
(the)h(other)g(and)g(the)g(resulting)e(states)j(will)c(b)s(e)j(equal.)
429 5040 y Ft(\017)48 b Fu(F)-8 b(urthermore,)39 b(if)e(the)i
(execution)g(of)f Fs(S)50 b Fu(from)37 b(some)h(state)g(lo)s(ops)f(in)h
(one)g(of)g(the)h(se-)527 5161 y(man)m(tics)32 b(then)h(it)f(will)e
(also)i(lo)s(op)f(in)h(the)h(other.)283 5355 y(The)d(theorem)e(is)f
(pro)m(v)m(ed)j(in)e(t)m(w)m(o)h(stages)f(as)h(expressed)i(b)m(y)e
(Lemmas)e(3.21)h(and)g(3.22)g(b)s(elo)m(w.)283 5475 y(W)-8
b(e)33 b(shall)f(\014rst)h(pro)m(v)m(e:)p eop
%%Page: 75 85
75 84 bop 0 130 a Fw(3.3)112 b(Correctness)2530 b(75)p
0 193 3473 4 v 0 515 3473 5 v 0 683 a(Lemma)37 b(3.21)49
b Fu(F)-8 b(or)31 b(ev)m(ery)j(statemen)m(t)e Fs(S)44
b Fu(of)32 b Fw(While)e Fu(and)i(states)h Fs(s)40 b Fu(and)32
b Fs(s)2844 647 y Fi(0)2867 683 y Fu(,)g(w)m(e)h(ha)m(v)m(e)h(that)244
880 y(if)d Ft(h)p Fs(S)12 b Fu(,)32 b Fs(s)8 b Ft(i)33
b(!)f Fs(s)798 843 y Fi(0)886 880 y Fu(then)i Ft(h)o(C)6
b(S)i Fu([)-17 b([)q Fs(S)12 b Fu(])-17 b(],)33 b Fo(")p
Fu(,)f Fs(s)8 b Ft(i)33 b Fh(\003)1777 843 y Fi(\003)1849
880 y Ft(h)p Fo(")o Fu(,)g Fo(")p Fu(,)f Fs(s)2146 843
y Fi(0)2170 880 y Ft(i)0 1076 y Fu(So)48 b(if)f(the)h(execution)h(of)e
Fs(S)60 b Fu(from)47 b Fs(s)56 b Fu(terminates)47 b(in)g(the)h(natural)
f(seman)m(tics)h(then)h(the)0 1197 y(execution)34 b(of)e(the)h(co)s(de)
g(for)g Fs(S)44 b Fu(from)32 b(storage)g Fs(s)41 b Fu(will)31
b(terminate)g(and)i(the)h(resulting)d(states)0 1317 y(and)i(storages)g
(will)d(b)s(e)j(equal.)p 0 1437 V 0 1634 a Fw(Pro)s(of:)e
Fu(W)-8 b(e)27 b(pro)s(ceed)h(b)m(y)g(induction)e(on)g(the)i(shap)s(e)f
(of)g(the)g(deriv)-5 b(ation)25 b(tree)j(for)e Ft(h)p
Fs(S)12 b Fu(,)33 b Fs(s)8 b Ft(i)o(!)p Fs(s)3422 1598
y Fi(0)3445 1634 y Fu(.)0 1802 y Fw(The)33 b(case)g Fu([ass)608
1817 y Fn(ns)680 1802 y Fu(]:)44 b(W)-8 b(e)33 b(assume)g(that)244
1998 y Ft(h)p Fs(x)12 b Fu(:=)p Fs(a)7 b Fu(,)32 b Fs(s)8
b Ft(i!)p Fs(s)794 1962 y Fi(0)0 2195 y Fu(where)34 b
Fs(s)330 2159 y Fi(0)353 2195 y Fu(=)p Fs(s)8 b Fu([)p
Fs(x)k Ft(7!A)o Fu([)-17 b([)q Fs(a)7 b Fu(])-17 b(])q
Fs(s)8 b Fu(].)43 b(F)-8 b(rom)31 b(T)-8 b(able)33 b(3.3)f(w)m(e)h(ha)m
(v)m(e)244 2391 y Ft(C)6 b(S)i Fu([)-17 b([)q Fs(x)12
b Fu(:=)p Fs(a)7 b Fu(])-17 b(])33 b(=)f Ft(C)6 b(A)p
Fu([)-17 b([)p Fs(a)7 b Fu(])-17 b(])q(:)p Fb(store)p
Fu(-)p Fs(x)0 2588 y Fu(F)-8 b(rom)31 b(Lemma)g(3.18)h(applied)g(to)g
Fs(a)40 b Fu(w)m(e)33 b(get)244 2785 y Ft(hC)6 b(A)o
Fu([)-17 b([)q Fs(a)7 b Fu(])-17 b(])q(,)32 b Fo(")p
Fu(,)h Fs(s)8 b Ft(i)32 b Fh(\003)915 2749 y Fi(\003)987
2785 y Ft(h)o Fo(")p Fu(,)h Ft(A)o Fu([)-17 b([)q Fs(a)7
b Fu(])-17 b(])q Fs(s)8 b Fu(,)32 b Fs(s)8 b Ft(i)0 2981
y Fu(and)33 b(then)g(Exercise)h(3.4)e(giv)m(es)h(the)g(\014rst)g(part)f
(of)244 3178 y Ft(hC)6 b(A)o Fu([)-17 b([)q Fs(a)7 b
Fu(])-17 b(])q(:)p Fb(store)p Fu(-)p Fs(x)12 b Fu(,)31
b Fo(")p Fu(,)i Fs(s)8 b Ft(i)32 b Fh(\003)1314 3142
y Fi(\003)1386 3178 y Ft(h)p Fb(store)p Fu(-)p Fs(x)12
b Fu(,)31 b(\()p Ft(A)p Fu([)-17 b([)p Fs(a)7 b Fu(])-17
b(])q Fs(s)8 b Fu(\),)33 b Fs(s)8 b Ft(i)1237 3346 y
Fh(\003)72 b Ft(h)p Fo(")p Fu(,)32 b Fo(")p Fu(,)h Fs(s)8
b Fu([)p Fs(x)k Ft(7!)o(A)p Fu([)-17 b([)p Fs(a)7 b Fu(])-17
b(])q Fs(s)8 b Fu(])p Ft(i)0 3542 y Fu(and)35 b(the)g(second)h(part)e
(follo)m(ws)g(from)f(the)i(op)s(erational)d(seman)m(tics)j(for)f
Fb(store)p Fu(-)p Fs(x)45 b Fu(giv)m(en)35 b(in)0 3663
y(T)-8 b(able)32 b(3.1.)43 b(Since)33 b Fs(s)766 3626
y Fi(0)822 3663 y Fu(=)f Fs(s)8 b Fu([)p Fs(x)k Ft(7!A)p
Fu([)-17 b([)p Fs(a)7 b Fu(])-17 b(])q Fs(s)8 b Fu(])33
b(this)f(completes)g(the)h(pro)s(of.)0 3830 y Fw(The)g(case)g
Fu([skip)654 3845 y Fn(ns)726 3830 y Fu(]:)43 b(Straigh)m(tforw)m(ard.)
0 3998 y Fw(The)33 b(case)g Fu([comp)711 4013 y Fn(ns)782
3998 y Fu(]:)43 b(Assume)34 b(that)244 4194 y Ft(h)p
Fs(S)350 4209 y Fn(1)389 4194 y Fu(;)p Fs(S)483 4209
y Fn(2)522 4194 y Fu(,)f Fs(s)8 b Ft(i)32 b(!)g Fs(s)881
4158 y Fi(00)0 4391 y Fu(holds)g(b)s(ecause)244 4588
y Ft(h)p Fs(S)350 4603 y Fn(1)389 4588 y Fu(,)h Fs(s)8
b Ft(i)32 b(!)g Fs(s)748 4551 y Fi(0)804 4588 y Fu(and)h
Ft(h)o Fs(S)1099 4603 y Fn(2)1139 4588 y Fu(,)f Fs(s)1246
4551 y Fi(0)1270 4588 y Ft(i)g(!)g Fs(s)1521 4551 y Fi(00)0
4784 y Fu(F)-8 b(rom)31 b(T)-8 b(able)32 b(3.3)g(w)m(e)i(ha)m(v)m(e)244
4981 y Ft(C)6 b(S)i Fu([)-17 b([)q Fs(S)475 4996 y Fn(1)514
4981 y Fu(;)p Fs(S)608 4996 y Fn(2)647 4981 y Fu(])g(])33
b(=)g Ft(C)6 b(S)i Fu([)-17 b([)p Fs(S)1056 4996 y Fn(1)1096
4981 y Fu(])g(]:)p Ft(C)6 b(S)i Fu([)-17 b([)q Fs(S)1391
4996 y Fn(2)1430 4981 y Fu(])g(])0 5177 y(W)-8 b(e)44
b(shall)e(no)m(w)i(apply)g(the)g(induction)e(h)m(yp)s(othesis)j(to)e
(the)h(premises)g Ft(h)p Fs(S)2850 5192 y Fn(1)2889 5177
y Fu(,)33 b Fs(s)8 b Ft(i)32 b(!)g Fs(s)3248 5141 y Fi(0)3315
5177 y Fu(and)0 5298 y Ft(h)p Fs(S)106 5313 y Fn(2)145
5298 y Fu(,)h Fs(s)253 5262 y Fi(0)276 5298 y Ft(i)f(!)g
Fs(s)527 5262 y Fi(00)602 5298 y Fu(and)h(w)m(e)h(get)244
5494 y Ft(hC)6 b(S)i Fu([)-17 b([)p Fs(S)513 5509 y Fn(1)553
5494 y Fu(])g(],)33 b Fo(")o Fu(,)g Fs(s)8 b Ft(i)32
b Fh(\003)952 5458 y Fi(\003)1024 5494 y Ft(h)p Fo(")o
Fu(,)h Fo(")o Fu(,)g Fs(s)1321 5458 y Fi(0)1344 5494
y Ft(i)p eop
%%Page: 76 86
76 85 bop 251 130 a Fw(76)1535 b(3)112 b(Pro)m(v)-6 b(ably)36
b(Correct)h(Implemen)m(tation)p 251 193 3473 4 v 283
515 a Fu(and)527 716 y Ft(hC)6 b(S)i Fu([)-17 b([)q Fs(S)797
731 y Fn(2)836 716 y Fu(])g(])q(,)32 b Fo(")p Fu(,)g
Fs(s)1086 680 y Fi(0)1110 716 y Ft(i)g Fh(\003)1259 680
y Fi(\003)1331 716 y Ft(h)o Fo(")p Fu(,)h Fo(")o Fu(,)g
Fs(s)1628 680 y Fi(00)1670 716 y Ft(i)283 917 y Fu(Using)g(Exercise)h
(3.4)e(w)m(e)h(then)h(ha)m(v)m(e)527 1117 y Ft(hC)6 b(S)i
Fu([)-17 b([)q Fs(S)797 1132 y Fn(1)836 1117 y Fu(])g(])q(:)p
Ft(C)6 b(S)i Fu([)-17 b([)p Fs(S)1131 1132 y Fn(2)1171
1117 y Fu(])g(],)33 b Fo(")o Fu(,)g Fs(s)8 b Ft(i)32
b Fh(\003)1570 1081 y Fi(\003)1642 1117 y Ft(hC)6 b(S)i
Fu([)-17 b([)p Fs(S)1911 1132 y Fn(2)1951 1117 y Fu(])g(],)33
b Fo(")o Fu(,)g Fs(s)2201 1081 y Fi(0)2224 1117 y Ft(i)g
Fh(\003)2373 1081 y Fi(\003)2445 1117 y Ft(h)p Fo(")o
Fu(,)g Fo(")p Fu(,)f Fs(s)2742 1081 y Fi(00)2785 1117
y Ft(i)283 1318 y Fu(and)h(the)g(result)g(follo)m(ws.)283
1486 y Fw(The)g(case)g Fu([if)836 1450 y Fn(tt)824 1510
y(ns)895 1486 y Fu(]:)43 b(Assume)34 b(that)527 1686
y Ft(h)p Fr(if)f Fs(b)39 b Fr(then)33 b Fs(S)1089 1701
y Fn(1)1161 1686 y Fr(else)h Fs(S)1466 1701 y Fn(2)1505
1686 y Fu(,)e Fs(s)8 b Ft(i)33 b(!)f Fs(s)1864 1650 y
Fi(0)283 1887 y Fu(b)s(ecause)i Ft(B)t Fu([)-17 b([)p
Fs(b)6 b Fu(])-17 b(])q Fs(s)41 b Fu(=)32 b Fw(tt)g Fu(and)527
2088 y Ft(h)p Fs(S)633 2103 y Fn(1)672 2088 y Fu(,)h
Fs(s)8 b Ft(i)32 b(!)g Fs(s)1031 2052 y Fi(0)283 2288
y Fu(F)-8 b(rom)32 b(T)-8 b(able)32 b(3.3)g(w)m(e)i(get)e(that)527
2489 y Ft(C)6 b(S)i Fu([)-17 b([)q Fr(if)33 b Fs(b)38
b Fr(then)c Fs(S)1214 2504 y Fn(1)1286 2489 y Fr(else)f
Fs(S)1590 2504 y Fn(2)1630 2489 y Fu(])-17 b(])33 b(=)f
Ft(C)6 b(B)t Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(]:)p
Fb(branch)p Fu(\()p Ft(C)6 b(S)i Fu([)-17 b([)q Fs(S)2717
2504 y Fn(1)2756 2489 y Fu(])g(])q(,)32 b Ft(C)6 b(S)i
Fu([)-17 b([)q Fs(S)3084 2504 y Fn(2)3123 2489 y Fu(])g(])q(\))283
2690 y(Using)33 b(Exercises)h(3.19)e(and)h(3.4)f(w)m(e)h(get)g(the)g
(\014rst)g(part)f(of)527 2890 y Ft(hC)6 b(B)t Fu([)-17
b([)p Fs(b)6 b Fu(])-17 b(])q(:)p Fb(branch)p Fu(\()p
Ft(C)6 b(S)i Fu([)-17 b([)q Fs(S)1475 2905 y Fn(1)1514
2890 y Fu(])g(],)33 b Ft(C)6 b(S)i Fu([)-17 b([)q Fs(S)1842
2905 y Fn(2)1881 2890 y Fu(])g(])q(\),)32 b Fo(")p Fu(,)g
Fs(s)8 b Ft(i)819 3058 y Fh(\003)896 3022 y Fi(\003)968
3058 y Ft(h)p Fb(branch)p Fu(\()p Ft(C)e(S)i Fu([)-17
b([)q Fs(S)1636 3073 y Fn(1)1675 3058 y Fu(])g(])q(,)32
b Ft(C)6 b(S)i Fu([)-17 b([)q Fs(S)2003 3073 y Fn(2)2042
3058 y Fu(])g(])q(\),)32 b(\()p Ft(B)t Fu([)-17 b([)p
Fs(b)6 b Fu(])-17 b(])q Fs(s)8 b Fu(\),)32 b Fs(s)8 b
Ft(i)819 3226 y Fh(\003)72 b Ft(hC)6 b(S)i Fu([)-17 b([)q
Fs(S)1238 3241 y Fn(1)1277 3226 y Fu(])g(])q(,)32 b Fo(")p
Fu(,)h Fs(s)8 b Ft(i)819 3393 y Fh(\003)896 3357 y Fi(\003)968
3393 y Ft(h)p Fo(")p Fu(,)32 b Fo(")p Fu(,)h Fs(s)1266
3357 y Fi(0)1289 3393 y Ft(i)283 3594 y Fu(The)49 b(second)h(part)d
(follo)m(ws)g(from)f(the)j(de\014nition)e(of)g(the)h(meaning)f(of)g
(the)i(instruction)283 3714 y Fb(branch)31 b Fu(in)f(the)h(case)h
(where)g(the)f(elemen)m(t)g(on)f(top)h(of)f(the)h(ev)-5
b(aluation)29 b(stac)m(k)j(is)f Fw(tt)e Fu(\(whic)m(h)283
3835 y(is)39 b(the)h(v)-5 b(alue)38 b(of)h Ft(B)s Fu([)-17
b([)q Fs(b)6 b Fu(])-17 b(])p Fs(s)8 b Fu(\).)64 b(The)40
b(third)e(part)h(of)g(the)g(computation)f(sequence)k(comes)d(from)283
3955 y(applying)32 b(the)h(induction)e(h)m(yp)s(othesis)j(to)e(the)h
(premise)g Ft(h)o Fs(S)2515 3970 y Fn(1)2555 3955 y Fu(,)f
Fs(s)8 b Ft(i)32 b(!)h Fs(s)2914 3919 y Fi(0)2937 3955
y Fu(.)283 4123 y Fw(The)g(case)g Fu([if)836 4087 y Fn(\013)824
4147 y(ns)895 4123 y Fu(]:)43 b(Analogous.)283 4290 y
Fw(The)33 b(case)g Fu([while)1001 4254 y Fn(tt)989 4315
y(ns)1060 4290 y Fu(]:)44 b(Assume)33 b(that)527 4491
y Ft(h)p Fr(while)h Fs(b)k Fr(do)33 b Fs(S)12 b Fu(,)33
b Fs(s)8 b Ft(i)32 b(!)g Fs(s)1499 4455 y Fi(00)283 4692
y Fu(b)s(ecause)i Ft(B)t Fu([)-17 b([)p Fs(b)6 b Fu(])-17
b(])q Fs(s)41 b Fu(=)32 b Fw(tt)p Fu(,)527 4892 y Ft(h)p
Fs(S)12 b Fu(,)33 b Fs(s)8 b Ft(i)32 b(!)g Fs(s)992 4856
y Fi(0)1048 4892 y Fu(and)h Ft(h)o Fr(while)h Fs(b)39
b Fr(do)33 b Fs(S)12 b Fu(,)32 b Fs(s)1958 4856 y Fi(0)1982
4892 y Ft(i)g(!)g Fs(s)2233 4856 y Fi(00)283 5093 y Fu(F)-8
b(rom)32 b(T)-8 b(able)32 b(3.3)g(w)m(e)i(ha)m(v)m(e)527
5294 y Ft(C)6 b(S)i Fu([)-17 b([)q Fr(while)34 b Fs(b)k
Fr(do)33 b Fs(S)12 b Fu(])-17 b(])33 b(=)g Fb(loop)p
Fu(\()p Ft(C)6 b(B)t Fu([)-17 b([)p Fs(b)6 b Fu(])-17
b(])q(,)32 b Ft(C)6 b(S)i Fu([)-17 b([)q Fs(S)12 b Fu(])-17
b(]\))283 5494 y(and)33 b(get)p eop
%%Page: 77 87
77 86 bop 0 130 a Fw(3.3)112 b(Correctness)2530 b(77)p
0 193 3473 4 v 244 515 a Ft(h)p Fb(loop)p Fu(\()p Ft(C)6
b(B)t Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])q(,)32 b Ft(C)6
b(S)i Fu([)-17 b([)q Fs(S)12 b Fu(])-17 b(]\),)33 b Fo(")p
Fu(,)f Fs(s)8 b Ft(i)516 683 y Fh(\003)48 b Ft(h)o(C)6
b(B)t Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(]:)p Fb(branch)p
Fu(\()p Ft(C)6 b(S)i Fu([)-17 b([)q Fs(S)12 b Fu(])-17
b(]:)p Fb(loop)p Fu(\()p Ft(C)6 b(B)t Fu([)-17 b([)q
Fs(b)6 b Fu(])-17 b(])q(,)32 b Ft(C)6 b(S)i Fu([)-17
b([)q Fs(S)12 b Fu(])-17 b(]\),)33 b Fb(noop)p Fu(\),)g
Fo(")o Fu(,)g Fs(s)8 b Ft(i)516 851 y Fh(\003)593 814
y Fi(\003)641 851 y Ft(h)o Fb(branch)p Fu(\()p Ft(C)e(S)i
Fu([)-17 b([)q Fs(S)12 b Fu(])-17 b(]:)p Fb(loop)p Fu(\()p
Ft(C)6 b(B)f Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])q(,)32
b Ft(C)6 b(S)i Fu([)-17 b([)q Fs(S)12 b Fu(])-17 b(]\),)33
b Fb(noop)p Fu(\),)g(\()p Ft(B)s Fu([)-17 b([)q Fs(b)6
b Fu(])-17 b(])p Fs(s)8 b Fu(\),)33 b Fs(s)8 b Ft(i)516
1018 y Fh(\003)48 b Ft(h)o(C)6 b(S)j Fu([)-17 b([)p Fs(S)12
b Fu(])-17 b(])q(:)p Fb(loop)p Fu(\()p Ft(C)6 b(B)t Fu([)-17
b([)p Fs(b)6 b Fu(])-17 b(])q(,)32 b Ft(C)6 b(S)i Fu([)-17
b([)q Fs(S)12 b Fu(])-17 b(]\),)33 b Fo(")p Fu(,)f Fs(s)8
b Ft(i)0 1211 y Fu(Here)25 b(the)f(\014rst)g(part)g(follo)m(ws)f(from)g
(the)h(meaning)e(of)i(the)g Fb(loop)p Fu(-instruction)f(\(see)i(T)-8
b(able)24 b(3.1\))0 1331 y(and)32 b(the)h(second)h(part)e(from)f
(Exercises)j(3.19)e(and)g(3.4.)43 b(Since)33 b Ft(B)s
Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(])p Fs(s)41 b Fu(=)32
b Fw(tt)f Fu(the)i(third)f(part)0 1451 y(follo)m(ws)38
b(from)h(the)h(meaning)e(of)h(the)i Fb(branch)p Fu(-instruction.)63
b(The)41 b(induction)d(h)m(yp)s(othesis)0 1572 y(can)33
b(no)m(w)f(b)s(e)h(applied)e(to)h(the)h(premises)f Ft(h)p
Fs(S)12 b Fu(,)32 b Fs(s)8 b Ft(i)32 b(!)g Fs(s)2002
1536 y Fi(0)2058 1572 y Fu(and)g Ft(h)p Fr(while)h Fs(b)38
b Fr(do)33 b Fs(S)12 b Fu(,)32 b Fs(s)2966 1536 y Fi(0)2990
1572 y Ft(i)g(!)g Fs(s)3241 1536 y Fi(00)3315 1572 y
Fu(and)0 1692 y(giv)m(es)244 1885 y Ft(hC)6 b(S)i Fu([)-17
b([)p Fs(S)12 b Fu(])-17 b(])q(,)32 b Fo(")p Fu(,)h Fs(s)8
b Ft(i)32 b Fh(\003)912 1849 y Fi(\003)984 1885 y Ft(h)p
Fo(")p Fu(,)g Fo(")p Fu(,)h Fs(s)1282 1849 y Fi(0)1305
1885 y Ft(i)244 2052 y(h)p Fb(loop)p Fu(\()p Ft(C)6 b(B)t
Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])q(,)32 b Ft(C)6
b(S)i Fu([)-17 b([)q Fs(S)12 b Fu(])-17 b(]\),)33 b Fo(")p
Fu(,)f Fs(s)1385 2016 y Fi(0)1409 2052 y Ft(i)g Fh(\003)1557
2016 y Fi(\003)1629 2052 y Ft(h)p Fo(")p Fu(,)g Fo(")p
Fu(,)h Fs(s)1927 2016 y Fi(00)1969 2052 y Ft(i)0 2245
y Fu(so)g(using)f(Exercise)i(3.4)e(w)m(e)i(get)244 2437
y Ft(hC)6 b(S)i Fu([)-17 b([)p Fs(S)12 b Fu(])-17 b(])q(:)p
Fb(loop)p Fu(\()p Ft(C)6 b(B)t Fu([)-17 b([)p Fs(b)6
b Fu(])-17 b(])q(,)33 b Ft(C)6 b(S)i Fu([)-17 b([)p Fs(S)12
b Fu(])-17 b(])q(\),)32 b Fo(")p Fu(,)g Fs(s)8 b Ft(i)578
2605 y Fh(\003)655 2569 y Fi(\003)727 2605 y Ft(h)p Fb(loop)p
Fu(\()p Ft(C)e(B)t Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(],)33
b Ft(C)6 b(S)i Fu([)-17 b([)p Fs(S)12 b Fu(])-17 b(])q(\),)32
b Fo(")p Fu(,)h Fs(s)1869 2569 y Fi(0)1892 2605 y Ft(i)578
2773 y Fh(\003)655 2736 y Fi(\003)727 2773 y Ft(h)p Fo(")p
Fu(,)f Fo(")p Fu(,)h Fs(s)1025 2736 y Fi(00)1067 2773
y Ft(i)0 2965 y Fw(The)28 b(case)g Fu([while)708 2929
y Fn(\013)696 2990 y(ns)767 2965 y Fu(]:)41 b(Assume)28
b(that)f Ft(h)p Fr(while)i Fs(b)k Fr(do)28 b Fs(S)12
b Fu(,)28 b Fs(s)8 b Ft(i)27 b(!)g Fs(s)2366 2929 y Fi(0)2417
2965 y Fu(holds)h(b)s(ecause)g Ft(B)t Fu([)-17 b([)q
Fs(b)6 b Fu(])-17 b(])p Fs(s)41 b Fu(=)32 b Fw(\013)0
3085 y Fu(and)h(then)g Fs(s)40 b Fu(=)33 b Fs(s)649 3049
y Fi(0)672 3085 y Fu(.)44 b(W)-8 b(e)33 b(ha)m(v)m(e)244
3278 y Ft(h)p Fb(loop)p Fu(\()p Ft(C)6 b(B)t Fu([)-17
b([)p Fs(b)6 b Fu(])-17 b(])q(,)32 b Ft(C)6 b(S)i Fu([)-17
b([)q Fs(S)12 b Fu(])-17 b(]\),)33 b Fo(")p Fu(,)f Fs(s)8
b Ft(i)516 3445 y Fh(\003)48 b Ft(h)o(C)6 b(B)t Fu([)-17
b([)q Fs(b)6 b Fu(])-17 b(]:)p Fb(branch)p Fu(\()p Ft(C)6
b(S)i Fu([)-17 b([)q Fs(S)12 b Fu(])-17 b(]:)p Fb(loop)p
Fu(\()p Ft(C)6 b(B)t Fu([)-17 b([)q Fs(b)6 b Fu(])-17
b(])q(,)32 b Ft(C)6 b(S)i Fu([)-17 b([)q Fs(S)12 b Fu(])-17
b(]\),)33 b Fb(noop)p Fu(\),)g Fo(")o Fu(,)g Fs(s)8 b
Ft(i)516 3613 y Fh(\003)593 3577 y Fi(\003)641 3613 y
Ft(h)o Fb(branch)p Fu(\()p Ft(C)e(S)i Fu([)-17 b([)q
Fs(S)12 b Fu(])-17 b(]:)p Fb(loop)p Fu(\()p Ft(C)6 b(B)f
Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])q(,)32 b Ft(C)6
b(S)i Fu([)-17 b([)q Fs(S)12 b Fu(])-17 b(]\),)33 b Fb(noop)p
Fu(\),)g(\()p Ft(B)s Fu([)-17 b([)q Fs(b)6 b Fu(])-17
b(])p Fs(s)8 b Fu(\),)33 b Fs(s)8 b Ft(i)516 3781 y Fh(\003)48
b Ft(h)o Fb(noop)p Fu(,)33 b Fo(")p Fu(,)g Fs(s)8 b Ft(i)516
3948 y Fh(\003)48 b Ft(h)o Fo(")p Fu(,)33 b Fo(")o Fu(,)g
Fs(s)8 b Ft(i)0 4141 y Fu(using)36 b(the)h(de\014nitions)f(of)g(the)h
Fb(loop)p Fu(-,)g Fb(branch)p Fu(-)f(and)g Fb(noop)p
Fu(-instructions)g(in)g(T)-8 b(able)36 b(3.1)0 4261 y(together)d(with)f
(Exercises)i(3.19)e(and)h(3.4.)1821 b Fh(2)146 4465 y
Fu(This)33 b(pro)m(v)m(es)h(Lemma)e(3.21.)42 b(The)34
b(second)g(part)e(of)g(the)h(theorem)g(follo)m(ws)e(from:)p
0 4585 3473 5 v 0 4748 a Fw(Lemma)37 b(3.22)49 b Fu(F)-8
b(or)31 b(ev)m(ery)j(statemen)m(t)e Fs(S)44 b Fu(of)32
b Fw(While)e Fu(and)i(states)h Fs(s)40 b Fu(and)32 b
Fs(s)2844 4712 y Fi(0)2867 4748 y Fu(,)g(w)m(e)h(ha)m(v)m(e)h(that)244
4941 y(if)d Ft(hC)6 b(S)i Fu([)-17 b([)q Fs(S)12 b Fu(])-17
b(],)33 b Fo(")o Fu(,)g Fs(s)8 b Ft(i)32 b Fh(\003)1002
4905 y Fn(k)1076 4941 y Ft(h)o Fo(")p Fu(,)h Fs(e)7 b
Fu(,)33 b Fs(s)1380 4905 y Fi(0)1403 4941 y Ft(i)f Fu(then)h
Ft(h)p Fs(S)12 b Fu(,)33 b Fs(s)8 b Ft(i)32 b(!)g Fs(s)2161
4905 y Fi(0)2217 4941 y Fu(and)h Fs(e)40 b Fu(=)32 b
Fo(")0 5133 y Fu(So)f(if)f(the)i(execution)g(of)f(the)h(co)s(de)f(for)g
Fs(S)43 b Fu(from)30 b(a)i(storage)f Fs(s)39 b Fu(terminates)31
b(then)h(the)g(natural)0 5254 y(seman)m(tics)k(of)g Fs(S)48
b Fu(from)34 b Fs(s)44 b Fu(will)34 b(terminate)h(in)g(a)h(state)g(b)s
(eing)f(equal)h(to)g(the)g(storage)g(of)g(the)0 5374
y(terminal)30 b(con\014guration.)p 0 5494 V eop
%%Page: 78 88
78 87 bop 251 130 a Fw(78)1535 b(3)112 b(Pro)m(v)-6 b(ably)36
b(Correct)h(Implemen)m(tation)p 251 193 3473 4 v 283
515 a(Pro)s(of:)29 b Fu(W)-8 b(e)26 b(shall)d(pro)s(ceed)j(b)m(y)g
(induction)e(on)h(the)h(length)e(k)i(of)e(the)i(computation)d(sequence)
283 636 y(of)37 b(the)f(abstract)h(mac)m(hine.)55 b(If)37
b(k)f(=)h(0)f(the)h(result)f(holds)h(v)-5 b(acuously)37
b(b)s(ecause)g Ft(C)6 b(S)i Fu([)-17 b([)q Fs(S)12 b
Fu(])-17 b(])37 b(=)f Fo(")283 756 y Fu(cannot)d(o)s(ccur.)43
b(So)32 b(assume)h(that)f(it)f(holds)h(for)g(k)g Ft(\024)h
Fu(k)2331 771 y Fn(0)2403 756 y Fu(and)f(w)m(e)h(shall)e(pro)m(v)m(e)i
(that)f(it)f(holds)283 877 y(for)h(k)i(=)e(k)676 892
y Fn(0)716 877 y Fu(+1.)43 b(W)-8 b(e)33 b(pro)s(ceed)g(b)m(y)h(cases)g
(on)e(the)h(statemen)m(t)g Fs(S)12 b Fu(.)283 1044 y
Fw(The)33 b(case)g Fs(x)12 b Fu(:=)p Fs(a)7 b Fu(:)44
b(W)-8 b(e)33 b(then)g(ha)m(v)m(e)h Ft(C)6 b(S)i Fu([)-17
b([)q Fs(x)44 b Fu(:=)33 b Fs(a)7 b Fu(])-17 b(])33 b(=)f
Ft(C)6 b(A)p Fu([)-17 b([)q Fs(a)7 b Fu(])-17 b(])q(:)p
Fb(store)p Fu(-)p Fs(x)43 b Fu(so)33 b(assume)g(that)527
1245 y Ft(hC)6 b(A)p Fu([)-17 b([)p Fs(a)7 b Fu(])-17
b(])q(:)p Fb(store)p Fu(-)p Fs(x)12 b Fu(,)32 b Fo(")o
Fu(,)h Fs(s)8 b Ft(i)32 b Fh(\003)1598 1209 y Fn(k)1635
1218 y Fd(0)1670 1209 y Fn(+1)1797 1245 y Ft(h)o Fo(")p
Fu(,)h Fs(e)7 b Fu(,)32 b Fs(s)2100 1209 y Fi(0)2124
1245 y Ft(i)283 1446 y Fu(Then)41 b(b)m(y)f(Exercise)h(3.5)e(there)h(m)
m(ust)g(b)s(e)f(a)g(con\014guration)g(of)g(the)g(form)f
Ft(h)p Fo(")p Fu(,)32 b Fs(e)3297 1409 y Fi(00)3340 1446
y Fu(,)h Fs(s)3448 1409 y Fi(00)3490 1446 y Ft(i)39 b
Fu(suc)m(h)283 1566 y(that)527 1767 y Ft(hC)6 b(A)p Fu([)-17
b([)p Fs(a)7 b Fu(])-17 b(])q(,)33 b Fo(")p Fu(,)f Fs(s)8
b Ft(i)33 b Fh(\003)1198 1730 y Fn(k)1235 1739 y Fd(1)1307
1767 y Ft(h)o Fo(")p Fu(,)g Fs(e)1503 1730 y Fi(00)1545
1767 y Fu(,)g Fs(s)1653 1730 y Fi(00)1695 1767 y Ft(i)527
1934 y(h)p Fb(store)p Fu(-)p Fs(x)12 b Fu(,)31 b Fs(e)1050
1898 y Fi(00)1093 1934 y Fu(,)i Fs(s)1201 1898 y Fi(00)1243
1934 y Ft(i)g Fh(\003)1392 1898 y Fn(k)1429 1907 y Fd(2)1500
1934 y Ft(h)p Fo(")p Fu(,)g Fs(e)7 b Fu(,)32 b Fs(s)1804
1898 y Fi(0)1828 1934 y Ft(i)283 2135 y Fu(where)h(k)615
2150 y Fn(1)687 2135 y Fu(+)e(k)845 2150 y Fn(2)916 2135
y Fu(=)g(k)1074 2150 y Fn(0)1146 2135 y Fu(+)g(1.)43
b(F)-8 b(rom)30 b(Lemma)g(3.18)h(and)g(Exercise)i(3.6)e(w)m(e)i(get)e
(that)h Fs(e)3473 2099 y Fi(00)3547 2135 y Fu(m)m(ust)283
2255 y(b)s(e)39 b(\()p Ft(A)o Fu([)-17 b([)q Fs(a)7 b
Fu(])-17 b(])q Fs(s)8 b Fu(\))37 b(and)i Fs(s)1039 2219
y Fi(00)1119 2255 y Fu(m)m(ust)f(b)s(e)g Fs(s)8 b Fu(.)60
b(Using)38 b(the)g(seman)m(tics)g(of)g Fb(store)p Fu(-)p
Fs(x)48 b Fu(w)m(e)39 b(therefore)g(see)283 2376 y(that)33
b Fs(s)543 2340 y Fi(0)599 2376 y Fu(is)f Fs(s)8 b Fu([)p
Fs(x)k Ft(7!)o(A)p Fu([)-17 b([)q Fs(a)7 b Fu(])-17 b(])p
Fs(s)8 b Fu(])33 b(and)g Fs(e)40 b Fu(is)32 b Fo(")o
Fu(.)44 b(It)32 b(no)m(w)i(follo)m(ws)d(from)g([ass)2748
2391 y Fn(ns)2820 2376 y Fu(])i(that)f Ft(h)p Fs(x)12
b Fu(:=)p Fs(a)7 b Fu(,)33 b Fs(s)8 b Ft(i)o(!)p Fs(s)3641
2340 y Fi(0)3664 2376 y Fu(.)283 2543 y Fw(The)33 b(case)g
Fr(skip)p Fu(:)45 b(Straigh)m(tforw)m(ard.)283 2711 y
Fw(The)33 b(case)g Fs(S)806 2726 y Fn(1)846 2711 y Fu(;)p
Fs(S)940 2726 y Fn(2)979 2711 y Fu(:)44 b(Assume)33 b(that)527
2912 y Ft(hC)6 b(S)i Fu([)-17 b([)q Fs(S)797 2927 y Fn(1)836
2912 y Fu(])g(])q(:)p Ft(C)6 b(S)i Fu([)-17 b([)p Fs(S)1131
2927 y Fn(2)1171 2912 y Fu(])g(],)33 b Fo(")o Fu(,)g
Fs(s)8 b Ft(i)32 b Fh(\003)1570 2875 y Fn(k)1607 2884
y Fd(0)1642 2875 y Fn(+1)1769 2912 y Ft(h)o Fo(")p Fu(,)h
Fs(e)7 b Fu(,)33 b Fs(s)2073 2875 y Fi(00)2115 2912 y
Ft(i)283 3112 y Fu(Then)c(b)m(y)f(Exercise)g(3.5)f(there)h(m)m(ust)f(b)
s(e)h(a)e(con\014guration)h(of)f(the)i(form)e Ft(h)p
Fo(")o Fu(,)i Fs(e)3146 3076 y Fi(0)3170 3112 y Fu(,)g
Fs(s)3273 3076 y Fi(0)3297 3112 y Ft(i)e Fu(suc)m(h)j(that)527
3313 y Ft(hC)6 b(S)i Fu([)-17 b([)q Fs(S)797 3328 y Fn(1)836
3313 y Fu(])g(])q(,)32 b Fo(")p Fu(,)g Fs(s)8 b Ft(i)33
b Fh(\003)1235 3277 y Fn(k)1272 3286 y Fd(1)1344 3313
y Ft(h)p Fo(")o Fu(,)g Fs(e)1540 3277 y Fi(0)1563 3313
y Fu(,)g Fs(s)1671 3277 y Fi(0)1694 3313 y Ft(i)527 3481
y(hC)6 b(S)i Fu([)-17 b([)q Fs(S)797 3496 y Fn(2)836
3481 y Fu(])g(])q(,)32 b Fs(e)985 3444 y Fi(0)1009 3481
y Fu(,)g Fs(s)1116 3444 y Fi(0)1140 3481 y Ft(i)g Fh(\003)1289
3444 y Fn(k)1326 3453 y Fd(2)1397 3481 y Ft(h)p Fo(")o
Fu(,)h Fs(e)7 b Fu(,)33 b Fs(s)1701 3444 y Fi(00)1743
3481 y Ft(i)283 3681 y Fu(where)e(k)613 3696 y Fn(1)682
3681 y Fu(+)f(k)839 3696 y Fn(2)908 3681 y Fu(=)f(k)1064
3696 y Fn(0)1134 3681 y Fu(+)g(1.)42 b(The)31 b(induction)d(h)m(yp)s
(othesis)j(can)e(no)m(w)h(b)s(e)g(applied)e(to)h(the)h(\014rst)283
3802 y(of)j(these)g(computation)e(sequences)36 b(b)s(ecause)e(k)2068
3817 y Fn(1)2141 3802 y Ft(\024)f Fu(k)2302 3817 y Fn(0)2374
3802 y Fu(and)g(giv)m(es)527 4002 y Ft(h)p Fs(S)633 4017
y Fn(1)672 4002 y Fu(,)g Fs(s)8 b Ft(i)32 b(!)g Fs(s)1031
3966 y Fi(0)1087 4002 y Fu(and)h Fs(e)1329 3966 y Fi(0)1385
4002 y Fu(=)g Fo(")283 4203 y Fu(Th)m(us)49 b(w)m(e)f(ha)m(v)m(e)g
Ft(hC)6 b(S)i Fu([)-17 b([)q Fs(S)1212 4218 y Fn(2)1251
4203 y Fu(])g(])q(,)50 b Fo(")p Fu(,)g Fs(s)1537 4167
y Fi(0)1561 4203 y Ft(i)c Fh(\003)1724 4167 y Fn(k)1761
4176 y Fd(2)1847 4203 y Ft(h)p Fo(")o Fu(,)51 b Fs(e)7
b Fu(,)51 b Fs(s)2187 4167 y Fi(00)2229 4203 y Ft(i)c
Fu(and)g(since)g(k)2823 4218 y Fn(2)2910 4203 y Ft(\024)h
Fu(k)3086 4218 y Fn(0)3172 4203 y Fu(the)g(induction)283
4323 y(h)m(yp)s(othesis)34 b(can)f(b)s(e)g(applied)e(to)h(this)h
(computation)e(sequence)k(and)e(giv)m(es)527 4524 y Ft(h)p
Fs(S)633 4539 y Fn(2)672 4524 y Fu(,)g Fs(s)780 4488
y Fi(0)803 4524 y Ft(i)g(!)f Fs(s)1055 4488 y Fi(00)1130
4524 y Fu(and)g Fs(e)40 b Fu(=)33 b Fo(")283 4725 y Fu(The)h(rule)e
([comp)934 4740 y Fn(ns)1005 4725 y Fu(])h(no)m(w)g(giv)m(es)g
Ft(h)p Fs(S)1613 4740 y Fn(1)1652 4725 y Fu(;)p Fs(S)1746
4740 y Fn(2)1785 4725 y Fu(,)g Fs(s)8 b Ft(i)32 b(!)g
Fs(s)2144 4689 y Fi(00)2219 4725 y Fu(as)h(required.)283
4892 y Fw(The)g(case)g Fr(if)h Fs(b)k Fr(then)c Fs(S)1263
4907 y Fn(1)1334 4892 y Fr(else)g Fs(S)1639 4907 y Fn(2)1678
4892 y Fu(:)44 b(The)33 b(co)s(de)g(generated)g(for)g(the)g
(conditional)d(is)527 5093 y Ft(C)6 b(B)t Fu([)-17 b([)q
Fs(b)6 b Fu(])-17 b(]:)p Fb(branch)p Fu(\()p Ft(C)6 b(S)i
Fu([)-17 b([)q Fs(S)1436 5108 y Fn(1)1475 5093 y Fu(])g(])q(,)32
b Ft(C)6 b(S)i Fu([)-17 b([)q Fs(S)1803 5108 y Fn(2)1842
5093 y Fu(])g(])q(\))283 5294 y(so)33 b(w)m(e)h(assume)f(that)527
5494 y Ft(hC)6 b(B)t Fu([)-17 b([)p Fs(b)6 b Fu(])-17
b(])q(:)p Fb(branch)p Fu(\()p Ft(C)6 b(S)i Fu([)-17 b([)q
Fs(S)1475 5509 y Fn(1)1514 5494 y Fu(])g(],)33 b Ft(C)6
b(S)i Fu([)-17 b([)q Fs(S)1842 5509 y Fn(2)1881 5494
y Fu(])g(])q(\),)32 b Fo(")p Fu(,)g Fs(s)8 b Ft(i)33
b Fh(\003)2318 5458 y Fn(k)2355 5467 y Fd(0)2390 5458
y Fn(+1)2517 5494 y Ft(h)p Fo(")o Fu(,)g Fs(e)7 b Fu(,)33
b Fs(s)2821 5458 y Fi(0)2844 5494 y Ft(i)p eop
%%Page: 79 89
79 88 bop 0 130 a Fw(3.3)112 b(Correctness)2530 b(79)p
0 193 3473 4 v 0 515 a Fu(Then)39 b(b)m(y)h(Exercise)f(3.5)f(there)h(m)
m(ust)f(b)s(e)h(a)f(con\014guration)f(of)h(the)h(form)e
Ft(h)p Fo(")o Fu(,)j Fs(e)3008 479 y Fi(00)3051 515 y
Fu(,)f Fs(s)3165 479 y Fi(00)3208 515 y Ft(i)f Fu(suc)m(h)0
636 y(that)244 848 y Ft(hC)6 b(B)s Fu([)-17 b([)q Fs(b)6
b Fu(])-17 b(],)33 b Fo(")p Fu(,)f Fs(s)8 b Ft(i)33 b
Fh(\003)897 812 y Fn(k)934 821 y Fd(1)1006 848 y Ft(h)o
Fo(")p Fu(,)g Fs(e)1202 812 y Fi(00)1244 848 y Fu(,)g
Fs(s)1352 812 y Fi(00)1395 848 y Ft(i)0 1060 y Fu(and)244
1272 y Ft(h)p Fb(branch)p Fu(\()p Ft(C)6 b(S)i Fu([)-17
b([)p Fs(S)911 1287 y Fn(1)950 1272 y Fu(])g(])q(,)33
b Ft(C)6 b(S)i Fu([)-17 b([)p Fs(S)1278 1287 y Fn(2)1318
1272 y Fu(])g(]\),)33 b Fs(e)1505 1235 y Fi(00)1547 1272
y Fu(,)g Fs(s)1655 1235 y Fi(00)1698 1272 y Ft(i)f Fh(\003)1846
1235 y Fn(k)1883 1244 y Fd(2)1955 1272 y Ft(h)p Fo(")o
Fu(,)h Fs(e)7 b Fu(,)33 b Fs(s)2259 1235 y Fi(0)2282
1272 y Ft(i)0 1484 y Fu(where)42 b(k)341 1499 y Fn(1)421
1484 y Fu(+)e(k)588 1499 y Fn(2)669 1484 y Fu(=)g(k)836
1499 y Fn(0)916 1484 y Fu(+)h(1.)66 b(F)-8 b(rom)39 b(Exercises)k(3.19)
d(and)g(3.6)g(w)m(e)i(get)e(that)g Fs(e)3039 1447 y Fi(00)3123
1484 y Fu(m)m(ust)g(b)s(e)0 1604 y Ft(B)s Fu([)-17 b([)q
Fs(b)6 b Fu(])-17 b(])q Fs(s)39 b Fu(and)32 b Fs(s)511
1568 y Fi(00)586 1604 y Fu(m)m(ust)g(b)s(e)g Fs(s)8 b
Fu(.)43 b(W)-8 b(e)32 b(shall)f(no)m(w)h(assume)h(that)e
Ft(B)t Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])q Fs(s)40
b Fu(=)31 b Fw(tt)p Fu(.)43 b(Then)33 b(there)f(m)m(ust)0
1724 y(b)s(e)h(a)f(con\014guration)g Ft(hC)6 b(S)i Fu([)-17
b([)p Fs(S)1074 1739 y Fn(1)1113 1724 y Fu(])g(])q(,)33
b Fo(")o Fu(,)g Fs(s)8 b Ft(i)32 b Fu(suc)m(h)i(that)244
1936 y(\()p Ft(C)6 b(S)i Fu([)-17 b([)p Fs(S)512 1951
y Fn(1)552 1936 y Fu(])g(],)33 b Fo(")p Fu(,)f Fs(s)8
b Ft(i)33 b Fh(\003)951 1900 y Fn(k)988 1909 y Fd(2)1023
1900 y Fi(\000)p Fn(1)1150 1936 y Ft(h)o Fo(")p Fu(,)g
Fs(e)7 b Fu(,)33 b Fs(s)1454 1900 y Fi(0)1477 1936 y
Ft(i)0 2148 y Fu(The)24 b(induction)d(h)m(yp)s(othesis)j(can)f(no)m(w)g
(b)s(e)g(applied)e(to)h(this)h(computation)e(sequence)k(b)s(ecause)0
2269 y(k)51 2284 y Fn(2)123 2269 y Ft(\000)33 b Fu(1)g
Ft(\024)g Fu(k)476 2284 y Fn(0)548 2269 y Fu(and)g(w)m(e)g(get)244
2481 y Ft(h)p Fs(S)350 2496 y Fn(1)389 2481 y Fu(,)g
Fs(s)8 b Ft(i)32 b(!)g Fs(s)748 2444 y Fi(0)804 2481
y Fu(and)h Fs(e)39 b Fu(=)33 b Fo(")0 2692 y Fu(The)g(rule)e([if)491
2656 y Fn(tt)479 2717 y(ns)549 2692 y Fu(])h(giv)m(es)g(the)g(required)
g Ft(h)p Fr(if)g Fs(b)38 b Fr(then)33 b Fs(S)1954 2707
y Fn(1)2025 2692 y Fr(else)f Fs(S)2328 2707 y Fn(2)2368
2692 y Fu(,)g Fs(s)8 b Ft(i)31 b(!)g Fs(s)2724 2656 y
Fi(0)2748 2692 y Fu(.)43 b(The)33 b(case)f(where)0 2813
y Ft(B)s Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(])q Fs(s)40
b Fu(=)33 b Fw(\013)f Fu(is)h(similar.)0 2980 y Fw(The)d(case)g
Fr(while)h Fs(b)36 b Fr(do)30 b Fs(S)12 b Fu(:)29 b(The)i(co)s(de)f
(for)f(the)h Fr(while)p Fu(-lo)s(op)f(is)g Fb(loop)p
Fu(\()p Ft(C)6 b(B)t Fu([)-17 b([)q Fs(b)6 b Fu(])-17
b(],)31 b Ft(C)6 b(S)i Fu([)-17 b([)p Fs(S)12 b Fu(])-17
b(])q(\))29 b(and)0 3101 y(w)m(e)34 b(therefore)f(assume)g(that)244
3313 y Ft(h)p Fb(loop)p Fu(\()p Ft(C)6 b(B)t Fu([)-17
b([)p Fs(b)6 b Fu(])-17 b(])q(,)32 b Ft(C)6 b(S)i Fu([)-17
b([)q Fs(S)12 b Fu(])-17 b(]\),)33 b Fo(")p Fu(,)f Fs(s)8
b Ft(i)33 b Fh(\003)1534 3277 y Fn(k)1571 3286 y Fd(0)1606
3277 y Fn(+1)1733 3313 y Ft(h)p Fo(")o Fu(,)g Fs(e)7
b Fu(,)33 b Fs(s)2037 3277 y Fi(00)2079 3313 y Ft(i)0
3525 y Fu(Using)48 b(the)g(de\014nition)f(of)g(the)h
Fb(loop)p Fu(-instruction)f(this)h(means)g(that)g(the)g(computation)0
3645 y(sequence)35 b(can)e(b)s(e)g(rewritten)g(as)244
3857 y Ft(h)p Fb(loop)p Fu(\()p Ft(C)6 b(B)t Fu([)-17
b([)p Fs(b)6 b Fu(])-17 b(])q(,)32 b Ft(C)6 b(S)i Fu([)-17
b([)q Fs(S)12 b Fu(])-17 b(]\),)33 b Fo(")p Fu(,)f Fs(s)8
b Ft(i)516 4025 y Fh(\003)98 b Ft(hC)6 b(B)s Fu([)-17
b([)q Fs(b)6 b Fu(])-17 b(])q(:)p Fb(branch)p Fu(\()p
Ft(C)6 b(S)i Fu([)-17 b([)p Fs(S)12 b Fu(])-17 b(])q(:)p
Fb(loop)p Fu(\()p Ft(C)6 b(B)t Fu([)-17 b([)p Fs(b)6
b Fu(])-17 b(])q(,)33 b Ft(C)6 b(S)i Fu([)-17 b([)p Fs(S)12
b Fu(])-17 b(])q(\),)32 b Fb(noop)p Fu(\),)h Fo(")p Fu(,)f
Fs(s)8 b Ft(i)516 4192 y Fh(\003)593 4156 y Fn(k)630
4165 y Fd(0)691 4192 y Ft(h)p Fo(")o Fu(,)33 b Fs(e)7
b Fu(,)33 b Fs(s)995 4156 y Fi(00)1037 4192 y Ft(i)0
4404 y Fu(According)f(to)h(Exercise)h(3.5)e(there)h(will)d(then)j(b)s
(e)g(a)f(con\014guration)g Ft(h)p Fo(")p Fu(,)g Fs(e)2780
4368 y Fi(0)2804 4404 y Fu(,)g Fs(s)2911 4368 y Fi(0)2935
4404 y Ft(i)g Fu(suc)m(h)i(that)244 4616 y Ft(hC)6 b(B)s
Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(],)33 b Fo(")p Fu(,)f
Fs(s)8 b Ft(i)33 b Fh(\003)897 4580 y Fn(k)934 4589 y
Fd(1)1006 4616 y Ft(h)o Fo(")p Fu(,)g Fs(e)1202 4580
y Fi(0)1225 4616 y Fu(,)g Fs(s)1333 4580 y Fi(0)1356
4616 y Ft(i)0 4828 y Fu(and)244 5040 y Ft(h)p Fb(branch)p
Fu(\()p Ft(C)6 b(S)i Fu([)-17 b([)p Fs(S)12 b Fu(])-17
b(])q(:)p Fb(loop)p Fu(\()p Ft(C)6 b(B)t Fu([)-17 b([)p
Fs(b)6 b Fu(])-17 b(])q(,)32 b Ft(C)6 b(S)j Fu([)-17
b([)p Fs(S)12 b Fu(])-17 b(])q(\),)32 b Fb(noop)p Fu(\),)h
Fs(e)2318 5004 y Fi(0)2342 5040 y Fu(,)f Fs(s)2449 5004
y Fi(0)2473 5040 y Ft(i)g Fh(\003)2621 5004 y Fn(k)2658
5013 y Fd(2)2730 5040 y Ft(h)p Fo(")o Fu(,)h Fs(e)7 b
Fu(,)33 b Fs(s)3034 5004 y Fi(00)3076 5040 y Ft(i)0 5252
y Fu(where)k(k)336 5267 y Fn(1)411 5252 y Fu(+)e(k)573
5267 y Fn(2)648 5252 y Fu(=)h(k)811 5267 y Fn(0)851 5252
y Fu(.)51 b(F)-8 b(rom)34 b(Exercises)k(3.19)c(and)i(3.6)f(w)m(e)h(get)
g Fs(e)2539 5216 y Fi(0)2598 5252 y Fu(=)f Ft(B)s Fu([)-17
b([)q Fs(b)6 b Fu(])-17 b(])p Fs(s)44 b Fu(and)35 b Fs(s)3227
5216 y Fi(0)3286 5252 y Fu(=)g Fs(s)8 b Fu(.)0 5372 y(W)-8
b(e)33 b(no)m(w)g(ha)m(v)m(e)h(t)m(w)m(o)f(cases.)146
5494 y(In)g(the)g(\014rst)g(case)h(assume)f(that)f Ft(B)t
Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])q Fs(s)40 b Fu(=)33
b Fw(\013)p Fu(.)44 b(W)-8 b(e)33 b(then)g(ha)m(v)m(e)p
eop
%%Page: 80 90
80 89 bop 251 130 a Fw(80)1535 b(3)112 b(Pro)m(v)-6 b(ably)36
b(Correct)h(Implemen)m(tation)p 251 193 3473 4 v 527
515 a Ft(h)p Fb(branch)p Fu(\()p Ft(C)6 b(S)i Fu([)-17
b([)q Fs(S)12 b Fu(])-17 b(]:)p Fb(loop)p Fu(\()p Ft(C)6
b(B)t Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(],)33 b Ft(C)6
b(S)i Fu([)-17 b([)q Fs(S)12 b Fu(])-17 b(]\),)33 b Fb(noop)p
Fu(\),)f Ft(B)t Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])q
Fs(s)8 b Fu(,)33 b Fs(s)8 b Ft(i)926 683 y Fh(\003)33
b Ft(h)p Fb(noop)p Fu(,)g Fo(")o Fu(,)g Fs(s)8 b Ft(i)926
851 y Fh(\003)33 b Ft(h)p Fo(")o Fu(,)g Fo(")p Fu(,)f
Fs(s)8 b Ft(i)283 1033 y Fu(so)25 b Fs(e)33 b Fu(=)24
b Fo(")h Fu(and)g Fs(s)32 b Fu(=)25 b Fs(s)1047 997 y
Fi(00)1090 1033 y Fu(.)40 b(Using)25 b(rule)f([while)1873
997 y Fn(\013)1861 1058 y(ns)1932 1033 y Fu(])h(w)m(e)h(get)e
Ft(h)p Fr(while)i Fs(b)31 b Fr(do)25 b Fs(S)12 b Fu(,)25
b Fs(s)8 b Ft(i)25 b(!)f Fs(s)3200 997 y Fi(00)3267 1033
y Fu(as)h(required.)430 1154 y(In)33 b(the)g(second)h(case)f(assume)g
(that)f Ft(B)t Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(])p
Fs(s)41 b Fu(=)32 b Fw(tt)p Fu(.)43 b(Then)33 b(w)m(e)h(ha)m(v)m(e)527
1337 y Ft(h)p Fb(branch)p Fu(\()p Ft(C)6 b(S)i Fu([)-17
b([)q Fs(S)12 b Fu(])-17 b(]:)p Fb(loop)p Fu(\()p Ft(C)6
b(B)t Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(],)33 b Ft(C)6
b(S)i Fu([)-17 b([)q Fs(S)12 b Fu(])-17 b(]\),)33 b Fb(noop)p
Fu(\),)f Ft(B)t Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])q
Fs(s)8 b Fu(,)33 b Fs(s)8 b Ft(i)926 1504 y Fh(\003)163
b Ft(hC)6 b(S)i Fu([)-17 b([)q Fs(S)12 b Fu(])-17 b(]:)p
Fb(loop)p Fu(\()p Ft(C)6 b(B)t Fu([)-17 b([)q Fs(b)6
b Fu(])-17 b(],)33 b Ft(C)6 b(S)i Fu([)-17 b([)p Fs(S)12
b Fu(])-17 b(])q(\),)32 b Fo(")p Fu(,)h Fs(s)8 b Ft(i)926
1672 y Fh(\003)1004 1636 y Fn(k)1041 1645 y Fd(2)1075
1636 y Fi(\000)p Fn(1)1166 1672 y Ft(h)p Fo(")p Fu(,)32
b Fs(e)7 b Fu(,)33 b Fs(s)1470 1636 y Fi(00)1513 1672
y Ft(i)283 1855 y Fu(W)-8 b(e)31 b(then)f(pro)s(ceed)h(v)m(ery)h(m)m
(uc)m(h)e(as)g(in)g(the)g(case)h(of)f(the)g(comp)s(osition)e(statemen)m
(t)i(and)g(get)g(a)283 1975 y(con\014guration)i Ft(h)p
Fo(")p Fu(,)g Fs(e)1070 1939 y Fi(0)1094 1975 y Fu(,)g
Fs(s)1201 1939 y Fi(0)1225 1975 y Ft(i)g Fu(suc)m(h)i(that)527
2158 y Ft(hC)6 b(S)i Fu([)-17 b([)q Fs(S)12 b Fu(])-17
b(],)33 b Fo(")o Fu(,)g Fs(s)8 b Ft(i)32 b Fh(\003)1196
2122 y Fn(k)1233 2131 y Fd(3)1304 2158 y Ft(h)p Fo(")p
Fu(,)g Fs(e)1500 2122 y Fi(0)1524 2158 y Fu(,)h Fs(s)1632
2122 y Fi(0)1655 2158 y Ft(i)527 2326 y(h)p Fb(loop)p
Fu(\()p Ft(C)6 b(B)t Fu([)-17 b([)q Fs(b)6 b Fu(])-17
b(],)33 b Ft(C)6 b(S)i Fu([)-17 b([)p Fs(S)12 b Fu(])-17
b(])q(\),)32 b Fs(e)1567 2289 y Fi(0)1591 2326 y Fu(,)h
Fs(s)1699 2289 y Fi(0)1722 2326 y Ft(i)f Fh(\003)1871
2289 y Fn(k)1908 2298 y Fd(4)1979 2326 y Ft(h)p Fo(")p
Fu(,)g Fs(e)7 b Fu(,)33 b Fs(s)2283 2289 y Fi(00)2326
2326 y Ft(i)283 2508 y Fu(where)h(k)616 2523 y Fn(3)689
2508 y Fu(+)f(k)849 2523 y Fn(4)921 2508 y Fu(=)g(k)1081
2523 y Fn(2)1153 2508 y Ft(\000)g Fu(1.)44 b(Since)33
b(k)1689 2523 y Fn(3)1762 2508 y Ft(\024)g Fu(k)1923
2523 y Fn(0)1995 2508 y Fu(w)m(e)h(can)f(apply)f(the)i(induction)d(h)m
(yp)s(othesis)j(to)283 2629 y(the)f(\014rst)h(of)e(these)h(computation)
f(sequences)j(and)e(get)527 2812 y Ft(h)p Fs(S)12 b Fu(,)33
b Fs(s)8 b Ft(i)32 b(!)g Fs(s)992 2775 y Fi(0)1048 2812
y Fu(and)h Fs(e)1290 2775 y Fi(0)1346 2812 y Fu(=)f Fo(")283
2994 y Fu(W)-8 b(e)35 b(can)g(then)f(use)i(that)e(k)1292
3009 y Fn(4)1366 2994 y Ft(\024)g Fu(k)1528 3009 y Fn(0)1603
2994 y Fu(and)g(apply)g(the)g(induction)g(h)m(yp)s(othesis)h(to)f(the)h
(compu-)283 3115 y(tation)d(sequence)j Ft(h)p Fb(loop)p
Fu(\()p Ft(C)6 b(B)t Fu([)-17 b([)p Fs(b)6 b Fu(])-17
b(])q(,)32 b Ft(C)6 b(S)j Fu([)-17 b([)p Fs(S)12 b Fu(])-17
b(])q(\),)32 b Fo(")p Fu(,)g Fs(s)2116 3079 y Fi(0)2140
3115 y Ft(i)g Fh(\003)2288 3079 y Fn(k)2325 3088 y Fd(4)2397
3115 y Ft(h)p Fo(")o Fu(,)h Fs(e)7 b Fu(,)33 b Fs(s)2701
3079 y Fi(00)2743 3115 y Ft(i)g Fu(and)f(get)527 3298
y Ft(h)p Fr(while)i Fs(b)k Fr(do)33 b Fs(S)12 b Fu(,)33
b Fs(s)1248 3261 y Fi(0)1271 3298 y Ft(i)g(!)f Fs(s)1523
3261 y Fi(00)1598 3298 y Fu(and)g Fs(e)40 b Fu(=)33 b
Fo(")283 3480 y Fu(Using)24 b(rule)f([while)997 3444
y Fn(tt)985 3505 y(ns)1056 3480 y Fu(])h(w)m(e)h(then)f(get)g
Ft(h)p Fr(while)h Fs(b)30 b Fr(do)24 b Fs(S)12 b Fu(,)24
b Fs(s)8 b Ft(i)24 b(!)f Fs(s)2529 3444 y Fi(00)2596
3480 y Fu(as)h(required.)41 b(This)24 b(completes)283
3601 y(the)33 b(pro)s(of)f(of)g(the)h(lemma.)2385 b Fh(2)430
3804 y Fu(The)37 b(pro)s(of)e(tec)m(hnique)j(emplo)m(y)m(ed)e(in)g(the)
g(ab)s(o)m(v)m(e)h(pro)s(of)f(ma)m(y)g(b)s(e)g(summarized)f(as)i(fol-)
283 3924 y(lo)m(ws:)p 283 4054 3470 4 v 283 4071 V 281
4279 4 208 v 298 4279 V 1371 4200 a Fw(Pro)s(of)32 b(Summary)h(for)f
(While)p Fu(:)p 3735 4279 V 3752 4279 V 281 4486 V 298
4486 V 1266 4407 a Fw(Correctness)g(of)h(Implemen)m(tation)p
3735 4486 V 3752 4486 V 283 4490 3470 4 v 281 4979 4
490 v 298 4979 V 350 4655 a Fu(1:)143 b(Pro)m(v)m(e)24
b(b)m(y)h Fs(induction)h(on)f(the)i(shap)-5 b(e)25 b(of)h(derivation)g
(tr)-5 b(e)g(es)31 b Fu(that)23 b(for)g(eac)m(h)h(deriv)-5
b(ation)569 4775 y(tree)34 b(in)g(the)g(natural)f(seman)m(tics)i(there)
g(is)e(a)h(corresp)s(onding)g(\014nite)g(computation)569
4896 y(sequence)h(on)e(the)g(abstract)f(mac)m(hine.)p
3735 4979 V 3752 4979 V 281 5508 4 529 v 298 5508 V 350
5063 a(2:)143 b(Pro)m(v)m(e)26 b(b)m(y)f Fs(induction)i(on)g(the)h
(length)f(of)g(c)-5 b(omputation)27 b(se)-5 b(quenc)g(es)32
b Fu(that)25 b(for)f(eac)m(h)h(\014-)569 5184 y(nite)h(computation)f
(sequence)k(obtained)d(from)f(executing)i(a)f(statemen)m(t)h(of)f
Fw(While)569 5304 y Fu(on)41 b(the)h(abstract)f(mac)m(hine)g(there)h
(is)e(a)h(corresp)s(onding)h(deriv)-5 b(ation)39 b(tree)j(in)e(the)569
5424 y(natural)31 b(seman)m(tics.)p 3735 5508 V 3752
5508 V 283 5511 3470 4 v 283 5528 V eop
%%Page: 81 91
81 90 bop 0 130 a Fw(3.4)112 b(An)38 b(alternativ)m(e)e(pro)s(of)i(tec)
m(hnique)1593 b(81)p 0 193 3473 4 v 0 515 a Fu(Note)28
b(the)h Fs(similarities)35 b Fu(b)s(et)m(w)m(een)30 b(this)e(pro)s(of)f
(tec)m(hnique)i(and)f(that)g(for)g(sho)m(wing)g(the)g(equiv-)0
636 y(alence)j(of)g(t)m(w)m(o)i(op)s(erational)28 b(seman)m(tics)k
(\(see)h(Section)e(2.3\).)42 b(Again)31 b(one)g(has)h(to)f(b)s(e)h
(careful)0 756 y(when)47 b(adapting)d(this)i(approac)m(h)g(to)f(a)g
(language)g(with)g(additional)e(programming)g(con-)0
877 y(structs)34 b(or)e(a)g(di\013eren)m(t)h(mac)m(hine)f(language.)0
1091 y Fw(Exercise)k(3.23)49 b Fu(Consider)33 b(the)f(\\optimized")e
(co)s(de)j(generation)e(function)h Ft(C)6 b(S)3021 1055
y Fi(0)3077 1091 y Fu(that)32 b(is)f(as)0 1211 y Ft(C)6
b(S)46 b Fu(of)37 b(T)-8 b(able)38 b(3.3)f(except)j(that)e
Ft(C)6 b(S)1371 1175 y Fi(0)1394 1211 y Fu([)-17 b([)p
Fr(skip)p Fu(])g(])40 b(=)e Fo(")o Fu(.)60 b(W)-8 b(ould)37
b(this)g(complicate)g(the)h(pro)s(of)f(of)0 1332 y(Theorem)c(3.20?)2766
b Fh(2)0 1546 y Fw(Exercise)36 b(3.24)49 b Fu(Extend)29
b(the)e(pro)s(of)f(of)h(Theorem)g(3.20)f(to)h(hold)f(for)h(the)g
Fw(While)e Fu(language)0 1666 y(extended)48 b(with)e
Fr(repeat)i Fs(S)58 b Fr(until)48 b Fs(b)6 b Fu(.)85
b(The)47 b(co)s(de)g(generated)g(for)f(this)g(construct)h(w)m(as)0
1787 y(studied)33 b(in)f(Exercise)i(3.14)e(and)g(its)g(natural)g(seman)
m(tics)h(in)e(Exercise)j(2.7.)593 b Fh(2)0 2001 y Fw(Exercise)36
b(3.25)49 b Fu(Pro)m(v)m(e)27 b(that)f(the)g(co)s(de)g(generated)g(for)
g Fw(AM)2314 2016 y Fn(1)2379 2001 y Fu(in)e(Exercise)j(3.16)f(is)f
(correct.)0 2121 y(What)33 b(assumptions)f(do)h(y)m(ou)g(need)g(to)g
(mak)m(e)f(ab)s(out)g Fs(env)11 b Fu(?)1168 b Fh(2)0
2452 y Fj(3.4)161 b(An)53 b(alternativ)l(e)h(pro)t(of)g(tec)l(hnique)0
2671 y Fu(In)32 b(Theorem)f(3.20)g(w)m(e)i(pro)m(v)m(ed)g(the)e
(correctness)j(of)d(the)h(implemen)m(tation)c(with)j(resp)s(ect)i(to)0
2792 y(the)j(natural)f(seman)m(tics.)53 b(It)36 b(is)f(ob)m(vious)h
(that)g(the)g(implemen)m(tation)d(will)g(also)i(b)s(e)h(correct)0
2912 y(with)c(resp)s(ect)i(to)e(the)h(structural)g(op)s(erational)d
(seman)m(tics,)j(that)f(is)244 3105 y Ft(S)312 3120 y
Fn(sos)407 3105 y Fu([)-17 b([)p Fs(S)12 b Fu(])-17 b(])33
b(=)g Ft(S)758 3120 y Fn(am)856 3105 y Fu([)-17 b([)p
Fs(S)12 b Fu(])-17 b(])33 b(for)f(all)f(statemen)m(ts)i
Fs(S)45 b Fu(of)32 b Fw(While)0 3298 y Fu(b)s(ecause)41
b(w)m(e)g(sho)m(w)m(ed)h(in)d(Theorem)h(2.26)g(that)f(the)i(natural)e
(seman)m(tics)h(is)f(equiv)-5 b(alen)m(t)40 b(to)0 3418
y(the)35 b(structural)f(op)s(erational)e(seman)m(tics.)49
b(Ho)m(w)m(ev)m(er,)37 b(one)e(migh)m(t)e(argue)h(that)g(it)g(w)m(ould)
g(b)s(e)0 3538 y(easier)e(to)f(giv)m(e)h(a)g(direct)f(pro)s(of)h(of)f
(the)h(correctness)i(of)e(the)g(implemen)m(tation)d(with)i(resp)s(ect)0
3659 y(to)d(the)h(structural)f(op)s(erational)e(seman)m(tics,)j(b)s
(ecause)h(b)s(oth)e(approac)m(hes)i(are)e(based)i(on)e(the)0
3779 y(idea)c(of)h(sp)s(ecifying)g(the)g(individual)e(steps)j(of)f(the)
g(computation.)40 b(W)-8 b(e)25 b(shall)f(commen)m(t)g(up)s(on)0
3899 y(this)32 b(shortly)-8 b(.)146 4020 y(A)39 b(direct)g(pro)s(of)f
(of)h(the)g(correctness)i(result)e(with)g(resp)s(ect)h(to)f(the)g
(structural)g(op)s(era-)0 4140 y(tional)31 b(seman)m(tics)j(could)f
(pro)s(ceed)h(as)g(follo)m(ws.)45 b(W)-8 b(e)34 b(shall)e(de\014ne)j(a)
e Fs(bisimulation)40 b Fu(relation)0 4261 y Ft(\031)31
b Fu(b)s(et)m(w)m(een)i(the)e(con\014gurations)g(of)f(the)h(structural)
g(op)s(erational)d(seman)m(tics)j(and)g(those)h(of)0
4381 y(the)h(op)s(erational)d(seman)m(tics)j(for)f Fw(AM)p
Fu(.)h(It)f(is)g(de\014ned)i(b)m(y)294 4565 y Ft(h)o
Fs(S)12 b Fu(,)33 b Fs(s)8 b Ft(i)99 b(\031)h(hC)6 b(S)i
Fu([)-17 b([)q Fs(S)12 b Fu(])-17 b(],)33 b Fo(")p Fu(,)f
Fs(s)8 b Ft(i)498 4733 y Fs(s)107 b Ft(\031)100 b(h)p
Fo(")p Fu(,)32 b Fo(")p Fu(,)h Fs(s)8 b Ft(i)0 4919 y
Fu(for)30 b(all)f(statemen)m(ts)j Fs(S)42 b Fu(and)31
b(states)h Fs(s)8 b Fu(.)43 b(The)31 b(\014rst)h(stage)f(will)d(then)k
(b)s(e)f(to)f(pro)m(v)m(e)i(that)f(when-)0 5039 y(ev)m(er)43
b Fs(one)48 b Fu(step)43 b(of)e(the)h(structural)g(op)s(erational)d
(seman)m(tics)j Fs(changes)48 b Fu(the)42 b(con\014guration)0
5160 y(then)32 b(there)g(is)f(a)f Fs(se)-5 b(quenc)g(e)38
b Fu(of)31 b(steps)i(in)d(the)i(seman)m(tics)f(of)g Fw(AM)g
Fu(that)g(will)e(mak)m(e)i(a)g Fs(similar)0 5280 y(change)39
b Fu(in)32 b(the)h(con\014guration)e(of)i(the)g(abstract)f(mac)m(hine:)
0 5494 y Fw(Exercise)k(3.26)49 b Fu(*)33 b(Sho)m(w)g(that)f(if)p
eop
%%Page: 82 92
82 91 bop 251 130 a Fw(82)1535 b(3)112 b(Pro)m(v)-6 b(ably)36
b(Correct)h(Implemen)m(tation)p 251 193 3473 4 v 527
515 a Fo(\015)583 530 y Fn(sos)711 515 y Ft(\031)c Fo(\015)877
530 y Fn(am)1008 515 y Fu(and)f Fo(\015)1253 530 y Fn(sos)1381
515 y Ft(\))g Fo(\015)1569 479 y Fi(0)1569 540 y Fn(sos)283
774 y Fu(then)i(there)f(exists)g(a)g(con\014guration)e
Fo(\015)1752 738 y Fi(0)1752 798 y Fn(am)1883 774 y Fu(suc)m(h)j(that)
527 1032 y Fo(\015)583 1047 y Fn(am)714 1032 y Fh(\003)792
996 y Fn(+)883 1032 y Fo(\015)939 996 y Fi(0)939 1057
y Fn(am)1070 1032 y Fu(and)f Fo(\015)1316 996 y Fi(0)1316
1057 y Fn(sos)1443 1032 y Ft(\031)g Fo(\015)1609 996
y Fi(0)1609 1057 y Fn(am)283 1291 y Fu(Argue)g(that)g(this)f(means)h
(that)f(if)f Ft(h)p Fs(S)12 b Fu(,)33 b Fs(s)8 b Ft(i)32
b(\))1959 1255 y Fi(\003)2030 1291 y Fs(s)2078 1255 y
Fi(0)2134 1291 y Fu(then)i Ft(h)o(C)7 b(S)g Fu([)-17
b([)q Fs(S)12 b Fu(])-17 b(],)33 b Fo(")p Fu(,)f Fs(s)8
b Ft(i)33 b Fh(\003)3025 1255 y Fi(\003)3097 1291 y Ft(h)p
Fo(")o Fu(,)g Fo(")p Fu(,)f Fs(s)3394 1255 y Fi(0)3418
1291 y Ft(i)o Fu(.)198 b Fh(2)430 1596 y Fu(The)33 b(second)h(part)e
(of)g(the)h(pro)s(of)e(is)h(to)g(sho)m(w)i(that)e(whenev)m(er)j
Fw(AM)d Fu(mak)m(es)h(a)f(sequence)283 1717 y(of)f(mo)m(v)m(es)h(from)e
(a)h(con\014guration)g(with)g(an)g Fs(empty)40 b Fu(ev)-5
b(aluation)29 b(stac)m(k)k(to)e(another)g(con\014gu-)283
1837 y(ration)j(with)g(an)h Fs(empty)44 b Fu(ev)-5 b(aluation)33
b(stac)m(k,)k(then)e(the)h(structural)e(op)s(erational)f(seman)m(tics)
283 1957 y(can)39 b(mak)m(e)g(a)f(similar)d(c)m(hange)40
b(of)e(con\014gurations.)60 b(Note)39 b(that)f Fw(AM)h
Fu(ma)m(y)f(ha)m(v)m(e)i(to)e(mak)m(e)283 2078 y(more)e(than)g(one)h
(step)g(to)f(arriv)m(e)g(at)g(a)g(con\014guration)g(with)g(an)g(empt)m
(y)h(stac)m(k,)h(due)f(to)f(the)283 2198 y(w)m(a)m(y)48
b(it)e(ev)-5 b(aluates)47 b(expressions;)56 b(in)46 b(the)h(structural)
f(op)s(erational)f(seman)m(tics,)50 b(ho)m(w)m(ev)m(er,)283
2319 y(expressions)35 b(are)d(ev)-5 b(aluated)33 b(as)f(part)h(of)f(a)g
(single)g(step.)283 2635 y Fw(Exercise)37 b(3.27)49 b
Fu(**)32 b(Assume)h(that)g Fo(\015)1734 2650 y Fn(sos)1861
2635 y Ft(\031)g Fo(\015)2039 2599 y Fn(1)2027 2660 y(am)2158
2635 y Fu(and)527 2893 y Fo(\015)595 2857 y Fn(1)583
2918 y(am)714 2893 y Fh(\003)g Fo(\015)892 2857 y Fn(2)880
2918 y(am)1011 2893 y Fh(\003)g Ft(\001)17 b(\001)g(\001)31
b Fh(\003)i Fo(\015)1447 2857 y Fn(k)1436 2918 y(am)283
3152 y Fu(where)e(k)p Fo(>)p Fu(1)e(and)h(only)f Fo(\015)1232
3116 y Fn(1)1221 3177 y(am)1348 3152 y Fu(and)g Fo(\015)1602
3116 y Fn(k)1590 3177 y(am)1718 3152 y Fu(ha)m(v)m(e)h(empt)m(y)g(ev)-5
b(aluation)28 b(stac)m(ks)j(\(that)e(is,)g(are)h(of)e(the)283
3272 y(form)k Ft(h)p Fs(c)6 b Fu(,)32 b Fo(")o Fu(,)h
Fs(s)8 b Ft(i)p Fu(\).)43 b(Sho)m(w)34 b(that)e(there)h(exists)h(a)e
(con\014guration)g Fo(\015)2679 3236 y Fi(0)2679 3297
y Fn(sos)2806 3272 y Fu(suc)m(h)i(that)527 3531 y Fo(\015)583
3546 y Fn(sos)711 3531 y Ft(\))e Fo(\015)899 3495 y Fi(0)899
3555 y Fn(sos)1027 3531 y Fu(and)g Fo(\015)1272 3495
y Fi(0)1272 3555 y Fn(sos)1400 3531 y Ft(\031)h Fo(\015)1578
3495 y Fn(k)1566 3555 y(am)283 3789 y Fu(Argue)g(that)g(this)f(means)h
(that)f(if)f Ft(hC)6 b(S)i Fu([)-17 b([)q Fs(S)12 b Fu(])-17
b(],)33 b Fo(")o Fu(,)g Fs(s)8 b Ft(i)32 b Fh(\003)2243
3753 y Fi(\003)2315 3789 y Ft(h)p Fo(")o Fu(,)h Fo(")o
Fu(,)g Fs(s)2612 3753 y Fi(0)2635 3789 y Ft(i)g Fu(then)g
Ft(h)p Fs(S)12 b Fu(,)32 b Fs(s)8 b Ft(i)32 b(\))3313
3753 y Fi(\003)3385 3789 y Fs(s)3433 3753 y Fi(0)3456
3789 y Fu(.)198 b Fh(2)283 4095 y Fw(Exercise)37 b(3.28)49
b Fu(Sho)m(w)e(that)f(Exercises)i(3.26)d(and)i(3.27)e(together)i
(constitute)f(a)g(direct)283 4215 y(pro)s(of)32 b(of)g
Ft(S)717 4230 y Fn(sos)812 4215 y Fu([)-17 b([)q Fs(S)12
b Fu(])-17 b(])33 b(=)f Ft(S)1163 4230 y Fn(am)1261 4215
y Fu([)-17 b([)q Fs(S)12 b Fu(])-17 b(],)33 b(for)f(all)e(statemen)m
(ts)k Fs(S)44 b Fu(of)32 b Fw(While)p Fu(.)912 b Fh(2)430
4520 y Fu(The)41 b(success)i(of)d(this)g(approac)m(h)h(relies)e(on)i
(the)f(t)m(w)m(o)h(seman)m(tics)g(pro)s(ceeding)f(in)g
Fs(lo)-5 b(ck-)283 4641 y(step)p Fu(:)51 b(that)36 b(one)h(is)f(able)f
(to)h(\014nd)h(con\014gurations)f(in)f(the)i(t)m(w)m(o)g(deriv)-5
b(ation)35 b(sequences)k(that)283 4761 y(corresp)s(ond)e(to)f(one)g
(another)g(\(as)h(sp)s(eci\014ed)f(b)m(y)h(the)g(bisim)m(ulation)32
b(relation\).)52 b(Often)36 b(this)283 4882 y(is)41 b(not)g(p)s
(ossible)f(and)i(then)f(one)h(has)f(to)g(raise)g(the)g(lev)m(el)g(of)f
(abstraction)h(for)f(one)i(of)e(the)283 5002 y(seman)m(tics.)h(This)23
b(is)g(exactly)h(what)f(happ)s(ens)i(when)f(the)g(structural)f(op)s
(erational)e(seman)m(tics)283 5122 y(is)31 b(replaced)g(b)m(y)h(the)f
(natural)f(seman)m(tics:)43 b(w)m(e)31 b(do)g(not)g(care)g(ab)s(out)g
(the)g(individual)d(steps)k(of)283 5243 y(the)h(execution)h(but)f(only)
f(on)g(the)h(result.)430 5374 y(The)27 b(pro)s(of)f(tec)m(hnique)i
(emplo)m(y)m(ed)f(in)e(the)i(ab)s(o)m(v)m(e)g(sk)m(etc)m(h)i(of)d(pro)s
(of)g(ma)m(y)g(b)s(e)h(summarized)283 5494 y(as)33 b(follo)m(ws:)p
eop
%%Page: 83 93
83 92 bop 0 130 a Fw(3.4)112 b(An)38 b(alternativ)m(e)e(pro)s(of)i(tec)
m(hnique)1593 b(83)p 0 193 3473 4 v 0 419 3470 4 v 0
436 V -2 643 4 208 v 15 643 V 1088 564 a(Pro)s(of)32
b(Summary)g(for)h(While)p Fu(:)p 3452 643 V 3469 643
V -2 851 V 15 851 V 513 772 a Fw(Correctness)g(of)g(Implemen)m(tation)d
(using)i(Bisim)m(ulation)p 3452 851 V 3469 851 V 0 854
3470 4 v -2 1464 4 610 v 15 1464 V 66 1020 a Fu(1:)143
b(Pro)m(v)m(e)36 b(that)e(one)g(step)h(in)e(the)i(structural)f(op)s
(erational)e(seman)m(tics)i(can)g(b)s(e)h(sim)m(u-)285
1140 y(lated)j(b)m(y)i(a)f(non-empt)m(y)g(sequence)i(of)d(steps)j(on)d
(the)i(abstract)f(mac)m(hine.)61 b(Sho)m(w)285 1260 y(that)56
b(this)f(extends)j(to)d(sequences)k(of)c(steps)i(in)e(the)h(structural)
g(op)s(erational)285 1381 y(seman)m(tics.)p 3452 1464
V 3469 1464 V -2 1993 4 529 v 15 1993 V 66 1549 a(2:)143
b(Pro)m(v)m(e)44 b(that)e(a)f(carefully)g(selected)j(non-empt)m(y)e
(sequence)i(of)e(steps)h(on)f(the)h(ab-)285 1669 y(stract)d(mac)m(hine)
e(can)h(b)s(e)g(sim)m(ulated)f(b)m(y)i(a)f(step)g(in)g(the)g
(structural)g(op)s(erational)285 1789 y(seman)m(tics.)49
b(Sho)m(w)35 b(that)f(this)g(extends)i(to)e(more)g(general)g(sequences)
j(of)d(steps)h(on)285 1910 y(the)e(abstract)g(mac)m(hine.)p
3452 1993 V 3469 1993 V 0 1996 3470 4 v 0 2013 V 0 2209
a(Again,)41 b(this)g(metho)s(d)f(needs)i(to)e(b)s(e)g(mo)s(di\014ed)g
(when)h(considering)f(a)g(programming)e(lan-)0 2329 y(guage)32
b(with)h(additional)c(constructs)34 b(or)f(a)f(di\013eren)m(t)h
(abstract)g(mac)m(hine.)0 2557 y Fw(Exercise)j(3.29)49
b Fu(*)34 b(Consider)f(the)h(follo)m(wing,)e(seemingly)g(inno)s(cen)m
(t,)i(mo)s(di\014cation)d(of)i(the)0 2678 y(structural)e(op)s
(erational)d(seman)m(tics)j(of)g(T)-8 b(able)30 b(2.2)h(in)f(whic)m(h)h
([while)2571 2693 y Fn(sos)2666 2678 y Fu(])g(is)f(replaced)h(b)m(y)h
(the)0 2798 y(t)m(w)m(o)h(axioms:)244 3001 y Ft(h)p Fr(while)g
Fs(b)39 b Fr(do)33 b Fs(S)12 b Fu(,)32 b Fs(s)8 b Ft(i)33
b(\))f(h)p Fs(S)12 b Fu(;)32 b Fr(while)i Fs(b)k Fr(do)33
b Fs(S)12 b Fu(,)33 b Fs(s)8 b Ft(i)32 b Fu(if)g Ft(B)s
Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(])p Fs(s)41 b Fu(=)32
b Fw(tt)244 3169 y Ft(h)p Fr(while)h Fs(b)39 b Fr(do)33
b Fs(S)12 b Fu(,)32 b Fs(s)8 b Ft(i)33 b(\))f Fs(s)878
b Fu(if)32 b Ft(B)s Fu([)-17 b([)q Fs(b)6 b Fu(])-17
b(])p Fs(s)41 b Fu(=)32 b Fw(\013)0 3372 y Fu(Sho)m(w)h(that)g(the)g
(mo)s(di\014ed)e(seman)m(tic)h(function,)h Ft(S)1916
3336 y Fi(0)1916 3397 y Fn(sos)2011 3372 y Fu(,)g(satis\014es)244
3576 y Ft(S)312 3591 y Fn(sos)407 3576 y Fu([)-17 b([)p
Fs(S)12 b Fu(])-17 b(])33 b(=)g Ft(S)758 3540 y Fi(0)758
3600 y Fn(sos)853 3576 y Fu([)-17 b([)p Fs(S)12 b Fu(])-17
b(])33 b(for)f(all)f(statemen)m(ts)i Fs(S)45 b Fu(of)32
b Fw(While)0 3779 y Fu(In)m(v)m(estigate)h(whether)h(or)d(not)h(this)g
(complicates)f(the)h(pro)s(ofs)g(of)g(\(analogues)f(of)7
b(\))32 b(Exercises)0 3900 y(3.26)g(and)h(3.27.)2801
b Fh(2)p eop
%%Page: 84 94
84 93 bop 251 130 a Fw(84)1535 b(3)112 b(Pro)m(v)-6 b(ably)36
b(Correct)h(Implemen)m(tation)p 251 193 3473 4 v eop
%%Page: 85 95
85 94 bop 0 1184 a Fv(Chapter)78 b(4)0 1604 y(Denotational)g(Seman)-6
b(tics)0 2062 y Fu(In)45 b(the)g(op)s(erational)d(approac)m(h)j(w)m(e)h
(w)m(ere)g(in)m(terested)g(in)e Fs(how)54 b Fu(a)45 b(program)e(is)h
(executed.)0 2182 y(This)37 b(is)g(con)m(trary)h(to)f(the)h
(denotational)d(approac)m(h)j(where)g(w)m(e)h(are)e(merely)g(in)m
(terested)h(in)0 2302 y(the)32 b Fs(e\013e)-5 b(ct)40
b Fu(of)30 b(executing)i(a)f(program.)42 b(By)31 b(e\013ect)h(w)m(e)g
(here)g(mean)f(an)g(asso)s(ciation)e(b)s(et)m(w)m(een)0
2423 y(initial)k(states)38 b(and)e(\014nal)g(states.)57
b(The)38 b(idea)e(then)h(is)g(to)f(de\014ne)i(a)e Fs(semantic)i
(function)44 b Fu(for)0 2543 y(eac)m(h)27 b Fs(syntactic)j(c)-5
b(ate)g(gory)p Fu(.)41 b(It)27 b(maps)f(eac)m(h)h Fs(syntactic)j(c)-5
b(onstruct)36 b Fu(to)26 b(a)h Fs(mathematic)-5 b(al)28
b(obje)-5 b(ct)p Fu(,)0 2664 y(often)33 b(a)f(function,)g(that)g
(describ)s(es)i(the)f(e\013ect)g(of)g(executing)g(that)f(construct.)146
2789 y(The)i(hallmark)c(of)i(denotational)e(seman)m(tics)j(is)f(that)g
(seman)m(tic)g(functions)h(are)f(de\014ned)0 2909 y Fs(c)-5
b(omp)g(ositional)5 b(ly)p Fu(,)31 b(that)i(is)145 3137
y Ft(\017)49 b Fu(there)d(is)e(a)h(seman)m(tic)g(clause)g(for)g(eac)m
(h)h(of)e(the)i(basis)f(elemen)m(ts)g(of)g(the)h(syn)m(tactic)244
3257 y(category)-8 b(,)33 b(and)145 3485 y Ft(\017)49
b Fu(for)32 b(eac)m(h)h(metho)s(d)f(of)f(constructing)i(a)f(comp)s
(osite)f(elemen)m(t)h(\(in)g(the)g(syn)m(tactic)i(cate-)244
3605 y(gory\))40 b(there)i(is)e(a)g(seman)m(tic)g(clause)h(de\014ned)h
(in)e(terms)g(of)h(the)g(seman)m(tic)f(function)244 3726
y(applied)31 b(to)i(the)g(immediate)c(constituen)m(ts)34
b(of)e(the)h(comp)s(osite)f(elemen)m(t.)0 3953 y(The)j(functions)e
Ft(A)h Fu(and)f Ft(B)k Fu(de\014ned)f(in)d(Chapter)h(1)f(are)h
(examples)g(of)f(denotational)f(de\014ni-)0 4073 y(tions:)51
b(the)36 b(mathematical)e(ob)5 b(jects)37 b(asso)s(ciated)g(with)f
(arithmetic)e(expressions)k(are)e(func-)0 4194 y(tions)26
b(in)f Fw(State)33 b Ft(!)f Fw(Z)27 b Fu(and)f(those)h(asso)s(ciated)g
(with)e(b)s(o)s(olean)g(expressions)j(are)f(functions)f(in)0
4314 y Fw(State)33 b Ft(!)f Fw(T)p Fu(.)42 b(The)29 b(functions)f
Ft(S)1247 4329 y Fn(ns)1347 4314 y Fu(and)g Ft(S)1600
4329 y Fn(sos)1724 4314 y Fu(asso)s(ciate)g(mathematical)d(ob)5
b(jects)29 b(with)f(eac)m(h)0 4435 y(statemen)m(t,)43
b(namely)d(partial)f(functions)h(in)g Fw(State)h Fo(,)-17
b Ft(!)41 b Fw(State)p Fu(.)68 b(Ho)m(w)m(ev)m(er,)45
b(they)d(are)e Fs(not)0 4555 y Fu(examples)28 b(of)g(denotational)e
(de\014nitions)i(b)s(ecause)i(they)f(are)f Fs(not)38
b Fu(de\014ned)29 b(comp)s(ositionally)-8 b(.)0 4918
y Fj(4.1)161 b(Direct)53 b(st)l(yle)g(seman)l(tics:)70
b(sp)t(eci\014cation)0 5147 y Fu(The)32 b(e\013ect)g(of)f(executing)h
(a)f(statemen)m(t)g Fs(S)43 b Fu(is)31 b(to)g(c)m(hange)h(the)g(state)f
(so)h(w)m(e)g(shall)e(de\014ne)i(the)0 5267 y(meaning)f(of)h
Fs(S)45 b Fu(to)32 b(b)s(e)h(a)f(partial)e(function)i(on)h(states:)244
5494 y Ft(S)312 5509 y Fn(ds)383 5494 y Fu(:)43 b Fw(Stm)32
b Ft(!)g Fu(\()p Fw(State)h Fo(,)-17 b Ft(!)32 b Fw(State)p
Fu(\))1687 5849 y(85)p eop
%%Page: 86 96
86 95 bop 251 130 a Fw(86)2034 b(4)112 b(Denotational)36
b(Seman)m(tics)p 251 193 3473 4 v 283 419 V 283 1501
4 1083 v 666 519 a Ft(S)733 534 y Fn(ds)805 519 y Fu([)-17
b([)p Fs(x)44 b Fu(:=)33 b Fs(a)7 b Fu(])-17 b(])q Fs(s)40
b Fu(=)33 b Fs(s)8 b Fu([)p Fs(x)k Ft(7!)o(A)p Fu([)-17
b([)q Fs(a)7 b Fu(])-17 b(])p Fs(s)8 b Fu(])666 710 y
Ft(S)733 725 y Fn(ds)805 710 y Fu([)-17 b([)p Fr(skip)p
Fu(])g(])34 b(=)f(id)666 901 y Ft(S)733 916 y Fn(ds)805
901 y Fu([)-17 b([)p Fs(S)909 916 y Fn(1)981 901 y Fu(;)33
b Fs(S)1108 916 y Fn(2)1147 901 y Fu(])-17 b(])33 b(=)f
Ft(S)1393 916 y Fn(ds)1464 901 y Fu([)-17 b([)q Fs(S)1569
916 y Fn(2)1608 901 y Fu(])g(])33 b Ft(\016)g(S)1828
916 y Fn(ds)1900 901 y Fu([)-17 b([)p Fs(S)2004 916 y
Fn(1)2043 901 y Fu(])g(])666 1092 y Ft(S)733 1107 y Fn(ds)805
1092 y Fu([)g([)p Fr(if)33 b Fs(b)39 b Fr(then)33 b Fs(S)1365
1107 y Fn(1)1437 1092 y Fr(else)h Fs(S)1742 1107 y Fn(2)1781
1092 y Fu(])-17 b(])33 b(=)f(cond\()p Ft(B)t Fu([)-17
b([)q Fs(b)6 b Fu(])-17 b(],)33 b Ft(S)2520 1107 y Fn(ds)2591
1092 y Fu([)-17 b([)q Fs(S)2696 1107 y Fn(1)2735 1092
y Fu(])g(],)33 b Ft(S)2900 1107 y Fn(ds)2971 1092 y Fu([)-17
b([)q Fs(S)3076 1107 y Fn(2)3115 1092 y Fu(])g(]\))666
1284 y Ft(S)733 1299 y Fn(ds)805 1284 y Fu([)g([)p Fr(while)34
b Fs(b)k Fr(do)33 b Fs(S)12 b Fu(])-17 b(])33 b(=)g(FIX)f
Fs(F)1138 1451 y Fu(where)i Fs(F)45 b(g)c Fu(=)33 b(cond\()p
Ft(B)t Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])q(,)32 b
Fs(g)41 b Ft(\016)33 b(S)2453 1466 y Fn(ds)2524 1451
y Fu([)-17 b([)p Fs(S)12 b Fu(])-17 b(])q(,)32 b(id\))p
3753 1501 V 283 1504 3473 4 v 1054 1665 a(T)-8 b(able)33
b(4.1:)43 b(Denotational)30 b(seman)m(tics)i(for)h Fw(While)283
1920 y Fu(This)k(is)f(also)g(the)h(functionalit)m(y)e(of)h
Ft(S)1743 1935 y Fn(ns)1850 1920 y Fu(and)h Ft(S)2112
1935 y Fn(sos)2244 1920 y Fu(and)f(the)h(need)h(for)e(partialit)m(y)e
(is)i(again)283 2041 y(demonstrated)26 b(b)m(y)g(the)g(statemen)m(t)f
Fr(while)i(true)f(do)g(skip)p Fu(.)42 b(The)26 b(de\014nition)e(is)h
(summarized)283 2161 y(in)38 b(T)-8 b(able)39 b(4.1)f(and)h(w)m(e)g
(explain)f(it)g(in)g(detail)f(b)s(elo)m(w;)k(in)d(particular,)h(w)m(e)g
(shall)f(de\014ne)h(the)283 2281 y Fs(auxiliary)c(functions)40
b Fu(`cond')34 b(and)e(FIX.)430 2402 y(F)-8 b(or)32 b(assignmen)m(t)g
(the)h(clause)527 2590 y Ft(S)595 2605 y Fn(ds)666 2590
y Fu([)-17 b([)q Fs(x)44 b Fu(:=)33 b Fs(a)7 b Fu(])-17
b(])q Fs(s)40 b Fu(=)33 b Fs(s)8 b Fu([)p Fs(x)k Ft(7!)o(A)p
Fu([)-17 b([)p Fs(a)7 b Fu(])-17 b(])q Fs(s)8 b Fu(])283
2778 y(ensures)34 b(that)e(if)f Ft(S)993 2793 y Fn(ds)1064
2778 y Fu([)-17 b([)q Fs(x)43 b Fu(:=)32 b Fs(a)7 b Fu(])-17
b(])q Fs(s)40 b Fu(=)32 b Fs(s)1656 2741 y Fi(0)1711
2778 y Fu(then)h Fs(s)1981 2741 y Fi(0)2036 2778 y Fs(x)44
b Fu(=)31 b Ft(A)p Fu([)-17 b([)q Fs(a)7 b Fu(])-17 b(])p
Fs(s)40 b Fu(and)32 b Fs(s)2761 2741 y Fi(0)2817 2778
y Fs(y)41 b Fu(=)32 b Fs(s)40 b(y)g Fu(for)32 b Fs(y)9
b Ft(6)p Fu(=)p Fs(x)j Fu(.)43 b(The)283 2898 y(clause)35
b(for)g Fr(skip)h Fu(expresses)h(that)e(no)g(state)g(c)m(hange)h(tak)m
(es)g(place:)47 b(the)36 b(function)e(id)g(is)g(the)283
3018 y(iden)m(tit)m(y)f(function)f(on)g Fw(State)h Fu(so)g
Ft(S)1637 3033 y Fn(ds)1708 3018 y Fu([)-17 b([)p Fr(skip)p
Fu(])g(])r Fs(s)41 b Fu(=)32 b Fs(s)8 b Fu(.)430 3139
y(F)-8 b(or)32 b(sequencing)i(the)f(clause)f(is)527 3327
y Ft(S)595 3342 y Fn(ds)666 3327 y Fu([)-17 b([)q Fs(S)771
3342 y Fn(1)843 3327 y Fu(;)32 b Fs(S)969 3342 y Fn(2)1009
3327 y Fu(])-17 b(])33 b(=)f Ft(S)1255 3342 y Fn(ds)1326
3327 y Fu([)-17 b([)q Fs(S)1431 3342 y Fn(2)1470 3327
y Fu(])g(])33 b Ft(\016)f(S)1690 3342 y Fn(ds)1761 3327
y Fu([)-17 b([)q Fs(S)1866 3342 y Fn(1)1905 3327 y Fu(])g(])283
3515 y(So)42 b(the)g(e\013ect)h(of)e(executing)i Fs(S)1505
3530 y Fn(1)1586 3515 y Fu(;)j Fs(S)1726 3530 y Fn(2)1807
3515 y Fu(is)41 b(the)i(functional)d(comp)s(osition)f(of)i(the)i
(e\013ect)f(of)283 3635 y(executing)26 b Fs(S)779 3650
y Fn(1)843 3635 y Fu(and)e(that)h(of)f(executing)i Fs(S)1827
3650 y Fn(2)1866 3635 y Fu(.)41 b(F)-8 b(unctional)22
b(comp)s(osition)h(is)h(de\014ned)i(suc)m(h)g(that)283
3755 y(if)31 b(one)h(of)f(the)h(functions)g(is)f(unde\014ned)j(on)e(a)f
(giv)m(en)h(argumen)m(t)f(then)i(their)e(comp)s(osition)e(is)283
3876 y(unde\014ned)35 b(as)e(w)m(ell.)42 b(Giv)m(en)33
b(a)f(state)h Fs(s)8 b Fu(,)33 b(w)m(e)g(therefore)h(ha)m(v)m(e)527
4064 y Ft(S)595 4079 y Fn(ds)666 4064 y Fu([)-17 b([)q
Fs(S)771 4079 y Fn(1)843 4064 y Fu(;)32 b Fs(S)969 4079
y Fn(2)1009 4064 y Fu(])-17 b(])p Fs(s)846 4228 y Fu(=)99
b(\()p Ft(S)1127 4243 y Fn(ds)1198 4228 y Fu([)-17 b([)q
Fs(S)1303 4243 y Fn(2)1342 4228 y Fu(])g(])33 b Ft(\016)g(S)1562
4243 y Fn(ds)1634 4228 y Fu([)-17 b([)p Fs(S)1738 4243
y Fn(1)1777 4228 y Fu(])g(])q(\))p Fs(s)846 4735 y Fu(=)1021
4312 y Fg(8)1021 4386 y(>)1021 4411 y(>)1021 4436 y(>)1021
4461 y(>)1021 4486 y(>)1021 4511 y(>)1021 4536 y(>)1021
4561 y(>)1021 4586 y(>)1021 4611 y(>)1021 4635 y(<)1021
4785 y(>)1021 4810 y(>)1021 4835 y(>)1021 4860 y(>)1021
4885 y(>)1021 4909 y(>)1021 4934 y(>)1021 4959 y(>)1021
4984 y(>)1021 5009 y(>)1021 5034 y(:)1137 4399 y Fs(s)1185
4363 y Fi(00)1455 4399 y Fu(if)32 b(there)h(exists)h
Fs(s)2112 4363 y Fi(0)2167 4399 y Fu(suc)m(h)g(that)f
Ft(S)2667 4414 y Fn(ds)2738 4399 y Fu([)-17 b([)p Fs(S)2842
4414 y Fn(1)2882 4399 y Fu(])g(])p Fs(s)41 b Fu(=)32
b Fs(s)3156 4363 y Fi(0)1455 4567 y Fu(and)h Ft(S)1713
4582 y Fn(ds)1784 4567 y Fu([)-17 b([)q Fs(S)1889 4582
y Fn(2)1928 4567 y Fu(])g(])q Fs(s)2014 4531 y Fi(0)2069
4567 y Fu(=)33 b Fs(s)2226 4531 y Fi(00)1137 4734 y Fu(undef)p
1137 4747 236 4 v 83 w(if)f Ft(S)1613 4749 y Fn(ds)1684
4734 y Fu([)-17 b([)p Fs(S)1788 4749 y Fn(1)1828 4734
y Fu(])g(])p Fs(s)41 b Fu(=)32 b(undef)p 2054 4747 V
1455 4902 a(or)h(if)e(there)i(exists)h Fs(s)2231 4866
y Fi(0)2287 4902 y Fu(suc)m(h)g(that)e Ft(S)2786 4917
y Fn(ds)2857 4902 y Fu([)-17 b([)q Fs(S)2962 4917 y Fn(1)3001
4902 y Fu(])g(])p Fs(s)41 b Fu(=)32 b Fs(s)3275 4866
y Fi(0)1455 5070 y Fu(but)h Ft(S)1702 5085 y Fn(ds)1773
5070 y Fu([)-17 b([)q Fs(S)1878 5085 y Fn(2)1917 5070
y Fu(])g(])q Fs(s)2003 5033 y Fi(0)2059 5070 y Fu(=)32
b(undef)p 2167 5083 V 283 5254 a(It)46 b(follo)m(ws)f(that)h(the)g
(sequencing)h(construct)g(will)d(only)h(giv)m(e)h(a)f(de\014ned)j
(result)d(if)g(b)s(oth)283 5374 y(comp)s(onen)m(ts)34
b(do.)430 5494 y(F)-8 b(or)32 b(conditional)e(the)j(clause)f(is)p
eop
%%Page: 87 97
87 96 bop 0 130 a Fw(4.1)112 b(Direct)36 b(st)m(yle)g(seman)m(tics:)50
b(sp)s(eci\014cation)1342 b(87)p 0 193 3473 4 v 244 515
a Ft(S)312 530 y Fn(ds)383 515 y Fu([)-17 b([)p Fr(if)34
b Fs(b)k Fr(then)c Fs(S)944 530 y Fn(1)1015 515 y Fr(else)g
Fs(S)1320 530 y Fn(2)1359 515 y Fu(])-17 b(])33 b(=)g(cond\()p
Ft(B)t Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])q(,)32 b
Ft(S)2098 530 y Fn(ds)2169 515 y Fu([)-17 b([)q Fs(S)2274
530 y Fn(1)2313 515 y Fu(])g(])q(,)32 b Ft(S)2478 530
y Fn(ds)2549 515 y Fu([)-17 b([)q Fs(S)2654 530 y Fn(2)2693
515 y Fu(])g(])q(\))0 715 y(and)33 b(the)g(auxiliary)d(function)i
(`cond')h(has)g(functionalit)m(y)244 915 y(cond:)44 b(\()p
Fw(State)32 b Ft(!)h Fw(T)p Fu(\))f Ft(\002)h Fu(\()p
Fw(State)f Fo(,)-17 b Ft(!)33 b Fw(State)p Fu(\))g Ft(\002)g
Fu(\()p Fw(State)f Fo(,)-17 b Ft(!)33 b Fw(State)p Fu(\))515
1082 y Ft(!)f Fu(\()p Fw(State)h Fo(,)-17 b Ft(!)32 b
Fw(State)p Fu(\))0 1282 y(and)h(is)f(de\014ned)i(b)m(y)244
1563 y(cond\()p Fs(p)6 b Fu(,)33 b Fs(g)652 1578 y Fn(1)691
1563 y Fu(,)f Fs(g)804 1578 y Fn(2)843 1563 y Fu(\))h
Fs(s)41 b Fu(=)1103 1389 y Fg(8)1103 1464 y(<)1103 1613
y(:)1218 1479 y Fs(g)1272 1494 y Fn(1)1344 1479 y Fs(s)91
b Fu(if)31 b Fs(p)39 b(s)h Fu(=)33 b Fw(tt)1218 1646
y Fs(g)1272 1661 y Fn(2)1344 1646 y Fs(s)91 b Fu(if)31
b Fs(p)39 b(s)h Fu(=)33 b Fw(\013)0 1845 y Fu(The)e(\014rst)g
(parameter)f(to)f(`cond')i(is)f(a)g(function)g(that,)g(when)i(supplied)
e(with)f(an)i(argumen)m(t,)0 1965 y(will)d(select)i(either)g(the)h
(second)g(or)f(the)g(third)f(parameter)h(of)f(`cond')i(and)f(then)h
(supply)g(that)0 2085 y(parameter)h(with)g(the)h(same)g(argumen)m(t.)43
b(Th)m(us)34 b(w)m(e)g(ha)m(v)m(e)244 2285 y Ft(S)312
2300 y Fn(ds)383 2285 y Fu([)-17 b([)p Fr(if)34 b Fs(b)k
Fr(then)c Fs(S)944 2300 y Fn(1)1015 2285 y Fr(else)g
Fs(S)1320 2300 y Fn(2)1359 2285 y Fu(])-17 b(])33 b Fs(s)530
2450 y Fu(=)99 b(cond\()p Ft(B)t Fu([)-17 b([)q Fs(b)6
b Fu(])-17 b(],)33 b Ft(S)1266 2465 y Fn(ds)1337 2450
y Fu([)-17 b([)q Fs(S)1442 2465 y Fn(1)1481 2450 y Fu(])g(],)33
b Ft(S)1646 2465 y Fn(ds)1717 2450 y Fu([)-17 b([)q Fs(S)1822
2465 y Fn(2)1861 2450 y Fu(])g(])q(\))32 b Fs(s)530 2870
y Fu(=)705 2546 y Fg(8)705 2621 y(>)705 2646 y(>)705
2670 y(>)705 2695 y(>)705 2720 y(>)705 2745 y(>)705 2770
y(<)705 2920 y(>)705 2944 y(>)705 2969 y(>)705 2994 y(>)705
3019 y(>)705 3044 y(>)705 3069 y(:)821 2617 y Fs(s)869
2581 y Fi(0)1139 2617 y Fu(if)g Ft(B)s Fu([)-17 b([)q
Fs(b)6 b Fu(])-17 b(])p Fs(s)41 b Fu(=)32 b Fw(tt)g Fu(and)h
Ft(S)1990 2632 y Fn(ds)2061 2617 y Fu([)-17 b([)p Fs(S)2165
2632 y Fn(1)2205 2617 y Fu(])g(])p Fs(s)41 b Fu(=)32
b Fs(s)2479 2581 y Fi(0)1139 2785 y Fu(or)h(if)e Ft(B)t
Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])q Fs(s)40 b Fu(=)33
b Fw(\013)g Fu(and)f Ft(S)2087 2800 y Fn(ds)2158 2785
y Fu([)-17 b([)q Fs(S)2263 2800 y Fn(2)2302 2785 y Fu(])g(])q
Fs(s)40 b Fu(=)33 b Fs(s)2577 2749 y Fi(0)821 2953 y
Fu(undef)p 821 2966 236 4 v 83 w(if)f Ft(B)s Fu([)-17
b([)q Fs(b)6 b Fu(])-17 b(])p Fs(s)41 b Fu(=)32 b Fw(tt)g
Fu(and)h Ft(S)1990 2968 y Fn(ds)2061 2953 y Fu([)-17
b([)p Fs(S)2165 2968 y Fn(1)2205 2953 y Fu(])g(])p Fs(s)41
b Fu(=)32 b(undef)p 2431 2966 V 1139 3120 a(or)h(if)e
Ft(B)t Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])q Fs(s)40
b Fu(=)33 b Fw(\013)g Fu(and)f Ft(S)2087 3135 y Fn(ds)2158
3120 y Fu([)-17 b([)q Fs(S)2263 3135 y Fn(2)2302 3120
y Fu(])g(])q Fs(s)40 b Fu(=)33 b(undef)p 2529 3133 V
0 3313 a(So)f(if)e(the)j(selected)g(branc)m(h)f(giv)m(es)h(a)e
(de\014ned)j(result)d(then)i(so)f(do)s(es)g(the)h(conditional.)40
b(Note)0 3434 y(that)32 b(since)h Ft(B)t Fu([)-17 b([)p
Fs(b)6 b Fu(])-17 b(])33 b(is)g(a)f(total)f(function,)h
Ft(B)t Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])q Fs(s)40
b Fu(cannot)33 b(b)s(e)g(undef)p 2227 3447 V(.)146 3554
y(De\014ning)38 b(the)i(e\013ect)g(of)e Fr(while)i Fs(b)45
b Fr(do)39 b Fs(S)51 b Fu(is)38 b(a)h(ma)5 b(jor)38 b(task.)63
b(T)-8 b(o)39 b(motiv)-5 b(ate)37 b(the)i(actual)0 3674
y(de\014nition)32 b(w)m(e)h(\014rst)g(observ)m(e)i(that)d(the)h
(e\013ect)g(of)f Fr(while)i Fs(b)39 b Fr(do)33 b Fs(S)44
b Fu(m)m(ust)33 b(equal)f(that)h(of)244 3874 y Fr(if)g
Fs(b)38 b Fr(then)c Fu(\()p Fs(S)12 b Fu(;)32 b Fr(while)i
Fs(b)39 b Fr(do)33 b Fs(S)12 b Fu(\))32 b Fr(else)i(skip)0
4074 y Fu(Using)e(the)h(parts)g(of)f Ft(S)871 4089 y
Fn(ds)975 4074 y Fu(that)g(ha)m(v)m(e)i(already)e(b)s(een)h(de\014ned,)
h(this)f(giv)m(es)269 4241 y Ft(S)337 4256 y Fn(ds)408
4241 y Fu([)-17 b([)p Fr(while)34 b Fs(b)39 b Fr(do)33
b Fs(S)12 b Fu(])-17 b(])33 b(=)f(cond\()p Ft(B)t Fu([)-17
b([)q Fs(b)6 b Fu(])-17 b(],)33 b Ft(S)1758 4256 y Fn(ds)1830
4241 y Fu([)-17 b([)p Fr(while)34 b Fs(b)39 b Fr(do)33
b Fs(S)12 b Fu(])-17 b(])33 b Ft(\016)f(S)2662 4256 y
Fn(ds)2733 4241 y Fu([)-17 b([)p Fs(S)12 b Fu(])-17 b(])q(,)32
b(id\))294 b(\(*\))0 4409 y(Note)35 b(that)f(w)m(e)i(cannot)f(use)h
(\(*\))e(as)h(the)g(de\014nition)f(of)g Ft(S)2158 4424
y Fn(ds)2229 4409 y Fu([)-17 b([)q Fr(while)36 b Fs(b)k
Fr(do)c Fs(S)12 b Fu(])-17 b(])35 b(b)s(ecause)h(then)0
4529 y Ft(S)68 4544 y Fn(ds)172 4529 y Fu(w)m(ould)c
Fs(not)42 b Fu(b)s(e)33 b(a)f(comp)s(ositional)d(de\014nition.)43
b(Ho)m(w)m(ev)m(er,)35 b(\(*\))d(expresses)j(that)244
4729 y Ft(S)312 4744 y Fn(ds)383 4729 y Fu([)-17 b([)p
Fr(while)31 b Fs(b)k Fr(do)30 b Fs(S)12 b Fu(])-17 b(])30
b(m)m(ust)f(b)s(e)g(a)g Fs(\014xe)-5 b(d)32 b(p)-5 b(oint)29
b Fu(of)f(the)i(functional)e Fs(F)42 b Fu(de\014ned)31
b(b)m(y)458 4931 y Fs(F)46 b(g)41 b Fu(=)32 b(cond\()p
Ft(B)t Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(],)33 b Fs(g)41
b Ft(\016)33 b(S)1491 4946 y Fn(ds)1563 4931 y Fu([)-17
b([)p Fs(S)12 b Fu(])-17 b(])q(,)32 b(id\))0 5133 y(that)39
b(is)g Ft(S)391 5148 y Fn(ds)462 5133 y Fu([)-17 b([)q
Fr(while)41 b Fs(b)k Fr(do)40 b Fs(S)12 b Fu(])-17 b(])40
b(=)g Fs(F)52 b Fu(\()p Ft(S)1510 5148 y Fn(ds)1581 5133
y Fu([)-17 b([)q Fr(while)41 b Fs(b)k Fr(do)40 b Fs(S)12
b Fu(])-17 b(])q(\).)64 b(In)40 b(this)f(w)m(a)m(y)i(w)m(e)g(will)c
(get)j(a)0 5254 y(comp)s(ositional)28 b(de\014nition)j(of)g
Ft(S)1231 5269 y Fn(ds)1334 5254 y Fu(b)s(ecause)i(when)g(de\014ning)f
Fs(F)44 b Fu(w)m(e)33 b(only)e(apply)h Ft(S)3116 5269
y Fn(ds)3219 5254 y Fu(to)f(the)0 5374 y(immediate)g(constituen)m(ts)k
(of)f Fr(while)h Fs(b)k Fr(do)c Fs(S)45 b Fu(and)34 b(not)g(to)g(the)g
(construct)h(itself.)46 b(Th)m(us)35 b(w)m(e)0 5494 y(write)p
eop
%%Page: 88 98
88 97 bop 251 130 a Fw(88)2034 b(4)112 b(Denotational)36
b(Seman)m(tics)p 251 193 3473 4 v 527 515 a Ft(S)595
530 y Fn(ds)666 515 y Fu([)-17 b([)q Fr(while)34 b Fs(b)k
Fr(do)33 b Fs(S)12 b Fu(])-17 b(])33 b(=)g(FIX)f Fs(F)704
683 y Fu(where)i Fs(F)45 b(g)c Fu(=)33 b(cond\()p Ft(B)t
Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])q(,)32 b Fs(g)41
b Ft(\016)33 b(S)2019 698 y Fn(ds)2090 683 y Fu([)-17
b([)p Fs(S)12 b Fu(])-17 b(])q(,)32 b(id\))283 897 y(to)i(indicate)e
(that)i Ft(S)1053 912 y Fn(ds)1125 897 y Fu([)-17 b([)p
Fr(while)35 b Fs(b)k Fr(do)c Fs(S)12 b Fu(])-17 b(])33
b(is)h(a)f(\014xed)i(p)s(oin)m(t)d(of)h Fs(F)13 b Fu(.)34
b(The)h(functionalit)m(y)c(of)i(the)283 1017 y(auxiliary)e(function)h
(FIX)g(is)527 1231 y(FIX:)h(\(\()p Fw(State)f Fo(,)-17
b Ft(!)33 b Fw(State)p Fu(\))g Ft(!)f Fu(\()p Fw(State)g
Fo(,)-17 b Ft(!)33 b Fw(State)p Fu(\)\))f Ft(!)g Fu(\()p
Fw(State)h Fo(,)-17 b Ft(!)33 b Fw(State)p Fu(\))283
1477 y Fw(Example)k(4.1)49 b Fu(Consider)33 b(the)g(statemen)m(t)527
1691 y Fr(while)h Ft(:)q Fu(\()p Fr(x)e Fu(=)h Fr(0)p
Fu(\))f Fr(do)h(skip)283 1905 y Fu(It)g(is)f(easy)i(to)e(v)m(erify)h
(that)f(the)h(corresp)s(onding)g(functional)e Fs(F)2633
1868 y Fi(0)2689 1905 y Fu(is)h(de\014ned)i(b)m(y)527
2200 y(\()p Fs(F)642 2164 y Fi(0)698 2200 y Fs(g)9 b
Fu(\))32 b Fs(s)41 b Fu(=)1011 2026 y Fg(8)1011 2101
y(<)1011 2250 y(:)1126 2116 y Fs(g)g(s)92 b Fu(if)31
b Fs(s)41 b Fr(x)32 b Ft(6)p Fu(=)h Fw(0)1126 2283 y
Fs(s)178 b Fu(if)31 b Fs(s)41 b Fr(x)32 b Fu(=)h Fw(0)283
2496 y Fu(The)h(function)e Fs(g)920 2511 y Fn(1)992 2496
y Fu(de\014ned)i(b)m(y)527 2791 y Fs(g)581 2806 y Fn(1)653
2791 y Fs(s)40 b Fu(=)842 2617 y Fg(8)842 2692 y(<)842
2841 y(:)957 2707 y Fu(undef)p 957 2720 236 4 v 84 w(if)31
b Fs(s)41 b Fr(x)33 b Ft(6)p Fu(=)f Fw(0)957 2874 y Fs(s)279
b Fu(if)31 b Fs(s)41 b Fr(x)33 b Fu(=)f Fw(0)283 3091
y Fu(is)h(a)f(\014xed)i(p)s(oin)m(t)d(of)h Fs(F)1141
3055 y Fi(0)1197 3091 y Fu(b)s(ecause)577 3386 y(\()p
Fs(F)692 3350 y Fi(0)748 3386 y Fs(g)802 3401 y Fn(1)841
3386 y Fu(\))g Fs(s)108 b Fu(=)1235 3212 y Fg(8)1235
3287 y(<)1235 3436 y(:)1350 3302 y Fs(g)1404 3317 y Fn(1)1475
3302 y Fs(s)91 b Fu(if)32 b Fs(s)41 b Fr(x)32 b Ft(6)p
Fu(=)h Fw(0)1350 3469 y Fs(s)216 b Fu(if)32 b Fs(s)41
b Fr(x)32 b Fu(=)h Fw(0)1059 3739 y Fu(=)1235 3564 y
Fg(8)1235 3639 y(<)1235 3789 y(:)1350 3654 y Fu(undef)p
1350 3667 V 84 w(if)e Fs(s)41 b Fr(x)32 b Ft(6)p Fu(=)h
Fw(0)1350 3822 y Fs(s)279 b Fu(if)31 b Fs(s)41 b Fr(x)32
b Fu(=)h Fw(0)1059 3947 y Fu(=)100 b Fs(g)1289 3962 y
Fn(1)1360 3947 y Fs(s)283 4155 y Fu(Next)34 b(w)m(e)g(claim)c(that)i
(the)h(function)f Fs(g)1741 4170 y Fn(2)1813 4155 y Fu(de\014ned)i(b)m
(y)527 4369 y Fs(g)581 4384 y Fn(2)653 4369 y Fs(s)40
b Fu(=)33 b(undef)p 842 4382 V 33 w(for)f(all)f Fs(s)283
4583 y Fu(cannot)39 b(b)s(e)g(a)f(\014xed)h(p)s(oin)m(t)f(for)g
Fs(F)1569 4546 y Fi(0)1592 4583 y Fu(.)61 b(The)39 b(reason)g(is)f
(that)g(if)g Fs(s)2661 4546 y Fi(0)2722 4583 y Fu(is)g(a)g(state)h
(with)f Fs(s)3434 4546 y Fi(0)3496 4583 y Fr(x)h Fu(=)f
Fw(0)283 4703 y Fu(then)c(\()p Fs(F)621 4667 y Fi(0)676
4703 y Fs(g)730 4718 y Fn(2)769 4703 y Fu(\))f Fs(s)888
4667 y Fi(0)944 4703 y Fu(=)f Fs(s)1100 4667 y Fi(0)1156
4703 y Fu(whereas)i Fs(g)1579 4718 y Fn(2)1651 4703 y
Fs(s)1699 4667 y Fi(0)1755 4703 y Fu(=)e(undef)p 1863
4716 V 1 w(.)1555 b Fh(2)430 4946 y Fu(Unfortunately)-8
b(,)39 b(this)g(do)s(es)f Fs(not)48 b Fu(su\016ce)40
b(for)e(de\014ning)h Ft(S)2590 4961 y Fn(ds)2662 4946
y Fu([)-17 b([)p Fr(while)40 b Fs(b)k Fr(do)39 b Fs(S)12
b Fu(])-17 b(])q(.)61 b(W)-8 b(e)39 b(face)283 5067 y(t)m(w)m(o)34
b(problems:)429 5281 y Ft(\017)48 b Fu(there)34 b(are)e(functionals)g
(that)g(ha)m(v)m(e)i Fs(mor)-5 b(e)34 b(than)h(one)f(\014xe)-5
b(d)34 b(p)-5 b(oint)p Fu(,)33 b(and)429 5494 y Ft(\017)48
b Fu(there)34 b(are)e(functionals)g(that)g(ha)m(v)m(e)i
Fs(no)g(\014xe)-5 b(d)35 b(p)-5 b(oint)41 b Fu(at)32
b(all.)p eop
%%Page: 89 99
89 98 bop 0 130 a Fw(4.1)112 b(Direct)36 b(st)m(yle)g(seman)m(tics:)50
b(sp)s(eci\014cation)1342 b(89)p 0 193 3473 4 v 0 515
a Fu(The)39 b(functional)e Fs(F)747 479 y Fi(0)808 515
y Fu(of)h(Example)f(4.1)h(has)h(more)e(than)h(one)h(\014xed)g(p)s(oin)m
(t.)60 b(In)38 b(fact,)i Fs(every)0 636 y Fu(function)34
b Fs(g)438 600 y Fi(0)495 636 y Fu(of)f Fw(State)h Fo(,)-17
b Ft(!)35 b Fw(State)f Fu(satisfying)f Fs(g)1820 600
y Fi(0)1877 636 y Fs(s)42 b Fu(=)34 b Fs(s)42 b Fu(if)33
b Fs(s)42 b Fr(x)35 b Fu(=)f Fw(0)g Fu(will)e(b)s(e)i(a)g(\014xed)h(p)s
(oin)m(t)0 756 y(of)d Fs(F)188 720 y Fi(0)211 756 y Fu(.)146
877 y(T)-8 b(o)28 b(giv)m(e)g(an)f(example)h(of)f(a)g(functional)f
(that)i(has)g(no)g(\014xed)g(p)s(oin)m(ts)g(consider)g
Fs(F)3102 892 y Fn(1)3169 877 y Fu(de\014ned)0 997 y(b)m(y)244
1277 y Fs(F)321 1292 y Fn(1)393 1277 y Fs(g)41 b Fu(=)587
1103 y Fg(8)587 1178 y(<)587 1327 y(:)703 1193 y Fs(g)757
1208 y Fn(1)879 1193 y Fu(if)31 b Fs(g)41 b Fu(=)33 b
Fs(g)1217 1208 y Fn(2)703 1360 y Fs(g)757 1375 y Fn(2)879
1360 y Fu(otherwise)0 1558 y(If)f Fs(g)151 1573 y Fn(1)190
1558 y Ft(6)p Fu(=)p Fs(g)320 1573 y Fn(2)391 1558 y
Fu(then)h(clearly)f(there)h(will)d(b)s(e)i(no)h(function)e
Fs(g)2061 1573 y Fn(0)2133 1558 y Fu(suc)m(h)j(that)e
Fs(F)2641 1573 y Fn(1)2712 1558 y Fs(g)2766 1573 y Fn(0)2838
1558 y Fu(=)g Fs(g)3000 1573 y Fn(0)3039 1558 y Fu(.)43
b(Th)m(us)34 b Fs(F)3433 1573 y Fn(1)0 1678 y Fu(has)f(no)f(\014xed)i
(p)s(oin)m(ts)e(at)h(all.)0 1900 y Fw(Exercise)j(4.2)49
b Fu(Determine)32 b(the)h(functional)e Fs(F)45 b Fu(asso)s(ciated)33
b(with)f(the)h(statemen)m(t)244 2099 y Fr(while)h Ft(:)p
Fu(\()p Fr(x)p Fu(=)p Fr(0)p Fu(\))f Fr(do)g(x)g Fu(:=)f
Fr(x)p Ft(\000)p Fr(1)0 2298 y Fu(using)27 b(the)g(seman)m(tic)g
(equations)h(of)f(T)-8 b(able)26 b(4.1.)42 b(Consider)27
b(the)h(follo)m(wing)c(partial)h(functions)0 2418 y(of)32
b Fw(State)h Fo(,)-17 b Ft(!)32 b Fw(State)p Fu(:)244
2617 y Fs(g)298 2632 y Fn(1)369 2617 y Fs(s)41 b Fu(=)32
b(undef)p 558 2630 236 4 v 34 w(for)g(all)e Fs(s)244
2866 y(g)298 2881 y Fn(2)369 2866 y Fs(s)41 b Fu(=)558
2692 y Fg(8)558 2767 y(<)558 2916 y(:)674 2782 y Fs(s)8
b Fu([)p Fr(x)p Ft(7!)p Fw(0)p Fu(])83 b(if)31 b Fs(s)41
b Fr(x)33 b Ft(\025)g Fw(0)674 2949 y Fu(undef)p 674
2962 V 157 w(if)e Fs(s)41 b Fr(x)33 b Fo(<)f Fw(0)244
3221 y Fs(g)298 3236 y Fn(3)369 3221 y Fs(s)41 b Fu(=)558
3046 y Fg(8)558 3121 y(<)558 3271 y(:)674 3136 y Fs(s)8
b Fu([)p Fr(x)p Ft(7!)p Fw(0)p Fu(])83 b(if)31 b Fs(s)41
b Fr(x)33 b Ft(\025)g Fw(0)674 3304 y Fs(s)352 b Fu(if)31
b Fs(s)41 b Fr(x)33 b Fo(<)f Fw(0)244 3476 y Fs(g)298
3491 y Fn(4)369 3476 y Fs(s)41 b Fu(=)32 b Fs(s)8 b Fu([)p
Fr(x)p Ft(7!)p Fw(0)p Fu(])33 b(for)f(all)f Fs(s)244
3643 y(g)298 3658 y Fn(5)369 3643 y Fs(s)41 b Fu(=)32
b Fs(s)41 b Fu(for)32 b(all)f Fs(s)0 3842 y Fu(Determine)h(whic)m(h)h
(of)f(these)i(functions)e(are)h(\014xed)g(p)s(oin)m(ts)g(of)f
Fs(F)13 b Fu(.)955 b Fh(2)0 4064 y Fw(Exercise)36 b(4.3)49
b Fu(Consider)33 b(the)g(follo)m(wing)d(fragmen)m(t)i(of)g(the)h
(factorial)d(statemen)m(t)244 4263 y Fr(while)k Ft(:)p
Fu(\()p Fr(x)p Fu(=)p Fr(1)p Fu(\))f Fr(do)g Fu(\()p
Fr(y)g Fu(:=)f Fr(y)p Fo(?)p Fr(x)p Fu(;)h Fr(x)g Fu(:=)f
Fr(x)p Ft(\000)p Fr(1)p Fu(\))0 4462 y(Determine)40 b(the)i(functional)
d Fs(F)54 b Fu(asso)s(ciated)41 b(with)g(this)g(statemen)m(t.)70
b(Determine)40 b(at)h(least)0 4582 y(t)m(w)m(o)33 b(di\013eren)m(t)g
(\014xed)h(p)s(oin)m(ts)e(for)g Fs(F)13 b Fu(.)2047 b
Fh(2)0 4870 y Fp(Requiremen)l(ts)47 b(on)d(the)i(\014xed)e(p)t(oin)l(t)
0 5055 y Fu(Our)h(solution)e(to)i(the)g(t)m(w)m(o)g(problems)g(listed)e
(ab)s(o)m(v)m(e)j(will)d(b)s(e)i(to)f(dev)m(elop)i(a)e(framew)m(ork)0
5175 y(where)145 5374 y Ft(\017)49 b Fu(w)m(e)36 b(imp)s(ose)d
(requiremen)m(ts)j(on)e(the)i(\014xed)f(p)s(oin)m(ts)g(and)g(sho)m(w)g
(that)g(there)g(is)g(at)f(most)244 5494 y(one)f(\014xed)g(p)s(oin)m(t)f
(ful\014lling)d(these)34 b(requiremen)m(ts,)g(and)p eop
%%Page: 90 100
90 99 bop 251 130 a Fw(90)2034 b(4)112 b(Denotational)36
b(Seman)m(tics)p 251 193 3473 4 v 429 515 a Ft(\017)48
b Fu(all)35 b(functionals)g(originating)e(from)j(statemen)m(ts)h(in)f
Fw(While)f Fu(do)i(ha)m(v)m(e)h(a)e(\014xed)i(p)s(oin)m(t)527
636 y(that)33 b(satis\014es)g(these)h(requiremen)m(ts.)430
833 y(T)-8 b(o)28 b(motiv)-5 b(ate)26 b(our)i(c)m(hoice)h(of)e
(requiremen)m(ts)i(let)f(us)h(consider)f(the)h(execution)f(of)g(a)g
(state-)283 953 y(men)m(t)33 b Fr(while)h Fs(b)k Fr(do)33
b Fs(S)45 b Fu(from)31 b(a)h(state)h Fs(s)1735 968 y
Fn(0)1775 953 y Fu(.)43 b(There)34 b(are)f(three)g(p)s(ossible)f
(outcomes:)367 1151 y Fw(A)p Fu(:)48 b(it)32 b Fs(terminates)8
b Fu(,)372 1352 y Fw(B)p Fu(:)48 b(it)32 b Fs(lo)-5 b(ops)40
b(lo)-5 b(c)g(al)5 b(ly)k Fu(,)32 b(that)g(is)g(there)h(is)g(a)f
(construct)i(in)d Fs(S)45 b Fu(that)32 b(lo)s(ops,)g(or)371
1553 y Fw(C)p Fu(:)48 b(it)32 b Fs(lo)-5 b(ops)40 b(glob)-5
b(al)5 b(ly)k Fu(,)32 b(that)g(is)g(the)h(outer)g Fr(while)p
Fu(-construct)h(lo)s(ops.)283 1751 y(W)-8 b(e)40 b(shall)d(no)m(w)j(in)
m(v)m(estigate)e(what)i(can)f(b)s(e)g(said)f(ab)s(out)g(the)i
(functional)d Fs(F)51 b Fu(and)39 b(its)g(\014xed)283
1871 y(p)s(oin)m(ts)33 b(in)e(eac)m(h)j(of)e(the)h(three)g(cases.)283
2039 y Fw(The)e(case)h(A)p Fu(:)e(In)h(this)f(case)i(the)f(execution)g
(of)f Fr(while)i Fs(b)37 b Fr(do)31 b Fs(S)42 b Fu(from)29
b Fs(s)2975 2054 y Fn(0)3046 2039 y Fu(terminates.)42
b(This)283 2159 y(means)33 b(that)f(there)i(are)e(states)i
Fs(s)1531 2174 y Fn(1)1570 2159 y Fu(,)f Ft(\001)17 b(\001)g(\001)n
Fu(,)33 b Fs(s)1854 2174 y Fn(n)1930 2159 y Fu(suc)m(h)h(that)527
2438 y Ft(B)t Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])33
b Fs(s)802 2453 y Fn(i)859 2438 y Fu(=)967 2264 y Fg(8)967
2338 y(<)967 2488 y(:)1082 2353 y Fw(tt)83 b Fu(if)31
b(i)p Fo(<)p Fu(n)1082 2521 y Fw(\013)106 b Fu(if)31
b(i=n)283 2717 y(and)527 2914 y Ft(S)595 2929 y Fn(ds)666
2914 y Fu([)-17 b([)q Fs(S)12 b Fu(])-17 b(])33 b Fs(s)889
2929 y Fn(i)945 2914 y Fu(=)g Fs(s)1102 2929 y Fn(i+1)1313
2914 y Fu(for)f(i)p Fo(<)p Fu(n)283 3111 y(An)c(example)g(of)f(a)g
(statemen)m(t)i(and)f(a)f(state)h(satisfying)f(these)i(conditions)e(is)
g(the)h(statemen)m(t)527 3309 y Fr(while)34 b(0)p Ft(\024)q
Fr(x)f(do)g(x)g Fu(:=)f Fr(x)p Ft(\000)p Fr(1)283 3506
y Fu(and)h(an)m(y)g(state)g(where)h Fr(x)f Fu(has)g(a)f(non-negativ)m
(e)h(v)-5 b(alue.)430 3626 y(Let)40 b Fs(g)666 3641 y
Fn(0)744 3626 y Fu(b)s(e)g(an)m(y)h(\014xed)f(p)s(oin)m(t)f(of)g
Fs(F)13 b Fu(,)40 b(that)g(is)f(assume)h(that)f Fs(F)53
b(g)2899 3641 y Fn(0)2978 3626 y Fu(=)39 b Fs(g)3147
3641 y Fn(0)3186 3626 y Fu(.)65 b(In)40 b(the)g(case)283
3747 y(where)34 b(i)p Fo(<)p Fu(n)e(w)m(e)i(calculate)577
3919 y Fs(g)631 3934 y Fn(0)703 3919 y Fs(s)751 3934
y Fn(i)874 3919 y Fu(=)100 b(\()p Fs(F)45 b(g)1251 3934
y Fn(0)1290 3919 y Fu(\))33 b Fs(s)1409 3934 y Fn(i)874
4087 y Fu(=)100 b(cond\()p Ft(B)t Fu([)-17 b([)p Fs(b)6
b Fu(])-17 b(])q(,)32 b Fs(g)1596 4102 y Fn(0)1668 4087
y Ft(\016)g(S)1818 4102 y Fn(ds)1889 4087 y Fu([)-17
b([)q Fs(S)12 b Fu(])-17 b(],)33 b(id\))f Fs(s)2291 4102
y Fn(i)874 4254 y Fu(=)100 b Fs(g)1104 4269 y Fn(0)1175
4254 y Fu(\()p Ft(S)1281 4269 y Fn(ds)1352 4254 y Fu([)-17
b([)q Fs(S)12 b Fu(])-17 b(])33 b Fs(s)1575 4269 y Fn(i)1598
4254 y Fu(\))874 4422 y(=)100 b Fs(g)1104 4437 y Fn(0)1175
4422 y Fs(s)1223 4437 y Fn(i+1)283 4612 y Fu(In)33 b(the)g(case)h
(where)g(i=n)d(w)m(e)j(get)577 4801 y Fs(g)631 4816 y
Fn(0)703 4801 y Fs(s)751 4816 y Fn(n)894 4801 y Fu(=)99
b(\()p Fs(F)46 b(g)1271 4816 y Fn(0)1310 4801 y Fu(\))32
b Fs(s)1428 4816 y Fn(n)894 4969 y Fu(=)99 b(cond\()p
Ft(B)t Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(],)33 b Fs(g)1616
4984 y Fn(0)1687 4969 y Ft(\016)g(S)1838 4984 y Fn(ds)1909
4969 y Fu([)-17 b([)p Fs(S)12 b Fu(])-17 b(])q(,)32 b(id\))g
Fs(s)2310 4984 y Fn(n)894 5136 y Fu(=)99 b(id)32 b Fs(s)1231
5151 y Fn(n)894 5304 y Fu(=)99 b Fs(s)1117 5319 y Fn(n)283
5494 y Fu(Th)m(us)35 b Fs(every)41 b Fu(\014xed)34 b(p)s(oin)m(t)d
Fs(g)1339 5509 y Fn(0)1411 5494 y Fu(of)h Fs(F)45 b Fu(will)31
b(satisfy)p eop
%%Page: 91 101
91 100 bop 0 130 a Fw(4.1)112 b(Direct)36 b(st)m(yle)g(seman)m(tics:)50
b(sp)s(eci\014cation)1342 b(91)p 0 193 3473 4 v 244 515
a Fs(g)298 530 y Fn(0)369 515 y Fs(s)417 530 y Fn(0)489
515 y Fu(=)33 b Fs(s)646 530 y Fn(n)0 716 y Fu(so)j(in)e(this)h(case)h
(w)m(e)h(do)e(not)g(obtain)g(an)m(y)h(additional)c(requiremen)m(ts)k
(that)g(will)d(help)i(us)h(to)0 836 y(c)m(ho)s(ose)d(one)g(of)f(the)h
(\014xed)h(p)s(oin)m(ts)e(as)h(the)g(preferred)h(one.)0
1004 y Fw(The)41 b(case)h(B)p Fu(:)f(In)g(this)g(case)h(the)g
(execution)f(of)g Fr(while)h Fs(b)47 b Fr(do)42 b Fs(S)53
b Fu(from)39 b Fs(s)2833 1019 y Fn(0)2914 1004 y Fu(lo)s(ops)h
Fs(lo)-5 b(c)g(al)5 b(ly)k Fu(.)0 1124 y(This)33 b(means)f(that)h
(there)g(are)g(states)g Fs(s)1470 1139 y Fn(1)1510 1124
y Fu(,)f Ft(\001)17 b(\001)g(\001)n Fu(,)33 b Fs(s)1793
1139 y Fn(n)1869 1124 y Fu(suc)m(h)h(that)244 1324 y
Ft(B)s Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(])p Fs(s)486
1339 y Fn(i)543 1324 y Fu(=)32 b Fw(tt)g Fu(for)g(i)p
Ft(\024)p Fu(n)0 1524 y(and)244 1787 y Ft(S)312 1802
y Fn(ds)383 1787 y Fu([)-17 b([)p Fs(S)12 b Fu(])-17
b(])q Fs(s)573 1802 y Fn(i)629 1787 y Fu(=)738 1612 y
Fg(8)738 1687 y(<)738 1836 y(:)853 1702 y Fs(s)901 1717
y Fn(i+1)1172 1702 y Fu(for)32 b(i)p Fo(<)p Fu(n)853
1870 y(undef)p 853 1883 236 4 v 84 w(for)g(i=n)0 2068
y(An)c(example)f(of)h(a)f(statemen)m(t)h(and)g(a)g(state)g(satisfying)f
(these)i(conditions)d(is)i(the)g(statemen)m(t)244 2268
y Fr(while)34 b(0)p Ft(\024)p Fr(x)f(do)g Fu(\()p Fr(if)g(x)p
Fu(=)p Fr(0)g(then)h Fu(\()p Fr(while)g(true)f(do)g(skip)p
Fu(\))1264 2436 y Fr(else)h(x)f Fu(:=)f Fr(x)p Ft(\000)p
Fr(1)p Fu(\))0 2636 y(and)h(an)m(y)g(state)g(where)h
Fr(x)f Fu(has)f(a)h(non-negativ)m(e)f(v)-5 b(alue.)146
2757 y(Let)37 b Fs(g)379 2772 y Fn(0)454 2757 y Fu(b)s(e)f(an)m(y)h
(\014xed)g(p)s(oin)m(t)f(of)f Fs(F)13 b Fu(,)37 b(that)e(is)h
Fs(F)49 b(g)2014 2772 y Fn(0)2089 2757 y Fu(=)36 b Fs(g)2255
2772 y Fn(0)2294 2757 y Fu(.)55 b(In)36 b(the)h(case)g(where)g(i)p
Fo(<)p Fu(n)e(w)m(e)0 2877 y(obtain)244 3077 y Fs(g)298
3092 y Fn(0)369 3077 y Fs(s)417 3092 y Fn(i)474 3077
y Fu(=)d Fs(g)636 3092 y Fn(0)708 3077 y Fs(s)756 3092
y Fn(i+1)0 3277 y Fu(just)h(as)g(in)f(the)h(previous)g(case.)44
b(Ho)m(w)m(ev)m(er,)35 b(in)d(the)h(case)g(where)h(i=n)e(w)m(e)h(get)
294 3469 y Fs(g)348 3484 y Fn(0)419 3469 y Fs(s)467 3484
y Fn(n)610 3469 y Fu(=)100 b(\()p Fs(F)45 b(g)987 3484
y Fn(0)1026 3469 y Fu(\))33 b Fs(s)1145 3484 y Fn(n)610
3637 y Fu(=)100 b(cond\()p Ft(B)t Fu([)-17 b([)p Fs(b)6
b Fu(])-17 b(])q(,)32 b Fs(g)1332 3652 y Fn(0)1404 3637
y Ft(\016)g(S)1554 3652 y Fn(ds)1625 3637 y Fu([)-17
b([)q Fs(S)12 b Fu(])-17 b(],)33 b(id\))f Fs(s)2027 3652
y Fn(n)610 3804 y Fu(=)100 b(\()p Fs(g)878 3819 y Fn(0)949
3804 y Ft(\016)33 b(S)1099 3819 y Fn(ds)1171 3804 y Fu([)-17
b([)p Fs(S)12 b Fu(])-17 b(])q(\))32 b Fs(s)1431 3819
y Fn(n)610 3972 y Fu(=)100 b(undef)p 786 3985 V 0 4165
a(Th)m(us)34 b Fs(any)41 b Fu(\014xed)34 b(p)s(oin)m(t)e
Fs(g)985 4180 y Fn(0)1056 4165 y Fu(of)g Fs(F)46 b Fu(will)30
b(satisfy)244 4365 y Fs(g)298 4380 y Fn(0)369 4365 y
Fs(s)417 4380 y Fn(0)489 4365 y Fu(=)j(undef)p 598 4378
V 0 4565 a(so,)e(again,)f(in)g(this)g(case)h(w)m(e)h(do)e(not)g(obtain)
g(an)m(y)h(additional)d(requiremen)m(ts)j(that)f(will)f(help)0
4686 y(us)k(to)f(c)m(ho)s(ose)i(one)f(of)f(the)h(\014xed)h(p)s(oin)m
(ts)e(as)h(the)g(preferred)g(one.)0 4853 y Fw(The)27
b(case)g(C)p Fu(:)g(The)h(p)s(oten)m(tial)d(di\013erence)i(b)s(et)m(w)m
(een)i(\014xed)f(p)s(oin)m(ts)e(comes)h(to)f(ligh)m(t)f(when)j(w)m(e)0
4974 y(consider)j(the)h(p)s(ossibilit)m(y)c(that)j(the)g(execution)h
(of)e Fr(while)j Fs(b)j Fr(do)c Fs(S)42 b Fu(from)30
b Fs(s)2804 4989 y Fn(0)2874 4974 y Fu(lo)s(ops)g Fs(glob)-5
b(al)5 b(ly)k Fu(.)0 5094 y(This)33 b(means)f(that)h(there)g(are)g
(in\014nitely)e(man)m(y)h(states)i Fs(s)2145 5109 y Fn(1)2184
5094 y Fu(,)f Ft(\001)17 b(\001)g(\001)31 b Fu(suc)m(h)j(that)244
5294 y Ft(B)s Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(])p
Fs(s)486 5309 y Fn(i)543 5294 y Fu(=)32 b Fw(tt)g Fu(for)g(all)e(i)0
5494 y(and)p eop
%%Page: 92 102
92 101 bop 251 130 a Fw(92)2034 b(4)112 b(Denotational)36
b(Seman)m(tics)p 251 193 3473 4 v 527 515 a Ft(S)595
530 y Fn(ds)666 515 y Fu([)-17 b([)q Fs(S)12 b Fu(])-17
b(])p Fs(s)856 530 y Fn(i)913 515 y Fu(=)32 b Fs(s)1069
530 y Fn(i+1)1216 515 y Fu(for)g(all)e(i.)283 713 y(An)e(example)g(of)f
(a)g(statemen)m(t)i(and)f(a)f(state)h(satisfying)f(these)i(conditions)e
(is)g(the)h(statemen)m(t)527 912 y Fr(while)34 b Ft(:)q
Fu(\()p Fr(x)p Fu(=)p Fr(0)p Fu(\))e Fr(do)h(skip)283
1110 y Fu(and)g(an)m(y)g(state)g(where)h Fr(x)f Fu(is)f(not)h(equal)f
(to)g Fw(0)p Fu(.)430 1230 y(Let)g Fs(g)658 1245 y Fn(0)728
1230 y Fu(b)s(e)g(an)m(y)h(\014xed)g(p)s(oin)m(t)d(of)i
Fs(F)13 b Fu(,)31 b(that)h(is)f Fs(F)45 b(g)2249 1245
y Fn(0)2319 1230 y Fu(=)32 b Fs(g)2481 1245 y Fn(0)2520
1230 y Fu(.)43 b(As)32 b(in)f(the)i(previous)f(cases)h(w)m(e)283
1350 y(get)527 1549 y Fs(g)581 1564 y Fn(0)653 1549 y
Fs(s)701 1564 y Fn(i)757 1549 y Fu(=)g Fs(g)920 1564
y Fn(0)991 1549 y Fs(s)1039 1564 y Fn(i+1)283 1747 y
Fu(for)f(all)f(i)p Ft(\025)p Fu(0.)43 b(Th)m(us)34 b(w)m(e)g(ha)m(v)m
(e)527 1945 y Fs(g)581 1960 y Fn(0)653 1945 y Fs(s)701
1960 y Fn(0)773 1945 y Fu(=)e Fs(g)935 1960 y Fn(0)1007
1945 y Fs(s)1055 1960 y Fn(i)1111 1945 y Fu(for)g(all)f(i)283
2143 y(and)38 b(w)m(e)g(cannot)f(determine)f(the)i(v)-5
b(alue)36 b(of)g Fs(g)2007 2158 y Fn(0)2083 2143 y Fs(s)2131
2158 y Fn(0)2208 2143 y Fu(in)g(this)h(w)m(a)m(y)-8 b(.)57
b(This)37 b(is)g(the)g(situation)f(in)283 2263 y(whic)m(h)e(the)f(v)-5
b(arious)31 b(\014xed)j(p)s(oin)m(ts)e(of)g Fs(F)46 b
Fu(ma)m(y)32 b(di\013er.)430 2384 y(This)24 b(is)g(not)g(surprising)g
(b)s(ecause)h(the)g(statemen)m(t)g Fr(while)h Ft(:)p
Fu(\()p Fr(x)p Fu(=)p Fr(0)p Fu(\))e Fr(do)h(skip)h Fu(of)d(Example)283
2504 y(4.1)33 b(has)g(the)g(functional)e Fs(F)1318 2468
y Fi(0)1373 2504 y Fu(giv)m(en)i(b)m(y)527 2784 y(\()p
Fs(F)642 2748 y Fi(0)698 2784 y Fs(g)9 b Fu(\))32 b Fs(s)41
b Fu(=)1011 2609 y Fg(8)1011 2684 y(<)1011 2834 y(:)1126
2699 y Fs(g)g(s)92 b Fu(if)31 b Fs(s)41 b Fr(x)32 b Ft(6)p
Fu(=)h Fw(0)1126 2867 y Fs(s)178 b Fu(if)31 b Fs(s)41
b Fr(x)32 b Fu(=)h Fw(0)283 3063 y Fu(and)38 b Fs(any)45
b Fu(partial)35 b(function)i Fs(g)45 b Fu(of)37 b Fw(State)g
Fo(,)-17 b Ft(!)37 b Fw(State)g Fu(satisfying)f Fs(g)46
b(s)f Fu(=)37 b Fs(s)45 b Fu(if)36 b Fs(s)45 b Fr(x)37
b Fu(=)g Fw(0)g Fu(will)283 3184 y(indeed)29 b(b)s(e)g(a)f(\014xed)i(p)
s(oin)m(t)e(of)g Fs(F)1461 3148 y Fi(0)1484 3184 y Fu(.)42
b(Ho)m(w)m(ev)m(er,)32 b(our)d(computational)c(exp)s(erience)30
b(tells)e(us)h(that)283 3304 y(w)m(e)34 b(w)m(an)m(t)527
3565 y Ft(S)595 3580 y Fn(ds)666 3565 y Fu([)-17 b([)q
Fr(while)34 b Ft(:)p Fu(\()p Fr(x)p Fu(=)p Fr(0)p Fu(\))f
Fr(do)g(skip)p Fu(])-17 b(])r Fs(s)1772 3580 y Fn(0)1844
3565 y Fu(=)1952 3390 y Fg(8)1952 3465 y(<)1952 3614
y(:)2067 3480 y Fu(undef)p 2067 3493 236 4 v 84 w(if)32
b Fs(s)2524 3495 y Fn(0)2596 3480 y Fr(x)g Ft(6)p Fu(=)h
Fw(0)2067 3648 y Fs(s)2115 3663 y Fn(0)2386 3648 y Fu(if)f
Fs(s)2524 3663 y Fn(0)2596 3648 y Fr(x)g Fu(=)h Fw(0)283
3848 y Fu(in)c(order)g(to)g(record)h(the)f(lo)s(oping.)40
b(Th)m(us)31 b(our)e(preferred)h(\014xed)h(p)s(oin)m(t)d(of)h
Fs(F)3095 3812 y Fi(0)3147 3848 y Fu(is)g(the)g(function)283
3969 y Fs(g)337 3984 y Fn(0)409 3969 y Fu(de\014ned)34
b(b)m(y)527 4248 y Fs(g)581 4263 y Fn(0)653 4248 y Fs(s)40
b Fu(=)842 4074 y Fg(8)842 4149 y(<)842 4298 y(:)957
4164 y Fu(undef)p 957 4177 V 84 w(if)31 b Fs(s)41 b Fr(x)33
b Ft(6)p Fu(=)f Fw(0)957 4331 y Fs(s)279 b Fu(if)31 b
Fs(s)41 b Fr(x)33 b Fu(=)f Fw(0)283 4532 y Fu(The)42
b(prop)s(ert)m(y)f(that)f(distinguishes)g Fs(g)1755 4547
y Fn(0)1835 4532 y Fu(from)f(some)h(other)h(\014xed)h(p)s(oin)m(t)d
Fs(g)3148 4496 y Fi(0)3211 4532 y Fu(of)h Fs(F)3407 4496
y Fi(0)3471 4532 y Fu(is)g(that)283 4652 y(whenev)m(er)c
Fs(g)766 4667 y Fn(0)837 4652 y Fs(s)41 b Fu(=)32 b Fs(s)1074
4616 y Fi(0)1130 4652 y Fu(then)h(w)m(e)h(also)d(ha)m(v)m(e)j
Fs(g)1970 4616 y Fi(0)2026 4652 y Fs(s)40 b Fu(=)33 b
Fs(s)2263 4616 y Fi(0)2319 4652 y Fu(but)f(not)h(vice)g(v)m(ersa.)430
4773 y(Generalizing)41 b(this)h(exp)s(erience)j(leads)d(to)h(the)h
(follo)m(wing)c(requiremen)m(t:)65 b(the)43 b(desired)283
4893 y(\014xed)34 b(p)s(oin)m(t)e(FIX)g Fs(F)46 b Fu(should)32
b(b)s(e)h(some)g(partial)d(function)i Fs(g)2525 4908
y Fn(0)2564 4893 y Fu(:)43 b Fw(State)33 b Fo(,)-17 b
Ft(!)33 b Fw(State)f Fu(suc)m(h)i(that)429 5091 y Ft(\017)48
b Fs(g)581 5106 y Fn(0)653 5091 y Fu(is)32 b(a)g(\014xed)i(p)s(oin)m(t)
e(of)g Fs(F)13 b Fu(,)32 b(that)h(is)f Fs(F)45 b(g)2043
5106 y Fn(0)2115 5091 y Fu(=)32 b Fs(g)2277 5106 y Fn(0)2316
5091 y Fu(,)h(and)429 5293 y Ft(\017)48 b Fu(if)32 b
Fs(g)41 b Fu(is)32 b(another)h(\014xed)g(p)s(oin)m(t)f(of)g
Fs(F)13 b Fu(,)33 b(that)f(is)g Fs(F)46 b(g)41 b Fu(=)32
b Fs(g)9 b Fu(,)32 b(then)742 5494 y Fs(g)796 5509 y
Fn(0)867 5494 y Fs(s)41 b Fu(=)32 b Fs(s)1104 5458 y
Fi(0)1160 5494 y Fu(implies)e Fs(g)42 b(s)e Fu(=)33 b
Fs(s)1815 5458 y Fi(0)p eop
%%Page: 93 103
93 102 bop 0 130 a Fw(4.2)112 b(Fixed)38 b(p)s(oin)m(t)e(theory)2183
b(93)p 0 193 3473 4 v 244 515 a Fu(for)32 b(all)e(c)m(hoices)k(of)e
Fs(s)41 b Fu(and)32 b Fs(s)1286 479 y Fi(0)1310 515 y
Fu(.)0 743 y(Note)h(that)f(if)f Fs(g)590 758 y Fn(0)662
743 y Fs(s)41 b Fu(=)32 b(undef)p 851 756 236 4 v 33
w(then)h(there)h(are)e(no)h(requiremen)m(ts)g(on)g Fs(g)41
b(s)8 b Fu(.)0 1009 y Fw(Exercise)36 b(4.4)49 b Fu(Determine)39
b(whic)m(h)i(of)f(the)h(\014xed)g(p)s(oin)m(ts)f(considered)h(in)e
(Exercise)j(4.2)e(is)0 1129 y(the)33 b(desired)g(\014xed)h(p)s(oin)m
(t,)e(if)f(an)m(y)-8 b(.)2122 b Fh(2)0 1391 y Fw(Exercise)36
b(4.5)49 b Fu(Determine)35 b(the)h(desired)g(\014xed)h(p)s(oin)m(t)e
(of)g(the)h(functional)e(constructed)j(in)0 1512 y(Exercise)d(4.3.)2862
b Fh(2)0 1874 y Fj(4.2)161 b(Fixed)54 b(p)t(oin)l(t)g(theory)0
2102 y Fu(T)-8 b(o)26 b(prepare)h(for)f(a)g(framew)m(ork)g(that)h
(guaran)m(tees)g(the)g(existence)g(of)f(the)h(desired)g(\014xed)g(p)s
(oin)m(t)0 2223 y(FIX)35 b Fs(F)47 b Fu(w)m(e)36 b(shall)d(reform)m
(ulate)h(the)h(requiremen)m(ts)h(to)e(FIX)h Fs(F)47 b
Fu(in)34 b(a)h(sligh)m(tly)e(more)h(formal)0 2343 y(w)m(a)m(y)-8
b(.)72 b(The)43 b(\014rst)f(step)h(will)d(b)s(e)i(to)f(formalize)e(the)
k(requiremen)m(t)f(that)f(FIX)h Fs(F)55 b Fu(shares)43
b(its)0 2464 y(results)c(with)f(all)f(other)i(\014xed)h(p)s(oin)m(ts.)
61 b(T)-8 b(o)39 b(do)f(so)h(w)m(e)h(de\014ne)g(an)e
Fs(or)-5 b(dering)47 b Ft(v)39 b Fu(on)g(partial)0 2584
y(functions)33 b(of)f Fw(State)g Fo(,)-17 b Ft(!)33 b
Fw(State)p Fu(.)43 b(W)-8 b(e)33 b(set)244 2811 y Fs(g)298
2826 y Fn(1)369 2811 y Ft(v)g Fs(g)533 2826 y Fn(2)0
3039 y Fu(when)38 b(the)f(partial)d(function)j Fs(g)1190
3054 y Fn(1)1229 3039 y Fu(:)51 b Fw(State)37 b Fo(,)-17
b Ft(!)37 b Fw(State)f Fs(shar)-5 b(es)38 b(its)h(r)-5
b(esults)45 b Fu(with)37 b(the)g(partial)0 3159 y(function)32
b Fs(g)436 3174 y Fn(2)475 3159 y Fu(:)44 b Fw(State)32
b Fo(,)-17 b Ft(!)33 b Fw(State)f Fu(in)g(the)h(sense)i(that)244
3386 y(if)c Fs(g)387 3401 y Fn(1)459 3386 y Fs(s)40 b
Fu(=)33 b Fs(s)696 3350 y Fi(0)752 3386 y Fu(then)g Fs(g)1028
3401 y Fn(2)1099 3386 y Fs(s)41 b Fu(=)32 b Fs(s)1336
3350 y Fi(0)0 3613 y Fu(for)g(all)f(c)m(hoices)i(of)f
Fs(s)41 b Fu(and)32 b Fs(s)1042 3577 y Fi(0)1066 3613
y Fu(.)0 3880 y Fw(Example)37 b(4.6)48 b Fu(Let)25 b
Fs(g)875 3895 y Fn(1)914 3880 y Fu(,)h Fs(g)1021 3895
y Fn(2)1060 3880 y Fu(,)g Fs(g)1167 3895 y Fn(3)1230
3880 y Fu(and)e Fs(g)1465 3895 y Fn(4)1528 3880 y Fu(b)s(e)h(partial)d
(functions)i(in)f Fw(State)h Fo(,)-17 b Ft(!)25 b Fw(State)f
Fu(de\014ned)0 4000 y(as)33 b(follo)m(ws:)244 4227 y
Fs(g)298 4242 y Fn(1)369 4227 y Fs(s)41 b Fu(=)32 b Fs(s)41
b Fu(for)32 b(all)f Fs(s)244 4477 y(g)298 4492 y Fn(2)369
4477 y Fs(s)41 b Fu(=)558 4302 y Fg(8)558 4377 y(<)558
4527 y(:)674 4392 y Fs(s)278 b Fu(if)32 b Fs(s)40 b Fr(x)33
b Ft(\025)g Fw(0)674 4560 y Fu(undef)p 674 4573 V 83
w(otherwise)244 4831 y Fs(g)298 4846 y Fn(3)369 4831
y Fs(s)41 b Fu(=)558 4657 y Fg(8)558 4732 y(<)558 4881
y(:)674 4747 y Fs(s)278 b Fu(if)32 b Fs(s)40 b Fr(x)33
b Fu(=)g Fw(0)674 4914 y Fu(undef)p 674 4927 V 83 w(otherwise)244
5186 y Fs(g)298 5201 y Fn(4)369 5186 y Fs(s)41 b Fu(=)558
5011 y Fg(8)558 5086 y(<)558 5235 y(:)674 5101 y Fs(s)278
b Fu(if)32 b Fs(s)40 b Fr(x)33 b Ft(\024)g Fw(0)674 5269
y Fu(undef)p 674 5282 V 83 w(otherwise)0 5494 y(Then)h(w)m(e)f(ha)m(v)m
(e)p eop
%%Page: 94 104
94 103 bop 251 130 a Fw(94)2034 b(4)112 b(Denotational)36
b(Seman)m(tics)p 251 193 3473 4 v 527 515 a Fs(g)581
530 y Fn(1)653 515 y Ft(v)d Fs(g)817 530 y Fn(1)856 515
y Fu(,)527 683 y Fs(g)581 698 y Fn(2)653 683 y Ft(v)g
Fs(g)817 698 y Fn(1)856 683 y Fu(,)f Fs(g)969 698 y Fn(2)1041
683 y Ft(v)h Fs(g)1205 698 y Fn(2)1244 683 y Fu(,)527
851 y Fs(g)581 866 y Fn(3)653 851 y Ft(v)g Fs(g)817 866
y Fn(1)856 851 y Fu(,)f Fs(g)969 866 y Fn(3)1041 851
y Ft(v)h Fs(g)1205 866 y Fn(2)1244 851 y Fu(,)g Fs(g)1358
866 y Fn(3)1429 851 y Ft(v)g Fs(g)1593 866 y Fn(3)1632
851 y Fu(,)g Fs(g)1746 866 y Fn(3)1817 851 y Ft(v)g Fs(g)1981
866 y Fn(4)2020 851 y Fu(,)g(and)527 1018 y Fs(g)581
1033 y Fn(4)653 1018 y Ft(v)g Fs(g)817 1033 y Fn(1)856
1018 y Fu(,)f Fs(g)969 1033 y Fn(4)1041 1018 y Ft(v)h
Fs(g)1205 1033 y Fn(4)1244 1018 y Fu(.)283 1228 y(It)f(is)f(neither)g
(the)h(case)g(that)g Fs(g)1451 1243 y Fn(2)1521 1228
y Ft(v)g Fs(g)1684 1243 y Fn(4)1754 1228 y Fu(nor)g(that)f
Fs(g)2191 1243 y Fn(4)2261 1228 y Ft(v)h Fs(g)2424 1243
y Fn(2)2463 1228 y Fu(.)43 b(Pictorially)-8 b(,)29 b(the)i(ordering)g
(ma)m(y)283 1348 y(b)s(e)i(expressed)j(as)c(follo)m(ws)1262
1312 y Fn(1)1301 1348 y Fu(:)1366 1666 y Ft(\017)65 b
Fs(g)1535 1681 y Fn(1)976 1915 y Ft(\017)g Fs(g)1145
1930 y Fn(2)1756 1915 y Ft(\017)g Fs(g)1925 1930 y Fn(4)1366
2164 y Ft(\017)g Fs(g)1535 2179 y Fn(3)1275 2139 y Fq(Q)1192
2084 y(Q)1108 2028 y(Q)1025 1973 y(Q)1416 2139 y(\021)1499
2084 y(\021)1582 2028 y(\021)1665 1973 y(\021)1275 1713
y(\021)1192 1768 y(\021)1108 1823 y(\021)1025 1879 y(\021)1416
1713 y(Q)1499 1768 y(Q)1582 1823 y(Q)1665 1879 y(Q)283
2456 y Fu(The)29 b(idea)d(is)h(that)g(the)g(smaller)e(elemen)m(ts)j
(are)f(at)g(the)g(b)s(ottom)f(of)h(the)g(picture)g(and)h(that)e(the)283
2577 y(lines)38 b(indicate)f(the)i(order)f(b)s(et)m(w)m(een)i(the)f
(elemen)m(ts.)61 b(Ho)m(w)m(ev)m(er,)42 b(w)m(e)d(shall)e(not)h(dra)m
(w)h(lines)283 2697 y(when)e(there)g(already)e(is)h(a)f(\\brok)m(en)i
(line",)e(so)h(the)g(fact)g(that)g Fs(g)2722 2712 y Fn(3)2796
2697 y Ft(v)h Fs(g)2964 2712 y Fn(1)3038 2697 y Fu(is)f(left)f
(implicit)d(in)283 2817 y(the)h(picture.)2905 b Fh(2)283
3054 y Fw(Exercise)37 b(4.7)49 b Fu(Let)33 b Fs(g)1148
3069 y Fn(1)1187 3054 y Fu(,)f Fs(g)1300 3069 y Fn(2)1372
3054 y Fu(and)g Fs(g)1615 3069 y Fn(3)1687 3054 y Fu(b)s(e)h(de\014ned)
h(as)e(follo)m(ws:)527 3345 y Fs(g)581 3360 y Fn(1)653
3345 y Fs(s)40 b Fu(=)842 3171 y Fg(8)842 3245 y(<)842
3395 y(:)957 3260 y Fs(s)279 b Fu(if)31 b Fs(s)41 b Fr(x)33
b Fu(is)f(ev)m(en)957 3428 y(undef)p 957 3441 236 4 v
84 w(otherwise)527 3699 y Fs(g)581 3714 y Fn(2)653 3699
y Fs(s)40 b Fu(=)842 3525 y Fg(8)842 3600 y(<)842 3749
y(:)957 3615 y Fs(s)279 b Fu(if)31 b Fs(s)41 b Fr(x)33
b Fu(is)f(a)g(prime)957 3782 y(undef)p 957 3795 V 84
w(otherwise)527 3922 y Fs(g)581 3937 y Fn(3)653 3922
y Fs(s)40 b Fu(=)33 b Fs(s)283 4132 y Fu(First,)42 b(determine)d(the)i
(ordering)e(among)g(these)i(partial)d(functions.)66 b(Next,)42
b(determine)e(a)283 4252 y(partial)32 b(function)i Fs(g)1037
4267 y Fn(4)1109 4252 y Fu(suc)m(h)i(that)e Fs(g)1598
4267 y Fn(4)1670 4252 y Ft(v)h Fs(g)1836 4267 y Fn(1)1875
4252 y Fu(,)f Fs(g)1990 4267 y Fn(4)2063 4252 y Ft(v)g
Fs(g)2228 4267 y Fn(2)2301 4252 y Fu(and)g Fs(g)2546
4267 y Fn(4)2619 4252 y Ft(v)g Fs(g)2784 4267 y Fn(3)2823
4252 y Fu(.)48 b(Finally)-8 b(,)32 b(determine)h(a)283
4372 y(partial)c(function)h Fs(g)1030 4387 y Fn(5)1099
4372 y Fu(suc)m(h)i(that)e Fs(g)1580 4387 y Fn(1)1650
4372 y Ft(v)h Fs(g)1812 4387 y Fn(5)1851 4372 y Fu(,)g
Fs(g)1963 4387 y Fn(2)2032 4372 y Ft(v)g Fs(g)2194 4387
y Fn(5)2264 4372 y Fu(and)f Fs(g)2505 4387 y Fn(5)2575
4372 y Ft(v)h Fs(g)2737 4387 y Fn(3)2806 4372 y Fu(but)g
Fs(g)3037 4387 y Fn(5)3106 4372 y Fu(is)f(neither)h(equal)283
4493 y(to)i Fs(g)457 4508 y Fn(1)496 4493 y Fu(,)f Fs(g)609
4508 y Fn(2)681 4493 y Fu(nor)g Fs(g)908 4508 y Fn(3)947
4493 y Fu(.)2707 b Fh(2)283 4729 y Fw(Exercise)37 b(4.8)49
b(\(Essen)m(tial\))36 b Fu(An)j(alternativ)m(e)f(c)m(haracterization)f
(of)h(the)h(ordering)f Ft(v)h Fu(on)283 4850 y Fw(State)33
b Fo(,)-17 b Ft(!)33 b Fw(State)f Fu(is)552 5017 y Fs(g)606
5032 y Fn(1)678 5017 y Ft(v)h Fs(g)842 5032 y Fn(2)913
5017 y Fu(if)f(and)g(only)g(if)g(graph\()p Fs(g)1832
5032 y Fn(1)1871 5017 y Fu(\))g Ft(\022)h Fu(graph\()p
Fs(g)2387 5032 y Fn(2)2426 5017 y Fu(\))1167 b(\(*\))283
5185 y(where)39 b(graph\()p Fs(g)9 b Fu(\))36 b(is)h(the)g(graph)g(of)g
(the)h(partial)d(function)h Fs(g)46 b Fu(as)37 b(de\014ned)i(in)d(App)s
(endix)i(A.)283 5305 y(Pro)m(v)m(e)c(that)f(\(*\))f(is)g(indeed)h
(correct.)2028 b Fh(2)p 283 5403 1389 4 v 396 5464 a
Fm(1)433 5494 y Fk(Suc)n(h)28 b(a)f(diagram)f(is)h(sometimes)h(called)f
(a)g(Hasse)g(diagram.)p eop
%%Page: 95 105
95 104 bop 0 130 a Fw(4.2)112 b(Fixed)38 b(p)s(oin)m(t)e(theory)2183
b(95)p 0 193 3473 4 v 146 515 a Fu(The)47 b(set)f Fw(State)f
Fo(,)-17 b Ft(!)45 b Fw(State)g Fu(equipp)s(ed)h(with)f(the)h(ordering)
e Ft(v)i Fu(is)f(an)g(example)g(of)g(a)0 636 y(partially)32
b(ordered)j(set)f(as)h(w)m(e)g(shall)e(see)i(in)f(Lemma)f(4.13)g(b)s
(elo)m(w.)49 b(In)34 b(general,)h(a)e Fs(p)-5 b(artial)5
b(ly)0 756 y(or)-5 b(der)g(e)g(d)29 b(set)f Fu(is)e(a)h(pair)g(\()p
Fs(D)9 b Fu(,)27 b Ft(v)1097 771 y Fc(D)1161 756 y Fu(\))g(where)i
Fs(D)63 b Fu(is)27 b(a)g(set)h(and)f Ft(v)2218 771 y
Fc(D)2309 756 y Fu(is)g(a)g(relation)e(on)i Fs(D)36 b
Fu(satisfying)294 999 y Fs(d)42 b Ft(v)464 1014 y Fc(D)560
999 y Fs(d)1529 b Fu(\(re\015exivit)m(y\))294 1167 y
Fs(d)354 1182 y Fn(1)426 1167 y Ft(v)503 1182 y Fc(D)600
1167 y Fs(d)660 1182 y Fn(2)732 1167 y Fu(and)33 b Fs(d)982
1182 y Fn(2)1054 1167 y Ft(v)1131 1182 y Fc(D)1228 1167
y Fs(d)1288 1182 y Fn(3)1360 1167 y Fu(imply)d Fs(d)1693
1182 y Fn(1)1766 1167 y Ft(v)1843 1182 y Fc(D)1940 1167
y Fs(d)2000 1182 y Fn(3)2139 1167 y Fu(\(transitivit)m(y\))294
1335 y Fs(d)354 1350 y Fn(1)426 1335 y Ft(v)503 1350
y Fc(D)600 1335 y Fs(d)660 1350 y Fn(2)732 1335 y Fu(and)j
Fs(d)982 1350 y Fn(2)1054 1335 y Ft(v)1131 1350 y Fc(D)1228
1335 y Fs(d)1288 1350 y Fn(1)1360 1335 y Fu(imply)d Fs(d)1693
1350 y Fn(1)1766 1335 y Fu(=)i Fs(d)1934 1350 y Fn(2)2139
1335 y Fu(\(an)m(ti-symmetry\))0 1574 y(The)41 b(relation)d
Ft(v)650 1589 y Fc(D)754 1574 y Fu(is)i(said)f(to)h(b)s(e)g(a)f
Fs(p)-5 b(artial)42 b(or)-5 b(der)39 b Fu(on)h Fs(D)49
b Fu(and)40 b(w)m(e)h(shall)d(often)i(omit)e(the)0 1694
y(subscript)f Fs(D)45 b Fu(of)35 b Ft(v)733 1709 y Fc(D)832
1694 y Fu(and)h(write)g Ft(v)q Fu(.)53 b(Occasionally)-8
b(,)35 b(w)m(e)i(ma)m(y)f(write)g Fs(d)2701 1709 y Fn(1)2773
1694 y Ft(w)d Fs(d)2943 1709 y Fn(2)3018 1694 y Fu(instead)72
b(of)0 1815 y Fs(d)60 1830 y Fn(2)132 1815 y Ft(v)33
b Fs(d)302 1830 y Fn(1)373 1815 y Fu(and)e(w)m(e)h(shall)d(sa)m(y)j
(that)f Fs(d)1366 1830 y Fn(2)1437 1815 y Fs(shar)-5
b(es)32 b(its)i(information)e(with)38 b(d)2676 1830 y
Fn(1)2716 1815 y Fu(.)43 b(An)31 b(elemen)m(t)g Fs(d)41
b Fu(of)0 1935 y Fs(D)h Fu(satisfying)244 2181 y Fs(d)h
Ft(v)33 b Fs(d)507 2145 y Fi(0)562 2181 y Fu(for)g(all)d
Fs(d)907 2145 y Fi(0)963 2181 y Fu(of)i Fs(D)0 2427 y
Fu(is)g(called)f Fs(a)k(le)-5 b(ast)35 b(element)41 b
Fu(of)32 b Fs(D)42 b Fu(and)32 b(w)m(e)i(shall)d(sa)m(y)j(that)e(it)g
(con)m(tains)g Fs(no)j(information)p Fu(.)p 0 2556 3473
5 v 0 2782 a Fw(F)-9 b(act)37 b(4.9)49 b Fu(If)31 b(a)f(partially)e
(ordered)j(set)g(\()p Fs(D)9 b Fu(,)30 b Ft(v)q Fu(\))g(has)h(a)f
(least)g(elemen)m(t)h Fs(d)40 b Fu(then)31 b Fs(d)41
b Fu(is)30 b(unique.)p 0 2902 V 0 3148 a Fw(Pro)s(of:)51
b Fu(Assume)45 b(that)g Fs(D)53 b Fu(has)45 b(t)m(w)m(o)g(least)f
(elemen)m(ts)h Fs(d)2171 3163 y Fn(1)2255 3148 y Fu(and)g
Fs(d)2517 3163 y Fn(2)2556 3148 y Fu(.)80 b(Since)44
b Fs(d)2989 3163 y Fn(1)3074 3148 y Fu(is)g(a)g(least)0
3269 y(elemen)m(t)34 b(w)m(e)h(ha)m(v)m(e)g Fs(d)793
3284 y Fn(1)867 3269 y Ft(v)f Fs(d)1038 3284 y Fn(2)1078
3269 y Fu(.)48 b(Since)34 b Fs(d)1469 3284 y Fn(2)1543
3269 y Fu(is)f(a)h(least)g(elemen)m(t)f(w)m(e)i(also)f(ha)m(v)m(e)h
Fs(d)2945 3284 y Fn(2)3019 3269 y Ft(v)f Fs(d)3190 3284
y Fn(1)3230 3269 y Fu(.)47 b(The)0 3389 y(an)m(ti-symmetry)32
b(of)g(the)h(ordering)e Ft(v)i Fu(then)h(giv)m(es)f(that)f
Fs(d)2160 3404 y Fn(1)2232 3389 y Fu(=)h Fs(d)2401 3404
y Fn(2)2440 3389 y Fu(.)931 b Fh(2)146 3601 y Fu(This)30
b(fact)g(p)s(ermits)f(us)i(to)f(talk)f(ab)s(out)g Fs(the)38
b Fu(least)29 b(elemen)m(t)h(of)g Fs(D)9 b Fu(,)30 b(if)f(one)h
(exists,)h(and)f(w)m(e)0 3721 y(shall)h(denote)i(it)f(b)m(y)i
Ft(?)853 3736 y Fc(D)950 3721 y Fu(or)e(simply)f Ft(?)i
Fu(\(pronounced)h(\\b)s(ottom"\).)0 4018 y Fw(Example)j(4.10)49
b Fu(Let)32 b Fs(S)45 b Fu(b)s(e)32 b(a)h(non-empt)m(y)f(set)i(and)e
(de\014ne)244 4264 y Ft(P)8 b Fu(\()p Fs(S)k Fu(\))33
b(=)f Ft(f)g Fs(K)47 b Ft(j)32 b Fs(K)47 b Ft(\022)33
b Fs(S)45 b Ft(g)0 4510 y Fu(Then)34 b(\()p Ft(P)8 b
Fu(\()p Fs(S)k Fu(\),)32 b Ft(\022)q Fu(\))g(is)g(a)h(partially)d
(ordered)j(set)g(b)s(ecause)145 4756 y Ft(\017)49 b(\022)33
b Fu(is)f(re\015exiv)m(e:)45 b Fs(K)i Ft(\022)33 b Fs(K)145
5002 y Ft(\017)49 b(\022)33 b Fu(is)f(transitiv)m(e:)43
b(if)31 b Fs(K)1103 5017 y Fn(1)1175 5002 y Ft(\022)i
Fs(K)1375 5017 y Fn(2)1446 5002 y Fu(and)g Fs(K)1726
5017 y Fn(2)1797 5002 y Ft(\022)g Fs(K)1997 5017 y Fn(3)2069
5002 y Fu(then)g Fs(K)2381 5017 y Fn(1)2452 5002 y Ft(\022)g
Fs(K)2652 5017 y Fn(3)145 5248 y Ft(\017)49 b(\022)33
b Fu(is)f(an)m(ti-symmetric:)41 b(if)32 b Fs(K)1342 5263
y Fn(1)1413 5248 y Ft(\022)h Fs(K)1613 5263 y Fn(2)1685
5248 y Fu(and)f Fs(K)1964 5263 y Fn(2)2036 5248 y Ft(\022)h
Fs(K)2236 5263 y Fn(1)2307 5248 y Fu(then)g Fs(K)2619
5263 y Fn(1)2691 5248 y Fu(=)f Fs(K)2889 5263 y Fn(2)0
5494 y Fu(In)h(the)g(case)g(where)h Fs(S)45 b Fu(=)32
b Ft(f)p Fu(a,b,c)p Ft(g)h Fu(the)g(ordering)e(can)i(b)s(e)g(depicted)g
(as)g(follo)m(ws:)p eop
%%Page: 96 106
96 105 bop 251 130 a Fw(96)2034 b(4)112 b(Denotational)36
b(Seman)m(tics)p 251 193 3473 4 v 1696 540 a Ft(\017)130
b(f)p Fu(a,b,c)p Ft(g)1032 872 y(\017)g(f)p Fu(a,b)p
Ft(g)254 b(\017)130 b(f)p Fu(a,c)p Ft(g)266 b(\017)130
b(f)p Fu(b,c)p Ft(g)1032 1204 y(\017)g(f)p Fu(a)p Ft(g)335
b(\017)130 b(f)p Fu(b)p Ft(g)331 b(\017)130 b(f)p Fu(c)p
Ft(g)1696 1537 y(\017)g(;)1605 1503 y Fq(H)1522 1462
y(H)1439 1420 y(H)1356 1379 y(H)1273 1337 y(H)1190 1296
y(H)1107 1254 y(H)1082 1242 y(H)p 1720 1478 4 266 v 1746
1503 a(\010)1829 1462 y(\010)1912 1420 y(\010)1995 1379
y(\010)2078 1337 y(\010)2161 1296 y(\010)2244 1254 y(\010)2269
1242 y(\010)p 1056 1146 V 1082 1171 a(\010)1165 1130
y(\010)1248 1088 y(\010)1331 1047 y(\010)1414 1005 y(\010)1497
964 y(\010)1580 922 y(\010)1605 910 y(\010)1605 1171
y(H)1522 1130 y(H)1439 1088 y(H)1356 1047 y(H)1273 1005
y(H)1190 964 y(H)1107 922 y(H)1082 910 y(H)1746 1171
y(\010)1829 1130 y(\010)1912 1088 y(\010)1995 1047 y(\010)2078
1005 y(\010)2161 964 y(\010)2244 922 y(\010)2269 910
y(\010)2269 1171 y(H)2186 1130 y(H)2103 1088 y(H)2020
1047 y(H)1937 1005 y(H)1854 964 y(H)1771 922 y(H)1746
910 y(H)p 2384 1146 V 1082 839 a(\010)1165 798 y(\010)1248
756 y(\010)1331 715 y(\010)1414 673 y(\010)1497 632 y(\010)1580
590 y(\010)1605 578 y(\010)p 1720 814 V 2269 839 a(H)2186
798 y(H)2103 756 y(H)2020 715 y(H)1937 673 y(H)1854 632
y(H)1771 590 y(H)1746 578 y(H)283 1816 y Fu(Also,)33
b(\()p Ft(P)8 b Fu(\()p Fs(S)k Fu(\),)32 b Ft(\022)q
Fu(\))g(has)h(a)f(least)h(elemen)m(t,)f(namely)g Ft(;)p
Fu(.)1398 b Fh(2)283 2059 y Fw(Exercise)37 b(4.11)49
b Fu(Sho)m(w)32 b(that)g(\()p Ft(P)8 b Fu(\()p Fs(S)k
Fu(\),)31 b Ft(\023)q Fu(\))g(is)h(a)f(partially)e(ordered)j(set)g(and)
g(determine)f(the)283 2180 y(least)i(elemen)m(t.)43 b(Dra)m(w)32
b(a)h(picture)f(of)g(the)h(ordering)f(when)i Fs(S)44
b Fu(=)33 b Ft(f)p Fu(a,b,c)p Ft(g)p Fu(.)644 b Fh(2)283
2423 y Fw(Exercise)37 b(4.12)49 b Fu(Let)33 b Fs(S)44
b Fu(b)s(e)33 b(a)f(non-empt)m(y)h(set)g(and)g(de\014ne)527
2637 y Ft(P)605 2652 y Fn(\014n)687 2637 y Fu(\()p Fs(S)12
b Fu(\))33 b(=)f Ft(f)g Fs(K)47 b Ft(j)32 b Fs(K)47 b
Fu(is)33 b(\014nite)f(and)g Fs(K)47 b Ft(\022)33 b Fs(S)45
b Ft(g)283 2852 y Fu(V)-8 b(erify)47 b(that)f(\()p Ft(P)926
2867 y Fn(\014n)1008 2852 y Fu(\()p Fs(S)12 b Fu(\),)47
b Ft(\022)p Fu(\))g(and)g(\()p Ft(P)1706 2867 y Fn(\014n)1789
2852 y Fu(\()p Fs(S)12 b Fu(\),)46 b Ft(\023)p Fu(\))h(are)g(partially)
d(ordered)j(sets.)87 b(Do)46 b(b)s(oth)283 2972 y(partially)30
b(ordered)k(sets)f(ha)m(v)m(e)h(a)f(least)f(elemen)m(t)g(for)g(all)f(c)
m(hoices)i(of)f Fs(S)12 b Fu(?)730 b Fh(2)p 283 3216
3473 5 v 283 3403 a Fw(Lemma)38 b(4.13)49 b Fu(\()p Fw(State)22
b Fo(,)-17 b Ft(!)22 b Fw(State)p Fu(,)45 b Ft(v)q Fu(\))22
b(is)g(a)g(partially)e(ordered)j(set.)41 b(The)23 b(partial)d(function)
283 3523 y Ft(?)q Fu(:)43 b Fw(State)33 b Fo(,)-17 b
Ft(!)33 b Fw(State)f Fu(de\014ned)i(b)m(y)527 3737 y
Ft(?)f Fs(s)41 b Fu(=)32 b(undef)p 826 3750 236 4 v 34
w(for)g(all)e Fs(s)283 3952 y Fu(is)j(the)g(least)f(elemen)m(t)g(of)g
Fw(State)h Fo(,)-17 b Ft(!)32 b Fw(State)p Fu(.)p 283
4072 3473 5 v 283 4286 a Fw(Pro)s(of:)g Fu(W)-8 b(e)27
b(shall)f(\014rst)i(pro)m(v)m(e)h(that)e Ft(v)h Fu(ful\014ls)e(the)h
(three)h(requiremen)m(ts)h(to)e(a)g(partial)e(order:)283
4407 y(Clearly)-8 b(,)43 b Fs(g)49 b Ft(v)42 b Fs(g)49
b Fu(holds)41 b(b)s(ecause)h Fs(g)50 b(s)f Fu(=)41 b
Fs(s)1941 4371 y Fi(0)2005 4407 y Fu(trivially)d(implies)g(that)j
Fs(g)50 b(s)f Fu(=)41 b Fs(s)3290 4371 y Fi(0)3354 4407
y Fu(so)g Ft(v)h Fu(is)e(a)283 4527 y Fs(r)-5 b(e\015exive)40
b Fu(ordering.)430 4650 y(T)-8 b(o)30 b(see)h(that)f(it)f(is)h(a)g
Fs(tr)-5 b(ansitive)37 b Fu(ordering)29 b(assume)i(that)f
Fs(g)2617 4665 y Fn(1)2686 4650 y Ft(v)h Fs(g)2848 4665
y Fn(2)2917 4650 y Fu(and)f Fs(g)3158 4665 y Fn(2)3227
4650 y Ft(v)g Fs(g)3388 4665 y Fn(3)3458 4650 y Fu(and)g(w)m(e)283
4770 y(shall)j(pro)m(v)m(e)i(that)f Fs(g)1044 4785 y
Fn(1)1117 4770 y Ft(v)h Fs(g)1283 4785 y Fn(3)1322 4770
y Fu(.)48 b(Assume)35 b(that)f Fs(g)2027 4785 y Fn(1)2100
4770 y Fs(s)42 b Fu(=)33 b Fs(s)2339 4734 y Fi(0)2363
4770 y Fu(.)48 b(F)-8 b(rom)32 b Fs(g)2749 4785 y Fn(1)2822
4770 y Ft(v)j Fs(g)2988 4785 y Fn(2)3061 4770 y Fu(w)m(e)g(get)f
Fs(g)3424 4785 y Fn(2)3496 4770 y Fs(s)40 b Fu(=)33 b
Fs(s)3733 4734 y Fi(0)283 4890 y Fu(and)g(then)g Fs(g)749
4905 y Fn(2)821 4890 y Ft(v)g Fs(g)985 4905 y Fn(3)1056
4890 y Fu(giv)m(es)g(that)g Fs(g)1561 4905 y Fn(3)1632
4890 y Fs(s)41 b Fu(=)32 b Fs(s)1869 4854 y Fi(0)1893
4890 y Fu(.)430 5013 y(T)-8 b(o)32 b(see)h(that)f(it)f(is)g(an)h
Fs(anti-symmetric)37 b Fu(ordering)31 b(assume)i(that)e
Fs(g)2934 5028 y Fn(1)3005 5013 y Ft(v)i Fs(g)3169 5028
y Fn(2)3240 5013 y Fu(and)f Fs(g)3483 5028 y Fn(2)3554
5013 y Ft(v)g Fs(g)3717 5028 y Fn(1)283 5133 y Fu(and)40
b(w)m(e)g(shall)d(then)j(pro)m(v)m(e)g(that)f Fs(g)1634
5148 y Fn(1)1712 5133 y Fu(=)g Fs(g)1881 5148 y Fn(2)1920
5133 y Fu(.)62 b(Assume)40 b(that)f Fs(g)2649 5148 y
Fn(1)2727 5133 y Fs(s)47 b Fu(=)39 b Fs(s)2977 5097 y
Fi(0)3000 5133 y Fu(.)63 b(Then)40 b Fs(g)3405 5148 y
Fn(2)3483 5133 y Fs(s)47 b Fu(=)39 b Fs(s)3733 5097 y
Fi(0)283 5254 y Fu(follo)m(ws)31 b(from)g Fs(g)887 5269
y Fn(1)957 5254 y Ft(v)i Fs(g)1121 5269 y Fn(2)1191 5254
y Fu(so)f Fs(g)1364 5269 y Fn(1)1435 5254 y Fu(and)g
Fs(g)1678 5269 y Fn(2)1749 5254 y Fu(are)f(equal)h(on)g
Fs(s)8 b Fu(.)43 b(If)32 b Fs(g)2571 5269 y Fn(1)2642
5254 y Fs(s)39 b Fu(=)32 b(undef)p 2829 5267 236 4 v
33 w(then)g(it)f(m)m(ust)h(b)s(e)283 5374 y(the)i(case)g(that)f
Fs(g)925 5389 y Fn(2)997 5374 y Fs(s)41 b Fu(=)33 b(undef)p
1187 5387 V 34 w(since)h(otherwise)f Fs(g)2184 5389 y
Fn(2)2256 5374 y Fs(s)42 b Fu(=)32 b Fs(s)2494 5338 y
Fi(0)2551 5374 y Fu(and)h(the)h(assumption)e Fs(g)3480
5389 y Fn(2)3552 5374 y Ft(v)i Fs(g)3717 5389 y Fn(1)283
5494 y Fu(then)g(giv)m(es)f Fs(g)799 5509 y Fn(1)870
5494 y Fs(s)41 b Fu(=)32 b Fs(s)1107 5458 y Fi(0)1163
5494 y Fu(whic)m(h)h(is)f(a)h(con)m(tradiction.)42 b(Th)m(us)34
b Fs(g)2554 5509 y Fn(1)2626 5494 y Fu(and)e Fs(g)2869
5509 y Fn(2)2941 5494 y Fu(will)e(b)s(e)j(equal)f(on)h
Fs(s)8 b Fu(.)p eop
%%Page: 97 107
97 106 bop 0 130 a Fw(4.2)112 b(Fixed)38 b(p)s(oin)m(t)e(theory)2183
b(97)p 0 193 3473 4 v 146 515 a Fu(Finally)-8 b(,)39
b(w)m(e)i(shall)e(pro)m(v)m(e)i(that)e Ft(?)i Fu(is)e(the)h
Fs(le)-5 b(ast)42 b(element)48 b Fu(of)40 b Fw(State)g
Fo(,)-17 b Ft(!)40 b Fw(State)p Fu(.)65 b(It)40 b(is)0
636 y(easy)35 b(to)f(see)h(that)f Ft(?)h Fu(is)e(indeed)i(an)f(elemen)m
(t)g(of)f Fw(State)i Fo(,)-17 b Ft(!)34 b Fw(State)g
Fu(and)g(it)f(is)h(also)f(ob)m(vious)0 756 y(that)f Ft(?)h(v)g
Fs(g)41 b Fu(holds)33 b(for)f(all)e Fs(g)41 b Fu(since)33
b Ft(?)g Fs(s)41 b Fu(=)32 b Fs(s)1729 720 y Fi(0)1785
756 y Fu(v)-5 b(acuously)33 b(implies)d(that)j Fs(g)41
b(s)f Fu(=)33 b Fs(s)3096 720 y Fi(0)3119 756 y Fu(.)252
b Fh(2)146 960 y Fu(Ha)m(ving)27 b(in)m(tro)s(duced)g(an)g(ordering)f
(on)h(the)h(partial)c(functions)j(w)m(e)h(can)g(no)m(w)f(giv)m(e)g(a)g
(more)0 1080 y(precise)33 b(statemen)m(t)g(of)f(the)h(requiremen)m(ts)h
(to)e(FIX)h Fs(F)13 b Fu(:)145 1265 y Ft(\017)49 b Fu(FIX)32
b Fs(F)46 b Fu(is)32 b(a)g Fs(\014xe)-5 b(d)34 b(p)-5
b(oint)42 b Fu(of)32 b Fs(F)13 b Fu(,)33 b(that)f(is)g
Fs(F)13 b Fu(\(FIX)33 b Fs(F)13 b Fu(\))32 b(=)g(FIX)h
Fs(F)13 b Fu(,)33 b(and)145 1462 y Ft(\017)49 b Fu(FIX)32
b Fs(F)46 b Fu(is)32 b(a)g Fs(le)-5 b(ast)42 b Fu(\014xed)34
b(p)s(oin)m(t)e(of)g Fs(F)13 b Fu(,)32 b(that)h(is)458
1660 y(if)f Fs(F)45 b(g)c Fu(=)33 b Fs(g)41 b Fu(then)33
b(FIX)g Fs(F)45 b Ft(v)33 b Fs(g)9 b Fu(.)0 1902 y Fw(Exercise)36
b(4.14)49 b Fu(By)30 b(analogy)e(with)h(F)-8 b(act)28
b(4.9)h(sho)m(w)h(that)f(if)f Fs(F)42 b Fu(has)29 b(a)g(least)g
(\014xed)h(p)s(oin)m(t)e Fs(g)3433 1917 y Fn(0)0 2023
y Fu(then)33 b Fs(g)276 2038 y Fn(0)348 2023 y Fu(is)f(unique.)2641
b Fh(2)146 2227 y Fu(The)30 b(next)f(task)h(will)c(b)s(e)j(to)f(ensure)
i(that)f(all)d(functionals)i Fs(F)41 b Fu(that)29 b(ma)m(y)f(arise)g
(do)h(indeed)0 2347 y(ha)m(v)m(e)37 b(least)d(\014xed)j(p)s(oin)m(ts.)
51 b(W)-8 b(e)35 b(shall)f(do)h(so)h(b)m(y)g(dev)m(eloping)f(a)g
(general)f(theory)i(that)f(giv)m(es)0 2467 y(more)h(structure)h(to)f
(the)g(partially)e(ordered)j(sets)g(and)g(that)f(imp)s(oses)f
(restrictions)h(on)g(the)0 2588 y(functionals)31 b(so)i(that)g(they)g
(ha)m(v)m(e)h(least)e(\014xed)i(p)s(oin)m(ts.)0 2792
y Fw(Exercise)i(4.15)49 b Fu(Determine)37 b(the)h(least)f(\014xed)i(p)s
(oin)m(ts)f(of)f(the)h(functionals)f(considered)h(in)0
2912 y(Exercises)c(4.2)f(and)f(4.3.)43 b(Compare)33 b(with)f(Exercises)
i(4.4)e(and)h(4.5.)873 b Fh(2)0 3198 y Fp(Complete)46
b(partially)h(ordered)e(sets)0 3383 y Fu(Consider)38
b(a)e(partially)f(ordered)j(set)g(\()p Fs(D)9 b Fu(,)37
b Ft(v)p Fu(\))g(and)g(assume)h(that)f(w)m(e)h(ha)m(v)m(e)h(a)d(subset)
j Fs(Y)57 b Fu(of)0 3503 y Fs(D)9 b Fu(.)31 b(W)-8 b(e)32
b(shall)d(b)s(e)j(in)m(terested)g(in)e(an)h(elemen)m(t)g(of)g
Fs(D)40 b Fu(that)31 b(summarizes)f(all)f(the)j(information)0
3623 y(of)c Fs(Y)48 b Fu(and)29 b(this)f(is)g(called)g(an)g
Fs(upp)-5 b(er)31 b(b)-5 b(ound)39 b Fu(of)28 b Fs(Y)20
b Fu(;)28 b(formally)-8 b(,)27 b(it)h(is)g(an)g(elemen)m(t)h
Fs(d)38 b Fu(of)28 b Fs(D)38 b Fu(suc)m(h)0 3744 y(that)244
3929 y Ft(8)p Fs(d)359 3893 y Fi(0)415 3929 y Ft(2)33
b Fs(Y)20 b Fu(.)32 b Fs(d)725 3893 y Fi(0)781 3929 y
Ft(v)h Fs(d)0 4114 y Fu(An)g(upp)s(er)g(b)s(ound)g Fs(d)42
b Fu(of)32 b Fs(Y)53 b Fu(is)32 b(a)g Fs(le)-5 b(ast)35
b(upp)-5 b(er)34 b(b)-5 b(ound)33 b Fu(if)e(and)i(only)f(if)244
4299 y Fs(d)304 4263 y Fi(0)360 4299 y Fu(is)g(an)g(upp)s(er)i(b)s
(ound)e(of)g Fs(Y)53 b Fu(implies)30 b(that)i Fs(d)43
b Ft(v)33 b Fs(d)2214 4263 y Fi(0)0 4485 y Fu(Th)m(us)i(a)f(least)g
(upp)s(er)g(b)s(ound)g(of)g Fs(Y)53 b Fu(will)32 b(add)i(as)g(little)d
(extra)k(information)30 b(as)k(p)s(ossible)g(to)0 4605
y(that)e(already)g(presen)m(t)j(in)d(the)h(elemen)m(ts)f(of)h
Fs(Y)19 b Fu(.)0 4809 y Fw(Exercise)36 b(4.16)49 b Fu(By)31
b(analogy)f(with)g(F)-8 b(act)30 b(4.9)g(sho)m(w)h(that)g(if)e
Fs(Y)50 b Fu(has)31 b(a)f(least)g(upp)s(er)h(b)s(ound)0
4929 y Fs(d)43 b Fu(then)33 b Fs(d)43 b Fu(is)32 b(unique.)2581
b Fh(2)146 5133 y Fu(If)37 b Fs(Y)56 b Fu(has)37 b(a)f(\(necessarily)h
(unique\))g(least)f(upp)s(er)h(b)s(ound)g(w)m(e)g(shall)e(denote)j(it)d
(b)m(y)3284 5067 y Fg(F)3354 5133 y Fs(Y)19 b Fu(.)0
5254 y(Finally)-8 b(,)30 b(a)i(subset)i Fs(Y)52 b Fu(is)32
b(called)f(a)i Fs(chain)39 b Fu(if)31 b(it)g(is)h(consisten)m(t)i(in)d
(the)i(sense)i(that)d(if)f(w)m(e)j(tak)m(e)0 5374 y(an)m(y)28
b(t)m(w)m(o)f(elemen)m(ts)g(of)g Fs(Y)46 b Fu(then)27
b(one)h(will)c(share)k(its)e(information)e(with)i(the)h(other;)i
(formally)-8 b(,)0 5494 y(this)32 b(is)g(expressed)k(b)m(y)p
eop
%%Page: 98 108
98 107 bop 251 130 a Fw(98)2034 b(4)112 b(Denotational)36
b(Seman)m(tics)p 251 193 3473 4 v 527 515 a Ft(8)q Fs(d)643
530 y Fn(1)682 515 y Fu(,)d Fs(d)802 530 y Fn(2)874 515
y Ft(2)g Fs(Y)20 b Fu(.)32 b Fs(d)1184 530 y Fn(1)1256
515 y Ft(v)h Fs(d)1426 530 y Fn(2)1498 515 y Fu(or)g
Fs(d)1678 530 y Fn(2)1750 515 y Ft(v)g Fs(d)1920 530
y Fn(1)283 758 y Fw(Example)k(4.17)49 b Fu(Consider)d(the)g(partially)d
(ordered)j(set)g(\()p Ft(P)9 b Fu(\()p Ft(f)p Fu(a,b,c)p
Ft(g)p Fu(\),)48 b Ft(\022)q Fu(\))d(of)g(Example)283
879 y(4.10.)e(Then)34 b(the)f(subset)527 1091 y Fs(Y)619
1106 y Fn(0)691 1091 y Fu(=)f Ft(f)h(;)o Fu(,)g Ft(f)p
Fu(a)p Ft(g)p Fu(,)f Ft(f)p Fu(a,c)p Ft(g)g(g)283 1304
y Fu(is)i(a)f(c)m(hain.)48 b(Both)33 b Ft(f)p Fu(a,b,c)p
Ft(g)h Fu(and)g Ft(f)p Fu(a,c)p Ft(g)g Fu(are)g(upp)s(er)g(b)s(ounds)h
(of)e Fs(Y)2775 1319 y Fn(0)2848 1304 y Fu(and)h Ft(f)p
Fu(a,c)p Ft(g)g Fu(is)f(the)h(least)283 1424 y(upp)s(er)k(b)s(ound.)55
b(The)38 b(elemen)m(t)e Ft(f)p Fu(a,b)p Ft(g)g Fu(is)g
Fs(not)46 b Fu(an)37 b(upp)s(er)g(b)s(ound)g(b)s(ecause)h
Ft(f)p Fu(a,c)p Ft(g)e(6\022)h(f)p Fu(a,b)p Ft(g)p Fu(.)283
1545 y(In)e(general,)f(the)g(least)g(upp)s(er)h(b)s(ound)f(of)g(a)f
(non-empt)m(y)i(c)m(hain)f(in)f Ft(P)8 b Fu(\()p Ft(f)p
Fu(a,b,c)p Ft(g)p Fu(\))34 b(will)e(b)s(e)i(the)283 1665
y(largest)e(elemen)m(t)h(of)f(the)h(c)m(hain.)430 1787
y(The)47 b(subset)i Ft(f)d(;)p Fu(,)k Ft(f)p Fu(a)p Ft(g)p
Fu(,)g Ft(f)p Fu(c)p Ft(g)p Fu(,)h Ft(f)p Fu(a,c)p Ft(g)46
b(g)h Fu(is)f Fs(not)56 b Fu(a)46 b(c)m(hain)h(b)s(ecause)h
Ft(f)p Fu(a)p Ft(g)e Fu(and)h Ft(f)p Fu(c)p Ft(g)g Fu(are)283
1908 y(unrelated)42 b(b)m(y)g(the)g(ordering.)69 b(Ho)m(w)m(ev)m(er,)46
b(it)40 b(do)s(es)i(ha)m(v)m(e)h(a)e(least)g(upp)s(er)h(b)s(ound,)i
(namely)283 2028 y Ft(f)p Fu(a,c)p Ft(g)p Fu(.)430 2150
y(The)35 b Fs(subset)43 b Ft(;)34 b Fu(of)g Ft(P)8 b
Fu(\()p Ft(f)p Fu(a,b,c)p Ft(g)p Fu(\))34 b(is)g(a)g(c)m(hain)g(and)g
(it)f(has)i(an)m(y)g(elemen)m(t)e(of)h Ft(P)9 b Fu(\()p
Ft(f)p Fu(a,b,c)p Ft(g)p Fu(\))34 b(as)283 2271 y(an)f(upp)s(er)g(b)s
(ound.)44 b(Its)33 b(least)f(upp)s(er)h(b)s(ound)g(is)f(the)h
Fs(element)41 b Ft(;)p Fu(.)981 b Fh(2)283 2512 y Fw(Exercise)37
b(4.18)49 b Fu(Let)37 b Fs(S)49 b Fu(b)s(e)37 b(a)g(non-empt)m(y)h(set)
f(and)h(consider)f(the)h(partially)c(ordered)k(set)283
2632 y(\()p Ft(P)9 b Fu(\()p Fs(S)j Fu(\),)33 b Ft(\022)p
Fu(\).)45 b(Sho)m(w)34 b(that)f(ev)m(ery)i(subset)f(of)f
Ft(P)8 b Fu(\()p Fs(S)k Fu(\))33 b(has)g(a)g(least)g(upp)s(er)g(b)s
(ound.)45 b(Rep)s(eat)33 b(the)283 2753 y(exercise)h(for)e(the)h
(partially)d(ordered)k(set)f(\()p Ft(P)8 b Fu(\()p Fs(S)k
Fu(\),)33 b Ft(\023)p Fu(\).)1362 b Fh(2)283 2994 y Fw(Exercise)37
b(4.19)49 b Fu(Let)37 b Fs(S)49 b Fu(b)s(e)37 b(a)g(non-empt)m(y)h(set)
f(and)h(consider)f(the)h(partially)c(ordered)k(set)283
3114 y(\()p Ft(P)399 3129 y Fn(\014n)481 3114 y Fu(\()p
Fs(S)12 b Fu(\),)31 b Ft(\022)q Fu(\))f(as)i(de\014ned)g(in)e(Exercise)
j(4.12.)42 b(Sho)m(w)32 b(b)m(y)g(means)f(of)f(an)h(example)f(that)h
(there)283 3234 y(are)45 b(c)m(hoices)h(of)e Fs(S)57
b Fu(suc)m(h)46 b(that)f(\()p Ft(P)1605 3249 y Fn(\014n)1688
3234 y Fu(\()p Fs(S)12 b Fu(\),)44 b Ft(\022)q Fu(\))h(has)g(a)f(c)m
(hain)h(with)g(no)f(upp)s(er)i(b)s(ound)f(and)283 3355
y(therefore)34 b(no)e(least)g(upp)s(er)h(b)s(ound.)2051
b Fh(2)283 3596 y Fw(Example)37 b(4.20)49 b Fu(Let)33
b Fs(g)1223 3611 y Fn(n)1266 3596 y Fu(:)43 b Fw(State)33
b Fo(,)-17 b Ft(!)32 b Fw(State)h Fu(b)s(e)g(de\014ned)h(b)m(y)527
3969 y Fs(g)581 3984 y Fn(n)657 3969 y Fs(s)40 b Fu(=)846
3719 y Fg(8)846 3794 y(>)846 3819 y(>)846 3844 y(>)846
3869 y(<)846 4018 y(>)846 4043 y(>)846 4068 y(>)846 4093
y(:)961 3800 y Fu(undef)p 961 3813 236 4 v 235 w(if)31
b Fs(s)41 b Fr(x)33 b Fo(>)f Fu(n)961 3968 y Fs(s)8 b
Fu([)p Fr(x)p Ft(7!\000)p Fw(1)p Fu(])84 b(if)31 b Fw(0)i
Ft(\024)g Fs(s)40 b Fr(x)33 b Fu(and)g Fs(s)40 b Fr(x)33
b Ft(\024)g Fu(n)961 4135 y Fs(s)430 b Fu(if)31 b Fs(s)41
b Fr(x)33 b Fo(<)f Fw(0)283 4341 y Fu(It)38 b(is)f(straigh)m(tforw)m
(ard)g(to)g(v)m(erify)h(that)f Fs(g)1858 4356 y Fn(n)1939
4341 y Ft(v)h Fs(g)2108 4356 y Fn(m)2208 4341 y Fu(whenev)m(er)i(n)e
Ft(\024)f Fu(m)g(b)s(ecause)i Fs(g)3386 4356 y Fn(n)3466
4341 y Fu(will)d(b)s(e)283 4462 y(unde\014ned)f(for)d(more)g(states)h
(than)g Fs(g)1680 4477 y Fn(m)1742 4462 y Fu(.)44 b(No)m(w)33
b(de\014ne)h Fs(Y)2408 4477 y Fn(0)2480 4462 y Fu(to)f(b)s(e)527
4674 y Fs(Y)619 4689 y Fn(0)691 4674 y Fu(=)f Ft(f)h
Fs(g)936 4689 y Fn(n)1011 4674 y Ft(j)f Fu(n)h Ft(\025)g
Fu(0)f Ft(g)283 4887 y Fu(Then)i Fs(Y)630 4902 y Fn(0)702
4887 y Fu(is)e(a)g(c)m(hain)h(b)s(ecause)h Fs(g)1554
4902 y Fn(n)1629 4887 y Ft(v)f Fs(g)1793 4902 y Fn(m)1888
4887 y Fu(whenev)m(er)i(n)e Ft(\024)g Fu(m.)43 b(The)33
b(partial)d(function)527 5181 y Fs(g)41 b(s)g Fu(=)802
5007 y Fg(8)802 5081 y(<)802 5231 y(:)918 5096 y Fs(s)8
b Fu([)p Fr(x)p Ft(7!\000)p Fw(1)p Fu(])83 b(if)32 b
Fw(0)g Ft(\024)h Fs(s)41 b Fr(x)918 5264 y Fs(s)429 b
Fu(if)32 b Fs(s)40 b Fr(x)33 b Fo(<)g Fw(0)283 5475 y
Fu(is)g(the)g(least)f(upp)s(er)h(b)s(ound)g(of)f Fs(Y)19
b Fu(.)2094 b Fh(2)p eop
%%Page: 99 109
99 108 bop 0 130 a Fw(4.2)112 b(Fixed)38 b(p)s(oin)m(t)e(theory)2183
b(99)p 0 193 3473 4 v 0 515 a(Exercise)36 b(4.21)49 b
Fu(Construct)e(a)f(subset)h Fs(Y)66 b Fu(of)45 b Fw(State)h
Fo(,)-17 b Ft(!)46 b Fw(State)g Fu(suc)m(h)h(that)f Fs(Y)65
b Fu(has)46 b(no)0 636 y(upp)s(er)33 b(b)s(ound)g(and)g(hence)h(no)e
(least)g(upp)s(er)h(b)s(ound.)1420 b Fh(2)0 826 y Fw(Exercise)36
b(4.22)49 b Fu(Let)33 b Fs(g)920 841 y Fn(n)996 826 y
Fu(b)s(e)f(the)h(partial)e(function)h(de\014ned)i(b)m(y)244
1083 y Fs(g)298 1098 y Fn(n)373 1083 y Fs(s)41 b Fu(=)562
909 y Fg(8)562 983 y(<)562 1133 y(:)678 998 y Fs(s)8
b Fu([)p Fr(y)p Ft(7!)p Fu(\()p Fs(s)40 b Fr(x)p Fu(\)!][)p
Fr(x)p Ft(7!)q Fw(1)p Fu(])83 b(if)31 b Fw(0)i Fo(<)f
Fs(s)41 b Fr(x)33 b Fu(and)f Fs(s)41 b Fr(x)33 b Ft(\024)g
Fu(n)678 1166 y(undef)p 678 1179 236 4 v 597 w(if)e Fs(s)41
b Fr(x)33 b Ft(\024)g Fw(0)f Fu(or)g Fs(s)41 b Fr(x)33
b Fo(>)f Fu(n)0 1345 y(\(where)h Fo(m)p Fu(!)f(denotes)h(the)f
(factorial)d(of)i Fo(m)p Fu(.\))44 b(De\014ne)32 b Fs(Y)2060
1360 y Fn(0)2131 1345 y Fu(=)f Ft(f)g Fs(g)2373 1360
y Fn(n)2448 1345 y Ft(j)g Fu(n)h Ft(\025)g Fu(0)g Ft(g)f
Fu(and)h(sho)m(w)h(that)0 1466 y(it)d(is)h(a)g(c)m(hain.)43
b(Characterize)32 b(the)f(upp)s(er)h(b)s(ounds)g(of)f
Fs(Y)2119 1481 y Fn(0)2190 1466 y Fu(and)g(determine)g(the)h(least)f
(upp)s(er)0 1586 y(b)s(ound.)3103 b Fh(2)146 1777 y Fu(A)33
b(partially)d(ordered)k(set)g(\()p Fs(D)9 b Fu(,)32 b
Ft(v)q Fu(\))h(is)f(called)g(a)g Fs(chain)j(c)-5 b(omplete)39
b Fu(partially)30 b(ordered)k(set)0 1897 y(\(abbreviated)j
Fs(c)-5 b(cp)g(o)p Fu(\))36 b(whenev)m(er)1262 1831 y
Fg(F)1331 1897 y Fs(Y)56 b Fu(exists)74 b(for)36 b(all)e(c)m(hains)j
Fs(Y)20 b Fu(.)37 b(It)f(is)g(a)h Fs(c)-5 b(omplete)37
b(lattic)-5 b(e)0 2017 y Fu(if)89 1951 y Fg(F)159 2017
y Fs(Y)52 b Fu(exists)33 b(for)f(all)f(subsets)j Fs(Y)52
b Fu(of)33 b Fs(D)9 b Fu(.)0 2208 y Fw(Example)37 b(4.23)49
b Fu(Exercise)35 b(4.18)f(sho)m(ws)i(that)e(\()p Ft(P)8
b Fu(\()p Fs(S)k Fu(\),)34 b Ft(\022)q Fu(\))g(and)h(\()p
Ft(P)8 b Fu(\()p Fs(S)k Fu(\),)34 b Ft(\023)q Fu(\))g(are)g(complete)0
2328 y(lattices,)51 b(and)d(hence)h(ccp)s(o's,)k(for)47
b(all)f(non-empt)m(y)i(sets)i Fs(S)12 b Fu(.)47 b(Exercise)j(4.19)d
(sho)m(ws)j(that)0 2449 y(\()p Ft(P)115 2464 y Fn(\014n)198
2449 y Fu(\()p Fs(S)12 b Fu(\),)32 b Ft(\022)q Fu(\))g(need)i(not)e(b)s
(e)h(a)f(complete)g(lattice)f(nor)i(a)f(ccp)s(o.)1051
b Fh(2)p 0 2639 3473 5 v 0 2785 a Fw(F)-9 b(act)37 b(4.24)49
b Fu(If)33 b(\()p Fs(D)9 b Fu(,)32 b Ft(v)q Fu(\))g(is)g(a)h(ccp)s(o)g
(then)g(it)e(has)i(a)g(least)f(elemen)m(t)g Ft(?)h Fu(giv)m(en)g(b)m(y)
g Ft(?)q Fu(=)3174 2719 y Fg(F)3243 2785 y Ft(;)p Fu(.)p
0 2906 V 0 3081 a Fw(Pro)s(of:)k Fu(It)c(is)f(straigh)m(tforw)m(ard)g
(to)h(c)m(hec)m(k)h(that)f Ft(;)f Fu(is)g(a)h(c)m(hain)f(and)h(since)g
(\()p Fs(D)9 b Fu(,)33 b Ft(v)p Fu(\))g(is)f(a)g(ccp)s(o)0
3201 y(w)m(e)g(get)g(that)514 3135 y Fg(F)583 3201 y
Ft(;)f Fu(exists.)44 b(Using)31 b(the)h(de\014nition)e(of)1953
3135 y Fg(F)2022 3201 y Ft(;)h Fu(w)m(e)i(see)f(that)f(for)g(an)m(y)h
(elemen)m(t)f Fs(d)42 b Fu(of)0 3321 y Fs(D)g Fu(w)m(e)33
b(ha)m(v)m(e)484 3255 y Fg(F)553 3321 y Ft(;)g(v)g Fs(d)10
b Fu(.)43 b(This)33 b(means)f(that)1609 3255 y Fg(F)1678
3321 y Ft(;)g Fu(is)g(the)h(least)g(elemen)m(t)f(of)g
Fs(D)9 b Fu(.)562 b Fh(2)146 3525 y Fu(Exercise)26 b(4.21)e(sho)m(ws)j
(that)d Fw(State)h Fo(,)-17 b Ft(!)24 b Fw(State)h Fu(is)f(not)h(a)f
(complete)g(lattice.)39 b(F)-8 b(ortunately)g(,)0 3645
y(w)m(e)34 b(ha)m(v)m(e)p 0 3766 V 0 3912 a Fw(Lemma)j(4.25)49
b Fu(\()p Fw(State)39 b Fo(,)-17 b Ft(!)39 b Fw(State)p
Fu(,)f Ft(v)q Fu(\))h(is)f(a)g(ccp)s(o.)63 b(The)39 b(least)g(upp)s(er)
g(b)s(ound)3107 3845 y Fg(F)3176 3912 y Fs(Y)58 b Fu(of)39
b(a)0 4032 y(c)m(hain)32 b Fs(Y)53 b Fu(is)32 b(giv)m(en)g(b)m(y)244
4207 y(graph\()526 4141 y Fg(F)595 4207 y Fs(Y)20 b Fu(\))32
b(=)865 4141 y Fg(S)935 4207 y Ft(f)g Fu(graph\()p Fs(g)9
b Fu(\))32 b Ft(j)g Fs(g)41 b Ft(2)p Fs(Y)53 b Ft(g)0
4382 y Fu(that)32 b(is)g(\()347 4316 y Fg(F)417 4382
y Fs(Y)19 b Fu(\))p Fs(s)41 b Fu(=)32 b Fs(s)783 4346
y Fi(0)839 4382 y Fu(if)f(and)i(only)f(if)g Fs(g)41 b(s)f
Fu(=)33 b Fs(s)1745 4346 y Fi(0)1801 4382 y Fu(for)f(some)g
Fs(g)41 b Ft(2)33 b Fs(Y)20 b Fu(.)p 0 4503 V 0 4678
a Fw(Pro)s(of:)37 b Fu(The)d(pro)s(of)e(is)g(in)f(three)j(stages:)44
b(First)32 b(w)m(e)h(pro)m(v)m(e)h(that)269 4779 y Fg(S)338
4845 y Ft(f)e Fu(graph\()p Fs(g)9 b Fu(\))32 b Ft(j)g
Fs(g)41 b Ft(2)33 b Fs(Y)52 b Ft(g)2103 b Fu(\(*\))0
5013 y(is)41 b(indeed)h(a)f(graph)h(of)f(a)g(partial)f(function)h(in)g
Fw(State)h Fo(,)-17 b Ft(!)41 b Fw(State)p Fu(.)71 b(Secondly)-8
b(,)44 b(w)m(e)f(pro)m(v)m(e)0 5133 y(that)29 b(this)g(function)g(will)
d(b)s(e)k(an)f(upp)s(er)h(b)s(ound)f(of)g Fs(Y)49 b Fu(and)29
b(thirdly)f(that)h(it)f(is)h(less)g(than)h(an)m(y)0 5254
y(other)j(upp)s(er)g(b)s(ound)g(of)f Fs(Y)19 b Fu(,)33
b(that)f(is)g(it)g(is)g(the)h(least)f(upp)s(er)h(b)s(ound)g(of)f
Fs(Y)20 b Fu(.)146 5374 y(T)-8 b(o)25 b(v)m(erify)g(that)g(\(*\))f(sp)s
(eci\014es)i(a)f Fs(p)-5 b(artial)27 b(function)32 b
Fu(w)m(e)26 b(only)e(need)i(to)f(sho)m(w)h(that)e(if)g
Ft(h)p Fs(s)8 b Fu(,)32 b Fs(s)3410 5338 y Fi(0)3434
5374 y Ft(i)0 5494 y Fu(and)h Ft(h)o Fs(s)8 b Fu(,)33
b Fs(s)384 5458 y Fi(00)427 5494 y Ft(i)f Fu(are)g(elemen)m(ts)h(of)p
eop
%%Page: 100 110
100 109 bop 251 130 a Fw(100)1978 b(4)112 b(Denotational)36
b(Seman)m(tics)p 251 193 3473 4 v 527 515 a Fs(X)49 b
Fu(=)756 449 y Fg(S)826 515 y Ft(f)32 b Fu(graph\()p
Fs(g)9 b Fu(\))32 b Ft(j)g Fs(g)9 b Ft(2)p Fs(Y)52 b
Ft(g)283 710 y Fu(then)35 b Fs(s)555 673 y Fi(0)613 710
y Fu(=)f Fs(s)771 673 y Fi(00)813 710 y Fu(.)49 b(When)35
b Ft(h)p Fs(s)8 b Fu(,)34 b Fs(s)1371 673 y Fi(0)1395
710 y Ft(i)g(2)g Fs(X)51 b Fu(there)35 b(will)c(b)s(e)k(a)f(partial)e
(function)i Fs(g)41 b Ft(2)33 b Fs(Y)53 b Fu(suc)m(h)36
b(that)283 830 y Fs(g)k(s)f Fu(=)30 b Fs(s)601 794 y
Fi(0)625 830 y Fu(.)43 b(Similarly)-8 b(,)27 b(when)32
b Ft(h)p Fs(s)8 b Fu(,)31 b Fs(s)1573 794 y Fi(00)1616
830 y Ft(i)f(2)h Fs(X)47 b Fu(then)32 b(there)g(will)c(b)s(e)j(a)g
(partial)e(function)h Fs(g)3510 794 y Fi(0)3565 830 y
Ft(2)j Fs(Y)283 950 y Fu(suc)m(h)i(that)d Fs(g)769 914
y Fi(0)824 950 y Fs(s)41 b Fu(=)32 b Fs(s)1061 914 y
Fi(00)1104 950 y Fu(.)43 b(Since)33 b Fs(Y)52 b Fu(is)33
b(a)f(c)m(hain)g(w)m(e)i(will)c(ha)m(v)m(e)k(that)f(either)f
Fs(g)41 b Ft(v)33 b Fs(g)3281 914 y Fi(0)3337 950 y Fu(or)f
Fs(g)3510 914 y Fi(0)3565 950 y Ft(v)h Fs(g)9 b Fu(.)283
1071 y(In)44 b(an)m(y)h(case)f(w)m(e)h(get)f Fs(g)52
b(s)g Fu(=)43 b Fs(g)1520 1034 y Fi(0)1587 1071 y Fs(s)51
b Fu(and)44 b(this)g(means)f(that)h Fs(s)2661 1034 y
Fi(0)2728 1071 y Fu(=)f Fs(s)2895 1034 y Fi(00)2981 1071
y Fu(as)h(required.)78 b(This)283 1191 y(completes)33
b(the)g(\014rst)g(part)f(of)g(the)h(pro)s(of.)430 1311
y(In)g(the)g(second)h(part)e(of)g(the)h(pro)s(of)f(w)m(e)h(de\014ne)h
(the)f(partial)d(function)j Fs(g)3124 1326 y Fn(0)3195
1311 y Fu(b)m(y)527 1506 y(graph\()p Fs(g)863 1521 y
Fn(0)902 1506 y Fu(\))g(=)1081 1439 y Fg(S)1150 1506
y Ft(f)g Fu(graph\()p Fs(g)9 b Fu(\))31 b Ft(j)i Fs(g)41
b Ft(2)33 b Fs(Y)52 b Ft(g)283 1700 y Fu(T)-8 b(o)33
b(sho)m(w)g(that)f Fs(g)933 1715 y Fn(0)1004 1700 y Fu(is)g(an)g(upp)s
(er)h(b)s(ound)f(of)g Fs(Y)52 b Fu(let)31 b Fs(g)41 b
Fu(b)s(e)32 b(an)g(elemen)m(t)g(of)g Fs(Y)20 b Fu(.)32
b(Then)h(w)m(e)h(ha)m(v)m(e)283 1820 y(graph\()p Fs(g)9
b Fu(\))36 b Ft(\022)g Fu(graph\()p Fs(g)1142 1835 y
Fn(0)1181 1820 y Fu(\))g(and)g(using)f(the)h(result)g(of)g(Exercise)h
(4.8)e(w)m(e)i(see)g(that)f Fs(g)44 b Ft(v)37 b Fs(g)3594
1835 y Fn(0)3669 1820 y Fu(as)283 1940 y(required)d(and)e(w)m(e)i(ha)m
(v)m(e)g(completed)e(the)h(second)h(part)e(of)g(the)h(pro)s(of.)430
2061 y(In)26 b(the)h(third)e(part)h(of)g(the)h(pro)s(of)e(w)m(e)i(sho)m
(w)h(that)e Fs(g)2296 2076 y Fn(0)2361 2061 y Fu(is)g(the)g(least)g
(upp)s(er)h(b)s(ound)f(of)g Fs(Y)20 b Fu(.)26 b(So)283
2181 y(let)33 b Fs(g)479 2196 y Fn(1)551 2181 y Fu(b)s(e)h(some)f(upp)s
(er)h(b)s(ound)f(of)g Fs(Y)19 b Fu(.)34 b(Using)f(the)g(de\014nition)f
(of)h(an)g(upp)s(er)h(b)s(ound)g(w)m(e)g(get)283 2302
y(that)29 b Fs(g)38 b Ft(v)30 b Fs(g)735 2317 y Fn(1)803
2302 y Fu(m)m(ust)f(hold)f(for)h(all)e Fs(g)38 b Ft(2)p
Fs(Y)20 b Fu(.)29 b(Exercise)i(4.8)d(giv)m(es)i(that)f(graph\()p
Fs(g)9 b Fu(\))28 b Ft(\022)i Fu(graph\()p Fs(g)3652
2317 y Fn(1)3691 2302 y Fu(\).)283 2422 y(Hence)k(it)e(m)m(ust)h(b)s(e)
f(the)h(case)h(that)527 2550 y Fg(S)597 2616 y Ft(f)e
Fu(graph\()p Fs(g)9 b Fu(\))32 b Ft(j)g Fs(g)41 b Ft(2)33
b Fs(Y)52 b Ft(g)32 b(\022)h Fu(graph\()p Fs(g)1982 2631
y Fn(1)2021 2616 y Fu(\))283 2810 y(But)28 b(this)g(is)f(the)h(same)f
(as)h(graph\()p Fs(g)1604 2825 y Fn(0)1643 2810 y Fu(\))f
Ft(\022)h Fu(graph\()p Fs(g)2149 2825 y Fn(1)2188 2810
y Fu(\))g(and)f(Exercise)i(4.8)f(giv)m(es)g(that)f Fs(g)3464
2825 y Fn(0)3531 2810 y Ft(v)h Fs(g)3690 2825 y Fn(1)3729
2810 y Fu(.)283 2931 y(This)k(sho)m(ws)h(that)e Fs(g)1048
2946 y Fn(0)1118 2931 y Fu(is)f(the)i(least)f(upp)s(er)h(b)s(ound)f(of)
g Fs(Y)50 b Fu(and)32 b(thereb)m(y)h(w)m(e)f(ha)m(v)m(e)g(completed)283
3051 y(the)h(pro)s(of.)2980 b Fh(2)283 3421 y Fp(Con)l(tin)l(uous)46
b(functions)283 3606 y Fu(Let)35 b(\()p Fs(D)9 b Fu(,)34
b Ft(v)p Fu(\))g(and)g(\()p Fs(D)1103 3570 y Fi(0)1126
3606 y Fu(,)h Ft(v)1265 3570 y Fi(0)1288 3606 y Fu(\))f(b)s(e)g(ccp)s
(o's)h(and)f(consider)h(a)e(\(total\))g(function)g Fs(f)21
b Fu(:)46 b Fs(D)d Ft(!)34 b Fs(D)3593 3570 y Fi(0)3616
3606 y Fu(.)48 b(If)283 3726 y Fs(d)343 3741 y Fn(1)416
3726 y Ft(v)33 b Fs(d)586 3741 y Fn(2)657 3726 y Fu(then)g(the)f(in)m
(tuition)e(is)h(that)h Fs(d)1812 3741 y Fn(1)1884 3726
y Fu(shares)h(its)e(information)e(with)j Fs(d)3122 3741
y Fn(2)3161 3726 y Fu(.)43 b(So)32 b(when)h(the)283 3847
y(function)k Fs(f)58 b Fu(has)37 b(b)s(een)h(applied)e(to)h(the)g(t)m
(w)m(o)h(elemen)m(ts)f Fs(d)2465 3862 y Fn(1)2542 3847
y Fu(and)g Fs(d)2796 3862 y Fn(2)2872 3847 y Fu(then)h(w)m(e)g(shall)e
(exp)s(ect)283 3967 y(that)31 b(a)g(similar)c(relationship)i(holds)i(b)
s(et)m(w)m(een)i(the)e(results.)43 b(That)31 b(is)g(w)m(e)g(shall)f
(exp)s(ect)i(that)283 4088 y Fs(f)55 b(d)428 4103 y Fn(1)502
4088 y Ft(v)579 4051 y Fi(0)637 4088 y Fs(f)g(d)782 4103
y Fn(2)855 4088 y Fu(and)34 b(when)h(this)f(is)g(the)g(case)h(w)m(e)g
(sa)m(y)g(that)f Fs(f)55 b Fu(is)33 b Fs(monotone)p Fu(.)47
b(F)-8 b(ormally)g(,)31 b Fs(f)55 b Fu(is)283 4208 y(monotone)32
b(if)g(and)g(only)g(if)527 4402 y Fs(d)587 4417 y Fn(1)659
4402 y Ft(v)h Fs(d)829 4417 y Fn(2)902 4402 y Fu(implies)d
Fs(f)53 b(d)1376 4417 y Fn(1)1448 4402 y Ft(v)1526 4366
y Fi(0)1581 4402 y Fs(f)h(d)1725 4417 y Fn(2)283 4596
y Fu(for)32 b(all)f(c)m(hoices)i(of)g Fs(d)1068 4611
y Fn(1)1140 4596 y Fu(and)f Fs(d)1389 4611 y Fn(2)1429
4596 y Fu(.)283 4812 y Fw(Example)37 b(4.26)49 b Fu(Consider)24
b(the)h(ccp)s(o's)g(\()p Ft(P)8 b Fu(\()p Ft(f)p Fu(a,b,c)p
Ft(g)p Fu(\),)26 b Ft(\022)p Fu(\))e(and)h(\()p Ft(P)8
b Fu(\()p Ft(f)p Fu(d,e)p Ft(g)p Fu(\),)26 b Ft(\022)p
Fu(\).)41 b(The)25 b(func-)283 4932 y(tion)32 b Fs(f)535
4947 y Fn(1)574 4932 y Fu(:)44 b Ft(P)8 b Fu(\()p Ft(f)p
Fu(a,b,c)p Ft(g)p Fu(\))33 b Ft(!)f(P)8 b Fu(\()p Ft(f)p
Fu(d,e)p Ft(g)p Fu(\))33 b(de\014ned)h(b)m(y)g(the)f(table)639
5205 y Fs(X)p 869 5288 4 249 v 209 w Ft(f)p Fu(a,b,c)p
Ft(g)100 b(f)p Fu(a,b)p Ft(g)i(f)p Fu(a,c)p Ft(g)g(f)p
Fu(b,c)p Ft(g)h(f)p Fu(a)p Ft(g)f(f)p Fu(b)p Ft(g)d(f)p
Fu(c)p Ft(g)h(;)p 527 5291 2620 4 v 577 5457 a Fs(f)628
5472 y Fn(1)700 5457 y Fs(X)p 869 5528 4 237 v 186 w
Ft(f)p Fu(d,e)p Ft(g)176 b(f)p Fu(d)p Ft(g)137 b(f)p
Fu(d,e)p Ft(g)100 b(f)p Fu(d,e)p Ft(g)g(f)p Fu(d)p Ft(g)g(f)p
Fu(d)p Ft(g)f(f)p Fu(e)p Ft(g)h(;)p eop
%%Page: 101 111
101 110 bop 0 130 a Fw(4.2)112 b(Fixed)38 b(p)s(oin)m(t)e(theory)2127
b(101)p 0 193 3473 4 v 0 515 a Fu(is)32 b(monotone:)43
b(it)31 b(simply)h(c)m(hanges)h(a's)g(and)g(b's)g(to)g(d's)g(and)g(c's)
g(to)f(e's.)146 636 y(The)i(function)e Fs(f)780 651 y
Fn(2)819 636 y Fu(:)44 b Ft(P)8 b Fu(\()p Ft(f)p Fu(a,b,c)p
Ft(g)p Fu(\))33 b Ft(!)f(P)8 b Fu(\()p Ft(f)p Fu(d,e)p
Ft(g)p Fu(\))33 b(de\014ned)h(b)m(y)g(the)f(table)355
917 y Fs(X)p 585 1001 4 249 v 210 w Ft(f)p Fu(a,b,c)p
Ft(g)100 b(f)p Fu(a,b)p Ft(g)f(f)p Fu(a,c)p Ft(g)g(f)p
Fu(b,c)p Ft(g)k(f)p Fu(a)p Ft(g)f(f)p Fu(b)p Ft(g)d(f)p
Fu(c)p Ft(g)146 b(;)p 244 1004 2707 4 v 294 1169 a Fs(f)345
1184 y Fn(2)417 1169 y Fs(X)p 585 1240 4 237 v 221 w
Ft(f)p Fu(d)p Ft(g)211 b(f)p Fu(d)p Ft(g)170 b(f)p Fu(d)p
Ft(g)i(f)p Fu(e)p Ft(g)140 b(f)p Fu(d)p Ft(g)105 b(f)p
Fu(e)p Ft(g)g(f)p Fu(e)p Ft(g)100 b(f)p Fu(e)p Ft(g)0
1406 y Fu(is)36 b Fs(not)46 b Fu(monotone)36 b(b)s(ecause)j
Ft(f)p Fu(b,c)p Ft(g)d(\022)i(f)p Fu(a,b,c)p Ft(g)e Fu(but)h
Fs(f)2050 1421 y Fn(2)2127 1406 y Ft(f)p Fu(b,c)p Ft(g)f(6\022)i
Fs(f)2553 1421 y Fn(2)2629 1406 y Ft(f)p Fu(a,b,c)p Ft(g)p
Fu(.)56 b(In)m(tuitiv)m(ely)-8 b(,)0 1527 y(all)36 b(sets)j(that)f(con)
m(tain)g(an)g(a)g(are)g(mapp)s(ed)g(to)g Ft(f)p Fu(d)p
Ft(g)g Fu(whereas)h(the)g(others)g(are)f(mapp)s(ed)g(to)0
1647 y Ft(f)p Fu(e)p Ft(g)43 b Fu(and)h(since)g(the)g(elemen)m(ts)g
Ft(f)p Fu(d)p Ft(g)f Fu(and)g Ft(f)p Fu(e)p Ft(g)h Fu(are)f
(incomparable)f(this)h(do)s(es)h(not)f(giv)m(e)h(a)0
1767 y(monotone)32 b(function.)42 b(Ho)m(w)m(ev)m(er,)35
b(if)c(w)m(e)j(c)m(hange)f(the)g(de\014nition)e(suc)m(h)j(that)e(sets)h
(with)f(an)h(a)0 1888 y(are)e(mapp)s(ed)g(to)g Ft(f)p
Fu(d)p Ft(g)f Fu(and)i(all)c(other)k(sets)g(to)f Ft(;)f
Fu(then)i(the)g(function)e(will)f(b)s(e)i(monotone.)75
b Fh(2)0 2116 y Fw(Exercise)36 b(4.27)49 b Fu(Consider)37
b(the)g(ccp)s(o)g(\()p Ft(P)9 b Fu(\()p Fw(N)p Fu(\),)36
b Ft(\022)p Fu(\).)55 b(Determine)36 b(whic)m(h)h(of)f(the)h(follo)m
(wing)0 2237 y(functions)c(in)e Ft(P)9 b Fu(\()p Fw(N)p
Fu(\))32 b Ft(!)g(P)8 b Fu(\()p Fw(N)p Fu(\))33 b(are)f(monotone:)145
2440 y Ft(\017)49 b Fs(f)295 2455 y Fn(1)367 2440 y Fs(X)f
Fu(=)33 b Fw(N)f Ft(n)g Fs(X)145 2643 y Ft(\017)49 b
Fs(f)295 2658 y Fn(2)367 2643 y Fs(X)f Fu(=)33 b Fs(X)49
b Ft([)32 b(f)p Fw(27)p Ft(g)145 2847 y(\017)49 b Fs(f)295
2862 y Fn(3)367 2847 y Fs(X)f Fu(=)33 b Fs(X)49 b Ft(\\)32
b(f)p Fw(7)p Fu(,)h Fw(9)p Fu(,)g Fw(13)p Ft(g)145 3050
y(\017)49 b Fs(f)295 3065 y Fn(4)367 3050 y Fs(X)f Fu(=)33
b Ft(f)f Fs(n)40 b Ft(2)33 b Fs(X)49 b Ft(j)32 b Fs(n)40
b Fu(is)32 b(a)g(prime)f Ft(g)145 3254 y(\017)49 b Fs(f)295
3269 y Fn(5)367 3254 y Fs(X)f Fu(=)33 b Ft(f)f Fw(2)h
Fo(?)f Fs(n)40 b Ft(j)32 b Fs(n)40 b Ft(2)33 b Fs(X)48
b Ft(g)2031 b Fh(2)0 3482 y Fw(Exercise)36 b(4.28)49
b Fu(Determine)32 b(whic)m(h)h(of)f(the)h(follo)m(wing)d(functionals)h
(of)244 3685 y(\()p Fw(State)h Fo(,)-17 b Ft(!)33 b Fw(State)p
Fu(\))g Ft(!)f Fu(\()p Fw(State)g Fo(,)-17 b Ft(!)33
b Fw(State)p Fu(\))0 3889 y(are)g(monotone:)145 4092
y Ft(\017)49 b Fs(F)321 4107 y Fn(0)393 4092 y Fs(g)41
b Fu(=)32 b Fs(g)145 4377 y Ft(\017)49 b Fs(F)321 4392
y Fn(1)393 4377 y Fs(g)41 b Fu(=)587 4203 y Fg(8)587
4277 y(<)587 4427 y(:)703 4292 y Fs(g)757 4307 y Fn(1)879
4292 y Fu(if)31 b Fs(g)41 b Fu(=)33 b Fs(g)1217 4307
y Fn(2)703 4460 y Fs(g)757 4475 y Fn(2)879 4460 y Fu(otherwise)1494
4377 y(where)h Fs(g)1830 4392 y Fn(1)1902 4377 y Ft(6)p
Fu(=)e Fs(g)2064 4392 y Fn(2)145 4767 y Ft(\017)49 b
Fu(\()p Fs(F)359 4731 y Fi(0)415 4767 y Fs(g)9 b Fu(\))32
b Fs(s)40 b Fu(=)728 4593 y Fg(8)728 4668 y(<)728 4817
y(:)843 4683 y Fs(g)h(s)91 b Fu(if)32 b Fs(s)40 b Fr(x)33
b Ft(6)p Fu(=)f Fw(0)843 4850 y Fs(s)177 b Fu(if)32 b
Fs(s)40 b Fr(x)33 b Fu(=)f Fw(0)3398 4767 y Fh(2)146
5077 y Fu(The)d(monotone)d(functions)i(ha)m(v)m(e)g(a)f(couple)h(of)f
(in)m(teresting)g(prop)s(erties.)41 b(First)27 b(w)m(e)h(pro)m(v)m(e)0
5198 y(that)k(the)h(comp)s(osition)e(of)h(t)m(w)m(o)h(monotone)f
(functions)g(is)g(a)h(monotone)e(function.)p eop
%%Page: 102 112
102 111 bop 251 130 a Fw(102)1978 b(4)112 b(Denotational)36
b(Seman)m(tics)p 251 193 3473 4 v 283 515 3473 5 v 283
689 a(F)-9 b(act)38 b(4.29)49 b Fu(Let)e(\()p Fs(D)9
b Fu(,)47 b Ft(v)p Fu(\),)k(\()p Fs(D)1476 653 y Fi(0)1499
689 y Fu(,)g Ft(v)1654 653 y Fi(0)1677 689 y Fu(\))c(and)g(\()p
Fs(D)2087 653 y Fi(00)2130 689 y Fu(,)j Ft(v)2285 653
y Fi(00)2327 689 y Fu(\))d(b)s(e)g(ccp)s(o's)h(and)f(let)f
Fs(f)21 b Fu(:)72 b Fs(D)56 b Ft(!)47 b Fs(D)3733 653
y Fi(0)283 809 y Fu(and)42 b Fs(f)533 773 y Fi(0)557
809 y Fu(:)h Fs(D)710 773 y Fi(0)766 809 y Ft(!)32 b
Fs(D)981 773 y Fi(00)1065 809 y Fu(b)s(e)42 b(monotone)f(functions.)71
b(Then)43 b Fs(f)2467 773 y Fi(0)2522 809 y Ft(\016)33
b Fs(f)21 b Fu(:)43 b Fs(D)f Ft(!)32 b Fs(D)3057 773
y Fi(00)3141 809 y Fu(is)41 b(a)h(monotone)283 930 y(function.)p
283 1050 V 283 1253 a Fw(Pro)s(of:)33 b Fu(Assume)d(that)f
Fs(d)1245 1268 y Fn(1)1313 1253 y Ft(v)g Fs(d)1479 1268
y Fn(2)1519 1253 y Fu(.)42 b(The)30 b(monotonicit)m(y)d(of)h
Fs(f)50 b Fu(giv)m(es)29 b(that)g Fs(f)50 b(d)3142 1268
y Fn(1)3210 1253 y Ft(v)3287 1217 y Fi(0)3339 1253 y
Fs(f)g(d)3479 1268 y Fn(2)3519 1253 y Fu(.)42 b(The)283
1373 y(monotonicit)m(y)31 b(of)h Fs(f)1036 1337 y Fi(0)1092
1373 y Fu(then)h(giv)m(es)g Fs(f)1604 1337 y Fi(0)1660
1373 y Fu(\()p Fs(f)53 b(d)1841 1388 y Fn(1)1881 1373
y Fu(\))32 b Ft(v)2029 1337 y Fi(00)2104 1373 y Fs(f)2155
1337 y Fi(0)2211 1373 y Fu(\()p Fs(f)53 b(d)2392 1388
y Fn(2)2431 1373 y Fu(\))33 b(as)g(required.)683 b Fh(2)430
1576 y Fu(Next)33 b(w)m(e)g(pro)m(v)m(e)h(that)e(the)h(image)e(of)h(a)g
(c)m(hain)g(under)h(a)g(monotone)e(function)h(is)g(itself)f(a)283
1697 y(c)m(hain.)p 283 1817 V 283 1991 a Fw(Lemma)38
b(4.30)49 b Fu(Let)24 b(\()p Fs(D)9 b Fu(,)23 b Ft(v)q
Fu(\))h(and)g(\()p Fs(D)1708 1955 y Fi(0)1731 1991 y
Fu(,)h Ft(v)1861 1955 y Fi(0)1884 1991 y Fu(\))f(b)s(e)g(ccp)s(o's)h
(and)f(let)f Fs(f)e Fu(:)39 b Fs(D)33 b Ft(!)23 b Fs(D)3095
1955 y Fi(0)3142 1991 y Fu(b)s(e)h(a)g(monotone)283 2111
y(function.)42 b(If)30 b Fs(Y)49 b Fu(is)29 b(a)h(c)m(hain)f(in)g
Fs(D)39 b Fu(then)30 b Ft(f)f Fs(f)51 b(d)39 b Ft(j)30
b Fs(d)39 b Ft(2)30 b Fs(Y)49 b Ft(g)30 b Fu(is)f(a)g(c)m(hain)h(in)f
Fs(D)3104 2075 y Fi(0)3127 2111 y Fu(.)42 b(F)-8 b(urthermore,)552
2212 y Fg(F)621 2243 y Fi(0)645 2279 y Ft(f)32 b Fs(f)53
b(d)43 b Ft(j)32 b Fs(d)43 b Ft(2)33 b Fs(Y)52 b Ft(g)32
b(v)1439 2243 y Fi(0)1495 2279 y Fs(f)21 b Fu(\()1584
2212 y Fg(F)1653 2279 y Fs(Y)e Fu(\))p 283 2399 V 283
2602 a Fw(Pro)s(of:)42 b Fu(If)37 b Fs(Y)56 b Fu(=)36
b Ft(;)g Fu(then)h(the)g(result)f(holds)h(immediately)c(since)k
Ft(?)2868 2566 y Fi(0)2928 2602 y Ft(v)3005 2566 y Fi(0)3065
2602 y Fs(f)57 b Ft(?)q Fu(.)e(So)36 b(assume)283 2722
y(that)d Fs(Y)53 b Ft(6)p Fu(=)33 b Ft(;)p Fu(.)45 b(W)-8
b(e)34 b(shall)e(\014rst)h(pro)m(v)m(e)i(that)e Ft(f)g
Fs(f)54 b(d)43 b Ft(j)33 b Fs(d)43 b Ft(2)33 b Fs(Y)53
b Ft(g)33 b Fu(is)g(a)g(c)m(hain)g(in)f Fs(D)3283 2686
y Fi(0)3306 2722 y Fu(.)46 b(So)33 b(let)f Fs(d)3716
2686 y Fi(0)3716 2747 y Fn(1)283 2843 y Fu(and)37 b Fs(d)537
2806 y Fi(0)537 2867 y Fn(2)613 2843 y Fu(b)s(e)f(t)m(w)m(o)h(elemen)m
(ts)g(of)f Ft(f)g Fs(f)57 b(d)46 b Ft(j)36 b Fs(d)47
b Ft(2)36 b Fs(Y)56 b Ft(g)p Fu(.)f(Then)37 b(there)g(are)f(elemen)m
(ts)h Fs(d)3387 2858 y Fn(1)3463 2843 y Fu(and)f Fs(d)3716
2858 y Fn(2)283 2963 y Fu(in)d Fs(Y)54 b Fu(suc)m(h)35
b(that)e Fs(d)1017 2927 y Fi(0)1017 2988 y Fn(1)1090
2963 y Fu(=)h Fs(f)54 b(d)1344 2978 y Fn(1)1417 2963
y Fu(and)34 b Fs(d)1668 2927 y Fi(0)1668 2988 y Fn(2)1741
2963 y Fu(=)f Fs(f)55 b(d)1995 2978 y Fn(2)2035 2963
y Fu(.)46 b(Since)34 b Fs(Y)53 b Fu(is)33 b(a)h(c)m(hain)f(w)m(e)i(ha)m
(v)m(e)g(that)e(either)283 3083 y Fs(d)343 3098 y Fn(1)416
3083 y Ft(v)g Fs(d)586 3098 y Fn(2)660 3083 y Fu(or)i
Fs(d)842 3098 y Fn(2)917 3083 y Ft(v)g Fs(d)1089 3098
y Fn(1)1129 3083 y Fu(.)51 b(In)35 b(either)g(case)h(w)m(e)g(get)g
(that)f(the)g(same)g(order)g(holds)g(b)s(et)m(w)m(een)i
Fs(d)3716 3047 y Fi(0)3716 3108 y Fn(1)283 3204 y Fu(and)g
Fs(d)537 3168 y Fi(0)537 3228 y Fn(2)613 3204 y Fu(b)s(ecause)h(of)e
(the)h(monotonicit)m(y)e(of)h Fs(f)21 b Fu(.)56 b(This)36
b(pro)m(v)m(es)j(that)d Ft(f)g Fs(f)58 b(d)47 b Ft(j)36
b Fs(d)47 b Ft(2)36 b Fs(Y)57 b Ft(g)36 b Fu(is)g(a)283
3324 y(c)m(hain.)430 3444 y(T)-8 b(o)46 b(pro)m(v)m(e)g(the)h(second)g
(part)e(of)g(the)h(lemma)e(consider)i(an)f(arbitrary)g(elemen)m(t)h
Fs(d)55 b Fu(of)283 3565 y Fs(Y)20 b Fu(.)48 b(Then)g(it)f(will)e(b)s
(e)j(the)g(case)g(that)g Fs(d)57 b Ft(v)2042 3498 y Fg(F)2111
3565 y Fs(Y)20 b Fu(.)48 b(The)g(monotonicit)m(y)e(of)h
Fs(f)68 b Fu(giv)m(es)48 b(that)283 3685 y Fs(f)54 b(d)43
b Ft(v)537 3649 y Fi(0)593 3685 y Fs(f)21 b Fu(\()682
3619 y Fg(F)751 3685 y Fs(Y)f Fu(\).)76 b(Since)44 b(this)f(holds)g
(for)g(all)e Fs(d)54 b Ft(2)44 b Fs(Y)63 b Fu(w)m(e)45
b(get)e(that)h Fs(f)21 b Fu(\()3012 3619 y Fg(F)3081
3685 y Fs(Y)e Fu(\))44 b(is)f(an)g(upp)s(er)283 3806
y(b)s(ound)33 b(on)g Ft(f)f Fs(f)53 b(d)43 b Ft(j)32
b Fs(d)43 b Ft(2)p Fs(Y)53 b Ft(g)o Fu(,)33 b(that)f(is)1740
3739 y Fg(F)1810 3769 y Fi(0)1865 3806 y Ft(f)h Fs(f)53
b(d)43 b Ft(j)32 b Fs(d)43 b Ft(2)p Fs(Y)52 b Ft(g)33
b(v)2627 3769 y Fi(0)2683 3806 y Fs(f)21 b Fu(\()2772
3739 y Fg(F)2841 3806 y Fs(Y)f Fu(\).)683 b Fh(2)430
4009 y Fu(In)40 b(general)f(w)m(e)i(cannot)f(exp)s(ect)h(that)e(a)g
(monotone)g(function)h(preserv)m(es)i(least)d(upp)s(er)283
4129 y(b)s(ounds)d(on)f(c)m(hains,)g(that)g(is)1402 4063
y Fg(F)1471 4093 y Fi(0)1529 4129 y Ft(f)g Fs(f)55 b(d)45
b Ft(j)35 b Fs(d)44 b Ft(2)q Fs(Y)54 b Ft(g)35 b Fu(=)f
Fs(f)21 b Fu(\()2428 4063 y Fg(F)2497 4129 y Fs(Y)f Fu(\).)35
b(This)g(is)f(illustrated)f(b)m(y)i(the)283 4250 y(follo)m(wing)30
b(example:)283 4477 y Fw(Example)37 b(4.31)49 b Fu(F)-8
b(rom)29 b(Example)i(4.23)f(w)m(e)i(get)f(that)f(\()p
Ft(P)9 b Fu(\()p Fw(N)30 b Ft([)h(f)p Fu(a)p Ft(g)p Fu(\),)g
Ft(\022)p Fu(\))g(is)f(a)h(ccp)s(o.)43 b(No)m(w)283 4597
y(consider)33 b(the)g(function)f Fs(f)21 b Fu(:)44 b
Ft(P)8 b Fu(\()p Fw(N)32 b Ft([)h(f)p Fu(a)p Ft(g)p Fu(\))f
Ft(!)g(P)9 b Fu(\()p Fw(N)32 b Ft([)h(f)p Fu(a)p Ft(g)p
Fu(\))f(de\014ned)i(b)m(y)527 4887 y Fs(f)54 b(X)48 b
Fu(=)840 4713 y Fg(8)840 4788 y(<)840 4937 y(:)955 4803
y Fs(X)379 b Fu(if)32 b Fs(X)48 b Fu(is)32 b(\014nite)955
4970 y Fs(X)49 b Ft([)33 b(f)p Fu(a)p Ft(g)82 b Fu(if)32
b Fs(X)48 b Fu(is)32 b(in\014nite)283 5171 y(Clearly)-8
b(,)34 b Fs(f)54 b Fu(is)33 b(a)h(monotone)e(function:)46
b(if)32 b Fs(X)1960 5186 y Fn(1)2033 5171 y Ft(\022)i
Fs(X)2232 5186 y Fn(2)2306 5171 y Fu(then)g(also)f Fs(f)54
b(X)2898 5186 y Fn(1)2971 5171 y Ft(\022)35 b Fs(f)54
b(X)3255 5186 y Fn(2)3295 5171 y Fu(.)46 b(Ho)m(w)m(ev)m(er,)283
5292 y Fs(f)54 b Fu(do)s(es)33 b(not)f(preserv)m(e)i(the)f(least)f(upp)
s(er)h(b)s(ounds)g(of)f(c)m(hains.)44 b(T)-8 b(o)32 b(see)i(this)e
(consider)g(the)h(set)527 5494 y Fs(Y)53 b Fu(=)32 b
Ft(f)g(f)p Fu(0,1,)p Ft(\001)17 b(\001)g(\001)n Fu(,n)p
Ft(g)33 b(j)f Fu(n)p Ft(\025)q Fu(0)g Ft(g)p eop
%%Page: 103 113
103 112 bop 0 130 a Fw(4.2)112 b(Fixed)38 b(p)s(oin)m(t)e(theory)2127
b(103)p 0 193 3473 4 v 0 515 a Fu(It)25 b(consists)h(of)f(the)g(elemen)
m(ts)h Ft(f)p Fu(0)p Ft(g)p Fu(,)g Ft(f)p Fu(0,1)p Ft(g)p
Fu(,)g Ft(f)p Fu(0,1,2)p Ft(g)p Fu(,)f Ft(\001)17 b(\001)g(\001)24
b Fu(and)h(it)f(is)h(straigh)m(tforw)m(ard)f(to)h(v)m(erify)0
636 y(that)40 b(it)f(is)h(a)g(c)m(hain)g(with)g Fw(N)g
Fu(as)g(its)g(least)f(upp)s(er)i(b)s(ound,)i(that)d(is)2597
569 y Fg(F)2666 636 y Fs(Y)60 b Fu(=)40 b Fw(N)p Fu(.)g(When)h(w)m(e)0
756 y(apply)32 b Fs(f)54 b Fu(to)32 b(the)h(elemen)m(ts)g(of)f
Fs(Y)52 b Fu(w)m(e)34 b(get)244 897 y Fg(F)346 963 y
Ft(f)e Fs(f)53 b(X)c Ft(j)32 b Fs(X)49 b Ft(2)33 b Fs(Y)52
b Ft(g)32 b Fu(=)1227 897 y Fg(F)1296 963 y Fs(Y)52 b
Fu(=)33 b Fw(N)0 1171 y Fu(Ho)m(w)m(ev)m(er,)i(w)m(e)f(also)d(ha)m(v)m
(e)244 1378 y Fs(f)53 b Fu(\()365 1312 y Fg(F)434 1378
y Fs(Y)20 b Fu(\))33 b(=)f Fs(f)53 b Fw(N)33 b Fu(=)f
Fw(N)g Ft([)h(f)p Fu(a)p Ft(g)0 1585 y Fu(sho)m(wing)g(that)f
Fs(f)54 b Fu(do)s(es)33 b(not)f(preserv)m(e)j(the)e(least)f(upp)s(er)h
(b)s(ounds)g(of)g(c)m(hains.)542 b Fh(2)146 1819 y Fu(W)-8
b(e)31 b(shall)e(b)s(e)i(in)m(terested)h(in)e(functions)g(that)h
(preserv)m(e)h(least)f(upp)s(er)g(b)s(ounds)g(of)f(c)m(hains,)0
1939 y(that)i(is)g(functions)h Fs(f)53 b Fu(that)33 b(satisfy)244
2080 y Fg(F)313 2110 y Fi(0)336 2147 y Ft(f)g Fs(f)53
b(d)43 b Ft(j)32 b Fs(d)43 b Ft(2)p Fs(Y)52 b Ft(g)33
b Fu(=)f Fs(f)21 b Fu(\()1218 2080 y Fg(F)1287 2147 y
Fs(Y)f Fu(\))0 2354 y(In)m(tuitiv)m(ely)-8 b(,)54 b(this)c(means)g
(that)g(w)m(e)i(obtain)d(the)i(same)f(information)d(indep)s(enden)m
(tly)k(of)0 2474 y(whether)42 b(w)m(e)g(determine)f(the)g(least)g(upp)s
(er)h(b)s(ound)f(b)s(efore)g(or)f(after)h(applying)f(the)h(func-)0
2595 y(tion)32 b Fs(f)20 b Fu(.)146 2716 y(W)-8 b(e)31
b(shall)d(sa)m(y)j(that)f(a)f(function)h Fs(f)21 b Fu(:)42
b Fs(D)c Ft(!)30 b Fs(D)1815 2680 y Fi(0)1868 2716 y
Fu(de\014ned)h(on)f(ccp)s(o's)h(\()p Fs(D)9 b Fu(,)30
b Ft(v)p Fu(\))g(and)g(\()p Fs(D)3253 2680 y Fi(0)3276
2716 y Fu(,)h Ft(v)3411 2680 y Fi(0)3435 2716 y Fu(\))0
2836 y(is)h Fs(c)-5 b(ontinuous)32 b Fu(if)g(it)f(is)h(monotone)g(and)
244 2977 y Fg(F)313 3007 y Fi(0)336 3043 y Ft(f)h Fs(f)53
b(d)43 b Ft(j)32 b Fs(d)43 b Ft(2)p Fs(Y)52 b Ft(g)33
b Fu(=)f Fs(f)21 b Fu(\()1218 2977 y Fg(F)1287 3043 y
Fs(Y)f Fu(\))0 3251 y(holds)40 b(for)g(all)f Fs(non-empty)h
Fu(c)m(hains)h Fs(Y)19 b Fu(.)41 b(If)1622 3184 y Fg(F)1691
3251 y Ft(f)f Fs(f)62 b(d)50 b Ft(j)41 b Fs(d)50 b Ft(2)41
b Fs(Y)61 b Ft(g)40 b Fu(=)g Fs(f)21 b Fu(\()2677 3184
y Fg(F)2746 3251 y Fs(Y)f Fu(\))41 b(holds)f(for)g(the)0
3371 y(empt)m(y)33 b(c)m(hain,)g(that)f(is)g Ft(?)h Fu(=)f
Fs(f)54 b Ft(?)p Fu(,)33 b(then)g(w)m(e)h(shall)d(sa)m(y)i(that)g
Fs(f)53 b Fu(is)32 b Fs(strict)p Fu(.)0 3606 y Fw(Example)37
b(4.32)49 b Fu(The)37 b(function)g Fs(f)1353 3621 y Fn(1)1429
3606 y Fu(of)f(Example)g(4.26)h(is)f(also)g(con)m(tin)m(uous.)57
b(T)-8 b(o)37 b(see)h(this)0 3726 y(consider)31 b(a)g(non-empt)m(y)g(c)
m(hain)g Fs(Y)50 b Fu(of)31 b Ft(P)8 b Fu(\()p Ft(f)p
Fu(a,b,c)p Ft(g)p Fu(\).)43 b(The)32 b(least)f(upp)s(er)g(b)s(ound)g
(of)g Fs(Y)51 b Fu(will)28 b(b)s(e)0 3846 y(the)33 b(largest)f(elemen)m
(t,)g(sa)m(y)i Fs(X)1127 3861 y Fn(0)1167 3846 y Fu(,)e(of)g
Fs(Y)52 b Fu(\(see)34 b(Example)e(4.17\).)43 b(Therefore)34
b(w)m(e)f(ha)m(v)m(e)294 4051 y Fs(f)345 4066 y Fn(1)417
4051 y Fu(\()455 3984 y Fg(F)524 4051 y Fs(Y)19 b Fu(\))100
b(=)h Fs(f)981 4066 y Fn(1)1053 4051 y Fs(X)1141 4066
y Fn(0)1879 4051 y Fu(b)s(ecause)34 b Fs(X)2328 4066
y Fn(0)2400 4051 y Fu(=)2508 3984 y Fg(F)2577 4051 y
Fs(Y)753 4218 y Ft(\022)930 4152 y Fg(F)999 4218 y Ft(f)f
Fs(f)1132 4233 y Fn(1)1204 4218 y Fs(X)49 b Ft(j)32 b
Fs(X)49 b Ft(2)33 b Fs(Y)52 b Ft(g)100 b Fu(b)s(ecause)34
b Fs(X)2328 4233 y Fn(0)2400 4218 y Ft(2)f Fs(Y)0 4424
y Fu(Using)41 b(that)h Fs(f)555 4439 y Fn(1)636 4424
y Fu(is)f(monotone)g(w)m(e)i(get)f(from)e(Lemma)h(4.30)g(that)2559
4358 y Fg(F)2628 4424 y Ft(f)h Fs(f)2771 4439 y Fn(1)2852
4424 y Fs(X)58 b Ft(j)41 b Fs(X)58 b Ft(2)42 b Fs(Y)62
b Ft(g)0 4545 y(\022)36 b Fs(f)163 4560 y Fn(1)238 4545
y Fu(\()276 4478 y Fg(F)345 4545 y Fs(Y)20 b Fu(\).)35
b(It)g(follo)m(ws)f(that)h Fs(f)1233 4560 y Fn(1)1307
4545 y Fu(is)g(con)m(tin)m(uous.)52 b(Also,)35 b Fs(f)2243
4560 y Fn(1)2317 4545 y Fu(is)g(a)g(strict)f(function)h(b)s(ecause)0
4665 y Fs(f)51 4680 y Fn(1)123 4665 y Ft(;)d Fu(=)h Ft(;)o
Fu(.)146 4786 y(The)j(function)f Fs(f)56 b Fu(of)35 b(Example)f(4.31)h
(is)g Fs(not)44 b Fu(a)35 b(con)m(tin)m(uous)h(function)e(b)s(ecause)j
(there)f(is)0 4907 y(a)c(c)m(hain)h(for)f(whic)m(h)h(it)e(do)s(es)i
(not)g(preserv)m(e)i(the)e(least)f(upp)s(er)h(b)s(ound.)790
b Fh(2)0 5140 y Fw(Exercise)36 b(4.33)49 b Fu(Sho)m(w)34
b(that)e(the)h(functional)e Fs(F)1863 5104 y Fi(0)1919
5140 y Fu(of)h(Example)g(4.1)g(is)g(con)m(tin)m(uous.)226
b Fh(2)0 5374 y Fw(Exercise)36 b(4.34)49 b Fu(Assume)33
b(that)e(\()p Fs(D)9 b Fu(,)31 b Ft(v)q Fu(\))g(and)h(\()p
Fs(D)1898 5338 y Fi(0)1921 5374 y Fu(,)g Ft(v)2057 5338
y Fi(0)2081 5374 y Fu(\))f(are)h(ccp)s(o's)g(and)g(that)f
Fs(f)21 b Fu(:)43 b Fs(D)d Ft(!)31 b Fs(D)3449 5338 y
Fi(0)0 5494 y Fu(satis\014es)p eop
%%Page: 104 114
104 113 bop 251 130 a Fw(104)1978 b(4)112 b(Denotational)36
b(Seman)m(tics)p 251 193 3473 4 v 527 449 a Fg(F)597
479 y Fi(0)620 515 y Ft(f)c Fs(f)54 b(d)42 b Ft(j)32
b Fs(d)43 b Ft(2)q Fs(Y)52 b Ft(g)32 b Fu(=)g Fs(f)21
b Fu(\()1501 449 y Fg(F)1570 515 y Fs(Y)f Fu(\))283 721
y(for)32 b(all)f Fs(non-empty)h Fu(c)m(hains)h Fs(Y)52
b Fu(of)32 b Fs(D)9 b Fu(.)33 b(Sho)m(w)g(that)f Fs(f)54
b Fu(is)32 b(monotone.)863 b Fh(2)430 953 y Fu(W)-8 b(e)33
b(can)h(extend)h(the)e(result)g(of)g(Lemma)f(4.29)h(to)g(sho)m(w)h
(that)f(the)h(comp)s(osition)c(of)j(t)m(w)m(o)283 1074
y(con)m(tin)m(uous)h(functions)e(will)f(also)g(b)s(e)i(con)m(tin)m
(uous:)p 283 1195 3473 5 v 283 1372 a Fw(Lemma)38 b(4.35)49
b Fu(Let)38 b(\()p Fs(D)9 b Fu(,)38 b Ft(v)p Fu(\),)h(\()p
Fs(D)1597 1336 y Fi(0)1621 1372 y Fu(,)g Ft(v)1764 1336
y Fi(0)1788 1372 y Fu(\))e(and)i(\()p Fs(D)2180 1336
y Fi(00)2222 1372 y Fu(,)g Ft(v)2366 1336 y Fi(00)2408
1372 y Fu(\))f(b)s(e)g(ccp)s(o's)h(and)f(let)f Fs(f)21
b Fu(:)54 b Fs(D)47 b Ft(!)38 b Fs(D)3733 1336 y Fi(0)283
1493 y Fu(and)d Fs(f)526 1456 y Fi(0)550 1493 y Fu(:)43
b Fs(D)703 1456 y Fi(0)759 1493 y Ft(!)32 b Fs(D)974
1456 y Fi(00)1051 1493 y Fu(b)s(e)j(con)m(tin)m(uous)g(functions.)50
b(Then)36 b Fs(f)2449 1456 y Fi(0)2505 1493 y Ft(\016)c
Fs(f)21 b Fu(:)44 b Fs(D)d Ft(!)32 b Fs(D)3039 1456 y
Fi(00)3116 1493 y Fu(is)j(a)f(con)m(tin)m(uous)283 1613
y(function.)p 283 1733 V 283 1939 a Fw(Pro)s(of:)48 b
Fu(F)-8 b(rom)40 b(Lemma)h(4.29)g(w)m(e)h(get)g(that)g
Fs(f)2067 1903 y Fi(0)2132 1939 y Ft(\016)g Fs(f)62 b
Fu(is)42 b(monotone.)70 b(T)-8 b(o)41 b(pro)m(v)m(e)i(that)f(it)e(is)
283 2060 y(con)m(tin)m(uous)34 b(let)e Fs(Y)52 b Fu(b)s(e)33
b(a)f(non-empt)m(y)h(c)m(hain)f(in)g Fs(D)9 b Fu(.)33
b(The)g(con)m(tin)m(uit)m(y)g(of)f Fs(f)53 b Fu(giv)m(es)527
2199 y Fg(F)597 2230 y Fi(0)620 2266 y Ft(f)32 b Fs(f)54
b(d)42 b Ft(j)32 b Fs(d)43 b Ft(2)33 b Fs(Y)52 b Ft(g)33
b Fu(=)f Fs(f)53 b Fu(\()1566 2199 y Fg(F)1636 2266 y
Fs(Y)19 b Fu(\))283 2472 y(Since)36 b Ft(f)e Fs(f)56
b(d)46 b Ft(j)34 b Fs(d)45 b Ft(2)36 b Fs(Y)54 b Ft(g)35
b Fu(is)g(a)g(\(non-empt)m(y\))g(c)m(hain)g(in)f Fs(D)2487
2436 y Fi(0)2545 2472 y Fu(w)m(e)i(can)g(use)g(the)f(con)m(tin)m(uit)m
(y)g(of)283 2592 y Fs(f)334 2556 y Fi(0)390 2592 y Fu(and)e(get)527
2732 y Fg(F)597 2762 y Fi(00)639 2798 y Ft(f)f Fs(f)772
2762 y Fi(0)828 2798 y Fs(d)888 2762 y Fi(0)944 2798
y Ft(j)g Fs(d)1064 2762 y Fi(0)1120 2798 y Ft(2)h(f)f
Fs(f)54 b(d)42 b Ft(j)33 b Fs(d)42 b Ft(2)33 b Fs(Y)52
b Ft(g)33 b(g)f Fu(=)h Fs(f)2177 2762 y Fi(0)2233 2798
y Fu(\()2271 2732 y Fg(F)2340 2762 y Fi(0)2364 2798 y
Ft(f)f Fs(f)53 b(d)43 b Ft(j)32 b Fs(d)43 b Ft(2)33 b
Fs(Y)52 b Ft(g)p Fu(\))283 3004 y(whic)m(h)34 b(is)e(equiv)-5
b(alen)m(t)32 b(to)527 3144 y Fg(F)597 3174 y Fi(00)639
3210 y Ft(f)g Fs(f)772 3174 y Fi(0)828 3210 y Fu(\()p
Fs(f)53 b(d)10 b Fu(\))33 b Ft(j)f Fs(d)43 b Ft(2)33
b Fs(Y)52 b Ft(g)32 b Fu(=)h Fs(f)1698 3174 y Fi(0)1753
3210 y Fu(\()p Fs(f)54 b Fu(\()1913 3144 y Fg(F)1982
3210 y Fs(Y)20 b Fu(\)\))283 3416 y(This)33 b(pro)m(v)m(es)i(the)e
(result.)2439 b Fh(2)283 3732 y Fw(Exercise)37 b(4.36)49
b Fu(Pro)m(v)m(e)34 b(that)e(if)g Fs(f)53 b Fu(and)33
b Fs(f)1875 3696 y Fi(0)1930 3732 y Fu(are)g(strict)f(functions)h(then)
g(so)g(is)f Fs(f)3260 3696 y Fi(0)3316 3732 y Ft(\016)g
Fs(f)21 b Fu(.)205 b Fh(2)430 3964 y Fu(W)-8 b(e)33 b(can)g(no)m(w)g
(de\014ne)h(the)f(required)g(\014xed)g(p)s(oin)m(t)f(op)s(erator)g
(FIX:)p 283 4085 V 283 4262 a Fw(Theorem)38 b(4.37)49
b Fu(Let)29 b Fs(f)21 b Fu(:)42 b Fs(D)d Ft(!)29 b Fs(D)38
b Fu(b)s(e)30 b(a)f(con)m(tin)m(uous)h(function)g(on)f(the)h(ccp)s(o)g
(\()p Fs(D)9 b Fu(,)29 b Ft(v)q Fu(\))g(with)283 4382
y(least)k(elemen)m(t)f Ft(?)q Fu(.)43 b(Then)527 4588
y(FIX)33 b Fs(f)53 b Fu(=)924 4522 y Fg(F)993 4588 y
Ft(f)32 b Fs(f)1126 4552 y Fn(n)1202 4588 y Ft(?)h(j)f
Fu(n)p Ft(\025)q Fu(0)g Ft(g)283 4794 y Fu(de\014nes)j(an)d(elemen)m(t)
h(of)f Fs(D)41 b Fu(and)33 b(this)f(elemen)m(t)h(is)f(the)h(least)f
(\014xed)i(p)s(oin)m(t)d(of)h Fs(f)21 b Fu(.)p 283 4915
V 283 5121 a(Here)34 b(w)m(e)f(ha)m(v)m(e)h(used)g(that)527
5327 y Fs(f)578 5291 y Fn(0)650 5327 y Fu(=)f(id,)f(and)527
5494 y Fs(f)578 5458 y Fn(n+1)744 5494 y Fu(=)h Fs(f)53
b Ft(\016)32 b Fs(f)1069 5458 y Fn(n)1145 5494 y Fu(for)g(n)p
Ft(\025)q Fu(0)p eop
%%Page: 105 115
105 114 bop 0 130 a Fw(4.2)112 b(Fixed)38 b(p)s(oin)m(t)e(theory)2127
b(105)p 0 193 3473 4 v 0 515 a(Pro)s(of:)33 b Fu(W)-8
b(e)28 b(\014rst)h(sho)m(w)h(the)f Fs(wel)5 b(l-de\014ne)-5
b(dness)34 b Fu(of)28 b(FIX)g Fs(f)21 b Fu(.)42 b(Note)29
b(that)f Fs(f)2724 479 y Fn(0)2792 515 y Ft(?)h Fu(=)f
Ft(?)h Fu(and)g(that)0 636 y Ft(?)k(v)g Fs(d)43 b Fu(for)32
b(all)e Fs(d)43 b Ft(2)33 b Fs(D)9 b Fu(.)32 b(By)h(induction)f(on)h(n)
f(one)h(ma)m(y)f(sho)m(w)i(that)244 801 y Fs(f)295 765
y Fn(n)371 801 y Ft(?)f(v)g Fs(f)642 765 y Fn(n)717 801
y Fs(d)0 966 y Fu(for)i(all)f Fs(d)46 b Ft(2)36 b Fs(D)45
b Fu(since)36 b Fs(f)56 b Fu(is)36 b(monotone.)52 b(It)36
b(follo)m(ws)e(that)i Fs(f)2233 930 y Fn(n)2312 966 y
Ft(?)g(v)g Fs(f)2589 930 y Fn(m)2688 966 y Ft(?)g Fu(whenev)m(er)i(n)p
Ft(\024)q Fu(m.)0 1086 y(Hence)33 b Ft(f)f Fs(f)422 1050
y Fn(n)497 1086 y Ft(?)h(j)e Fu(n)p Ft(\025)q Fu(0)h
Ft(g)g Fu(is)f(a)h(\(non-empt)m(y\))g(c)m(hain)g(in)f
Fs(D)41 b Fu(and)32 b(FIX)g Fs(f)53 b Fu(exists)33 b(b)s(ecause)g
Fs(D)41 b Fu(is)0 1207 y(a)32 b(ccp)s(o.)146 1327 y(W)-8
b(e)44 b(next)f(sho)m(w)h(that)f(FIX)g Fs(f)63 b Fu(is)43
b(a)f Fs(\014xe)-5 b(d)44 b(p)-5 b(oint)p Fu(,)45 b(that)d(is)h
Fs(f)63 b Fu(\(FIX)43 b Fs(f)21 b Fu(\))43 b(=)f(FIX)33
b Fs(f)21 b Fu(.)74 b(W)-8 b(e)0 1448 y(calculate:)294
1585 y Fs(f)53 b Fu(\(FIX)33 b Fs(f)20 b Fu(\))100 b(=)g
Fs(f)53 b Fu(\()1105 1518 y Fg(F)1174 1585 y Ft(f)32
b Fs(f)1307 1549 y Fn(n)1383 1585 y Ft(?)h(j)f Fu(n)p
Ft(\025)q Fu(0)g Ft(g)p Fu(\))325 b(\(de\014nition)31
b(of)h(FIX)h Fs(f)21 b Fu(\))808 1752 y(=)984 1686 y
Fg(F)1053 1752 y Ft(f)32 b Fs(f)21 b Fu(\()p Fs(f)1275
1716 y Fn(n)1351 1752 y Ft(?)p Fu(\))33 b Ft(j)f Fu(n)p
Ft(\025)q Fu(0)g Ft(g)357 b Fu(\(con)m(tin)m(uit)m(y)32
b(of)h Fs(f)21 b Fu(\))808 1920 y(=)984 1854 y Fg(F)1053
1920 y Ft(f)32 b Fs(f)1186 1884 y Fn(n)1262 1920 y Ft(?)h(j)f
Fu(n)p Ft(\025)q Fu(1)g Ft(g)808 2088 y Fu(=)984 2021
y Fg(F)1053 2088 y Fu(\()p Ft(f)g Fs(f)1224 2052 y Fn(n)1300
2088 y Ft(?)h(j)f Fu(n)p Ft(\025)q Fu(1)g Ft(g)g([)h(f?)q(g)p
Fu(\))99 b(\()2217 2021 y Fg(F)2286 2088 y Fu(\()p Fs(Y)52
b Ft([)33 b(f?g)p Fu(\))g(=)2903 2021 y Fg(F)2972 2088
y Fs(Y)2179 2255 y Fu(for)f(all)e(c)m(hains)j Fs(Y)20
b Fu(\))808 2423 y(=)984 2357 y Fg(F)1053 2423 y Ft(f)32
b Fs(f)1186 2387 y Fn(n)1262 2423 y Ft(?)h(j)f Fu(n)p
Ft(\025)q Fu(0)g Ft(g)484 b Fu(\()p Fs(f)2268 2387 y
Fn(0)2340 2423 y Ft(?)33 b Fu(=)f Ft(?)q Fu(\))808 2591
y(=)100 b(FIX)32 b Fs(f)961 b Fu(\(de\014nition)31 b(of)h(FIX)h
Fs(f)21 b Fu(\))146 2749 y(T)-8 b(o)39 b(see)h(that)e(FIX)h
Fs(f)60 b Fu(is)38 b(the)h Fs(le)-5 b(ast)48 b Fu(\014xed)40
b(p)s(oin)m(t)e(assume)h(that)g Fs(d)49 b Fu(is)38 b(some)g(other)h
(\014xed)0 2869 y(p)s(oin)m(t.)i(Clearly)28 b Ft(?)h(v)g
Fs(d)39 b Fu(so)29 b(the)g(monotonicit)m(y)e(of)h Fs(f)50
b Fu(giv)m(es)29 b Fs(f)2267 2833 y Fn(n)2339 2869 y
Ft(?)g(v)g Fs(f)2602 2833 y Fn(n)2678 2869 y Fs(d)39
b Fu(for)28 b(n)p Ft(\025)q Fu(0)g(and)h(as)g Fs(d)0
2990 y Fu(w)m(as)34 b(a)f(\014xed)i(p)s(oin)m(t)d(w)m(e)j(obtain)d
Fs(f)1262 2953 y Fn(n)1339 2990 y Ft(?)h(v)h Fs(d)44
b Fu(for)33 b(all)e(n)p Ft(\025)q Fu(0.)45 b(Hence)35
b Fs(d)43 b Fu(is)33 b(an)g(upp)s(er)h(b)s(ound)g(of)0
3110 y(the)g(c)m(hain)g Ft(f)f Fs(f)561 3074 y Fn(n)637
3110 y Ft(?)g(j)g Fu(n)p Ft(\025)p Fu(0)f Ft(g)i Fu(and)g(using)g(that)
g(FIX)e Fs(f)55 b Fu(is)33 b(the)i(least)e(upp)s(er)i(b)s(ound)f(w)m(e)
h(ha)m(v)m(e)0 3230 y(FIX)d Fs(f)54 b Ft(v)33 b Fs(d)10
b Fu(.)2913 b Fh(2)0 3491 y Fw(Example)37 b(4.38)49 b
Fu(Consider)33 b(the)g(function)f Fs(F)1745 3455 y Fi(0)1800
3491 y Fu(of)g(Example)h(4.1:)244 3737 y(\()p Fs(F)359
3701 y Fi(0)415 3737 y Fs(g)9 b Fu(\))32 b Fs(s)40 b
Fu(=)728 3563 y Fg(8)728 3638 y(<)728 3787 y(:)843 3653
y Fs(g)h(s)91 b Fu(if)32 b Fs(s)40 b Fr(x)33 b Ft(6)p
Fu(=)f Fw(0)843 3820 y Fs(s)177 b Fu(if)32 b Fs(s)40
b Fr(x)33 b Fu(=)f Fw(0)0 3984 y Fu(W)-8 b(e)32 b(shall)e(determine)i
(its)f(least)g(\014xed)i(p)s(oin)m(t)d(using)i(the)g(approac)m(h)g(of)f
(Theorem)h(4.37.)42 b(The)0 4105 y(least)32 b(elemen)m(t)h
Ft(?)g Fu(of)g Fw(State)f Fo(,)-17 b Ft(!)33 b Fw(State)g
Fu(is)g(giv)m(en)f(b)m(y)i(Lemma)e(4.13)g(and)h(has)g
Ft(?)g Fs(s)41 b Fu(=)33 b(undef)p 3237 4118 236 4 v
0 4225 a(for)f(all)f Fs(s)8 b Fu(.)43 b(W)-8 b(e)33 b(then)g(determine)
f(the)h(elemen)m(ts)g(of)f(the)h(set)h Ft(f)e Fs(F)2406
4189 y Fi(0)p Fn(n)2501 4225 y Ft(?)h(j)f Fu(n)p Ft(\025)q
Fu(0)g Ft(g)h Fu(as)f(follo)m(ws:)294 4387 y(\()p Fs(F)409
4351 y Fi(0)p Fn(0)500 4387 y Ft(?)p Fu(\))h Fs(s)107
b Fu(=)100 b(\(id)32 b Ft(?)p Fu(\))h Fs(s)663 b Fu(\(de\014nition)32
b(of)g Fs(F)2634 4351 y Fi(0)p Fn(0)2725 4387 y Ft(?)p
Fu(\))795 4578 y(=)100 b(undef)p 971 4591 V 768 w(\(de\014nition)32
b(of)g(id)g(and)g Ft(?)q Fu(\))294 4770 y(\()p Fs(F)409
4733 y Fi(0)p Fn(1)500 4770 y Ft(?)p Fu(\))h Fs(s)107
b Fu(=)100 b(\()p Fs(F)1086 4733 y Fi(0)1142 4770 y Ft(?)p
Fu(\))33 b Fs(s)644 b Fu(\(de\014nition)32 b(of)g Fs(F)2634
4733 y Fi(0)p Fn(1)2725 4770 y Ft(?)p Fu(\))795 5051
y(=)971 4877 y Fg(8)971 4951 y(<)971 5101 y(:)1086 4966
y Ft(?)h Fs(s)91 b Fu(if)32 b Fs(s)40 b Fr(x)33 b Ft(6)p
Fu(=)f Fw(0)1086 5134 y Fs(s)201 b Fu(if)32 b Fs(s)40
b Fr(x)33 b Fu(=)f Fw(0)1974 5051 y Fu(\(de\014nition)g(of)g
Fs(F)2634 5015 y Fi(0)2690 5051 y Ft(?)p Fu(\))795 5403
y(=)971 5229 y Fg(8)971 5304 y(<)971 5453 y(:)1086 5319
y Fu(undef)p 1086 5332 V 84 w(if)f Fs(s)41 b Fr(x)33
b Ft(6)p Fu(=)f Fw(0)1086 5486 y Fs(s)279 b Fu(if)31
b Fs(s)41 b Fr(x)33 b Fu(=)f Fw(0)1974 5403 y Fu(\(de\014nition)g(of)g
Ft(?)p Fu(\))p eop
%%Page: 106 116
106 115 bop 251 130 a Fw(106)1978 b(4)112 b(Denotational)36
b(Seman)m(tics)p 251 193 3473 4 v 577 500 a Fu(\()p Fs(F)692
464 y Fi(0)p Fn(2)783 500 y Ft(?)q Fu(\))c Fs(s)108 b
Fu(=)99 b Fs(F)1331 464 y Fi(0)1387 500 y Fu(\()p Fs(F)1502
464 y Fi(0)p Fn(1)1593 500 y Ft(?)q Fu(\))32 b Fs(s)643
b Fu(\(de\014nition)31 b(of)i Fs(F)3084 464 y Fi(0)p
Fn(2)3175 500 y Ft(?)p Fu(\))1079 781 y(=)1254 607 y
Fg(8)1254 682 y(<)1254 831 y(:)1370 697 y Fu(\()p Fs(F)1485
661 y Fi(0)p Fn(1)1576 697 y Ft(?)p Fu(\))g Fs(s)91 b
Fu(if)31 b Fs(s)41 b Fr(x)32 b Ft(6)p Fu(=)h Fw(0)1370
864 y Fs(s)445 b Fu(if)31 b Fs(s)41 b Fr(x)32 b Fu(=)h
Fw(0)2424 781 y Fu(\(de\014nition)e(of)i Fs(F)3084 745
y Fi(0)3107 781 y Fu(\))1079 1134 y(=)1254 959 y Fg(8)1254
1034 y(<)1254 1183 y(:)1370 1049 y Fu(undef)p 1370 1062
236 4 v 83 w(if)f Fs(s)40 b Fr(x)33 b Ft(6)p Fu(=)g Fw(0)1370
1217 y Fs(s)278 b Fu(if)32 b Fs(s)40 b Fr(x)33 b Fu(=)g
Fw(0)2424 1134 y Fu(\(de\014nition)e(of)i Fs(F)3084 1097
y Fi(0)p Fn(1)3175 1134 y Ft(?)p Fu(\))765 1318 y(.)765
1351 y(.)765 1384 y(.)283 1580 y(In)g(general)f(w)m(e)i(ha)m(v)m(e)g
Fs(F)1187 1544 y Fi(0)p Fn(n)1282 1580 y Ft(?)f Fu(=)f
Fs(F)1577 1544 y Fi(0)p Fn(n+1)1762 1580 y Ft(?)h Fu(for)f(n)h
Fo(>)g Fu(0.)43 b(Therefore)527 1707 y Fg(F)597 1774
y Ft(f)32 b Fs(F)756 1737 y Fi(0)p Fn(n)851 1774 y Ft(?)h(j)f
Fu(n)p Ft(\025)q Fu(0)g Ft(g)g Fu(=)1425 1707 y Fg(F)1526
1774 y Ft(f)p Fs(F)1653 1737 y Fi(0)p Fn(0)1744 1774
y Ft(?)q Fu(,)g Fs(F)1958 1737 y Fi(0)p Fn(1)2049 1774
y Ft(?)q(g)g Fu(=)h Fs(F)2395 1737 y Fi(0)p Fn(1)2486
1774 y Ft(?)283 1967 y Fu(b)s(ecause)h Fs(F)721 1931
y Fi(0)p Fn(0)812 1967 y Ft(?)f Fu(=)g Ft(?)p Fu(.)44
b(Th)m(us)34 b(the)f(least)f(\014xed)i(p)s(oin)m(t)e(of)g
Fs(F)2501 1931 y Fi(0)2556 1967 y Fu(will)f(b)s(e)h(the)h(function)552
2216 y Fs(g)606 2231 y Fn(1)678 2216 y Fs(s)40 b Fu(=)867
2042 y Fg(8)867 2116 y(<)867 2266 y(:)982 2131 y Fu(undef)p
982 2144 V 84 w(if)31 b Fs(s)41 b Fr(x)33 b Ft(6)p Fu(=)f
Fw(0)982 2299 y Fs(s)279 b Fu(if)31 b Fs(s)41 b Fr(x)33
b Fu(=)f Fw(0)3681 2216 y Fh(2)283 2512 y Fw(Exercise)37
b(4.39)49 b Fu(Redo)39 b(Exercise)h(4.15)e(using)h(the)g(approac)m(h)g
(of)g(Theorem)g(4.37,)h(that)e(is)283 2633 y(deduce)d(the)e(general)f
(form)g(of)g(the)h(iterands,)g Fs(F)2102 2597 y Fn(n)2178
2633 y Ft(?)p Fu(,)g(for)g(the)g(functional,)e Fs(F)13
b Fu(,)33 b(of)f(Exercises)283 2753 y(4.2)h(and)f(4.3.)2899
b Fh(2)283 2968 y Fw(Exercise)37 b(4.40)49 b(\(Essen)m(tial\))36
b Fu(Let)j Fs(f)20 b Fu(:)56 b Fs(D)47 b Ft(!)38 b Fs(D)47
b Fu(b)s(e)39 b(a)f(con)m(tin)m(uous)h(function)f(on)g(a)h(ccp)s(o)283
3088 y(\()p Fs(D)9 b Fu(,)33 b Ft(v)p Fu(\))g(and)g(let)f
Fs(d)10 b Ft(2)p Fs(D)42 b Fu(satisfy)32 b Fs(f)54 b(d)42
b Ft(v)33 b Fs(d)10 b Fu(.)44 b(Sho)m(w)33 b(that)g(FIX)f
Fs(f)54 b Ft(v)33 b Fs(d)10 b Fu(.)821 b Fh(2)430 3303
y Fu(The)38 b(table)f(b)s(elo)m(w)g(summarizes)g(the)h(dev)m(elopmen)m
(t)g(w)m(e)h(ha)m(v)m(e)g(p)s(erformed)e(in)g(order)g(to)283
3424 y(demonstrate)c(the)g(existence)h(of)e(least)h(\014xed)g(p)s(oin)m
(ts:)p 283 3573 3470 4 v 283 3589 V 281 3797 4 208 v
298 3797 V 1541 3718 a Fw(Fixed)g(P)m(oin)m(t)d(Theory)p
3735 3797 V 3752 3797 V 283 3800 3470 4 v 281 4049 4
249 v 298 4049 V 350 3966 a Fu(1:)143 b(W)-8 b(e)33 b(restrict)f
(ourselv)m(es)i(to)e Fs(chain)i(c)-5 b(omplete)34 b(p)-5
b(artial)5 b(ly)35 b(or)-5 b(der)g(e)g(d)34 b(sets)41
b Fu(|)32 b(ccp)s(o's.)p 3735 4049 V 3752 4049 V 281
4217 4 168 v 298 4217 V 350 4133 a(2:)143 b(W)-8 b(e)33
b(restrict)f(ourselv)m(es)i(to)e Fs(c)-5 b(ontinuous)35
b(functions)40 b Fu(on)33 b(ccp)s(o's.)p 3735 4217 V
3752 4217 V 281 4505 4 289 v 298 4505 V 350 4301 a(3:)143
b(W)-8 b(e)26 b(sho)m(w)h(that)f(con)m(tin)m(uous)g(functions)g(on)g
(ccp)s(o's)h(alw)m(a)m(ys)f(ha)m(v)m(e)i Fs(le)-5 b(ast)28
b(\014xe)-5 b(d)28 b(p)-5 b(oints)569 4421 y Fu(\(Theorem)33
b(4.37\).)p 3735 4505 V 3752 4505 V 283 4508 3470 4 v
283 4525 V 283 4702 a Fw(Exercise)k(4.41)49 b Fu(*)32
b(Let)h(\()p Fs(D)9 b Fu(,)32 b Ft(v)q Fu(\))g(b)s(e)h(a)f(ccp)s(o)h
(and)g(de\014ne)h(\()p Fs(D)9 b Ft(!)o Fs(D)g Fu(,)p
Ft(v)2878 4666 y Fi(0)2901 4702 y Fu(\))33 b(b)m(y)g(setting)527
4895 y Fs(f)578 4910 y Fn(1)650 4895 y Ft(v)728 4859
y Fi(0)784 4895 y Fs(f)834 4910 y Fn(2)906 4895 y Fu(if)f(and)g(only)h
(if)e Fs(f)1540 4910 y Fn(1)1612 4895 y Fs(d)43 b Ft(v)33
b Fs(f)1865 4910 y Fn(2)1937 4895 y Fs(d)43 b Fu(for)32
b(all)f Fs(d)42 b Ft(2)33 b Fs(D)283 5089 y Fu(Sho)m(w)h(that)e(\()p
Fs(D)9 b Ft(!)p Fs(D)g Fu(,)p Ft(v)1160 5052 y Fi(0)1184
5089 y Fu(\))32 b(is)g(a)h(ccp)s(o)f(and)h(that)f(FIX)h(is)f(\\con)m
(tin)m(uous")h(in)f(the)h(sense)h(that)527 5282 y(FIX)f(\()770
5215 y Fg(F)839 5246 y Fi(0)895 5282 y Ft(F)9 b Fu(\))33
b(=)1155 5215 y Fg(F)1224 5282 y Ft(f)g Fu(FIX)f Fs(f)54
b Ft(j)32 b Fs(f)53 b Ft(2)33 b(F)42 b(g)283 5475 y Fu(holds)33
b(for)f(all)e(non-empt)m(y)j(c)m(hains)g Ft(F)42 b(\022)33
b Fs(D)9 b Ft(!)p Fs(D)41 b Fu(of)32 b(con)m(tin)m(uous)h(functions.)
538 b Fh(2)p eop
%%Page: 107 117
107 116 bop 0 130 a Fw(4.3)112 b(Direct)36 b(st)m(yle)g(seman)m(tics:)
50 b(existence)1444 b(107)p 0 193 3473 4 v 0 515 a(Exercise)36
b(4.42)49 b Fu(**)34 b(\(F)-8 b(or)34 b(mathematicians\))e(Giv)m(en)j
(a)f(ccp)s(o)h(\()p Fs(D)9 b Fu(,)35 b Ft(v)p Fu(\))g(w)m(e)h(de\014ne)
g(an)e Fs(op)-5 b(en)0 636 y(set)42 b Fu(of)32 b Fs(D)42
b Fu(to)32 b(b)s(e)h(a)f(subset)i Fs(Y)52 b Fu(of)32
b Fs(D)42 b Fu(satisfying)70 849 y(\(1\))49 b(if)31 b
Fs(d)393 864 y Fn(1)433 849 y Ft(2)p Fs(Y)52 b Fu(and)33
b Fs(d)873 864 y Fn(1)945 849 y Ft(v)g Fs(d)1115 864
y Fn(2)1187 849 y Fu(then)h Fs(d)1470 864 y Fn(2)1509
849 y Ft(2)q Fs(Y)19 b Fu(,)33 b(and)70 1063 y(\(2\))49
b(if)30 b Fs(Y)424 1027 y Fi(0)479 1063 y Fu(is)h(a)h(non-empt)m(y)g(c)
m(hain)f(satisfying)1834 997 y Fg(F)1903 1063 y Fs(Y)1995
1027 y Fi(0)2050 1063 y Ft(2)h Fs(Y)52 b Fu(then)32 b(there)g(exists)h
(an)f(elemen)m(t)244 1184 y Fs(d)43 b Fu(of)32 b Fs(Y)539
1147 y Fi(0)595 1184 y Fu(whic)m(h)h(also)f(is)g(an)g(elemen)m(t)h(of)f
Fs(Y)20 b Fu(.)0 1397 y(The)36 b(set)f(of)g(op)s(en)f(sets)i(of)f
Fs(D)43 b Fu(is)35 b(denoted)h Ft(O)1686 1412 y Fc(D)1750
1397 y Fu(.)50 b(Sho)m(w)35 b(that)g(this)f(is)h(indeed)g(a)f
Fs(top)-5 b(olo)g(gy)43 b Fu(on)0 1518 y Fs(D)9 b Fu(,)33
b(that)f(is)g(sho)m(w)i(that)145 1731 y Ft(\017)49 b(;)32
b Fu(and)h Fs(D)41 b Fu(are)33 b(mem)m(b)s(ers)f(of)g
Ft(O)1400 1746 y Fc(D)1464 1731 y Fu(,)g(and)145 1945
y Ft(\017)49 b Fu(the)33 b(in)m(tersection)f(of)g(t)m(w)m(o)i(op)s(en)e
(sets)i(is)e(an)h(op)s(en)g(set,)g(and)145 2159 y Ft(\017)49
b Fu(the)33 b(union)f(of)g(an)m(y)h(collection)e(of)h(op)s(en)h(sets)g
(is)f(an)h(op)s(en)g(set.)0 2372 y(Let)c(\()p Fs(D)9
b Fu(,)28 b Ft(v)q Fu(\))g(and)g(\()p Fs(D)797 2336 y
Fi(0)821 2372 y Fu(,)h Ft(v)955 2336 y Fi(0)978 2372
y Fu(\))f(b)s(e)h(ccp)s(o's.)43 b(A)28 b(function)g Fs(f)21
b Fu(:)p Fs(D)9 b Ft(!)p Fs(D)2323 2336 y Fi(0)2375 2372
y Fu(is)28 b Fs(top)-5 b(olo)g(gic)g(al)5 b(ly-c)-5 b(ontinuous)0
2493 y Fu(if)31 b(and)i(only)f(if)g(the)h(function)f
Fs(f)1184 2457 y Fi(\000)p Fn(1)1278 2493 y Fu(:)43 b
Ft(P)9 b Fu(\()p Fs(D)1547 2457 y Fi(0)1570 2493 y Fu(\))33
b Ft(!)f(P)8 b Fu(\()p Fs(D)h Fu(\))33 b(de\014ned)h(b)m(y)244
2706 y Fs(f)295 2670 y Fi(\000)p Fn(1)389 2706 y Fu(\()p
Fs(Y)519 2670 y Fi(0)542 2706 y Fu(\))e(=)h Ft(f)f Fs(d)43
b Ft(2)33 b Fs(D)41 b Ft(j)32 b Fs(f)54 b(d)43 b Ft(2)33
b Fs(Y)1537 2670 y Fi(0)1593 2706 y Ft(g)0 2920 y Fu(maps)24
b(op)s(en)g(sets)h(to)e(op)s(en)h(sets,)j(that)d(is)f(sp)s(ecializes)g
(to)h Fs(f)2119 2884 y Fi(\000)p Fn(1)2213 2920 y Fu(:)39
b Ft(O)2361 2935 y Fc(D)2421 2916 y Fa(0)2471 2920 y
Ft(!)24 b(O)2677 2935 y Fc(D)2741 2920 y Fu(.)40 b(Sho)m(w)25
b(that)f Fs(f)44 b Fu(is)24 b(a)0 3041 y(con)m(tin)m(uous)h(function)f
(b)s(et)m(w)m(een)i Fs(D)33 b Fu(and)25 b Fs(D)1594 3004
y Fi(0)1641 3041 y Fu(if)e(and)h(only)g(if)f(it)g(is)h(a)g(top)s
(ologically-con)m(tin)m(uous)0 3161 y(function)32 b(b)s(et)m(w)m(een)j
Fs(D)41 b Fu(and)33 b Fs(D)1147 3125 y Fi(0)1170 3161
y Fu(.)2201 b Fh(2)0 3506 y Fj(4.3)161 b(Direct)53 b(st)l(yle)g(seman)l
(tics:)70 b(existence)0 3730 y Fu(W)-8 b(e)43 b(ha)m(v)m(e)h(no)m(w)g
(obtained)e(the)h(mathematical)d(foundations)i(needed)i(to)e(pro)m(v)m
(e)i(that)f(the)0 3850 y(seman)m(tic)33 b(clauses)h(of)f(T)-8
b(able)33 b(4.1)g(do)h(indeed)f(de\014ne)i(a)e(function.)46
b(So)33 b(consider)h(once)g(again)0 3970 y(the)f(clause)244
4184 y Ft(S)312 4199 y Fn(ds)383 4184 y Fu([)-17 b([)p
Fr(while)34 b Fs(b)39 b Fr(do)33 b Fs(S)12 b Fu(])-17
b(])33 b(=)f(FIX)h Fs(F)480 4352 y Fu(where)h Fs(F)45
b(g)c Fu(=)33 b(cond\()p Ft(B)t Fu([)-17 b([)p Fs(b)6
b Fu(])-17 b(])q(,)33 b Fs(g)41 b Ft(\016)32 b(S)1795
4367 y Fn(ds)1866 4352 y Fu([)-17 b([)q Fs(S)12 b Fu(])-17
b(],)33 b(id\))0 4565 y(F)-8 b(or)43 b(this)g(to)h(mak)m(e)f(sense)j(w)
m(e)f(m)m(ust)e(sho)m(w)i(that)f Fs(F)56 b Fu(is)43 b(con)m(tin)m
(uous.)78 b(T)-8 b(o)44 b(do)f(so)h(w)m(e)h(\014rst)0
4686 y(observ)m(e)34 b(that)244 4899 y Fs(F)45 b(g)c
Fu(=)33 b Fs(F)625 4914 y Fn(1)697 4899 y Fu(\()p Fs(F)812
4914 y Fn(2)884 4899 y Fs(g)9 b Fu(\))0 5113 y(where)244
5327 y Fs(F)321 5342 y Fn(1)393 5327 y Fs(g)41 b Fu(=)32
b(cond\()p Ft(B)t Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(],)33
b Fs(g)9 b Fu(,)32 b(id\))244 5494 y Fs(F)321 5509 y
Fn(2)393 5494 y Fs(g)41 b Fu(=)32 b Fs(g)41 b Ft(\016)33
b(S)824 5509 y Fn(ds)895 5494 y Fu([)-17 b([)p Fs(S)12
b Fu(])-17 b(])p eop
%%Page: 108 118
108 117 bop 251 130 a Fw(108)1978 b(4)112 b(Denotational)36
b(Seman)m(tics)p 251 193 3473 4 v 283 515 a Fu(Using)29
b(Lemma)f(4.35)h(w)m(e)i(then)f(obtain)e(the)i(con)m(tin)m(uit)m(y)f
(of)g Fs(F)42 b Fu(b)m(y)31 b(sho)m(wing)e(that)g Fs(F)3384
530 y Fn(1)3453 515 y Fu(and)g Fs(F)3716 530 y Fn(2)283
636 y Fu(are)k(con)m(tin)m(uous.)44 b(W)-8 b(e)33 b(shall)e(\014rst)i
(pro)m(v)m(e)h(that)f Fs(F)2121 651 y Fn(1)2193 636 y
Fu(is)f(con)m(tin)m(uous:)p 283 756 3473 5 v 283 928
a Fw(Lemma)38 b(4.43)49 b Fu(Let)32 b Fs(g)1157 943 y
Fn(0)1196 928 y Fu(:)44 b Fw(State)32 b Fo(,)-17 b Ft(!)33
b Fw(State)p Fu(,)g Fs(p)6 b Fu(:)43 b Fw(State)33 b
Ft(!)f Fw(T)g Fu(and)h(de\014ne)527 1129 y Fs(F)46 b(g)41
b Fu(=)32 b(cond\()p Fs(p)6 b Fu(,)33 b Fs(g)9 b Fu(,)32
b Fs(g)1352 1144 y Fn(0)1391 1129 y Fu(\))283 1329 y(Then)i
Fs(F)46 b Fu(is)32 b(con)m(tin)m(uous.)p 283 1450 V 283
1651 a Fw(Pro)s(of:)39 b Fu(W)-8 b(e)33 b(shall)f(\014rst)i(pro)m(v)m
(e)h(that)e Fs(F)46 b Fu(is)33 b Fs(monotone)7 b Fu(.)45
b(So)33 b(assume)h(that)f Fs(g)3145 1666 y Fn(1)3217
1651 y Ft(v)h Fs(g)3382 1666 y Fn(2)3454 1651 y Fu(and)g(w)m(e)283
1771 y(shall)29 b(sho)m(w)i(that)f Fs(F)45 b(g)1120 1786
y Fn(1)1192 1771 y Ft(v)33 b Fs(F)45 b(g)1465 1786 y
Fn(2)1504 1771 y Fu(.)e(It)30 b(su\016ces)i(to)e(consider)g(an)g
(arbitrary)f(state)i Fs(s)38 b Fu(and)30 b(sho)m(w)283
1891 y(that)527 2092 y(\()p Fs(F)46 b(g)729 2107 y Fn(1)768
2092 y Fu(\))32 b Fs(s)41 b Fu(=)32 b Fs(s)1075 2056
y Fi(0)1131 2092 y Fu(implies)e(\()p Fs(F)46 b(g)1664
2107 y Fn(2)1703 2092 y Fu(\))32 b Fs(s)41 b Fu(=)32
b Fs(s)2010 2056 y Fi(0)283 2293 y Fu(If)i Fs(p)40 b(s)i
Fu(=)34 b Fw(tt)f Fu(then)i(\()p Fs(F)47 b(g)1212 2308
y Fn(1)1251 2293 y Fu(\))34 b Fs(s)42 b Fu(=)33 b Fs(g)1568
2308 y Fn(1)1641 2293 y Fs(s)42 b Fu(and)34 b(from)f
Fs(g)2200 2308 y Fn(1)2273 2293 y Ft(v)h Fs(g)2438 2308
y Fn(2)2511 2293 y Fu(w)m(e)h(get)f(that)g Fs(g)3087
2308 y Fn(1)3160 2293 y Fs(s)42 b Fu(=)34 b Fs(s)3400
2257 y Fi(0)3457 2293 y Fu(implies)283 2413 y Fs(g)337
2428 y Fn(2)411 2413 y Fs(s)42 b Fu(=)34 b Fs(s)651 2377
y Fi(0)674 2413 y Fu(.)48 b(Since)34 b(\()p Fs(F)47 b(g)1208
2428 y Fn(2)1247 2413 y Fu(\))34 b Fs(s)42 b Fu(=)34
b Fs(g)1565 2428 y Fn(2)1638 2413 y Fs(s)42 b Fu(w)m(e)35
b(ha)m(v)m(e)h(pro)m(v)m(ed)f(the)g(result.)48 b(So)34
b(consider)g(the)h(case)283 2534 y(where)30 b Fs(p)35
b(s)i Fu(=)28 b Fw(\013)p Fu(.)43 b(Then)30 b(\()p Fs(F)41
b(g)1410 2549 y Fn(1)1449 2534 y Fu(\))29 b Fs(s)37 b
Fu(=)28 b Fs(g)1751 2549 y Fn(0)1819 2534 y Fs(s)37 b
Fu(and)28 b(similarly)d(\()p Fs(F)46 b(g)2678 2549 y
Fn(2)2717 2534 y Fu(\))32 b Fs(s)37 b Fu(=)29 b Fs(g)3023
2549 y Fn(0)3090 2534 y Fs(s)37 b Fu(and)29 b(the)g(result)283
2654 y(is)k(immediate.)430 2775 y(T)-8 b(o)29 b(pro)m(v)m(e)h(that)f
Fs(F)42 b Fu(is)28 b Fs(c)-5 b(ontinuous)37 b Fu(let)29
b Fs(Y)48 b Fu(b)s(e)30 b(a)e(non-empt)m(y)h(c)m(hain)g(in)g
Fw(State)j Fo(,)-17 b Ft(!)33 b Fw(State)p Fu(.)283 2895
y(W)-8 b(e)33 b(m)m(ust)g(sho)m(w)h(that)527 3096 y Fs(F)46
b Fu(\()675 3029 y Fg(F)744 3096 y Fs(Y)20 b Fu(\))32
b Ft(v)1016 3029 y Fg(F)1085 3096 y Ft(f)h Fs(F)45 b(g)c
Ft(j)32 b Fs(g)9 b Ft(2)p Fs(Y)53 b Ft(g)283 3297 y Fu(since)32
b Fs(F)43 b Fu(\()666 3230 y Fg(F)736 3297 y Fs(Y)19
b Fu(\))31 b Ft(w)1004 3230 y Fg(F)1073 3297 y Ft(f)g
Fs(F)44 b(g)39 b Ft(j)30 b Fs(g)9 b Ft(2)p Fs(Y)51 b
Ft(g)30 b Fu(follo)m(ws)g(from)f(the)i(monotonicit)m(y)e(of)i
Fs(F)43 b Fu(\(see)32 b(Lemma)283 3417 y(4.30\).)43 b(Th)m(us)34
b(w)m(e)g(ha)m(v)m(e)g(to)e(sho)m(w)i(that)527 3618 y(graph\()p
Fs(F)13 b Fu(\()924 3551 y Fg(F)993 3618 y Fs(Y)20 b
Fu(\)\))32 b Ft(\022)1303 3551 y Fg(S)1373 3618 y Ft(f)g
Fu(graph\()p Fs(F)45 b(g)9 b Fu(\))32 b Ft(j)g Fs(g)9
b Ft(2)p Fs(Y)53 b Ft(g)283 3819 y Fu(using)26 b(the)h(c)m
(haracterization)e(of)h(least)g(upp)s(er)h(b)s(ounds)g(of)f(c)m(hains)g
(in)g Fw(State)g Fo(,)-17 b Ft(!)26 b Fw(State)h Fu(giv)m(en)283
3939 y(in)h(Lemma)f(4.25.)42 b(So)28 b(assume)h(that)f(\()p
Fs(F)41 b Fu(\()1832 3872 y Fg(F)1901 3939 y Fs(Y)20
b Fu(\)\))28 b Fs(s)37 b Fu(=)28 b Fs(s)2326 3903 y Fi(0)2377
3939 y Fu(and)h(let)f(us)h(determine)f Fs(g)37 b Ft(2)28
b Fs(Y)48 b Fu(suc)m(h)283 4059 y(that)30 b(\()p Fs(F)42
b(g)9 b Fu(\))29 b Fs(s)37 b Fu(=)30 b Fs(s)988 4023
y Fi(0)1011 4059 y Fu(.)42 b(If)30 b Fs(p)35 b(s)j Fu(=)29
b Fw(\013)h Fu(w)m(e)g(ha)m(v)m(e)h Fs(F)45 b Fu(\()2047
3993 y Fg(F)2117 4059 y Fs(Y)19 b Fu(\))33 b Fs(s)k Fu(=)29
b Fs(g)2515 4074 y Fn(0)2587 4059 y Fs(s)37 b Fu(=)30
b Fs(s)2818 4023 y Fi(0)2870 4059 y Fu(and)g(clearly)-8
b(,)29 b(for)g(ev)m(ery)283 4180 y(elemen)m(t)k Fs(g)42
b Fu(of)33 b(the)h(non-empt)m(y)f(set)h Fs(Y)53 b Fu(w)m(e)34
b(ha)m(v)m(e)g(\()p Fs(F)46 b(g)9 b Fu(\))32 b Fs(s)41
b Fu(=)33 b Fs(g)2663 4195 y Fn(0)2735 4180 y Fs(s)41
b Fu(=)33 b Fs(s)2973 4144 y Fi(0)2996 4180 y Fu(.)46
b(If)33 b Fs(p)39 b(s)i Fu(=)33 b Fw(tt)f Fu(then)283
4300 y(w)m(e)i(get)f(\()p Fs(F)45 b Fu(\()775 4234 y
Fg(F)844 4300 y Fs(Y)20 b Fu(\)\))32 b Fs(s)41 b Fu(=)32
b(\()1271 4234 y Fg(F)1340 4300 y Fs(Y)20 b Fu(\))33
b Fs(s)40 b Fu(=)33 b Fs(s)1740 4264 y Fi(0)1795 4300
y Fu(so)g Ft(h)p Fs(s)8 b Fu(,)33 b Fs(s)2110 4264 y
Fi(0)2133 4300 y Ft(i)f(2)h Fu(graph\()2585 4234 y Fg(F)2654
4300 y Fs(Y)20 b Fu(\).)32 b(Since)527 4501 y(graph\()809
4434 y Fg(F)878 4501 y Fs(Y)20 b Fu(\))32 b(=)1149 4434
y Fg(S)1218 4501 y Ft(f)g Fu(graph\()p Fs(g)9 b Fu(\))32
b Ft(j)g Fs(g)9 b Ft(2)p Fs(Y)53 b Ft(g)283 4702 y Fu(\(according)25
b(to)f(Lemma)g(4.25\))g(w)m(e)i(therefore)f(ha)m(v)m(e)i
Fs(g)9 b Ft(2)p Fs(Y)44 b Fu(suc)m(h)26 b(that)f Fs(g)33
b(s)g Fu(=)25 b Fs(s)3148 4665 y Fi(0)3196 4702 y Fu(and)g(it)f(follo)m
(ws)283 4822 y(that)33 b(\()p Fs(F)45 b(g)9 b Fu(\))32
b Fs(s)41 b Fu(=)32 b Fs(s)1003 4786 y Fi(0)1027 4822
y Fu(.)43 b(This)33 b(pro)m(v)m(es)h(the)f(result.)1626
b Fh(2)283 5130 y Fw(Exercise)37 b(4.44)49 b(\(Essen)m(tial\))29
b Fu(Pro)m(v)m(e)j(that)f(\(in)g(the)g(setting)g(of)g(Lemma)f(4.43\))g
Fs(F)44 b Fu(de\014ned)283 5250 y(b)m(y)38 b Fs(F)50
b(g)c Fu(=)37 b(cond\()p Fs(p)6 b Fu(,)38 b Fs(g)1154
5265 y Fn(0)1193 5250 y Fu(,)g Fs(g)9 b Fu(\))37 b(is)f(con)m(tin)m
(uous,)j(that)e(is)f(`cond')i(is)e(con)m(tin)m(uous)i(in)e(its)h
(second)283 5371 y(and)c(third)f(argumen)m(ts.)2495 b
Fh(2)p eop
%%Page: 109 119
109 118 bop 0 130 a Fw(4.3)112 b(Direct)36 b(st)m(yle)g(seman)m(tics:)
50 b(existence)1444 b(109)p 0 193 3473 4 v 0 515 3473
5 v 0 683 a(Lemma)37 b(4.45)49 b Fu(Let)33 b Fs(g)874
698 y Fn(0)913 683 y Fu(:)43 b Fw(State)33 b Fo(,)-17
b Ft(!)33 b Fw(State)f Fu(and)h(de\014ne)244 880 y Fs(F)45
b(g)c Fu(=)33 b Fs(g)41 b Ft(\016)32 b Fs(g)770 895 y
Fn(0)0 1077 y Fu(Then)i Fs(F)45 b Fu(is)32 b(con)m(tin)m(uous.)p
0 1198 V 0 1395 a Fw(Pro)s(of:)48 b Fu(W)-8 b(e)43 b(shall)d(\014rst)j
(pro)m(v)m(e)g(that)f Fs(F)55 b Fu(is)41 b(monotone.)71
b(If)42 b Fs(g)2373 1410 y Fn(1)2454 1395 y Ft(v)h Fs(g)2628
1410 y Fn(2)2709 1395 y Fu(then)f(graph\()p Fs(g)3276
1410 y Fn(1)3315 1395 y Fu(\))g Ft(\022)0 1515 y Fu(graph\()p
Fs(g)336 1530 y Fn(2)375 1515 y Fu(\))32 b(according)g(to)g(Exercise)i
(4.8)f(so)f(that)244 1712 y(graph\()p Fs(g)580 1727 y
Fn(0)619 1712 y Fu(\))g Ft(\005)f Fu(graph\()p Fs(g)1107
1727 y Fn(1)1146 1712 y Fu(\))i Ft(\022)g Fu(graph\()p
Fs(g)1663 1727 y Fn(0)1702 1712 y Fu(\))f Ft(\005)f Fu(graph\()p
Fs(g)2190 1727 y Fn(2)2229 1712 y Fu(\))0 1909 y(and)h(this)g(sho)m(ws)
i(that)e Fs(F)45 b(g)1033 1924 y Fn(1)1105 1909 y Ft(v)32
b Fs(F)46 b(g)1378 1924 y Fn(2)1417 1909 y Fu(.)d(Next)33
b(w)m(e)g(shall)e(pro)m(v)m(e)j(that)e Fs(F)45 b Fu(is)32
b(con)m(tin)m(uous.)44 b(If)32 b Fs(Y)0 2029 y Fu(is)g(a)g(non-empt)m
(y)h(c)m(hain)g(then)244 2226 y(graph\()p Fs(F)13 b Fu(\()641
2160 y Fg(F)710 2226 y Fs(Y)19 b Fu(\)\))33 b(=)f(graph\(\()1338
2160 y Fg(F)1407 2226 y Fs(Y)20 b Fu(\))32 b Ft(\016)h
Fs(g)1706 2241 y Fn(0)1745 2226 y Fu(\))910 2394 y(=)f(graph\()p
Fs(g)1354 2409 y Fn(0)1393 2394 y Fu(\))h Ft(\005)e Fu(graph\()1828
2328 y Fg(F)1897 2394 y Fs(Y)20 b Fu(\))910 2562 y(=)32
b(graph\()p Fs(g)1354 2577 y Fn(0)1393 2562 y Fu(\))h
Ft(\005)1546 2495 y Fg(S)1615 2562 y Ft(f)p Fu(graph\()p
Fs(g)9 b Fu(\))32 b Ft(j)g Fs(g)9 b Ft(2)p Fs(Y)20 b
Ft(g)910 2729 y Fu(=)1018 2663 y Fg(S)1087 2729 y Ft(f)p
Fu(graph\()p Fs(g)1473 2744 y Fn(0)1512 2729 y Fu(\))33
b Ft(\005)e Fu(graph\()p Fs(g)9 b Fu(\))32 b Ft(j)g Fs(g)9
b Ft(2)p Fs(Y)20 b Ft(g)910 2897 y Fu(=)32 b(graph\()1300
2830 y Fg(F)1369 2897 y Ft(f)p Fs(F)46 b(g)41 b Ft(j)32
b Fs(g)9 b Ft(2)p Fs(Y)19 b Ft(g)p Fu(\))0 3094 y(where)34
b(w)m(e)f(ha)m(v)m(e)h(used)g(Lemma)d(4.25)h(t)m(wice.)44
b(Th)m(us)34 b Fs(F)46 b Fu(\()2112 3027 y Fg(F)2181
3094 y Fs(Y)20 b Fu(\))32 b(=)2451 3027 y Fg(F)2521 3094
y Ft(f)p Fs(F)45 b(g)c Ft(j)32 b Fs(g)9 b Ft(2)p Fu(Y)p
Ft(g)p Fu(.)302 b Fh(2)0 3397 y Fw(Exercise)36 b(4.46)49
b(\(Essen)m(tial\))29 b Fu(Pro)m(v)m(e)k(that)e(\(in)f(the)i(setting)f
(of)g(Lemma)e(4.45\))i Fs(F)44 b Fu(de\014ned)0 3517
y(b)m(y)33 b Fs(F)46 b(g)41 b Fu(=)32 b Fs(g)493 3532
y Fn(0)565 3517 y Ft(\016)g Fs(g)41 b Fu(is)32 b(con)m(tin)m(uous,)i
(that)e(is)g Ft(\016)h Fu(is)f(con)m(tin)m(uous)h(in)f(b)s(oth)g
(argumen)m(ts.)260 b Fh(2)146 3737 y Fu(W)-8 b(e)26 b(ha)m(v)m(e)g(no)m
(w)g(established)f(the)h(results)f(needed)i(to)e(sho)m(w)h(that)f(the)h
(equations)f(of)g(T)-8 b(able)0 3857 y(4.1)32 b(de\014ne)i(a)e
(function)g Ft(S)970 3872 y Fn(ds)1041 3857 y Fu(:)p
0 3978 V 0 4145 a Fw(Prop)s(osition)k(4.47)49 b Fu(The)44
b(seman)m(tic)e(equations)i(of)f(T)-8 b(able)42 b(4.1)h(de\014ne)h(a)f
(total)f(function)0 4266 y Ft(S)68 4281 y Fn(ds)172 4266
y Fu(in)31 b Fw(Stm)h Ft(!)g Fu(\()p Fw(State)h Fo(,)-17
b Ft(!)32 b Fw(State)p Fu(\).)p 0 4386 V 0 4583 a Fw(Pro)s(of:)37
b Fu(The)d(pro)s(of)e(is)g(b)m(y)h(structural)f(induction)g(on)g(the)h
(statemen)m(t)h Fs(S)12 b Fu(.)0 4751 y Fw(The)24 b(case)g
Fs(x)36 b Fu(:=)23 b Fs(a)7 b Fu(:)40 b(Clearly)23 b(the)h(function)f
(that)g(maps)h(a)f(state)h Fs(s)32 b Fu(to)23 b(the)i(state)f
Fs(s)8 b Fu([)p Fs(x)k Ft(7!)o(A)p Fu([)-17 b([)p Fs(a)7
b Fu(])-17 b(])q Fs(s)8 b Fu(])0 4871 y(is)32 b(w)m(ell-de\014ned.)0
5039 y Fw(The)h(case)g Fr(skip)p Fu(:)45 b(Clearly)31
b(the)i(function)f(id)g(is)g(w)m(ell-de\014ned.)0 5206
y Fw(The)42 b(case)h Fs(S)542 5221 y Fn(1)582 5206 y
Fu(;)p Fs(S)676 5221 y Fn(2)715 5206 y Fu(:)63 b(The)43
b(induction)e(h)m(yp)s(othesis)i(giv)m(es)g(that)f Ft(S)2486
5221 y Fn(ds)2557 5206 y Fu([)-17 b([)p Fs(S)2661 5221
y Fn(1)2701 5206 y Fu(])g(])42 b(and)h Ft(S)3048 5221
y Fn(ds)3119 5206 y Fu([)-17 b([)p Fs(S)3223 5221 y Fn(2)3263
5206 y Fu(])g(])42 b(are)0 5327 y(w)m(ell-de\014ned)33
b(and)f(clearly)g(their)g(comp)s(osition)e(will)h(b)s(e)h(w)m
(ell-de\014ned.)0 5494 y Fw(The)42 b(case)f Fr(if)h Fs(b)47
b Fr(then)c Fs(S)1023 5509 y Fn(1)1103 5494 y Fr(else)f
Fs(S)1416 5509 y Fn(2)1456 5494 y Fu(:)60 b(The)43 b(induction)d(h)m
(yp)s(othesis)i(giv)m(es)g(that)f Ft(S)3220 5509 y Fn(ds)3291
5494 y Fu([)-17 b([)q Fs(S)3396 5509 y Fn(1)3435 5494
y Fu(])g(])p eop
%%Page: 110 120
110 119 bop 251 130 a Fw(110)1978 b(4)112 b(Denotational)36
b(Seman)m(tics)p 251 193 3473 4 v 283 515 a Fu(and)41
b Ft(S)549 530 y Fn(ds)620 515 y Fu([)-17 b([)q Fs(S)725
530 y Fn(2)764 515 y Fu(])g(])41 b(are)g(w)m(ell-de\014ned)f(functions)
h(and)g(clearly)e(this)h(prop)s(ert)m(y)i(is)e(preserv)m(ed)j(b)m(y)283
636 y(the)33 b(function)g(`cond'.)283 803 y Fw(The)24
b(case)g Fr(while)g Fs(b)29 b Fr(do)24 b Fs(S)12 b Fu(:)23
b(The)h(induction)e(h)m(yp)s(othesis)i(giv)m(es)g(that)f
Ft(S)2903 818 y Fn(ds)2974 803 y Fu([)-17 b([)p Fs(S)12
b Fu(])-17 b(])24 b(is)f(w)m(ell-de\014ned.)283 924 y(The)34
b(functions)f Fs(F)982 939 y Fn(1)1053 924 y Fu(and)g
Fs(F)1320 939 y Fn(2)1392 924 y Fu(de\014ned)h(b)m(y)527
1121 y Fs(F)604 1136 y Fn(1)676 1121 y Fs(g)41 b Fu(=)33
b(cond\()p Ft(B)t Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])q(,)32
b Fs(g)9 b Fu(,)33 b(id\))527 1288 y Fs(F)604 1303 y
Fn(2)676 1288 y Fs(g)41 b Fu(=)33 b Fs(g)41 b Ft(\016)32
b(S)1107 1303 y Fn(ds)1178 1288 y Fu([)-17 b([)q Fs(S)12
b Fu(])-17 b(])283 1485 y(are)34 b(con)m(tin)m(uous)h(according)e(to)h
(Lemmas)f(4.43)g(and)h(4.45.)47 b(Th)m(us)35 b(Lemma)e(4.35)g(giv)m(es)
h(that)283 1606 y Fs(F)47 b(g)c Fu(=)34 b Fs(F)669 1621
y Fn(1)742 1606 y Fu(\()p Fs(F)857 1621 y Fn(2)931 1606
y Fs(g)9 b Fu(\))33 b(is)h(con)m(tin)m(uous.)49 b(F)-8
b(rom)32 b(Theorem)j(4.37)e(w)m(e)i(then)g(ha)m(v)m(e)g(that)f(FIX)g
Fs(F)47 b Fu(is)283 1726 y(w)m(ell-de\014ned)37 b(and)g(thereb)m(y)i
(that)d Ft(S)1655 1741 y Fn(ds)1726 1726 y Fu([)-17 b([)q
Fr(while)38 b Fs(b)k Fr(do)c Fs(S)12 b Fu(])-17 b(])37
b(is)f(w)m(ell-de\014ned.)56 b(This)37 b(completes)283
1846 y(the)c(pro)s(of.)2980 b Fh(2)283 2149 y Fw(Example)37
b(4.48)49 b Fu(Consider)33 b(the)g(denotational)e(seman)m(tics)h(of)g
(the)h(factorial)e(statemen)m(t:)527 2346 y Ft(S)595
2361 y Fn(ds)666 2346 y Fu([)-17 b([)q Fr(y)33 b Fu(:=)f
Fr(1)p Fu(;)h Fr(while)h Ft(:)p Fu(\()p Fr(x)p Fu(=)p
Fr(1)p Fu(\))f Fr(do)g Fu(\()p Fr(y)p Fu(:=)p Fr(y)p
Fo(?)p Fr(x)p Fu(;)g Fr(x)p Fu(:=)p Fr(x)p Ft(\000)p
Fr(1)p Fu(\)])-17 b(])283 2543 y(W)-8 b(e)29 b(shall)d(b)s(e)i(in)m
(terested)h(in)e(applying)g(this)g(function)h(to)f(a)h(state)g
Fs(s)2780 2558 y Fn(0)2848 2543 y Fu(where)h Fr(x)f Fu(has)g(the)g(v)-5
b(alue)283 2663 y Fw(3)p Fu(.)44 b(T)-8 b(o)33 b(do)f(that)g(w)m(e)i
(shall)d(\014rst)i(apply)g(the)g(clauses)g(of)f(T)-8
b(able)32 b(4.1)g(and)h(w)m(e)h(then)f(get)f(that)527
2860 y Ft(S)595 2875 y Fn(ds)666 2860 y Fu([)-17 b([)q
Fr(y)33 b Fu(:=)f Fr(1)p Fu(;)h Fr(while)h Ft(:)p Fu(\()p
Fr(x)p Fu(=)p Fr(1)p Fu(\))f Fr(do)g Fu(\()p Fr(y)p Fu(:=)p
Fr(y)p Fo(?)p Fr(x)p Fu(;)g Fr(x)p Fu(:=)p Fr(x)p Ft(\000)p
Fr(1)p Fu(\)])-17 b(])35 b Fs(s)2705 2875 y Fn(0)764
3028 y Fu(=)d(\(FIX)g Fs(F)13 b Fu(\))33 b Fs(s)1310
3043 y Fn(0)1349 3028 y Fu([)p Fr(y)p Ft(7!)p Fw(1)p
Fu(])283 3225 y(where)527 3484 y Fs(F)46 b(g)41 b(s)g
Fu(=)912 3310 y Fg(8)912 3384 y(<)912 3534 y(:)1027 3399
y Fs(g)g Fu(\()p Ft(S)1219 3414 y Fn(ds)1290 3399 y Fu([)-17
b([)q Fr(y)p Fu(:=)33 b Fr(y)p Fo(?)p Fr(x)p Fu(;)g Fr(x)p
Fu(:=)p Fr(x)p Ft(\000)p Fr(1)p Fu(])-17 b(])34 b Fs(s)8
b Fu(\))83 b(if)31 b Ft(B)t Fu([)-17 b([)p Ft(:)q Fu(\()p
Fr(x)p Fu(=)p Fr(1)p Fu(\)])g(])33 b Fs(s)41 b Fu(=)32
b Fw(tt)1027 3567 y Fs(s)1232 b Fu(if)31 b Ft(B)t Fu([)-17
b([)p Ft(:)q Fu(\()p Fr(x)p Fu(=)p Fr(1)p Fu(\)])g(])33
b Fs(s)41 b Fu(=)32 b Fw(\013)283 3763 y Fu(or,)h(equiv)-5
b(alen)m(tly)d(,)527 4041 y Fs(F)46 b(g)41 b(s)g Fu(=)912
3867 y Fg(8)912 3942 y(<)912 4091 y(:)1027 3957 y Fs(g)g
Fu(\()p Fs(s)8 b Fu([)p Fr(y)p Ft(7!)p Fu(\()p Fs(s)41
b Fr(y)p Fu(\))p Fo(?)p Fu(\()p Fs(s)f Fr(x)p Fu(\)][)p
Fr(x)p Ft(7!)q Fu(\()p Fs(s)g Fr(x)p Fu(\))p Ft(\000)p
Fw(1)p Fu(]\))84 b(if)31 b Fs(s)41 b Fr(x)33 b Ft(6)p
Fu(=)f Fw(1)1027 4124 y Fs(s)1469 b Fu(if)31 b Fs(s)41
b Fr(x)33 b Fu(=)f Fw(1)283 4320 y Fu(W)-8 b(e)34 b(can)g(no)m(w)g
(calculate)f(the)g(v)-5 b(arious)33 b(functions)h Fs(F)2246
4284 y Fn(n)2322 4320 y Ft(?)g Fu(used)h(in)e(the)g(de\014nition)g(of)g
(FIX)g Fs(F)283 4440 y Fu(in)f(Theorem)h(4.37:)527 4637
y(\()p Fs(F)642 4601 y Fn(0)714 4637 y Ft(?)q Fu(\))f
Fs(s)41 b Fu(=)32 b(undef)p 1051 4650 236 4 v 527 4892
a(\()p Fs(F)642 4856 y Fn(1)714 4892 y Ft(?)q Fu(\))g
Fs(s)41 b Fu(=)1051 4718 y Fg(8)1051 4792 y(<)1051 4942
y(:)1166 4807 y Fu(undef)p 1166 4820 V 84 w(if)32 b Fs(s)40
b Fr(x)33 b Ft(6)p Fu(=)f Fw(1)1166 4975 y Fs(s)279 b
Fu(if)32 b Fs(s)40 b Fr(x)33 b Fu(=)f Fw(1)527 5325 y
Fu(\()p Fs(F)642 5289 y Fn(2)714 5325 y Ft(?)q Fu(\))g
Fs(s)41 b Fu(=)1051 5076 y Fg(8)1051 5150 y(>)1051 5175
y(>)1051 5200 y(>)1051 5225 y(<)1051 5375 y(>)1051 5400
y(>)1051 5424 y(>)1051 5449 y(:)1166 5156 y Fu(undef)p
1166 5169 V 675 w(if)32 b Fs(s)40 b Fr(x)33 b Ft(6)p
Fu(=)g Fw(1)f Fu(and)h Fs(s)40 b Fr(x)33 b Ft(6)p Fu(=)g
Fw(2)1166 5324 y Fs(s)8 b Fu([)p Fr(y)p Ft(7!)q Fu(\()p
Fs(s)40 b Fr(y)p Fu(\))p Fo(?)p Fw(2)p Fu(][)p Fr(x)p
Ft(7!)p Fw(1)p Fu(])83 b(if)32 b Fs(s)40 b Fr(x)33 b
Fu(=)g Fw(2)1166 5492 y Fs(s)870 b Fu(if)32 b Fs(s)40
b Fr(x)33 b Fu(=)g Fw(1)p eop
%%Page: 111 121
111 120 bop 0 130 a Fw(4.3)112 b(Direct)36 b(st)m(yle)g(seman)m(tics:)
50 b(existence)1444 b(111)p 0 193 3473 4 v 0 515 a Fu(Th)m(us)32
b(if)d Fr(x)h Fu(is)g Fw(1)g Fu(or)g Fw(2)g Fu(then)h(the)f
Fs(F)1260 479 y Fn(2)1330 515 y Ft(?)g Fu(will)e(giv)m(e)i(the)h
(correct)g(v)-5 b(alue)29 b(for)h Fr(y)g Fu(and)h(for)e(all)f(other)0
636 y(v)-5 b(alues)27 b(of)g Fr(x)h Fu(the)g(result)f(is)g
(unde\014ned.)44 b(This)28 b(is)f(a)g(general)g(pattern:)41
b(the)28 b(n)m(th)g Fs(iter)-5 b(and)37 b(F)3319 600
y Fn(n)3395 636 y Ft(?)0 756 y Fu(will)d(determine)h(the)i(correct)g(v)
-5 b(alue)35 b(if)g(it)g(can)h(b)s(e)g(computed)h(with)e
Fs(at)k(most)c Fu(n)i Fs(unfoldings)0 877 y Fu(of)i(the)h
Fr(while)p Fu(-lo)s(op)f(\(that)h(is)f(n)g(ev)-5 b(aluations)39
b(of)g(the)h(b)s(o)s(olean)e(condition\).)63 b(The)41
b(general)0 997 y(form)m(ula)31 b(is)269 1227 y(\()p
Fs(F)384 1191 y Fn(n)460 1227 y Ft(?)p Fu(\))h Fs(s)41
b Fu(=)796 1052 y Fg(8)796 1127 y(<)796 1277 y(:)912
1142 y Fu(undef)p 912 1155 236 4 v 989 w(if)31 b Fs(s)41
b Fr(x)32 b Fo(<)h Fw(1)f Fu(or)h Fs(s)40 b Fr(x)33 b
Fo(>)f Fu(n)912 1310 y Fs(s)8 b Fu([)p Fr(y)p Ft(7!)p
Fu(\()p Fs(s)40 b Fr(y)p Fu(\))p Fo(?)p Fs(j)14 b Ft(\001)j(\001)g
(\001)o Fo(?)p Fw(2)p Fo(?)o Fw(1)p Fu(][)p Fr(x)p Ft(7!)p
Fw(1)p Fu(])84 b(if)31 b Fs(s)41 b Fr(x)32 b Fu(=)h Fs(j)46
b Fu(and)33 b Fw(1)p Ft(\024)q Fs(j)46 b Fu(and)33 b
Fs(j)14 b Ft(\024)q Fu(n)0 1476 y(W)-8 b(e)33 b(then)g(ha)m(v)m(e)244
1793 y(\(FIX)f Fs(F)13 b Fu(\))33 b Fs(s)40 b Fu(=)823
1619 y Fg(8)823 1694 y(<)823 1843 y(:)938 1709 y Fu(undef)p
938 1722 V 1007 w(if)31 b Fs(s)41 b Fr(x)33 b Fo(<)f
Fw(1)938 1876 y Fs(s)8 b Fu([)p Fr(y)p Ft(7!)p Fu(\()p
Fs(s)41 b Fr(y)p Fu(\))p Fo(?)p Fs(n)7 b Ft(\001)17 b(\001)g(\001)n
Fo(?)p Fw(2)p Fo(?)p Fw(1)p Fu(][)p Fr(x)p Ft(7!)p Fw(1)p
Fu(])83 b(if)31 b Fs(s)41 b Fr(x)33 b Fu(=)f Fs(n)40
b Fu(and)33 b Fs(n)7 b Ft(\025)p Fw(1)0 2130 y Fu(So)32
b(in)f(the)i(state)f Fs(s)702 2145 y Fn(0)773 2130 y
Fu(where)i Fr(x)e Fu(has)g(the)h(v)-5 b(alue)31 b Fw(3)h
Fu(w)m(e)h(get)f(that)g(the)g(v)-5 b(alue)32 b(computed)g(b)m(y)h(the)0
2250 y(factorial)d(statemen)m(t)j(is)244 2505 y(\(FIX)f
Fs(F)13 b Fu(\))33 b(\()p Fs(s)720 2520 y Fn(0)759 2505
y Fu([)p Fr(y)p Ft(7!)p Fw(1)p Fu(]\))g Fr(y)g Fu(=)f
Fw(1)h Fo(?)f Fw(3)g Fo(?)h Fw(2)f Fo(?)g Fw(1)h Fu(=)f
Fw(6)0 2760 y Fu(as)h(exp)s(ected.)2879 b Fh(2)0 3061
y Fw(Exercise)36 b(4.49)49 b Fu(Consider)33 b(the)g(statemen)m(t)244
3315 y Fr(z)p Fu(:=)p Fr(0)p Fu(;)g Fr(while)h(y)p Ft(\024)q
Fr(x)e(do)h Fu(\()p Fr(z)p Fu(:=)p Fr(z)p Fu(+)p Fr(1)p
Fu(;)h Fr(x)p Fu(:=)p Fr(x)p Ft(\000)p Fr(y)p Fu(\))0
3570 y(and)f(p)s(erform)e(a)h(dev)m(elopmen)m(t)i(analogous)d(to)h
(that)h(of)f(Example)g(4.48.)694 b Fh(2)0 3871 y Fw(Exercise)36
b(4.50)49 b Fu(Sho)m(w)30 b(that)f Ft(S)1220 3886 y Fn(ds)1292
3871 y Fu([)-17 b([)p Fr(while)30 b(true)g(do)g(skip)p
Fu(])-17 b(])30 b(is)e(the)i(totally)d(unde\014ned)j(func-)0
3991 y(tion)i Ft(?)p Fu(.)3093 b Fh(2)0 4292 y Fw(Exercise)36
b(4.51)49 b Fu(Extend)42 b(the)f(language)e(with)h(the)h(statemen)m(t)g
Fr(repeat)34 b Fs(S)44 b Fr(until)34 b Fs(b)46 b Fu(and)0
4412 y(giv)m(e)37 b(the)g(new)g(\(comp)s(ositional\))c(clause)k(for)f
Ft(S)1795 4427 y Fn(ds)1866 4412 y Fu(.)56 b(V)-8 b(alidate)34
b(the)j(w)m(ell-de\014nedness)i(of)d(the)0 4532 y(extended)f(v)m
(ersion)e(of)f Ft(S)925 4547 y Fn(ds)996 4532 y Fu(.)2375
b Fh(2)0 4833 y Fw(Exercise)36 b(4.52)49 b Fu(Extend)37
b(the)e(language)f(with)g(the)h(statemen)m(t)g Fr(for)h
Fs(x)47 b Fu(:=)34 b Fs(a)2937 4848 y Fn(1)3012 4833
y Fr(to)h Fs(a)3206 4848 y Fn(2)3280 4833 y Fr(do)h Fs(S)0
4953 y Fu(and)f(giv)m(e)g(the)g(new)h(\(comp)s(ositional\))c(clause)j
(for)f Ft(S)1977 4968 y Fn(ds)2048 4953 y Fu(.)51 b(V)-8
b(alidate)33 b(the)i(w)m(ell-de\014nedness)i(of)0 5074
y(the)c(extended)i(v)m(ersion)e(of)f Ft(S)1093 5089 y
Fn(ds)1164 5074 y Fu(.)2207 b Fh(2)146 5374 y Fu(T)-8
b(o)31 b(summarize,)f(the)h(w)m(ell-de\014nedness)h(of)e
Ft(S)1851 5389 y Fn(ds)1952 5374 y Fu(relies)g(on)g(the)h(follo)m(wing)
d(results)j(estab-)0 5494 y(lished)h(ab)s(o)m(v)m(e:)p
eop
%%Page: 112 122
112 121 bop 251 130 a Fw(112)1978 b(4)112 b(Denotational)36
b(Seman)m(tics)p 251 193 3473 4 v 283 419 3470 4 v 283
436 V 281 643 4 208 v 298 643 V 1371 564 a(Pro)s(of)c(Summary)h(for)f
(While)p Fu(:)p 3735 643 V 3752 643 V 281 851 V 298 851
V 961 772 a Fw(W)-9 b(ell)p Fu(-)p Fw(de\014nedness)32
b(of)h(Denotational)e(Seman)m(tics)p 3735 851 V 3752
851 V 283 854 3470 4 v 281 1223 4 370 v 298 1223 V 350
1020 a Fu(1:)143 b(The)34 b(set)g Fw(State)g Fo(,)-17
b Ft(!)33 b Fw(State)g Fu(equipp)s(ed)h(with)f(an)h(appropriate)e
(order)i Ft(v)f Fu(is)g(a)g(ccp)s(o)569 1140 y(\(Lemmas)e(4.13)h(and)h
(4.25\).)p 3735 1223 V 3752 1223 V 281 1511 4 289 v 298
1511 V 350 1308 a(2:)143 b(Certain)34 b(functions)g(\011:)47
b(\()p Fw(State)34 b Fo(,)-17 b Ft(!)35 b Fw(State)p
Fu(\))f Ft(!)g Fu(\()p Fw(State)g Fo(,)-17 b Ft(!)35
b Fw(State)p Fu(\))f(are)g(con)m(tin-)569 1428 y(uous)f(\(Lemmas)e
(4.43)h(and)h(4.45\).)p 3735 1511 V 3752 1511 V 281 1799
V 298 1799 V 350 1596 a(3:)143 b(In)31 b(the)g(de\014nition)f(of)g
Ft(S)1464 1611 y Fn(ds)1566 1596 y Fu(w)m(e)i(only)e(apply)g(the)i
(\014xed)g(p)s(oin)m(t)e(op)s(eration)f(to)h(con)m(tin-)569
1716 y(uous)j(functions)f(\(Prop)s(osition)f(4.47\).)p
3735 1799 V 3752 1799 V 283 1803 3470 4 v 283 1819 V
283 2069 a Fp(Prop)t(erties)46 b(of)f(the)h(seman)l(tics)283
2260 y Fu(In)35 b(the)f(op)s(erational)d(seman)m(tics)j(w)m(e)h
(de\014ned)g(a)f(notion)f(of)g(t)m(w)m(o)h(statemen)m(ts)h(b)s(eing)e
(seman-)283 2380 y(tically)46 b(equiv)-5 b(alen)m(t.)87
b(A)48 b(similar)c(notion)i(can)i(b)s(e)g(de\014ned)g(based)h(on)e(the)
h(denotational)283 2501 y(seman)m(tics:)c Fs(S)831 2516
y Fn(1)903 2501 y Fu(and)33 b Fs(S)1160 2516 y Fn(2)1231
2501 y Fu(are)g Fs(semantic)-5 b(al)5 b(ly)34 b(e)-5
b(quivalent)41 b Fu(if)32 b(and)g(only)h(if)527 2720
y Ft(S)595 2735 y Fn(ds)666 2720 y Fu([)-17 b([)q Fs(S)771
2735 y Fn(1)810 2720 y Fu(])g(])33 b(=)g Ft(S)1056 2735
y Fn(ds)1128 2720 y Fu([)-17 b([)p Fs(S)1232 2735 y Fn(2)1272
2720 y Fu(])g(])283 2973 y Fw(Exercise)37 b(4.53)49 b
Fu(Sho)m(w)f(that)f(the)g(follo)m(wing)e(statemen)m(ts)j(of)f
Fw(While)e Fu(are)j(seman)m(tically)283 3093 y(equiv)-5
b(alen)m(t)33 b(in)f(the)h(ab)s(o)m(v)m(e)g(sense:)429
3312 y Ft(\017)48 b Fs(S)12 b Fu(;)p Fr(skip)34 b Fu(and)f
Fs(S)429 3531 y Ft(\017)48 b Fs(S)594 3546 y Fn(1)634
3531 y Fu(;\()p Fs(S)766 3546 y Fn(2)805 3531 y Fu(;)p
Fs(S)899 3546 y Fn(3)938 3531 y Fu(\))33 b(and)f(\()p
Fs(S)1303 3546 y Fn(1)1343 3531 y Fu(;)p Fs(S)1437 3546
y Fn(2)1476 3531 y Fu(\);)p Fs(S)1608 3546 y Fn(3)429
3749 y Ft(\017)48 b Fr(while)34 b Fs(b)39 b Fr(do)33
b Fs(S)44 b Fu(and)33 b Fr(if)g Fs(b)38 b Fr(then)c Fu(\()p
Fs(S)12 b Fu(;)32 b Fr(while)i Fs(b)k Fr(do)c Fs(S)12
b Fu(\))32 b Fr(else)h(skip)651 b Fh(2)283 3999 y Fw(Exercise)37
b(4.54)49 b Fu(*)29 b(Pro)m(v)m(e)h(that)f Fr(repeat)i
Fs(S)41 b Fr(until)30 b Fs(b)35 b Fu(and)29 b Fs(S)12
b Fu(;)29 b Fr(while)h Ft(:)q Fs(b)35 b Fr(do)29 b Fs(S)41
b Fu(are)29 b(seman-)283 4120 y(tically)i(equiv)-5 b(alen)m(t)33
b(using)g(the)h(denotational)d(approac)m(h.)45 b(The)34
b(seman)m(tics)g(of)e(the)i Fr(repeat)p Fu(-)283 4240
y(construct)g(is)e(giv)m(en)h(in)f(Exercise)i(4.51.)1917
b Fh(2)283 4592 y Fj(4.4)161 b(An)53 b(equiv)-9 b(alence)55
b(result)283 4817 y Fu(Ha)m(ving)33 b(pro)s(duced)h(y)m(et)g(another)g
(seman)m(tics)f(of)f(the)i(language)e Fw(While)f Fu(w)m(e)k(shall)c(b)s
(e)j(in)m(ter-)283 4937 y(ested)d(in)e(its)f(relation)g(to)h(the)h(op)s
(erational)d(seman)m(tics)i(and)g(for)g(this)g(w)m(e)i(shall)d(fo)s
(cus)h(on)g(the)283 5058 y(structural)k(op)s(erational)d(seman)m(tics.)
p 283 5181 3473 5 v 283 5374 a Fw(Theorem)38 b(4.55)49
b Fu(F)-8 b(or)31 b(ev)m(ery)k(statemen)m(t)e Fs(S)44
b Fu(of)32 b Fw(While)f Fu(w)m(e)j(ha)m(v)m(e)g Ft(S)2863
5389 y Fn(sos)2958 5374 y Fu([)-17 b([)p Fs(S)12 b Fu(])-17
b(])33 b(=)g Ft(S)3308 5389 y Fn(ds)3380 5374 y Fu([)-17
b([)p Fs(S)12 b Fu(])-17 b(])q(.)p 283 5494 V eop
%%Page: 113 123
113 122 bop 0 130 a Fw(4.4)112 b(An)38 b(equiv)-6 b(alence)37
b(result)1991 b(113)p 0 193 3473 4 v 0 515 a Fu(Both)25
b Ft(S)302 530 y Fn(ds)373 515 y Fu([)-17 b([)q Fs(S)12
b Fu(])-17 b(])25 b(and)g Ft(S)790 530 y Fn(sos)885 515
y Fu([)-17 b([)p Fs(S)12 b Fu(])-17 b(])25 b(are)g(functions)f(in)g
Fw(State)h Fo(,)-17 b Ft(!)24 b Fw(State)p Fu(,)j(that)d(is)g(they)i
(are)e(elemen)m(ts)0 636 y(of)40 b(a)h(partially)c(ordered)42
b(set.)68 b(T)-8 b(o)41 b(pro)m(v)m(e)h(that)e(t)m(w)m(o)i(elemen)m(ts)
e Fs(d)2485 651 y Fn(1)2566 636 y Fu(and)g Fs(d)2823
651 y Fn(2)2904 636 y Fu(of)g(a)g(partially)0 756 y(ordered)30
b(set)g(are)g(equal)f(it)g(is)g(su\016cien)m(t)i(to)e(pro)m(v)m(e)i
(that)e Fs(d)2153 771 y Fn(1)2222 756 y Ft(v)h Fs(d)2389
771 y Fn(2)2458 756 y Fu(and)g(that)f Fs(d)2913 771 y
Fn(2)2982 756 y Ft(v)h Fs(d)3149 771 y Fn(1)3188 756
y Fu(.)43 b(Th)m(us)0 877 y(to)32 b(pro)m(v)m(e)i(Theorem)f(4.55)f(w)m
(e)i(shall)d(sho)m(w)i(that)145 1066 y Ft(\017)49 b(S)312
1081 y Fn(sos)407 1066 y Fu([)-17 b([)p Fs(S)12 b Fu(])-17
b(])33 b Ft(v)g(S)759 1081 y Fn(ds)830 1066 y Fu([)-17
b([)q Fs(S)12 b Fu(])-17 b(],)33 b(and)145 1264 y Ft(\017)49
b(S)312 1279 y Fn(ds)383 1264 y Fu([)-17 b([)p Fs(S)12
b Fu(])-17 b(])33 b Ft(v)g(S)735 1279 y Fn(sos)830 1264
y Fu([)-17 b([)q Fs(S)12 b Fu(])-17 b(].)0 1454 y(The)34
b(\014rst)f(result)f(is)g(expressed)k(b)m(y)d(the)g(follo)m(wing)d
(lemma:)p 0 1574 3473 5 v 0 1734 a Fw(Lemma)37 b(4.56)49
b Fu(F)-8 b(or)32 b(ev)m(ery)i(statemen)m(t)f Fs(S)45
b Fu(of)32 b Fw(While)f Fu(w)m(e)i(ha)m(v)m(e)h Ft(S)2501
1749 y Fn(sos)2596 1734 y Fu([)-17 b([)q Fs(S)12 b Fu(])-17
b(])33 b Ft(v)g(S)2949 1749 y Fn(ds)3020 1734 y Fu([)-17
b([)p Fs(S)12 b Fu(])-17 b(])q(.)p 0 1854 V 0 2044 a
Fw(Pro)s(of:)37 b Fu(It)c(is)f(su\016cien)m(t)i(to)e(pro)m(v)m(e)i
(that)e(for)g(all)f(states)i Fs(s)41 b Fu(and)32 b Fs(s)2427
2007 y Fi(0)269 2211 y Ft(h)o Fs(S)12 b Fu(,)33 b Fs(s)8
b Ft(i)32 b(\))653 2175 y Fi(\003)725 2211 y Fs(s)773
2175 y Fi(0)829 2211 y Fu(implies)e Ft(S)1228 2226 y
Fn(ds)1299 2211 y Fu([)-17 b([)p Fs(S)12 b Fu(])-17 b(])q
Fs(s)40 b Fu(=)33 b Fs(s)1678 2175 y Fi(0)3348 2211 y
Fu(\(*\))0 2379 y(T)-8 b(o)33 b(do)f(so)h(w)m(e)g(shall)f(need)h(to)f
(establish)h(the)g(follo)m(wing)c(prop)s(ert)m(y)310
2538 y Ft(h)p Fs(S)12 b Fu(,)32 b Fs(s)8 b Ft(i)33 b(\))f
Fs(s)775 2502 y Fi(0)1109 2538 y Fu(implies)80 b Ft(S)1558
2553 y Fn(ds)1629 2538 y Fu([)-17 b([)q Fs(S)12 b Fu(])-17
b(])p Fs(s)41 b Fu(=)32 b Fs(s)2008 2502 y Fi(0)310 2706
y Ft(h)p Fs(S)12 b Fu(,)32 b Fs(s)8 b Ft(i)33 b(\))f(h)p
Fs(S)833 2670 y Fi(0)856 2706 y Fu(,)g Fs(s)963 2670
y Fi(0)987 2706 y Ft(i)83 b Fu(implies)d Ft(S)1558 2721
y Fn(ds)1629 2706 y Fu([)-17 b([)q Fs(S)12 b Fu(])-17
b(])p Fs(s)41 b Fu(=)32 b Ft(S)2028 2721 y Fn(ds)2099
2706 y Fu([)-17 b([)q Fs(S)2204 2670 y Fi(0)2227 2706
y Fu(])g(])p Fs(s)2312 2670 y Fi(0)3299 2623 y Fu(\(**\))0
2872 y(Assuming)39 b(that)g(\(**\))g(holds)h(the)g(pro)s(of)e(of)h
(\(*\))h(is)f(a)g(straigh)m(tforw)m(ard)g(induction)f(on)i(the)0
2992 y(length)32 b(k)h(of)f(the)h(deriv)-5 b(ation)31
b(sequence)k Ft(h)p Fs(S)12 b Fu(,)33 b Fs(s)8 b Ft(i)32
b(\))1908 2956 y Fn(k)1981 2992 y Fs(s)2029 2956 y Fi(0)2085
2992 y Fu(\(see)i(Section)e(2.2\).)146 3113 y(W)-8 b(e)40
b(no)m(w)g(turn)f(to)g(the)g(pro)s(of)g(of)f(\(**\))h(and)g(for)g(this)
g(w)m(e)h(shall)e(use)i(induction)e(on)h(the)0 3233 y(shap)s(e)33
b(of)f(the)h(deriv)-5 b(ation)31 b(tree)i(for)f Ft(h)p
Fs(S)12 b Fu(,)33 b Fs(s)8 b Ft(i)32 b(\))g Fs(s)1820
3197 y Fi(0)1876 3233 y Fu(or)g Ft(h)p Fs(S)12 b Fu(,)32
b Fs(s)8 b Ft(i)33 b(\))f(h)p Fs(S)2518 3197 y Fi(0)2541
3233 y Fu(,)g Fs(s)2648 3197 y Fi(0)2672 3233 y Ft(i)o
Fu(.)0 3401 y Fw(The)h(case)g Fu([ass)608 3416 y Fn(sos)704
3401 y Fu(]:)44 b(W)-8 b(e)32 b(ha)m(v)m(e)244 3590 y
Ft(h)p Fs(x)44 b Fu(:=)32 b Fs(a)7 b Fu(,)33 b Fs(s)8
b Ft(i)33 b(\))f Fs(s)8 b Fu([)p Fs(x)k Ft(7!)o(A)p Fu([)-17
b([)q Fs(a)7 b Fu(])-17 b(])p Fs(s)8 b Fu(])0 3779 y(and)33
b(since)g Ft(S)496 3794 y Fn(ds)568 3779 y Fu([)-17 b([)p
Fs(x)45 b Fu(:=)32 b Fs(a)7 b Fu(])-17 b(])q Fs(s)41
b Fu(=)32 b Fs(s)8 b Fu([)p Fs(x)k Ft(7!A)o Fu([)-17
b([)q Fs(a)7 b Fu(])-17 b(])q Fs(s)8 b Fu(])32 b(the)h(result)g(follo)m
(ws.)0 3947 y Fw(The)g(case)g Fu([skip)654 3962 y Fn(sos)749
3947 y Fu(]:)44 b(Analogous.)0 4114 y Fw(The)33 b(case)g
Fu([comp)723 4078 y Fn(1)711 4139 y(sos)806 4114 y Fu(]:)43
b(Assume)34 b(that)244 4304 y Ft(h)p Fs(S)350 4319 y
Fn(1)389 4304 y Fu(;)p Fs(S)483 4319 y Fn(2)522 4304
y Fu(,)f Fs(s)8 b Ft(i)32 b(\))g(h)p Fs(S)939 4268 y
Fi(0)939 4328 y Fn(1)978 4304 y Fu(;)p Fs(S)1072 4319
y Fn(2)1112 4304 y Fu(,)g Fs(s)1219 4268 y Fi(0)1243
4304 y Ft(i)0 4493 y Fu(b)s(ecause)39 b Ft(h)o Fs(S)471
4508 y Fn(1)511 4493 y Fu(,)f Fs(s)8 b Ft(i)37 b(\))g(h)o
Fs(S)942 4457 y Fi(0)942 4517 y Fn(1)982 4493 y Fu(,)h
Fs(s)1095 4457 y Fi(0)1118 4493 y Ft(i)p Fu(.)57 b(Then)39
b(the)e(induction)g(h)m(yp)s(othesis)h(applied)e(to)h(the)g(latter)0
4613 y(transition)31 b(giv)m(es)i Ft(S)752 4628 y Fn(ds)823
4613 y Fu([)-17 b([)q Fs(S)928 4628 y Fn(1)967 4613 y
Fu(])g(])p Fs(s)41 b Fu(=)32 b Ft(S)1261 4628 y Fn(ds)1332
4613 y Fu([)-17 b([)q Fs(S)1437 4577 y Fi(0)1437 4638
y Fn(1)1476 4613 y Fu(])g(])q Fs(s)1562 4577 y Fi(0)1618
4613 y Fu(and)32 b(w)m(e)i(get)244 4802 y Ft(S)312 4817
y Fn(ds)383 4802 y Fu([)-17 b([)p Fs(S)487 4817 y Fn(1)527
4802 y Fu(;)p Fs(S)621 4817 y Fn(2)660 4802 y Fu(])g(])33
b Fs(s)41 b Fu(=)32 b Ft(S)987 4817 y Fn(ds)1058 4802
y Fu([)-17 b([)q Fs(S)1163 4817 y Fn(2)1202 4802 y Fu(])g(])q(\()p
Ft(S)1345 4817 y Fn(ds)1417 4802 y Fu([)g([)p Fs(S)1521
4817 y Fn(1)1560 4802 y Fu(])g(])q Fs(s)8 b Fu(\))811
4970 y(=)32 b Ft(S)987 4985 y Fn(ds)1058 4970 y Fu([)-17
b([)q Fs(S)1163 4985 y Fn(2)1202 4970 y Fu(])g(])q(\()p
Ft(S)1345 4985 y Fn(ds)1417 4970 y Fu([)g([)p Fs(S)1521
4934 y Fi(0)1521 4995 y Fn(1)1560 4970 y Fu(])g(])q Fs(s)1646
4934 y Fi(0)1669 4970 y Fu(\))811 5138 y(=)32 b Ft(S)987
5153 y Fn(ds)1058 5138 y Fu([)-17 b([)q Fs(S)1163 5102
y Fi(0)1163 5162 y Fn(1)1202 5138 y Fu(;)p Fs(S)1296
5153 y Fn(2)1335 5138 y Fu(])g(])q Fs(s)1421 5102 y Fi(0)0
5327 y Fu(as)33 b(required.)0 5494 y Fw(The)g(case)g
Fu([comp)723 5458 y Fn(2)711 5519 y(sos)806 5494 y Fu(]:)43
b(Assume)34 b(that)p eop
%%Page: 114 124
114 123 bop 251 130 a Fw(114)1978 b(4)112 b(Denotational)36
b(Seman)m(tics)p 251 193 3473 4 v 527 515 a Ft(h)p Fs(S)633
530 y Fn(1)672 515 y Fu(;)p Fs(S)766 530 y Fn(2)806 515
y Fu(,)c Fs(s)8 b Ft(i)33 b(\))f(h)p Fs(S)1223 530 y
Fn(2)1262 515 y Fu(,)g Fs(s)1369 479 y Fi(0)1393 515
y Ft(i)283 747 y Fu(b)s(ecause)44 b Ft(h)p Fs(S)760 762
y Fn(1)799 747 y Fu(,)g Fs(s)8 b Ft(i\))42 b Fs(s)1147
711 y Fi(0)1170 747 y Fu(.)72 b(Then)43 b(the)f(induction)f(h)m(yp)s
(othesis)i(applied)e(to)h(that)f(transition)283 867 y(giv)m(es)33
b Ft(S)590 882 y Fn(ds)661 867 y Fu([)-17 b([)q Fs(S)766
882 y Fn(1)805 867 y Fu(])g(])q Fs(s)41 b Fu(=)32 b Fs(s)1080
831 y Fi(0)1136 867 y Fu(and)g(w)m(e)i(get)527 1099 y
Ft(S)595 1114 y Fn(ds)666 1099 y Fu([)-17 b([)q Fs(S)771
1114 y Fn(1)810 1099 y Fu(;)p Fs(S)904 1114 y Fn(2)944
1099 y Fu(])g(])p Fs(s)41 b Fu(=)32 b Ft(S)1238 1114
y Fn(ds)1309 1099 y Fu([)-17 b([)q Fs(S)1414 1114 y Fn(2)1453
1099 y Fu(])g(])q(\()p Ft(S)1596 1114 y Fn(ds)1668 1099
y Fu([)g([)p Fs(S)1772 1114 y Fn(1)1811 1099 y Fu(])g(])q
Fs(s)8 b Fu(\))32 b(=)h Ft(S)2144 1114 y Fn(ds)2215 1099
y Fu([)-17 b([)p Fs(S)2319 1114 y Fn(2)2359 1099 y Fu(])g(])p
Fs(s)2444 1063 y Fi(0)283 1331 y Fu(where)40 b(the)g(\014rst)f(equalit)
m(y)f(comes)h(from)e(the)i(de\014nition)f(of)g Ft(S)2659
1346 y Fn(ds)2769 1331 y Fu(and)h(w)m(e)g(just)h(argued)e(for)283
1451 y(the)33 b(second)h(equalit)m(y)-8 b(.)43 b(This)33
b(pro)m(v)m(es)h(the)f(result.)283 1619 y Fw(The)g(case)g
Fu([if)836 1582 y Fn(tt)824 1643 y(sos)919 1619 y Fu(]:)43
b(Assume)34 b(that)527 1850 y Ft(h)p Fr(if)f Fs(b)39
b Fr(then)33 b Fs(S)1089 1865 y Fn(1)1161 1850 y Fr(else)h
Fs(S)1466 1865 y Fn(2)1505 1850 y Fu(,)e Fs(s)8 b Ft(i)33
b(\))f(h)p Fs(S)1922 1865 y Fn(1)1961 1850 y Fu(,)h Fs(s)8
b Ft(i)283 2082 y Fu(b)s(ecause)34 b Ft(B)t Fu([)-17
b([)p Fs(b)6 b Fu(])-17 b(])33 b Fs(s)41 b Fu(=)32 b
Fw(tt)p Fu(.)43 b(Then)552 2249 y Ft(S)620 2264 y Fn(ds)691
2249 y Fu([)-17 b([)q Fr(if)33 b Fs(b)38 b Fr(then)c
Fs(S)1252 2264 y Fn(1)1324 2249 y Fr(else)f Fs(S)1628
2264 y Fn(2)1667 2249 y Fu(])-17 b(])q Fs(s)41 b Fu(=)32
b(cond\()p Ft(B)t Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(],)33
b Ft(S)2455 2264 y Fn(ds)2526 2249 y Fu([)-17 b([)p Fs(S)2630
2264 y Fn(1)2670 2249 y Fu(])g(],)33 b Ft(S)2835 2264
y Fn(ds)2906 2249 y Fu([)-17 b([)p Fs(S)3010 2264 y Fn(2)3050
2249 y Fu(])g(]\))p Fs(s)41 b Fu(=)32 b Ft(S)3382 2264
y Fn(ds)3453 2249 y Fu([)-17 b([)q Fs(S)3558 2264 y Fn(1)3597
2249 y Fu(])g(])q Fs(s)283 2417 y Fu(as)33 b(required.)283
2585 y Fw(The)g(case)g Fu([if)836 2549 y Fn(\013)824
2609 y(sos)919 2585 y Fu(]:)43 b(Analogous.)283 2752
y Fw(The)33 b(case)g Fu([while)989 2767 y Fn(sos)1084
2752 y Fu(]:)43 b(Assume)34 b(that)527 2984 y Ft(h)p
Fr(while)g Fs(b)k Fr(do)33 b Fs(S)12 b Fu(,)33 b Fs(s)8
b Ft(i)32 b(\))g(h)p Fr(if)h Fs(b)39 b Fr(then)33 b Fu(\()p
Fs(S)12 b Fu(;)33 b Fr(while)g Fs(b)39 b Fr(do)33 b Fs(S)12
b Fu(\))32 b Fr(else)i(skip)p Fu(,)f Fs(s)8 b Ft(i)283
3216 y Fu(F)-8 b(rom)41 b(the)i(de\014nition)f(of)g Ft(S)1359
3231 y Fn(ds)1473 3216 y Fu(w)m(e)h(ha)m(v)m(e)h Ft(S)1929
3231 y Fn(ds)2000 3216 y Fu([)-17 b([)q Fr(while)43 b
Fs(b)49 b Fr(do)42 b Fs(S)12 b Fu(])-17 b(])43 b(=)f(FIX)h
Fs(F)55 b Fu(where)44 b Fs(F)55 b(g)c Fu(=)283 3336 y(cond\()p
Ft(B)t Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(],)33 b Fs(g)41
b Ft(\016)33 b(S)1012 3351 y Fn(ds)1084 3336 y Fu([)-17
b([)p Fs(S)12 b Fu(])-17 b(])q(,)32 b(id\).)43 b(W)-8
b(e)33 b(therefore)g(get)527 3568 y Ft(S)595 3583 y Fn(ds)666
3568 y Fu([)-17 b([)q Fr(while)34 b Fs(b)k Fr(do)33 b
Fs(S)12 b Fu(])-17 b(])q(=)32 b(\(FIX)h Fs(F)13 b Fu(\))1316
3735 y(=)32 b Fs(F)46 b Fu(\(FIX)32 b Fs(F)13 b Fu(\))1316
3903 y(=)32 b(cond\()p Ft(B)t Fu([)-17 b([)q Fs(b)6 b
Fu(])-17 b(],)33 b Ft(S)1985 3918 y Fn(ds)2056 3903 y
Fu([)-17 b([)p Fr(while)34 b Fs(b)39 b Fr(do)33 b Fs(S)12
b Fu(])-17 b(])33 b Ft(\016)f(S)2888 3918 y Fn(ds)2959
3903 y Fu([)-17 b([)q Fs(S)12 b Fu(])-17 b(],)33 b(id\))1316
4070 y(=)f(cond\()p Ft(B)t Fu([)-17 b([)q Fs(b)6 b Fu(])-17
b(],)33 b Ft(S)1985 4085 y Fn(ds)2056 4070 y Fu([)-17
b([)p Fs(S)12 b Fu(;)33 b Fr(while)h Fs(b)k Fr(do)33
b Fs(S)12 b Fu(])-17 b(])q(,)32 b Ft(S)2959 4085 y Fn(ds)3030
4070 y Fu([)-17 b([)q Fr(skip)p Fu(])g(])q(\))1316 4238
y(=)32 b Ft(S)1492 4253 y Fn(ds)1563 4238 y Fu([)-17
b([)q Fr(if)33 b Fs(b)38 b Fr(then)c Fu(\()p Fs(S)12
b Fu(;)32 b Fr(while)i Fs(b)k Fr(do)33 b Fs(S)12 b Fu(\))33
b Fr(else)g(skip)p Fu(])-17 b(])283 4470 y(as)33 b(required.)44
b(This)33 b(completes)f(the)h(pro)s(of)f(of)g(\(**\).)1450
b Fh(2)430 4679 y Fu(Note)39 b(that)g(\(*\))g(do)s(es)g
Fs(not)49 b Fu(imply)37 b(that)i Ft(S)2032 4694 y Fn(sos)2127
4679 y Fu([)-17 b([)p Fs(S)12 b Fu(])-17 b(])40 b(=)f
Ft(S)2491 4694 y Fn(ds)2562 4679 y Fu([)-17 b([)p Fs(S)12
b Fu(])-17 b(])40 b(as)f(w)m(e)h(ha)m(v)m(e)h(only)d(pro)m(v)m(ed)283
4799 y(that)26 b Fs(if)46 b Ft(S)662 4814 y Fn(sos)757
4799 y Fu([)-17 b([)q Fs(S)12 b Fu(])-17 b(])p Fs(s)33
b Ft(6)p Fu(=)26 b(undef)p 1074 4812 236 4 v 26 w Fs(then)33
b Ft(S)1617 4814 y Fn(sos)1713 4799 y Fu([)-17 b([)p
Fs(S)12 b Fu(])-17 b(])q Fs(s)33 b Fu(=)25 b Ft(S)2097
4814 y Fn(ds)2168 4799 y Fu([)-17 b([)q Fs(S)12 b Fu(])-17
b(])p Fs(s)8 b Fu(.)42 b(Still)23 b(there)j(is)f(the)h(p)s(ossibilit)m
(y)d(that)283 4919 y Ft(S)351 4934 y Fn(ds)422 4919 y
Fu([)-17 b([)q Fs(S)12 b Fu(])-17 b(])28 b(ma)m(y)f(b)s(e)h(de\014ned)h
(for)e(more)f(argumen)m(ts)i(than)f Ft(S)2399 4934 y
Fn(sos)2494 4919 y Fu([)-17 b([)q Fs(S)12 b Fu(])-17
b(].)42 b(Ho)m(w)m(ev)m(er)30 b(this)d(is)g(ruled)g(out)283
5040 y(b)m(y)34 b(the)f(follo)m(wing)d(lemma:)p 283 5166
3473 5 v 283 5374 a Fw(Lemma)38 b(4.57)49 b Fu(F)-8 b(or)31
b(ev)m(ery)k(statemen)m(t)e Fs(S)44 b Fu(of)32 b Fw(While)f
Fu(w)m(e)j(ha)m(v)m(e)g Ft(S)2785 5389 y Fn(ds)2856 5374
y Fu([)-17 b([)p Fs(S)12 b Fu(])-17 b(])33 b Ft(v)g(S)3208
5389 y Fn(sos)3303 5374 y Fu([)-17 b([)q Fs(S)12 b Fu(])-17
b(].)p 283 5494 V eop
%%Page: 115 125
115 124 bop 0 130 a Fw(4.4)112 b(An)38 b(equiv)-6 b(alence)37
b(result)1991 b(115)p 0 193 3473 4 v 0 515 a(Pro)s(of:)37
b Fu(W)-8 b(e)33 b(pro)s(ceed)h(b)m(y)f(structural)f(induction)g(on)h
(the)g(statemen)m(t)g Fs(S)12 b Fu(.)0 683 y Fw(The)38
b(case)g Fs(x)50 b Fu(:=)37 b Fs(a)7 b Fu(:)54 b(Clearly)37
b Ft(S)1251 698 y Fn(ds)1322 683 y Fu([)-17 b([)q Fs(x)49
b Fu(:=)38 b Fs(a)7 b Fu(])-17 b(])q Fs(s)46 b Fu(=)37
b Ft(S)1957 698 y Fn(sos)2052 683 y Fu([)-17 b([)q Fs(x)49
b Fu(:=)38 b Fs(a)7 b Fu(])-17 b(])q Fs(s)8 b Fu(.)59
b(Note)37 b(that)h(this)f(means)0 803 y(that)32 b Ft(S)279
818 y Fn(sos)407 803 y Fu(satis\014es)h(the)g(clause)g(de\014ning)f
Ft(S)1658 818 y Fn(ds)1762 803 y Fu(in)g(T)-8 b(able)32
b(4.1.)0 971 y Fw(The)h(case)g Fr(skip)p Fu(:)45 b(Clearly)31
b Ft(S)1138 986 y Fn(ds)1209 971 y Fu([)-17 b([)q Fr(skip)p
Fu(])g(])r Fs(s)40 b Fu(=)32 b Ft(S)1746 986 y Fn(sos)1841
971 y Fu([)-17 b([)q Fr(skip)p Fu(])g(])r Fs(s)8 b Fu(.)0
1139 y Fw(The)28 b(case)h Fs(S)514 1154 y Fn(1)582 1139
y Fu(;)g Fs(S)705 1154 y Fn(2)745 1139 y Fu(:)41 b(Recall)26
b(that)i Ft(\016)g Fu(is)g(monotone)f(in)h(b)s(oth)g(argumen)m(ts)g
(\(Lemma)f(4.45)g(and)0 1259 y(Exercise)34 b(4.46\).)43
b(W)-8 b(e)33 b(then)g(ha)m(v)m(e)244 1456 y Ft(S)312
1471 y Fn(ds)383 1456 y Fu([)-17 b([)p Fs(S)487 1471
y Fn(1)559 1456 y Fu(;)33 b Fs(S)686 1471 y Fn(2)725
1456 y Fu(])-17 b(])33 b(=)g Ft(S)971 1471 y Fn(ds)1043
1456 y Fu([)-17 b([)p Fs(S)1147 1471 y Fn(2)1186 1456
y Fu(])g(])34 b Ft(\016)e(S)1407 1471 y Fn(ds)1478 1456
y Fu([)-17 b([)p Fs(S)1582 1471 y Fn(1)1622 1456 y Fu(])g(])795
1623 y Ft(v)32 b(S)971 1638 y Fn(sos)1067 1623 y Fu([)-17
b([)p Fs(S)1171 1638 y Fn(2)1210 1623 y Fu(])g(])33 b
Ft(\016)g(S)1431 1638 y Fn(sos)1526 1623 y Fu([)-17 b([)p
Fs(S)1630 1638 y Fn(1)1670 1623 y Fu(])g(])0 1820 y(b)s(ecause)39
b(the)g(induction)e(h)m(yp)s(othesis)i(applied)e(to)h
Fs(S)2004 1835 y Fn(1)2081 1820 y Fu(and)g Fs(S)2343
1835 y Fn(2)2421 1820 y Fu(giv)m(es)g Ft(S)2733 1835
y Fn(ds)2804 1820 y Fu([)-17 b([)q Fs(S)2909 1835 y Fn(1)2948
1820 y Fu(])g(])33 b Ft(v)g(S)3196 1835 y Fn(sos)3291
1820 y Fu([)-17 b([)q Fs(S)3396 1835 y Fn(1)3435 1820
y Fu(])g(])0 1940 y(and)44 b Ft(S)269 1955 y Fn(ds)340
1940 y Fu([)-17 b([)q Fs(S)445 1955 y Fn(2)484 1940 y
Fu(])g(])33 b Ft(v)g(S)732 1955 y Fn(sos)827 1940 y Fu([)-17
b([)p Fs(S)931 1955 y Fn(2)971 1940 y Fu(])g(].)78 b(F)-8
b(urthermore,)46 b(Exercise)f(2.21)f(giv)m(es)g(that)g(if)f
Ft(h)o Fs(S)3011 1955 y Fn(1)3051 1940 y Fu(,)32 b Fs(s)8
b Ft(i)32 b(\))3329 1904 y Fi(\003)3401 1940 y Fs(s)3449
1904 y Fi(0)0 2060 y Fu(then)h Ft(h)p Fs(S)328 2075 y
Fn(1)400 2060 y Fu(;)f Fs(S)526 2075 y Fn(2)566 2060
y Fu(,)g Fs(s)8 b Ft(i)33 b(\))844 2024 y Fi(\003)916
2060 y Ft(h)p Fs(S)1022 2075 y Fn(2)1061 2060 y Fu(,)g
Fs(s)1169 2024 y Fi(0)1192 2060 y Ft(i)f Fu(and)h(hence)244
2257 y Ft(S)312 2272 y Fn(sos)407 2257 y Fu([)-17 b([)p
Fs(S)511 2272 y Fn(2)551 2257 y Fu(])g(])33 b Ft(\016)f(S)771
2272 y Fn(sos)866 2257 y Fu([)-17 b([)q Fs(S)971 2272
y Fn(1)1010 2257 y Fu(])g(])33 b Ft(v)g(S)1258 2272 y
Fn(sos)1353 2257 y Fu([)-17 b([)p Fs(S)1457 2272 y Fn(1)1529
2257 y Fu(;)33 b Fs(S)1656 2272 y Fn(2)1695 2257 y Fu(])-17
b(])0 2453 y(and)38 b(this)f(pro)m(v)m(es)i(the)f(result.)58
b(Note)38 b(that)f(in)g(this)g(case)h Ft(S)2243 2468
y Fn(sos)2376 2453 y Fu(ful\014ls)e(a)h(w)m(eak)m(er)j(v)m(ersion)e(of)
0 2574 y(the)33 b(clause)g(de\014ning)f Ft(S)892 2589
y Fn(ds)996 2574 y Fu(in)g(T)-8 b(able)32 b(4.1.)0 2741
y Fw(The)d(case)h Fr(if)f Fs(b)35 b Fr(then)30 b Fs(S)961
2756 y Fn(1)1030 2741 y Fr(else)g Fs(S)1331 2756 y Fn(2)1370
2741 y Fu(:)42 b(Recall)27 b(that)i(`cond')g(is)g(monotone)f(in)g(its)h
(second)h(and)0 2862 y(third)i(argumen)m(t)g(\(Lemma)f(4.43)h(and)h
(Exercise)h(4.44\).)43 b(W)-8 b(e)33 b(then)g(ha)m(v)m(e)244
3058 y Ft(S)312 3073 y Fn(ds)383 3058 y Fu([)-17 b([)p
Fr(if)34 b Fs(b)k Fr(then)c Fs(S)944 3073 y Fn(1)1015
3058 y Fr(else)g Fs(S)1320 3073 y Fn(2)1359 3058 y Fu(])-17
b(])33 b(=)g(cond\()p Ft(B)t Fu([)-17 b([)p Fs(b)6 b
Fu(])-17 b(])q(,)32 b Ft(S)2098 3073 y Fn(ds)2169 3058
y Fu([)-17 b([)q Fs(S)2274 3073 y Fn(1)2313 3058 y Fu(])g(])q(,)32
b Ft(S)2478 3073 y Fn(ds)2549 3058 y Fu([)-17 b([)q Fs(S)2654
3073 y Fn(2)2693 3058 y Fu(])g(])q(\))1429 3226 y Ft(v)32
b Fu(cond\()p Ft(B)t Fu([)-17 b([)p Fs(b)6 b Fu(])-17
b(])q(,)32 b Ft(S)2098 3241 y Fn(sos)2193 3226 y Fu([)-17
b([)q Fs(S)2298 3241 y Fn(1)2337 3226 y Fu(])g(])q(,)32
b Ft(S)2502 3241 y Fn(sos)2597 3226 y Fu([)-17 b([)q
Fs(S)2702 3241 y Fn(2)2741 3226 y Fu(])g(])q(\))0 3422
y(b)s(ecause)39 b(the)g(induction)e(h)m(yp)s(othesis)i(applied)e(to)h
Fs(S)2004 3437 y Fn(1)2081 3422 y Fu(and)g Fs(S)2343
3437 y Fn(2)2421 3422 y Fu(giv)m(es)g Ft(S)2733 3437
y Fn(ds)2804 3422 y Fu([)-17 b([)q Fs(S)2909 3437 y Fn(1)2948
3422 y Fu(])g(])33 b Ft(v)g(S)3196 3437 y Fn(sos)3291
3422 y Fu([)-17 b([)q Fs(S)3396 3437 y Fn(1)3435 3422
y Fu(])g(])0 3543 y(and)33 b Ft(S)257 3558 y Fn(ds)329
3543 y Fu([)-17 b([)p Fs(S)433 3558 y Fn(2)473 3543 y
Fu(])g(])33 b Ft(v)g(S)720 3558 y Fn(sos)816 3543 y Fu([)-17
b([)p Fs(S)920 3558 y Fn(2)959 3543 y Fu(])g(])q(.)43
b(F)-8 b(urthermore,)33 b(it)e(follo)m(ws)g(from)h([if)2405
3507 y Fn(tt)2393 3568 y(sos)2487 3543 y Fu(])g(and)h([if)2833
3507 y Fn(\013)2821 3568 y(sos)2915 3543 y Fu(])g(that)244
3739 y Ft(S)312 3754 y Fn(sos)407 3739 y Fu([)-17 b([)p
Fr(if)33 b Fs(b)39 b Fr(then)33 b Fs(S)967 3754 y Fn(1)1039
3739 y Fr(else)h Fs(S)1344 3754 y Fn(2)1383 3739 y Fu(])-17
b(])q Fs(s)40 b Fu(=)33 b Ft(S)1677 3754 y Fn(sos)1773
3739 y Fu([)-17 b([)p Fs(S)1877 3754 y Fn(1)1916 3739
y Fu(])g(])q Fs(s)73 b Fu(if)32 b Ft(B)s Fu([)-17 b([)q
Fs(b)6 b Fu(])-17 b(])p Fs(s)41 b Fu(=)32 b Fw(tt)244
3907 y Ft(S)312 3922 y Fn(sos)407 3907 y Fu([)-17 b([)p
Fr(if)33 b Fs(b)39 b Fr(then)33 b Fs(S)967 3922 y Fn(1)1039
3907 y Fr(else)h Fs(S)1344 3922 y Fn(2)1383 3907 y Fu(])-17
b(])q Fs(s)40 b Fu(=)33 b Ft(S)1677 3922 y Fn(sos)1773
3907 y Fu([)-17 b([)p Fs(S)1877 3922 y Fn(2)1916 3907
y Fu(])g(])q Fs(s)73 b Fu(if)32 b Ft(B)s Fu([)-17 b([)q
Fs(b)6 b Fu(])-17 b(])p Fs(s)41 b Fu(=)32 b Fw(\013)0
4104 y Fu(so)h(that)244 4300 y(cond\()p Ft(B)t Fu([)-17
b([)p Fs(b)6 b Fu(])-17 b(])q(,)33 b Ft(S)804 4315 y
Fn(sos)899 4300 y Fu([)-17 b([)q Fs(S)1004 4315 y Fn(1)1043
4300 y Fu(])g(])q(,)32 b Ft(S)1208 4315 y Fn(sos)1303
4300 y Fu([)-17 b([)q Fs(S)1408 4315 y Fn(2)1447 4300
y Fu(])g(])q(\))32 b(=)h Ft(S)1731 4315 y Fn(sos)1827
4300 y Fu([)-17 b([)p Fr(if)33 b Fs(b)39 b Fr(then)33
b Fs(S)2387 4315 y Fn(1)2459 4300 y Fr(else)h Fs(S)2764
4315 y Fn(2)2803 4300 y Fu(])-17 b(])0 4497 y(and)39
b(this)g(pro)m(v)m(es)i(the)f(result.)63 b(Note)39 b(that)g(in)g(this)f
(case)i Ft(S)2263 4512 y Fn(sos)2397 4497 y Fu(ful\014ls)e(the)i
(clause)f(de\014ning)0 4617 y Ft(S)68 4632 y Fn(ds)172
4617 y Fu(in)31 b(T)-8 b(able)33 b(4.1.)0 4785 y Fw(The)g(case)g
Fr(while)h Fs(b)k Fr(do)33 b Fs(S)12 b Fu(:)33 b(W)-8
b(e)33 b(ha)m(v)m(e)244 4981 y Ft(S)312 4996 y Fn(ds)383
4981 y Fu([)-17 b([)p Fr(while)34 b Fs(b)39 b Fr(do)33
b Fs(S)12 b Fu(])-17 b(])33 b(=)f(FIX)h Fs(F)0 5178 y
Fu(where)i Fs(F)47 b(g)42 b Fu(=)34 b(cond\()p Ft(B)t
Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])q(,)34 b Fs(g)42
b Ft(\016)34 b(S)1323 5193 y Fn(ds)1395 5178 y Fu([)-17
b([)p Fs(S)12 b Fu(])-17 b(])q(,)34 b(id\))f(and)g(w)m(e)i(recall)e
(that)g Fs(F)47 b Fu(is)33 b(con)m(tin)m(uous.)48 b(It)34
b(is)0 5298 y(su\016cien)m(t)g(to)e(pro)m(v)m(e)i(that)244
5494 y Fs(F)13 b Fu(\()p Fs(S)426 5509 y Fn(sos)521 5494
y Fu([)-17 b([)p Fr(while)34 b Fs(b)39 b Fr(do)33 b Fs(S)12
b Fu(])-17 b(]\))33 b Ft(v)g Fs(S)1418 5509 y Fn(sos)1512
5494 y Fu([)-17 b([)q Fr(while)34 b Fs(b)k Fr(do)33 b
Fs(S)12 b Fu(])-17 b(])p eop
%%Page: 116 126
116 125 bop 251 130 a Fw(116)1978 b(4)112 b(Denotational)36
b(Seman)m(tics)p 251 193 3473 4 v 283 515 a Fu(b)s(ecause)g(then)f
(Exercise)h(4.40)e(giv)m(es)h(FIX)f Fs(F)47 b Ft(v)35
b Fs(S)2201 530 y Fn(sos)2296 515 y Fu([)-17 b([)q Fr(while)35
b Fs(b)41 b Fr(do)34 b Fs(S)12 b Fu(])-17 b(])35 b(as)g(required.)49
b(F)-8 b(rom)283 636 y(Exercise)34 b(2.21)e(w)m(e)i(get)602
795 y Ft(S)670 810 y Fn(sos)765 795 y Fu([)-17 b([)q
Fr(while)33 b Fs(b)39 b Fr(do)33 b Fs(S)12 b Fu(])-17
b(])101 b(=)f(cond\()p Ft(B)t Fu([)-17 b([)q Fs(b)6 b
Fu(])-17 b(],)33 b Ft(S)2251 810 y Fn(sos)2347 795 y
Fu([)-17 b([)p Fs(S)45 b Fu(;)32 b Fr(while)i Fs(b)k
Fr(do)33 b Fs(S)12 b Fu(])-17 b(])q(,)33 b(id\))1514
963 y Ft(w)100 b Fu(cond\()p Ft(B)t Fu([)-17 b([)q Fs(b)6
b Fu(])-17 b(],)33 b Ft(S)2251 978 y Fn(sos)2347 963
y Fu([)-17 b([)p Fr(while)34 b Fs(b)k Fr(do)c Fs(S)12
b Fu(])-17 b(])32 b Ft(\016)h(S)3179 978 y Fn(sos)3274
963 y Fu([)-17 b([)p Fs(S)12 b Fu(])-17 b(])q(,)32 b(id\))283
1129 y(The)h(induction)e(h)m(yp)s(othesis)i(applied)d(to)i
Fs(S)43 b Fu(giv)m(es)32 b Ft(S)2259 1144 y Fn(ds)2330
1129 y Fu([)-17 b([)q Fs(S)12 b Fu(])-17 b(])32 b Ft(v)g(S)2681
1144 y Fn(sos)2776 1129 y Fu([)-17 b([)q Fs(S)12 b Fu(])-17
b(])32 b(so)g(using)f(the)h(mono-)283 1249 y(tonicit)m(y)g(of)g
Ft(\016)h Fu(and)f(`cond')h(w)m(e)h(get)527 1453 y Ft(S)595
1468 y Fn(sos)690 1453 y Fu([)-17 b([)q Fr(while)34 b
Fs(b)k Fr(do)33 b Fs(S)12 b Fu(])-17 b(])33 b Ft(w)g
Fu(cond\()p Ft(B)t Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(],)33
b Ft(S)2043 1468 y Fn(sos)2138 1453 y Fu([)-17 b([)p
Fr(while)34 b Fs(b)39 b Fr(do)33 b Fs(S)12 b Fu(])-17
b(])33 b Ft(\016)f(S)2970 1468 y Fn(sos)3065 1453 y Fu([)-17
b([)p Fs(S)12 b Fu(])-17 b(])q(,)32 b(id\))1372 1620
y Ft(w)h Fu(cond\()p Ft(B)t Fu([)-17 b([)q Fs(b)6 b Fu(])-17
b(],)33 b Ft(S)2043 1635 y Fn(sos)2138 1620 y Fu([)-17
b([)p Fr(while)34 b Fs(b)39 b Fr(do)33 b Fs(S)12 b Fu(])-17
b(])33 b Ft(\016)f(S)2970 1635 y Fn(ds)3041 1620 y Fu([)-17
b([)p Fs(S)12 b Fu(])-17 b(])q(,)33 b(id\))1372 1788
y(=)h Fs(F)13 b Fu(\()p Ft(S)1665 1803 y Fn(sos)1760
1788 y Fu([)-17 b([)q Fr(while)33 b Fs(b)39 b Fr(do)33
b Fs(S)12 b Fu(])-17 b(]\))283 1991 y(Note)37 b(that)e(in)h(this)f
(case)i Ft(S)1326 2006 y Fn(sos)1457 1991 y Fu(also)e(ful\014ls)g(a)g
(w)m(eak)m(er)j(v)m(ersion)f(of)e(the)i(clause)f(de\014ning)g
Ft(S)3685 2006 y Fn(ds)283 2112 y Fu(in)c(T)-8 b(able)33
b(4.1.)2863 b Fh(2)430 2315 y Fu(The)33 b(k)m(ey)h(tec)m(hnique)g(used)
g(in)e(the)h(pro)s(of)f(can)h(b)s(e)f(summarized)g(as)h(follo)m(ws:)p
283 2393 3470 4 v 283 2410 V 281 2618 4 208 v 298 2618
V 1371 2539 a Fw(Pro)s(of)f(Summary)h(for)f(While)p Fu(:)p
3735 2618 V 3752 2618 V 281 2825 V 298 2825 V 402 2746
a Fw(Equiv)-6 b(alence)31 b(of)i(Op)s(erational)f(Seman)m(tics)g(and)h
(Denotational)f(Seman)m(tics)p 3735 2825 V 3752 2825
V 283 2829 3470 4 v 281 4290 4 1461 v 298 4290 V 350
2994 a Fu(1:)143 b(Pro)m(v)m(e)23 b(that)g Ft(S)1102
3009 y Fn(sos)1197 2994 y Fu([)-17 b([)q Fs(S)12 b Fu(])-17
b(])23 b Ft(v)f(S)1529 3009 y Fn(ds)1600 2994 y Fu([)-17
b([)q Fs(S)12 b Fu(])-17 b(])23 b(b)m(y)g(\014rst)g(using)f
Fs(induction)j(on)g(the)g(shap)-5 b(e)25 b(of)g(deriva-)569
3114 y(tion)34 b(tr)-5 b(e)g(es)41 b Fu(to)32 b(sho)m(w)i(that)714
3318 y Ft(\017)49 b Fu(if)d(a)h(statemen)m(t)h(is)f(executed)i
Fs(one)f(step)54 b Fu(in)46 b(the)i(structural)f(op)s(erational)813
3438 y(seman)m(tics)f(and)h(do)s(es)g(not)g(terminate)e(then)i(this)f
(do)s(es)h(not)g(c)m(hange)g(the)813 3559 y(meaning)31
b(in)h(the)h(denotational)d(seman)m(tics,)j(and)714 3762
y Ft(\017)49 b Fu(if)d(a)h(statemen)m(t)h(is)f(executed)i
Fs(one)f(step)54 b Fu(in)46 b(the)i(structural)f(op)s(erational)813
3882 y(seman)m(tics)39 b(and)f(do)s(es)i(terminate,)f(then)g(the)h
(same)e(result)h(is)f(obtained)h(in)813 4003 y(the)33
b(denotational)d(seman)m(tics.)569 4206 y(and)i(secondly)i(b)m(y)f
(using)g Fs(induction)h(on)g(the)h(length)g(of)f(derivation)g(se)-5
b(quenc)g(es)p Fu(.)p 3735 4290 V 3752 4290 V 281 5391
4 1102 v 298 5391 V 350 4374 a(2:)143 b(Pro)m(v)m(e)34
b(that)e Ft(S)1123 4389 y Fn(ds)1194 4374 y Fu([)-17
b([)q Fs(S)12 b Fu(])-17 b(])33 b Ft(v)g(S)1546 4389
y Fn(sos)1642 4374 y Fu([)-17 b([)p Fs(S)12 b Fu(])-17
b(])33 b(b)m(y)h(sho)m(wing)e(that)714 4577 y Ft(\017)49
b(S)880 4592 y Fn(sos)998 4577 y Fu(ful\014ls)21 b(sligh)m(tly)f(w)m
(eak)m(er)25 b(v)m(ersions)e(of)f(the)g(clauses)h(de\014ning)f
Ft(S)3254 4592 y Fn(ds)3348 4577 y Fu(in)f(T)-8 b(able)813
4698 y(4.1,)32 b(that)g(is)g(if)1027 4901 y Ft(S)1095
4916 y Fn(ds)1166 4901 y Fu([)-17 b([)q Fs(S)12 b Fu(])-17
b(])33 b(=)f(\011\()p Ft(\001)17 b(\001)g(\001)31 b(S)1779
4916 y Fn(ds)1851 4901 y Fu([)-17 b([)p Fs(S)1955 4865
y Fi(0)1978 4901 y Fu(])g(])34 b Ft(\001)17 b(\001)g(\001)n
Fu(\))813 5104 y(then)33 b Ft(S)1103 5119 y Fn(sos)1198
5104 y Fu([)-17 b([)p Fs(S)12 b Fu(])-17 b(])33 b Ft(w)g
Fu(\011\()p Ft(\001)17 b(\001)g(\001)31 b(S)1813 5119
y Fn(sos)1908 5104 y Fu([)-17 b([)p Fs(S)2012 5068 y
Fi(0)2035 5104 y Fu(])g(])34 b Ft(\001)17 b(\001)g(\001)n
Fu(\))569 5308 y(A)32 b(pro)s(of)g(b)m(y)i Fs(structur)-5
b(al)35 b(induction)40 b Fu(then)33 b(giv)m(es)g(that)f
Ft(S)2684 5323 y Fn(ds)2755 5308 y Fu([)-17 b([)q Fs(S)12
b Fu(])-17 b(])33 b Ft(v)g(S)3108 5323 y Fn(sos)3203
5308 y Fu([)-17 b([)p Fs(S)12 b Fu(])-17 b(])q(.)p 3735
5391 V 3752 5391 V 283 5395 3470 4 v 283 5411 V eop
%%Page: 117 127
117 126 bop 0 130 a Fw(4.5)112 b(Extensions)37 b(of)h(While)2063
b(117)p 0 193 3473 4 v 0 515 a(Exercise)36 b(4.58)49
b Fu(Giv)m(e)33 b(a)f(detailed)f(argumen)m(t)i(sho)m(wing)f(that)236
683 y Ft(S)304 698 y Fn(sos)399 683 y Fu([)-17 b([)q
Fr(while)34 b Fs(b)k Fr(do)33 b Fs(S)12 b Fu(])-17 b(])33
b Ft(w)g Fu(cond\()p Ft(B)t Fu([)-17 b([)q Fs(b)6 b Fu(])-17
b(],)33 b Ft(S)1751 698 y Fn(sos)1847 683 y Fu([)-17
b([)p Fr(while)34 b Fs(b)k Fr(do)33 b Fs(S)12 b Fu(])-17
b(])33 b Ft(\016)g(S)2679 698 y Fn(sos)2774 683 y Fu([)-17
b([)p Fs(S)12 b Fu(])-17 b(])q(,)32 b(id\).)276 b Fh(2)0
861 y Fw(Exercise)36 b(4.59)49 b Fu(Extend)24 b(the)e(pro)s(of)g(of)f
(Theorem)i(4.55)e(so)h(that)g(it)f(applies)g(to)h(the)g(language)0
981 y(when)34 b(augmen)m(ted)f(with)f Fr(repeat)i Fs(S)44
b Fr(until)34 b Fs(b)6 b Fu(.)1619 b Fh(2)0 1159 y Fw(Exercise)36
b(4.60)49 b Fu(Extend)24 b(the)e(pro)s(of)g(of)f(Theorem)i(4.55)e(so)h
(that)g(it)f(applies)g(to)h(the)g(language)0 1279 y(when)34
b(augmen)m(ted)f(with)f Fr(for)h Fs(x)12 b Fu(:=)p Fs(a)1376
1294 y Fn(1)1448 1279 y Fr(to)33 b Fs(a)1640 1294 y Fn(2)1712
1279 y Fr(do)g Fs(S)12 b Fu(.)1457 b Fh(2)0 1457 y Fw(Exercise)36
b(4.61)49 b Fu(Com)m(bining)31 b(the)i(results)f(of)g(Theorem)h(2.26)e
(and)i(Theorem)f(4.55)g(w)m(e)h(get)0 1577 y(that)h Ft(S)281
1592 y Fn(ns)352 1577 y Fu([)-17 b([)q Fs(S)12 b Fu(])-17
b(])35 b(=)f Ft(S)707 1592 y Fn(ds)778 1577 y Fu([)-17
b([)q Fs(S)12 b Fu(])-17 b(])34 b(holds)h(for)e(ev)m(ery)k(statemen)m
(t)e Fs(S)46 b Fu(of)34 b Fw(While)p Fu(.)48 b(Giv)m(e)34
b(a)g(direct)g(pro)s(of)0 1698 y(of)e(this)g(\(that)h(is)f(without)g
(using)g(the)h(t)m(w)m(o)g(theorems\).)1329 b Fh(2)0
2024 y Fj(4.5)161 b(Extensions)52 b(of)i(While)0 2243
y Fu(W)-8 b(e)23 b(shall)e(conclude)i(this)g(c)m(hapter)g(b)m(y)h
(considering)e(a)g(couple)h(of)f(extensions)i(of)e(the)h(language)0
2363 y Fw(While)p Fu(.)88 b(The)49 b(extensions)h(ha)m(v)m(e)f(b)s(een)
g(c)m(hosen)g(so)f(as)h(to)e(illustrate)f(t)m(w)m(o)j(of)f(the)g(most)0
2484 y(imp)s(ortan)m(t)31 b(concepts)j(of)e(denotational)f(seman)m
(tics:)145 2649 y Ft(\017)49 b Fs(lo)-5 b(c)g(ations)p
Fu(,)32 b(and)145 2840 y Ft(\017)49 b Fs(c)-5 b(ontinuations)p
Fu(.)0 3005 y(In)32 b(the)g(\014rst)g(case)g Fw(While)e
Fu(is)h(extended)j(with)d(blo)s(c)m(ks)h(and)g(pro)s(cedures)h(and)e
(in)g(the)h(second)0 3126 y(case)g(with)f(exceptions.)44
b(In)31 b(b)s(oth)g(cases)i(w)m(e)f(shall)e(sho)m(w)i(ho)m(w)g(to)f(mo)
s(dify)e(the)j(seman)m(tics)f(of)0 3246 y(T)-8 b(able)32
b(4.1.)0 3528 y Fp(The)44 b(concept)h(of)g(lo)t(cations)0
3713 y Fu(W)-8 b(e)32 b(shall)e(\014rst)i(extend)h Fw(While)d
Fu(with)h(blo)s(c)m(ks)h(declaring)f(lo)s(cal)e(v)-5
b(ariables)30 b(and)i(pro)s(cedures.)0 3833 y(The)i(new)f(language)e
(is)i(called)e Fw(Pro)s(c)h Fu(and)g(its)h(syn)m(tax)h(is)294
3990 y Fs(S)188 b Fu(::=)100 b Fs(x)44 b Fu(:=)33 b Fs(a)40
b Ft(j)32 b Fr(skip)h Ft(j)f Fs(S)1506 4005 y Fn(1)1578
3990 y Fu(;)h Fs(S)1705 4005 y Fn(2)1777 3990 y Ft(j)f
Fr(if)h Fs(b)38 b Fr(then)c Fs(S)2360 4005 y Fn(1)2432
3990 y Fr(else)f Fs(S)2736 4005 y Fn(2)588 4158 y Ft(j)151
b Fr(while)34 b Fs(b)k Fr(do)33 b Fs(S)45 b Ft(j)32 b
Fr(begin)i Fs(D)1806 4173 y Fc(V)1899 4158 y Fs(D)1982
4173 y Fc(P)2073 4158 y Fs(S)45 b Fr(end)33 b Ft(j)f
Fr(call)i Fs(p)294 4326 y(D)377 4341 y Fc(V)537 4326
y Fu(::=)100 b Fr(var)33 b Fs(x)45 b Fu(:=)32 b Fs(a)7
b Fu(;)33 b Fs(D)1378 4341 y Fc(V)1471 4326 y Ft(j)g
Fo(")294 4493 y Fs(D)377 4508 y Fc(P)537 4493 y Fu(::=)100
b Fr(proc)34 b Fs(p)k Fr(is)33 b Fs(S)12 b Fu(;)32 b
Fs(D)1437 4508 y Fc(P)1529 4493 y Ft(j)g Fo(")0 4652
y Fu(where)i Fs(D)365 4667 y Fc(V)459 4652 y Fu(and)f
Fs(D)732 4667 y Fc(P)823 4652 y Fu(are)g(meta-v)-5 b(ariables)31
b(ranging)g(o)m(v)m(er)j(the)f(syn)m(tactic)h(categories)f
Fw(Dec)3415 4667 y Fn(V)0 4772 y Fu(of)c(v)-5 b(ariable)27
b(declarations)h(and)i Fw(Dec)1383 4787 y Fn(P)1464 4772
y Fu(of)f(pro)s(cedure)h(declarations,)f(resp)s(ectiv)m(ely)-8
b(,)30 b(and)g Fs(p)35 b Fu(is)0 4893 y(a)c(meta-v)-5
b(ariable)29 b(ranging)h(o)m(v)m(er)i(the)64 b(syn)m(tactic)32
b(category)g Fw(Pname)f Fu(of)g(pro)s(cedure)h(names.)0
5013 y(The)k(idea)f(is)f(that)h(v)-5 b(ariables)34 b(and)i(pro)s
(cedures)g(are)g(only)e(kno)m(wn)j(inside)d(the)i(blo)s(c)m(k)f(where)0
5133 y(they)26 b(are)g(declared.)41 b(Pro)s(cedures)28
b(ma)m(y)d(or)g(ma)m(y)h(not)f(b)s(e)h(recursiv)m(e)h(and)f(w)m(e)g
(shall)e(emphasize)0 5254 y(the)33 b(di\013erences)h(in)e(the)h(seman)m
(tics)f(to)h(b)s(e)f(sp)s(eci\014ed)i(b)s(elo)m(w.)146
5374 y(W)-8 b(e)39 b(shall)d(adopt)i Fs(static)i(sc)-5
b(op)g(e)39 b(rules)46 b Fu(rather)38 b(than)g(dynamic)f(scop)s(e)i
(rules.)60 b(Consider)0 5494 y(the)33 b(follo)m(wing)d(statemen)m(t:)p
eop
%%Page: 118 128
118 127 bop 251 130 a Fw(118)1978 b(4)112 b(Denotational)36
b(Seman)m(tics)p 251 193 3473 4 v 527 515 a Fr(begin)e(var)g(x)e
Fu(:=)h Fr(7)p Fu(;)g Fr(proc)g(p)g(is)g(x)g Fu(:=)f
Fr(0)p Fu(;)816 683 y Fr(begin)i(var)f(x)g Fu(:=)g Fr(5)p
Fu(;)f Fr(call)i(p)f(end)527 851 y(end)283 1024 y Fu(Using)k(static)g
(scop)s(e)h(rules)f(the)g(e\013ect)h(of)f(executing)h
Fr(call)g(p)f Fu(in)g(the)g(inner)g(blo)s(c)m(k)g(will)e(b)s(e)283
1144 y(to)k(mo)s(dify)e(the)i Fs(glob)-5 b(al)48 b Fu(v)-5
b(ariable)37 b Fr(x)p Fu(.)63 b(Using)38 b(dynamic)g(scop)s(e)i(rules)f
(the)g(e\013ect)h(will)c(b)s(e)j(to)283 1264 y(mo)s(dify)31
b(the)i Fs(lo)-5 b(c)g(al)43 b Fu(v)-5 b(ariable)30 b
Fr(x)p Fu(.)430 1385 y(T)-8 b(o)48 b(obtain)e(static)h(scop)s(e)i
(rules)f(w)m(e)g(shall)f(in)m(tro)s(duce)g(the)h(notion)f(of)g
Fs(lo)-5 b(c)g(ations)8 b Fu(:)73 b(to)283 1505 y(eac)m(h)39
b(v)-5 b(ariable)35 b(w)m(e)k(asso)s(ciate)e(a)g(unique)g(lo)s(cation)e
(and)j(to)f(eac)m(h)h(lo)s(cation)d(w)m(e)j(asso)s(ciate)f(a)283
1625 y(v)-5 b(alue.)43 b(This)31 b(is)f(in)h(con)m(trast)g(to)g(what)g
(w)m(e)h(did)f(in)f(T)-8 b(able)30 b(4.1)h(where)h(w)m(e)g(emplo)m(y)m
(ed)f(a)g(direct)283 1746 y(asso)s(ciation)36 b(b)s(et)m(w)m(een)j(v)-5
b(ariables)35 b(and)i(v)-5 b(alues.)57 b(The)38 b(idea)e(then)i(is)e
(that)h(whenev)m(er)i(a)e(new)283 1866 y(v)-5 b(ariable)33
b(is)h(declared)h(it)e(is)h(asso)s(ciated)g(with)g(a)h(new)g(un)m(used)
h(lo)s(cation)c(and)j(that)f(it)f(is)h(the)283 1987 y(v)-5
b(alue)31 b(of)f(this)h(lo)s(cation)d(that)j(is)g(c)m(hanged)h(b)m(y)f
(assignmen)m(t)g(to)g(the)g(v)-5 b(ariable.)41 b(With)31
b(resp)s(ect)283 2107 y(to)d(the)g(ab)s(o)m(v)m(e)g(statemen)m(t)g
(this)f(means)h(that)f(the)h(global)d(v)-5 b(ariable)26
b Fr(x)i Fu(and)f(the)h(lo)s(cal)e(v)-5 b(ariable)283
2227 y Fr(x)35 b Fu(will)e(ha)m(v)m(e)j(di\013eren)m(t)f(lo)s(cations.)
48 b(In)35 b(the)h(inner)e(blo)s(c)m(k)h(w)m(e)g(can)g(only)g(directly)
f(access)i(the)283 2348 y(lo)s(cation)i(of)h(the)h(lo)s(cal)d(v)-5
b(ariable)38 b(but)i(the)g(pro)s(cedure)g(b)s(o)s(dy)g(for)f
Fr(p)h Fu(ma)m(y)f(only)g(access)i(the)283 2468 y(lo)s(cation)31
b(of)h(the)h(global)d(v)-5 b(ariable.)283 2723 y Fw(Stores)38
b(and)g(v)-6 b(ariable)37 b(en)m(vironmen)m(ts)283 2907
y Fu(So)32 b(far)e(states)j(in)d Fw(State)i Fu(ha)m(v)m(e)g(b)s(een)g
(used)h(to)e(asso)s(ciate)g(v)-5 b(alues)31 b(with)g(v)-5
b(ariables.)42 b(W)-8 b(e)31 b(shall)283 3028 y(no)m(w)48
b(replace)e(states)h(with)f Fs(stor)-5 b(es)55 b Fu(that)46
b(map)f(lo)s(cations)g(to)h(v)-5 b(alues)46 b(and)h(with)f
Fs(variable)283 3148 y(envir)-5 b(onments)40 b Fu(that)32
b(map)g(v)-5 b(ariables)31 b(to)h(lo)s(cations.)42 b(W)-8
b(e)33 b(in)m(tro)s(duce)g(the)g(domain)527 3321 y Fw(Lo)s(c)g
Fu(=)g Fw(Z)283 3494 y Fu(of)g(lo)s(cations)f(whic)m(h)i(for)f(the)h
(sak)m(e)h(of)e(simplicit)m(y)e(has)j(b)s(een)g(iden)m(ti\014ed)f(with)
g(the)h(in)m(tegers.)283 3614 y(W)-8 b(e)33 b(shall)f(need)h(an)g(op)s
(eration)527 3787 y(new:)45 b Fw(Lo)s(c)33 b Ft(!)f Fw(Lo)s(c)283
3960 y Fu(on)37 b(lo)s(cations)d(that)i(giv)m(en)h(a)f(lo)s(cation)d
(will)h(giv)m(e)j(the)f(next)i(one;)g(since)f Fw(Lo)s(c)f
Fu(is)g Fw(Z)h Fu(w)m(e)g(ma)m(y)283 4081 y(tak)m(e)d(`new')g(to)e(b)s
(e)h(the)g(successor)h(function)f(on)f(the)h(in)m(tegers.)430
4201 y(W)-8 b(e)33 b(can)g(no)m(w)g(de\014ne)h(a)e(store,)h
Fs(sto)6 b Fu(,)33 b(as)g(an)f(elemen)m(t)g(of)527 4374
y Fw(Store)h Fu(=)f Fw(Lo)s(c)h Ft([)g(f)p Fu(next)p
Ft(g)g(!)f Fw(Z)283 4547 y Fu(where)h(`next')f(is)f(a)g(sp)s(ecial)f
(tok)m(en)i(used)g(to)f(hold)g(the)g Fs(next)j(fr)-5
b(e)g(e)33 b(lo)-5 b(c)g(ation)p Fu(.)42 b(Note)31 b(that)g(since)283
4667 y Fw(Lo)s(c)i Fu(is)f Fw(Z)h Fu(w)m(e)h(ha)m(v)m(e)g(that)e(`)p
Fs(sto)39 b Fu(next')34 b(is)e(a)g(lo)s(cation.)430 4788
y(A)g(v)-5 b(ariable)31 b(en)m(vironmen)m(t)i Fs(env)1618
4803 y Fc(V)1711 4788 y Fu(is)f(an)g(elemen)m(t)h(of)527
4960 y Fw(En)m(v)719 4975 y Fn(V)810 4960 y Fu(=)f Fw(V)-9
b(ar)32 b Ft(!)g Fw(Lo)s(c)283 5133 y Fu(Th)m(us)j(the)e(v)-5
b(ariable)30 b(en)m(vironmen)m(t)j(will)e(assign)h(a)g(lo)s(cation)e
(to)j(eac)m(h)g(v)-5 b(ariable.)430 5254 y(So,)43 b(rather)e(than)h(ha)
m(ving)f(a)f(single)h(mapping)e Fs(s)49 b Fu(from)40
b(v)-5 b(ariables)40 b(to)h(v)-5 b(alues)41 b(w)m(e)i(ha)m(v)m(e)283
5374 y(split)29 b(it)g(in)m(to)g(t)m(w)m(o)i(mappings)e
Fs(env)1563 5389 y Fc(V)1653 5374 y Fu(and)h Fs(sto)36
b Fu(and)30 b(the)h(idea)e(is)h(that)f Fs(s)38 b Fu(=)30
b Fs(sto)36 b Ft(\016)30 b Fs(env)3436 5389 y Fc(V)3496
5374 y Fu(.)43 b(This)283 5494 y(motiv)-5 b(ates)32 b(de\014ning)g(the)
h(function)f(`lo)s(okup')g(b)m(y)p eop
%%Page: 119 129
119 128 bop 0 130 a Fw(4.5)112 b(Extensions)37 b(of)h(While)2063
b(119)p 0 193 3473 4 v 0 419 V 0 1836 4 1418 v 382 519
a Ft(S)450 483 y Fi(0)450 543 y Fn(ds)521 519 y Fu([)-17
b([)q Fs(x)12 b Fu(:=)p Fs(a)7 b Fu(])-17 b(])p Fs(env)969
534 y Fc(V)1062 519 y Fs(sto)39 b Fu(=)32 b Fs(sto)6
b Fu([)p Fs(l)k Ft(7!A)p Fu([)-17 b([)p Fs(a)7 b Fu(])-17
b(])q(\(lo)s(okup)32 b Fs(env)2347 534 y Fc(V)2439 519
y Fs(sto)6 b Fu(\)])651 686 y(where)34 b Fs(l)42 b Fu(=)33
b Fs(env)1265 701 y Fc(V)1357 686 y Fs(x)382 878 y Ft(S)450
841 y Fi(0)450 902 y Fn(ds)521 878 y Fu([)-17 b([)q Fr(skip)p
Fu(])g(])q Fs(env)957 893 y Fc(V)1050 878 y Fu(=)32 b(id)382
1069 y Ft(S)450 1033 y Fi(0)450 1093 y Fn(ds)521 1069
y Fu([)-17 b([)q Fs(S)626 1084 y Fn(1)697 1069 y Fu(;)33
b Fs(S)824 1084 y Fn(2)863 1069 y Fu(])-17 b(])q Fs(env)1057
1084 y Fc(V)1150 1069 y Fu(=)32 b(\()p Ft(S)1364 1033
y Fi(0)1364 1093 y Fn(ds)1435 1069 y Fu([)-17 b([)p Fs(S)1539
1084 y Fn(2)1579 1069 y Fu(])g(])p Fs(env)1772 1084 y
Fc(V)1832 1069 y Fu(\))33 b Ft(\016)f Fu(\()p Ft(S)2091
1033 y Fi(0)2091 1093 y Fn(ds)2162 1069 y Fu([)-17 b([)q
Fs(S)2267 1084 y Fn(1)2306 1069 y Fu(])g(])q Fs(env)2500
1084 y Fc(V)2560 1069 y Fu(\))382 1260 y Ft(S)450 1224
y Fi(0)450 1285 y Fn(ds)521 1260 y Fu([)g([)q Fr(if)33
b Fs(b)38 b Fr(then)c Fs(S)1082 1275 y Fn(1)1154 1260
y Fr(else)f Fs(S)1458 1275 y Fn(2)1497 1260 y Fu(])-17
b(])q Fs(env)1691 1275 y Fc(V)1784 1260 y Fu(=)651 1428
y(cond\()p Ft(B)t Fu([)g([)p Fs(b)6 b Fu(])-17 b(])q
Ft(\016)p Fu(\(lo)s(okup)31 b Fs(env)1647 1443 y Fc(V)1707
1428 y Fu(\),)i Ft(S)1873 1392 y Fi(0)1873 1452 y Fn(ds)1944
1428 y Fu([)-17 b([)q Fs(S)2049 1443 y Fn(1)2088 1428
y Fu(])g(])p Fs(env)2281 1443 y Fc(V)2342 1428 y Fu(,)32
b Ft(S)2469 1392 y Fi(0)2469 1452 y Fn(ds)2540 1428 y
Fu([)-17 b([)q Fs(S)2645 1443 y Fn(2)2684 1428 y Fu(])g(])q
Fs(env)2878 1443 y Fc(V)2938 1428 y Fu(\))382 1619 y
Ft(S)450 1583 y Fi(0)450 1644 y Fn(ds)521 1619 y Fu([)g([)q
Fr(while)34 b Fs(b)k Fr(do)33 b Fs(S)12 b Fu(])-17 b(])p
Fs(env)1326 1634 y Fc(V)1419 1619 y Fu(=)32 b(FIX)h Fs(F)618
1787 y Fu(where)h Fs(F)46 b(g)41 b Fu(=)32 b(cond\()p
Ft(B)t Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(])p Ft(\016)p
Fu(\(lo)s(okup)32 b Fs(env)2201 1802 y Fc(V)2261 1787
y Fu(\),)g Fs(g)41 b Ft(\016)33 b Fu(\()p Ft(S)2632 1750
y Fi(0)2632 1811 y Fn(ds)2704 1787 y Fu([)-17 b([)p Fs(S)12
b Fu(])-17 b(])q Fs(env)3002 1802 y Fc(V)3062 1787 y
Fu(\),)32 b(id\))p 3469 1836 V 0 1839 3473 4 v 438 2000
a(T)-8 b(able)33 b(4.2:)43 b(Denotational)30 b(seman)m(tics)j(for)f
Fw(While)f Fu(using)h(lo)s(cations)244 2286 y(lo)s(okup)g
Fs(env)720 2301 y Fc(V)812 2286 y Fs(sto)39 b Fu(=)32
b Fs(sto)39 b Ft(\016)32 b Fs(env)1480 2301 y Fc(V)0
2491 y Fu(so)h(that)f(`lo)s(okup)g Fs(env)834 2506 y
Fc(V)894 2491 y Fu(')h(will)d(transform)i(a)g(store)h(to)f(a)g(state,)i
(that)e(is)244 2696 y(lo)s(okup:)43 b Fw(En)m(v)794 2711
y Fn(V)884 2696 y Ft(!)32 b Fw(Store)g Ft(!)h Fw(State)146
2902 y Fu(Ha)m(ving)e(replaced)g(a)g(one)h(stage)f(mapping)e(with)i(a)g
(t)m(w)m(o)h(stage)f(mapping)f(w)m(e)i(shall)e(w)m(an)m(t)0
3022 y(to)38 b(reform)m(ulate)g(the)h(seman)m(tic)f(equations)h(of)f(T)
-8 b(able)39 b(4.1)f(to)g(use)i(v)-5 b(ariable)37 b(en)m(vironmen)m(ts)
0 3142 y(and)c(stores.)44 b(The)34 b(new)f(seman)m(tic)f(function)g
Ft(S)1760 3106 y Fi(0)1760 3167 y Fn(ds)1864 3142 y Fu(has)h
(functionalit)m(y)244 3347 y Ft(S)312 3311 y Fi(0)312
3372 y Fn(ds)383 3347 y Fu(:)43 b Fw(Stm)32 b Ft(!)g
Fw(En)m(v)1009 3362 y Fn(V)1100 3347 y Ft(!)g Fu(\()p
Fw(Store)g Fo(,)-17 b Ft(!)33 b Fw(Store)p Fu(\))0 3553
y(so)f(that)g(only)f(the)i(store)f(is)f(up)s(dated)i(during)e(the)h
(execution)h(of)f(statemen)m(ts.)44 b(The)33 b(clauses)0
3673 y(de\014ning)41 b Ft(S)445 3637 y Fi(0)445 3698
y Fn(ds)557 3673 y Fu(are)g(giv)m(en)g(in)f(T)-8 b(able)41
b(4.2.)68 b(Note)41 b(that)g(in)f(the)i(clause)f(for)f(assignmen)m(t)h
(the)0 3793 y(v)-5 b(ariable)40 b(en)m(vironmen)m(t)h(is)g(consulted)h
(to)g(determine)f(the)h(lo)s(cation)d(of)i(the)h(v)-5
b(ariable)39 b(and)0 3914 y(this)g(lo)s(cation)e(is)i(up)s(dated)h(in)f
(the)h(store.)64 b(In)40 b(the)g(clauses)g(for)f(the)h(conditional)c
(and)k(the)0 4034 y Fr(while)p Fu(-construct)35 b(w)m(e)e(use)h(the)f
(auxiliary)d(function)i(`cond')h(of)g(functionalit)m(y)244
4239 y(cond:)44 b(\()p Fw(Store)32 b Ft(!)g Fw(T)p Fu(\))h
Ft(\002)g Fu(\()p Fw(Store)f Fo(,)-17 b Ft(!)33 b Fw(Store)p
Fu(\))f Ft(\002)h Fu(\()p Fw(Store)f Fo(,)-17 b Ft(!)33
b Fw(Store)p Fu(\))749 4407 y Ft(!)f Fu(\()p Fw(Store)g
Fo(,)-17 b Ft(!)33 b Fw(Store)p Fu(\))0 4612 y(and)g(its)f
(de\014nition)f(is)h(as)h(in)f(Section)g(4.1.)0 4843
y Fw(Exercise)k(4.62)49 b Fu(W)-8 b(e)34 b(ha)m(v)m(e)g(to)f(mak)m(e)g
(sure)g(that)g(the)h(clauses)f(of)g(T)-8 b(able)32 b(4.2)h(de\014ne)h
(a)f(w)m(ell-)0 4964 y(de\014ned)h(function)e Ft(S)786
4928 y Fi(0)786 4988 y Fn(ds)857 4964 y Fu(.)44 b(T)-8
b(o)32 b(do)h(so)145 5169 y Ft(\017)49 b Fu(equip)33
b Fw(Store)f Fo(,)-17 b Ft(!)33 b Fw(Store)f Fu(with)g(a)g(partial)f
(ordering)h(suc)m(h)i(that)e(it)g(b)s(ecomes)h(a)f(ccp)s(o,)145
5374 y Ft(\017)49 b Fu(sho)m(w)31 b(that)e Ft(\016)g
Fu(is)h(con)m(tin)m(uous)g(in)f(b)s(oth)g(of)g(its)h(argumen)m(ts)f
(and)h(that)g(`cond')g(is)f(con)m(tin-)244 5494 y(uous)k(in)f(its)g
(second)i(and)e(third)g(argumen)m(t,)h(and)p eop
%%Page: 120 130
120 129 bop 251 130 a Fw(120)1978 b(4)112 b(Denotational)36
b(Seman)m(tics)p 251 193 3473 4 v 429 515 a Ft(\017)48
b Fu(sho)m(w)34 b(that)e(the)h(\014xed)h(p)s(oin)m(t)e(op)s(eration)f
(is)h(only)g(applied)g(to)g(con)m(tin)m(uous)h(functions.)283
717 y(Conclude)h(that)e Ft(S)991 681 y Fi(0)991 742 y
Fn(ds)1094 717 y Fu(is)h(a)f(w)m(ell-de\014ned)h(function.)1496
b Fh(2)283 943 y Fw(Exercise)37 b(4.63)49 b Fu(*)32 b(Pro)m(v)m(e)i
(that)e(the)h(t)m(w)m(o)h(seman)m(tic)e(functions)h Ft(S)2787
958 y Fn(ds)2891 943 y Fu(and)g Ft(S)3149 907 y Fi(0)3149
967 y Fn(ds)3252 943 y Fu(satisfy)527 1144 y Ft(S)595
1159 y Fn(ds)666 1144 y Fu([)-17 b([)q Fs(S)12 b Fu(])-17
b(])33 b Ft(\016)f Fu(\(lo)s(okup)g Fs(env)1437 1159
y Fc(V)1497 1144 y Fu(\))g(=)h(\(lo)s(okup)f Fs(env)2190
1159 y Fc(V)2250 1144 y Fu(\))g Ft(\016)g Fu(\()p Ft(S)2508
1108 y Fi(0)2508 1169 y Fn(ds)2579 1144 y Fu([)-17 b([)q
Fs(S)12 b Fu(])-17 b(])p Fs(env)2877 1159 y Fc(V)2937
1144 y Fu(\))283 1346 y(for)44 b(all)e(statemen)m(ts)j
Fs(S)55 b Fu(of)44 b Fw(While)e Fu(and)i(for)g(all)d
Fs(env)2326 1361 y Fc(V)2430 1346 y Fu(suc)m(h)46 b(that)e
Fs(env)3041 1361 y Fc(V)3145 1346 y Fu(is)f(an)h(injectiv)m(e)283
1466 y(mapping.)3001 b Fh(2)283 1692 y Fw(Exercise)37
b(4.64)49 b Fu(Ha)m(ving)23 b(replaced)h(a)f(one)h(stage)g(mapping)f
(with)g(a)g(t)m(w)m(o)i(stage)f(mapping)e(w)m(e)283 1812
y(migh)m(t)j(consider)h(rede\014ning)g(the)g(seman)m(tic)g(functions)f
Ft(A)h Fu(and)f Ft(B)t Fu(.)41 b(The)27 b(new)g(functionalities)283
1933 y(of)33 b Ft(A)f Fu(and)g Ft(B)k Fu(migh)m(t)31
b(b)s(e)527 2134 y Ft(A)607 2098 y Fi(0)630 2134 y Fu(:)44
b Fw(Aexp)32 b Ft(!)g Fw(En)m(v)1314 2149 y Fn(V)1405
2134 y Ft(!)g Fu(\()p Fw(Store)g Ft(!)g Fw(Z)p Fu(\))527
2302 y Ft(B)596 2266 y Fi(0)619 2302 y Fu(:)44 b Fw(Bexp)32
b Ft(!)g Fw(En)m(v)1298 2317 y Fn(V)1389 2302 y Ft(!)g
Fu(\()p Fw(Store)g Ft(!)g Fw(T)p Fu(\))283 2504 y(and)h(the)g(in)m
(tended)g(relationship)e(is)h(that)527 2705 y Ft(A)607
2669 y Fi(0)630 2705 y Fu([)-17 b([)q Fs(a)7 b Fu(])-17
b(])q Fs(env)919 2720 y Fc(V)1011 2705 y Fu(=)33 b Ft(A)o
Fu([)-17 b([)q Fs(a)7 b Fu(])-17 b(])33 b Ft(\016)f Fu(\(lo)s(okup)g
Fs(env)1960 2720 y Fc(V)2020 2705 y Fu(\))527 2873 y
Ft(B)596 2837 y Fi(0)619 2873 y Fu([)-17 b([)q Fs(b)6
b Fu(])-17 b(])p Fs(env)901 2888 y Fc(V)994 2873 y Fu(=)32
b Ft(B)t Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])33 b Ft(\016)g
Fu(\(lo)s(okup)e Fs(env)1925 2888 y Fc(V)1985 2873 y
Fu(\))283 3074 y(Giv)m(e)40 b(a)g(comp)s(ositional)c(de\014nition)j(of)
h(the)g(functions)g Ft(A)2479 3038 y Fi(0)2542 3074 y
Fu(and)g Ft(B)2808 3038 y Fi(0)2871 3074 y Fu(suc)m(h)h(that)f(this)g
(is)f(the)283 3195 y(case.)3198 b Fh(2)283 3454 y Fw(Up)s(dating)38
b(the)f(v)-6 b(ariable)37 b(en)m(vironmen)m(t)283 3639
y Fu(The)g(v)-5 b(ariable)34 b(en)m(vironmen)m(t)j(is)e(up)s(dated)h
(whenev)m(er)j(w)m(e)e(en)m(ter)f(a)g(blo)s(c)m(k)g(con)m(taining)e(lo)
s(cal)283 3759 y(declarations.)60 b(T)-8 b(o)38 b(express)i(this)e(w)m
(e)h(shall)e(in)m(tro)s(duce)h(a)g(seman)m(tic)f(function)h
Ft(D)3357 3723 y Fn(V)3357 3784 y(ds)3466 3759 y Fu(for)f(the)283
3880 y(syn)m(tactic)d(category)f(of)f(v)-5 b(ariable)31
b(declarations.)42 b(It)33 b(has)g(functionalit)m(y)527
4081 y Ft(D)607 4045 y Fn(V)607 4106 y(ds)678 4081 y
Fu(:)44 b Fw(Dec)936 4096 y Fn(V)1026 4081 y Ft(!)32
b Fw(En)m(v)1350 4096 y Fc(V)1443 4081 y Ft(\002)h Fw(Store)g
Ft(!)f Fw(En)m(v)2169 4096 y Fc(V)2262 4081 y Ft(\002)h
Fw(Store)283 4283 y Fu(The)i(function)f Ft(D)949 4246
y Fn(V)949 4307 y(ds)1020 4283 y Fu([)-17 b([)p Fs(D)1140
4298 y Fc(V)1201 4283 y Fu(])g(])35 b(will)c(tak)m(e)k(a)f(pair)f(as)h
(argumen)m(ts:)47 b(the)34 b(\014rst)h(comp)s(onen)m(t)f(of)f(that)283
4403 y(pair)22 b(will)e(b)s(e)i(the)h(curren)m(t)g(v)-5
b(ariable)21 b(en)m(vironmen)m(t)h(and)h(the)f(second)i(comp)s(onen)m
(t)e(the)h(curren)m(t)283 4523 y(store.)62 b(The)39 b(function)f(will)e
(return)j(the)g(up)s(dated)f(v)-5 b(ariable)37 b(en)m(vironmen)m(t)i
(as)f(w)m(ell)g(as)g(the)283 4644 y(up)s(dated)32 b(store.)44
b(The)32 b(function)f(is)g(de\014ned)h(b)m(y)h(the)e(seman)m(tic)g
(clauses)h(of)f(T)-8 b(able)31 b(4.3.)43 b(Note)283 4764
y(that)36 b(w)m(e)i(pro)s(cess)f(the)g(declarations)e(from)g(left)g(to)
h(righ)m(t)g(and)g(that)g(w)m(e)h(up)s(date)g(the)f(v)-5
b(alue)283 4885 y(of)33 b(the)g(tok)m(en)g(`next')h(in)e(the)h(store.)
430 5005 y(In)28 b(the)h(case)g(where)g(there)g(are)f
Fs(no)34 b Fu(pro)s(cedure)29 b(declarations)e(in)h(a)g(blo)s(c)m(k)g
(w)m(e)h(can)f(extend)283 5125 y(the)33 b(seman)m(tic)g(function)f
Ft(S)1306 5089 y Fi(0)1306 5150 y Fn(ds)1409 5125 y Fu(of)g(T)-8
b(able)33 b(4.2)f(with)g(a)g(clause)h(lik)m(e)527 5327
y Ft(S)595 5291 y Fi(0)595 5351 y Fn(ds)666 5327 y Fu([)-17
b([)q Fr(begin)34 b Fs(D)1076 5342 y Fc(V)1169 5327 y
Fs(S)45 b Fr(end)p Fu(])-17 b(])q Fs(env)1616 5342 y
Fc(V)1709 5327 y Fs(sto)38 b Fu(=)33 b Ft(S)2045 5291
y Fi(0)2045 5351 y Fn(ds)2117 5327 y Fu([)-17 b([)p Fs(S)12
b Fu(])-17 b(])q Fs(env)2415 5291 y Fi(0)2415 5351 y
Fc(V)2507 5327 y Fs(sto)2635 5291 y Fi(0)796 5494 y Fu(where)34
b Ft(D)1158 5458 y Fn(V)1158 5519 y(ds)1229 5494 y Fu([)-17
b([)p Fs(D)1349 5509 y Fc(V)1410 5494 y Fu(])g(])q(\()p
Fs(env)1642 5509 y Fc(V)1702 5494 y Fu(,)32 b Fs(sto)6
b Fu(\))33 b(=)f(\()p Fs(env)2262 5458 y Fi(0)2262 5519
y Fc(V)2322 5494 y Fu(,)h Fs(sto)2510 5458 y Fi(0)2534
5494 y Fu(\))p eop
%%Page: 121 131
121 130 bop 0 130 a Fw(4.5)112 b(Extensions)37 b(of)h(While)2063
b(121)p 0 193 3473 4 v 0 419 V 0 1102 4 683 v 382 526
a Ft(D)462 489 y Fn(V)462 550 y(ds)533 526 y Fu([)-17
b([)p Fr(var)34 b Fs(x)44 b Fu(:=)33 b Fs(a)7 b Fu(;)32
b Fs(D)1181 541 y Fc(V)1242 526 y Fu(])-17 b(])q(\()p
Fs(env)1474 541 y Fc(V)1534 526 y Fu(,)33 b Fs(sto)6
b Fu(\))32 b(=)651 693 y Ft(D)730 657 y Fn(V)730 718
y(ds)802 693 y Fu([)-17 b([)p Fs(D)922 708 y Fc(V)983
693 y Fu(])g(])q(\()p Fs(env)1215 708 y Fc(V)1275 693
y Fu([)p Fs(x)12 b Ft(7!)o Fs(l)e Fu(],)33 b Fs(sto)6
b Fu([)p Fs(l)k Ft(7!)p Fs(v)h Fu(][next)p Ft(7!)q Fu(new)33
b Fs(l)10 b Fu(]\))651 861 y(where)34 b Fs(l)42 b Fu(=)33
b Fs(sto)38 b Fu(next)c(and)f Fs(v)43 b Fu(=)32 b Ft(A)p
Fu([)-17 b([)p Fs(a)7 b Fu(])-17 b(])q(\(lo)s(okup)32
b Fs(env)2601 876 y Fc(V)2693 861 y Fs(sto)6 b Fu(\))382
1052 y Ft(D)462 1016 y Fn(V)462 1077 y(ds)533 1052 y
Fu([)-17 b([)p Fo(")p Fu(])g(])33 b(=)g(id)p 3469 1102
V 0 1105 3473 4 v 479 1266 a(T)-8 b(able)32 b(4.3:)43
b(Denotational)30 b(seman)m(tics)j(for)f(v)-5 b(ariable)31
b(declarations)0 1536 y(Th)m(us)g(w)m(e)e(ev)-5 b(aluate)29
b(the)g(b)s(o)s(dy)g Fs(S)41 b Fu(in)28 b(an)h(up)s(dated)g(v)-5
b(ariable)28 b(en)m(vironmen)m(t)h(and)g(an)g(up)s(dated)0
1657 y(store.)55 b(W)-8 b(e)36 b(shall)f(later)g(mo)s(dify)g(the)h(ab)s
(o)m(v)m(e)i(clause)e(to)g(tak)m(e)h(the)f(pro)s(cedure)h(declarations)
0 1777 y(in)m(to)32 b(accoun)m(t.)0 2025 y Fw(Exercise)k(4.65)49
b Fu(Consider)33 b(the)g(follo)m(wing)d(statemen)m(t)j(of)f
Fw(Pro)s(c)p Fu(:)244 2241 y Fr(begin)i(var)f(y)g Fu(:=)f
Fr(0)p Fu(;)h Fr(var)h(x)e Fu(:=)h Fr(1)p Fu(;)533 2409
y Fr(begin)h(var)f(x)g Fu(:=)f Fr(7)p Fu(;)h Fr(x)g Fu(:=)f
Fr(x)p Fu(+)p Fr(1)h(end)p Fu(;)533 2576 y Fr(y)g Fu(:=)f
Fr(x)244 2744 y(end)0 2960 y Fu(Use)g(the)f(seman)m(tic)f(equations)h
(to)f(sho)m(w)i(that)f(the)g(lo)s(cation)d(for)i Fr(y)h
Fu(is)f(assigned)h(the)g(v)-5 b(alue)30 b Fw(1)0 3080
y Fu(in)i(the)h(\014nal)f(store.)2666 b Fh(2)0 3355 y
Fw(Pro)s(cedure)37 b(en)m(vironmen)m(ts)0 3545 y Fu(T)-8
b(o)32 b(cater)g(for)g(pro)s(cedures)h(w)m(e)g(shall)e(in)m(tro)s(duce)
h(the)g(notion)f(of)h(a)g Fs(pr)-5 b(o)g(c)g(e)g(dur)g(e)34
b(envir)-5 b(onment)p Fu(.)0 3666 y(It)43 b(will)e(b)s(e)j(a)f(total)e
(function)i(that)g(will)e(asso)s(ciate)i(eac)m(h)h(pro)s(cedure)g(with)
f(the)h(e\013ect)g(of)0 3786 y(executing)38 b(its)g(b)s(o)s(dy)-8
b(.)59 b(This)38 b(means)g(that)f(a)h(pro)s(cedure)g(en)m(vironmen)m
(t,)i Fs(env)2918 3801 y Fc(P)2976 3786 y Fu(,)f(will)c(b)s(e)j(an)0
3906 y(elemen)m(t)32 b(of)244 4122 y Fw(En)m(v)436 4137
y Fn(P)520 4122 y Fu(=)h Fw(Pname)f Ft(!)g Fu(\()p Fw(Store)h
Fo(,)-17 b Ft(!)32 b Fw(Store)p Fu(\))0 4338 y Fw(Remark)24
b Fu(This)h(notion)e(of)h(pro)s(cedure)h(en)m(vironmen)m(t)g(di\013ers)
f(from)g(that)g(of)g(the)h(op)s(erational)0 4458 y(approac)m(h.)2984
b Fh(2)146 4581 y Fu(The)46 b(pro)s(cedure)g(en)m(vironmen)m(t)f(is)f
(up)s(dated)i(using)e(the)h(seman)m(tic)g(function)f
Ft(D)3240 4545 y Fn(P)3240 4606 y(ds)3356 4581 y Fu(for)0
4702 y(pro)s(cedure)34 b(declarations.)42 b(It)33 b(has)g(functionalit)
m(y)244 4917 y Ft(D)323 4881 y Fn(P)323 4942 y(ds)395
4917 y Fu(:)43 b Fw(Dec)652 4932 y Fn(P)737 4917 y Ft(!)32
b Fw(En)m(v)1061 4932 y Fn(V)1151 4917 y Ft(!)g Fw(En)m(v)1475
4932 y Fn(P)1560 4917 y Ft(!)g Fw(En)m(v)1884 4932 y
Fn(P)0 5133 y Fu(So)e(giv)m(en)f(the)i(curren)m(t)g(v)-5
b(ariable)27 b(en)m(vironmen)m(t)k(and)e(the)i(curren)m(t)f(pro)s
(cedure)h(en)m(vironmen)m(t)0 5254 y(the)k(function)e
Ft(D)633 5218 y Fn(P)633 5278 y(ds)704 5254 y Fu([)-17
b([)q Fs(D)825 5269 y Fc(P)883 5254 y Fu(])g(])35 b(will)d(up)s(date)i
(the)h(pro)s(cedure)g(en)m(vironmen)m(t.)48 b(The)35
b(v)-5 b(ariable)33 b(en)m(vi-)0 5374 y(ronmen)m(t)e(m)m(ust)g(b)s(e)h
(a)m(v)-5 b(ailable)29 b(b)s(ecause)j(pro)s(cedures)h(m)m(ust)e(kno)m
(w)h(the)g(v)-5 b(ariables)30 b(that)h(ha)m(v)m(e)0 5494
y(b)s(een)i(declared)g(so)g(far.)43 b(An)33 b(example)f(is)g(the)h
(statemen)m(t)p eop
%%Page: 122 132
122 131 bop 251 130 a Fw(122)1978 b(4)112 b(Denotational)36
b(Seman)m(tics)p 251 193 3473 4 v 283 419 V 283 934 4
516 v 666 526 a Ft(D)745 489 y Fn(P)745 550 y(ds)816
526 y Fu([)-17 b([)q Fr(proc)34 b Fs(p)k Fr(is)33 b Fs(S)12
b Fu(;)32 b Fs(D)1524 541 y Fc(P)1583 526 y Fu(])-17
b(])q Fs(env)1777 541 y Fc(V)1869 526 y Fs(env)2025 541
y Fc(P)2116 526 y Fu(=)32 b Ft(D)2304 489 y Fn(P)2304
550 y(ds)2375 526 y Fu([)-17 b([)q Fs(D)2496 541 y Fc(P)2554
526 y Fu(])g(])q Fs(env)2748 541 y Fc(V)2840 526 y Fu(\()p
Fs(env)3034 541 y Fc(P)3092 526 y Fu([)p Fs(p)6 b Ft(7!)p
Fs(g)j Fu(]\))934 693 y(where)34 b Fs(g)41 b Fu(=)33
b Ft(S)1478 708 y Fn(ds)1550 693 y Fu([)-17 b([)p Fs(S)12
b Fu(])-17 b(])q Fs(env)1848 708 y Fc(V)1940 693 y Fs(env)2096
708 y Fc(P)666 884 y Ft(D)745 848 y Fn(P)745 909 y(ds)816
884 y Fu([)g([)q Fo(")p Fu(])g(])p Fs(env)1093 899 y
Fc(V)1186 884 y Fu(=)32 b(id)p 3753 934 V 283 937 3473
4 v 421 1098 a(T)-8 b(able)32 b(4.4:)43 b(Denotational)30
b(seman)m(tics)j(for)f(non-recursiv)m(e)h(pro)s(cedure)h(declarations)
527 1360 y Fr(begin)g(var)g(x)e Fu(:=)h Fr(7)p Fu(;)g
Fr(proc)g(p)g(is)g(x)g Fu(:=)f Fr(0)p Fu(;)816 1527 y
Fr(begin)i(var)f(x)g Fu(:=)g Fr(5)p Fu(;)f Fr(call)i(p)f(end)527
1695 y(end)283 1864 y Fu(where)k(the)f(b)s(o)s(dy)g(of)f
Fr(p)h Fu(m)m(ust)g(kno)m(w)h(that)e(a)h(v)-5 b(ariable)34
b Fr(x)h Fu(has)h(b)s(een)h(declared)f(in)f(the)h(outer)283
1984 y(blo)s(c)m(k.)430 2104 y(The)h(seman)m(tic)g(clauses)g
(de\014ning)g Ft(D)1826 2068 y Fn(P)1826 2129 y(ds)1933
2104 y Fu(in)f(the)h(case)h(of)e Fs(non-r)-5 b(e)g(cursive)38
b(pr)-5 b(o)g(c)g(e)g(dur)g(es)36 b Fu(are)283 2225 y(giv)m(en)i(in)e
(T)-8 b(able)37 b(4.4.)56 b(In)37 b(the)h(clause)f(for)g(pro)s(cedure)h
(declarations)e(w)m(e)i(use)g(the)f(seman)m(tic)283 2345
y(function)30 b Ft(S)730 2360 y Fn(ds)831 2345 y Fu(for)f(statemen)m
(ts)i(\(de\014ned)g(b)s(elo)m(w\))e(to)g(determine)g(the)h(meaning)f
(of)g(the)h(b)s(o)s(dy)283 2465 y(of)35 b(the)h(pro)s(cedure)g(using)f
(that)h Fs(env)1652 2480 y Fc(V)1747 2465 y Fu(and)g
Fs(env)2096 2480 y Fc(P)2189 2465 y Fu(are)f(the)h(en)m(vironmen)m(ts)g
(at)f(the)h(p)s(oin)m(t)e(of)283 2586 y(declaration.)41
b(The)30 b(v)-5 b(ariables)28 b(o)s(ccurring)h(in)f(the)h(b)s(o)s(dy)h
Fs(S)40 b Fu(of)29 b Fs(p)35 b Fu(will)27 b(therefore)j(b)s(e)f(b)s
(ound)g(to)283 2706 y(the)37 b(lo)s(cations)e(of)h(the)h(v)-5
b(ariables)35 b(as)h(kno)m(wn)i(at)e(the)h(time)e(of)h(declaration)e
(but)j(the)g(v)-5 b(alues)283 2827 y(of)39 b(the)g(lo)s(cations)e(will)
f(not)j(b)s(e)g(kno)m(wn)h(un)m(til)d(the)i(time)f(of)g(call.)60
b(In)39 b(this)g(w)m(a)m(y)h(w)m(e)f(ensure)283 2947
y(that)j(w)m(e)g(obtain)f(static)g(scop)s(e)h(for)f(v)-5
b(ariables.)69 b(Also)41 b(an)g(o)s(ccurrence)i(of)e
Fr(call)i Fs(p)3433 2911 y Fi(0)3498 2947 y Fu(in)d(the)283
3067 y(b)s(o)s(dy)g(of)e(the)i(pro)s(cedure)g(will)d(refer)i(to)g(a)g
(pro)s(cedure)h Fs(p)2439 3031 y Fi(0)2502 3067 y Fu(men)m(tioned)e(in)
h Fs(env)3259 3082 y Fc(P)3317 3067 y Fu(,)h(that)f(is)g(a)283
3188 y(pro)s(cedure)k(declared)g(in)e(an)h(outer)g(blo)s(c)m(k)g(or)g
(in)f(the)i(curren)m(t)g(blo)s(c)m(k)f(but)g(preceding)g(the)283
3308 y(presen)m(t)32 b(pro)s(cedure.)44 b(In)30 b(this)g(w)m(a)m(y)h(w)
m(e)g(obtain)e(static)h(scop)s(e)h(for)f(pro)s(cedures.)44
b(This)30 b(will)e(b)s(e)283 3429 y(illustrated)j(in)h(Exercise)i(4.67)
e(b)s(elo)m(w.)283 3682 y Fw(The)38 b(seman)m(tic)e(function)h
Ft(S)1483 3697 y Fn(ds)1592 3682 y Fw(for)g(Pro)s(c)283
3867 y Fu(The)j(meaning)c(of)i(a)g(statemen)m(t)g(dep)s(ends)i(on)e
(the)h(v)-5 b(ariables)37 b(and)h(pro)s(cedures)i(that)e(ha)m(v)m(e)283
3987 y(b)s(een)i(declared.)63 b(Therefore)40 b(the)f(seman)m(tic)g
(function)f Ft(S)2451 4002 y Fn(ds)2561 3987 y Fu(for)g(statemen)m(ts)i
(in)e Fw(Pro)s(c)g Fu(will)283 4108 y(ha)m(v)m(e)c(functionalit)m(y)527
4276 y Ft(S)595 4291 y Fn(ds)666 4276 y Fu(:)44 b Fw(Stm)32
b Ft(!)g Fw(En)m(v)1293 4291 y Fn(V)1383 4276 y Ft(!)g
Fw(En)m(v)1707 4291 y Fn(P)1792 4276 y Ft(!)g Fu(\()p
Fw(Store)g Fo(,)-17 b Ft(!)33 b Fw(Store)p Fu(\))283
4445 y(The)f(function)d(is)h(de\014ned)i(b)m(y)f(the)f(clauses)h(of)f
(T)-8 b(able)30 b(4.5.)42 b(In)30 b(most)g(cases)i(the)e(de\014nition)f
(of)283 4565 y Ft(S)351 4580 y Fn(ds)453 4565 y Fu(is)h(a)g(straigh)m
(tforw)m(ard)h(mo)s(di\014cation)d(of)i(the)h(clauses)g(of)f
Ft(S)2648 4529 y Fi(0)2648 4590 y Fn(ds)2719 4565 y Fu(.)43
b(Note)31 b(that)f(the)h(meaning)283 4686 y(of)i(a)f(pro)s(cedure)h
(call)e(is)h(obtained)g(b)m(y)i(simply)d(consulting)h(the)h(pro)s
(cedure)g(en)m(vironmen)m(t.)283 4867 y Fw(Example)k(4.66)49
b Fu(This)29 b(example)e(sho)m(ws)j(ho)m(w)g(w)m(e)f(obtain)e(static)h
(scop)s(e)h(rules)g(for)f(the)h(v)-5 b(ari-)283 4988
y(ables.)44 b(Consider)33 b(the)g(application)d(of)i(the)h(seman)m(tic)
f(function)g Ft(S)2778 5003 y Fn(ds)2882 4988 y Fu(to)g(the)h(statemen)
m(t)527 5156 y Fr(begin)h(var)g(x)e Fu(:=)h Fr(7)p Fu(;)g
Fr(proc)g(p)g(is)g(x)g Fu(:=)f Fr(0)p Fu(;)816 5324 y
Fr(begin)i(var)f(x)g Fu(:=)g Fr(5)p Fu(;)f Fr(call)i(p)f(end)527
5492 y(end)p eop
%%Page: 123 133
123 132 bop 0 130 a Fw(4.5)112 b(Extensions)37 b(of)h(While)2063
b(123)p 0 193 3473 4 v 0 419 V 0 2889 4 2471 v 382 519
a Ft(S)450 534 y Fn(ds)521 519 y Fu([)-17 b([)q Fs(x)12
b Fu(:=)p Fs(a)7 b Fu(])-17 b(])p Fs(env)969 534 y Fc(V)1062
519 y Fs(env)1218 534 y Fc(P)1308 519 y Fs(sto)39 b Fu(=)32
b Fs(sto)6 b Fu([)p Fs(l)k Ft(7!A)p Fu([)-17 b([)q Fs(a)7
b Fu(])-17 b(]\(lo)s(okup)32 b Fs(env)2593 534 y Fc(V)2686
519 y Fs(sto)6 b Fu(\)])651 686 y(where)34 b Fs(l)42
b Fu(=)33 b Fs(env)1265 701 y Fc(V)1357 686 y Fs(x)382
878 y Ft(S)450 893 y Fn(ds)521 878 y Fu([)-17 b([)q Fr(skip)p
Fu(])g(])q Fs(env)957 893 y Fc(V)1050 878 y Fs(env)1206
893 y Fc(P)1296 878 y Fu(=)33 b(id)382 1069 y Ft(S)450
1084 y Fn(ds)521 1069 y Fu([)-17 b([)q Fs(S)626 1084
y Fn(1)697 1069 y Fu(;)33 b Fs(S)824 1084 y Fn(2)863
1069 y Fu(])-17 b(])q Fs(env)1057 1084 y Fc(V)1150 1069
y Fs(env)1306 1084 y Fc(P)1396 1069 y Fu(=)32 b(\()p
Ft(S)1610 1084 y Fn(ds)1681 1069 y Fu([)-17 b([)q Fs(S)1786
1084 y Fn(2)1825 1069 y Fu(])g(])q Fs(env)2019 1084 y
Fc(V)2111 1069 y Fs(env)2267 1084 y Fc(P)2325 1069 y
Fu(\))33 b Ft(\016)f Fu(\()p Ft(S)2584 1084 y Fn(ds)2655
1069 y Fu([)-17 b([)q Fs(S)2760 1084 y Fn(1)2799 1069
y Fu(])g(])p Fs(env)2992 1084 y Fc(V)3085 1069 y Fs(env)3241
1084 y Fc(P)3299 1069 y Fu(\))382 1260 y Ft(S)450 1275
y Fn(ds)521 1260 y Fu([)g([)q Fr(if)33 b Fs(b)38 b Fr(then)c
Fs(S)1082 1275 y Fn(1)1154 1260 y Fr(else)f Fs(S)1458
1275 y Fn(2)1497 1260 y Fu(])-17 b(])q Fs(env)1691 1275
y Fc(V)1784 1260 y Fs(env)1940 1275 y Fc(P)2030 1260
y Fu(=)651 1428 y(cond\()p Ft(B)t Fu([)g([)p Fs(b)6 b
Fu(])-17 b(])q Ft(\016)p Fu(\(lo)s(okup)31 b Fs(env)1647
1443 y Fc(V)1707 1428 y Fu(\),)i Ft(S)1873 1443 y Fn(ds)1944
1428 y Fu([)-17 b([)q Fs(S)2049 1443 y Fn(1)2088 1428
y Fu(])g(])p Fs(env)2281 1443 y Fc(V)2374 1428 y Fs(env)2530
1443 y Fc(P)2588 1428 y Fu(,)1359 1595 y Ft(S)1427 1610
y Fn(ds)1498 1595 y Fu([)g([)q Fs(S)1603 1610 y Fn(2)1642
1595 y Fu(])g(])q Fs(env)1836 1610 y Fc(V)1929 1595 y
Fs(env)2085 1610 y Fc(P)2142 1595 y Fu(\))382 1787 y
Ft(S)450 1802 y Fn(ds)521 1787 y Fu([)g([)q Fr(while)34
b Fs(b)k Fr(do)33 b Fs(S)12 b Fu(])-17 b(])p Fs(env)1326
1802 y Fc(V)1419 1787 y Fs(env)1575 1802 y Fc(P)1665
1787 y Fu(=)33 b(FIX)f Fs(F)618 1954 y Fu(where)i Fs(F)46
b(g)41 b Fu(=)32 b(cond\()p Ft(B)t Fu([)-17 b([)q Fs(b)6
b Fu(])-17 b(])p Ft(\016)p Fu(\(lo)s(okup)32 b Fs(env)2201
1969 y Fc(V)2261 1954 y Fu(\),)1359 2122 y Fs(g)42 b
Ft(\016)32 b Fu(\()p Ft(S)1634 2137 y Fn(ds)1705 2122
y Fu([)-17 b([)p Fs(S)12 b Fu(])-17 b(])q Fs(env)2003
2137 y Fc(V)2095 2122 y Fs(env)2251 2137 y Fc(P)2309
2122 y Fu(\),)33 b(id\))382 2313 y Ft(S)450 2328 y Fn(ds)521
2313 y Fu([)-17 b([)q Fr(begin)34 b Fs(D)931 2328 y Fc(V)1024
2313 y Fs(D)1107 2328 y Fc(P)1198 2313 y Fs(S)44 b Fr(end)p
Fu(])-17 b(])r Fs(env)1645 2328 y Fc(V)1738 2313 y Fs(env)1894
2328 y Fc(P)1984 2313 y Fs(sto)39 b Fu(=)32 b Ft(S)2321
2328 y Fn(ds)2392 2313 y Fu([)-17 b([)q Fs(S)12 b Fu(])-17
b(])p Fs(env)2690 2277 y Fi(0)2690 2338 y Fc(V)2783 2313
y Fs(env)2939 2277 y Fi(0)2939 2338 y Fc(P)3029 2313
y Fs(sto)3157 2277 y Fi(0)651 2481 y Fu(where)34 b Ft(D)1012
2445 y Fn(V)1012 2505 y(ds)1083 2481 y Fu([)-17 b([)q
Fs(D)1204 2496 y Fc(V)1265 2481 y Fu(])g(])q(\()p Fs(env)1497
2496 y Fc(V)1557 2481 y Fu(,)32 b Fs(sto)6 b Fu(\))33
b(=)f(\()p Fs(env)2117 2445 y Fi(0)2117 2505 y Fc(V)2177
2481 y Fu(,)h Fs(sto)2365 2445 y Fi(0)2388 2481 y Fu(\))651
2648 y(and)f Ft(D)920 2612 y Fn(P)920 2673 y(ds)991 2648
y Fu([)-17 b([)q Fs(D)1112 2663 y Fc(P)1171 2648 y Fu(])g(])p
Fs(env)1364 2612 y Fi(0)1364 2673 y Fc(V)1457 2648 y
Fs(env)1613 2663 y Fc(P)1703 2648 y Fu(=)33 b Fs(env)1968
2612 y Fi(0)1968 2673 y Fc(P)382 2840 y Ft(S)450 2855
y Fn(ds)521 2840 y Fu([)-17 b([)q Fr(call)33 b Fs(p)6
b Fu(])-17 b(])q Fs(env)1046 2855 y Fc(V)1138 2840 y
Fs(env)1294 2855 y Fc(P)1385 2840 y Fu(=)32 b Fs(env)1649
2855 y Fc(P)1740 2840 y Fs(p)p 3469 2889 V 0 2892 3473
4 v 801 3053 a Fu(T)-8 b(able)32 b(4.5:)43 b(Denotational)30
b(seman)m(tics)j(for)f Fw(Pro)s(c)0 3325 y Fu(Assume)49
b(that)f(the)g(initial)c(en)m(vironmen)m(ts)49 b(are)f
Fs(env)2033 3340 y Fc(V)2141 3325 y Fu(and)g Fs(env)2502
3340 y Fc(P)2608 3325 y Fu(and)g(that)g(the)g(initial)0
3445 y(store)40 b Fs(sto)46 b Fu(has)41 b Fs(sto)46 b
Fu(next)40 b(=)g Fw(12)p Fu(.)66 b(Then)41 b(the)f(\014rst)h(step)f
(will)e(b)s(e)i(to)g(up)s(date)g(the)g(v)-5 b(ariable)0
3565 y(en)m(vironmen)m(t)33 b(with)f(the)h(declarations)f(of)g(the)h
(outer)f(blo)s(c)m(k:)244 3783 y Ft(D)323 3747 y Fn(V)323
3808 y(ds)395 3783 y Fu([)-17 b([)p Fr(var)34 b(x)e Fu(:=)h
Fr(7)p Fu(;])-17 b(])q(\()p Fs(env)1148 3798 y Fc(V)1208
3783 y Fu(,)32 b Fs(sto)6 b Fu(\))513 3951 y(=)32 b Ft(D)701
3914 y Fn(V)701 3975 y(ds)772 3951 y Fu([)-17 b([)p Fo(")p
Fu(])g(])q(\()p Fs(env)1087 3966 y Fc(V)1147 3951 y Fu([)p
Fr(x)p Ft(7!)p Fw(12)p Fu(],)32 b Fs(sto)6 b Fu([)p Fw(12)p
Ft(7!)p Fw(7)p Fu(][next)p Ft(7!)q Fw(13)p Fu(]\))513
4118 y(=)32 b(\()p Fs(env)815 4133 y Fc(V)875 4118 y
Fu([)p Fr(x)p Ft(7!)p Fw(12)p Fu(],)h Fs(sto)6 b Fu([)p
Fw(12)p Ft(7!)p Fw(7)p Fu(][next)p Ft(7!)q Fw(13)p Fu(]\))0
4336 y(Next)33 b(w)m(e)h(up)s(date)f(the)g(pro)s(cedure)g(en)m
(vironmen)m(t:)244 4553 y Ft(D)323 4517 y Fn(P)323 4578
y(ds)395 4553 y Fu([)-17 b([)p Fr(proc)34 b(p)f(is)g(x)f
Fu(:=)h(0;])-17 b(]\()p Fs(env)1415 4568 y Fc(V)1475
4553 y Fu([)p Fr(x)p Ft(7!)p Fw(12)p Fu(]\))33 b Fs(env)2019
4568 y Fc(P)513 4721 y Fu(=)f Ft(D)701 4685 y Fn(P)701
4746 y(ds)772 4721 y Fu([)-17 b([)p Fo(")p Fu(])g(])q(\()p
Fs(env)1087 4736 y Fc(V)1147 4721 y Fu([)p Fr(x)p Ft(7!)p
Fw(12)p Fu(]\))32 b(\()p Fs(env)1728 4736 y Fc(P)1786
4721 y Fu([)p Fr(p)p Ft(7!)p Fs(g)9 b Fu(]\))513 4889
y(=)32 b Fs(env)777 4904 y Fc(P)835 4889 y Fu([)p Fr(p)p
Ft(7!)p Fs(g)9 b Fu(])0 5106 y(where)244 5324 y Fs(g)41
b(sto)e Fu(=)32 b Ft(S)667 5339 y Fn(ds)738 5324 y Fu([)-17
b([)q Fr(x)32 b Fu(:=)h Fr(0)p Fu(])-17 b(])q(\()p Fs(env)1278
5339 y Fc(V)1338 5324 y Fu([)p Fr(x)p Ft(7!)p Fw(12)p
Fu(]\))32 b Fs(env)1881 5339 y Fc(P)1972 5324 y Fs(sto)491
5492 y Fu(=)g Fs(sto)6 b Fu([)p Fw(12)p Ft(7!)p Fw(0)p
Fu(])p eop
%%Page: 124 134
124 133 bop 251 130 a Fw(124)1978 b(4)112 b(Denotational)36
b(Seman)m(tics)p 251 193 3473 4 v 283 515 a Fu(b)s(ecause)44
b Fr(x)f Fu(is)f(to)g(b)s(e)g(found)g(in)g(lo)s(cation)e
Fw(12)i Fu(according)g(to)g(the)h(v)-5 b(ariable)40 b(en)m(vironmen)m
(t.)283 636 y(Then)34 b(w)m(e)g(get)527 798 y Ft(S)595
813 y Fn(ds)666 798 y Fu([)-17 b([)q Fr(begin)34 b(var)f(x)g
Fu(:=)f Fr(7)p Fu(;)h Fr(proc)h(p)f(is)g(x)f Fu(:=)h
Fr(0)p Fu(;)993 965 y Fr(begin)h(var)f(x)g Fu(:=)f Fr(5)p
Fu(;)h Fr(call)h(p)e(end)i(end)p Fu(])-17 b(])q Fs(env)2653
980 y Fc(V)2746 965 y Fs(env)2902 980 y Fc(P)2992 965
y Fs(sto)527 1133 y Fu(=)33 b Ft(S)704 1148 y Fn(ds)775
1133 y Fu([)-17 b([)p Fr(begin)34 b(var)f(x)g Fu(:=)g
Fr(5)p Fu(;)g Fr(call)g(p)g(end)p Fu(])-17 b(])34 b(\()p
Fs(env)2357 1148 y Fc(V)2417 1133 y Fu([)p Fr(x)p Ft(7!)p
Fw(12)p Fu(]\))f(\()p Fs(env)2999 1148 y Fc(P)3056 1133
y Fu([)p Fr(p)p Ft(7!)p Fs(g)9 b Fu(]\))1269 1300 y(\()p
Fs(sto)d Fu([)p Fw(12)p Ft(7!)o Fw(7)p Fu(][next)p Ft(7!)q
Fw(13)p Fu(]\))283 1462 y(F)-8 b(or)32 b(the)h(v)-5 b(ariable)31
b(declarations)h(of)g(the)h(inner)f(blo)s(c)m(k)g(w)m(e)i(ha)m(v)m(e)
527 1624 y Ft(D)607 1588 y Fn(V)607 1649 y(ds)678 1624
y Fu([)-17 b([)q Fr(var)33 b(x)g Fu(:=)f Fr(5)p Fu(;])-17
b(])q(\()p Fs(env)1431 1639 y Fc(V)1491 1624 y Fu([)p
Fr(x)p Ft(7!)p Fw(12)p Fu(],)33 b Fs(sto)6 b Fu([)p Fw(12)p
Ft(7!)p Fw(7)p Fu(][next)p Ft(7!)q Fw(13)p Fu(]\))796
1792 y(=)32 b Ft(D)984 1755 y Fn(V)984 1816 y(ds)1055
1792 y Fu([)-17 b([)q Fo(")p Fu(])g(]\()p Fs(env)1370
1807 y Fc(V)1430 1792 y Fu([)p Fr(x)p Ft(7!)p Fw(13)p
Fu(],)33 b Fs(sto)6 b Fu([)p Fw(12)p Ft(7!)p Fw(7)p Fu(][)p
Fw(13)p Ft(7!)p Fw(5)p Fu(][next)p Ft(7!)q Fw(14)p Fu(]\))796
1959 y(=)32 b(\()p Fs(env)1098 1974 y Fc(V)1159 1959
y Fu([)p Fr(x)p Ft(7!)p Fw(13)p Fu(],)g Fs(sto)6 b Fu([)p
Fw(12)p Ft(7!)p Fw(7)p Fu(][)p Fw(13)p Ft(7!)p Fw(5)p
Fu(][next)p Ft(7!)q Fw(14)p Fu(]\))283 2121 y(and)527
2283 y Ft(D)607 2247 y Fn(P)607 2307 y(ds)678 2283 y
Fu([)-17 b([)q Fo(")o Fu(])g(])q(\()p Fs(env)993 2298
y Fc(V)1053 2283 y Fu([)p Fr(x)p Ft(7!)p Fw(13)p Fu(]\))33
b(\()p Fs(env)1635 2298 y Fc(P)1692 2283 y Fu([)p Fr(p)p
Ft(7!)p Fs(g)9 b Fu(]\))33 b(=)f Fs(env)2286 2298 y Fc(P)2344
2283 y Fu([)p Fr(p)p Ft(7!)p Fs(g)9 b Fu(])283 2445 y(Th)m(us)35
b(w)m(e)e(get)527 2606 y Ft(S)595 2621 y Fn(ds)666 2606
y Fu([)-17 b([)q Fr(begin)34 b(var)f(x)g Fu(:=)f Fr(5)p
Fu(;)h Fr(call)h(p)f(end)p Fu(])-17 b(])34 b(\()p Fs(env)2249
2621 y Fc(V)2309 2606 y Fu([)p Fr(x)p Ft(7!)p Fw(12)p
Fu(]\))e(\()p Fs(env)2890 2621 y Fc(P)2948 2606 y Fu([)p
Fr(p)p Ft(7!)p Fs(g)9 b Fu(]\))1269 2774 y(\()p Fs(sto)d
Fu([)p Fw(12)p Ft(7!)o Fw(7)p Fu(][next)p Ft(7!)q Fw(13)p
Fu(]\))796 2942 y(=)32 b Ft(S)972 2957 y Fn(ds)1043 2942
y Fu([)-17 b([)q Fr(call)34 b(p)p Fu(])-17 b(]\()p Fs(env)1601
2957 y Fc(V)1662 2942 y Fu([)p Fr(x)p Ft(7!)p Fw(13)p
Fu(]\))32 b(\()p Fs(env)2243 2957 y Fc(P)2301 2942 y
Fu([)p Fr(p)p Ft(7!)p Fs(g)9 b Fu(]\))1269 3109 y(\()p
Fs(sto)d Fu([)p Fw(12)p Ft(7!)o Fw(7)p Fu(][)p Fw(13)p
Ft(7!)p Fw(5)p Fu(][next)p Ft(7!)q Fw(14)p Fu(]\))796
3277 y(=)32 b Fs(g)42 b Fu(\()p Fs(sto)6 b Fu([)p Fw(12)p
Ft(7!)o Fw(7)p Fu(][)p Fw(13)p Ft(7!)p Fw(5)p Fu(][next)p
Ft(7!)q Fw(14)p Fu(]\))796 3445 y(=)32 b Fs(sto)6 b Fu([)p
Fw(12)p Ft(7!)p Fw(0)p Fu(][)p Fw(13)p Ft(7!)p Fw(5)p
Fu(][next)p Ft(7!)q Fw(14)p Fu(])283 3606 y(so)33 b(w)m(e)h(see)g(that)
e(in)g(the)h(\014nal)e(store)i(the)g(lo)s(cation)e(for)h(the)h(lo)s
(cal)d(v)-5 b(ariable)31 b(has)i(the)g(v)-5 b(alue)32
b Fw(5)283 3727 y Fu(and)h(the)g(one)g(for)f(the)h(global)d(v)-5
b(ariable)31 b(has)i(the)g(v)-5 b(alue)32 b Fw(0)p Fu(.)1214
b Fh(2)283 3899 y Fw(Exercise)37 b(4.67)49 b Fu(Consider)33
b(the)g(follo)m(wing)d(statemen)m(t)j(in)f Fw(Pro)s(c)p
Fu(:)527 4061 y Fr(begin)i(var)g(x)e Fu(:=)h Fr(0)p Fu(;)816
4229 y Fr(proc)h(p)f(is)g(x)f Fu(:=)h Fr(x)p Fu(+)p Fr(1)p
Fu(;)816 4397 y Fr(proc)h(q)f(is)g(call)g(p)p Fu(;)816
4564 y Fr(begin)h(proc)g(p)e(is)h(x)g Fu(:=)g Fr(7)p
Fu(;)1105 4732 y Fr(call)h(q)816 4899 y(end)527 5067
y(end)283 5229 y Fu(Use)i(the)g(seman)m(tic)e(clauses)i(of)e
Fw(Pro)s(c)h Fu(to)f(illustrate)f(that)i(pro)s(cedures)h(ha)m(v)m(e)g
(static)f(scop)s(e,)283 5349 y(that)i(is)e(sho)m(w)j(that)e(the)h
(\014nal)e(store)i(will)d(asso)s(ciate)i(the)g(lo)s(cation)e(of)i
Fr(x)h Fu(with)e(the)i(v)-5 b(alue)36 b Fw(1)283 5470
y Fu(\(rather)d(than)g Fw(7)p Fu(\).)2718 b Fh(2)p eop
%%Page: 125 135
125 134 bop 0 130 a Fw(4.5)112 b(Extensions)37 b(of)h(While)2063
b(125)p 0 193 3473 4 v 0 419 V 0 934 4 516 v 382 526
a Ft(D)462 489 y Fn(P)462 550 y(ds)533 526 y Fu([)-17
b([)p Fr(proc)34 b Fs(p)k Fr(is)c Fs(S)12 b Fu(;)32 b
Fs(D)1241 541 y Fc(P)1300 526 y Fu(])-17 b(])p Fs(env)1493
541 y Fc(V)1586 526 y Fs(env)1742 541 y Fc(P)1832 526
y Fu(=)33 b Ft(D)2020 489 y Fn(P)2020 550 y(ds)2091 526
y Fu([)-17 b([)q Fs(D)2212 541 y Fc(P)2271 526 y Fu(])g(])p
Fs(env)2464 541 y Fc(V)2557 526 y Fu(\()p Fs(env)2751
541 y Fc(P)2809 526 y Fu([)p Fs(p)6 b Ft(7!)o Fu(FIX)33
b Fs(F)13 b Fu(]\))651 693 y(where)34 b Fs(F)45 b(g)c
Fu(=)33 b Ft(S)1304 708 y Fn(ds)1376 693 y Fu([)-17 b([)p
Fs(S)12 b Fu(])-17 b(])q Fs(env)1674 708 y Fc(V)1766
693 y Fu(\()p Fs(env)1960 708 y Fc(P)2018 693 y Fu([)p
Fs(p)6 b Ft(7!)p Fs(g)j Fu(]\))382 884 y Ft(D)462 848
y Fn(P)462 909 y(ds)533 884 y Fu([)-17 b([)p Fo(")p Fu(])g(])q
Fs(env)810 899 y Fc(V)902 884 y Fu(=)33 b(id)p 3469 934
V 0 937 3473 4 v 232 1098 a(T)-8 b(able)32 b(4.6:)43
b(Denotational)30 b(seman)m(tics)j(for)f(recursiv)m(e)i(pro)s(cedure)g
(declarations)0 1370 y Fw(Recursiv)m(e)i(pro)s(cedures)0
1555 y Fu(In)d(the)f(case)h(where)h(pro)s(cedures)f(are)g(allo)m(w)m
(ed)e(to)h(b)s(e)g Fs(r)-5 b(e)g(cursive)39 b Fu(w)m(e)34
b(shall)c(b)s(e)j(in)m(terested)g(in)0 1675 y(a)f(function)g
Fs(g)41 b Fu(in)32 b Fw(Store)h Fo(,)-17 b Ft(!)32 b
Fw(Store)h Fu(satisfying)244 1859 y Fs(g)41 b Fu(=)32
b Ft(S)506 1874 y Fn(ds)577 1859 y Fu([)-17 b([)q Fs(S)12
b Fu(])-17 b(])p Fs(env)875 1874 y Fc(V)968 1859 y Fu(\()p
Fs(env)1162 1874 y Fc(P)1220 1859 y Fu([)p Fs(p)6 b Ft(7!)o
Fs(g)j Fu(]\))0 2043 y(since)29 b(this)f(will)f(ensure)j(that)e(the)h
(meaning)f(of)g(all)e(the)j(recursiv)m(e)i(calls)c(is)h(the)h(same)g
(as)g(that)0 2164 y(of)g(the)h(pro)s(cedure)g(b)s(eing)f(de\014ned.)44
b(F)-8 b(or)28 b(this)h(only)g(the)h(clause)f(for)g Ft(D)2599
2127 y Fn(P)2599 2188 y(ds)2670 2164 y Fu([)-17 b([)q
Fr(proc)33 b Fs(p)39 b Fr(is)33 b Fs(S)12 b Fu(;)32 b
Fo(D)3376 2179 y Fc(P)3435 2164 y Fu(])-17 b(])0 2284
y(needs)42 b(to)e(b)s(e)h(mo)s(di\014ed)f(and)g(the)h(new)h(clause)f
(is)f(giv)m(en)h(in)f(T)-8 b(able)40 b(4.6.)67 b(W)-8
b(e)41 b(shall)e(see)j(in)0 2404 y(Exercise)34 b(4.69)e(that)h(this)f
(is)h(a)f(p)s(ermissible)f(de\014nition,)h(that)h(is)f
Fs(F)46 b Fu(of)32 b(T)-8 b(able)32 b(4.6)h(is)f(indeed)0
2525 y(con)m(tin)m(uous.)0 2692 y Fw(Remark)e Fu(Let)g(us)h(brie\015y)f
(compare)g(the)g(ab)s(o)m(v)m(e)h(seman)m(tics)g(with)f(the)g(op)s
(erational)e(seman-)0 2813 y(tics)35 b(giv)m(en)g(in)g(Section)g(2.5)g
(for)f(the)i(same)f(language.)51 b(In)35 b(the)h(op)s(erational)d
(seman)m(tics)i(the)0 2933 y(p)s(ossibilit)m(y)27 b(of)i(recursion)g
(is)g(handled)g(b)m(y)h(up)s(dating)e(the)i(en)m(vironmen)m(t)f
Fs(e)-5 b(ach)32 b(time)f(the)h(pr)-5 b(o-)0 3053 y(c)g(e)g(dur)g(e)42
b(is)g(c)-5 b(al)5 b(le)-5 b(d)50 b Fu(and,)43 b(except)f(for)e
(recording)g(the)h(declaration,)h(no)e(action)g(tak)m(es)i(place)0
3174 y(when)27 b(the)f(pro)s(cedure)g(is)f(declared.)41
b(In)26 b(the)g(denotational)e(approac)m(h,)j(the)f(situation)e(is)h(v)
m(ery)0 3294 y(di\013eren)m(t.)66 b(The)41 b(p)s(ossibilit)m(y)c(of)j
(recursion)g(is)g(handled)f Fs(onc)-5 b(e)41 b(and)g(for)h(al)5
b(l)p Fu(,)41 b(namely)e Fs(when)0 3415 y(the)c(pr)-5
b(o)g(c)g(e)g(dur)g(e)34 b(is)h(de)-5 b(clar)g(e)g(d)p
Fu(.)2340 b Fh(2)0 3617 y Fw(Exercise)36 b(4.68)49 b
Fu(Consider)33 b(the)g(declaration)e(of)h(the)h(factorial)d(pro)s
(cedure)244 3801 y Fr(proc)j(fac)h(is)f(begin)h(var)f(z)g
Fu(:=)f Fr(x)p Fu(;)1092 3969 y Fr(if)h(x)f Fu(=)h Fr(1)g(then)g(skip)
1092 4136 y(else)g Fu(\()p Fr(x)g Fu(:=)f Fr(x)h Ft(\000)g
Fr(1)p Fu(;)g Fr(call)h(fac)p Fu(;)f Fr(y)g Fu(:=)f Fr(z)h
Fo(?)f Fr(y)p Fu(\))803 4304 y Fr(end)p Fu(;)0 4488 y(Assume)39
b(that)g(the)g(initial)c(en)m(vironmen)m(ts)k(are)g Fs(env)1977
4503 y Fc(V)2076 4488 y Fu(and)f Fs(env)2427 4503 y Fc(P)2524
4488 y Fu(and)g(that)h Fs(env)3093 4503 y Fc(V)3192 4488
y Fr(x)f Fu(=)h Fs(l)3431 4503 y Fn(x)0 4608 y Fu(and)33
b Fs(env)346 4623 y Fc(V)438 4608 y Fr(y)g Fu(=)f Fs(l)665
4623 y Fn(y)708 4608 y Fu(.)44 b(Determine)31 b(the)i(up)s(dated)g(pro)
s(cedure)h(en)m(vironmen)m(t.)586 b Fh(2)146 4811 y Fu(As)31
b(for)e Fw(While)f Fu(w)m(e)j(m)m(ust)f(ensure)h(that)f(the)g(seman)m
(tic)g(clauses)g(de\014ne)h(a)f(total)e(function)0 4931
y Ft(S)68 4946 y Fn(ds)139 4931 y Fu(.)43 b(W)-8 b(e)33
b(lea)m(v)m(e)h(the)f(details)e(to)h(the)h(exercise)h(b)s(elo)m(w.)0
5133 y Fw(Exercise)i(4.69)49 b Fu(**)40 b(T)-8 b(o)40
b(ensure)h(that)f(the)g(clauses)h(for)e Ft(S)2243 5148
y Fn(ds)2354 5133 y Fu(de\014ne)i(a)f(total)e(function)h(w)m(e)0
5254 y(m)m(ust)23 b(sho)m(w)h(that)f(FIX)g(is)f(only)h(applied)e(to)i
(con)m(tin)m(uous)h(functions.)40 b(In)23 b(the)h(case)f(of)g(recursiv)
m(e)0 5374 y(pro)s(cedures)34 b(this)f(is)f(a)h(rather)g(lab)s(orious)d
(task.)45 b(First)32 b(one)h(ma)m(y)g(use)h(structural)e(induction)0
5494 y(to)g(sho)m(w)i(that)e Ft(D)652 5458 y Fn(V)652
5519 y(ds)756 5494 y Fu(is)g(indeed)h(a)f(w)m(ell-de\014ned)h
(function.)43 b(Secondly)33 b(one)g(ma)m(y)f(de\014ne)p
eop
%%Page: 126 136
126 135 bop 251 130 a Fw(126)1978 b(4)112 b(Denotational)36
b(Seman)m(tics)p 251 193 3473 4 v 527 515 a Fs(env)683
530 y Fc(P)774 515 y Ft(v)851 479 y Fi(0)907 515 y Fs(env)1063
479 y Fi(0)1063 540 y Fc(P)1153 515 y Fu(if)c(and)h(only)f(if)f
Fs(env)1892 530 y Fc(P)1982 515 y Fs(p)39 b Ft(v)33 b
Fs(env)2337 479 y Fi(0)2337 540 y Fc(P)2427 515 y Fs(p)39
b Fu(for)32 b(all)e Fs(p)39 b Ft(2)33 b Fw(Pname)283
712 y Fu(and)j(sho)m(w)g(that)e(\()p Fw(En)m(v)1163 727
y Fn(P)1215 712 y Fu(,)i Ft(v)1355 676 y Fi(0)1379 712
y Fu(\))e(is)h(a)g(ccp)s(o.)51 b(Finally)-8 b(,)32 b(one)k(ma)m(y)e
(use)i(Exercise)h(4.41)d(\(with)g Fs(D)283 833 y Fu(b)s(eing)k
Fw(Store)f Fo(,)-17 b Ft(!)38 b Fw(Store)p Fu(\))g(to)f(sho)m(w)i(that)
f(for)g(all)d Fs(env)2370 848 y Fc(V)2468 833 y Ft(2)k
Fw(En)m(v)2765 848 y Fn(V)2860 833 y Fu(the)g(clauses)f(of)g(T)-8
b(ables)283 953 y(4.3,)33 b(4.5)f(and)h(4.6)f(do)g(de\014ne)i(con)m
(tin)m(uous)f(functions)527 1150 y Ft(S)595 1165 y Fn(ds)666
1150 y Fu([)-17 b([)q Fs(S)12 b Fu(])-17 b(])p Fs(env)964
1165 y Fc(V)1024 1150 y Fu(:)44 b Fw(En)m(v)1287 1165
y Fn(P)1371 1150 y Ft(!)33 b Fu(\()p Fw(Store)f Fo(,)-17
b Ft(!)32 b Fw(Store)p Fu(\))527 1318 y Ft(D)607 1282
y Fn(P)607 1343 y(ds)678 1318 y Fu([)-17 b([)q Fs(D)799
1333 y Fc(P)857 1318 y Fu(])g(])q Fs(env)1051 1333 y
Fc(V)1111 1318 y Fu(:)44 b Fw(En)m(v)1374 1333 y Fn(P)1458
1318 y Ft(!)32 b Fw(En)m(v)1782 1333 y Fn(P)283 1515
y Fu(This)38 b(is)e(p)s(erformed)g(using)h(m)m(utual)f(structural)g
(induction)g(on)h(statemen)m(ts)h Fs(S)49 b Fu(and)37
b(decla-)283 1635 y(rations)32 b Fs(D)692 1650 y Fn(P)744
1635 y Fu(.)2910 b Fh(2)283 1855 y Fw(Exercise)37 b(4.70)49
b Fu(Mo)s(dify)43 b(the)h(syn)m(tax)h(of)e(pro)s(cedures)i(so)f(that)f
(they)i(tak)m(e)f(t)m(w)m(o)h Fs(c)-5 b(al)5 b(l-by-)283
1976 y(value)40 b Fu(parameters:)527 2173 y Fs(D)610
2188 y Fc(P)702 2173 y Fu(::=)32 b Fr(proc)i Fs(p)6 b
Fu(\()p Fs(x)1253 2188 y Fn(1)1292 2173 y Fu(,)p Fs(x)1376
2188 y Fn(2)1415 2173 y Fu(\))33 b Fr(is)g Fs(S)12 b
Fu(;)32 b Fs(D)1830 2188 y Fc(P)1921 2173 y Ft(j)g Fo(")527
2340 y Fs(S)45 b Fu(::=)32 b Ft(\001)17 b(\001)g(\001)31
b(j)h Fr(call)i Fs(p)6 b Fu(\()p Fs(a)1387 2355 y Fn(1)1426
2340 y Fu(,)p Fs(a)1510 2355 y Fn(2)1550 2340 y Fu(\))283
2537 y(The)41 b(meaning)c(of)i(a)g(pro)s(cedure)h(will)d(no)m(w)j(dep)s
(end)g(up)s(on)g(the)f(v)-5 b(alues)39 b(of)g(its)g(parameters)283
2658 y(as)34 b(w)m(ell)f(as)h(the)g(state)g(in)f(whic)m(h)h(it)f(is)g
(executed.)49 b(W)-8 b(e)34 b(therefore)g(c)m(hange)h(the)f
(de\014nition)e(of)283 2778 y Fw(En)m(v)475 2793 y Fn(P)560
2778 y Fu(to)g(b)s(e)527 2975 y Fw(En)m(v)719 2990 y
Fn(P)804 2975 y Fu(=)g Fw(Pname)h Ft(!)f Fu(\(\()p Fw(Z)h
Ft(\002)g Fw(Z)p Fu(\))g Ft(!)f Fu(\()p Fw(Store)g Fo(,)-17
b Ft(!)33 b Fw(Store)p Fu(\)\))283 3172 y(so)d(that)f(giv)m(en)h(a)f
(pair)f(of)h(v)-5 b(alues)29 b(and)g(a)h(store)f(w)m(e)i(can)e
(determine)g(the)h(\014nal)f(store.)42 b(Mo)s(dify)283
3293 y(the)h(de\014nition)e(of)g Ft(S)1092 3308 y Fn(ds)1205
3293 y Fu(to)g(use)i(this)e(pro)s(cedure)i(en)m(vironmen)m(t.)72
b(Also)41 b(pro)m(vide)h(seman)m(tic)283 3413 y(clauses)36
b(for)f Ft(D)844 3377 y Fn(P)844 3438 y(ds)950 3413 y
Fu(in)f(the)i(case)g(of)e(non-recursiv)m(e)j(as)e(w)m(ell)f(as)i
(recursiv)m(e)g(pro)s(cedures.)53 b(Con-)283 3533 y(struct)34
b(statemen)m(ts)f(that)g(illustrate)d(ho)m(w)j(the)g(new)h(clauses)f
(are)g(used.)723 b Fh(2)283 3753 y Fw(Exercise)37 b(4.71)49
b Fu(*)35 b(Mo)s(dify)f(the)h(seman)m(tics)h(of)e Fw(Pro)s(c)h
Fu(so)g(that)g(dynamic)f(scop)s(e)i(rules)f(are)283 3874
y(emplo)m(y)m(ed)e(for)f(v)-5 b(ariables)32 b(as)g(w)m(ell)g(as)h(pro)s
(cedures.)1492 b Fh(2)283 4161 y Fp(The)45 b(concept)g(of)g(con)l(tin)l
(uations)283 4346 y Fu(Another)35 b(imp)s(ortan)m(t)c(concept)k(from)d
(denotational)g(seman)m(tics)i(is)f(that)g(of)g Fs(c)-5
b(ontinuations)8 b Fu(.)283 4466 y(T)-8 b(o)35 b(illustrate)e(it)h(w)m
(e)i(shall)d(consider)i(an)g(extension)h(of)e Fw(While)f
Fu(where)k(exceptions)f(can)f(b)s(e)283 4587 y(raised)e(and)f(handled.)
44 b(The)33 b(new)h(language)d(is)i(called)e Fw(Exc)h
Fu(and)h(its)f(syn)m(tax)i(is:)577 4775 y Fs(S)112 b
Fu(::=)99 b Fs(x)45 b Fu(:=)32 b Fs(a)40 b Ft(j)32 b
Fr(skip)i Ft(j)e Fs(S)1713 4790 y Fn(1)1785 4775 y Fu(;)g
Fs(S)1911 4790 y Fn(2)1983 4775 y Ft(j)g Fr(if)h Fs(b)39
b Fr(then)33 b Fs(S)2566 4790 y Fn(1)2638 4775 y Fr(else)h
Fs(S)2943 4790 y Fn(2)795 4943 y Ft(j)150 b Fr(while)34
b Fs(b)39 b Fr(do)33 b Fs(S)44 b Ft(j)32 b Fr(begin)i
Fs(S)1996 4958 y Fn(1)2068 4943 y Fr(handle)g Fs(e)7
b Fu(:)44 b Fs(S)2598 4958 y Fn(2)2669 4943 y Fr(end)34
b Ft(j)e Fr(raise)i Fs(e)283 5133 y Fu(The)c(meta-v)-5
b(ariable)26 b Fs(e)36 b Fu(ranges)29 b(o)m(v)m(er)h(the)f(syn)m
(tactic)g(category)g Fw(Exception)56 b Fu(of)29 b(exceptions.)283
5254 y(The)34 b(statemen)m(t)e Fr(raise)i Fs(e)39 b Fu(is)32
b(a)f(kind)h(of)g(jump)g(instruction:)42 b(when)33 b(it)e(is)h(encoun)m
(tered,)i(the)283 5374 y(execution)f(of)d(the)i(encapsulating)f(blo)s
(c)m(k)g(is)g(stopp)s(ed)h(and)g(the)f(\015o)m(w)h(of)f(con)m(trol)g
(is)g(giv)m(en)g(to)283 5494 y(the)i(statemen)m(t)h(declaring)d(the)i
(exception)g Fs(e)7 b Fu(.)44 b(An)33 b(example)f(is)g(the)h(statemen)m
(t)p eop
%%Page: 127 137
127 136 bop 0 130 a Fw(4.5)112 b(Extensions)37 b(of)h(While)2063
b(127)p 0 193 3473 4 v 244 515 a Fr(begin)34 b(while)g(true)f(do)g(if)g
(x)p Ft(\024)q Fr(0)1194 683 y(then)h(raise)g(exit)1194
851 y(else)g(x)f Fu(:=)f Fr(x)p Ft(\000)p Fr(1)533 1018
y(handle)i(exit)p Fu(:)44 b Fr(y)33 b Fu(:=)g Fr(7)244
1186 y(end)0 1381 y Fu(Assume)d(that)f Fs(s)614 1396
y Fn(0)683 1381 y Fu(is)f(the)i(initial)25 b(state)30
b(and)f(that)g Fs(s)1898 1396 y Fn(0)1967 1381 y Fr(x)g
Fo(>)g Fw(0)p Fu(.)43 b(Then)30 b(the)g(false)e(branc)m(h)i(of)f(the)0
1502 y(conditional)h(will)h(b)s(e)h(c)m(hosen)j(and)e(the)g(v)-5
b(alue)32 b(of)g Fr(x)h Fu(decremen)m(ted.)46 b(Ev)m(en)m(tually)-8
b(,)33 b Fr(x)g Fu(gets)g(the)0 1622 y(v)-5 b(alue)31
b Fw(0)g Fu(and)g(the)g(true)h(branc)m(h)g(of)e(the)i(conditional)c
(will)h(raise)i(the)g(exception)h Fr(exit)p Fu(.)44 b(This)0
1742 y(will)37 b(cause)k(the)e(execution)h(of)f(the)h
Fr(while)p Fu(-lo)s(op)f(to)g(b)s(e)h(terminated)e(and)h(con)m(trol)g
(will)e(b)s(e)0 1863 y(transferred)d(to)f(the)h(handler)g(for)e
Fr(exit)p Fu(.)48 b(Th)m(us)35 b(the)f(statemen)m(t)g(will)d(terminate)
h(in)h(a)g(state)0 1983 y(where)h Fr(x)f Fu(has)g(the)g(v)-5
b(alue)32 b Fw(0)g Fu(and)h Fr(y)g Fu(the)g(v)-5 b(alue)32
b Fw(7)p Fu(.)146 2103 y(The)39 b(meaning)e(of)g(an)h(exception)h(will)
c(b)s(e)j(the)h(e\013ect)f(of)g Fs(exe)-5 b(cuting)39
b(the)h(r)-5 b(emainder)39 b(of)0 2224 y(the)c(pr)-5
b(o)g(gr)g(am)39 b Fu(starting)32 b(from)f(the)i(handler.)43
b(Consider)33 b(a)g(statemen)m(t)g(of)f(the)h(form)244
2419 y(\()p Fr(if)g Fs(b)38 b Fr(then)c Fs(S)805 2434
y Fn(1)877 2419 y Fr(else)f Fs(S)1181 2434 y Fn(2)1221
2419 y Fu(\))f(;)h Fs(S)1418 2434 y Fn(3)0 2614 y Fu(In)43
b(the)h(language)e Fw(While)g Fu(it)g(is)g(eviden)m(t)i(that)f(indep)s
(enden)m(tly)h(of)f(whether)h(w)m(e)g(execute)0 2735
y Fs(S)67 2750 y Fn(1)144 2735 y Fu(or)38 b Fs(S)336
2750 y Fn(2)413 2735 y Fu(w)m(e)h(ha)m(v)m(e)g(to)e(con)m(tin)m(ue)i
(with)e Fs(S)1606 2750 y Fn(3)1646 2735 y Fu(.)59 b(When)39
b(w)m(e)g(in)m(tro)s(duce)e(exceptions)i(this)f(do)s(es)0
2855 y(not)32 b(hold)f(an)m(y)h(longer:)43 b(if)30 b(one)j(of)e(the)h
(branc)m(hes)i(raises)e(an)g(exception)g(not)g(handled)g(inside)0
2975 y(that)41 b(branc)m(h,)j(then)d(w)m(e)h(will)d(certainly)h(not)g
(execute)j Fs(S)2173 2990 y Fn(3)2212 2975 y Fu(.)69
b(It)41 b(is)f(therefore)i(necessary)h(to)0 3096 y(rewrite)32
b(the)h(seman)m(tics)f(of)f Fw(While)g Fu(to)h(mak)m(e)g(the)g
(\\e\013ect)h(of)e(executing)i(the)g(remainder)e(of)0
3216 y(the)i(program")e(more)h(explicit.)0 3475 y Fw(Con)m(tin)m
(uation)k(st)m(yle)h(seman)m(tics)f(for)i(While)0 3659
y Fu(In)26 b(a)f Fs(c)-5 b(ontinuation)27 b(style)i(semantics)j
Fu(the)26 b(con)m(tin)m(uations)f(describ)s(e)h(the)51
b Fs(e\013e)-5 b(ct)28 b(of)g(exe)-5 b(cuting)0 3780
y(the)31 b(r)-5 b(emainder)29 b(of)h(the)h(pr)-5 b(o)g(gr)g(am)p
Fu(.)41 b(F)-8 b(or)27 b(us)i(a)e Fs(c)-5 b(ontinuation)35
b(c)e Fu(is)28 b(an)g(elemen)m(t)f(of)h(the)g(domain)244
3975 y Fw(Con)m(t)k Fu(=)h Fw(State)f Fo(,)-17 b Ft(!)33
b Fw(State)0 4170 y Fu(and)38 b(is)f(th)m(us)h(a)f(partial)f(function)h
(from)f Fw(State)h Fu(to)g Fw(State)p Fu(.)59 b(Sometimes)36
b(one)i(uses)h(partial)0 4291 y(functions)24 b(from)f
Fw(State)h Fu(to)f(a)h(\\simpler")e(set)i Fw(Ans)g Fu(of)g(answ)m(ers)i
(but)e(in)f(all)f(cases)j(the)g(purp)s(ose)0 4411 y(of)e(a)g(con)m(tin)
m(uation)g(is)g(to)g(express)i(the)f(\\outcome")f(of)g(the)h(remainder)
e(of)h(the)h(program)e(when)0 4531 y(started)33 b(in)f(a)g(giv)m(en)h
(state.)146 4652 y(Consider)e(a)f(statemen)m(t)g(of)g(the)g(form)f
Ft(\001)17 b(\001)g(\001)n Fu(;)31 b Fs(S)42 b Fu(;)30
b Ft(\001)17 b(\001)g(\001)28 b Fu(and)i(let)g(us)h(explain)e(the)h
(meaning)f(of)0 4772 y Fs(S)47 b Fu(in)34 b(terms)g(of)h(the)g
(e\013ect)h(of)e(executing)i(the)f(remainder)f(of)g(the)i(program.)49
b(The)35 b(starting)0 4893 y(p)s(oin)m(t)40 b(will)f(b)s(e)j(the)g(con)
m(tin)m(uation)e Fs(c)47 b Fu(determining)39 b(the)j(e\013ect)g(of)f
(executing)h(the)g(part)f(of)0 5013 y(the)35 b(program)f
Fs(after)45 b(S)12 b Fu(,)35 b(that)g(is)f Fs(c)41 b(s)i
Fu(is)34 b(the)h(state)h(obtained)e(when)i(the)g(remainder)e(of)g(the)0
5133 y(program)29 b(is)i(executed)i(from)c(state)j Fs(s)8
b Fu(.)43 b(W)-8 b(e)31 b(shall)e(then)j(determine)e(the)i(e\013ect)f
(of)g(executing)0 5254 y Fs(S)45 b Fu(and)32 b(the)i(remainder)e(of)g
(the)h(program,)f(that)g(is)h(w)m(e)g(shall)f(determine)g(a)h(con)m
(tin)m(uation)f Fs(c)3450 5218 y Fi(0)0 5374 y Fu(suc)m(h)f(that)e
Fs(c)476 5338 y Fi(0)529 5374 y Fs(s)37 b Fu(is)29 b(the)h(state)g
(obtained)f(when)i(executing)f Fs(S)42 b Fu(and)29 b(the)h(part)g(of)f
(the)h(program)0 5494 y(follo)m(wing)g Fs(S)44 b Fu(from)32
b(state)h Fs(s)8 b Fu(.)43 b(Pictorially)-8 b(,)30 b(from)p
eop
%%Page: 128 138
128 137 bop 251 130 a Fw(128)1978 b(4)112 b(Denotational)36
b(Seman)m(tics)p 251 193 3473 4 v 283 419 V 283 1501
4 1083 v 666 519 a Ft(S)733 483 y Fi(0)733 543 y Fn(cs)797
519 y Fu([)-17 b([)p Fs(x)12 b Fu(:=)p Fs(a)7 b Fu(])-17
b(])q Fs(c)38 b(s)j Fu(=)32 b Fs(c)38 b Fu(\()p Fs(s)8
b Fu([)p Fs(x)k Ft(7!A)o Fu([)-17 b([)q Fs(a)7 b Fu(])-17
b(])q Fs(s)8 b Fu(]\))666 710 y Ft(S)733 674 y Fi(0)733
735 y Fn(cs)797 710 y Fu([)-17 b([)p Fr(skip)p Fu(])g(])34
b(=)f(id)666 901 y Ft(S)733 865 y Fi(0)733 926 y Fn(cs)797
901 y Fu([)-17 b([)p Fs(S)901 916 y Fn(1)973 901 y Fu(;)33
b Fs(S)1100 916 y Fn(2)1139 901 y Fu(])-17 b(])33 b(=)f
Ft(S)1385 865 y Fi(0)1385 926 y Fn(cs)1449 901 y Fu([)-17
b([)p Fs(S)1553 916 y Fn(1)1592 901 y Fu(])g(])34 b Ft(\016)e(S)1813
865 y Fi(0)1813 926 y Fn(cs)1876 901 y Fu([)-17 b([)q
Fs(S)1981 916 y Fn(2)2020 901 y Fu(])g(])666 1092 y Ft(S)733
1056 y Fi(0)733 1117 y Fn(cs)797 1092 y Fu([)g([)p Fr(if)33
b Fs(b)39 b Fr(then)33 b Fs(S)1357 1107 y Fn(1)1429 1092
y Fr(else)h Fs(S)1734 1107 y Fn(2)1773 1092 y Fu(])-17
b(])q Fs(c)38 b Fu(=)32 b(cond\()p Ft(B)t Fu([)-17 b([)q
Fs(b)6 b Fu(])-17 b(],)33 b Ft(S)2563 1056 y Fi(0)2563
1117 y Fn(cs)2626 1092 y Fu([)-17 b([)p Fs(S)2730 1107
y Fn(1)2770 1092 y Fu(])g(])p Fs(c)6 b Fu(,)32 b Ft(S)2985
1056 y Fi(0)2985 1117 y Fn(cs)3049 1092 y Fu([)-17 b([)p
Fs(S)3153 1107 y Fn(2)3193 1092 y Fu(])g(])p Fs(c)6 b
Fu(\))666 1284 y Ft(S)733 1248 y Fi(0)733 1308 y Fn(cs)797
1284 y Fu([)-17 b([)p Fr(while)34 b Fs(b)39 b Fr(do)33
b Fs(S)12 b Fu(])-17 b(])33 b(=)f(FIX)g Fs(G)934 1451
y Fu(where)i(\()p Fs(G)42 b(g)9 b Fu(\))32 b Fs(c)38
b Fu(=)32 b(cond\()p Ft(B)t Fu([)-17 b([)q Fs(b)6 b Fu(])-17
b(],)33 b Ft(S)2247 1415 y Fi(0)2247 1476 y Fn(cs)2310
1451 y Fu([)-17 b([)q Fs(S)12 b Fu(])-17 b(]\()p Fs(g)41
b(c)6 b Fu(\),)32 b Fs(c)6 b Fu(\))p 3753 1501 V 283
1504 3473 4 v 937 1665 a(T)-8 b(able)32 b(4.7:)43 b(Con)m(tin)m(uation)
32 b(st)m(yle)h(seman)m(tics)g(for)f Fw(While)769 1959
y Ft(\001)17 b(\001)g(\001)240 b Fu(;)300 b Fs(S)310
b Fu(;)275 b Ft(\001)17 b(\001)g(\001)1879 1994 y Fg(|)p
1916 1994 226 10 v 226 w({z)p 2216 1994 V 226 w(})2154
2075 y Fs(c)283 2266 y Fu(w)m(e)34 b(w)m(an)m(t)g(to)e(obtain)769
2491 y Ft(\001)17 b(\001)g(\001)240 b Fu(;)300 b Fs(S)278
b Fu(;)259 b Ft(\001)17 b(\001)g(\001)1187 2545 y Fg(|)p
1224 2545 548 10 v 548 w({z)p 1846 2545 V 548 w(})1772
2657 y Fs(c)1823 2621 y Fi(0)283 2851 y Fu(W)-8 b(e)49
b(shall)d(de\014ne)j(a)e(seman)m(tic)g(function)h Ft(S)1987
2815 y Fi(0)1987 2876 y Fn(cs)2098 2851 y Fu(for)f Fw(While)g
Fu(that)g(ac)m(hiev)m(es)i(this.)89 b(It)47 b(has)283
2971 y(functionalit)m(y)527 3196 y Ft(S)595 3160 y Fi(0)595
3221 y Fn(cs)658 3196 y Fu(:)d Fw(Stm)32 b Ft(!)g Fu(\()p
Fw(Con)m(t)g Ft(!)g Fw(Con)m(t)p Fu(\))283 3421 y(and)j(is)f(de\014ned)
h(in)f(T)-8 b(able)34 b(4.7.)48 b(The)36 b(clauses)f(for)e(assignmen)m
(t)h(and)h Fr(skip)g Fu(are)f(straigh)m(tfor-)283 3542
y(w)m(ard;)g(ho)m(w)m(ev)m(er,)h(note)e(that)g(w)m(e)h(no)m(w)f(use)h
(id)e(as)h(the)g(iden)m(tit)m(y)g(function)f(on)h Fw(Con)m(t)p
Fu(,)g(that)f(is)283 3662 y(id)c Fs(c)35 b(s)h Fu(=)29
b Fs(c)34 b(s)8 b Fu(.)42 b(In)29 b(the)g(clause)g(for)g(comp)s
(osition)d(the)j(order)g(of)f(the)h(functional)e(comp)s(osition)283
3783 y(is)33 b Fs(r)-5 b(everse)g(d)42 b Fu(compared)33
b(with)g(the)g(direct)g(st)m(yle)g(seman)m(tics)h(of)e(T)-8
b(able)33 b(4.1.)44 b(In)m(tuitiv)m(ely)-8 b(,)32 b(the)283
3903 y(reason)43 b(is)e(that)h(the)g(con)m(tin)m(uations)f(are)h
(\\pulled)f(bac)m(kw)m(ards")i(through)f(the)g(t)m(w)m(o)h(state-)283
4023 y(men)m(ts.)55 b(So)36 b(assuming)f(that)h Fs(c)41
b Fu(is)36 b(the)g(con)m(tin)m(uation)f(for)h(the)g(remainder)f(of)h
(the)g(program)283 4144 y(w)m(e)44 b(shall)c(\014rst)j(determine)f(a)g
(con)m(tin)m(uation)f(for)g Fs(S)2239 4159 y Fn(2)2321
4144 y Fu(follo)m(w)m(ed)g(b)m(y)i(the)g(remainder)e(of)g(the)283
4264 y(program)32 b(and)g(next)i(for)e Fs(S)1299 4279
y Fn(1)1371 4264 y Fu(follo)m(w)m(ed)f(b)m(y)j Fs(S)1950
4279 y Fn(2)2022 4264 y Fs(and)42 b Fu(the)33 b(remainder)e(of)i(the)g
(program.)430 4389 y(The)42 b(clause)g(for)f(the)g(conditional)e(is)i
(straigh)m(tforw)m(ard)g(as)g(the)h(con)m(tin)m(uation)f(applies)283
4509 y(to)g(b)s(oth)g(branc)m(hes.)72 b(In)41 b(the)h(clause)f(for)g
(the)h Fr(while)p Fu(-construct)h(w)m(e)f(use)h(the)e(\014xed)i(p)s
(oin)m(t)283 4630 y(op)s(erator)33 b(as)g(in)g(the)h(direct)f(st)m(yle)
g(seman)m(tics.)46 b(If)33 b(the)h(test)g(of)f Fr(while)h
Fs(b)39 b Fr(do)34 b Fs(S)45 b Fu(ev)-5 b(aluates)33
b(to)283 4750 y Fw(\013)g Fu(then)f(w)m(e)h(return)f(the)g(con)m(tin)m
(uation)f Fs(c)37 b Fu(for)31 b(the)h(remainder)f(of)g(the)i(program.)
41 b(If)32 b(the)g(test)283 4870 y(ev)-5 b(aluates)33
b(to)g Fw(tt)f Fu(then)i Fs(g)41 b(c)e Fu(denotes)34
b(the)g(e\013ect)g(of)e(executing)i(the)f(remainder)f(of)h(the)g(lo)s
(op)283 4991 y(follo)m(w)m(ed)j(b)m(y)h(the)g(remainder)e(of)h(the)h
(program)d(and)j(is)f(the)g(con)m(tin)m(uation)g(to)f(b)s(e)i(used)g
(for)283 5111 y(the)c(\014rst)h(unfolding)c(of)i(the)h(lo)s(op.)283
5374 y Fw(Example)k(4.72)49 b Fu(Consider)34 b(the)g(statemen)m(t)g
Fr(z)g Fu(:=)f Fr(x)p Fu(;)i Fr(x)f Fu(:=)f Fr(y)p Fu(;)i
Fr(y)e Fu(:=)h Fr(z)g Fu(of)f(Chapter)h(1.)47 b(Let)283
5494 y(id)32 b(b)s(e)h(the)g(iden)m(tit)m(y)f(function)h(on)f
Fw(State)p Fu(.)44 b(Then)33 b(w)m(e)h(ha)m(v)m(e)p eop
%%Page: 129 139
129 138 bop 0 130 a Fw(4.5)112 b(Extensions)37 b(of)h(While)2063
b(129)p 0 193 3473 4 v 244 515 a Ft(S)312 479 y Fi(0)312
540 y Fn(cs)375 515 y Fu([)-17 b([)q Fr(z)32 b Fu(:=)h
Fr(x)p Fu(;)g Fr(x)g Fu(:=)f Fr(y)p Fu(;)h Fr(y)g Fu(:=)f
Fr(z)p Fu(])-17 b(])q(id)413 683 y(=)32 b(\()p Ft(S)627
647 y Fi(0)627 708 y Fn(cs)690 683 y Fu([)-17 b([)q Fr(z)32
b Fu(:=)h Fr(x)p Fu(])-17 b(])33 b Ft(\016)g(S)1218 647
y Fi(0)1218 708 y Fn(cs)1282 683 y Fu([)-17 b([)p Fr(x)33
b Fu(:=)g Fr(y)p Fu(])-17 b(])33 b Ft(\016)f(S)1810 647
y Fi(0)1810 708 y Fn(cs)1874 683 y Fu([)-17 b([)p Fr(y)33
b Fu(:=)f Fr(z)p Fu(])-17 b(])q(\))33 b(id)413 851 y(=)f(\()p
Ft(S)627 814 y Fi(0)627 875 y Fn(cs)690 851 y Fu([)-17
b([)q Fr(z)32 b Fu(:=)h Fr(x)p Fu(])-17 b(])33 b Ft(\016)g(S)1218
814 y Fi(0)1218 875 y Fn(cs)1282 851 y Fu([)-17 b([)p
Fr(x)33 b Fu(:=)g Fr(y)p Fu(])-17 b(])q(\))32 b Fs(g)1752
866 y Fn(1)681 1018 y Fu(where)i Fs(g)1017 1033 y Fn(1)1089
1018 y Fs(s)40 b Fu(=)33 b(id\()p Fs(s)8 b Fu([)p Fr(y)p
Ft(7!)o Fu(\()p Fs(s)41 b Fr(z)p Fu(\)]\))413 1186 y(=)32
b Ft(S)589 1150 y Fi(0)589 1211 y Fn(cs)652 1186 y Fu([)-17
b([)q Fr(z)33 b Fu(:=)f Fr(x)p Fu(])-17 b(])q Fs(g)1052
1201 y Fn(2)681 1354 y Fu(where)34 b Fs(g)1017 1369 y
Fn(2)1089 1354 y Fs(s)40 b Fu(=)33 b Fs(g)1332 1369 y
Fn(1)1371 1354 y Fu(\()p Fs(s)8 b Fu([)p Fr(x)p Ft(7!)p
Fu(\()p Fs(s)40 b Fr(y)p Fu(\)]\))1169 1521 y(=)33 b(id\()p
Fs(s)8 b Fu([)p Fr(x)p Ft(7!)o Fu(\()p Fs(s)41 b Fr(y)p
Fu(\)][)p Fr(y)p Ft(7!)p Fu(\()p Fs(s)f Fr(z)p Fu(\)]\))413
1689 y(=)32 b Fs(g)575 1704 y Fn(3)681 1856 y Fu(where)i
Fs(g)1017 1871 y Fn(3)1089 1856 y Fs(s)40 b Fu(=)33 b
Fs(g)1332 1871 y Fn(2)1371 1856 y Fu(\()p Fs(s)8 b Fu([)p
Fr(z)p Ft(7!)p Fu(\()p Fs(s)40 b Fr(x)p Fu(\)]\))1169
2024 y(=)33 b(id\()p Fs(s)8 b Fu([)p Fr(z)p Ft(7!)o Fu(\()p
Fs(s)41 b Fr(x)p Fu(\)][)p Fr(x)p Ft(7!)p Fu(\()p Fs(s)f
Fr(y)p Fu(\)][)p Fr(y)p Ft(7!)q Fu(\()p Fs(s)g Fr(x)p
Fu(\)]\))0 2242 y(Note)33 b(that)f(the)h(seman)m(tic)f(function)g(is)h
(constructed)h(in)e(a)g(\\bac)m(kw)m(ards")i(manner.)258
b Fh(2)146 2491 y Fu(As)35 b(in)f(the)h(case)g(of)f(the)h(direct)g(st)m
(yle)g(seman)m(tics)f(w)m(e)i(m)m(ust)f(ensure)g(that)g(the)g(seman)m
(tic)0 2612 y(clauses)e(de\014ne)h(a)e(total)f(function)h
Ft(S)1372 2576 y Fi(0)1372 2636 y Fn(cs)1436 2612 y Fu(.)43
b(W)-8 b(e)33 b(lea)m(v)m(e)g(the)g(details)f(to)g(the)h(exercise)h(b)s
(elo)m(w.)0 2864 y Fw(Exercise)i(4.73)49 b Fu(**)40 b(T)-8
b(o)41 b(ensure)h(that)e(the)h(clauses)h(for)e Ft(S)2247
2828 y Fi(0)2247 2889 y Fn(cs)2351 2864 y Fu(de\014ne)i(a)e(total)f
(function)h(w)m(e)0 2984 y(m)m(ust)31 b(sho)m(w)h(that)e(FIX)h(is)f
(only)g(applied)f(to)i(con)m(tin)m(uous)g(functions.)43
b(First)30 b(one)h(ma)m(y)f(de\014ne)244 3203 y Fs(g)298
3218 y Fn(1)369 3203 y Ft(v)447 3166 y Fi(0)503 3203
y Fs(g)557 3218 y Fn(2)628 3203 y Fu(if)i(and)g(only)g(if)g
Fs(g)1265 3218 y Fn(1)1336 3203 y Fs(c)38 b Ft(v)33 b
Fs(g)1583 3218 y Fn(2)1655 3203 y Fs(c)38 b Fu(for)32
b(all)f Fs(c)38 b Ft(2)33 b Fw(Con)m(t)0 3421 y Fu(and)g(sho)m(w)g
(that)g(\()p Fw(Con)m(t)f Ft(!)g Fw(Con)m(t)p Fu(,)g
Ft(v)1462 3385 y Fi(0)1485 3421 y Fu(\))h(is)f(a)g(ccp)s(o.)44
b(Secondly)-8 b(,)33 b(one)g(ma)m(y)f(de\014ne)244 3639
y([)p Fw(Con)m(t)g Ft(!)g Fw(Con)m(t)p Fu(])h(=)f Ft(f)g
Fs(g)9 b Fu(:)43 b Fw(Con)m(t)33 b Ft(!)f Fw(Con)m(t)g
Ft(j)g Fs(g)41 b Fu(is)32 b(con)m(tin)m(uous)i Ft(g)0
3857 y Fu(and)29 b(sho)m(w)i(that)e(\([)p Fw(Con)m(t)g
Ft(!)f Fw(Con)m(t)p Fu(],)i Ft(v)1497 3821 y Fi(0)1520
3857 y Fu(\))f(is)g(a)g(ccp)s(o.)42 b(Finally)-8 b(,)28
b(one)h(ma)m(y)g(use)h(Exercise)h(4.41)0 3978 y(\(with)26
b Fs(D)36 b Fu(=)26 b([)p Fw(Con)m(t)g Ft(!)g Fw(Con)m(t)p
Fu(]\))h(to)f(sho)m(w)i(that)e(the)h(clauses)g(of)f(T)-8
b(able)27 b(4.7)f(de\014ne)i(a)e(function)244 4196 y
Ft(S)312 4160 y Fi(0)312 4221 y Fn(cs)375 4196 y Fu(:)43
b([)p Fw(Con)m(t)33 b Ft(!)f Fw(Con)m(t)p Fu(])0 4414
y(using)g(structural)h(induction)e(on)i Fs(S)12 b Fu(.)2029
b Fh(2)0 4664 y Fw(Exercise)36 b(4.74)49 b Fu(*)33 b(Pro)m(v)m(e)h
(that)e(the)h(t)m(w)m(o)g(seman)m(tic)g(functions)f Ft(S)2504
4679 y Fn(ds)2608 4664 y Fu(and)g Ft(S)2865 4627 y Fi(0)2865
4688 y Fn(cs)2961 4664 y Fu(satisfy)244 4882 y Ft(S)312
4846 y Fi(0)312 4906 y Fn(cs)375 4882 y Fu([)-17 b([)q
Fs(S)12 b Fu(])-17 b(])p Fs(c)38 b Fu(=)33 b Fs(c)38
b Ft(\016)32 b(S)942 4897 y Fn(ds)1013 4882 y Fu([)-17
b([)q Fs(S)12 b Fu(])-17 b(])0 5100 y(for)32 b(all)f(statemen)m(ts)i
Fs(S)44 b Fu(of)33 b Fw(While)d Fu(and)j(for)f(all)f(con)m(tin)m
(uations)h Fs(c)6 b Fu(.)933 b Fh(2)0 5349 y Fw(Exercise)36
b(4.75)49 b Fu(Extend)26 b(the)g(language)d Fw(While)g
Fu(with)h(the)h(construct)h Fr(repeat)34 b Fs(S)45 b
Fr(until)34 b Fs(b)0 5470 y Fu(and)f(giv)m(e)f(the)h(new)h(\(comp)s
(ositional\))29 b(clause)j(for)g Ft(S)1960 5433 y Fi(0)1960
5494 y Fn(cs)2024 5470 y Fu(.)1347 b Fh(2)p eop
%%Page: 130 140
130 139 bop 251 130 a Fw(130)1978 b(4)112 b(Denotational)36
b(Seman)m(tics)p 251 193 3473 4 v 283 419 V 283 2219
4 1800 v 666 519 a Ft(S)733 534 y Fn(cs)797 519 y Fu([)-17
b([)p Fs(x)12 b Fu(:=)p Fs(a)7 b Fu(])-17 b(])q Fs(env)1245
534 y Fc(E)1336 519 y Fs(c)38 b(s)j Fu(=)32 b Fs(c)38
b Fu(\()p Fs(s)8 b Fu([)p Fs(x)k Ft(7!A)o Fu([)-17 b([)q
Fs(a)7 b Fu(])-17 b(])q Fs(s)8 b Fu(]\))666 710 y Ft(S)733
725 y Fn(cs)797 710 y Fu([)-17 b([)p Fr(skip)p Fu(])g(])r
Fs(env)1233 725 y Fc(E)1324 710 y Fu(=)33 b(id)666 901
y Ft(S)733 916 y Fn(cs)797 901 y Fu([)-17 b([)p Fs(S)901
916 y Fn(1)973 901 y Fu(;)33 b Fs(S)1100 916 y Fn(2)1139
901 y Fu(])-17 b(])q Fs(env)1333 916 y Fc(E)1424 901
y Fu(=)32 b(\()p Ft(S)1638 916 y Fn(cs)1701 901 y Fu([)-17
b([)q Fs(S)1806 916 y Fn(1)1845 901 y Fu(])g(])q Fs(env)2039
916 y Fc(E)2098 901 y Fu(\))32 b Ft(\016)g Fu(\()p Ft(S)2356
916 y Fn(cs)2419 901 y Fu([)-17 b([)q Fs(S)2524 916 y
Fn(2)2563 901 y Fu(])g(])q Fs(env)2757 916 y Fc(E)2816
901 y Fu(\))666 1092 y Ft(S)733 1107 y Fn(cs)797 1092
y Fu([)g([)p Fr(if)33 b Fs(b)39 b Fr(then)33 b Fs(S)1357
1107 y Fn(1)1429 1092 y Fr(else)h Fs(S)1734 1107 y Fn(2)1773
1092 y Fu(])-17 b(])q Fs(env)1967 1107 y Fc(E)2058 1092
y Fs(c)38 b Fu(=)934 1260 y(cond\()p Ft(B)t Fu([)-17
b([)q Fs(b)6 b Fu(])-17 b(],)33 b Ft(S)1495 1275 y Fn(cs)1558
1260 y Fu([)-17 b([)q Fs(S)1663 1275 y Fn(1)1702 1260
y Fu(])g(])q Fs(env)1896 1275 y Fc(E)1987 1260 y Fs(c)6
b Fu(,)32 b Ft(S)2165 1275 y Fn(cs)2228 1260 y Fu([)-17
b([)q Fs(S)2333 1275 y Fn(2)2372 1260 y Fu(])g(])q Fs(env)2566
1275 y Fc(E)2657 1260 y Fs(c)6 b Fu(\))666 1451 y Ft(S)733
1466 y Fn(cs)797 1451 y Fu([)-17 b([)p Fr(while)34 b
Fs(b)39 b Fr(do)33 b Fs(S)12 b Fu(])-17 b(])p Fs(env)1602
1466 y Fc(E)1693 1451 y Fu(=)33 b(FIX)f Fs(G)934 1619
y Fu(where)i(\()p Fs(G)42 b(g)9 b Fu(\))32 b Fs(c)38
b Fu(=)32 b(cond\()p Ft(B)t Fu([)-17 b([)q Fs(b)6 b Fu(])-17
b(],)33 b Ft(S)2247 1634 y Fn(cs)2310 1619 y Fu([)-17
b([)q Fs(S)12 b Fu(])-17 b(])p Fs(env)2608 1634 y Fc(E)2699
1619 y Fu(\()p Fs(g)41 b(c)6 b Fu(\),)33 b Fs(c)6 b Fu(\))666
1810 y Ft(S)733 1825 y Fn(cs)797 1810 y Fu([)-17 b([)p
Fr(begin)34 b Fs(S)1190 1825 y Fn(1)1262 1810 y Fr(handle)g
Fs(e)7 b Fu(:)44 b Fs(S)1792 1825 y Fn(2)1864 1810 y
Fr(end)p Fu(])-17 b(])q Fs(env)2211 1825 y Fc(E)2302
1810 y Fs(c)38 b Fu(=)934 1978 y Ft(S)1002 1993 y Fn(cs)1065
1978 y Fu([)-17 b([)q Fs(S)1170 1993 y Fn(1)1209 1978
y Fu(])g(])q(\()p Fs(env)1441 1993 y Fc(E)1500 1978 y
Fu([)p Fs(e)7 b Ft(7!S)1746 1993 y Fn(cs)1810 1978 y
Fu([)-17 b([)p Fs(S)1914 1993 y Fn(2)1954 1978 y Fu(])g(])p
Fs(env)2147 1993 y Fc(E)2238 1978 y Fs(c)6 b Fu(]\))33
b Fs(c)666 2169 y Ft(S)733 2184 y Fn(cs)797 2169 y Fu([)-17
b([)p Fr(raise)34 b Fs(e)7 b Fu(])-17 b(])q Fs(env)1369
2184 y Fc(E)1460 2169 y Fs(c)38 b Fu(=)33 b Fs(env)1808
2184 y Fc(E)1899 2169 y Fs(e)p 3753 2219 V 283 2222 3473
4 v 991 2383 a Fu(T)-8 b(able)33 b(4.8:)43 b(Con)m(tin)m(uation)31
b(st)m(yle)j(seman)m(tics)e(for)g Fw(Exc)283 2677 y(The)38
b(seman)m(tic)e(function)h Ft(S)1483 2692 y Fn(cs)1584
2677 y Fw(for)g(Exc)283 2871 y Fu(In)30 b(order)g(to)f(k)m(eep)i(trac)m
(k)f(of)f(the)h(exceptions)h(that)e(ha)m(v)m(e)i(b)s(een)f(in)m(tro)s
(duced)g(w)m(e)g(shall)e(use)j(an)283 2992 y Fs(exc)-5
b(eption)34 b(envir)-5 b(onment)p Fu(.)43 b(It)32 b(will)f(b)s(e)h(an)h
(elemen)m(t,)f Fs(env)2408 3007 y Fc(E)2467 2992 y Fu(,)h(of)527
3219 y Fw(En)m(v)719 3234 y Fn(E)804 3219 y Fu(=)f Fw(Exception)g
Ft(!)g Fw(Con)m(t)283 3446 y Fu(Giv)m(en)h(an)f(exception)h(en)m
(vironmen)m(t)f Fs(env)1853 3461 y Fc(E)1944 3446 y Fu(and)h(an)f
(exception)h Fs(e)7 b Fu(,)33 b(the)f(e\013ect)h(of)f(executing)283
3566 y(the)f(remainder)e(of)g(the)i(program)d(starting)h(from)g(the)h
(handler)g(for)f Fs(e)38 b Fu(will)27 b(then)k(b)s(e)f
Fs(env)3588 3581 y Fc(E)3677 3566 y Fs(e)7 b Fu(.)430
3691 y(The)40 b(seman)m(tic)f(function)f Ft(S)1504 3706
y Fn(cs)1606 3691 y Fu(for)h(the)h(statemen)m(ts)g(of)e(the)i(language)
e Fw(Exc)g Fu(has)i(func-)283 3812 y(tionalit)m(y)527
4039 y Ft(S)595 4054 y Fn(cs)658 4039 y Fu(:)k Fw(Stm)32
b Ft(!)g Fw(En)m(v)1285 4054 y Fn(E)1369 4039 y Ft(!)h
Fu(\()p Fw(Con)m(t)f Ft(!)g Fw(Con)m(t)p Fu(\))283 4265
y(The)25 b(function)f(is)f(de\014ned)i(b)m(y)g(the)g(clauses)f(of)g(T)
-8 b(able)23 b(4.8.)40 b(Most)25 b(of)e(the)h(clauses)h(are)f(straigh)m
(t-)283 4386 y(forw)m(ard)g(extensions)h(of)e(those)h(giv)m(en)g(for)f
Fw(While)f Fu(in)g(T)-8 b(able)23 b(4.7.)40 b(The)25
b(meaning)d(of)h(the)h(blo)s(c)m(k)283 4506 y(construct)33
b(is)d(to)h(execute)i(the)f(b)s(o)s(dy)f(in)f(the)i(up)s(dated)g(en)m
(vironmen)m(t.)43 b(Therefore)32 b(the)g(en)m(vi-)283
4627 y(ronmen)m(t)g(is)g(up)s(dated)g(so)g(that)g Fs(e)39
b Fu(is)32 b(b)s(ound)g(to)g(the)g(e\013ect)h(of)e(executing)i(the)f
(remainder)f(of)283 4747 y(the)i(program)d(starting)h(from)f(the)i
(handler)f(for)g Fs(e)39 b Fu(and)32 b(this)f(is)h(the)g(con)m(tin)m
(uation)e(obtained)283 4867 y(b)m(y)j(executing)f(\014rst)g
Fs(S)1120 4882 y Fn(2)1191 4867 y Fu(and)g(then)g(the)g(remainder)f(of)
g(the)h(program,)e(that)h(is)h Ft(S)3296 4882 y Fn(cs)3360
4867 y Fu([)-17 b([)p Fs(S)3464 4882 y Fn(2)3504 4867
y Fu(])g(])p Fs(env)3697 4882 y Fc(E)283 4988 y Fs(c)6
b Fu(.)48 b(Finally)-8 b(,)31 b(in)i(the)i(clause)f(for)f
Fr(raise)i Fs(e)41 b Fu(w)m(e)35 b Fs(ignor)-5 b(e)41
b Fu(the)34 b(con)m(tin)m(uation)f(that)h(is)f(otherwise)283
5108 y(supplied.)44 b(So)32 b(rather)h(than)f(using)h
Fs(c)38 b Fu(w)m(e)33 b(c)m(ho)s(ose)h(to)e(use)i Fs(env)2598
5123 y Fc(E)2689 5108 y Fs(e)7 b Fu(.)283 5374 y Fw(Example)37
b(4.76)49 b Fu(Let)40 b Fs(env)1332 5389 y Fc(E)1431
5374 y Fu(b)s(e)g(an)g(initial)c(en)m(vironmen)m(t)k(and)g(assume)h
(that)e(the)i(initial)283 5494 y(con)m(tin)m(uation)32
b(is)g(the)h(iden)m(tit)m(y)g(function,)f(id.)42 b(Then)34
b(w)m(e)g(ha)m(v)m(e)p eop
%%Page: 131 141
131 140 bop 0 130 a Fw(4.5)112 b(Extensions)37 b(of)h(While)2063
b(131)p 0 193 3473 4 v 244 515 a Ft(S)312 530 y Fn(cs)375
515 y Fu([)-17 b([)q Fr(begin)33 b(while)h(true)g(do)f(if)g(x)p
Ft(\024)q Fr(0)g(then)g(raise)h(exit)g(else)f(x)g Fu(:=)f
Fr(x)p Ft(\000)p Fr(1)413 683 y(handle)i(exit)p Fu(:)44
b Fr(y)33 b Fu(:=)g Fr(7)f(end)p Fu(])-17 b(])r Fs(env)1679
698 y Fc(E)1770 683 y Fu(id)244 851 y(=)93 b(\(FIX)32
b Fs(G)9 b Fu(\))33 b(id)0 1054 y(where)h Fs(G)42 b Fu(is)32
b(de\014ned)i(b)m(y)244 1257 y Fs(G)42 b(g)f(c)d(s)i
Fu(=)33 b(cond\()p Ft(B)t Fu([)-17 b([)p Fr(true)p Fu(])g(])r(,)957
1425 y(cond\()p Ft(B)t Fu([)g([)q Fr(x)p Ft(\024)q Fr(0)p
Fu(])g(],)33 b Fs(c)1630 1440 y Fn(exit)1749 1425 y Fu(,)g
Fs(S)1876 1440 y Fn(cs)1939 1425 y Fu([)-17 b([)q Fr(x)33
b Fu(:=)f Fr(x)p Ft(\000)p Fr(1)p Fu(])-17 b(])r Fs(env)2570
1440 y Fc(E)2628 1425 y Fu([)p Fr(exit)p Ft(7!)p Fs(c)3010
1440 y Fn(exit)3131 1425 y Fu(])32 b(\()p Fs(g)41 b(c)6
b Fu(\)\),)957 1593 y Fs(c)g Fu(\))32 b Fs(s)610 1850
y Fu(=)719 1676 y Fg(8)719 1751 y(<)719 1900 y(:)834
1766 y Fs(c)885 1781 y Fn(exit)1037 1766 y Fs(s)756 b
Fu(if)31 b Fs(s)41 b Fr(x)32 b Ft(\024)h Fw(0)834 1933
y Fu(\()p Fs(g)41 b(c)6 b Fu(\))32 b(\()p Fs(s)8 b Fu([)p
Fr(x)p Ft(7!)p Fu(\()p Fs(s)41 b Fr(x)p Fu(\))p Ft(\000)p
Fw(1)p Fu(]\))84 b(if)31 b Fs(s)41 b Fr(x)32 b Fo(>)h
Fw(0)0 2135 y Fu(and)g(the)g(con)m(tin)m(uation)e Fs(c)972
2150 y Fn(exit)1124 2135 y Fu(asso)s(ciated)i(with)f(the)h(exception)g
Fr(exit)h Fu(is)e(giv)m(en)g(b)m(y)244 2339 y Fs(c)295
2354 y Fn(exit)447 2339 y Fs(s)40 b Fu(=)33 b(id)f(\()p
Fs(s)8 b Fu([)p Fr(y)p Ft(7!)p Fw(7)p Fu(]\))32 b(=)h
Fs(s)8 b Fu([)p Fr(y)p Ft(7!)p Fw(7)p Fu(])0 2542 y(Note)36
b(that)f Fs(G)45 b Fu(ma)m(y)36 b(c)m(ho)s(ose)h(to)e(use)i(the)f
(\\default")f(con)m(tin)m(uation)f Fs(c)42 b Fu(or)35
b(the)h(con)m(tin)m(uation)0 2663 y Fs(c)51 2678 y Fn(exit)203
2663 y Fu(asso)s(ciated)c(with)h(the)g(exception,)g(as)g(appropriate.)
42 b(W)-8 b(e)33 b(then)g(get)269 2912 y(\(FIX)f Fs(G)9
b Fu(\))33 b(id)f Fs(s)40 b Fu(=)969 2738 y Fg(8)969
2812 y(<)969 2962 y(:)1084 2827 y Fs(s)8 b Fu([)p Fr(y)p
Ft(7!)p Fw(7)p Fu(])344 b(if)32 b Fs(s)40 b Fr(x)33 b
Ft(\024)g Fw(0)1084 2995 y Fs(s)8 b Fu([)p Fr(x)p Ft(7!)p
Fw(0)p Fu(][)p Fr(y)p Ft(7!)p Fw(7)p Fu(])83 b(if)32
b Fs(s)40 b Fr(x)33 b Fo(>)g Fw(0)3398 2912 y Fh(2)0
3222 y Fw(Exercise)j(4.77)49 b Fu(Sho)m(w)33 b(that)f(FIX)g
Fs(G)42 b Fu(as)32 b(sp)s(eci\014ed)h(in)f(the)g(ab)s(o)m(v)m(e)h
(example)f(is)f(indeed)i(the)0 3342 y(least)39 b(\014xed)j(p)s(oin)m
(t,)f(that)e(is)h(construct)h(the)f(iterands)g Fs(G)2171
3306 y Fn(n)2254 3342 y Ft(?)h Fu(and)f(sho)m(w)h(that)e(their)h(least)
0 3463 y(upp)s(er)33 b(b)s(ound)g(is)f(as)h(sp)s(eci\014ed.)2213
b Fh(2)0 3691 y Fw(Exercise)36 b(4.78)49 b Fu(**)31 b(Extend)j
(Exercise)f(4.73)e(to)g(sho)m(w)i(the)f(w)m(ell-de\014nedness)h(of)e
(the)h(func-)0 3811 y(tion)g Ft(S)268 3826 y Fn(cs)364
3811 y Fu(de\014ned)i(b)m(y)g(the)f(clauses)g(of)f(T)-8
b(able)32 b(4.8.)1537 b Fh(2)0 4040 y Fw(Exercise)36
b(4.79)49 b Fu(Supp)s(ose)36 b(that)e(there)i(is)e(a)g(distinguished)g
(output)h(v)-5 b(ariable)33 b Fr(out)i Ft(2)g Fw(V)-9
b(ar)0 4160 y Fu(and)38 b(that)f(only)h(the)g(\014nal)f(v)-5
b(alue)37 b(of)g(this)h(v)-5 b(ariable)36 b(is)h(of)g(in)m(terest.)60
b(This)38 b(migh)m(t)e(motiv)-5 b(ate)0 4280 y(de\014ning)244
4484 y Fw(Con)m(t)32 b Fu(=)h Fw(State)f Fo(,)-17 b Ft(!)33
b Fw(Z)0 4687 y Fu(De\014ne)h(the)h(initial)30 b(con)m(tin)m(uation)j
Fs(c)1372 4702 y Fn(0)1444 4687 y Ft(2)h Fw(Con)m(t)p
Fu(.)47 b(What)34 b(c)m(hanges)h(to)f Fw(En)m(v)2808
4702 y Fn(E)2860 4687 y Fu(,)g(the)g(function-)0 4808
y(alit)m(y)d(of)h Ft(S)401 4823 y Fn(cs)497 4808 y Fu(and)h(T)-8
b(able)32 b(4.8)g(are)h(necessary?)1680 b Fh(2)p eop
%%Page: 132 142
132 141 bop 251 130 a Fw(132)1978 b(4)112 b(Denotational)36
b(Seman)m(tics)p 251 193 3473 4 v eop
%%Page: 133 143
133 142 bop 0 1185 a Fv(Chapter)78 b(5)0 1606 y(Static)g(Program)f
(Analysis)0 2063 y Fu(When)41 b(implemen)m(ting)36 b(a)k(programming)d
(language)h(it)h(is)g(crucial)f(that)i(the)g(implemen)m(ta-)0
2184 y(tion)30 b(is)h(faithful)f(to)h(the)h(seman)m(tics)g(of)f(the)h
(language)e(and)i(in)e(Chapter)j(3)e(w)m(e)h(sa)m(w)h(ho)m(w)f(the)0
2304 y(op)s(erational)27 b(seman)m(tics)j(could)f(b)s(e)h(used)g(to)f
(pro)m(v)m(e)i(this)e(formally)-8 b(.)40 b(Ho)m(w)m(ev)m(er,)32
b(it)d(is)g(also)g(im-)0 2425 y(p)s(ortan)m(t)f(that)f(the)h(implemen)m
(tation)d(is)j(reasonably)f(e\016cien)m(t)i(and)f(it)f(is)g(therefore)i
(common)0 2545 y(to)f(com)m(bine)f(the)h(co)s(de)h(generation)e(with)g
(v)-5 b(arious)28 b(analyses)g(collecting)e(information)f(ab)s(out)0
2665 y(the)34 b(programs.)45 b(In)34 b(this)f(c)m(hapter)i(w)m(e)f
(shall)e(dev)m(elop)i(one)g(suc)m(h)h(analysis)e(in)f(detail)g(but)i
(let)0 2786 y(us)f(\014rst)g(consider)g(a)f(couple)h(of)f(example)g
(analyses.)146 2912 y Fs(Constant)47 b(pr)-5 b(op)g(agation)53
b Fu(is)46 b(an)g(analysis)g(that)g(determines)h(whether)h(an)e
(expression)0 3032 y(alw)m(a)m(ys)30 b(ev)-5 b(aluates)30
b(to)f(a)h(constan)m(t)g(v)-5 b(alue)30 b(and)f(if)g(so)h(determines)g
(that)f(v)-5 b(alue.)42 b(The)31 b(analysis)0 3152 y(is)44
b(the)g(basis)g(for)g(an)g(optimization)d(called)i Fs(c)-5
b(onstant)45 b(folding)51 b Fu(where)46 b(the)e(expression)i(is)0
3273 y(replaced)30 b(b)m(y)i(the)e(constan)m(t.)44 b(As)31
b(an)f(example)g(the)g(analysis)g(will)e(detect)j(that)f(the)h(v)-5
b(alue)30 b(of)0 3393 y Fr(y)j Fu(in)f(the)h(statemen)m(t)244
3624 y Fr(x)g Fu(:=)f Fr(5)p Fu(;)h Fr(y)g Fu(:=)f Fr(x)h
Fo(?)f Fr(x)h Fu(+)g Fr(25)0 3854 y Fu(will)d(alw)m(a)m(ys)j(b)s(e)g
Fw(50)p Fu(.)44 b(It)32 b(is)g(therefore)i(safe)f(to)f(replace)g(the)h
(statemen)m(t)g(b)m(y)244 4085 y Fr(x)g Fu(:=)f Fr(5)p
Fu(;)h Fr(y)g Fu(:=)f Fr(50)0 4316 y Fu(and)h(more)f(e\016cien)m(t)h
(co)s(de)g(can)g(b)s(e)f(generated.)146 4441 y(Another)j(example)f(is)g
(the)h Fs(dete)-5 b(ction)36 b(of)h(signs)f(analysis)41
b Fu(where)36 b(the)f(idea)f(is)g(to)g(deter-)0 4562
y(mine)e(the)i(sign)e(of)h(expressions.)47 b(So)33 b(it)f(will)f(for)i
(example)f(determine)h(that)g(the)h(v)-5 b(alue)32 b(of)h
Fr(y)0 4682 y Fu(in)244 4913 y Fr(y)g Fu(:=)f Fr(x)h
Fo(?)f Fr(x)h Fu(+)f Fr(25)0 5143 y Fu(alw)m(a)m(ys)24
b(will)e(b)s(e)h(p)s(ositiv)m(e)g(\(indep)s(enden)m(tly)i(of)e(the)h(v)
-5 b(alue)23 b(assigned)h(to)f Fr(x)p Fu(\).)41 b(This)24
b(information)0 5264 y(will)30 b(b)s(e)j(useful)g(for)f(an)g
(optimization)d(kno)m(wn)34 b(as)f Fs(c)-5 b(o)g(de)34
b(elimination)p Fu(:)42 b(in)32 b(a)g(statemen)m(t)h(as)244
5494 y Fr(y)g Fu(:=)f Fr(x)h Fo(?)f Fr(x)h Fu(+)f Fr(25)p
Fu(;)i Fr(while)f(y)g Ft(\024)g Fr(0)g(do)g Ft(\001)17
b(\001)g(\001)1663 5849 y Fu(133)p eop
%%Page: 134 144
134 143 bop 251 130 a Fw(134)1937 b(5)112 b(Static)37
b(Program)f(Analysis)p 251 193 3473 4 v 283 515 a Fu(there)48
b(is)f(no)g(need)h(to)f(generate)h(co)s(de)g(for)e(the)i
Fr(while)p Fu(-lo)s(op)e(b)s(ecause)j(it)d(will)f(nev)m(er)k(b)s(e)283
636 y(executed.)430 757 y(The)30 b(example)f(analysis)f(to)h(b)s(e)h
(dev)m(elop)s(ed)g(in)e(this)h(c)m(hapter)h(is)f(a)g
Fs(dep)-5 b(endency)31 b(analysis)p Fu(.)283 878 y(Here)38
b(the)f(idea)g(is)f(to)g(regard)h(some)g(of)f(the)i(v)-5
b(ariables)35 b(as)i Fs(input)47 b Fu(v)-5 b(ariables)35
b(and)i(others)h(as)283 998 y Fs(output)k Fu(v)-5 b(ariables.)41
b(The)32 b(analysis)e(will)f(then)j(determine)e(whether)i(or)f(not)g
(the)g(\014nal)f(v)-5 b(alues)283 1118 y(of)24 b(the)g(output)g(v)-5
b(ariables)23 b(only)g(dep)s(end)i(up)s(on)f(the)g(initial)c(v)-5
b(alues)24 b(of)f(the)h(input)g(v)-5 b(ariables.)39 b(If)283
1239 y(so)27 b(w)m(e)g(shall)e(sa)m(y)i(that)f(there)h(is)e(a)h
Fs(functional)i(dep)-5 b(endency)34 b Fu(b)s(et)m(w)m(een)28
b(the)f(input)e(and)i(output)283 1359 y(v)-5 b(ariables)32
b(of)g(the)h(statemen)m(t.)44 b(As)33 b(an)f(example)h(consider)f(once)
i(more)e(the)h(statemen)m(t)527 1568 y Fr(y)g Fu(:=)g
Fr(x)f Fo(?)h Fr(x)f Fu(+)h Fr(25)283 1776 y Fu(and)26
b(assume)g(that)g Fr(x)g Fu(is)f(an)h(input)f(v)-5 b(ariable)24
b(and)i Fr(y)g Fu(an)f(output)h(v)-5 b(ariable.)40 b(Then)26
b(the)h(analysis)283 1897 y(will)j(conclude)i(that)f(there)h(is)f
(indeed)h(a)f(functional)f(dep)s(endency)k(b)s(et)m(w)m(een)g(the)e
(input)f(and)283 2017 y(output)37 b(v)-5 b(ariables)36
b(for)g(the)i(ab)s(o)m(v)m(e)f(statemen)m(t.)57 b(Ho)m(w)m(ev)m(er,)40
b(if)c Fr(x)h Fu(is)f Fs(not)46 b Fu(an)37 b(input)g(v)-5
b(ariable)283 2138 y(then)30 b(the)f(analysis)f(will)f(determine)i
(that)f(the)i(v)-5 b(alue)28 b(of)g Fr(y)h Fu(is)g(dubious)g(as)g(it)f
(do)s(es)h(not)g(solely)283 2258 y(dep)s(end)e(on)e(the)g(v)-5
b(alues)25 b(of)f(the)i(input)e(v)-5 b(ariables.)40 b(In)25
b(that)g(case)h(the)f(compiler)e(migh)m(t)h(c)m(ho)s(ose)283
2378 y(to)33 b(issue)g(a)f(w)m(arning)g(as)h(this)f(probably)g(is)h
(not)f(the)h(in)m(ten)m(tion)f(of)g(the)h(programmer.)430
2500 y(A)f(more)g(in)m(teresting)g(example)h(program)e(is)h(the)h
(factorial)d(statemen)m(t:)527 2708 y Fr(y)j Fu(:=)g
Fr(1)p Fu(;)f Fr(while)i Ft(:)f Fu(\()p Fr(x)g Fu(=)f
Fr(1)p Fu(\))h Fr(do)g Fu(\()p Fr(y)g Fu(:=)f Fr(y)h
Fo(?)f Fr(x)p Fu(;)h Fr(x)g Fu(:=)g Fr(x)f Ft(\000)h
Fr(1)p Fu(\))283 2917 y(Again)h(assume)h(that)f Fr(x)h
Fu(is)f(an)g(input)g(v)-5 b(ariable)33 b(and)h(that)h
Fr(y)f Fu(is)g(an)h(output)f(v)-5 b(ariable.)48 b(Then)283
3038 y(the)35 b(\014nal)d(v)-5 b(alue)34 b(of)f Fr(y)h
Fu(only)f(dep)s(ends)i(up)s(on)f(the)g(initial)c(v)-5
b(alue)33 b(of)g Fr(x)p Fu(.)47 b(Ho)m(w)m(ev)m(er,)37
b(if)32 b(w)m(e)j(drop)283 3158 y(the)k(initialization)32
b(of)37 b Fr(y)h Fu(\(and)g(assume)g(that)g Fr(y)g Fu(is)f(not)h(an)f
(input)h(v)-5 b(ariable\))36 b(and)i(consider)283 3278
y(the)33 b(statemen)m(t)527 3487 y Fr(while)h Ft(:)f
Fu(\()p Fr(x)g Fu(=)f Fr(1)p Fu(\))h Fr(do)g Fu(\()p
Fr(y)g Fu(:=)f Fr(y)h Fo(?)f Fr(x)p Fu(;)h Fr(x)g Fu(:=)f
Fr(x)h Ft(\000)g Fr(1)p Fu(\))283 3696 y(then)42 b(the)f(\014nal)f(v)-5
b(alue)40 b(of)g Fr(y)g Fu(do)s(es)h(not)g(only)f(dep)s(end)i(on)e(the)
h(initial)c(v)-5 b(alue)40 b(of)g(the)h(input)283 3816
y(v)-5 b(ariable)23 b Fr(x)p Fu(,)j(but)e(also)f(on)h(the)g(initial)c
(v)-5 b(alue)23 b(of)h Fr(y)p Fu(,)i(so)e(it)f(is)g Fs(not)34
b Fu(the)24 b(case)h(that)e(the)i(\014nal)e(v)-5 b(alues)283
3936 y(of)33 b(the)g(output)f(v)-5 b(ariables)32 b(only)g(dep)s(end)h
(on)g(the)g(initial)c(v)-5 b(alues)32 b(of)g(the)h(input)f(v)-5
b(ariables.)430 4058 y(The)38 b(kind)f(of)g(analyses)g(exempli\014ed)g
(ab)s(o)m(v)m(e)h(can)g(b)s(e)f(sp)s(eci\014ed)h(b)m(y)g(de\014ning)f
(so-called)283 4178 y Fs(non-standar)-5 b(d)42 b(semantics)47
b Fu(of)41 b(the)g(programming)d(language.)67 b(These)42
b(seman)m(tics)f(will)e(b)s(e)283 4299 y(patterned)k(after)e(the)h
(denotational)e(seman)m(tics)i(of)f(Chapter)h(4)g(but)g(they)g
(di\013er)f(in)g(that)283 4419 y(they)30 b(do)f Fs(not)39
b Fu(op)s(erate)29 b(on)f(the)i(exact)g(v)-5 b(alues)29
b(of)f(v)-5 b(ariables)28 b(and)h(expressions)i(but)e(rather)g(on)283
4539 y Fs(pr)-5 b(op)g(erties)42 b Fu(of)33 b(the)h(exact)h(v)-5
b(alues.)47 b(F)-8 b(or)33 b(the)h(constan)m(t)h(propagation)d
(analysis)h(w)m(e)i(ma)m(y)f(use)283 4660 y(prop)s(erties)f(lik)m(e)527
4868 y Fb(any)p Fu(,)g Fb(const)p Fu(-)p Fb(0)p Fu(,)f
Fb(const)p Fu(-)p Fb(1)p Fu(,)g Fb(const)p Fu(-)p Fb(2)p
Fu(,)g Ft(\001)17 b(\001)g(\001)283 5077 y Fu(F)-8 b(or)32
b(the)h(detection)g(of)f(signs)h(analysis)e(w)m(e)j(ma)m(y)e(use)i
(prop)s(erties)e(lik)m(e)527 5286 y Fb(any)p Fu(,)h Fb(pos)p
Fu(,)f Fb(neg)p Fu(,)h(and)f Fb(zer)n(o)283 5494 y Fu(and)h(for)f(the)h
(dep)s(endency)i(analysis)d(w)m(e)i(ma)m(y)e(use)i(prop)s(erties)p
eop
%%Page: 135 145
135 144 bop 0 130 a Fw(5.1)112 b(Prop)s(erties)36 b(and)j(prop)s(ert)m
(y)e(states)1540 b(135)p 0 193 3473 4 v 244 515 a Fb(d)p
Fu(?)33 b(\(meaning)e(dubious\))h(and)h Fb(ok)g Fu(\(meaning)e(prop)s
(er\))146 701 y(Usually)-8 b(,)38 b(the)g(analyses)g(will)d(b)s(e)j
(part)f(of)g(a)g(compiler)e(and)j(it)e(is)h(therefore)h(imp)s(ortan)m
(t)0 821 y(that)29 b(they)g(alw)m(a)m(ys)h(terminate)d(ev)m(en)k(for)d
(programs)g(that)g(lo)s(op)f(when)j(executed.)45 b(The)30
b(price)0 942 y(w)m(e)c(pa)m(y)f(for)f(alw)m(a)m(ys)h(getting)f(answ)m
(ers)j(is)d(that)g(w)m(e)i(o)s(ccasionally)c(get)j(imprecise)f(answ)m
(ers.)42 b(So)0 1062 y(in)28 b(the)i(case)g(of)f(constan)m(t)h
(propagation)d(the)j(prop)s(ert)m(y)g Fb(any)f Fu(means)g(that)g(the)h
(analysis)e(w)m(as)0 1182 y(not)e(able)f(to)h(detect)h(that)f(the)h(v)
-5 b(alue)25 b(alw)m(a)m(ys)i(w)m(ould)f(b)s(e)g(constan)m(t.)43
b(Similarly)-8 b(,)23 b(the)k(prop)s(ert)m(y)0 1303 y
Fb(any)40 b Fu(for)f(the)h(detection)g(of)g(signs)f(analysis)h(means)f
(that)h(the)g(analysis)f(w)m(as)i(not)f(able)f(to)0 1423
y(detect)f(a)e(unique)h(sign)f(for)f(the)i(v)-5 b(alue.)55
b(F)-8 b(or)35 b(the)i(dep)s(endency)i(analysis)d(the)h(prop)s(ert)m(y)
g Fb(d)p Fu(?)0 1544 y(means)k(that)h(the)f(analysis)g(w)m(as)h(not)g
(able)e(to)h(detect)i(that)e(the)h(v)-5 b(alue)41 b(only)f(dep)s(ends)j
(on)0 1664 y(the)f(input)g(v)-5 b(ariables.)69 b(Note)42
b(that)g(an)f(analysis)h(that)f(alw)m(a)m(ys)h(returns)h(these)g
(\\fail-safe")0 1784 y(prop)s(erties)35 b(will)e(b)s(e)j(a)f(safe)h
(analysis)e(although)h(not)g(a)g(v)m(ery)i(informativ)m(e)c(one.)52
b(Also)35 b(note)0 1905 y(that)29 b(in)f(the)i(case)g(of)f(the)h(dep)s
(endency)h(analysis)e(w)m(e)h(could)f(alw)m(a)m(ys)h(exp)s(ect)g(the)g
(answ)m(er)h Fb(ok)0 2025 y Fu(if)h(all)g(v)-5 b(ariables)32
b(w)m(ere)j(regarded)f(as)g(input)f(v)-5 b(ariables)32
b(but)i(again)e(this)h(is)g(not)h(what)g(w)m(e)g(are)0
2145 y(in)m(terested)g(in.)146 2266 y(The)e(analysis)d(w)m(e)j(shall)d
(dev)m(elop)i(will)d(detect)j(whether)h(or)e(not)g(a)g(statemen)m(t)h
Fs(de\014nitely)0 2386 y Fu(has)k(a)f(functional)f(dep)s(endency)k(b)s
(et)m(w)m(een)f(its)e(input)g(and)h(output)f(v)-5 b(ariables.)48
b(The)35 b(o)m(v)m(erall)0 2507 y(algorithm)h(op)s(erates)k(as)g(follo)
m(ws:)56 b(initially)36 b(all)h(input)i(v)-5 b(ariables)39
b(ha)m(v)m(e)h(the)g(prop)s(ert)m(y)h Fb(ok)0 2627 y
Fu(and)31 b(all)e(other)h(v)-5 b(ariables)30 b(the)h(prop)s(ert)m(y)h
Fb(d)p Fu(?.)43 b(Then)32 b(the)f(analysis)f(is)g(p)s(erformed)g(and)h
(when)0 2747 y(it)g(has)h(terminated)g(the)g(prop)s(erties)g(of)g(the)g
(output)g(v)-5 b(ariables)31 b(are)h(insp)s(ected.)44
b(If)32 b(they)h(are)0 2868 y(all)26 b Fb(ok)i Fu(then)h(the)f
(analysis)g(returns)g(the)h(answ)m(er)g(YES)g(and)f(otherwise)g(NO?.)42
b(The)29 b(analysis)0 2988 y(is)36 b(guaran)m(teed)h(to)g(giv)m(e)f(an)
h(answ)m(er)g(within)f(a)g(\014nite)g(amoun)m(t)g(of)h(time)e(\(dep)s
(ending)h(up)s(on)0 3108 y(the)41 b(statemen)m(t\))g(but)g(the)g(answ)m
(er)h(will)d(not)h(b)s(e)h(precise)g(in)f(all)f(cases.)69
b(Ho)m(w)m(ev)m(er,)45 b(it)40 b(will)0 3229 y(alw)m(a)m(ys)33
b(b)s(e)g Fs(safe)39 b Fu(in)32 b(the)h(sense)h(that)145
3414 y Ft(\017)49 b Fu(if)21 b(the)i(analysis)f(sa)m(ys)i(YES)f(then)g
(there)g(is)f(indeed)g(a)h(functional)d(dep)s(endency)25
b(b)s(et)m(w)m(een)244 3535 y(input)32 b(and)h(output,)g(but)145
3732 y Ft(\017)49 b Fu(if)33 b(the)i(analysis)f(sa)m(ys)i(NO?)e(then)h
(there)g(ma)m(y)g(or)f(ma)m(y)g(not)g(b)s(e)h(a)f(functional)f(dep)s
(en-)244 3853 y(dency)h(b)s(et)m(w)m(een)h(input)d(and)g(output.)0
4038 y(The)c(analysis)e(will)e(b)s(e)j(sp)s(eci\014ed)g
Fs(c)-5 b(omp)g(ositional)5 b(ly)34 b Fu(just)27 b(as)g(the)g
(denotational)e(seman)m(tics)i(of)0 4158 y(Chapter)33
b(4.)43 b(As)33 b(men)m(tioned)e(ab)s(o)m(v)m(e)i(the)g(main)d
(di\013erence)j(b)s(et)m(w)m(een)h(the)e(analysis)g(and)g(the)0
4279 y(denotational)j(seman)m(tics)i(is)f(that)g(the)h(analysis)f(do)s
(es)h(not)g(op)s(erate)f(on)h(exact)h(v)-5 b(alues)36
b(but)0 4399 y(rather)31 b(on)g Fs(pr)-5 b(op)g(erties)38
b Fu(of)31 b(exact)g(v)-5 b(alues.)43 b(Because)33 b(of)d(the)h(close)g
(corresp)s(ondence)i(b)s(et)m(w)m(een)0 4520 y(the)d(sp)s
(eci\014cation)g(of)f(the)i(analysis)e(and)h(the)g(denotational)e
(seman)m(tics)i(w)m(e)h(shall)e(pro)m(v)m(e)i(the)0 4640
y(safet)m(y)j(of)e(the)h(analysis)f(with)g(resp)s(ect)i(to)e(the)h
(denotational)e(seman)m(tics.)0 4970 y Fj(5.1)161 b(Prop)t(erties)53
b(and)g(prop)t(ert)l(y)g(states)0 5189 y Fu(F)-8 b(or)32
b(the)h(dep)s(endency)i(analysis)d(w)m(e)h(shall)f(b)s(e)g(in)m
(terested)i(in)e(t)m(w)m(o)h(prop)s(erties:)145 5374
y Ft(\017)49 b Fb(ok)39 b Fu(meaning)f(that)h(the)g(v)-5
b(alue)39 b Fs(de\014nitely)47 b Fu(only)39 b(dep)s(ends)h(on)f(the)h
(initial)35 b(v)-5 b(alues)39 b(of)244 5494 y(the)33
b(input)f(v)-5 b(ariables,)31 b(and)p eop
%%Page: 136 146
136 145 bop 251 130 a Fw(136)1937 b(5)112 b(Static)37
b(Program)f(Analysis)p 251 193 3473 4 v 429 515 a Ft(\017)48
b Fb(d)p Fu(?)42 b(meaning)e(that)h(the)h(v)-5 b(alue)41
b Fs(may)49 b Fu(dep)s(end)43 b(on)e(the)h(initial)37
b(v)-5 b(alues)42 b(of)f(non-input)527 636 y(v)-5 b(ariables,)32
b(that)g(is)g(the)h(v)-5 b(alue)32 b(ma)m(y)h(b)s(e)f(dubious.)283
822 y(W)-8 b(e)33 b(shall)f(write)527 1008 y Fw(P)g Fu(=)h
Ft(f)p Fb(ok)p Fu(,)g Fb(d)p Fu(?)p Ft(g)283 1194 y Fu(for)41
b(this)g(set)i(of)e(prop)s(erties)g(and)h(w)m(e)g(use)g
Fs(p)48 b Fu(as)41 b(a)h(meta-v)-5 b(ariable)38 b(ranging)i(o)m(v)m(er)
j Fw(P)p Fu(.)e(It)g(is)283 1314 y(more)34 b(informativ)m(e)e(to)h(kno)
m(w)i(that)f(an)g(expression)h(has)f(the)h(prop)s(ert)m(y)f
Fb(ok)h Fu(than)f Fb(d)p Fu(?.)48 b(As)34 b(a)283 1435
y(record)g(of)e(this)g(w)m(e)h(de\014ne)h(a)f(partial)d(order)j
Ft(v)2036 1450 y Fn(P)2121 1435 y Fu(on)f Fw(P)p Fu(:)527
1621 y Fb(ok)h Ft(v)764 1636 y Fn(P)849 1621 y Fb(d)p
Fu(?,)98 b Fb(ok)33 b Ft(v)1318 1636 y Fn(P)1403 1621
y Fb(ok)p Fu(,)98 b Fb(d)p Fu(?)33 b Ft(v)1872 1636 y
Fn(P)1957 1621 y Fb(d)p Fu(?)283 1807 y(and)g(depicted)g(as)942
2232 y Ft(\017)65 b Fb(ok)942 1942 y Ft(\017)g Fb(d)p
Fu(?)p 966 2174 4 225 v 283 2501 a(Th)m(us)35 b(the)e(more)e
(informativ)m(e)g(prop)s(ert)m(y)i(is)f(at)h(the)g(b)s(ottom)e(of)h
(the)h(ordering!)43 b(W)-8 b(e)33 b(ha)m(v)m(e)p 283
2622 3473 5 v 283 2779 a Fw(F)-9 b(act)38 b(5.1)49 b
Fu(\()p Fw(P)p Fu(,)32 b Ft(v)973 2794 y Fn(P)1026 2779
y Fu(\))g(is)g(a)g(complete)g(lattice.)42 b(If)33 b Fs(Y)52
b Fu(is)32 b(a)g(subset)j(of)d Fw(P)g Fu(then)552 2880
y Fg(F)621 2961 y Fn(P)674 2946 y Fs(Y)52 b Fu(=)32 b
Fb(d)p Fu(?)h(if)e(and)i(only)f(if)f Fb(d)p Fu(?)i Ft(2)g
Fs(Y)p 283 3067 V 283 3253 a Fw(Pro)s(of:)g Fu(The)c(pro)s(of)f(is)g
(straigh)m(tforw)m(ard)g(using)g(the)h(de\014nition)f(of)f(complete)h
(lattices)g(giv)m(en)283 3373 y(in)k(Chapter)i(4.)2828
b Fh(2)430 3577 y Fu(It)35 b(is)f(con)m(v)m(enien)m(t)i(to)f(write)f
Fs(p)1551 3592 y Fn(1)1623 3577 y Ft(t)1690 3592 y Fn(P)1774
3577 y Fs(p)1830 3592 y Fn(2)1904 3577 y Fu(instead)h(of)2356
3510 y Fg(F)2426 3592 y Fn(P)2478 3577 y Ft(f)p Fs(p)2584
3592 y Fn(1)2623 3577 y Fu(,)g Fs(p)2741 3592 y Fn(2)2781
3577 y Ft(g)p Fu(.)49 b(It)35 b(follo)m(ws)f(from)f(F)-8
b(act)283 3697 y(5.1)33 b(that)f(the)h(binary)f(op)s(eration)f
Ft(t)1629 3712 y Fn(P)1714 3697 y Fu(ma)m(y)h(b)s(e)h(giv)m(en)f(b)m(y)
i(the)f(table)585 3875 y Ft(t)652 3890 y Fn(P)p 752 3911
4 121 v 803 3875 a Fb(ok)101 b(d)p Fu(?)p 527 3914 661
4 v 577 3998 a Fb(ok)p 752 4035 4 121 v 100 w(ok)g(d)p
Fu(?)596 4119 y Fb(d)p Fu(?)p 752 4155 V 109 w Fb(d)p
Fu(?)109 b Fb(d)p Fu(?)430 4298 y(When)23 b(reasoning)f(ab)s(out)g(the)
h(safet)m(y)g(of)f(the)h(analysis)e(w)m(e)j(need)f(to)f(b)s(e)h(a)f
(bit)f(more)h(precise)283 4418 y(ab)s(out)29 b(the)g(meaning)f(of)h
(the)g(prop)s(erties)g(with)g(resp)s(ect)h(to)e(the)i(v)-5
b(alues)29 b(of)f(the)i(denotational)283 4539 y(seman)m(tics.)43
b(While)28 b(it)g(ma)m(y)h(b)s(e)g(in)m(tuitiv)m(ely)f(clear)h(whether)
h(or)f(not)g(the)h(v)-5 b(alue)28 b(of)h(a)g(v)-5 b(ariable)283
4659 y(only)42 b(dep)s(ends)h(on)f(the)g(input)f(v)-5
b(ariables,)43 b(it)e(turns)h(out)g(to)f(b)s(e)h(imp)s(ossible)e(to)h
(insp)s(ect)h(a)283 4780 y(sp)s(eci\014c)36 b(v)-5 b(alue,)35
b(for)f(example)g Fw(27)p Fu(,)h(and)g(decide)g(whether)h(or)f(not)f
(this)g(is)h(indeed)g(the)g(case.)283 4900 y(The)k(reason)g(is)e(that)h
(w)m(e)g(lose)g(the)g(con)m(text)h(in)e(whic)m(h)i(the)f(v)-5
b(alue)37 b(arises.)60 b(W)-8 b(e)38 b(shall)e(solv)m(e)283
5020 y(this)42 b(di\016cult)m(y)f(in)g(Section)h(5.3)f(and)h(to)f
(prepare)h(for)f(the)h(solution)f(w)m(e)h(shall)f(de\014ne)h(the)283
5141 y(follo)m(wing)30 b(parameterized)i(relations:)527
5327 y(rel)p 527 5340 109 4 v 15 x Fn(Aexp)801 5327 y
Fu(:)43 b Fw(P)32 b Ft(!)g Fu(\()p Fw(Z)h Ft(\002)g Fw(Z)g
Ft(!)f Fw(T)p Fu(\))527 5494 y(rel)p 527 5507 V 15 x
Fn(Bexp)798 5494 y Fu(:)43 b Fw(P)32 b Ft(!)g Fu(\()p
Fw(T)h Ft(\002)g Fw(T)f Ft(!)g Fw(T)p Fu(\))p eop
%%Page: 137 147
137 146 bop 0 130 a Fw(5.1)112 b(Prop)s(erties)36 b(and)j(prop)s(ert)m
(y)e(states)1540 b(137)p 0 193 3473 4 v 0 515 a Fu(F)-8
b(or)32 b(arithmetic)e(expressions)35 b(the)e(relation)d(is)i
(de\014ned)i(b)m(y:)244 801 y(rel)p 244 814 109 4 v 352
816 a Fn(Aexp)517 801 y Fu(\()p Fs(p)6 b Fu(\)\()p Fs(v)743
816 y Fn(1)782 801 y Fu(,)32 b Fs(v)897 816 y Fn(2)936
801 y Fu(\))h(=)1115 627 y Fg(8)1115 701 y(<)1115 851
y(:)1231 716 y Fw(tt)82 b Fs(p)38 b Fu(=)33 b Fb(d)p
Fu(?)f(or)h Fs(v)1914 731 y Fn(1)1985 716 y Fu(=)f Fs(v)2149
731 y Fn(2)1231 884 y Fw(\013)105 b Fu(otherwise)0 1087
y(and)33 b(similarly)c(for)j(b)s(o)s(olean)f(expression:)244
1372 y(rel)p 244 1385 V 352 1387 a Fn(Bexp)514 1372 y
Fu(\()p Fs(p)6 b Fu(\)\()p Fs(v)740 1387 y Fn(1)779 1372
y Fu(,)33 b Fs(v)895 1387 y Fn(2)934 1372 y Fu(\))f(=)1112
1198 y Fg(8)1112 1273 y(<)1112 1422 y(:)1228 1288 y Fw(tt)82
b Fs(p)38 b Fu(=)33 b Fb(d)p Fu(?)f(or)h Fs(v)1911 1303
y Fn(1)1982 1288 y Fu(=)g Fs(v)2147 1303 y Fn(2)1228
1455 y Fw(\013)105 b Fu(otherwise)0 1658 y(W)-8 b(e)46
b(shall)f(often)h(omit)e(the)i(subscript)h(when)g(no)f(confusion)f(is)h
(lik)m(ely)e(to)i(result.)83 b(Eac)m(h)0 1778 y(of)43
b(the)g(relations)f(tak)m(e)i(a)f(prop)s(ert)m(y)h(and)f(t)m(w)m(o)h(v)
-5 b(alues)43 b(as)g(parameters.)76 b(In)m(tuitiv)m(ely)-8
b(,)45 b(the)0 1899 y(prop)s(ert)m(y)37 b(expresses)i(ho)m(w)e(m)m(uc)m
(h)g(the)g(t)m(w)m(o)g(v)-5 b(alues)36 b(are)g(allo)m(w)m(ed)g(to)f
(di\013er.)54 b(Th)m(us)38 b Fb(d)p Fu(?)f(puts)0 2019
y(no)32 b(requiremen)m(ts)i(on)e(the)h(v)-5 b(alues)33
b(whereas)h Fb(ok)f Fu(requires)g(that)f(the)h(t)m(w)m(o)g(v)-5
b(alues)33 b(are)f(equal.)0 2139 y(As)h(an)g(aid)e(to)h(readabilit)m(y)
f(w)m(e)j(shall)d(often)i(write)244 2343 y Fs(v)300 2358
y Fn(1)371 2343 y Ft(\021)g Fs(v)537 2358 y Fn(2)609
2343 y Fu(rel)p 609 2356 V 32 w Fs(p)0 2547 y Fu(instead)i(of)g(rel)p
453 2560 V(\()p Fs(p)6 b Fu(\)\()p Fs(v)788 2562 y Fn(1)827
2547 y Fu(,)36 b Fs(v)946 2562 y Fn(2)985 2547 y Fu(\))f(and)h(w)m(e)g
(shall)e(sa)m(y)j(that)e Fs(v)2070 2562 y Fn(1)2144 2547
y Fs(and)46 b(v)2401 2562 y Fn(2)2475 2547 y Fs(ar)-5
b(e)37 b(e)-5 b(qual)38 b(as)f(far)g(as)43 b(p)f(is)0
2668 y(c)-5 b(onc)g(erne)g(d)42 b Fu(\(or)32 b(relativ)m(e)g(to)g
Fs(p)6 b Fu(\).)0 2928 y Fw(Prop)s(ert)m(y)37 b(states)0
3113 y Fu(In)49 b(the)g(op)s(erational)d(and)i(denotational)f(seman)m
(tics)h(a)h(state)f(maps)h(v)-5 b(ariables)47 b(to)h(their)0
3234 y(v)-5 b(alues.)43 b(In)30 b(the)h(analysis)e(the)i(coun)m
(terpart)g(of)f(this)g(will)e(b)s(e)i(a)g Fs(pr)-5 b(op)g(erty)33
b(state)38 b Fu(whic)m(h)31 b(maps)0 3354 y(v)-5 b(ariables)28
b(to)h(prop)s(erties,)h(that)f(is)f(essen)m(tially)h(a)g(function)g(in)
f Fw(V)-9 b(ar)29 b Ft(!)f Fw(P)p Fu(.)h(The)h(idea)f(is)g(that)0
3475 y(the)35 b(initial)c(prop)s(ert)m(y)36 b(state)f(will)e(only)h
(map)g(the)h(input)f(v)-5 b(ariables)34 b(to)g Fb(ok)i
Fu(and)f(that)f(if)g(the)0 3595 y(\014nal)40 b(prop)s(ert)m(y)h(state)g
(is)f(acceptable)h(and)f(maps)g(all)f(output)h(v)-5 b(ariables)40
b(to)g Fb(ok)h Fu(then)g(the)0 3715 y(output)33 b(of)f(the)h(statemen)m
(t)g(will)d(de\014nitely)j(b)s(e)f(functionally)f(dep)s(enden)m(t)j(on)
f(the)g(input.)146 3836 y(T)-8 b(o)42 b(mak)m(e)g(this)f(idea)g(w)m
(ork)i(w)m(e)g(ha)m(v)m(e)g(to)e(extend)i(the)f(prop)s(ert)m(y)h(state)
f(to)f(mo)s(del)f(one)0 3956 y(additional)34 b(phenomenon,)j(namely)f
(the)h(\\\015o)m(w)g(of)f(con)m(trol".)54 b(W)-8 b(e)37
b(shall)e(illustrate)f(this)i(in)0 4077 y(Example)i(5.3)g(b)s(elo)m(w)g
(but)g(let)g(us)h(\014rst)g(in)m(tro)s(duce)f(some)g(notation)f(that)h
(will)e(handle)i(the)0 4197 y(problem.)k(The)32 b(set)g
Fw(PState)f Fu(of)g(prop)s(ert)m(y)g(states)i(ranged)e(o)m(v)m(er)h(b)m
(y)g(the)g(meta-v)-5 b(ariable)28 b Fs(ps)8 b Fu(,)0
4317 y(is)32 b(de\014ned)i(b)m(y)244 4521 y Fw(PState)e
Fu(=)g(\()p Fw(V)-9 b(ar)32 b Ft([)h(f)p Fu(on-trac)m(k)p
Ft(g)p Fu(\))g Ft(!)f Fw(P)0 4725 y Fu(where)27 b(`on-trac)m(k')f(is)f
(a)g(sp)s(ecial)g(tok)m(en)i(used)g(to)e(mo)s(del)f(the)i(\\\015o)m(w)g
(of)f(con)m(trol".)40 b(If)26 b(`on-trac)m(k')0 4846
y(is)42 b(mapp)s(ed)h(to)f Fb(ok)i Fu(this)e(means)h(that)g(the)g
(\\\015o)m(w)g(of)f(con)m(trol")g(only)h(dep)s(ends)h(up)s(on)f(the)0
4966 y(v)-5 b(alues)33 b(of)g(the)h(input)f(v)-5 b(ariables;)33
b(if)f(it)g(is)h(mapp)s(ed)g(to)g Fb(d)p Fu(?)h(this)f(need)i(not)e(b)s
(e)g(the)h(case.)47 b(F)-8 b(or)0 5086 y(a)32 b(prop)s(ert)m(y)i(state)
f Fs(ps)40 b Ft(2)33 b Fw(PState)f Fu(w)m(e)i(de\014ne)g(the)f(set)244
5290 y(OK\()p Fs(ps)8 b Fu(\))32 b(=)g Ft(f)h Fs(x)44
b Ft(2)33 b Fw(V)-9 b(ar)32 b Ft([)h(f)p Fu(on-trac)m(k)p
Ft(g)f(j)g Fs(ps)41 b(x)j Fu(=)33 b Fb(ok)g Ft(g)0 5494
y Fu(of)f(\\v)-5 b(ariables")31 b(mapp)s(ed)h(to)g Fb(ok)i
Fu(and)e(w)m(e)i(sa)m(y)f(that)p eop
%%Page: 138 148
138 147 bop 251 130 a Fw(138)1937 b(5)112 b(Static)37
b(Program)f(Analysis)p 251 193 3473 4 v 527 515 a Fs(ps)41
b Fu(is)32 b Fs(pr)-5 b(op)g(er)43 b Fu(if)31 b(and)i(only)f(if)f
Fs(ps)8 b Fu(\(on-trac)m(k\))33 b(=)f Fb(ok)p Fu(.)283
711 y(If)h Fs(ps)40 b Fu(is)32 b(not)h(prop)s(er)g(w)m(e)g(shall)e
(sometimes)h(sa)m(y)h(that)g(it)e(is)h(improp)s(er.)430
832 y(The)d(relationship)d(b)s(et)m(w)m(een)31 b(prop)s(ert)m(y)d
(states)i(and)e(states)h(is)f(giv)m(en)g(b)m(y)h(the)g(parameter-)283
952 y(ized)k(relation:)527 1148 y(rel)p 527 1161 109
4 v 15 x Fn(Stm)765 1148 y Fu(:)44 b Fw(PState)32 b Ft(!)g
Fu(\()p Fw(State)h Ft(\002)g Fw(State)f Ft(!)g Fw(T)p
Fu(\))283 1344 y(de\014ned)i(b)m(y)527 1700 y(rel)p 527
1713 V 15 x Fn(Stm)765 1700 y Fu(\()p Fs(ps)8 b Fu(\)\()p
Fs(s)1025 1715 y Fn(1)1065 1700 y Fu(,)32 b Fs(s)1172
1715 y Fn(2)1212 1700 y Fu(\))g(=)1391 1451 y Fg(8)1391
1525 y(>)1391 1550 y(>)1391 1575 y(>)1391 1600 y(<)1391
1749 y(>)1391 1774 y(>)1391 1799 y(>)1391 1824 y(:)1506
1531 y Fw(tt)82 b Fu(if)31 b Fs(ps)41 b Fu(on-trac)m(k)33
b(=)f Fb(d)p Fu(?)1676 1699 y(or)g Ft(8)h Fs(x)44 b Ft(2)33
b Fw(V)-9 b(ar)32 b Ft(\\)h Fu(OK\()p Fs(ps)8 b Fu(\):)43
b Fs(s)2822 1714 y Fn(1)2894 1699 y Fs(x)i Fu(=)32 b
Fs(s)3140 1714 y Fn(2)3212 1699 y Fs(x)1506 1866 y Fw(\013)105
b Fu(otherwise)283 2056 y(and)39 b(again)d(w)m(e)j(ma)m(y)f(omit)f(the)
h(subscript)h(when)g(no)f(confusion)g(is)g(lik)m(ely)f(to)h(o)s(ccur.)
60 b(The)283 2176 y(relation)34 b(expresses)39 b(the)e(exten)m(t)g(to)e
(whic)m(h)i(t)m(w)m(o)f(states)h(are)f(allo)m(w)m(ed)f(to)g(di\013er)h
(as)g(far)f(as)h(a)283 2296 y(giv)m(en)30 b(prop)s(ert)m(y)g(state)g
(is)e(concerned.)45 b(If)29 b Fs(ps)37 b Fu(is)29 b(not)g(prop)s(er)g
(then)h(rel)p 2766 2309 V -1 w(\()p Fs(ps)8 b Fu(\))29
b(will)e(hold)i(on)g(an)m(y)283 2417 y(t)m(w)m(o)h(states.)44
b(Ho)m(w)m(ev)m(er,)32 b(if)c Fs(ps)37 b Fu(is)29 b(prop)s(er)g(then)h
(rel)p 2031 2430 V -1 w(\()p Fs(ps)8 b Fu(\))29 b(will)e(hold)i(on)g(t)
m(w)m(o)h(states)g(if)e(they)i(are)283 2537 y(equal)37
b(on)f(the)g(v)-5 b(ariables)35 b(in)h(OK\()p Fs(ps)8
b Fu(\).)54 b(Phrased)37 b(di\013eren)m(tly)-8 b(,)37
b(w)m(e)h(ma)m(y)e(view)g Fs(ps)44 b Fu(as)37 b(a)f(pair)283
2657 y(of)i(glasses)g(that)f(only)h(allo)m(ws)e(us)i(to)g(see)h(part)e
(of)g(the)i(states)f(and)g(rel)p 2853 2670 V -1 w(\()p
Fs(ps)8 b Fu(\)\()p Fs(s)3221 2672 y Fn(1)3261 2657 y
Fu(,)39 b Fs(s)3375 2672 y Fn(2)3414 2657 y Fu(\))f(means)283
2778 y(that)32 b Fs(s)542 2793 y Fn(1)614 2778 y Fu(and)g
Fs(s)851 2793 y Fn(2)922 2778 y Fu(lo)s(ok)f(the)i(same)f(when)h(view)m
(ed)g(through)f(that)g(pair)f(of)g(glasses.)44 b(Again)31
b(w)m(e)283 2898 y(shall)h(write)527 3094 y Fs(s)575
3109 y Fn(1)647 3094 y Ft(\021)h Fs(s)805 3109 y Fn(2)877
3094 y Fu(rel)p 877 3107 V 32 w Fs(ps)283 3290 y Fu(for)f(rel)p
432 3303 V(\()p Fs(ps)8 b Fu(\)\()p Fs(s)801 3305 y Fn(1)840
3290 y Fu(,)33 b Fs(s)948 3305 y Fn(2)987 3290 y Fu(\).)283
3508 y Fw(Example)k(5.2)49 b Fu(Let)33 b Fs(s)1161 3523
y Fn(1)1200 3508 y Fu(,)g Fs(s)1308 3523 y Fn(2)1380
3508 y Fu(and)g Fs(ps)40 b Fu(b)s(e)33 b(giv)m(en)f(b)m(y)527
3704 y Fs(s)575 3719 y Fn(1)647 3704 y Fr(x)h Fu(=)g
Fw(1)f Fu(and)h Fs(s)1166 3719 y Fn(1)1238 3704 y Fs(y)41
b Fu(=)33 b Fw(0)f Fu(for)g Fs(y)42 b Ft(2)33 b Fw(V)-9
b(ar)p Ft(n)o(f)p Fr(x)p Ft(g)527 3872 y Fs(s)575 3887
y Fn(2)647 3872 y Fr(x)33 b Fu(=)g Fw(2)f Fu(and)h Fs(s)1166
3887 y Fn(2)1238 3872 y Fs(y)41 b Fu(=)33 b Fw(0)f Fu(for)g
Fs(y)42 b Ft(2)33 b Fw(V)-9 b(ar)p Ft(n)o(f)p Fr(x)p
Ft(g)527 4039 y Fs(ps)41 b Fr(x)33 b Fu(=)f Fb(d)p Fu(?)h(and)f
Fs(ps)41 b(y)g Fu(=)33 b Fb(ok)g Fu(for)f Fs(y)42 b Ft(2)32
b Fu(\()p Fw(V)-9 b(ar)32 b Ft([)h(f)p Fu(on-trac)m(k)p
Ft(g)p Fu(\))p Ft(nf)p Fr(x)p Ft(g)283 4235 y Fu(Then)h
Fs(s)586 4250 y Fn(1)658 4235 y Ft(\021)f Fs(s)816 4250
y Fn(2)888 4235 y Fu(rel)p 888 4248 V 32 w Fs(ps)8 b
Fu(.)2527 b Fh(2)283 4454 y Fw(Example)37 b(5.3)49 b
Fu(T)-8 b(o)26 b(motiv)-5 b(ate)24 b(the)j(need)g(for)f(improp)s(er)e
(prop)s(ert)m(y)j(states,)i(that)d(is)f(the)i(need)283
4574 y(for)32 b(`on-trac)m(k',)i(consider)e(the)h(follo)m(wing)d
(statemen)m(ts:)527 4770 y Fs(S)594 4785 y Fn(1)634 4770
y Fu(:)97 b Fr(x)33 b Fu(:=)g Fr(1)527 4937 y Fs(S)594
4952 y Fn(2)634 4937 y Fu(:)97 b Fr(x)33 b Fu(:=)g Fr(2)283
5133 y Fu(It)g(w)m(ould)f(b)s(e)g(natural)f(to)h(exp)s(ect)h(that)f
(the)h(analysis)e(of)h Fs(S)2496 5148 y Fn(1)2567 5133
y Fu(will)e(map)i(an)m(y)h(prop)s(ert)m(y)f(state)283
5254 y Fs(ps)46 b Fu(to)36 b(the)i(prop)s(ert)m(y)g(state)g
Fs(ps)8 b Fu([)p Fr(x)p Ft(7!)o Fb(ok)p Fu(])38 b(since)g(a)f(constan)m
(t)h(v)-5 b(alue)37 b(cannot)g(dep)s(end)h(on)f(the)283
5374 y(v)-5 b(alue)31 b(of)f(an)m(y)i(\(non-input\))e(v)-5
b(ariable.)41 b(A)31 b(similar)d(argumen)m(t)j(holds)f(for)h
Fs(S)3079 5389 y Fn(2)3118 5374 y Fu(.)43 b(No)m(w)32
b(consider)283 5494 y(the)h(statemen)m(ts)p eop
%%Page: 139 149
139 148 bop 0 130 a Fw(5.1)112 b(Prop)s(erties)36 b(and)j(prop)s(ert)m
(y)e(states)1540 b(139)p 0 193 3473 4 v 244 515 a Fs(S)311
530 y Fn(11)385 515 y Fu(:)98 b Fr(if)33 b(x)g Fu(=)f
Fr(1)h(then)h Fs(S)1226 530 y Fn(1)1297 515 y Fr(else)g
Fs(S)1602 530 y Fn(1)244 683 y Fs(S)311 698 y Fn(12)385
683 y Fu(:)98 b Fr(if)33 b(x)g Fu(=)f Fr(1)h(then)h Fs(S)1226
698 y Fn(1)1297 683 y Fr(else)g Fs(S)1602 698 y Fn(2)0
874 y Fu(Again)h(w)m(e)i(ma)m(y)f(exp)s(ect)h(that)f(the)h(analysis)e
(of)h Fs(S)1901 889 y Fn(11)2012 874 y Fu(will)d(map)j(an)m(y)g(prop)s
(ert)m(y)h(state)g Fs(ps)44 b Fu(to)0 994 y(the)33 b(prop)s(ert)m(y)g
(state)g Fs(ps)8 b Fu([)p Fr(x)p Ft(7!)p Fb(ok)p Fu(],)34
b(since)f Fs(S)1601 1009 y Fn(11)1708 994 y Fu(is)f(seman)m(tically)e
(equiv)-5 b(alen)m(t)33 b(to)f Fs(S)3014 1009 y Fn(1)3053
994 y Fu(.)146 1114 y(Concerning)d Fs(S)724 1129 y Fn(12)827
1114 y Fu(it)f(will)e(not)j(alw)m(a)m(ys)g(b)s(e)g(correct)g(for)f(the)
h(analysis)f(to)g(map)g(a)h(prop)s(ert)m(y)0 1235 y(state)k
Fs(ps)40 b Fu(to)33 b Fs(ps)8 b Fu([)p Fr(x)p Ft(7!)p
Fb(ok)p Fu(].)44 b(F)-8 b(or)31 b(an)i(example)f(supp)s(ose)i(that)e
Fs(ps)8 b Fu(,)33 b Fs(s)2465 1250 y Fn(1)2537 1235 y
Fu(and)g Fs(s)2775 1250 y Fn(2)2847 1235 y Fu(are)f(suc)m(h)i(that)244
1425 y Fs(ps)40 b Fr(x)33 b Fu(=)f Fb(d)p Fu(?)h(and)g
Fs(ps)40 b(y)i Fu(=)32 b Fb(ok)h Fu(for)g Fs(y)41 b Ft(2)33
b Fu(\()p Fw(V)-9 b(ar)32 b Ft([)h(f)p Fu(on-trac)m(k)p
Ft(g)p Fu(\))p Ft(nf)p Fr(x)p Ft(g)244 1593 y Fs(s)292
1608 y Fn(1)364 1593 y Fr(x)g Fu(=)f Fw(1)h Fu(and)f
Fs(s)882 1608 y Fn(1)954 1593 y Fs(y)42 b Fu(=)32 b Fw(0)h
Fu(for)f Fs(y)41 b Ft(2)33 b Fw(V)-9 b(ar)p Ft(nf)p Fr(x)p
Ft(g)244 1761 y Fs(s)292 1776 y Fn(2)364 1761 y Fr(x)33
b Fu(=)f Fw(2)h Fu(and)f Fs(s)882 1776 y Fn(2)954 1761
y Fs(y)42 b Fu(=)32 b Fw(0)h Fu(for)f Fs(y)41 b Ft(2)33
b Fw(V)-9 b(ar)p Ft(nf)p Fr(x)p Ft(g)0 1951 y Fu(Then)34
b(Example)e(5.2)g(giv)m(es)244 2142 y Fs(s)292 2157 y
Fn(1)364 2142 y Ft(\021)h Fs(s)522 2157 y Fn(2)594 2142
y Fu(rel)p 594 2155 109 4 v 32 w Fs(ps)0 2333 y Fu(but)50
b Ft(S)264 2348 y Fn(ds)335 2333 y Fu([)-17 b([)q Fs(S)440
2348 y Fn(12)514 2333 y Fu(])g(])q Fs(s)600 2348 y Fn(1)689
2333 y Ft(\021)51 b(S)885 2348 y Fn(ds)956 2333 y Fu([)-17
b([)p Fs(S)1060 2348 y Fn(12)1135 2333 y Fu(])g(])q Fs(s)1221
2348 y Fn(2)1310 2333 y Fu(rel)p 1310 2346 V 49 w Fs(ps)8
b Fu([)p Fr(x)p Ft(7!)p Fb(ok)p Fu(])51 b Fs(fails)57
b Fu(b)s(ecause)52 b Ft(S)2627 2348 y Fn(ds)2698 2333
y Fu([)-17 b([)p Fs(S)2802 2348 y Fn(12)2877 2333 y Fu(])g(])q
Fs(s)2963 2348 y Fn(1)3052 2333 y Fu(=)50 b Fs(s)3226
2348 y Fn(1)3315 2333 y Fu(and)0 2453 y Ft(S)68 2468
y Fn(ds)139 2453 y Fu([)-17 b([)q Fs(S)244 2468 y Fn(12)318
2453 y Fu(])g(])q Fs(s)404 2468 y Fn(2)476 2453 y Fu(=)32
b Fs(s)632 2468 y Fn(2)704 2453 y Fu(and)h Fs(s)942 2468
y Fn(1)1014 2453 y Fr(x)g Ft(6)p Fu(=)f Fs(s)1254 2468
y Fn(2)1326 2453 y Fr(x)p Fu(.)146 2573 y(Ho)m(w)m(ev)m(er,)j(from)c
(the)i(p)s(oin)m(t)f(of)g(view)g(of)g(the)h Fs(analysis)40
b Fu(there)33 b(is)f(no)g(di\013erence)h(b)s(et)m(w)m(een)0
2694 y Fs(S)67 2709 y Fn(1)137 2694 y Fu(and)d Fs(S)391
2709 y Fn(2)461 2694 y Fu(b)s(ecause)i(neither)e(the)h(v)-5
b(alue)30 b(of)g Fr(1)g Fu(nor)h Fr(2)f Fu(dep)s(ends)i(on)f(the)g(v)-5
b(alues)30 b(of)g(the)h(input)0 2814 y(v)-5 b(ariables.)90
b(Since)48 b(the)h(analysis)f(is)g(comp)s(ositionally)c(de\014ned)50
b(this)e(means)g(that)h(there)0 2935 y(can)36 b(b)s(e)g(no)f
(di\013erence)h(b)s(et)m(w)m(een)i Fs(S)1342 2950 y Fn(11)1452
2935 y Fu(and)e Fs(S)1712 2950 y Fn(12)1822 2935 y Fu(from)e(the)i(p)s
(oin)m(t)f(of)g(view)h(of)f(the)h(analysis.)0 3055 y(Therefore)27
b(w)m(e)g(ha)m(v)m(e)g(to)e(accept)h(that)g(also)f(the)h(analysis)f(of)
g Fs(S)2284 3070 y Fn(11)2384 3055 y Fu(should)h Fs(not)35
b Fu(allo)m(w)24 b(mapping)0 3175 y(an)32 b(arbitrary)g(prop)s(ert)m(y)
h(state)g Fs(ps)41 b Fu(to)32 b Fs(ps)8 b Fu([)p Fr(x)p
Ft(7!)p Fb(ok)p Fu(].)146 3296 y(The)38 b(di\013erence)g(b)s(et)m(w)m
(een)h Fs(S)1240 3311 y Fn(1)1316 3296 y Fu(and)e Fs(S)1577
3311 y Fn(2)1653 3296 y Fu(arises)f(when)i(the)g(\\\015o)m(w)f(of)f
(con)m(trol")g(do)s(es)i(not)0 3416 y(dep)s(end)25 b(on)e(the)i(input)e
(v)-5 b(ariables)22 b(and)i(it)f(is)g(here)h(the)h(need)f(for)f(the)i
(sp)s(ecial)d(tok)m(en)j(`on-trac)m(k')0 3536 y(comes)33
b(in.)44 b(W)-8 b(e)34 b(shall)e(transform)g(a)g(prop)s(ert)m(y)i
(state)g(in)m(to)e(an)h(improp)s(er)e(one,)j(b)m(y)g(mapping)0
3657 y(`on-trac)m(k')39 b(to)f Fb(d)p Fu(?,)i(whenev)m(er)h(the)e
(\\\015o)m(w)g(of)f(con)m(trol")f(is)h(not)h(\\functionally)d(dep)s
(enden)m(t")0 3777 y(on)47 b(the)g(input)f(v)-5 b(ariables.)85
b(Th)m(us)48 b(if)e Fs(ps)55 b Fr(x)46 b Fu(=)h Fb(d)p
Fu(?)g(then)g(it)f(is)g(the)i(test,)j Fr(x)c Fu(=)f Fr(1)p
Fu(,)51 b(in)46 b Fs(S)3398 3792 y Fn(11)0 3898 y Fu(and)33
b Fs(S)257 3913 y Fn(12)365 3898 y Fu(that)g(will)d(b)s(e)k(resp)s
(onsible)f(for)f(mapping)g Fs(ps)41 b Fu(in)m(to)32 b(the)i(improp)s
(er)d(prop)s(ert)m(y)j(state)0 4018 y Fs(ps)8 b Fu([on-trac)m(k)p
Ft(7!)p Fb(d)p Fu(?])39 b(and)g(then)g(the)g(e\013ect)h(of)e(analysing)
g Fs(S)2235 4033 y Fn(1)2313 4018 y Fu(and)h Fs(S)2576
4033 y Fn(2)2653 4018 y Fu(do)s(es)h(not)e(matter)g(as)0
4138 y(long)31 b(as)i(an)g(improp)s(er)e(prop)s(ert)m(y)i(state)g(is)f
(not)g(mapp)s(ed)h(in)m(to)e(a)i(prop)s(er)f(one.)468
b Fh(2)146 4350 y Fu(Our)33 b(next)g(task)g(will)d(b)s(e)j(to)f(endo)m
(w)i Fw(PState)e Fu(with)g(some)g(partially)e(ordered)j(structure)0
4470 y(and)h(to)h(in)m(v)m(estigate)f(the)h(prop)s(erties)f(of)g(rel)p
1543 4483 V 1651 4485 a Fn(Stm)1781 4470 y Fu(.)49 b(Concerning)35
b(the)f(former)g(this)g(will)e(b)s(e)i(an)0 4590 y(instance)f(of)f(a)g
(general)g(pro)s(cedure:)p 0 4711 3473 5 v 0 4872 a Fw(Lemma)37
b(5.4)49 b Fu(Assume)43 b(that)f Fs(S)54 b Fu(is)41 b(a)h(non-empt)m(y)
g(set)h(and)f(that)f(\()p Fs(D)9 b Fu(,)42 b Ft(v)q Fu(\))g(is)f(a)h
(partially)0 4993 y(ordered)33 b(set.)44 b(Let)33 b Ft(v)795
4957 y Fi(0)851 4993 y Fu(b)s(e)f(the)h(ordering)f(on)h(the)g(set)g
Fs(S)12 b Ft(!)o Fs(D)42 b Fu(de\014ned)34 b(b)m(y)244
5183 y Fs(f)295 5198 y Fn(1)367 5183 y Ft(v)444 5147
y Fi(0)500 5183 y Fs(f)551 5198 y Fn(2)623 5183 y Fu(if)d(and)i(only)f
(if)g Fs(f)1256 5198 y Fn(1)1328 5183 y Fs(x)45 b Ft(v)33
b Fs(f)1579 5198 y Fn(2)1651 5183 y Fs(x)44 b Fu(for)32
b(all)e Fs(x)45 b Ft(2)33 b Fs(S)0 5374 y Fu(Then)i(\()p
Fs(S)12 b Ft(!)o Fs(D)d Fu(,)33 b Ft(v)681 5338 y Fi(0)704
5374 y Fu(\))g(is)g(a)g(partially)e(ordered)j(set.)47
b(F)-8 b(urthermore,)33 b(\()p Fs(S)12 b Ft(!)o Fs(D)d
Fu(,)34 b Ft(v)2914 5338 y Fi(0)2938 5374 y Fu(\))f(is)g(a)g(ccp)s(o)h
(if)0 5494 y Fs(D)42 b Fu(is)32 b(and)g(it)g(is)g(a)g(complete)g
(lattice)f(if)h Fs(D)41 b Fu(is.)i(In)33 b(b)s(oth)f(cases)i(w)m(e)g
(ha)m(v)m(e)p eop
%%Page: 140 150
140 149 bop 251 130 a Fw(140)1937 b(5)112 b(Static)37
b(Program)f(Analysis)p 251 193 3473 4 v 527 515 a Fu(\()565
449 y Fg(F)634 479 y Fi(0)658 515 y Fs(Y)19 b Fu(\))33
b Fs(x)44 b Fu(=)1018 449 y Fg(F)1119 515 y Ft(f)33 b
Fs(f)53 b(x)44 b Ft(j)33 b Fs(f)53 b Ft(2)33 b Fs(Y)52
b Ft(g)283 715 y Fu(so)33 b(that)g(least)f(upp)s(er)h(b)s(ounds)g(are)g
(determined)f(p)s(oin)m(t)m(wise.)p 283 835 3473 5 v
283 1034 a Fw(Pro)s(of:)48 b Fu(It)41 b(is)g(straigh)m(tforw)m(ard)g
(to)g(v)m(erify)h(that)f Ft(v)2255 998 y Fi(0)2320 1034
y Fu(is)g(a)g(partial)e(order)i(so)h(w)m(e)g(omit)d(the)283
1155 y(details.)50 b(W)-8 b(e)35 b(shall)f(\014rst)h(pro)m(v)m(e)h(the)
g(lemma)d(in)h(the)h(case)h(where)g Fs(D)44 b Fu(is)34
b(a)h(complete)f(lattice)283 1275 y(so)f(let)f Fs(Y)52
b Fu(b)s(e)33 b(a)f(subset)j(of)d Fs(S)44 b Ft(!)32 b
Fs(D)9 b Fu(.)33 b(Then)g(the)g(form)m(ula)527 1474 y(\()565
1408 y Fg(F)634 1438 y Fi(0)658 1474 y Fs(Y)19 b Fu(\))33
b Fs(x)44 b Fu(=)1018 1408 y Fg(F)1119 1474 y Ft(f)33
b Fs(f)53 b(x)44 b Ft(j)33 b Fs(f)53 b Ft(2)33 b Fs(Y)52
b Ft(g)283 1674 y Fu(de\014nes)33 b(an)e(elemen)m(t)1094
1607 y Fg(F)1164 1637 y Fi(0)1187 1674 y Fs(Y)50 b Fu(of)31
b Fs(S)42 b Ft(!)31 b Fs(D)39 b Fu(b)s(ecause)32 b Fs(D)40
b Fu(b)s(eing)30 b(a)h(complete)f(lattice)f(means)i(that)283
1728 y Fg(F)353 1794 y Ft(f)43 b Fs(f)64 b(x)55 b Ft(j)43
b Fs(f)64 b Ft(2)44 b Fs(Y)63 b Ft(g)43 b Fu(exists)h(for)f(all)e
Fs(x)55 b Fu(of)43 b Fs(S)12 b Fu(.)43 b(This)g(sho)m(ws)i(that)2834
1728 y Fg(F)2904 1758 y Fi(0)2927 1794 y Fs(Y)63 b Fu(is)43
b(a)g Fs(wel)5 b(l-de\014ne)-5 b(d)283 1914 y Fu(elemen)m(t)38
b(of)e Fs(S)49 b Ft(!)37 b Fs(D)9 b Fu(.)37 b(T)-8 b(o)38
b(see)g(that)1679 1848 y Fg(F)1748 1878 y Fi(0)1772 1914
y Fs(Y)56 b Fu(is)37 b(an)g Fs(upp)-5 b(er)39 b(b)-5
b(ound)48 b Fu(of)36 b Fs(Y)57 b Fu(let)37 b Fs(f)3151
1929 y Fn(0)3223 1914 y Ft(2)c Fs(Y)56 b Fu(and)38 b(w)m(e)283
2035 y(shall)c(sho)m(w)i(that)f Fs(f)1023 2050 y Fn(0)1097
2035 y Ft(v)1175 1999 y Fi(0)1233 1968 y Fg(F)1302 1999
y Fi(0)1325 2035 y Fs(Y)20 b Fu(.)35 b(This)g(amoun)m(ts)g(to)g
(considering)f(an)h(arbitrary)f Fs(x)47 b Fu(in)34 b
Fs(S)47 b Fu(and)283 2155 y(sho)m(wing)527 2354 y Fs(f)578
2369 y Fn(0)650 2354 y Fs(x)e Ft(v)850 2288 y Fg(F)919
2354 y Ft(f)32 b Fs(f)53 b(x)45 b Ft(j)32 b Fs(f)53 b
Ft(2)33 b Fs(Y)53 b Ft(g)283 2554 y Fu(and)34 b(this)g(is)f(immediate)f
(b)s(ecause)1606 2487 y Fg(F)1709 2554 y Fu(is)h(the)h(least)g(upp)s
(er)g(b)s(ound)g(op)s(eration)f(in)g Fs(D)9 b Fu(.)34
b(T)-8 b(o)34 b(see)283 2674 y(that)500 2608 y Fg(F)569
2638 y Fi(0)592 2674 y Fs(Y)57 b Fu(is)37 b(the)h Fs(le)-5
b(ast)46 b Fu(upp)s(er)38 b(b)s(ound)g(of)f Fs(Y)57 b
Fu(let)36 b Fs(f)2261 2689 y Fn(1)2338 2674 y Fu(b)s(e)i(an)f(upp)s(er)
h(b)s(ound)f(of)g Fs(Y)57 b Fu(and)38 b(w)m(e)283 2794
y(shall)32 b(sho)m(w)h(that)965 2728 y Fg(F)1034 2758
y Fi(0)1057 2794 y Fs(Y)52 b Ft(v)1259 2758 y Fi(0)1315
2794 y Fs(f)1366 2809 y Fn(1)1405 2794 y Fu(.)43 b(This)33
b(amoun)m(ts)g(to)f(sho)m(wing)527 2927 y Fg(F)597 2994
y Ft(f)g Fs(f)53 b(x)45 b Ft(j)32 b Fs(f)53 b Ft(2)33
b Fs(Y)52 b Ft(g)33 b(v)g Fs(f)1462 3009 y Fn(1)1534
2994 y Fs(x)283 3193 y Fu(for)c(an)g(arbitrary)f Fs(x)41
b Ft(2)29 b Fs(S)12 b Fu(.)29 b(Ho)m(w)m(ev)m(er,)j(this)d(is)f
(immediate)f(b)s(ecause)j Fs(f)2856 3208 y Fn(1)2924
3193 y Fs(x)41 b Fu(m)m(ust)29 b(b)s(e)g(an)g(upp)s(er)283
3313 y(b)s(ound)j(of)e Ft(f)h Fs(f)52 b(x)43 b Ft(j)31
b Fs(f)51 b Ft(2)32 b Fs(Y)51 b Ft(g)30 b Fu(and)i(b)s(ecause)1932
3247 y Fg(F)2032 3313 y Fu(is)f(the)g(least)g(upp)s(er)g(b)s(ound)h(op)
s(eration)e(in)g Fs(D)9 b Fu(.)430 3434 y(T)-8 b(o)34
b(pro)m(v)m(e)i(the)f(other)g(part)f(of)g(the)h(lemma)d(assume)j(that)g
Fs(D)43 b Fu(is)34 b(a)g(ccp)s(o)h(and)g(that)f Fs(Y)54
b Fu(is)283 3554 y(a)33 b(c)m(hain)f(in)g Fs(S)44 b Ft(!)32
b Fs(D)9 b Fu(.)33 b(The)h(form)m(ula)527 3753 y(\()565
3687 y Fg(F)634 3717 y Fi(0)658 3753 y Fs(Y)19 b Fu(\))33
b Fs(x)44 b Fu(=)1018 3687 y Fg(F)1119 3753 y Ft(f)33
b Fs(f)53 b(x)44 b Ft(j)33 b Fs(f)53 b Ft(2)33 b Fs(Y)52
b Ft(g)283 3953 y Fu(de\014nes)43 b(an)e(elemen)m(t)1125
3886 y Fg(F)1194 3917 y Fi(0)1218 3953 y Fs(Y)60 b Fu(of)41
b Fs(S)53 b Ft(!)41 b Fs(D)9 b Fu(:)41 b(eac)m(h)h Ft(f)f
Fs(f)62 b(x)52 b Ft(j)41 b Fs(f)62 b Ft(2)42 b Fs(Y)60
b Ft(g)41 b Fu(will)e(b)s(e)i(a)g(c)m(hain)g(in)f Fs(D)283
4073 y Fu(b)s(ecause)32 b Fs(Y)50 b Fu(is)30 b(a)g(c)m(hain)g(and)g
(hence)i(eac)m(h)1867 4007 y Fg(F)1937 4073 y Ft(f)e
Fs(f)51 b(x)42 b Ft(j)30 b Fs(f)51 b Ft(2)31 b Fs(Y)50
b Ft(g)30 b Fu(exists)h(b)s(ecause)g Fs(D)40 b Fu(is)29
b(a)h(ccp)s(o.)283 4194 y(That)527 4127 y Fg(F)597 4157
y Fi(0)620 4194 y Fs(Y)52 b Fu(is)32 b(the)h(least)f(upp)s(er)h(b)s
(ound)g(of)f Fs(Y)52 b Fu(in)32 b Fs(S)45 b Ft(!)32 b
Fs(D)41 b Fu(follo)m(ws)32 b(as)g(ab)s(o)m(v)m(e.)457
b Fh(2)430 4397 y Fu(Instan)m(tiating)31 b Fs(S)45 b
Fu(to)32 b(b)s(e)h Fw(V)-9 b(ar)32 b Ft([)h(f)p Fu(on-trac)m(k)p
Ft(g)f Fu(and)h Fs(D)41 b Fu(to)32 b(b)s(e)h Fw(P)f Fu(w)m(e)i(get:)p
283 4517 V 283 4688 a Fw(Corollary)i(5.5)49 b Fu(Let)33
b Ft(v)1226 4703 y Fn(PS)1349 4688 y Fu(b)s(e)g(the)g(ordering)f(on)g
Fw(PState)h Fu(de\014ned)h(b)m(y)527 4887 y Fs(ps)625
4902 y Fn(1)694 4887 y Ft(v)772 4902 y Fn(PS)893 4887
y Fs(ps)991 4902 y Fn(2)1060 4887 y Fu(if)28 b(and)i(only)g(if)e
Fs(ps)1729 4902 y Fn(1)1798 4887 y Fs(x)42 b Ft(v)1962
4902 y Fn(P)2044 4887 y Fs(ps)2142 4902 y Fn(2)2211 4887
y Fs(x)f Fu(for)30 b(all)d Fs(x)42 b Ft(2)30 b Fw(V)-9
b(ar)29 b Ft([)h(f)p Fu(on-trac)m(k)p Ft(g)283 5086 y
Fu(Then)40 b(\()p Fw(PState)p Fu(,)f Ft(v)1057 5101 y
Fn(PS)1149 5086 y Fu(\))e(is)h(a)g(complete)f(lattice.)59
b(In)38 b(particular,)g(the)g(least)g(upp)s(er)h(b)s(ound)283
5140 y Fg(F)353 5221 y Fn(PS)444 5206 y Fs(Y)52 b Fu(of)32
b(a)h(subset)h Fs(Y)52 b Fu(of)32 b Fw(PState)g Fu(is)g(c)m
(haracterized)i(b)m(y)552 5374 y(\()590 5308 y Fg(F)659
5389 y Fn(PS)751 5374 y Fs(Y)19 b Fu(\))33 b Fs(x)44
b Fu(=)1111 5308 y Fg(F)1180 5389 y Fn(P)1264 5374 y
Ft(f)33 b Fs(ps)40 b(x)k Ft(j)33 b Fs(ps)40 b Ft(2)33
b Fs(Y)52 b Ft(g)p 283 5494 V eop
%%Page: 141 151
141 150 bop 0 130 a Fw(5.1)112 b(Prop)s(erties)36 b(and)j(prop)s(ert)m
(y)e(states)1540 b(141)p 0 193 3473 4 v 146 515 a Fu(W)-8
b(e)28 b(shall)e(write)h Fb(lost)g Fu(for)g(the)h(prop)s(ert)m(y)g
(state)f Fs(ps)36 b Fu(that)27 b(maps)g(all)e(v)-5 b(ariables)26
b(to)h Fb(d)p Fu(?)g(and)0 636 y(that)38 b(maps)f(`on-trac)m(k')h(to)g
Fb(d)p Fu(?.)59 b(Similarly)-8 b(,)35 b(w)m(e)k(shall)d(write)i
Fb(init)g Fu(for)f(the)h(prop)s(ert)m(y)h(state)0 756
y(that)c(maps)h(all)d(v)-5 b(ariables)34 b(to)i Fb(ok)g
Fu(and)f(that)h(maps)f(`on-trac)m(k')h(to)f Fb(ok)p Fu(.)53
b(Note)36 b(that)f Fb(init)h Fu(is)0 877 y(the)d Fs(le)-5
b(ast)35 b(element)41 b Fu(of)32 b Fw(PState)p Fu(.)0
1105 y Fw(Exercise)k(5.6)49 b(\(Essen)m(tial\))31 b Fu(Sho)m(w)i(that)
244 1308 y Fs(ps)342 1323 y Fn(1)414 1308 y Ft(v)491
1323 y Fn(PS)615 1308 y Fs(ps)713 1323 y Fn(2)785 1308
y Fu(if)e(and)i(only)f(if)g(OK\()p Fs(ps)1656 1323 y
Fn(1)1694 1308 y Fu(\))h Ft(\023)g Fu(OK\()p Fs(ps)2163
1323 y Fn(2)2202 1308 y Fu(\))0 1512 y(Next)g(sho)m(w)h(that)244
1715 y(OK\()434 1649 y Fg(F)503 1730 y Fn(PS)627 1715
y Fs(Y)19 b Fu(\))33 b(=)897 1649 y Fg(T)966 1715 y Ft(f)g
Fu(OK\()p Fs(ps)8 b Fu(\))32 b Ft(j)g Fs(ps)40 b Ft(2)33
b Fs(Y)52 b Ft(g)0 1918 y Fu(whenev)m(er)35 b Fs(Y)52
b Fu(is)32 b(a)h(non-empt)m(y)f(subset)j(of)d Fw(PState)p
Fu(.)1409 b Fh(2)0 2178 y Fw(Prop)s(erties)36 b(of)i(rel)p
676 2191 129 4 v 0 2363 a Fu(T)-8 b(o)36 b(study)i(the)e(prop)s(erties)
h(of)e(the)i(parameterized)f(relation)e(rel)p 2339 2376
109 4 v 36 w(w)m(e)j(need)h(a)e(notion)f(of)g(an)0 2483
y(equiv)-5 b(alence)33 b(relation.)41 b(A)33 b(relation)244
2687 y Fs(R)t Fu(:)g Fs(E)44 b Ft(\002)33 b Fs(E)45 b
Ft(!)32 b Fw(T)0 2890 y Fu(is)g(an)h Fs(e)-5 b(quivalenc)g(e)33
b(r)-5 b(elation)40 b Fu(on)32 b(a)g(set)i Fs(E)45 b
Fu(if)31 b(and)i(only)f(if)294 3085 y Fs(R)t Fu(\()p
Fs(e)459 3100 y Fn(1)498 3085 y Fu(,)h Fs(e)610 3100
y Fn(1)650 3085 y Fu(\))1416 b(\(re\015exivit)m(y\))294
3253 y Fs(R)t Fu(\()p Fs(e)459 3268 y Fn(1)498 3253 y
Fu(,)33 b Fs(e)610 3268 y Fn(2)650 3253 y Fu(\))f(and)h
Fs(R)t Fu(\()p Fs(e)1075 3268 y Fn(2)1115 3253 y Fu(,)f
Fs(e)1226 3268 y Fn(3)1266 3253 y Fu(\))g(imply)f Fs(R)t
Fu(\()p Fs(e)1775 3268 y Fn(1)1815 3253 y Fu(,)i Fs(e)1927
3268 y Fn(3)1966 3253 y Fu(\))100 b(\(transitivit)m(y\))294
3420 y Fs(R)t Fu(\()p Fs(e)459 3435 y Fn(1)498 3420 y
Fu(,)33 b Fs(e)610 3435 y Fn(2)650 3420 y Fu(\))f(implies)e
Fs(R)t Fu(\()p Fs(e)1216 3435 y Fn(2)1256 3420 y Fu(,)j
Fs(e)1368 3435 y Fn(1)1407 3420 y Fu(\))659 b(\(symmetry\))0
3617 y(for)32 b(all)f Fs(e)337 3632 y Fn(1)376 3617 y
Fu(,)i Fs(e)488 3632 y Fn(2)560 3617 y Fu(and)g Fs(e)802
3632 y Fn(3)874 3617 y Fu(of)f Fs(E)12 b Fu(.)0 3845
y Fw(Exercise)36 b(5.7)49 b Fu(Sho)m(w)39 b(that)f(rel)p
1115 3858 V 1223 3860 a Fn(Aexp)1388 3845 y Fu(\()p Fs(p)6
b Fu(\),)39 b(rel)p 1586 3858 V 1694 3860 a Fn(Bexp)1856
3845 y Fu(\()p Fs(p)6 b Fu(\))38 b(and)g(rel)p 2221 3858
V 2329 3860 a Fn(Stm)2459 3845 y Fu(\()p Fs(ps)8 b Fu(\))38
b(are)f(equiv)-5 b(alence)39 b(re-)0 3966 y(lations)31
b(for)h(all)e(c)m(hoices)k(of)e Fs(p)38 b Ft(2)33 b Fw(P)f
Fu(and)h Fs(ps)40 b Ft(2)33 b Fw(PState)p Fu(.)1285 b
Fh(2)146 4194 y Fu(Eac)m(h)33 b(of)e(rel)p 498 4207 V
606 4209 a Fn(Aexp)771 4194 y Fu(,)h(rel)p 830 4207 V
938 4209 a Fn(Bexp)1132 4194 y Fu(and)f(rel)p 1320 4207
V 15 x Fn(Stm)1590 4194 y Fu(are)h(examples)f(of)g(parameterized)g
(\(equiv)-5 b(alence\))0 4314 y(relations.)42 b(In)33
b(general)f(a)g Fs(p)-5 b(ar)g(ameterize)g(d)34 b(r)-5
b(elation)39 b Fu(is)33 b(of)f(the)h(form)244 4518 y
Ft(R)p Fu(:)44 b Fs(D)d Ft(!)32 b Fu(\()p Fs(E)45 b Ft(\002)33
b Fs(E)45 b Ft(!)32 b Fw(T)p Fu(\))0 4721 y(where)e(\()p
Fs(D)9 b Fu(,)30 b Ft(v)p Fu(\))f(is)g(a)g(partially)e(ordered)j(set,)g
Fs(E)42 b Fu(is)29 b(a)g(set)h(and)f(eac)m(h)h Ft(R)q
Fu(\()p Fs(d)10 b Fu(\))29 b(is)f(a)h(relation.)41 b(W)-8
b(e)0 4842 y(shall)31 b(sa)m(y)j(that)e(a)g(parameterized)g(relation)f
Ft(R)i Fu(is)f(a)g Fs(Kripke-r)-5 b(elation)39 b Fu(if)244
5045 y Fs(d)304 5060 y Fn(1)376 5045 y Ft(v)33 b Fs(d)546
5060 y Fn(2)618 5045 y Fu(implies)d(that)j(for)f(all)e
Fs(e)1497 5060 y Fn(1)1537 5045 y Fu(,)i Fs(e)1648 5060
y Fn(2)1721 5045 y Ft(2)h Fs(E)12 b Fu(:)949 5213 y(if)32
b Ft(R)p Fu(\()p Fs(d)1221 5228 y Fn(1)1261 5213 y Fu(\)\()p
Fs(e)1389 5228 y Fn(1)1428 5213 y Fu(,)h Fs(e)1540 5228
y Fn(2)1579 5213 y Fu(\))g(then)g Ft(R)q Fu(\()p Fs(d)2055
5228 y Fn(2)2094 5213 y Fu(\)\()p Fs(e)2222 5228 y Fn(1)2262
5213 y Fu(,)f Fs(e)2373 5228 y Fn(2)2413 5213 y Fu(\))0
5416 y(Note)h(that)f(this)g(is)g(a)h(kind)f(of)g(monotonicit)m(y)f
(prop)s(ert)m(y)-8 b(.)p eop
%%Page: 142 152
142 151 bop 251 130 a Fw(142)1937 b(5)112 b(Static)37
b(Program)f(Analysis)p 251 193 3473 4 v 283 515 3473
5 v 283 702 a(Lemma)i(5.8)49 b Fu(rel)p 873 715 109 4
v 981 717 a Fn(Stm)1143 702 y Fu(is)32 b(a)g(Kripk)m(e-relation.)p
283 822 3473 5 v 283 1036 a Fw(Pro)s(of:)38 b Fu(Let)32
b Fs(ps)896 1051 y Fn(1)968 1036 y Fu(and)h Fs(ps)1256
1051 y Fn(2)1328 1036 y Fu(b)s(e)g(suc)m(h)h(that)e Fs(ps)1990
1051 y Fn(1)2062 1036 y Ft(v)2139 1051 y Fn(PS)2263 1036
y Fs(ps)2361 1051 y Fn(2)2433 1036 y Fu(and)h(assume)g(that)527
1250 y Fs(s)575 1265 y Fn(1)647 1250 y Ft(\021)g Fs(s)805
1265 y Fn(2)877 1250 y Fu(rel)p 877 1263 109 4 v 32 w
Fs(ps)1116 1265 y Fn(1)283 1463 y Fu(holds)g(for)f(all)e(states)k
Fs(s)1149 1478 y Fn(1)1221 1463 y Fu(and)e Fs(s)1458
1478 y Fn(2)1498 1463 y Fu(.)43 b(W)-8 b(e)33 b(m)m(ust)g(sho)m(w)527
1677 y Fs(s)575 1692 y Fn(1)647 1677 y Ft(\021)g Fs(s)805
1692 y Fn(2)877 1677 y Fu(rel)p 877 1690 V 32 w Fs(ps)1116
1692 y Fn(2)283 1890 y Fu(If)40 b Fs(ps)486 1905 y Fn(2)565
1890 y Fu(on-trac)m(k)g(=)g Fb(d)p Fu(?)g(this)f(is)g(immediate)e(from)
i(the)h(de\014nition)f(of)g(rel)p 2979 1903 V 3087 1905
a Fn(Stm)3217 1890 y Fu(.)65 b(So)39 b(assume)283 2011
y(that)33 b Fs(ps)593 2026 y Fn(2)665 2011 y Fu(on-trac)m(k)f(=)h
Fb(ok)p Fu(.)44 b(In)33 b(this)f(case)i(w)m(e)f(m)m(ust)g(sho)m(w)527
2224 y Ft(8)q Fs(x)44 b Ft(2)33 b Fu(OK\()p Fs(ps)1059
2239 y Fn(2)1098 2224 y Fu(\))f Ft(\\)h Fw(V)-9 b(ar)p
Fu(:)43 b Fs(s)1561 2239 y Fn(1)1633 2224 y Fs(x)i Fu(=)32
b Fs(s)1879 2239 y Fn(2)1951 2224 y Fs(x)283 2438 y Fu(Since)g
Fs(ps)635 2453 y Fn(1)706 2438 y Ft(v)784 2453 y Fn(PS)907
2438 y Fs(ps)1005 2453 y Fn(2)1076 2438 y Fu(and)g Fs(ps)1363
2453 y Fn(2)1434 2438 y Fu(on-trac)m(k)g(=)g Fb(ok)g
Fu(it)f(m)m(ust)h(b)s(e)g(the)g(case)h(that)e Fs(ps)3235
2453 y Fn(1)3306 2438 y Fu(on-trac)m(k)h(is)283 2558
y Fb(ok)p Fu(.)45 b(F)-8 b(rom)31 b Fs(s)785 2573 y Fn(1)857
2558 y Ft(\021)i Fs(s)1015 2573 y Fn(2)1087 2558 y Fu(rel)p
1087 2571 V 32 w Fs(ps)1326 2573 y Fn(1)1397 2558 y Fu(w)m(e)h
(therefore)f(get)527 2772 y Ft(8)q Fs(x)44 b Ft(2)33
b Fu(OK\()p Fs(ps)1059 2787 y Fn(1)1098 2772 y Fu(\))f
Ft(\\)h Fw(V)-9 b(ar)p Fu(:)43 b Fs(s)1561 2787 y Fn(1)1633
2772 y Fs(x)i Fu(=)32 b Fs(s)1879 2787 y Fn(2)1951 2772
y Fs(x)283 2986 y Fu(F)-8 b(rom)38 b(Exercise)i(5.6)f(and)g(the)g
(assumption)f Fs(ps)2090 3001 y Fn(1)2168 2986 y Ft(v)2246
3001 y Fn(PS)2376 2986 y Fs(ps)2474 3001 y Fn(2)2552
2986 y Fu(w)m(e)i(get)f(OK\()p Fs(ps)3159 3001 y Fn(1)3198
2986 y Fu(\))g Ft(\023)g Fu(OK\()p Fs(ps)3679 3001 y
Fn(2)3718 2986 y Fu(\))283 3106 y(and)33 b(thereb)m(y)h(w)m(e)g(get)f
(the)g(desired)g(result.)1784 b Fh(2)283 3434 y Fw(Exercise)37
b(5.9)49 b(\(Essen)m(tial\))29 b Fu(Sho)m(w)k(that)f(rel)p
1938 3447 V 2046 3449 a Fn(Aexp)2243 3434 y Fu(and)f(rel)p
2431 3447 V 15 x Fn(Bexp)2734 3434 y Fu(are)g(Kripk)m(e-relations.)74
b Fh(2)283 3779 y Fj(5.2)161 b(The)53 b(analysis)283
4002 y Fu(When)43 b(sp)s(ecifying)d(the)i(analysis)f(w)m(e)h(shall)e(b)
s(e)i(concerned)h(with)e(expressions)i(as)e(w)m(ell)g(as)283
4123 y(statemen)m(ts.)283 4424 y Fp(Expressions)283 4613
y Fu(The)c(analysis)e(of)h(an)f(arithmetic)f(expression)j
Fs(a)43 b Fu(will)33 b(b)s(e)j(sp)s(eci\014ed)h(b)m(y)g(a)e(\(total\))f
(function)283 4733 y Ft(P)8 b(A)q Fu([)-17 b([)p Fs(a)7
b Fu(])-17 b(])33 b(from)f(prop)s(ert)m(y)h(states)h(to)e(prop)s
(erties:)527 4947 y Ft(P)8 b(A)p Fu(:)44 b Fw(Aexp)33
b Ft(!)f Fu(\()p Fw(PState)g Ft(!)g Fw(P)p Fu(\))283
5160 y(Similarly)-8 b(,)21 b(the)j(analysis)e(of)g(a)h(b)s(o)s(olean)e
(expression)k Fs(b)j Fu(will)21 b(b)s(e)i(de\014ned)i(b)m(y)e(a)g
(\(total\))e(function)283 5281 y Ft(P)8 b(B)t Fu([)-17
b([)q Fs(b)6 b Fu(])-17 b(])33 b(from)e(prop)s(ert)m(y)j(states)f(to)f
(prop)s(erties:)527 5494 y Ft(P)8 b(B)t Fu(:)44 b Fw(Bexp)32
b Ft(!)h Fu(\()p Fw(PState)f Ft(!)g Fw(P)p Fu(\))p eop
%%Page: 143 153
143 152 bop 0 130 a Fw(5.2)112 b(The)38 b(analysis)2439
b(143)p 0 193 3473 4 v 0 419 V 0 3216 4 2798 v 432 618
a Ft(P)8 b(A)p Fu([)-17 b([)q Fs(n)7 b Fu(])-17 b(])p
Fs(ps)382 b Fu(=)1373 444 y Fg(8)1373 519 y(<)1373 668
y(:)1488 534 y Fb(ok)84 b Fu(if)31 b Fs(ps)41 b Fu(on-trac)m(k)33
b(=)f Fb(ok)1488 701 y(d)p Fu(?)102 b(otherwise)432 971
y Ft(P)8 b(A)p Fu([)-17 b([)q Fs(x)12 b Fu(])-17 b(])p
Fs(ps)387 b Fu(=)1373 796 y Fg(8)1373 871 y(<)1373 1020
y(:)1488 886 y Fs(ps)41 b(x)95 b Fu(if)31 b Fs(ps)40
b Fu(on-trac)m(k)33 b(=)g Fb(ok)1488 1053 y(d)p Fu(?)163
b(otherwise)432 1233 y Ft(P)8 b(A)p Fu([)-17 b([)q Fs(a)684
1248 y Fn(1)756 1233 y Fu(+)32 b Fs(a)921 1248 y Fn(2)961
1233 y Fu(])-17 b(])p Fs(ps)110 b Fu(=)99 b(\()p Ft(P)8
b(A)p Fu([)-17 b([)q Fs(a)1663 1248 y Fn(1)1702 1233
y Fu(])g(])q Fs(ps)8 b Fu(\))32 b Ft(t)1975 1248 y Fn(P)2059
1233 y Fu(\()p Ft(P)8 b(A)p Fu([)-17 b([)q Fs(a)2349
1248 y Fn(2)2389 1233 y Fu(])g(])p Fs(ps)8 b Fu(\))432
1424 y Ft(P)g(A)p Fu([)-17 b([)q Fs(a)684 1439 y Fn(1)756
1424 y Fo(?)32 b Fs(a)894 1439 y Fn(2)934 1424 y Fu(])-17
b(])p Fs(ps)137 b Fu(=)99 b(\()p Ft(P)8 b(A)p Fu([)-17
b([)q Fs(a)1663 1439 y Fn(1)1702 1424 y Fu(])g(])q Fs(ps)8
b Fu(\))32 b Ft(t)1975 1439 y Fn(P)2059 1424 y Fu(\()p
Ft(P)8 b(A)p Fu([)-17 b([)q Fs(a)2349 1439 y Fn(2)2389
1424 y Fu(])g(])p Fs(ps)8 b Fu(\))432 1615 y Ft(P)g(A)p
Fu([)-17 b([)q Fs(a)684 1630 y Fn(1)756 1615 y Ft(\000)33
b Fs(a)923 1630 y Fn(2)962 1615 y Fu(])-17 b(])q Fs(ps)108
b Fu(=)99 b(\()p Ft(P)8 b(A)p Fu([)-17 b([)q Fs(a)1663
1630 y Fn(1)1702 1615 y Fu(])g(])q Fs(ps)8 b Fu(\))32
b Ft(t)1975 1630 y Fn(P)2059 1615 y Fu(\()p Ft(P)8 b(A)p
Fu([)-17 b([)q Fs(a)2349 1630 y Fn(2)2389 1615 y Fu(])g(])p
Fs(ps)8 b Fu(\))432 1967 y Ft(P)g(B)t Fu([)-17 b([)p
Fr(true)p Fu(])g(])r Fs(ps)250 b Fu(=)1373 1793 y Fg(8)1373
1868 y(<)1373 2017 y(:)1488 1883 y Fb(ok)84 b Fu(if)31
b Fs(ps)41 b Fu(on-trac)m(k)33 b(=)f Fb(ok)1488 2050
y(d)p Fu(?)102 b(otherwise)432 2320 y Ft(P)8 b(B)t Fu([)-17
b([)p Fr(false)p Fu(])g(])r Fs(ps)199 b Fu(=)1373 2145
y Fg(8)1373 2220 y(<)1373 2369 y(:)1488 2235 y Fb(ok)84
b Fu(if)31 b Fs(ps)41 b Fu(on-trac)m(k)33 b(=)f Fb(ok)1488
2402 y(d)p Fu(?)102 b(otherwise)432 2582 y Ft(P)8 b(B)t
Fu([)-17 b([)p Fs(a)672 2597 y Fn(1)745 2582 y Fu(=)32
b Fs(a)910 2597 y Fn(2)950 2582 y Fu(])-17 b(])p Fs(ps)121
b Fu(=)99 b(\()p Ft(P)8 b(A)p Fu([)-17 b([)q Fs(a)1663
2597 y Fn(1)1702 2582 y Fu(])g(])q Fs(ps)8 b Fu(\))32
b Ft(t)1975 2597 y Fn(P)2059 2582 y Fu(\()p Ft(P)8 b(A)p
Fu([)-17 b([)q Fs(a)2349 2597 y Fn(2)2389 2582 y Fu(])g(])p
Fs(ps)8 b Fu(\))432 2773 y Ft(P)g(B)t Fu([)-17 b([)p
Fs(a)672 2788 y Fn(1)745 2773 y Ft(\024)33 b Fs(a)912
2788 y Fn(2)951 2773 y Fu(])-17 b(])q Fs(ps)119 b Fu(=)99
b(\()p Ft(P)8 b(A)p Fu([)-17 b([)q Fs(a)1663 2788 y Fn(1)1702
2773 y Fu(])g(])q Fs(ps)8 b Fu(\))32 b Ft(t)1975 2788
y Fn(P)2059 2773 y Fu(\()p Ft(P)8 b(A)p Fu([)-17 b([)q
Fs(a)2349 2788 y Fn(2)2389 2773 y Fu(])g(])p Fs(ps)8
b Fu(\))432 2964 y Ft(P)g(B)t Fu([)-17 b([)p Ft(:)33
b Fs(b)6 b Fu(])-17 b(])q Fs(ps)305 b Fu(=)99 b Ft(P)8
b(B)t Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(])p Fs(ps)432
3155 y Ft(P)8 b(B)t Fu([)-17 b([)p Fs(b)666 3170 y Fn(1)738
3155 y Ft(^)33 b Fs(b)888 3170 y Fn(2)928 3155 y Fu(])-17
b(])p Fs(ps)143 b Fu(=)99 b(\()p Ft(P)8 b(B)t Fu([)-17
b([)q Fs(b)1646 3170 y Fn(1)1685 3155 y Fu(])g(])p Fs(ps)8
b Fu(\))33 b Ft(t)1957 3170 y Fn(P)2042 3155 y Fu(\()p
Ft(P)8 b(B)t Fu([)-17 b([)p Fs(b)2314 3170 y Fn(2)2354
3155 y Fu(])g(])p Fs(ps)8 b Fu(\))p 3469 3216 V 0 3219
3473 4 v 1015 3380 a(T)-8 b(able)33 b(5.1:)43 b(Analysis)32
b(of)g(expressions)0 3651 y(The)c(de\014ning)f(clauses)h(are)f(giv)m
(en)g(in)f(T)-8 b(able)27 b(5.1.)41 b(The)28 b(clause)f(for)g
Fs(n)34 b Fu(re\015ects)29 b(that)d(the)i(v)-5 b(alue)0
3771 y(of)33 b Fs(n)40 b Fu(in)32 b(a)h(prop)s(er)g(prop)s(ert)m(y)h
(state)g Fs(ps)41 b Fu(do)s(es)33 b(not)g(dep)s(end)h(on)f(an)m(y)h(v)
-5 b(ariable)32 b(and)h(therefore)0 3892 y(it)j(will)g(ha)m(v)m(e)i
(the)g(prop)s(ert)m(y)h Fb(ok)p Fu(.)58 b(The)39 b(prop)s(ert)m(y)f(of)
f(a)g(v)-5 b(ariable)36 b Fs(x)49 b Fu(in)37 b(a)g(prop)s(er)h(prop)s
(ert)m(y)0 4012 y(state)g Fs(ps)46 b Fu(is)37 b(the)h(prop)s(ert)m(y)g
(b)s(ound)g(to)g Fs(x)49 b Fu(in)37 b Fs(ps)8 b Fu(,)39
b(that)e(is)g Fs(ps)46 b(x)12 b Fu(.)59 b(Th)m(us)39
b(if)d Fs(ps)46 b Fu(is)37 b(the)h(initial)0 4132 y(prop)s(ert)m(y)c
(state)h(then)f(the)g(in)m(ten)m(tion)f(is)g(that)h Ft(P)8
b(A)p Fu([)-17 b([)q Fs(x)12 b Fu(])-17 b(])p Fs(ps)41
b Fu(is)34 b Fb(ok)g Fu(if)f(and)g(only)h(if)e Fs(x)46
b Fu(is)33 b(one)h(of)0 4253 y(the)j(input)f(v)-5 b(ariables.)54
b(F)-8 b(or)36 b(a)g(comp)s(osite)g(expression,)j(lik)m(e)c
Fs(a)2358 4268 y Fn(1)2435 4253 y Fu(+)h Fs(a)2604 4268
y Fn(2)2644 4253 y Fu(,)h(the)g(idea)f(is)g(that)g(it)0
4373 y(can)d(only)f(ha)m(v)m(e)i(the)e(prop)s(ert)m(y)i
Fb(ok)f Fu(if)e(b)s(oth)h(sub)s(expressions)j(ha)m(v)m(e)f(that)e(prop)
s(ert)m(y)-8 b(.)44 b(This)33 b(is)0 4494 y(ensured)h(b)m(y)g(the)f
(binary)f(op)s(eration)f Ft(t)1471 4509 y Fn(P)1555 4494
y Fu(in)m(tro)s(duced)i(in)f(Section)g(5.1.)0 4693 y
Fw(Example)37 b(5.10)49 b Fu(If)42 b Fs(ps)50 b Fr(x)43
b Fu(=)f Fb(ok)h Fu(and)f Fs(ps)50 b Fu(on-trac)m(k)43
b(=)f Fb(ok)h Fu(then)g Ft(P)8 b(A)p Fu([)-17 b([)q Fr(x)42
b Fu(+)h Fr(1)p Fu(])-17 b(])p Fs(ps)51 b Fu(=)42 b Fb(ok)0
4813 y Fu(since)35 b Ft(P)8 b(A)p Fu([)-17 b([)q Fr(x)p
Fu(])g(])q Fs(ps)42 b Fu(=)35 b Fb(ok)h Fu(and)f Ft(P)8
b(A)p Fu([)-17 b([)p Fr(1)p Fu(])g(])q Fs(ps)43 b Fu(=)34
b Fb(ok)p Fu(.)51 b(On)35 b(the)h(other)f(hand,)g(if)f
Fs(ps)43 b Fr(x)35 b Fu(=)g Fb(d)p Fu(?)g(then)0 4934
y Ft(P)8 b(A)p Fu([)-17 b([)q Fr(x)32 b Fu(+)h Fr(1)p
Fu(])-17 b(])q Fs(ps)40 b Fu(=)32 b Fb(d)p Fu(?)h(b)s(ecause)h
Ft(P)8 b(A)p Fu([)-17 b([)q Fr(x)p Fu(])g(])q Fs(ps)40
b Fu(=)32 b Fb(d)p Fu(?.)146 5054 y(F)-8 b(urthermore,)32
b Ft(P)8 b(B)t Fu([)-17 b([)q Fr(x)33 b Fu(=)f Fr(x)p
Fu(])-17 b(])q Fs(ps)40 b Fu(=)32 b Fb(d)p Fu(?)h(if)e
Fs(ps)41 b Fr(x)32 b Fu(=)h Fb(d)p Fu(?)f(ev)m(en)i(though)f(the)g
(test)g Fr(x)g Fu(=)f Fr(x)h Fu(will)0 5175 y(ev)-5 b(aluate)32
b(to)g Fw(tt)g Fu(indep)s(enden)m(tly)h(of)f(whether)i(or)f(not)f
Fr(x)h Fu(is)f(initialized)d(prop)s(erly)-8 b(.)359 b
Fh(2)146 5374 y Fu(The)43 b(functions)f Ft(P)8 b(A)p
Fu([)-17 b([)q Fs(a)7 b Fu(])-17 b(])42 b(and)h Ft(P)8
b(B)s Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(])42 b(are)g(closely)g
(connected)h(with)f(the)g(sets)i(of)d(free)0 5494 y(v)-5
b(ariables)31 b(de\014ned)j(in)e(Chapter)h(1:)p eop
%%Page: 144 154
144 153 bop 251 130 a Fw(144)1937 b(5)112 b(Static)37
b(Program)f(Analysis)p 251 193 3473 4 v 283 419 V 283
1501 4 1083 v 666 519 a Ft(P)8 b(S)g Fu([)-17 b([)p Fs(x)45
b Fu(:=)32 b Fs(a)7 b Fu(])-17 b(])34 b Fs(ps)40 b Fu(=)32
b Fs(ps)8 b Fu([)p Fs(x)k Ft(7!P)c(A)p Fu([)-17 b([)p
Fs(a)7 b Fu(])-17 b(])q Fs(ps)8 b Fu(])666 710 y Ft(P)g(S)g
Fu([)-17 b([)p Fr(skip)p Fu(])g(])35 b(=)d(id)666 901
y Ft(P)8 b(S)g Fu([)-17 b([)p Fs(S)915 916 y Fn(1)955
901 y Fu(;)p Fs(S)1049 916 y Fn(2)1088 901 y Fu(])g(])33
b(=)g Ft(P)8 b(S)g Fu([)-17 b([)p Fs(S)1516 916 y Fn(2)1556
901 y Fu(])g(])33 b Ft(\016)f(P)8 b(S)g Fu([)-17 b([)q
Fs(S)1958 916 y Fn(1)1997 901 y Fu(])g(])666 1092 y Ft(P)8
b(S)g Fu([)-17 b([)p Fr(if)33 b Fs(b)39 b Fr(then)33
b Fs(S)1371 1107 y Fn(1)1443 1092 y Fr(else)h Fs(S)1748
1107 y Fn(2)1787 1092 y Fu(])-17 b(])33 b(=)g(cond)2166
1107 y Fn(P)2218 1092 y Fu(\()p Ft(P)8 b(B)t Fu([)-17
b([)q Fs(b)6 b Fu(])-17 b(],)33 b Ft(P)8 b(S)g Fu([)-17
b([)q Fs(S)2838 1107 y Fn(1)2877 1092 y Fu(])g(])q(,)32
b Ft(P)8 b(S)h Fu([)-17 b([)p Fs(S)3224 1107 y Fn(2)3263
1092 y Fu(])g(])q(\))666 1284 y Ft(P)8 b(S)g Fu([)-17
b([)p Fr(while)34 b Fs(b)39 b Fr(do)33 b Fs(S)12 b Fu(])-17
b(])33 b(=)f(FIX)h Fs(H)934 1451 y Fu(where)h Fs(H)49
b(h)39 b Fu(=)33 b(cond)1735 1466 y Fn(P)1788 1451 y
Fu(\()p Ft(P)8 b(B)s Fu([)-17 b([)q Fs(b)6 b Fu(])-17
b(])q(,)32 b Fs(h)40 b Ft(\016)32 b(P)8 b(S)h Fu([)-17
b([)p Fs(S)12 b Fu(])-17 b(])q(,)32 b(id\))p 3753 1501
V 283 1504 3473 4 v 1088 1665 a(T)-8 b(able)33 b(5.2:)43
b(Analysis)32 b(of)g(statemen)m(ts)i(in)d Fw(While)283
1955 y(Exercise)37 b(5.11)49 b(\(Essen)m(tial\))27 b
Fu(Pro)m(v)m(e)j(that)f(for)g(ev)m(ery)i(arithmetic)c(expression)j
Fs(a)36 b Fu(w)m(e)31 b(ha)m(v)m(e)527 2169 y Ft(P)8
b(A)p Fu([)-17 b([)q Fs(a)7 b Fu(])-17 b(])q Fs(ps)40
b Fu(=)33 b Fb(ok)g Fu(if)e(and)i(only)f(if)f(FV\()p
Fs(a)7 b Fu(\))33 b Ft([)g(f)p Fu(on-trac)m(k)p Ft(g)f(\022)h
Fu(OK\()p Fs(ps)8 b Fu(\))283 2384 y(F)-8 b(orm)m(ulate)32
b(and)i(pro)m(v)m(e)h(a)e(similar)e(result)i(for)g(b)s(o)s(olean)f
(expressions.)49 b(Deduce)34 b(that)g(for)f(all)283 2504
y Fs(a)38 b Fu(of)31 b Fw(Aexp)g Fu(w)m(e)g(get)g Ft(P)8
b(A)p Fu([)-17 b([)q Fs(a)7 b Fu(])-17 b(])q Fs(ps)38
b Fu(=)31 b Fb(d)p Fu(?)g(if)e Fs(ps)39 b Fu(is)30 b(improp)s(er,)g
(and)h(that)f(for)g(all)f Fs(b)37 b Fu(of)30 b Fw(Bexp)h
Fu(w)m(e)283 2625 y(get)i Ft(P)8 b(B)t Fu([)-17 b([)q
Fs(b)6 b Fu(])-17 b(])p Fs(ps)41 b Fu(=)32 b Fb(d)p Fu(?)h(if)e
Fs(ps)41 b Fu(is)32 b(improp)s(er.)1849 b Fh(2)283 2928
y Fp(Statemen)l(ts)283 3117 y Fu(T)-8 b(urning)40 b(to)f(statemen)m(ts)
i(w)m(e)g(shall)d(sp)s(ecify)j(their)e(analysis)g(b)m(y)i(a)e(function)
g Ft(P)8 b(S)49 b Fu(of)39 b(func-)283 3237 y(tionalit)m(y:)527
3452 y Ft(P)8 b(S)h Fu(:)43 b Fw(Stm)32 b Ft(!)g Fu(\()p
Fw(PState)g Ft(!)g Fw(PState)p Fu(\))283 3667 y(The)47
b(totalit)m(y)d(of)h Ft(P)8 b(S)h Fu([)-17 b([)p Fs(S)12
b Fu(])-17 b(])46 b(re\015ects)i(that)d(w)m(e)i(shall)d(b)s(e)i(able)f
(to)g(analyse)h Fs(al)5 b(l)56 b Fu(statemen)m(ts)283
3787 y(including)27 b(a)i(statemen)m(t)g(lik)m(e)f Fr(while)h(true)h
(do)f(skip)h Fu(that)e(lo)s(ops.)41 b(The)30 b(de\014nition)d(of)h
Ft(P)8 b(S)37 b Fu(is)283 3907 y(giv)m(en)30 b(in)e(T)-8
b(able)28 b(5.2)h(and)g(the)g(clauses)h(for)e(assignmen)m(t,)i
Fr(skip)g Fu(and)f(comp)s(osition)d(are)j(m)m(uc)m(h)283
4028 y(as)k(in)f(the)h(direct)g(st)m(yle)g(denotational)e(seman)m(tics)
h(of)h(Chapter)g(4.)43 b(The)34 b(remaining)c(clauses)283
4148 y(will)h(b)s(e)i(explained)f(b)s(elo)m(w.)283 4395
y Fw(Example)37 b(5.12)49 b Fu(Consider)33 b(the)g(statemen)m(t)527
4609 y Fr(y)g Fu(:=)g Fr(x)283 4824 y Fu(First)j(assume)i(that)e
Fs(ps)45 b Fu(is)36 b(a)h(prop)s(er)g(prop)s(ert)m(y)g(state)g(with)g
Fs(ps)44 b Fr(x)37 b Fu(=)g Fb(ok)g Fu(and)g Fs(ps)45
b Fr(y)37 b Fu(=)g Fb(d)p Fu(?.)283 4945 y(Then)d(w)m(e)g(ha)m(v)m(e)
527 5159 y(\()p Ft(P)8 b(S)h Fu([)-17 b([)p Fr(y)33 b
Fu(:=)f Fr(x)p Fu(])-17 b(])q Fs(ps)8 b Fu(\))33 b Fr(x)f
Fu(=)h Fb(ok)527 5327 y Fu(\()p Ft(P)8 b(S)h Fu([)-17
b([)p Fr(y)33 b Fu(:=)f Fr(x)p Fu(])-17 b(])q Fs(ps)8
b Fu(\))33 b Fr(y)f Fu(=)h Fb(ok)527 5494 y Fu(\()p Ft(P)8
b(S)h Fu([)-17 b([)p Fr(y)33 b Fu(:=)f Fr(x)p Fu(])-17
b(])q Fs(ps)8 b Fu(\))33 b(on-trac)m(k)f(=)h Fb(ok)p
eop
%%Page: 145 155
145 154 bop 0 130 a Fw(5.2)112 b(The)38 b(analysis)2439
b(145)p 0 193 3473 4 v 0 515 a Fu(Since)34 b Ft(P)8 b(S)g
Fu([)-17 b([)q Fr(y)34 b Fu(:=)f Fr(x)p Fu(])-17 b(])q
Fs(ps)42 b Fu(is)33 b(prop)s(er)h(w)m(e)h(conclude)f(that)g(b)s(oth)f
Fr(x)h Fu(and)g Fr(y)g Fu(only)f(dep)s(end)i(on)f(the)0
636 y(input)26 b(v)-5 b(ariables)25 b(after)h Fr(y)g
Fu(is)g(assigned)h(a)f(v)-5 b(alue)25 b(that)h(only)g(dep)s(ends)i(on)e
(the)h(input)f(v)-5 b(ariables.)146 756 y(Assume)34 b(next)f(that)g
Fs(ps)40 b Fr(y)33 b Fu(=)f Fb(ok)h Fu(but)g Fs(ps)41
b Fr(x)32 b Fu(=)h Fb(d)p Fu(?.)44 b(Then)244 940 y(\()p
Ft(P)8 b(S)g Fu([)-17 b([)q Fr(y)32 b Fu(:=)h Fr(x)p
Fu(])-17 b(])q Fs(ps)8 b Fu(\))32 b Fr(y)h Fu(=)f Fb(d)p
Fu(?)0 1123 y(sho)m(wing)42 b(that)g(when)h(a)f(dubious)g(v)-5
b(alue)41 b(is)g(used)i(in)f(an)f(assignmen)m(t)h(then)h(the)f
(assigned)0 1244 y(v)-5 b(ariable)31 b(will)f(get)j(a)f(dubious)h(v)-5
b(alue)32 b(as)g(w)m(ell.)1676 b Fh(2)0 1445 y Fw(Exercise)36
b(5.13)49 b Fu(Consider)40 b(the)f(statemen)m(ts)g Fs(S)1843
1460 y Fn(1)1921 1445 y Fu(and)g Fs(S)2184 1460 y Fn(2)2262
1445 y Fu(of)g(Example)f(5.3.)62 b(Use)39 b(T)-8 b(ables)0
1566 y(5.1)37 b(and)h(5.2)f(to)h(c)m(haracterize)g(the)g(b)s(eha)m
(viour)f(of)h Ft(P)8 b(S)g Fu([)-17 b([)q Fs(S)2185 1581
y Fn(1)2224 1566 y Fu(])g(])38 b(and)g Ft(P)8 b(S)g Fu([)-17
b([)q Fs(S)2744 1581 y Fn(2)2783 1566 y Fu(])g(])38 b(on)g(prop)s(er)f
(and)0 1686 y(improp)s(er)31 b(prop)s(ert)m(y)i(states.)45
b(An)m(ticipating)30 b(Section)j(5.3)f(sho)m(w)i(that)244
1870 y Fs(s)292 1885 y Fn(1)364 1870 y Ft(\021)f Fs(s)522
1885 y Fn(2)594 1870 y Fu(rel)p 594 1883 109 4 v 32 w
Fs(ps)40 b Fu(implies)30 b Ft(S)1264 1885 y Fn(ds)1335
1870 y Fu([)-17 b([)q Fs(S)1440 1885 y Fn(i)1464 1870
y Fu(])g(])p Fs(s)1549 1885 y Fn(1)1621 1870 y Ft(\021)33
b(S)1799 1885 y Fn(ds)1870 1870 y Fu([)-17 b([)q Fs(S)1975
1885 y Fn(i)1998 1870 y Fu(])g(])q Fs(s)2084 1885 y Fn(2)2156
1870 y Fu(rel)p 2156 1883 V 32 w Ft(P)8 b(S)g Fu([)-17
b([)q Fs(S)2547 1885 y Fn(i)2570 1870 y Fu(])g(])q Fs(ps)0
2053 y Fu(for)32 b(i)g(=)g(1,)g(2)h(and)f(for)g(all)f
Fs(ps)40 b Ft(2)33 b Fw(PState)p Fu(.)1829 b Fh(2)146
2255 y Fu(In)40 b(the)g(clause)g(for)g Fr(if)g Fs(b)45
b Fr(then)c Fs(S)1446 2270 y Fn(1)1525 2255 y Fr(else)g
Fs(S)1837 2270 y Fn(2)1915 2255 y Fu(w)m(e)g(use)g(the)f(auxiliary)e
(function)h(cond)3420 2270 y Fn(P)0 2376 y Fu(de\014ned)34
b(b)m(y)244 2641 y(cond)444 2656 y Fn(P)497 2641 y Fu(\()p
Fs(f)20 b Fu(,)33 b Fs(h)702 2656 y Fn(1)742 2641 y Fu(,)f
Fs(h)858 2656 y Fn(2)898 2641 y Fu(\))g Fs(ps)41 b Fu(=)1207
2466 y Fg(8)1207 2541 y(<)1207 2691 y(:)1323 2556 y Fu(\()p
Fs(h)1418 2571 y Fn(1)1490 2556 y Fs(ps)8 b Fu(\))32
b Ft(t)1725 2571 y Fn(PS)1848 2556 y Fu(\()p Fs(h)1943
2571 y Fn(2)2016 2556 y Fs(ps)8 b Fu(\))82 b(if)32 b
Fs(f)53 b(ps)41 b Fu(=)32 b Fb(ok)1323 2724 y(lost)692
b Fu(if)32 b Fs(f)53 b(ps)41 b Fu(=)32 b Fb(d)p Fu(?)0
2906 y(First)g(consider)h(the)g(case)h(where)g(w)m(e)g(are)f
(successful)i(in)d(analysing)f(the)j(condition,)d(that)i(is)0
3026 y(where)39 b Fs(f)59 b(ps)46 b Fu(=)38 b Fb(ok)p
Fu(.)61 b(F)-8 b(or)37 b(eac)m(h)j(v)-5 b(ariable)36
b Fs(x)50 b Fu(w)m(e)39 b(can)f(determine)g(the)h(result)f(of)g
(analysing)0 3147 y(eac)m(h)d(of)g(the)g(branc)m(hes,)h(namely)e(\()p
Fs(h)1374 3162 y Fn(1)1448 3147 y Fs(ps)8 b Fu(\))35
b Fs(x)46 b Fu(for)34 b(the)h(true)g(branc)m(h)g(and)g(\()p
Fs(h)2850 3162 y Fn(2)2924 3147 y Fs(ps)8 b Fu(\))35
b Fs(x)46 b Fu(for)34 b(the)0 3267 y(false)c(branc)m(h.)44
b(The)32 b(least)e(upp)s(er)i(b)s(ound)f(of)f(these)i(t)m(w)m(o)g
(results)f(will)e(b)s(e)i(the)g(new)h(prop)s(ert)m(y)0
3388 y(b)s(ound)h(to)f Fs(x)12 b Fu(,)32 b(that)h(is)f(the)h(new)g
(prop)s(ert)m(y)h(state)f(will)d(map)i Fs(x)44 b Fu(to)244
3571 y(\(\()p Fs(h)377 3586 y Fn(1)449 3571 y Fs(ps)8
b Fu(\))32 b Fs(x)12 b Fu(\))33 b Ft(t)811 3586 y Fn(P)896
3571 y Fu(\(\()p Fs(h)1029 3586 y Fn(2)1101 3571 y Fs(ps)8
b Fu(\))32 b Fs(x)12 b Fu(\))0 3755 y(If)24 b(the)h(analysis)f(of)g
(the)h(condition)e(is)i(not)f(successful,)k(that)c(is)g
Fs(f)46 b(ps)32 b Fu(=)24 b Fb(d)p Fu(?,)j(then)e(the)g(analysis)0
3875 y(of)32 b(the)h(conditional)d(will)g(fail)h(and)h(w)m(e)i(shall)d
(therefore)i(use)h(the)f(prop)s(ert)m(y)g(state)g Fb(lost)p
Fu(.)0 4077 y Fw(Example)k(5.14)49 b Fu(Consider)33 b(no)m(w)g(the)g
(statemen)m(t)244 4260 y Fr(if)g(x)g Fu(=)f Fr(x)h(then)g(z)g
Fu(:=)g Fr(y)g(else)g(y)g Fu(:=)f Fr(z)0 4444 y Fu(Clearly)-8
b(,)37 b(the)f(\014nal)g(v)-5 b(alue)36 b(of)g Fr(z)h
Fu(can)g(b)s(e)f(determined)h(uniquely)f(from)f(the)i(initial)c(v)-5
b(alue)36 b(of)0 4564 y Fr(y)p Fu(.)53 b(Ho)m(w)m(ev)m(er,)39
b(if)34 b Fr(z)i Fu(is)f(dubious)h(then)h(the)f(analysis)f(cannot)g
(giv)m(e)h(this)f(result.)53 b(T)-8 b(o)36 b(see)h(this)0
4685 y(assume)h(that)f Fs(ps)46 b Fu(is)37 b(a)g(prop)s(er)h(prop)s
(ert)m(y)g(state)g(suc)m(h)h(that)f Fs(ps)i Fr(x)e Fu(=)f
Fb(ok)p Fu(,)j Fs(ps)45 b Fr(y)38 b Fu(=)f Fb(ok)h Fu(and)0
4805 y Fs(ps)i Fr(z)33 b Fu(=)g Fb(d)p Fu(?.)43 b(Then)244
4989 y(\()p Ft(P)8 b(S)g Fu([)-17 b([)q Fr(if)33 b(x)g
Fu(=)f Fr(x)h(then)g(z)g Fu(:=)g Fr(y)f(else)i(y)f Fu(:=)f
Fr(z)p Fu(])-17 b(])q Fs(ps)8 b Fu(\))32 b Fr(z)465 5156
y Fu(=)g(\(cond)811 5171 y Fn(P)864 5156 y Fu(\()p Ft(P)8
b(B)t Fu([)-17 b([)p Fr(x)33 b Fu(=)f Fr(x)p Fu(])-17
b(])q(,)33 b Ft(P)8 b(S)g Fu([)-17 b([)q Fr(z)32 b Fu(:=)h
Fr(y)p Fu(])-17 b(])q(,)32 b Ft(P)8 b(S)h Fu([)-17 b([)p
Fr(y)33 b Fu(:=)g Fr(z)p Fu(])-17 b(]\))33 b Fs(ps)8
b Fu(\))32 b Fr(z)465 5324 y Fu(=)g(\()p Ft(P)8 b(S)g
Fu([)-17 b([)q Fr(z)33 b Fu(:=)f Fr(y)p Fu(])-17 b(])34
b Fs(ps)40 b Ft(t)1331 5339 y Fn(P)1416 5324 y Ft(P)8
b(S)g Fu([)-17 b([)q Fr(y)33 b Fu(:=)f Fr(z)p Fu(])-17
b(])34 b Fs(ps)8 b Fu(\))32 b Fr(z)465 5492 y Fu(=)g
Fb(d)p Fu(?)p eop
%%Page: 146 156
146 155 bop 251 130 a Fw(146)1937 b(5)112 b(Static)37
b(Program)f(Analysis)p 251 193 3473 4 v 283 515 a Fu(b)s(ecause)d
Ft(P)8 b(B)t Fu([)-17 b([)p Fr(x)31 b Fu(=)g Fr(x)p Fu(])-17
b(])q Fs(ps)39 b Fu(=)30 b Fb(ok)p Fu(,)i(\()p Ft(P)8
b(S)g Fu([)-17 b([)q Fr(z)31 b Fu(:=)g Fr(y)p Fu(])-17
b(])q Fs(ps)8 b Fu(\))30 b Fr(z)h Fu(=)g Fb(ok)g Fu(but)h(\()p
Ft(P)8 b(S)g Fu([)-17 b([)p Fr(y)32 b Fu(:=)e Fr(z)p
Fu(])-17 b(])q Fs(ps)8 b Fu(\))31 b Fr(z)g Fu(=)g Fb(d)p
Fu(?.)283 636 y(So)i(ev)m(en)h(though)e(the)h(false)f(branc)m(h)h(nev)m
(er)h(will)c(b)s(e)j(executed)h(it)e(will)e(in\015uence)j(the)g(result)
283 756 y(obtained)g(b)m(y)g(the)g(analysis.)430 877
y(Similarly)-8 b(,)21 b(ev)m(en)j(if)e Fr(y)h Fu(and)g
Fr(z)g Fu(are)g(not)g(dubious)g(but)g Fr(x)g Fu(is,)i(the)e(analysis)f
(cannot)h(determine)283 997 y(that)35 b(the)g(\014nal)f(v)-5
b(alue)35 b(of)f Fr(z)h Fu(only)f(dep)s(ends)j(on)d(the)i(v)-5
b(alue)34 b(of)g Fr(y)p Fu(.)51 b(T)-8 b(o)34 b(see)i(this)f(assume)g
(that)283 1117 y Fs(ps)k Fu(is)31 b(a)f(prop)s(er)h(prop)s(ert)m(y)h
(state)f(suc)m(h)h(that)f Fs(ps)38 b Fr(x)32 b Fu(=)e
Fb(d)p Fu(?,)i Fs(ps)38 b Fr(y)31 b Fu(=)g Fb(ok)h Fu(and)f
Fs(ps)38 b Fr(z)31 b Fu(=)g Fb(ok)p Fu(.)43 b(W)-8 b(e)283
1238 y(then)34 b(get)527 1440 y Ft(P)8 b(S)h Fu([)-17
b([)p Fr(if)33 b(x)g Fu(=)f Fr(x)h(then)h(z)f Fu(:=)f
Fr(y)h(else)g(y)g Fu(:=)g Fr(z)p Fu(])-17 b(])q Fs(ps)710
1608 y Fu(=)33 b(cond)1019 1623 y Fn(P)1071 1608 y Fu(\()p
Ft(P)8 b(B)t Fu([)-17 b([)q Fr(x)33 b Fu(=)f Fr(x)p Fu(])-17
b(])q(,)32 b Ft(P)8 b(S)h Fu([)-17 b([)p Fr(z)33 b Fu(:=)g
Fr(y)p Fu(])-17 b(],)33 b Ft(P)8 b(S)g Fu([)-17 b([)q
Fr(y)33 b Fu(:=)f Fr(z)p Fu(])-17 b(])q(\))p Fs(ps)710
1775 y Fu(=)33 b Fb(lost)283 1978 y Fu(b)s(ecause)j Ft(P)8
b(B)t Fu([)-17 b([)p Fr(x)34 b Fu(=)g Fr(x)p Fu(])-17
b(])q Fs(ps)41 b Fu(=)34 b Fb(d)p Fu(?.)48 b(These)35
b(examples)f(sho)m(w)h(that)f(the)g(result)g(of)f(the)i(analysis)283
2098 y(is)j(safe)h(but)g(usually)f(somewhat)g(imprecise.)60
b(More)39 b(complex)f(analyses)h(could)f(do)g(b)s(etter)283
2218 y(\(for)28 b(example)f(b)m(y)i(trying)e(to)g(predict)h(the)g
(outcome)f(of)h(tests\))g(but)g(in)f(general)h(no)f(decidable)283
2339 y(analysis)32 b(can)h(pro)m(vide)g(exact)g(results.)1944
b Fh(2)283 2566 y Fw(Exercise)37 b(5.15)49 b Fu(Consider)33
b(the)g(statemen)m(ts)h Fs(S)2109 2581 y Fn(11)2217 2566
y Fu(and)f Fs(S)2474 2581 y Fn(12)2581 2566 y Fu(of)f(Example)h(5.3.)44
b(Use)34 b(T)-8 b(ables)283 2686 y(5.1)32 b(and)h(5.2)e(to)h(c)m
(haracterize)h(the)g(b)s(eha)m(viour)f(of)g Ft(P)8 b(S)g
Fu([)-17 b([)q Fs(S)2425 2701 y Fn(11)2499 2686 y Fu(])g(])33
b(and)f Ft(P)8 b(S)g Fu([)-17 b([)q Fs(S)3008 2701 y
Fn(12)3083 2686 y Fu(])g(])32 b(on)g(prop)s(er)h(and)283
2806 y(improp)s(er)e(prop)s(ert)m(y)j(states.)44 b(An)m(ticipating)31
b(Section)h(5.3)g(sho)m(w)i(that)527 3009 y Fs(s)575
3024 y Fn(1)647 3009 y Ft(\021)f Fs(s)805 3024 y Fn(2)877
3009 y Fu(rel)p 877 3022 109 4 v 32 w Fs(ps)41 b Fu(implies)30
b Ft(S)1548 3024 y Fn(ds)1619 3009 y Fu([)-17 b([)p Fs(S)1723
3024 y Fn(i)1747 3009 y Fu(])g(])q Fs(s)1833 3024 y Fn(1)1905
3009 y Ft(\021)33 b(S)2082 3024 y Fn(ds)2154 3009 y Fu([)-17
b([)p Fs(S)2258 3024 y Fn(i)2282 3009 y Fu(])g(])p Fs(s)2367
3024 y Fn(2)2439 3009 y Fu(rel)p 2439 3022 V 32 w Ft(P)8
b(S)h Fu([)-17 b([)p Fs(S)2830 3024 y Fn(i)2854 3009
y Fu(])g(])p Fs(ps)283 3211 y Fu(for)29 b(i)e(=)i(11,)g(12)f(and)h(for)
f(all)f Fs(ps)36 b Ft(2)29 b Fw(PState)p Fu(.)42 b(Finally)26
b(argue)j(that)f(it)g(w)m(ould)h Fs(not)38 b Fu(b)s(e)29
b(sensible)283 3331 y(to)k(use)527 3534 y(cond)727 3498
y Fi(0)727 3558 y Fn(P)780 3534 y Fu(\()p Fs(f)21 b Fu(,)32
b Fs(h)985 3549 y Fn(1)1025 3534 y Fu(,)h Fs(h)1142 3549
y Fn(2)1181 3534 y Fu(\))g Fs(ps)40 b Fu(=)33 b(\()p
Fs(h)1586 3549 y Fn(1)1658 3534 y Fs(ps)8 b Fu(\))32
b Ft(t)1893 3549 y Fn(PS)2017 3534 y Fu(\()p Fs(h)2112
3549 y Fn(2)2184 3534 y Fs(ps)8 b Fu(\))283 3736 y(instead)33
b(of)f(the)h(cond)1099 3751 y Fn(P)1184 3736 y Fu(de\014ned)h(ab)s(o)m
(v)m(e.)1891 b Fh(2)430 3963 y Fu(In)32 b(the)h(clause)f(for)g(the)g
Fr(while)p Fu(-lo)s(op)g(w)m(e)h(also)e(use)i(the)g(function)e(cond)
3080 3978 y Fn(P)3165 3963 y Fu(and)h(otherwise)283 4083
y(the)23 b(clause)f(is)f(as)h(in)f(the)i(direct)e(st)m(yle)i
(denotational)d(seman)m(tics)i(of)f(Chapter)i(4.)39 b(In)23
b(particular)283 4204 y(w)m(e)28 b(use)f(the)g(\014xed)h(p)s(oin)m(t)d
(op)s(eration)h(FIX)g(as)h(it)e(corresp)s(onds)j(to)e(unfolding)f(the)i
Fr(while)p Fu(-lo)s(op)283 4324 y(a)40 b(n)m(um)m(b)s(er)h(of)e(times)g
(|)h(once)g(for)g(eac)m(h)h(time)d(the)j Fs(analysis)47
b Fu(tra)m(v)m(erses)42 b(the)f(lo)s(op.)64 b(As)41 b(in)283
4444 y(Chapter)34 b(4)e(the)h(\014xed)h(p)s(oin)m(t)e(is)g(de\014ned)i
(b)m(y)527 4647 y(FIX)f Fs(H)48 b Fu(=)961 4580 y Fg(F)1030
4647 y Ft(f)32 b Fs(H)1200 4611 y Fn(n)1276 4647 y Ft(?)h(j)g
Fu(n)f Ft(\025)h Fu(0)g Ft(g)283 4849 y Fu(where)h(the)f(functionalit)m
(y)e(of)h Fs(H)49 b Fu(is)527 5051 y Fs(H)16 b Fu(:)33
b(\()p Fw(PState)f Ft(!)g Fw(PState)p Fu(\))g Ft(!)g
Fu(\()p Fw(PState)h Ft(!)f Fw(PState)p Fu(\))283 5254
y(and)25 b(where)h Fw(PState)d Ft(!)h Fw(PState)g Fu(is)g(the)h(set)g
(of)f(total)f(functions)h(from)f Fw(PState)h Fu(to)g
Fw(PState)p Fu(.)283 5374 y(In)37 b(order)f(for)f(this)h(to)f(mak)m(e)i
(sense)g Fs(H)52 b Fu(m)m(ust)36 b(b)s(e)h(a)e(con)m(tin)m(uous)i
(function)e(on)h(a)g(ccp)s(o)g(with)283 5494 y Ft(?)d
Fu(as)g(its)f(least)g(elemen)m(t.)44 b(W)-8 b(e)33 b(shall)e(shortly)h
(v)m(erify)h(that)g(this)f(is)g(indeed)h(the)g(case.)p
eop
%%Page: 147 157
147 156 bop 0 130 a Fw(5.2)112 b(The)38 b(analysis)2439
b(147)p 0 193 3473 4 v 0 515 a(Example)37 b(5.16)49 b
Fu(W)-8 b(e)36 b(are)h(no)m(w)g(in)f(a)g(p)s(osition)f(where)j(w)m(e)f
(can)g(attempt)f(the)h(application)0 636 y(of)32 b(the)h(analysis)f(to)
g(the)h(factorial)d(statemen)m(t:)244 814 y Ft(P)8 b(S)g
Fu([)-17 b([)q Fr(y)33 b Fu(:=)f Fr(1)p Fu(;)h Fr(while)h
Ft(:)p Fu(\()p Fr(x)p Fu(=)p Fr(1)p Fu(\))f Fr(do)g Fu(\()p
Fr(y)g Fu(:=)f Fr(y)p Fo(?)p Fr(x)p Fu(;)h Fr(x)g Fu(:=)f
Fr(x)p Ft(\000)p Fr(1)p Fu(\)])-17 b(])0 993 y(W)-8 b(e)35
b(shall)f(apply)g(this)h(function)f(to)g(the)i(prop)s(er)e(prop)s(ert)m
(y)i(state)f Fs(ps)2593 1008 y Fn(0)2667 993 y Fu(that)g(maps)f
Fr(x)h Fu(to)g Fb(ok)0 1113 y Fu(and)d(all)e(other)h(v)-5
b(ariables)31 b(\(including)f Fr(y)p Fu(\))i(to)f Fb(d)p
Fu(?)h(as)g(this)f(corresp)s(onds)i(to)f(viewing)f Fr(x)h
Fu(as)g(the)0 1234 y(only)g(input)g(v)-5 b(ariable)31
b(of)h(the)h(statemen)m(t.)146 1354 y(T)-8 b(o)33 b(do)f(so)h(w)m(e)h
(use)f(the)g(clauses)h(of)e(T)-8 b(ables)32 b(5.1)h(and)f(5.2)g(and)h
(get)244 1533 y Ft(P)8 b(S)g Fu([)-17 b([)q Fr(y)33 b
Fu(:=)f Fr(1)p Fu(;)h Fr(while)h Ft(:)p Fu(\()p Fr(x)p
Fu(=)p Fr(1)p Fu(\))f Fr(do)g Fu(\()p Fr(y)g Fu(:=)f
Fr(y)p Fo(?)p Fr(x)p Fu(;)h Fr(x)g Fu(:=)f Fr(x)p Ft(\000)p
Fr(1)p Fu(\)])-17 b(])34 b Fs(ps)2607 1548 y Fn(0)513
1700 y Fu(=)e(\(FIX)g Fs(H)16 b Fu(\))33 b(\()p Fs(ps)1158
1715 y Fn(0)1197 1700 y Fu([)p Fr(y)p Ft(7!)p Fb(ok)p
Fu(]\))0 1879 y(where)244 2057 y Fs(H)48 b(h)40 b Fu(=)33
b(cond)763 2072 y Fn(P)815 2057 y Fu(\()p Ft(P)8 b(B)t
Fu([)-17 b([)q Ft(:)p Fu(\()p Fr(x)p Fu(=)p Fr(1)p Fu(\)])g(])q(,)33
b Fs(h)39 b Ft(\016)33 b(P)8 b(S)g Fu([)-17 b([)q Fr(y)32
b Fu(:=)h Fr(y)p Fo(?)p Fr(x)p Fu(;)g Fr(x)g Fu(:=)f
Fr(x)p Ft(\000)p Fr(1)p Fu(])-17 b(])r(,)32 b(id\))0
2236 y(W)-8 b(e)33 b(\014rst)g(simplify)d Fs(H)49 b Fu(and)32
b(obtain)244 2496 y(\()p Fs(H)48 b(h)7 b Fu(\))33 b Fs(ps)41
b Fu(=)769 2322 y Fg(8)769 2397 y(<)769 2546 y(:)884
2412 y Fb(lost)449 b Fu(if)31 b Fs(ps)24 b Fu(on-trac)m(k)16
b(=)g Fb(d)p Fu(?)34 b(or)e Fs(ps)24 b Fr(x)16 b Fu(=)g
Fb(d)p Fu(?)884 2579 y(\()p Fs(h)40 b(ps)8 b Fu(\))32
b Ft(t)1247 2594 y Fn(PS)1371 2579 y Fs(ps)91 b Fu(if)31
b Fs(ps)24 b Fu(on-trac)m(k)16 b(=)g Fb(ok)34 b Fu(and)f
Fs(ps)24 b Fr(x)16 b Fu(=)g Fb(ok)0 2762 y Fu(A)m(t)29
b(this)g(p)s(oin)m(t)f(w)m(e)i(shall)e(pretend)i(that)f(w)m(e)h(ha)m(v)
m(e)g(sho)m(wn)h(the)e(follo)m(wing)d(prop)s(ert)m(y)k(of)f
Fs(H)45 b Fu(\(to)0 2882 y(b)s(e)33 b(pro)m(v)m(ed)h(in)e(Exercise)i
(5.18\):)244 3061 y(if)d Fs(H)421 3025 y Fn(n)497 3061
y Ft(?)i Fu(=)g Fs(H)804 3025 y Fn(n+1)970 3061 y Ft(?)g
Fu(for)f(some)g(n)244 3229 y(then)h(FIX)g Fs(H)48 b Fu(=)33
b Fs(H)988 3192 y Fn(n)1064 3229 y Ft(?)0 3407 y Fu(where)e
Ft(?)f Fu(is)f(the)h(function)f Ft(?)h Fs(ps)38 b Fu(=)29
b Fb(init)h Fu(for)f(all)e Fs(ps)8 b Fu(.)43 b(W)-8 b(e)30
b(can)g(no)m(w)g(calculate)e(the)i(iterands)0 3527 y
Fs(H)88 3491 y Fn(0)160 3527 y Ft(?)q Fu(,)i Fs(H)385
3491 y Fn(1)457 3527 y Ft(?)q Fu(,)g Ft(\001)17 b(\001)g(\001)o
Fu(.)43 b(W)-8 b(e)33 b(obtain)244 3706 y(\()p Fs(H)370
3670 y Fn(0)442 3706 y Ft(?)p Fu(\))g Fs(ps)40 b Fu(=)33
b Fb(init)244 3961 y Fu(\()p Fs(H)370 3925 y Fn(1)442
3961 y Ft(?)p Fu(\))g Fs(ps)40 b Fu(=)829 3786 y Fg(8)829
3861 y(<)829 4011 y(:)944 3876 y Fb(lost)83 b Fu(if)31
b Fs(ps)41 b Fr(x)33 b Fu(=)f Fb(d)p Fu(?)h(or)f Fs(ps)40
b Fu(not)33 b(prop)s(er)944 4044 y Fs(ps)212 b Fu(if)31
b Fs(ps)41 b Fr(x)33 b Fu(=)f Fb(ok)h Fu(and)g Fs(ps)40
b Fu(prop)s(er)244 4315 y(\()p Fs(H)370 4279 y Fn(2)442
4315 y Ft(?)p Fu(\))33 b Fs(ps)40 b Fu(=)829 4141 y Fg(8)829
4216 y(<)829 4365 y(:)944 4231 y Fb(lost)83 b Fu(if)31
b Fs(ps)41 b Fr(x)33 b Fu(=)f Fb(d)p Fu(?)h(or)f Fs(ps)40
b Fu(not)33 b(prop)s(er)944 4398 y Fs(ps)212 b Fu(if)31
b Fs(ps)41 b Fr(x)33 b Fu(=)f Fb(ok)h Fu(and)g Fs(ps)40
b Fu(prop)s(er)0 4585 y(where)27 b Fs(ps)33 b Fu(is)25
b(an)h(arbitrary)f(prop)s(ert)m(y)h(state.)42 b(Since)25
b Fs(H)2027 4549 y Fn(1)2092 4585 y Ft(?)i Fu(=)e Fs(H)2385
4549 y Fn(2)2450 4585 y Ft(?)h Fu(our)g(assumption)f(ab)s(o)m(v)m(e)0
4706 y(ensures)35 b(that)d(w)m(e)h(ha)m(v)m(e)h(found)f(the)g(least)f
(\014xed)i(p)s(oin)m(t)e(for)g Fs(H)16 b Fu(:)244 4966
y(\(FIX)32 b Fs(H)16 b Fu(\))33 b Fs(ps)40 b Fu(=)884
4791 y Fg(8)884 4866 y(<)884 5016 y(:)999 4881 y Fb(lost)83
b Fu(if)31 b Fs(ps)41 b Fr(x)33 b Fu(=)f Fb(d)p Fu(?)h(or)f
Fs(ps)40 b Fu(not)33 b(prop)s(er)999 5049 y Fs(ps)212
b Fu(if)31 b Fs(ps)41 b Fr(x)33 b Fu(=)f Fb(ok)h Fu(and)g
Fs(ps)40 b Fu(prop)s(er)0 5232 y(It)e(is)g(no)m(w)h(straigh)m(tforw)m
(ard)f(to)g(v)m(erify)g(that)g(\(FIX)h Fs(H)16 b Fu(\))38
b(\()p Fs(ps)2283 5247 y Fn(0)2322 5232 y Fu([)p Fr(y)p
Ft(7!)p Fb(ok)p Fu(]\))h Fr(y)f Fu(=)g Fb(ok)h Fu(and)g(that)0
5352 y(\(FIX)32 b Fs(H)16 b Fu(\)\()p Fs(ps)504 5367
y Fn(0)544 5352 y Fu([)p Fr(y)p Ft(7!)p Fb(ok)p Fu(]\))22
b(is)g(prop)s(er.)40 b(W)-8 b(e)22 b(conclude)h(that)e(there)i
Fs(is)30 b Fu(a)22 b(functional)e(dep)s(endency)0 5472
y(b)s(et)m(w)m(een)35 b(the)e(input)f(v)-5 b(ariable)31
b Fr(x)h Fu(and)h(the)g(output)g(v)-5 b(ariable)31 b
Fr(y)p Fu(.)1022 b Fh(2)p eop
%%Page: 148 158
148 157 bop 251 130 a Fw(148)1937 b(5)112 b(Static)37
b(Program)f(Analysis)p 251 193 3473 4 v 283 515 a Fp(W)-11
b(ell-de\014nedness)46 b(of)f FC(P)10 b(S)283 700 y Fu(Ha)m(ving)32
b(sp)s(eci\014ed)h(the)g(analysis)e(w)m(e)j(shall)c(no)m(w)j(sho)m(w)g
(that)f(it)g(is)f(indeed)i(w)m(ell-de\014ned.)43 b(As)283
820 y(in)32 b(Chapter)i(4)e(there)h(are)g(three)g(stages:)429
1024 y Ft(\017)48 b Fu(First)23 b(w)m(e)i(in)m(tro)s(duce)e(a)g
(partial)f(order)h(on)h Fw(PState)f Ft(!)g Fw(PState)g
Fu(suc)m(h)i(that)f(it)e(b)s(ecomes)527 1144 y(a)33 b(ccp)s(o.)429
1348 y Ft(\017)48 b Fu(Then)37 b(w)m(e)f(sho)m(w)g(that)f(certain)g
(auxiliary)e(functions)i(used)h(in)e(the)i(de\014nition)e(of)h
Ft(P)8 b(S)527 1468 y Fu(are)33 b(con)m(tin)m(uous.)429
1671 y Ft(\017)48 b Fu(Finally)32 b(w)m(e)j(sho)m(w)h(that)e(the)g
(\014xed)i(p)s(oin)m(t)d(op)s(erator)h(only)f(is)h(applied)f(to)h(con)m
(tin)m(uous)527 1792 y(functions.)283 1995 y(Th)m(us)h(our)d(\014rst)h
(task)g(is)f(to)h(de\014ne)g(a)g(partial)d(order)j(on)f
Fw(PState)g Ft(!)g Fw(PState)h Fu(and)f(for)g(this)283
2116 y(w)m(e)j(use)g(the)g(approac)m(h)f(dev)m(elop)s(ed)h(in)e(Lemma)g
(5.4.)47 b(Instan)m(tiating)33 b(the)h(non-empt)m(y)g(set)h
Fs(S)283 2236 y Fu(to)d(the)h(set)g Fw(PState)f Fu(and)h(the)f
(partially)e(ordered)j(set)g(\()p Fs(D)9 b Fu(,)33 b
Ft(v)p Fu(\))f(to)g(\()p Fw(PState)p Fu(,)g Ft(v)3294
2251 y Fn(PS)3385 2236 y Fu(\))g(w)m(e)i(get:)p 283 2356
3473 5 v 283 2531 a Fw(Corollary)i(5.17)49 b Fu(Let)33
b Ft(v)g Fu(b)s(e)g(the)g(ordering)f(on)g Fw(PState)g
Ft(!)g Fw(PState)h Fu(de\014ned)h(b)m(y)527 2734 y Fs(h)584
2749 y Fn(1)657 2734 y Ft(v)f Fs(h)824 2749 y Fn(2)896
2734 y Fu(if)e(and)i(only)f(if)f Fs(h)1535 2749 y Fn(1)1608
2734 y Fs(ps)40 b Ft(v)1815 2749 y Fn(PS)1939 2734 y
Fs(h)1996 2749 y Fn(2)2069 2734 y Fs(ps)g Fu(for)32 b(all)e(prop)s(ert)
m(y)k(states)f Fs(ps)283 2938 y Fu(Then)42 b(\()p Fw(PState)d
Ft(!)h Fw(PState)p Fu(,)h Ft(v)p Fu(\))f(is)g(a)f(complete)h(lattice,)g
(and)g(hence)h(a)f(ccp)s(o,)i(and)e(the)283 3058 y(form)m(ula)31
b(for)h(least)g(upp)s(er)h(b)s(ounds)h(is)527 3261 y(\()565
3195 y Fg(F)667 3261 y Fs(Y)20 b Fu(\))32 b Fs(ps)41
b Fu(=)1068 3195 y Fg(F)1137 3276 y Fn(PS)1261 3261 y
Ft(f)32 b Fs(h)40 b(ps)g Ft(j)33 b Fs(h)39 b Ft(2)33
b Fs(Y)53 b Ft(g)283 3465 y Fu(for)32 b(an)m(y)i(subset)g
Fs(Y)52 b Fu(of)32 b Fw(PState)g Ft(!)g Fw(PState)p Fu(.)p
283 3585 V 283 3813 a Fw(Exercise)37 b(5.18)49 b(\(Essen)m(tial\))33
b Fu(Sho)m(w)j(that)f(the)h(assumption)f(made)g(in)g(Example)g(5.16)f
(is)283 3934 y(correct.)45 b(That)32 b(is)h(\014rst)g(sho)m(w)g(that)
527 4137 y Fs(H)16 b Fu(:)33 b(\()p Fw(PState)f Ft(!)g
Fw(PState)p Fu(\))g Ft(!)g Fu(\()p Fw(PState)h Ft(!)f
Fw(PState)p Fu(\))283 4341 y(as)d(de\014ned)g(in)f(Example)g(5.16)f(is)
h(indeed)g(a)g(monotone)g(function.)41 b(Next)29 b(sho)m(w)h(that)e
(for)f(an)m(y)283 4461 y(monotone)32 b(function)g Fs(H)49
b Fu(of)32 b(the)h(ab)s(o)m(v)m(e)g(functionalit)m(y)e(if)527
4664 y Fs(H)615 4628 y Fn(n)691 4664 y Ft(?)i Fu(=)g
Fs(H)998 4628 y Fn(n+1)1164 4664 y Ft(?)283 4868 y Fu(for)f(some)h(n)g
(then)g Fs(H)1074 4832 y Fn(n)1150 4868 y Ft(?)g Fu(is)f(the)h(least)f
(\014xed)i(p)s(oin)m(t)e(of)g Fs(H)16 b Fu(.)1210 b Fh(2)430
5096 y Fu(Our)37 b(second)i(task)f(is)f(to)g(ensure)i(that)e(the)h
(function)f Fs(H)53 b Fu(used)39 b(in)e(T)-8 b(able)37
b(5.2)g(is)g(a)g(con-)283 5216 y(tin)m(uous)45 b(function)e(from)g
Fw(PState)h Ft(!)f Fw(PState)h Fu(to)g Fw(PState)f Ft(!)h
Fw(PState)p Fu(.)78 b(F)-8 b(or)43 b(this)h(w)m(e)283
5337 y(follo)m(w)27 b(the)j(approac)m(h)f(of)f(Section)h(4.3)f(and)h
(sho)m(w)h(that)e(cond)2571 5352 y Fn(P)2653 5337 y Fu(is)g(con)m(tin)m
(uous)h(in)f(its)h(second)283 5457 y(argumen)m(t)k(and)f(later)g(that)g
(comp)s(osition)f(is)h(con)m(tin)m(uous)h(in)f(its)g(\014rst)h(argumen)
m(t.)p eop
%%Page: 149 159
149 158 bop 0 130 a Fw(5.2)112 b(The)38 b(analysis)2439
b(149)p 0 193 3473 4 v 0 515 3473 5 v 0 697 a(Lemma)37
b(5.19)49 b Fu(Let)33 b Fs(f)21 b Fu(:)43 b Fw(PState)32
b Ft(!)h Fw(P)p Fu(,)f Fs(h)1631 712 y Fn(0)1670 697
y Fu(:)44 b Fw(PState)32 b Ft(!)g Fw(PState)g Fu(and)h(de\014ne)244
906 y Fs(H)48 b(h)40 b Fu(=)33 b(cond)763 921 y Fn(P)815
906 y Fu(\()p Fs(f)21 b Fu(,)33 b Fs(h)7 b Fu(,)33 b
Fs(h)1138 921 y Fn(0)1177 906 y Fu(\))0 1115 y(Then)h
Fs(H)16 b Fu(:)32 b(\()p Fw(PState)p Ft(!)p Fw(PState)p
Fu(\))g Ft(!)g Fu(\()p Fw(PState)p Ft(!)o Fw(PState)p
Fu(\))g(is)g(a)g(con)m(tin)m(uous)i(function.)p 0 1235
V 0 1444 a Fw(Pro)s(of:)48 b Fu(W)-8 b(e)42 b(shall)e(\014rst)i(pro)m
(v)m(e)h(that)e Fs(H)58 b Fu(is)41 b Fs(monotone)48 b
Fu(so)42 b(let)f Fs(h)2505 1459 y Fn(1)2586 1444 y Fu(and)h
Fs(h)2842 1459 y Fn(2)2923 1444 y Fu(b)s(e)g(suc)m(h)h(that)0
1565 y Fs(h)57 1580 y Fn(1)129 1565 y Ft(v)33 b Fs(h)296
1580 y Fn(2)336 1565 y Fu(,)e(that)g(is)g Fs(h)758 1580
y Fn(1)828 1565 y Fs(ps)39 b Ft(v)1035 1580 y Fn(PS)1157
1565 y Fs(h)1214 1580 y Fn(2)1285 1565 y Fs(ps)f Fu(for)31
b(all)e(prop)s(ert)m(y)i(states)h Fs(ps)8 b Fu(.)43 b(W)-8
b(e)32 b(then)f(ha)m(v)m(e)i(to)d(sho)m(w)0 1685 y(that)38
b(cond)417 1700 y Fn(P)470 1685 y Fu(\()p Fs(f)21 b Fu(,)39
b Fs(h)682 1700 y Fn(1)722 1685 y Fu(,)h Fs(h)846 1700
y Fn(0)885 1685 y Fu(\))e Fs(ps)46 b Ft(v)1175 1700 y
Fn(PS)1304 1685 y Fu(cond)1504 1700 y Fn(P)1557 1685
y Fu(\()p Fs(f)21 b Fu(,)40 b Fs(h)1770 1700 y Fn(2)1809
1685 y Fu(,)g Fs(h)1933 1700 y Fn(0)1973 1685 y Fu(\))e
Fs(ps)8 b Fu(.)60 b(The)39 b(pro)s(of)e(is)h(b)m(y)h(cases)h(on)e(the)0
1806 y(v)-5 b(alue)32 b(of)g Fs(f)54 b(ps)8 b Fu(.)43
b(If)32 b Fs(f)54 b(ps)40 b Fu(=)33 b Fb(ok)g Fu(then)g(the)g(result)g
(follo)m(ws)e(since)244 2015 y(\()p Fs(h)339 2030 y Fn(1)411
2015 y Fs(ps)8 b Fu(\))32 b Ft(t)646 2030 y Fn(PS)770
2015 y Fu(\()p Fs(h)865 2030 y Fn(0)937 2015 y Fs(ps)8
b Fu(\))32 b Ft(v)1183 2030 y Fn(PS)1307 2015 y Fu(\()p
Fs(h)1402 2030 y Fn(2)1474 2015 y Fs(ps)8 b Fu(\))32
b Ft(t)1708 2030 y Fn(PS)1832 2015 y Fu(\()p Fs(h)1927
2030 y Fn(0)1999 2015 y Fs(ps)8 b Fu(\))0 2224 y(If)33
b Fs(f)53 b(ps)40 b Fu(=)33 b Fb(d)p Fu(?)g(then)g(the)g(result)f
(follo)m(ws)g(since)h Fb(lost)f Ft(v)2111 2239 y Fn(PS)2234
2224 y Fb(lost)p Fu(.)146 2345 y(T)-8 b(o)27 b(see)g(that)f
Fs(H)42 b Fu(is)26 b Fs(c)-5 b(ontinuous)34 b Fu(let)26
b Fs(Y)46 b Fu(b)s(e)26 b(a)g(non-empt)m(y)h(c)m(hain)f(in)f
Fw(PState)h Ft(!)g Fw(PState)p Fu(.)0 2466 y(Using)f(the)g(c)m
(haracterization)f(of)h(least)f(upp)s(er)i(b)s(ounds)g(in)e
Fw(PState)g Fu(giv)m(en)h(in)g(Corollary)e(5.17)0 2586
y(w)m(e)34 b(see)f(that)g(w)m(e)g(m)m(ust)g(sho)m(w)h(that)244
2795 y(\()p Fs(H)48 b Fu(\()440 2729 y Fg(F)510 2795
y Fs(Y)19 b Fu(\)\))33 b Fs(ps)40 b Fu(=)948 2729 y Fg(F)1018
2810 y Fn(PS)1141 2795 y Ft(f)33 b Fu(\()p Fs(H)48 b(h)7
b Fu(\))33 b Fs(ps)40 b Ft(j)33 b Fs(h)39 b Ft(2)33 b
Fs(Y)53 b Ft(g)0 3005 y Fu(for)35 b(all)f(prop)s(ert)m(y)i(states)g
Fs(ps)44 b Fu(in)35 b Fw(PState)p Fu(.)52 b(The)36 b(pro)s(of)f(is)g(b)
m(y)h(cases)h(on)f(the)g(v)-5 b(alue)35 b(of)g Fs(f)56
b(ps)8 b Fu(.)0 3125 y(If)33 b Fs(f)53 b(ps)40 b Fu(=)33
b Fb(d)p Fu(?)g(then)g(w)m(e)g(ha)m(v)m(e)h(\()p Fs(H)49
b Fu(\()1348 3058 y Fg(F)1417 3125 y Fs(Y)20 b Fu(\)\))32
b Fs(ps)40 b Fu(=)33 b Fb(lost)f Fu(and)244 3268 y Fg(F)313
3349 y Fn(PS)437 3334 y Ft(f)g Fu(\()p Fs(H)49 b(h)7
b Fu(\))33 b Fs(ps)40 b Ft(j)32 b Fs(h)40 b Ft(2)p Fs(Y)53
b Ft(g)32 b Fu(=)1467 3268 y Fg(F)1536 3349 y Fn(PS)1660
3334 y Ft(f)h Fb(lost)f Ft(j)g Fs(h)40 b Ft(2)33 b Fs(Y)52
b Ft(g)1359 3502 y Fu(=)32 b Fb(lost)0 3711 y Fu(where)47
b(the)g(last)e(equalit)m(y)h(is)f(b)s(ecause)j Fs(Y)65
b Fu(is)46 b(not)g(empt)m(y)-8 b(.)84 b(Th)m(us)48 b(w)m(e)f(ha)m(v)m
(e)g(pro)m(v)m(ed)h(the)0 3831 y(required)33 b(result)g(in)f(this)g
(case.)45 b(If)33 b Fs(f)53 b(ps)41 b Fu(=)33 b Fb(ok)g
Fu(then)g(the)g(c)m(haracterization)f(of)h(least)f(upp)s(er)0
3952 y(b)s(ounds)h(in)f Fw(PState)g Fu(giv)m(es:)244
4161 y(\()p Fs(H)48 b Fu(\()440 4094 y Fg(F)510 4161
y Fs(Y)19 b Fu(\)\))33 b Fs(ps)40 b Fu(=)32 b(\(\()1024
4094 y Fg(F)1093 4161 y Fs(Y)20 b Fu(\))33 b Fs(ps)8
b Fu(\))32 b Ft(t)1490 4176 y Fn(PS)1614 4161 y Fu(\()p
Fs(h)1709 4176 y Fn(0)1781 4161 y Fs(ps)8 b Fu(\))840
4328 y(=)32 b(\()986 4262 y Fg(F)1056 4343 y Fn(PS)1179
4328 y Ft(f)h Fs(h)40 b(ps)g Ft(j)32 b Fs(h)40 b Ft(2)33
b Fs(Y)52 b Ft(g)p Fu(\))32 b Ft(t)2042 4343 y Fn(PS)2166
4328 y Fu(\()p Fs(h)2261 4343 y Fn(0)2333 4328 y Fs(ps)8
b Fu(\))840 4496 y(=)948 4430 y Fg(F)1018 4511 y Fn(PS)1141
4496 y Ft(f)33 b Fs(h)40 b(ps)g Ft(j)32 b Fs(h)40 b Ft(2)33
b Fs(Y)52 b Ft([)33 b(f)f Fs(h)2055 4511 y Fn(0)2128
4496 y Ft(g)g(g)0 4705 y Fu(and)244 4848 y Fg(F)313 4929
y Fn(PS)437 4914 y Ft(f)g Fu(\()p Fs(H)49 b(h)7 b Fu(\))33
b Fs(ps)40 b Ft(j)32 b Fs(h)40 b Ft(2)33 b Fs(Y)52 b
Ft(g)32 b Fu(=)1500 4848 y Fg(F)1569 4929 y Fn(PS)1693
4914 y Ft(f)g Fu(\()p Fs(h)40 b(ps)8 b Fu(\))32 b Ft(t)2138
4929 y Fn(PS)2261 4914 y Fu(\()p Fs(h)2356 4929 y Fn(0)2429
4914 y Fs(ps)8 b Fu(\))32 b Ft(j)g Fs(h)40 b Ft(2)33
b Fs(Y)52 b Ft(g)1391 5082 y Fu(=)1500 5016 y Fg(F)1569
5097 y Fn(PS)1693 5082 y Ft(f)32 b Fs(h)40 b(ps)g Ft(j)33
b Fs(h)39 b Ft(2)33 b Fs(Y)52 b Ft([)33 b(f)g Fs(h)2607
5097 y Fn(0)2679 5082 y Ft(g)f(g)0 5291 y Fu(where)g(the)f(last)f
(equalit)m(y)g(follo)m(ws)f(b)s(ecause)j Fs(Y)50 b Fu(is)30
b(not)h(empt)m(y)-8 b(.)43 b(Th)m(us)32 b(the)f(result)g(follo)m(ws)e
(in)0 5411 y(this)j(case.)3008 b Fh(2)p eop
%%Page: 150 160
150 159 bop 251 130 a Fw(150)1937 b(5)112 b(Static)37
b(Program)f(Analysis)p 251 193 3473 4 v 283 515 a(Exercise)h(5.20)49
b Fu(Let)33 b Fs(f)20 b Fu(:)44 b Fw(PState)32 b Ft(!)g
Fw(P)p Fu(,)g Fs(h)1960 530 y Fn(0)2000 515 y Fu(:)44
b Fw(PState)32 b Ft(!)g Fw(PState)g Fu(and)h(de\014ne)527
706 y Fs(H)49 b(h)40 b Fu(=)32 b(cond)1046 721 y Fn(P)1099
706 y Fu(\()p Fs(f)21 b Fu(,)32 b Fs(h)1304 721 y Fn(0)1344
706 y Fu(,)h Fs(h)7 b Fu(\))283 897 y(Sho)m(w)32 b(that)e
Fs(H)16 b Fu(:)30 b(\()p Fw(PState)g Ft(!)f Fw(PState)p
Fu(\))h Ft(!)g Fu(\()p Fw(PState)g Ft(!)f Fw(PState)p
Fu(\))h(is)g(a)g(con)m(tin)m(uous)h(func-)283 1018 y(tion.)3202
b Fh(2)p 283 1230 3473 5 v 283 1392 a Fw(Lemma)38 b(5.21)49
b Fu(Let)32 b Fs(h)1160 1407 y Fn(0)1200 1392 y Fu(:)44
b Fw(PState)32 b Ft(!)g Fw(PState)g Fu(and)h(de\014ne)527
1583 y Fs(H)49 b(h)40 b Fu(=)32 b Fs(h)40 b Ft(\016)32
b Fs(h)1075 1598 y Fn(0)283 1774 y Fu(Then)i Fs(H)16
b Fu(:)33 b(\()p Fw(PState)p Ft(!)o Fw(PState)p Fu(\))f
Ft(!)g Fu(\()p Fw(PState)p Ft(!)o Fw(PState)p Fu(\))h(is)f(a)g(con)m
(tin)m(uous)h(function.)p 283 1894 V 283 2085 a Fw(Pro)s(of:)50
b Fu(W)-8 b(e)43 b(shall)e(\014rst)j(sho)m(w)g(that)f
Fs(H)58 b Fu(is)43 b Fs(monotone)49 b Fu(so)43 b(let)f
Fs(h)2781 2100 y Fn(1)2864 2085 y Fu(and)h Fs(h)3121
2100 y Fn(2)3204 2085 y Fu(b)s(e)g(suc)m(h)h(that)283
2206 y Fs(h)340 2221 y Fn(1)413 2206 y Ft(v)33 b Fs(h)580
2221 y Fn(2)619 2206 y Fu(,)h(that)g(is)f Fs(h)1049 2221
y Fn(1)1123 2206 y Fs(ps)41 b Ft(v)1332 2221 y Fn(PS)1457
2206 y Fs(h)1514 2221 y Fn(2)1587 2206 y Fs(ps)h Fu(for)33
b(all)f(prop)s(ert)m(y)i(states)h Fs(ps)8 b Fu(.)46 b(Clearly)33
b(w)m(e)i(then)g(ha)m(v)m(e)283 2326 y Fs(h)340 2341
y Fn(1)380 2326 y Fu(\()p Fs(h)475 2341 y Fn(0)544 2326
y Fs(ps)8 b Fu(\))29 b Ft(v)787 2341 y Fn(PS)908 2326
y Fs(h)965 2341 y Fn(2)1004 2326 y Fu(\()p Fs(h)1099
2341 y Fn(0)1168 2326 y Fs(ps)8 b Fu(\))30 b(for)e(all)g(prop)s(ert)m
(y)i(states)g Fs(ps)38 b Fu(and)29 b(thereb)m(y)i(w)m(e)g(ha)m(v)m(e)g
(pro)m(v)m(ed)f(the)283 2446 y(monotonicit)m(y)h(of)h
Fs(H)16 b Fu(.)430 2567 y(T)-8 b(o)40 b(pro)m(v)m(e)h(the)f
Fs(c)-5 b(ontinuity)49 b Fu(let)39 b Fs(Y)59 b Fu(b)s(e)40
b(a)g(non-empt)m(y)g(c)m(hain)f(in)g Fw(PState)h Ft(!)f
Fw(PState)p Fu(.)283 2687 y(W)-8 b(e)33 b(m)m(ust)g(sho)m(w)h(that)527
2878 y(\()p Fs(H)49 b Fu(\()724 2812 y Fg(F)793 2878
y Fs(Y)20 b Fu(\)\))32 b Fs(ps)40 b Fu(=)33 b(\()1270
2812 y Fg(F)1339 2878 y Ft(f)f Fs(H)49 b(h)40 b Ft(j)32
b Fs(h)40 b Ft(2)33 b Fs(Y)52 b Ft(g)p Fu(\))32 b Fs(ps)283
3069 y Fu(for)h(all)e(prop)s(ert)m(y)j(states)g Fs(ps)8
b Fu(.)46 b(Using)33 b(the)g(c)m(haracterization)f(of)h(least)g(upp)s
(er)h(b)s(ounds)g(giv)m(en)283 3190 y(in)e(Corollary)f(5.17)h(w)m(e)i
(get)527 3381 y(\()p Fs(H)49 b Fu(\()724 3314 y Fg(F)793
3381 y Fs(Y)20 b Fu(\)\))32 b Fs(ps)40 b Fu(=)33 b(\(\()1308
3314 y Fg(F)1377 3381 y Fs(Y)20 b Fu(\))32 b Ft(\016)g
Fs(h)1678 3396 y Fn(0)1718 3381 y Fu(\))h Fs(ps)1123
3548 y Fu(=)g(\()1270 3482 y Fg(F)1339 3548 y Fs(Y)20
b Fu(\))32 b(\()p Fs(h)1596 3563 y Fn(0)1668 3548 y Fs(ps)8
b Fu(\))1123 3716 y(=)1232 3649 y Fg(F)1301 3731 y Fn(PS)1425
3716 y Ft(f)32 b Fs(h)40 b Fu(\()p Fs(h)1692 3731 y Fn(0)1764
3716 y Fs(ps)8 b Fu(\))33 b Ft(j)f Fs(h)40 b Ft(2)32
b Fs(Y)53 b Ft(g)283 3907 y Fu(and)527 4098 y(\()565
4031 y Fg(F)634 4098 y Ft(f)33 b Fs(H)48 b(h)40 b Ft(j)32
b Fs(h)40 b Ft(2)33 b Fs(Y)52 b Ft(g)p Fu(\))33 b Fs(ps)40
b Fu(=)1659 4031 y Fg(F)1729 4113 y Fn(PS)1852 4098 y
Ft(f)33 b Fu(\()p Fs(H)48 b(h)7 b Fu(\))33 b Fs(ps)40
b Ft(j)33 b Fs(h)39 b Ft(2)33 b Fs(Y)53 b Ft(g)1551 4265
y Fu(=)1659 4199 y Fg(F)1729 4280 y Fn(PS)1852 4265 y
Ft(f)33 b Fu(\()p Fs(h)39 b Ft(\016)33 b Fs(h)2202 4280
y Fn(0)2241 4265 y Fu(\))g Fs(ps)40 b Ft(j)33 b Fs(h)39
b Ft(2)33 b Fs(Y)52 b Ft(g)283 4457 y Fu(Hence)34 b(the)f(result)g
(follo)m(ws.)2352 b Fh(2)430 4660 y Fu(This)33 b(su\016ces)h(for)e(sho)
m(wing)h(the)g(w)m(ell-de\014nedness)h(of)e Ft(P)8 b(S)h
Fu(:)p 283 4780 V 283 4942 a Fw(Prop)s(osition)36 b(5.22)49
b Fu(The)41 b(seman)m(tic)f(function)f Ft(P)8 b(S)h Fu([)-17
b([)p Fs(S)12 b Fu(])-17 b(])q(:)58 b Fw(PState)39 b
Ft(!)h Fw(PState)g Fu(of)f(T)-8 b(able)283 5063 y(5.2)33
b(is)f(a)g(w)m(ell-de\014ned)h(function)f(for)g(all)e(statemen)m(ts)k
Fs(S)44 b Fu(of)32 b(the)h(language)f Fw(While)p Fu(.)p
283 5183 V 283 5374 a Fw(Pro)s(of:)k Fu(The)c(pro)s(of)e(is)h(b)m(y)h
(structural)f(induction)f(on)h Fs(S)43 b Fu(and)32 b(only)e(the)i(case)
g(of)e(the)i Fr(while)p Fu(-)283 5494 y(lo)s(op)g(is)g(in)m(teresting.)
43 b(W)-8 b(e)33 b(note)f(that)h(the)g(function)f Fs(H)49
b Fu(used)33 b(in)f(T)-8 b(able)32 b(5.2)g(is)h(giv)m(en)f(b)m(y)p
eop
%%Page: 151 161
151 160 bop 0 130 a Fw(5.2)112 b(The)38 b(analysis)2439
b(151)p 0 193 3473 4 v 244 515 a Fs(H)48 b Fu(=)33 b
Fs(H)561 530 y Fn(1)633 515 y Ft(\016)f Fs(H)803 530
y Fn(2)0 724 y Fu(where)244 932 y Fs(H)332 947 y Fn(1)404
932 y Fs(h)40 b Fu(=)32 b(cond)802 947 y Fn(P)855 932
y Fu(\()p Ft(P)8 b(B)t Fu([)-17 b([)p Fs(b)6 b Fu(])-17
b(])q(,)32 b Fs(h)7 b Fu(,)33 b(id\))244 1099 y Fs(H)332
1114 y Fn(2)404 1099 y Fs(h)40 b Fu(=)32 b Fs(h)40 b
Ft(\016)32 b(P)8 b(S)g Fu([)-17 b([)q Fs(S)12 b Fu(])-17
b(])0 1307 y(As)39 b Fs(H)238 1322 y Fn(1)315 1307 y
Fu(and)f Fs(H)598 1322 y Fn(2)676 1307 y Fu(are)g(con)m(tin)m(uous)g
(functions)g(b)m(y)h(Lemmas)e(5.19)h(and)g(5.21)f(w)m(e)i(ha)m(v)m(e)h
(that)0 1428 y Fs(H)47 b Fu(is)31 b(a)g(con)m(tin)m(uous)g(function)g
(b)m(y)h(Lemma)e(4.35.)42 b(Hence)32 b(FIX)f Fs(H)48
b Fu(is)30 b(w)m(ell-de\014ned)i(and)f(this)0 1548 y(completes)h(the)h
(pro)s(of.)2530 b Fh(2)0 1867 y Fw(Exercise)36 b(5.23)49
b Fu(Consider)33 b(the)g(statemen)m(t)244 2075 y Fr(z)g
Fu(:=)f Fr(0)p Fu(;)h Fr(while)h(y)p Ft(\024)q Fr(x)e(do)h
Fu(\()p Fr(z)g Fu(:=)g Fr(z)p Fu(+)p Fr(1)p Fu(;)g Fr(x)f
Fu(:=)h Fr(x)p Ft(\000)p Fr(y)p Fu(\))0 2283 y(where)h
Fr(x)f Fu(and)f Fr(y)h Fu(are)g(input)f(v)-5 b(ariables)31
b(and)i Fr(z)g Fu(is)f(the)h(output)g(v)-5 b(ariable.)41
b(Use)34 b(the)f(approac)m(h)0 2404 y(of)e(Example)g(5.16)g(to)h(sho)m
(w)g(that)g(there)g(is)f(a)h(functional)e(dep)s(endency)k(b)s(et)m(w)m
(een)g(the)e(input)0 2524 y(and)h(output)f(v)-5 b(ariables.)2489
b Fh(2)0 2759 y Fw(Exercise)36 b(5.24)49 b Fu(Apply)31
b(the)g(analysis)f Ft(P)8 b(S)39 b Fu(to)30 b(the)i(statemen)m(t)f
Fr(while)h(true)f(do)h(skip)f Fu(and)0 2879 y(explain)h(wh)m(y)i(the)f
(analysis)f(terminates.)1840 b Fh(2)0 3114 y Fw(Exercise)36
b(5.25)49 b Fu(Extend)g Fw(While)d Fu(with)h(the)h(statemen)m(t)g
Fr(repeat)34 b Fs(S)45 b Fr(until)33 b Fs(b)54 b Fu(and)47
b(giv)m(e)0 3235 y(the)38 b(new)g(\(comp)s(ositional\))c(clause)k(for)e
Ft(P)8 b(S)h Fu(.)58 b(Discuss)38 b(y)m(our)g(extension)g(and)f(v)-5
b(alidate)36 b(the)0 3355 y(w)m(ell-de\014nedness.)2697
b Fh(2)0 3590 y Fw(Exercise)36 b(5.26)49 b Fu(Extend)41
b Fw(While)d Fu(with)i(the)g(statemen)m(t)g Fr(for)g
Fo(x)g Fu(:=)g Fo(a)2716 3605 y Fn(1)2795 3590 y Fr(to)g
Fo(a)2988 3605 y Fn(2)3067 3590 y Fr(do)g Fs(S)51 b Fu(and)0
3711 y(giv)m(e)35 b(the)g(new)h(\(comp)s(ositional\))31
b(clause)k(for)g Ft(P)8 b(S)g Fu(.)50 b(Discuss)36 b(y)m(our)f
(extension)h(and)f(v)-5 b(alidate)0 3831 y(the)33 b(w)m
(ell-de\014nedness.)2529 b Fh(2)0 4066 y Fw(Exercise)36
b(5.27)49 b(\(Essen)m(tial\))31 b Fu(Sho)m(w)i(that)f(for)g(ev)m(ery)j
(statemen)m(t)e Fs(S)244 4274 y(ps)40 b Fu(on-trac)m(k)33
b Ft(v)g Fu(\()p Ft(P)8 b(S)g Fu([)-17 b([)q Fs(S)12
b Fu(])-17 b(])p Fs(ps)8 b Fu(\))33 b(on-trac)m(k)0 4482
y(so)g(that)g Fs(ps)40 b Fu(m)m(ust)34 b(b)s(e)f(prop)s(er)g(if)e
Ft(P)8 b(S)h Fu([)-17 b([)p Fs(S)12 b Fu(])-17 b(])q
Fs(ps)40 b Fu(is.)k(In)33 b(the)h(case)g(of)e Fr(while)i
Fs(b)39 b Fr(do)33 b Fs(S)45 b Fu(y)m(ou)34 b(should)0
4602 y(\014rst)f(pro)m(v)m(e)h(that)e(for)g(all)f(n)h
Ft(\025)h Fu(1:)244 4811 y Fs(ps)40 b Fu(on-trac)m(k)33
b Ft(v)g Fu(\(\()p Fs(H)1033 4774 y Fn(n)1109 4811 y
Ft(?)p Fu(\))g Fs(ps)8 b Fu(\))32 b(on-trac)m(k)0 5019
y(where)i Ft(?)f Fs(ps)490 4983 y Fi(0)546 5019 y Fu(=)f
Fb(init)h Fu(for)f(all)e Fs(ps)1249 4983 y Fi(0)1305
5019 y Fu(and)j Fs(H)48 b(h)40 b Fu(=)32 b(cond)2013
5034 y Fn(P)2066 5019 y Fu(\()p Ft(P)8 b(B)t Fu([)-17
b([)p Fs(b)6 b Fu(])-17 b(])q(,)33 b Fs(h)39 b Ft(\016)33
b(P)8 b(S)g Fu([)-17 b([)q Fs(S)12 b Fu(])-17 b(],)33
b(id\).)296 b Fh(2)0 5254 y Fw(Exercise)36 b(5.28)49
b Fu(Sho)m(w)25 b(that)f(there)h(exists)g Fs(h)1702 5269
y Fn(0)1741 5254 y Fu(:)40 b Fw(PState)23 b Ft(!)h Fw(PState)f
Fu(suc)m(h)j(that)e Fs(H)40 b Fu(de\014ned)0 5374 y(b)m(y)h
Fs(H)56 b(h)47 b Fu(=)40 b Fs(h)541 5389 y Fn(0)621 5374
y Ft(\016)g Fs(h)47 b Fu(is)40 b Fs(not)h(even)47 b Fu(a)40
b(monotone)f(function)h(from)f Fw(PState)g Ft(!)h Fw(PState)g
Fu(to)0 5494 y Fw(PState)32 b Ft(!)g Fw(PState)p Fu(.)2543
b Fh(2)p eop
%%Page: 152 162
152 161 bop 251 130 a Fw(152)1937 b(5)112 b(Static)37
b(Program)f(Analysis)p 251 193 3473 4 v 283 515 a(Remark)30
b Fu(The)h(example)f(of)f(the)i(ab)s(o)m(v)m(e)g(exercise)g(indicates)f
(a)g(ma)5 b(jor)29 b(departure)i(from)d(the)283 636 y(secure)46
b(w)m(orld)d(of)g(Chapter)h(4.)76 b(Luc)m(kily)44 b(an)f(insurance)h(p)
s(olicy)e(can)i(b)s(e)g(arranged.)76 b(The)283 756 y(premium)31
b(is)h(to)h(replace)f(all)f(o)s(ccurrences)j(of)527 993
y Fw(PState)e Ft(!)h Fw(PState)97 b Fu(and)130 b Fw(PState)32
b Ft(!)g Fw(P)283 1229 y Fu(b)m(y)527 1466 y([)p Fw(PState)h
Ft(!)f Fw(PState)p Fu(])97 b(and)130 b([)p Fw(PState)32
b Ft(!)h Fw(P)p Fu(])283 1702 y(where)45 b([)p Fs(D)52
b Ft(!)42 b Fs(E)12 b Fu(])44 b(=)e Ft(f)h Fs(f)21 b
Fu(:)64 b Fs(D)52 b Ft(!)43 b Fs(E)55 b Ft(j)43 b Fs(f)64
b Fu(is)42 b(con)m(tin)m(uous)i Ft(g)p Fu(.)75 b(One)43
b(can)g(then)h(sho)m(w)g(that)283 1823 y([)p Fs(D)49
b Ft(!)39 b Fs(E)12 b Fu(])40 b(is)f(a)h(ccp)s(o)g(if)e
Fs(D)49 b Fu(and)40 b Fs(E)51 b Fu(are)40 b(and)g(that)f(the)h(c)m
(haracterization)f(of)g(least)g(upp)s(er)283 1943 y(b)s(ounds)c(giv)m
(en)f(in)g(Lemma)f(5.4)g(still)f(holds.)48 b(F)-8 b(urthermore,)34
b(one)g(can)g(sho)m(w)i(that)d(Exercise)283 2063 y(5.6)26
b(ensures)h(that)f Ft(P)8 b(A)p Fu([)-17 b([)p Fs(a)7
b Fu(])-17 b(])27 b(and)f Ft(P)8 b(B)t Fu([)-17 b([)p
Fs(b)6 b Fu(])-17 b(])26 b(are)g(con)m(tin)m(uous.)42
b(Finally)-8 b(,)24 b(the)i(en)m(tire)g(dev)m(elopmen)m(t)283
2184 y(in)k(this)h(section)g(still)d(carries)j(through)f(although)g
(there)h(are)g(additional)d(pro)s(of)i(obligations)283
2304 y(to)i(b)s(e)h(carried)f(out.)43 b(In)32 b(this)g(setting)g(one)g
(gets)h(that)f(if)f Fs(h)2438 2319 y Fn(0)2478 2304 y
Fu(:)43 b([)p Fw(PState)32 b Ft(!)g Fw(PState)p Fu(])g(then)g
Fs(H)283 2424 y Fu(de\014ned)c(b)m(y)f Fs(H)42 b(h)34
b Fu(=)26 b Fs(h)1099 2439 y Fn(0)1171 2424 y Ft(\016)32
b Fs(h)h Fu(is)26 b(indeed)g(a)g(con)m(tin)m(uous)h(function)f(from)f
([)p Fw(PState)g Ft(!)h Fw(PState)p Fu(])283 2545 y(to)33
b([)p Fw(PState)f Ft(!)g Fw(PState)p Fu(].)2369 b Fh(2)430
2672 y Fu(T)-8 b(o)30 b(summarize,)f(the)h(w)m(ell-de\014nedness)i(of)e
Ft(P)8 b(S)38 b Fu(relies)29 b(on)h(the)g(follo)m(wing)d(results)k
(estab-)283 2792 y(lished)h(ab)s(o)m(v)m(e:)p 283 2922
3470 4 v 283 2939 V 281 3146 4 208 v 298 3146 V 1371
3067 a Fw(Pro)s(of)g(Summary)h(for)f(While)p Fu(:)p 3735
3146 V 3752 3146 V 281 3354 V 298 3354 V 1174 3275 a
Fw(W)-9 b(ell)p Fu(-)p Fw(de\014nedness)32 b(of)g(Static)g(Analysis)p
3735 3354 V 3752 3354 V 283 3357 3470 4 v 281 3726 4
370 v 298 3726 V 350 3523 a Fu(1:)143 b(The)37 b(set)h
Fw(PState)e Ft(!)g Fw(PState)g Fu(equipp)s(ed)h(with)f(an)h
(appropriate)f(ordering)f Ft(v)i Fu(is)569 3643 y(a)32
b(ccp)s(o)h(\(Corollary)e(5.17\).)p 3735 3726 V 3752
3726 V 281 4014 4 289 v 298 4014 V 350 3811 a(2:)143
b(Certain)38 b(functions)g(\011:)55 b(\()p Fw(PState)38
b Ft(!)g Fw(PState)p Fu(\))g Ft(!)g Fu(\()p Fw(PState)g
Ft(!)g Fw(PState)p Fu(\))g(are)569 3931 y(con)m(tin)m(uous)33
b(\(Lemmas)f(5.19)g(and)g(5.21\).)p 3735 4014 V 3752
4014 V 281 4302 V 298 4302 V 350 4099 a(3:)143 b(In)30
b(the)h(de\014nition)e(of)h Ft(P)8 b(S)39 b Fu(w)m(e)31
b(only)f(apply)g(the)h(\014xed)g(p)s(oin)m(t)f(op)s(eration)f(to)g(con)
m(tin-)569 4219 y(uous)k(functions)f(\(Prop)s(osition)f(5.22\).)p
3735 4302 V 3752 4302 V 283 4306 3470 4 v 283 4322 V
283 4518 a(Our)h(o)m(v)m(erall)e(algorithm)f(for)i(determining)f
(whether)j(or)e(not)g(there)h(is)f(a)h(functional)d(dep)s(en-)283
4638 y(dency)35 b(b)s(et)m(w)m(een)f(input)e(and)h(output)g(v)-5
b(ariables)31 b(then)i(pro)s(ceeds)h(as)f(follo)m(ws:)333
4821 y(INPUT:)212 b(a)33 b(statemen)m(t)g Fs(S)44 b Fu(of)32
b Fw(While)889 4989 y Fu(a)h(set)g Fs(I)48 b Ft(\022)33
b Fw(V)-9 b(ar)32 b Fu(of)g(input)g(v)-5 b(ariables)889
5156 y(a)33 b(set)g Fs(O)42 b Ft(\022)33 b Fw(V)-9 b(ar)32
b Fu(of)g(output)h(v)-5 b(ariables)333 5324 y(OUTPUT:)101
b(YES,)34 b(if)d(there)i Fs(de\014nitely)41 b Fu(is)32
b(a)h(functional)e(dep)s(endency)889 5492 y(NO?,)i(if)f(there)h
Fs(may)i(not)41 b Fu(b)s(e)33 b(a)g(functional)d(dep)s(endency)p
eop
%%Page: 153 163
153 162 bop 0 130 a Fw(5.3)112 b(Safet)m(y)38 b(of)g(the)f(analysis)
2007 b(153)p 0 193 3473 4 v 50 500 a Fu(METHOD:)100 b(let)32
b Fs(ps)865 515 y Fc(I)937 500 y Fu(b)s(e)h(uniquely)g(determined)f(b)m
(y)i(OK\()p Fs(ps)2399 515 y Fc(I)2438 500 y Fu(\))f(=)f
Fs(I)48 b Ft([)33 b(f)p Fu(on-trac)m(k)p Ft(g)626 668
y Fu(let)f Fs(ps)865 683 y Fc(O)957 668 y Fu(=)h Ft(P)8
b(S)g Fu([)-17 b([)p Fs(S)12 b Fu(])-17 b(])q Fs(ps)1451
683 y Fc(I)626 835 y Fu(output)33 b(YES)g(if)f(OK\()p
Fs(ps)1550 850 y Fc(O)1609 835 y Fu(\))g Ft(\023)h Fs(O)42
b Ft([)33 b(f)p Fu(on-trac)m(k)p Ft(g)626 1003 y Fu(output)g(NO?)g
(otherwise)0 1289 y Fj(5.3)161 b(Safet)l(y)53 b(of)h(the)f(analysis)0
1508 y Fu(In)44 b(this)g(section)g(w)m(e)h(shall)d(sho)m(w)j(that)f
(the)g(analysis)g(functions)g Ft(P)8 b(A)p Fu(,)46 b
Ft(P)8 b(B)48 b Fu(and)c Ft(P)8 b(S)52 b Fu(are)0 1628
y(correct)37 b(with)e(resp)s(ect)i(to)f(the)h(seman)m(tic)e(functions)h
Ft(A)p Fu(,)h Ft(B)i Fu(and)d Ft(S)2526 1643 y Fn(ds)2597
1628 y Fu(.)54 b(This)36 b(amoun)m(ts)g(to)g(a)0 1749
y(formalization)29 b(of)k(the)h(considerations)f(that)g(w)m(ere)i
(already)e(illustrated)e(in)i(Exercises)i(5.13)0 1869
y(and)e(5.15.)43 b(W)-8 b(e)33 b(b)s(egin)e(with)i(the)g(rather)f
(simple)f(case)j(of)e(arithmetic)e(expressions.)0 2150
y Fp(Expressions)0 2334 y Fu(Let)37 b Fs(g)9 b Fu(:)53
b Fw(State)37 b Ft(!)g Fw(Z)h Fu(b)s(e)f(a)g(function,)i(p)s(erhaps)f
(of)e(the)i(form)e Ft(A)p Fu([)-17 b([)p Fs(a)7 b Fu(])-17
b(])39 b(for)d(some)h(arithmetic)0 2455 y(expression)j
Fs(a)45 b Ft(2)39 b Fw(Aexp)p Fu(,)h(and)e(let)g Fs(h)7
b Fu(:)55 b Fw(PState)38 b Ft(!)g Fw(P)g Fu(b)s(e)g(another)g
(function,)i(p)s(erhaps)f(of)0 2575 y(the)c(form)d Ft(P)8
b(A)p Fu([)-17 b([)q Fs(a)7 b Fu(])-17 b(])35 b(for)e(some)h
(arithmetic)e(expression)k Fs(a)41 b Ft(2)34 b Fw(Aexp)p
Fu(.)48 b(W)-8 b(e)35 b(shall)e(in)m(tro)s(duce)h(a)0
2696 y(relation)244 2852 y Fs(g)41 b Fu(sat)p 330 2865
126 4 v 15 x Fn(Aexp)652 2852 y Fs(h)0 3007 y Fu(for)30
b(expressing)i(when)f(the)g(analysis)f Fs(h)38 b Fu(is)30
b(correct)h(with)f(resp)s(ect)h(to)f(the)h(seman)m(tics)g
Fs(g)9 b Fu(.)42 b(It)31 b(is)0 3128 y(de\014ned)j(b)m(y)244
3284 y Fs(s)292 3299 y Fn(1)364 3284 y Ft(\021)f Fs(s)522
3299 y Fn(2)594 3284 y Fu(rel)p 594 3297 109 4 v 702
3299 a Fn(Stm)864 3284 y Fs(ps)41 b Fu(implies)30 b Fs(g)41
b(s)1460 3299 y Fn(1)1532 3284 y Ft(\021)33 b Fs(g)41
b(s)1776 3299 y Fn(2)1848 3284 y Fu(rel)p 1848 3297 V
15 x Fn(Aexp)2154 3284 y Fs(h)f(ps)0 3440 y Fu(for)27
b(all)f(states)j Fs(s)596 3455 y Fn(1)663 3440 y Fu(and)f
Fs(s)896 3455 y Fn(2)963 3440 y Fu(and)g(prop)s(ert)m(y)h(states)g
Fs(ps)8 b Fu(.)41 b(This)28 b(condition)f(sa)m(ys)i(that)f(the)g
(results)0 3560 y(of)34 b Fs(g)42 b Fu(will)32 b(b)s(e)i(suitably)g
(related)f(pro)m(vided)i(that)f(the)g(argumen)m(ts)g(are.)48
b(It)35 b(is)e(p)s(erhaps)i(more)0 3680 y(in)m(tuitiv)m(e)c(when)j
(rephrased)g(as)244 3836 y(\()p Fs(s)330 3851 y Fn(1)402
3836 y Ft(\021)f Fs(s)560 3851 y Fn(2)632 3836 y Fu(rel)p
632 3849 V 740 3851 a Fn(Stm)902 3836 y Fs(ps)8 b Fu(\))33
b(and)f(\()p Fs(h)40 b(ps)h Fu(=)32 b Fb(ok)p Fu(\))h(imply)e
Fs(g)41 b(s)2232 3851 y Fn(1)2304 3836 y Fu(=)32 b Fs(g)41
b(s)2546 3851 y Fn(2)0 3992 y Fu(The)34 b(safet)m(y)f(of)f(the)h
(analysis)f Ft(P)8 b(A)33 b Fu(is)f(then)h(expressed)i(b)m(y)p
0 4113 3473 5 v 0 4239 a Fw(F)-9 b(act)37 b(5.29)49 b
Fu(F)-8 b(or)32 b(all)f(arithmetic)f(expressions)k Fs(a)40
b Ft(2)33 b Fw(Aexp)g Fu(w)m(e)h(ha)m(v)m(e)269 4407
y Ft(A)o Fu([)-17 b([)q Fs(a)7 b Fu(])-17 b(])33 b(sat)p
513 4420 126 4 v 15 x Fn(Aexp)836 4407 y Ft(P)8 b(A)p
Fu([)-17 b([)p Fs(a)7 b Fu(])-17 b(])p 0 4528 3473 5
v 0 4684 a Fw(Pro)s(of:)37 b Fu(This)c(is)f(an)h(immediate)d
(consequence)35 b(of)d(Lemma)f(1.11)h(and)h(Exercise)h(5.11.)134
b Fh(2)146 4887 y Fu(The)34 b(analysis)e Ft(P)8 b(B)36
b Fu(of)c(b)s(o)s(olean)f(expressions)k(is)d(safe)h(in)f(the)h(follo)m
(wing)c(sense:)0 5043 y Fw(Exercise)36 b(5.30)49 b(\(Essen)m(tial\))21
b Fu(Rep)s(eat)i(the)g(dev)m(elopmen)m(t)g(for)g(b)s(o)s(olean)e
(expressions,)27 b(that)0 5163 y(is)32 b(de\014ne)i(a)e(relation)f(sat)
p 819 5176 126 4 v 15 x Fn(Bexp)1139 5163 y Fu(and)h(sho)m(w)i(that)244
5319 y Ft(B)s Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(])33
b(sat)p 471 5332 V 15 x Fn(Bexp)791 5319 y Ft(P)8 b(B)t
Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])0 5475 y(for)32
b(all)f(b)s(o)s(olean)g(expressions)j Fs(b)k Ft(2)33
b Fw(Bexp)p Fu(.)1781 b Fh(2)p eop
%%Page: 154 164
154 163 bop 251 130 a Fw(154)1937 b(5)112 b(Static)37
b(Program)f(Analysis)p 251 193 3473 4 v 283 515 a Fp(Statemen)l(ts)283
704 y Fu(The)k(safet)m(y)g(of)f(the)g(analysis)g(of)f(statemen)m(ts)i
(will)d(express)k(that)e(if)f(OK\()p Fs(ps)8 b Fu(\))38
b(includes)h(all)283 824 y(the)45 b(input)e(v)-5 b(ariables)42
b(and)i(if)e(OK\()p Ft(P)8 b(S)g Fu([)-17 b([)q Fs(S)12
b Fu(])-17 b(])p Fs(ps)8 b Fu(\))44 b(includes)f(`on-trac)m(k')h(and)g
(all)e(the)i(output)283 945 y(v)-5 b(ariables)32 b(then)i
Ft(S)979 960 y Fn(ds)1050 945 y Fu([)-17 b([)q Fs(S)12
b Fu(])-17 b(])33 b(determines)h(a)e(functional)g(relationship)f(b)s
(et)m(w)m(een)k(the)f(input)f(and)283 1065 y(output)49
b(v)-5 b(ariables.)90 b(This)49 b(v)-5 b(alidation)45
b(is)j(imp)s(ortan)m(t)f(b)s(ecause)j(although)d(the)i(in)m(tuition)283
1185 y(ab)s(out)35 b Fb(ok)g Fu(meaning)f(\\dep)s(ending)h(only)f(on)h
(input)f(v)-5 b(ariables")34 b(go)s(es)g(a)h(long)f(w)m(a)m(y)i(to)m(w)
m(ards)283 1306 y(motiv)-5 b(ating)30 b(the)j(analysis,)f(it)g(is)g
(not)h(p)s(erfect.)44 b(As)33 b(w)m(e)h(already)e(men)m(tioned)h(in)f
(Section)g(5.1)283 1426 y(one)c(cannot)f(insp)s(ect)g(a)f(v)-5
b(alue,)28 b(lik)m(e)e Fw(27)p Fu(,)i(and)f(determine)g(whether)h(it)e
(has)h(its)f(v)-5 b(alue)26 b(b)s(ecause)283 1547 y(it)36
b(only)g(dep)s(ends)h(on)g(input)e(v)-5 b(ariables)35
b(or)h(b)s(ecause)i(it)d(just)i(happ)s(ened)g(to)f(b)s(e)h
Fw(27)p Fu(.)55 b(T)-8 b(o)36 b(aid)283 1667 y(the)42
b(in)m(tuition)e(in)h(determining)f(that)h(no)h(errors)f(ha)m(v)m(e)i
(b)s(een)g(made)e(in)g(the)h(de\014nition)e(of)283 1787
y(the)33 b(analysis)e(it)f(is)h Fs(ne)-5 b(c)g(essary)40
b Fu(to)31 b(giv)m(e)h(a)f(formal)f(statemen)m(t)i(of)f(the)h
(relationship)e(b)s(et)m(w)m(een)283 1908 y(computations)i(in)g(the)h
(standard)g(\(denotational\))d(seman)m(tics)j(and)g(in)f(the)h
(analysis.)430 2030 y(Our)h(k)m(ey)h(to)s(ol)e(will)e(b)s(e)j(the)h
(relation)d Fs(s)1905 2045 y Fn(1)1979 2030 y Ft(\021)i
Fs(s)2138 2045 y Fn(2)2211 2030 y Fu(rel)p 2211 2043
109 4 v 34 w Fs(ps)42 b Fu(and)34 b(w)m(e)h(shall)d(sho)m(w)k(that)d
(if)g(this)283 2150 y(relationship)i(holds)i(b)s(efore)g(the)g
(statemen)m(t)h(is)e(executed)j(and)e(analysed)g(then)h(either)e(the)
283 2271 y(statemen)m(t)e(will)c(lo)s(op)h(on)i(b)s(oth)f(states)i(or)e
(the)h(same)g(relationship)d(will)h(hold)h(b)s(et)m(w)m(een)i(the)283
2391 y(\014nal)j(states)h(and)f(the)g(\014nal)f(prop)s(ert)m(y)i(state)
g(\(pro)m(vided)f(that)g(the)g(analysis)g(do)s(es)g(not)g(get)283
2511 y(\\lost"\).)43 b(W)-8 b(e)33 b(shall)e(formalize)f(this)i(b)m(y)i
(de\014ning)e(a)g(relation)527 2724 y Fs(g)41 b Fu(sat)p
613 2737 126 4 v 739 2739 a Fn(Stm)901 2724 y Fs(h)283
2937 y Fu(b)s(et)m(w)m(een)35 b(a)d(function)g Fs(g)9
b Fu(:)44 b Fw(State)32 b Fo(,)-17 b Ft(!)33 b Fw(State)p
Fu(,)f(p)s(erhaps)i(of)e(the)h(form)e Ft(S)2936 2952
y Fn(ds)3007 2937 y Fu([)-17 b([)q Fs(S)12 b Fu(])-17
b(])33 b(for)f(some)g Fs(S)45 b Fu(in)283 3057 y Fw(Stm)p
Fu(,)29 b(and)h(another)f(function)f Fs(h)7 b Fu(:)42
b Fw(PState)29 b Ft(!)f Fw(PState)p Fu(,)i(p)s(erhaps)f(of)g(the)g
(form)f Ft(P)8 b(S)g Fu([)-17 b([)q Fs(S)12 b Fu(])-17
b(])29 b(for)283 3178 y(some)k Fs(S)44 b Fu(in)32 b Fw(Stm)p
Fu(.)43 b(The)33 b(formal)d(de\014nition)i(amoun)m(ts)g(to)764
3390 y(\()p Fs(s)850 3405 y Fn(1)922 3390 y Ft(\021)h
Fs(s)1080 3405 y Fn(2)1152 3390 y Fu(rel)p 1152 3403
109 4 v 31 w Fs(ps)8 b Fu(\))33 b(and)g(\()p Fs(h)39
b(ps)i Fu(is)32 b(prop)s(er\))527 3558 y(imply)764 3726
y(\()p Fs(g)41 b(s)936 3741 y Fn(1)1008 3726 y Fu(=)32
b(undef)p 1116 3739 236 4 v 33 w(and)h Fs(g)41 b(s)1708
3741 y Fn(2)1780 3726 y Fu(=)32 b(undef)p 1888 3739 V
1 w(\))h(or)764 3893 y(\()p Fs(g)41 b(s)936 3908 y Fn(1)1008
3893 y Ft(6)p Fu(=)32 b(undef)p 1116 3906 V 33 w(and)h
Fs(g)41 b(s)1708 3908 y Fn(2)1780 3893 y Ft(6)p Fu(=)32
b(undef)p 1888 3906 V 34 w(and)g Fs(g)41 b(s)2480 3908
y Fn(1)2553 3893 y Ft(\021)33 b Fs(g)41 b(s)2797 3908
y Fn(2)2869 3893 y Fu(rel)p 2869 3906 109 4 v 32 w Fs(h)e(ps)8
b Fu(\))283 4106 y(for)39 b(all)e(states)j Fs(s)913 4121
y Fn(1)952 4106 y Fu(,)h Fs(s)1068 4121 y Fn(2)1146 4106
y Ft(2)e Fw(State)g Fu(and)g(all)e(prop)s(ert)m(y)j(states)g
Fs(ps)46 b Ft(2)40 b Fw(PState)p Fu(.)62 b(T)-8 b(o)39
b(motiv)-5 b(ate)283 4226 y(this)34 b(de\014nition)e(consider)i(t)m(w)m
(o)g(states)h Fs(s)1802 4241 y Fn(1)1875 4226 y Fu(and)f
Fs(s)2114 4241 y Fn(2)2187 4226 y Fu(that)f(are)h(equal)f(relativ)m(e)g
(to)g Fs(ps)8 b Fu(.)46 b(If)34 b Fs(ps)41 b Fu(is)283
4347 y(prop)s(er)e(this)g(means)f(that)h Fs(s)1368 4362
y Fn(1)1446 4347 y Fs(x)51 b Fu(=)38 b Fs(s)1704 4362
y Fn(2)1782 4347 y Fs(x)51 b Fu(for)38 b(all)f(v)-5 b(ariables)37
b Fs(x)50 b Fu(in)38 b(OK\()p Fs(ps)8 b Fu(\).)62 b(The)40
b(analysis)283 4467 y(of)c(the)h(statemen)m(t)g(ma)m(y)f(get)h(\\lost")
e(in)g(whic)m(h)i(case)g Fs(h)44 b(ps)g Fu(is)36 b(not)g(prop)s(er)h
(and)f(w)m(e)i(cannot)283 4588 y(deduce)h(an)m(ything)d(ab)s(out)g(the)
h(b)s(eha)m(viour)f(of)g(the)h(statemen)m(t.)56 b(Alternativ)m(ely)-8
b(,)37 b(it)e(ma)m(y)i(b)s(e)283 4708 y(the)j(case)f(that)g
Fs(h)46 b(ps)g Fu(is)38 b(prop)s(er)h(and)g(in)f(that)g(case)i(the)f
(statemen)m(t)g(m)m(ust)g(b)s(eha)m(v)m(e)h(in)e(the)283
4828 y(same)33 b(w)m(a)m(y)h(whether)g(executed)g(from)e
Fs(s)1782 4843 y Fn(1)1854 4828 y Fu(or)g(from)f Fs(s)2251
4843 y Fn(2)2291 4828 y Fu(.)43 b(In)33 b(particular)429
5041 y Ft(\017)48 b Fu(the)j(statemen)m(t)f(ma)m(y)g(en)m(ter)h(a)f(lo)
s(op)f(when)i(executed)h(from)d Fs(s)2996 5056 y Fn(1)3085
5041 y Fu(and)i Fs(s)3341 5056 y Fn(2)3380 5041 y Fu(,)j(that)c(is)527
5161 y Fs(g)41 b(s)661 5176 y Fn(1)733 5161 y Fu(=)33
b(undef)p 842 5174 236 4 v 33 w(and)g Fs(g)41 b(s)1434
5176 y Fn(2)1506 5161 y Fu(=)32 b(undef)p 1614 5174 V
1 w(,)h(or)429 5374 y Ft(\017)48 b Fu(the)37 b(statemen)m(t)f(do)s(es)h
(not)f(en)m(ter)h(a)f(lo)s(op)e(when)j(executed)i(from)34
b Fs(s)3055 5389 y Fn(1)3131 5374 y Fu(and)i Fs(s)3372
5389 y Fn(2)3412 5374 y Fu(,)g(that)g(is)527 5494 y Fs(g)41
b(s)661 5509 y Fn(1)733 5494 y Ft(6)p Fu(=)33 b(undef)p
842 5507 V 33 w(and)g Fs(g)41 b(s)1434 5509 y Fn(2)1506
5494 y Ft(6)p Fu(=)32 b(undef)p 1614 5507 V 1 w(.)p eop
%%Page: 155 165
155 164 bop 0 130 a Fw(5.3)112 b(Safet)m(y)38 b(of)g(the)f(analysis)
2007 b(155)p 0 193 3473 4 v 0 515 a Fu(In)34 b(the)h(latter)e(case)i
(the)g(t)m(w)m(o)g(\014nal)e(states)i Fs(g)43 b(s)1757
530 y Fn(1)1830 515 y Fu(and)35 b Fs(g)42 b(s)2157 530
y Fn(2)2231 515 y Fu(m)m(ust)34 b(b)s(e)h(equal)f(relativ)m(e)f(to)h
(the)0 636 y(resulting)41 b(prop)s(ert)m(y)h(state)g
Fs(h)49 b(ps)8 b Fu(,)44 b(that)e(is)f(\()p Fs(g)50 b(s)1843
651 y Fn(1)1882 636 y Fu(\))42 b Fs(x)53 b Fu(=)42 b(\()p
Fs(g)50 b(s)2359 651 y Fn(2)2399 636 y Fu(\))41 b Fs(x)54
b Fu(for)41 b(all)e(v)-5 b(ariables)41 b Fs(x)53 b Fu(in)0
756 y(OK\()p Fs(h)39 b(ps)8 b Fu(\).)146 877 y(W)-8 b(e)28
b(ma)m(y)f(then)h(form)m(ulate)e(the)i(desired)f(relationship)f(b)s(et)
m(w)m(een)j(the)f(seman)m(tics)g(and)f(the)0 997 y(analysis)32
b(as)h(follo)m(ws:)p 0 1117 3473 5 v 0 1292 a Fw(Theorem)k(5.31)49
b Fu(F)-8 b(or)32 b(all)e(statemen)m(ts)k Fs(S)44 b Fu(of)32
b Fw(While)f Fu(w)m(e)j(ha)m(v)m(e)g Ft(S)2496 1307 y
Fn(ds)2567 1292 y Fu([)-17 b([)p Fs(S)12 b Fu(])-17 b(])33
b(sat)p 2741 1305 126 4 v 2867 1307 a Fn(Stm)3029 1292
y Ft(P)8 b(S)g Fu([)-17 b([)q Fs(S)12 b Fu(])-17 b(].)p
0 1412 3473 5 v 146 1615 a(Before)32 b(conducting)f(the)h(pro)s(of)e(w)
m(e)j(need)f(to)f(establish)g(some)g(prop)s(erties)g(of)g(the)g(auxil-)
0 1736 y(iary)h(op)s(erations)g(comp)s(osition)e(and)i(conditional.)p
0 1856 V 0 2031 a Fw(Lemma)37 b(5.32)49 b Fu(Let)39 b
Fs(g)880 2046 y Fn(1)919 2031 y Fu(,)h Fs(g)1040 2046
y Fn(2)1079 2031 y Fu(:)56 b Fw(State)38 b Fo(,)-17 b
Ft(!)39 b Fw(State)g Fu(and)f Fs(h)2150 2046 y Fn(1)2190
2031 y Fu(,)i Fs(h)2314 2046 y Fn(2)2354 2031 y Fu(:)56
b Fw(PState)38 b Ft(!)g Fw(PState)g Fu(and)0 2151 y(assume)33
b(that)269 2319 y Fs(ps)40 b Fu(on-trac)m(k)33 b Ft(v)861
2334 y Fn(P)946 2319 y Fu(\()p Fs(h)1041 2334 y Fn(2)1113
2319 y Fs(ps)8 b Fu(\))33 b(on-trac)m(k)1714 b(\(*\))0
2486 y(holds)32 b(for)g(all)f Fs(ps)40 b Ft(2)33 b Fw(PState)p
Fu(.)43 b(Then)269 2654 y Fs(g)323 2669 y Fn(1)394 2654
y Fu(sat)p 394 2667 126 4 v 15 x Fn(Stm)682 2654 y Fs(h)739
2669 y Fn(1)811 2654 y Fu(and)32 b Fs(g)1054 2669 y Fn(2)1126
2654 y Fu(sat)p 1126 2667 V 15 x Fn(Stm)1413 2654 y Fs(h)1470
2669 y Fn(2)1543 2654 y Fu(imply)e Fs(g)1870 2669 y Fn(2)1942
2654 y Ft(\016)i Fs(g)2078 2669 y Fn(1)2150 2654 y Fu(sat)p
2150 2667 V 15 x Fn(Stm)2437 2654 y Fs(h)2494 2669 y
Fn(2)2566 2654 y Ft(\016)g Fs(h)2705 2669 y Fn(1)p 0
2774 3473 5 v 0 2978 a Fw(Pro)s(of:)37 b Fu(Let)c Fs(s)563
2993 y Fn(1)603 2978 y Fu(,)f Fs(s)710 2993 y Fn(2)782
2978 y Fu(and)h Fs(ps)40 b Fu(b)s(e)33 b(suc)m(h)h(that)244
3181 y Fs(s)292 3196 y Fn(1)364 3181 y Ft(\021)f Fs(s)522
3196 y Fn(2)594 3181 y Fu(rel)p 594 3194 109 4 v 32 w
Fs(ps)8 b Fu(,)32 b(and)h(\()p Fs(h)1177 3196 y Fn(2)1249
3181 y Ft(\016)g Fs(h)1389 3196 y Fn(1)1428 3181 y Fu(\))g
Fs(ps)40 b Fu(is)32 b(prop)s(er)0 3384 y(Using)f(that)g
Fs(h)540 3399 y Fn(2)611 3384 y Fu(\()p Fs(h)706 3399
y Fn(1)777 3384 y Fs(ps)8 b Fu(\))31 b(is)g(prop)s(er)g(w)m(e)h(get)f
(from)g(\(*\))f(that)h Fs(h)2306 3399 y Fn(1)2377 3384
y Fs(ps)39 b Fu(m)m(ust)32 b(b)s(e)f(prop)s(er)h(as)f(w)m(ell)0
3505 y(\(b)m(y)i(taking)f Fs(ps)41 b Fu(to)32 b(b)s(e)h
Fs(h)914 3520 y Fn(1)986 3505 y Fs(ps)8 b Fu(\).)43 b(So)33
b(from)e(the)i(assumption)f Fs(g)2296 3520 y Fn(1)2367
3505 y Fu(sat)p 2367 3518 126 4 v 2493 3520 a Fn(Stm)2655
3505 y Fs(h)2712 3520 y Fn(1)2784 3505 y Fu(w)m(e)i(get)244
3708 y Fs(g)298 3723 y Fn(1)369 3708 y Fs(s)417 3723
y Fn(1)489 3708 y Fu(=)f(undef)p 598 3721 236 4 v 33
w(and)g Fs(g)1110 3723 y Fn(1)1181 3708 y Fs(s)1229 3723
y Fn(2)1301 3708 y Fu(=)g(undef)p 1410 3721 V(,)g(or)244
3876 y Fs(g)298 3891 y Fn(1)369 3876 y Fs(s)417 3891
y Fn(1)489 3876 y Ft(6)p Fu(=)g(undef)p 598 3889 V 33
w(and)g Fs(g)1110 3891 y Fn(1)1181 3876 y Fs(s)1229 3891
y Fn(2)1301 3876 y Ft(6)p Fu(=)g(undef)p 1410 3889 V
33 w(and)g Fs(g)1922 3891 y Fn(1)1993 3876 y Fs(s)2041
3891 y Fn(1)2113 3876 y Ft(\021)g Fs(g)2277 3891 y Fn(1)2349
3876 y Fs(s)2397 3891 y Fn(2)2469 3876 y Fu(rel)p 2469
3889 109 4 v 32 w Fs(h)2667 3891 y Fn(1)2739 3876 y Fs(ps)0
4079 y Fu(In)e(the)g(\014rst)h(case)f(w)m(e)h(are)f(\014nished)g(since)
h(it)d(follo)m(ws)h(that)g(\()p Fs(g)2302 4094 y Fn(2)2372
4079 y Ft(\016)h Fs(g)2507 4094 y Fn(1)2546 4079 y Fu(\))f
Fs(s)2662 4094 y Fn(1)2733 4079 y Fu(=)g(undef)p 2839
4092 236 4 v 32 w(and)h(that)0 4200 y(\()p Fs(g)92 4215
y Fn(2)163 4200 y Ft(\016)i Fs(g)300 4215 y Fn(1)339
4200 y Fu(\))f Fs(s)457 4215 y Fn(2)529 4200 y Fu(=)h(undef)p
638 4213 V(.)44 b(In)33 b(the)g(second)h(case)f(w)m(e)h(use)f(that)244
4403 y Fs(g)298 4418 y Fn(1)369 4403 y Fs(s)417 4418
y Fn(1)489 4403 y Ft(\021)g Fs(g)653 4418 y Fn(1)725
4403 y Fs(s)773 4418 y Fn(2)845 4403 y Fu(rel)p 845 4416
109 4 v 32 w Fs(h)1043 4418 y Fn(1)1115 4403 y Fs(ps)8
b Fu(,)33 b(and)f Fs(h)1519 4418 y Fn(2)1559 4403 y Fu(\()p
Fs(h)1654 4418 y Fn(1)1726 4403 y Fs(ps)8 b Fu(\))33
b(is)f(prop)s(er)0 4606 y(The)i(assumption)d Fs(g)770
4621 y Fn(2)842 4606 y Fu(sat)p 842 4619 126 4 v 15 x
Fn(Stm)1129 4606 y Fs(h)1186 4621 y Fn(2)1259 4606 y
Fu(then)i(giv)m(es)244 4810 y Fs(g)298 4825 y Fn(2)369
4810 y Fu(\()p Fs(g)461 4825 y Fn(1)533 4810 y Fs(s)581
4825 y Fn(1)620 4810 y Fu(\))g(=)f(undef)p 799 4823 236
4 v 33 w(and)h Fs(g)1311 4825 y Fn(2)1383 4810 y Fu(\()p
Fs(g)1475 4825 y Fn(1)1546 4810 y Fs(s)1594 4825 y Fn(2)1634
4810 y Fu(\))f(=)h(undef)p 1813 4823 V(,)g(or)244 4977
y Fs(g)298 4992 y Fn(2)369 4977 y Fu(\()p Fs(g)461 4992
y Fn(1)533 4977 y Fs(s)581 4992 y Fn(1)620 4977 y Fu(\))g
Ft(6)p Fu(=)f(undef)p 799 4990 V 33 w(and)h Fs(g)1311
4992 y Fn(2)1383 4977 y Fu(\()p Fs(g)1475 4992 y Fn(1)1546
4977 y Fs(s)1594 4992 y Fn(2)1634 4977 y Fu(\))f Ft(6)p
Fu(=)h(undef)p 1813 4990 V 33 w(and)513 5145 y Fs(g)567
5160 y Fn(2)606 5145 y Fu(\()p Fs(g)698 5160 y Fn(1)769
5145 y Fs(s)817 5160 y Fn(1)857 5145 y Fu(\))f Ft(\021)h
Fs(g)1091 5160 y Fn(2)1130 5145 y Fu(\()p Fs(g)1222 5160
y Fn(1)1294 5145 y Fs(s)1342 5160 y Fn(2)1381 5145 y
Fu(\))g(rel)p 1452 5158 109 4 v 31 w Fs(h)1649 5160 y
Fn(2)1689 5145 y Fu(\()p Fs(h)1784 5160 y Fn(1)1856 5145
y Fs(ps)8 b Fu(\))0 5348 y(In)33 b(b)s(oth)f(cases)i(w)m(e)g(ha)m(v)m
(e)g(completed)e(the)h(pro)s(of.)1548 b Fh(2)p eop
%%Page: 156 166
156 165 bop 251 130 a Fw(156)1937 b(5)112 b(Static)37
b(Program)f(Analysis)p 251 193 3473 4 v 283 515 3473
5 v 283 667 a(Lemma)i(5.33)49 b Fu(Assume)31 b(that)g
Fs(g)1552 682 y Fn(1)1591 667 y Fu(,)g Fs(g)1703 682
y Fn(2)1742 667 y Fu(:)43 b Fw(State)31 b Fo(,)-17 b
Ft(!)31 b Fw(State)p Fu(,)g(and)h Fs(g)9 b Fu(:)42 b
Fw(State)31 b Ft(!)f Fw(T)h Fu(and)g(that)283 787 y Fs(h)340
802 y Fn(1)380 787 y Fu(,)i Fs(h)497 802 y Fn(2)536 787
y Fu(:)44 b Fw(PState)32 b Ft(!)g Fw(PState)g Fu(and)h
Fs(f)21 b Fu(:)43 b Fw(PState)33 b Ft(!)f Fw(P)p Fu(.)g(Then)552
955 y Fs(g)41 b Fu(sat)p 638 968 126 4 v 15 x Fn(Bexp)958
955 y Fs(f)21 b Fu(,)32 b Fs(g)1122 970 y Fn(1)1194 955
y Fu(sat)p 1194 968 V 15 x Fn(Stm)1481 955 y Fs(h)1538
970 y Fn(1)1611 955 y Fu(and)g Fs(g)1854 970 y Fn(2)1926
955 y Fu(sat)p 1926 968 V 15 x Fn(Stm)2213 955 y Fs(h)2270
970 y Fn(2)2342 955 y Fu(imply)788 1122 y(cond\()p Fs(g)9
b Fu(,)33 b Fs(g)1194 1137 y Fn(1)1233 1122 y Fu(,)g
Fs(g)1347 1137 y Fn(2)1386 1122 y Fu(\))f(sat)p 1456
1135 V 15 x Fn(Stm)1743 1122 y Fu(cond)1943 1137 y Fn(P)1996
1122 y Fu(\()p Fs(f)21 b Fu(,)33 b Fs(h)2202 1137 y Fn(1)2241
1122 y Fu(,)g Fs(h)2358 1137 y Fn(2)2398 1122 y Fu(\))p
283 1243 3473 5 v 283 1423 a Fw(Pro)s(of:)38 b Fu(Let)32
b Fs(s)846 1438 y Fn(1)886 1423 y Fu(,)h Fs(s)994 1438
y Fn(2)1066 1423 y Fu(and)f Fs(ps)41 b Fu(b)s(e)33 b(suc)m(h)h(that)527
1603 y Fs(s)575 1618 y Fn(1)647 1603 y Ft(\021)f Fs(s)805
1618 y Fn(2)877 1603 y Fu(rel)p 877 1616 109 4 v 32 w
Fs(ps)41 b Fu(and)32 b(cond)1538 1618 y Fn(P)1591 1603
y Fu(\()p Fs(f)21 b Fu(,)33 b Fs(h)1797 1618 y Fn(1)1836
1603 y Fu(,)g Fs(h)1953 1618 y Fn(2)1993 1603 y Fu(\))f
Fs(ps)40 b Fu(is)33 b(prop)s(er)283 1783 y(First)42 b(assume)h(that)g
Fs(f)63 b(ps)51 b Fu(=)42 b Fb(d)p Fu(?.)74 b(This)43
b(case)h(turns)f(out)g(to)f(b)s(e)h(imp)s(ossible)d(since)j(then)283
1904 y(cond)483 1919 y Fn(P)536 1904 y Fu(\()p Fs(f)21
b Fu(,)33 b Fs(h)742 1919 y Fn(1)781 1904 y Fu(,)g Fs(h)898
1919 y Fn(2)938 1904 y Fu(\))f Fs(ps)40 b Fu(=)33 b Fb(lost)f
Fu(so)h(cond)1818 1919 y Fn(P)1871 1904 y Fu(\()p Fs(f)21
b Fu(,)32 b Fs(h)2076 1919 y Fn(1)2116 1904 y Fu(,)h
Fs(h)2233 1919 y Fn(2)2272 1904 y Fu(\))g Fs(ps)40 b
Fu(cannot)33 b(b)s(e)g(prop)s(er.)430 2024 y(So)k(w)m(e)i(kno)m(w)g
(that)f Fs(f)59 b(ps)45 b Fu(=)38 b Fb(ok)p Fu(.)60 b(F)-8
b(rom)36 b Fs(g)41 b Fu(sat)p 2094 2037 126 4 v 15 x
Fn(Bexp)2413 2024 y Fs(f)59 b Fu(w)m(e)39 b(then)f(get)g
Fs(g)j(s)3180 2039 y Fn(1)3252 2024 y Fu(=)33 b Fs(g)41
b(s)3495 2039 y Fn(2)3534 2024 y Fu(.)59 b(W)-8 b(e)283
2144 y(also)32 b(get)h(that)f(cond)1053 2159 y Fn(P)1106
2144 y Fu(\()p Fs(f)20 b Fu(,)33 b Fs(h)1311 2159 y Fn(1)1351
2144 y Fu(,)f Fs(h)1467 2159 y Fn(2)1507 2144 y Fu(\))g
Fs(ps)41 b Fu(=)32 b(\()p Fs(h)1911 2159 y Fn(1)1983
2144 y Fs(ps)8 b Fu(\))33 b Ft(t)2218 2159 y Fn(PS)2342
2144 y Fu(\()p Fs(h)2437 2159 y Fn(2)2509 2144 y Fs(ps)8
b Fu(\).)43 b(Th)m(us)34 b Fs(h)3019 2159 y Fn(1)3092
2144 y Fs(ps)40 b Fu(as)33 b(w)m(ell)e(as)i Fs(h)3716
2159 y Fn(2)283 2265 y Fs(ps)41 b Fu(m)m(ust)32 b(b)s(e)g(prop)s(er)g
(since)h(otherwise)g(cond)1971 2280 y Fn(P)2024 2265
y Fu(\()p Fs(f)20 b Fu(,)33 b Fs(h)2229 2280 y Fn(1)2268
2265 y Fu(,)g Fs(h)2385 2280 y Fn(2)2424 2265 y Fu(\))f
Fs(ps)41 b Fu(cannot)32 b(b)s(e)g(prop)s(er.)44 b(No)m(w)33
b(let)283 2385 y(i)f(denote)h(the)g(branc)m(h)h(c)m(hosen)g(b)m(y)g
(the)f(test)g Fs(g)9 b Fu(.)43 b(W)-8 b(e)33 b(then)g(ha)m(v)m(e)527
2565 y Fs(s)575 2580 y Fn(1)647 2565 y Ft(\021)g Fs(s)805
2580 y Fn(2)877 2565 y Fu(rel)p 877 2578 109 4 v 32 w
Fs(ps)41 b Fu(and)32 b Fs(h)1395 2580 y Fn(i)1452 2565
y Fs(ps)40 b Fu(is)32 b(prop)s(er)283 2745 y(F)-8 b(rom)32
b(the)h(assumption)e Fs(g)1277 2760 y Fn(i)1333 2745
y Fu(sat)p 1333 2758 126 4 v 15 x Fn(Stm)1621 2745 y
Fs(h)1678 2760 y Fn(i)1734 2745 y Fu(w)m(e)j(therefore)f(get)527
2926 y Fs(g)581 2941 y Fn(i)637 2926 y Fs(s)685 2941
y Fn(1)757 2926 y Fu(=)g(undef)p 866 2939 236 4 v 33
w(and)g Fs(g)1378 2941 y Fn(i)1433 2926 y Fs(s)1481 2941
y Fn(2)1553 2926 y Fu(=)g(undef)p 1662 2939 V 1 w(,)f(or)527
3093 y Fs(g)581 3108 y Fn(i)637 3093 y Fs(s)685 3108
y Fn(1)757 3093 y Ft(6)p Fu(=)h(undef)p 866 3106 V 33
w(and)g Fs(g)1378 3108 y Fn(i)1433 3093 y Fs(s)1481 3108
y Fn(2)1553 3093 y Ft(6)p Fu(=)g(undef)p 1662 3106 V
33 w(and)g Fs(g)2174 3108 y Fn(i)2230 3093 y Fs(s)2278
3108 y Fn(1)2350 3093 y Ft(\021)g Fs(g)2514 3108 y Fn(i)2569
3093 y Fs(s)2617 3108 y Fn(2)2690 3093 y Fu(rel)p 2690
3106 109 4 v 31 w Fs(h)2887 3108 y Fn(i)2944 3093 y Fs(ps)283
3273 y Fu(In)g(the)g(\014rst)g(case)h(w)m(e)g(get)527
3454 y(cond\()p Fs(g)9 b Fu(,)33 b Fs(g)933 3469 y Fn(1)972
3454 y Fu(,)g Fs(g)1086 3469 y Fn(2)1125 3454 y Fu(\))f
Fs(s)1243 3469 y Fn(1)1315 3454 y Fu(=)g(undef)p 1423
3467 236 4 v 34 w(and)g(cond\()p Fs(g)9 b Fu(,)33 b Fs(g)2287
3469 y Fn(1)2326 3454 y Fu(,)g Fs(g)2440 3469 y Fn(2)2479
3454 y Fu(\))f Fs(s)2597 3469 y Fn(2)2669 3454 y Fu(=)h(undef)p
2778 3467 V 283 3634 a(and)g(w)m(e)h(are)e(\014nished.)45
b(In)32 b(the)h(second)h(case)g(w)m(e)f(get)527 3814
y(cond\()p Fs(g)9 b Fu(,)33 b Fs(g)933 3829 y Fn(1)972
3814 y Fu(,)g Fs(g)1086 3829 y Fn(2)1125 3814 y Fu(\))f
Fs(s)1243 3829 y Fn(1)1315 3814 y Ft(6)p Fu(=)g(undef)p
1423 3827 V 34 w(and)g(cond\()p Fs(g)9 b Fu(,)33 b Fs(g)2287
3829 y Fn(1)2326 3814 y Fu(,)g Fs(g)2440 3829 y Fn(2)2479
3814 y Fu(\))f Fs(s)2597 3829 y Fn(2)2669 3814 y Ft(6)p
Fu(=)h(undef)p 2778 3827 V 283 3994 a(F)-8 b(urthermore,)33
b(w)m(e)g(ha)m(v)m(e)527 4174 y(cond\()p Fs(g)9 b Fu(,)33
b Fs(g)933 4189 y Fn(1)972 4174 y Fu(,)g Fs(g)1086 4189
y Fn(2)1125 4174 y Fu(\))f Fs(s)1243 4189 y Fn(1)1315
4174 y Ft(\021)h Fu(cond\()p Fs(g)9 b Fu(,)33 b Fs(g)1831
4189 y Fn(1)1870 4174 y Fu(,)f Fs(g)1983 4189 y Fn(2)2022
4174 y Fu(\))h Fs(s)2141 4189 y Fn(2)2213 4174 y Fu(rel)p
2213 4187 109 4 v 32 w Fs(h)2411 4189 y Fn(i)2467 4174
y Fs(ps)283 4355 y Fu(Clearly)d Fs(h)677 4370 y Fn(i)732
4355 y Fs(ps)38 b Ft(v)31 b Fs(h)1025 4370 y Fn(1)1095
4355 y Fs(ps)38 b Ft(t)1290 4370 y Fn(PS)1412 4355 y
Fs(h)1469 4370 y Fn(2)1539 4355 y Fs(ps)g Fu(and)31 b(using)f(the)h
(de\014nition)e(of)h(cond)3014 4370 y Fn(P)3098 4355
y Fu(and)g(Lemma)f(5.8)283 4475 y(w)m(e)34 b(get)527
4655 y(cond\()p Fs(g)9 b Fu(,)33 b Fs(g)933 4670 y Fn(1)972
4655 y Fu(,)g Fs(g)1086 4670 y Fn(2)1125 4655 y Fu(\))f
Fs(s)1243 4670 y Fn(1)1315 4655 y Ft(\021)h Fu(cond\()p
Fs(g)9 b Fu(,)33 b Fs(g)1831 4670 y Fn(1)1870 4655 y
Fu(,)f Fs(g)1983 4670 y Fn(2)2022 4655 y Fu(\))h Fs(s)2141
4670 y Fn(2)2213 4655 y Fu(rel)p 2213 4668 V 32 w(cond)2554
4670 y Fn(P)2606 4655 y Fu(\()p Fs(f)21 b Fu(,)33 b Fs(h)2812
4670 y Fn(1)2852 4655 y Fu(,)f Fs(h)2968 4670 y Fn(2)3008
4655 y Fu(\))g Fs(ps)283 4835 y Fu(as)h(required.)2902
b Fh(2)430 5039 y Fu(W)-8 b(e)33 b(no)m(w)g(ha)m(v)m(e)h(the)f
(apparatus)g(needed)h(to)e(sho)m(w)i(the)f(safet)m(y)g(of)g
Ft(P)8 b(S)g Fu(:)283 5206 y Fw(Pro)s(of)56 b(of)g(Theorem)g(5.31:)76
b Fu(W)-8 b(e)49 b(shall)e(sho)m(w)j(that)e Ft(S)2538
5221 y Fn(ds)2609 5206 y Fu([)-17 b([)q Fs(S)12 b Fu(])-17
b(])49 b(sat)p 2800 5219 126 4 v 15 x Fn(Stm)3103 5206
y Ft(P)8 b(S)g Fu([)-17 b([)q Fs(S)12 b Fu(])-17 b(])49
b(and)g(w)m(e)283 5327 y(pro)s(ceed)34 b(b)m(y)f(structural)g
(induction)e(on)i(the)g(statemen)m(t)g Fs(S)12 b Fu(.)283
5494 y Fw(The)33 b(case)g Fs(x)45 b Fu(:=)32 b Fs(a)7
b Fu(:)44 b(Let)33 b Fs(s)1315 5509 y Fn(1)1354 5494
y Fu(,)g Fs(s)1462 5509 y Fn(2)1534 5494 y Fu(and)g Fs(ps)40
b Fu(b)s(e)33 b(giv)m(en)g(suc)m(h)h(that)p eop
%%Page: 157 167
157 166 bop 0 130 a Fw(5.3)112 b(Safet)m(y)38 b(of)g(the)f(analysis)
2007 b(157)p 0 193 3473 4 v 244 515 a Fs(s)292 530 y
Fn(1)364 515 y Ft(\021)33 b Fs(s)522 530 y Fn(2)594 515
y Fu(rel)p 594 528 109 4 v 32 w Fs(ps)40 b Fu(and)33
b Ft(P)8 b(S)g Fu([)-17 b([)q Fs(x)44 b Fu(:=)33 b Fs(a)7
b Fu(])-17 b(])p Fs(ps)41 b Fu(is)32 b(prop)s(er)0 726
y(It)c(then)h(follo)m(ws)e(from)f(Exercise)k(5.27)d(that)h
Fs(ps)36 b Fu(is)28 b(prop)s(er)g(b)s(ecause)h Ft(P)8
b(S)g Fu([)-17 b([)q Fs(x)40 b Fu(:=)28 b Fs(a)7 b Fu(])-17
b(])q Fs(ps)35 b Fu(is.)42 b(Also)0 847 y(b)s(oth)27
b Ft(S)293 862 y Fn(ds)364 847 y Fu([)-17 b([)q Fs(x)44
b Fu(:=)33 b Fs(a)7 b Fu(])-17 b(])q Fs(s)770 862 y Fn(1)837
847 y Fu(and)27 b Ft(S)1089 862 y Fn(ds)1160 847 y Fu([)-17
b([)q Fs(x)39 b Fu(:=)28 b Fs(a)7 b Fu(])-17 b(])p Fs(s)1555
862 y Fn(2)1622 847 y Fu(will)26 b(b)s(e)h(de\014ned)i(so)f(w)m(e)h
(only)e(ha)m(v)m(e)i(to)e(sho)m(w)i(that)244 1058 y(\()p
Ft(S)350 1073 y Fn(ds)421 1058 y Fu([)-17 b([)p Fs(x)45
b Fu(:=)32 b Fs(a)7 b Fu(])-17 b(])q Fs(s)826 1073 y
Fn(1)866 1058 y Fu(\))32 b Fs(y)42 b Fu(=)32 b(\()p Ft(S)1239
1073 y Fn(ds)1310 1058 y Fu([)-17 b([)q Fs(x)44 b Fu(:=)32
b Fs(a)7 b Fu(])-17 b(])q Fs(s)1715 1073 y Fn(2)1755
1058 y Fu(\))32 b Fs(y)0 1269 y Fu(for)26 b(all)e Fs(y)35
b Ft(2)26 b Fw(V)-9 b(ar)26 b Ft(\\)g Fu(OK\()p Ft(P)8
b(S)g Fu([)-17 b([)q Fs(x)38 b Fu(:=)26 b Fs(a)7 b Fu(])-17
b(])q Fs(ps)8 b Fu(\).)41 b(If)26 b Fs(y)35 b Ft(6)p
Fu(=)26 b Fs(x)38 b Fu(and)26 b Fo(y)j Fu(is)d(in)g(OK\()p
Ft(P)8 b(S)f Fu([)-17 b([)q Fs(x)38 b Fu(:=)26 b Fs(a)7
b Fu(])-17 b(])q Fs(ps)8 b Fu(\))26 b(then)0 1389 y Fs(y)41
b Ft(2)32 b Fu(OK\()p Fs(ps)8 b Fu(\))31 b(and)h(it)f(is)h(immediate)d
(from)h(the)j(de\014nition)d(of)i Ft(S)2411 1404 y Fn(ds)2514
1389 y Fu(that)f(\()p Ft(S)2830 1404 y Fn(ds)2901 1389
y Fu([)-17 b([)q Fs(x)44 b Fu(:=)33 b Fs(a)7 b Fu(])-17
b(])p Fs(s)3306 1404 y Fn(1)3346 1389 y Fu(\))32 b Fs(y)0
1509 y Fu(=)40 b(\()p Ft(S)222 1524 y Fn(ds)293 1509
y Fu([)-17 b([)q Fs(x)44 b Fu(:=)33 b Fs(a)7 b Fu(])-17
b(])p Fs(s)698 1524 y Fn(2)738 1509 y Fu(\))32 b Fs(y)9
b Fu(.)67 b(If)41 b Fs(y)49 b Fu(=)40 b Fs(x)52 b Fu(and)41
b Fs(x)52 b Fu(is)40 b(in)f(OK\()p Ft(P)8 b(S)g Fu([)-17
b([)q Fs(x)52 b Fu(:=)40 b Fs(a)7 b Fu(])-17 b(])q Fs(ps)8
b Fu(\))40 b(then)h(w)m(e)h(use)f(the)0 1630 y(assumption)32
b Fs(s)564 1645 y Fn(1)636 1630 y Ft(\021)h Fs(s)794
1645 y Fn(2)866 1630 y Fu(rel)p 866 1643 V 32 w Fs(ps)40
b Fu(together)33 b(with)f(\()p Ft(P)8 b(S)h Fu([)-17
b([)p Fs(x)44 b Fu(:=)33 b Fs(a)7 b Fu(])-17 b(])q Fs(ps)8
b Fu(\))32 b Fs(x)44 b Fu(=)33 b Fb(ok)g Fu(to)f(get)244
1841 y Ft(A)o Fu([)-17 b([)q Fs(a)7 b Fu(])-17 b(])q
Fs(s)504 1856 y Fn(1)576 1841 y Fu(=)32 b Ft(A)p Fu([)-17
b([)p Fs(a)7 b Fu(])-17 b(])q Fs(s)944 1856 y Fn(2)0
2052 y Fu(b)m(y)41 b(F)-8 b(act)39 b(5.29.)64 b(Hence)41
b(\()p Ft(S)1036 2067 y Fn(ds)1107 2052 y Fu([)-17 b([)p
Fs(x)52 b Fu(:=)39 b Fs(a)7 b Fu(])-17 b(])q Fs(s)1526
2067 y Fn(1)1566 2052 y Fu(\))39 b Fs(y)49 b Fu(=)40
b(\()p Ft(S)1960 2067 y Fn(ds)2032 2052 y Fu([)-17 b([)p
Fs(x)52 b Fu(:=)39 b Fs(a)7 b Fu(])-17 b(])q Fs(s)2451
2067 y Fn(2)2490 2052 y Fu(\))40 b Fs(y)49 b Fu(follo)m(ws)38
b(also)h(in)g(this)0 2172 y(case.)44 b(This)33 b(pro)m(v)m(es)h(the)f
(required)h(relationship.)0 2340 y Fw(The)f(case)g Fr(skip)p
Fu(:)45 b(Straigh)m(tforw)m(ard.)0 2507 y Fw(The)33 b(case)g
Fs(S)523 2522 y Fn(1)562 2507 y Fu(;)p Fs(S)656 2522
y Fn(2)696 2507 y Fu(:)43 b(The)34 b(induction)d(h)m(yp)s(othesis)j
(applied)d(to)i Fs(S)2409 2522 y Fn(1)2480 2507 y Fu(and)g
Fs(S)2737 2522 y Fn(2)2809 2507 y Fu(giv)m(es)244 2718
y Ft(S)312 2733 y Fn(ds)383 2718 y Fu([)-17 b([)p Fs(S)487
2733 y Fn(1)527 2718 y Fu(])g(])33 b(sat)p 597 2731 126
4 v 15 x Fn(Stm)884 2718 y Ft(P)8 b(S)g Fu([)-17 b([)q
Fs(S)1134 2733 y Fn(1)1173 2718 y Fu(])g(])33 b(and)g
Ft(S)1501 2733 y Fn(ds)1572 2718 y Fu([)-17 b([)q Fs(S)1677
2733 y Fn(2)1716 2718 y Fu(])g(])33 b(sat)p 1786 2731
V 15 x Fn(Stm)2073 2718 y Ft(P)8 b(S)h Fu([)-17 b([)p
Fs(S)2323 2733 y Fn(2)2363 2718 y Fu(])g(])0 2929 y(It)37
b(follo)m(ws)e(from)g(Exercise)j(5.27)e(that)h Fs(ps)44
b Fu(on-trac)m(k)37 b Ft(v)2082 2944 y Fn(P)2171 2929
y Fu(\()p Ft(P)8 b(S)g Fu([)-17 b([)q Fs(S)2459 2944
y Fn(2)2498 2929 y Fu(])g(])q Fs(ps)8 b Fu(\))36 b(on-trac)m(k)h(holds)
f(for)0 3050 y(all)30 b(prop)s(ert)m(y)k(states)f Fs(ps)8
b Fu(.)44 b(The)33 b(desired)g(result)244 3261 y Ft(S)312
3276 y Fn(ds)383 3261 y Fu([)-17 b([)p Fs(S)487 3276
y Fn(2)527 3261 y Fu(])g(])33 b Ft(\016)f(S)747 3276
y Fn(ds)818 3261 y Fu([)-17 b([)q Fs(S)923 3276 y Fn(1)962
3261 y Fu(])g(])33 b(sat)p 1032 3274 V 15 x Fn(Stm)1319
3261 y Ft(P)8 b(S)h Fu([)-17 b([)p Fs(S)1569 3276 y Fn(2)1609
3261 y Fu(])g(])33 b Ft(\016)f(P)8 b(S)g Fu([)-17 b([)q
Fs(S)2011 3276 y Fn(1)2050 3261 y Fu(])g(])0 3472 y(then)33
b(follo)m(ws)e(from)h(Lemma)f(5.32.)0 3639 y Fw(The)i(case)g
Fr(if)g Fs(b)39 b Fr(then)33 b Fs(S)979 3654 y Fn(1)1051
3639 y Fr(else)g Fs(S)1355 3654 y Fn(2)1395 3639 y Fu(:)43
b(F)-8 b(rom)31 b(Exercise)j(5.30)e(w)m(e)i(ha)m(v)m(e)244
3850 y Ft(B)s Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(])33
b(sat)p 471 3863 V 15 x Fn(Bexp)791 3850 y Ft(P)8 b(B)t
Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])0 4061 y(and)33
b(the)g(induction)e(h)m(yp)s(othesis)j(applied)d(to)i
Fs(S)1800 4076 y Fn(1)1871 4061 y Fu(and)g Fs(S)2128
4076 y Fn(2)2200 4061 y Fu(giv)m(es)244 4272 y Ft(S)312
4287 y Fn(ds)383 4272 y Fu([)-17 b([)p Fs(S)487 4287
y Fn(1)527 4272 y Fu(])g(])33 b(sat)p 597 4285 V 15 x
Fn(Stm)884 4272 y Ft(P)8 b(S)g Fu([)-17 b([)q Fs(S)1134
4287 y Fn(1)1173 4272 y Fu(])g(])33 b(and)g Ft(S)1501
4287 y Fn(ds)1572 4272 y Fu([)-17 b([)q Fs(S)1677 4287
y Fn(2)1716 4272 y Fu(])g(])33 b(sat)p 1786 4285 V 15
x Fn(Stm)2073 4272 y Ft(P)8 b(S)h Fu([)-17 b([)p Fs(S)2323
4287 y Fn(2)2363 4272 y Fu(])g(])0 4483 y(The)34 b(desired)f(result)244
4694 y(cond\()p Ft(B)t Fu([)-17 b([)p Fs(b)6 b Fu(])-17
b(])q(,)33 b Ft(S)804 4709 y Fn(ds)876 4694 y Fu([)-17
b([)p Fs(S)980 4709 y Fn(1)1019 4694 y Fu(])g(])q(,)33
b Ft(S)1184 4709 y Fn(ds)1256 4694 y Fu([)-17 b([)p Fs(S)1360
4709 y Fn(2)1399 4694 y Fu(])g(])q(\))32 b(sat)p 1507
4707 V 1633 4709 a Fn(Stm)1795 4694 y Fu(cond)1995 4709
y Fn(P)2047 4694 y Fu(\()p Ft(P)8 b(B)t Fu([)-17 b([)q
Fs(b)6 b Fu(])-17 b(],)33 b Ft(P)8 b(S)g Fu([)-17 b([)q
Fs(S)2667 4709 y Fn(1)2706 4694 y Fu(])g(])q(,)32 b Ft(P)8
b(S)h Fu([)-17 b([)p Fs(S)3053 4709 y Fn(2)3093 4694
y Fu(])g(]\))0 4905 y(then)33 b(follo)m(ws)e(from)h(Lemma)f(5.33.)0
5073 y Fw(The)i(case)g Fr(while)h Fs(b)k Fr(do)33 b Fs(S)12
b Fu(:)33 b(W)-8 b(e)33 b(m)m(ust)f(pro)m(v)m(e)i(that)244
5284 y(FIX\()p Fs(G)9 b Fu(\))33 b(sat)p 609 5297 V 15
x Fn(Stm)896 5284 y Fu(FIX\()p Fs(H)16 b Fu(\))0 5494
y(where)p eop
%%Page: 158 168
158 167 bop 251 130 a Fw(158)1937 b(5)112 b(Static)37
b(Program)f(Analysis)p 251 193 3473 4 v 527 515 a Fs(G)42
b(g)f Fu(=)33 b(cond)g(\()p Ft(B)s Fu([)-17 b([)q Fs(b)6
b Fu(])-17 b(],)33 b Fs(g)41 b Ft(\016)32 b(S)1600 530
y Fn(ds)1671 515 y Fu([)-17 b([)q Fs(S)12 b Fu(])-17
b(],)33 b(id\))527 683 y Fs(H)49 b(h)40 b Fu(=)32 b(cond)1046
698 y Fn(P)1131 683 y Fu(\()p Ft(P)8 b(B)t Fu([)-17 b([)q
Fs(b)6 b Fu(])-17 b(],)33 b Fs(h)40 b Ft(\016)32 b(P)8
b(S)g Fu([)-17 b([)q Fs(S)12 b Fu(])-17 b(],)33 b(id\))283
879 y(T)-8 b(o)33 b(do)g(this)f(w)m(e)h(recall)f(the)h(de\014nition)e
(of)h(the)h(least)f(\014xed)i(p)s(oin)m(ts:)527 1075
y(FIX)f Fs(G)42 b Fu(=)957 1008 y Fg(F)1026 1075 y Ft(f)p
Fs(G)1160 1038 y Fn(n)1236 1075 y Fs(g)1290 1090 y Fn(0)1362
1075 y Ft(j)32 b Fu(n)h Ft(\025)g Fu(0)f Ft(g)g Fu(where)i
Fs(g)2118 1090 y Fn(0)2190 1075 y Fs(s)40 b Fu(=)33 b(undef)p
2379 1088 236 4 v 33 w(for)f(all)e Fs(s)527 1242 y Fu(FIX)j
Fs(H)48 b Fu(=)961 1176 y Fg(F)1030 1242 y Ft(f)p Fs(H)1168
1206 y Fn(n)1244 1242 y Fs(h)1301 1257 y Fn(0)1373 1242
y Ft(j)32 b Fu(n)h Ft(\025)g Fu(0)f Ft(g)h Fu(where)g
Fs(h)2132 1257 y Fn(0)2205 1242 y Fs(ps)40 b Fu(=)32
b Fb(init)h Fu(for)f(all)f Fs(ps)283 1438 y Fu(The)j(pro)s(of)e(pro)s
(ceeds)i(in)d(t)m(w)m(o)j(stages.)44 b(W)-8 b(e)33 b(b)s(egin)f(b)m(y)h
(pro)m(ving)f(that)552 1606 y Fs(G)636 1570 y Fn(n)712
1606 y Fs(g)766 1621 y Fn(0)838 1606 y Fu(sat)p 838 1619
126 4 v 15 x Fn(Stm)1125 1606 y Fu(FIX)h Fs(H)48 b Fu(for)32
b(all)f(n)1842 b(\(*\))283 1773 y(and)33 b(then)552 1941
y(FIX)g Fs(G)41 b Fu(sat)p 873 1954 V 999 1956 a Fn(Stm)1161
1941 y Fu(FIX)32 b Fs(H)2145 b Fu(\(**\))283 2132 y(W)-8
b(e)33 b(pro)m(v)m(e)h(\(*\))e(b)m(y)i(induction)d(on)i(n.)44
b(F)-8 b(or)31 b(the)i(base)h(case)f(w)m(e)h(observ)m(e)g(that)527
2328 y Fs(g)581 2343 y Fn(0)653 2328 y Fu(sat)p 653 2341
V 15 x Fn(Stm)940 2328 y Fu(FIX)f Fs(H)283 2524 y Fu(holds)27
b(trivially)d(since)k Fs(g)1184 2539 y Fn(0)1250 2524
y Fs(s)35 b Fu(=)27 b(undef)p 1428 2537 236 4 v 27 w(for)g(all)e
(states)j Fs(s)8 b Fu(.)42 b(F)-8 b(or)26 b(the)h(induction)f(step)i(w)
m(e)g(assume)283 2644 y(that)527 2840 y Fs(G)611 2804
y Fn(n)687 2840 y Fs(g)741 2855 y Fn(0)813 2840 y Fu(sat)p
813 2853 126 4 v 15 x Fn(Stm)1100 2840 y Fu(FIX)33 b
Fs(H)283 3036 y Fu(and)g(w)m(e)h(shall)d(pro)m(v)m(e)j(the)f(result)f
(for)g(n+1.)44 b(W)-8 b(e)33 b(ha)m(v)m(e)527 3232 y
Ft(B)t Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])33 b(sat)p
754 3245 V 880 3247 a Fn(Bexp)1074 3232 y Ft(P)8 b(B)t
Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(])283 3427 y(from)32
b(Exercise)i(5.30,)527 3623 y Ft(S)595 3638 y Fn(ds)666
3623 y Fu([)-17 b([)q Fs(S)12 b Fu(])-17 b(])33 b(sat)p
841 3636 V 15 x Fn(Stm)1128 3623 y Ft(P)8 b(S)g Fu([)-17
b([)q Fs(S)12 b Fu(])-17 b(])283 3819 y(from)41 b(the)h(induction)f(h)m
(yp)s(othesis)i(applied)e(to)g(the)i(b)s(o)s(dy)e(of)h(the)g
Fr(while)p Fu(-lo)s(op,)i(and)e(it)e(is)283 3939 y(clear)33
b(that)527 4135 y(id)f(sat)p 641 4148 V 15 x Fn(Stm)928
4135 y Fu(id)283 4331 y(By)i(Exercise)f(5.27)f(w)m(e)i(also)e(ha)m(v)m
(e)527 4527 y Fs(ps)41 b Fu(on-trac)m(k)33 b Ft(v)1120
4542 y Fn(P)1205 4527 y Fu(\(\(FIX)f Fs(H)16 b Fu(\))33
b Fs(ps)8 b Fu(\))32 b(on-trac)m(k)283 4723 y(for)g(all)f(prop)s(ert)m
(y)i(states)h Fs(ps)8 b Fu(.)43 b(W)-8 b(e)33 b(then)g(obtain)552
4890 y(cond\()p Ft(B)t Fu([)-17 b([)q Fs(b)6 b Fu(])-17
b(],)33 b(\()p Fs(G)1167 4854 y Fn(n)1259 4890 y Fs(g)1313
4905 y Fn(0)1352 4890 y Fu(\))p Ft(\016S)1508 4905 y
Fn(ds)1579 4890 y Fu([)-17 b([)q Fs(S)12 b Fu(])-17 b(],)33
b(id\))e(sat)p 1932 4903 V 15 x Fn(Stm)2220 4890 y Fu(cond)2420
4905 y Fn(P)2472 4890 y Fu(\()p Ft(P)8 b(B)t Fu([)-17
b([)q Fs(b)6 b Fu(])-17 b(],)33 b(\(FIX)f Fs(H)16 b Fu(\))p
Ft(\016P)8 b(S)g Fu([)-17 b([)q Fs(S)12 b Fu(])-17 b(],)33
b(id\))283 5058 y(from)j(Lemmas)f(5.32)h(and)g(5.33)g(and)h(this)f(is)g
(indeed)g(the)h(desired)g(result)g(since)f(the)h(righ)m(t-)283
5178 y(hand)c(side)g(amoun)m(ts)f(to)h Fs(H)48 b Fu(\(FIX)33
b Fs(H)16 b Fu(\))32 b(whic)m(h)h(equals)g(FIX)g Fs(H)16
b Fu(.)430 5299 y(Finally)30 b(w)m(e)j(m)m(ust)g(sho)m(w)h(\(**\).)43
b(This)32 b(amoun)m(ts)h(to)f(sho)m(wing)527 5428 y Fg(F)597
5494 y Fs(Y)52 b Fu(sat)p 721 5507 V 15 x Fn(Stm)1008
5494 y Fu(FIX)33 b Fs(H)p eop
%%Page: 159 169
159 168 bop 0 130 a Fw(5.3)112 b(Safet)m(y)38 b(of)g(the)f(analysis)
2007 b(159)p 0 193 3473 4 v 0 515 a Fu(where)34 b Fs(Y)52
b Fu(=)32 b Ft(f)h Fs(G)681 479 y Fn(n)757 515 y Fs(g)811
530 y Fn(0)882 515 y Ft(j)g Fu(n)f Ft(\025)h Fu(0)g Ft(g)p
Fu(.)43 b(So)32 b(assume)h(that)244 715 y Fs(s)292 730
y Fn(1)364 715 y Ft(\021)g Fs(s)522 730 y Fn(2)594 715
y Fu(rel)p 594 728 109 4 v 32 w Fs(ps)40 b Fu(and)33
b(\(FIX)f Fs(H)16 b Fu(\))33 b Fs(ps)40 b Fu(is)32 b(prop)s(er)0
914 y(Since)h Fs(g)41 b Fu(sat)p 341 927 126 4 v 15 x
Fn(Stm)628 914 y Fu(FIX)33 b Fs(H)48 b Fu(holds)32 b(for)h(all)d
Fs(g)41 b Ft(2)33 b Fs(Y)52 b Fu(b)m(y)34 b(\(*\))e(w)m(e)h(get)g(that)
f(either)244 1113 y Fs(g)41 b(s)378 1128 y Fn(1)450 1113
y Fu(=)32 b(undef)p 558 1126 236 4 v 34 w(and)g Fs(g)41
b(s)1150 1128 y Fn(2)1222 1113 y Fu(=)33 b(undef)p 1331
1126 V 1 w(,)f(or)244 1281 y Fs(g)41 b(s)378 1296 y Fn(1)450
1281 y Ft(6)p Fu(=)32 b(undef)p 558 1294 V 34 w(and)g
Fs(g)41 b(s)1150 1296 y Fn(2)1222 1281 y Ft(6)p Fu(=)33
b(undef)p 1331 1294 V 33 w(and)g Fs(g)41 b(s)1923 1296
y Fn(1)1995 1281 y Ft(\021)33 b Fs(g)41 b(s)2239 1296
y Fn(2)2311 1281 y Fu(rel)p 2311 1294 109 4 v 32 w(\(FIX)32
b Fs(H)16 b Fu(\))33 b Fs(ps)0 1480 y Fu(If)e(\()134
1414 y Fg(F)203 1480 y Fs(Y)20 b Fu(\))31 b Fs(s)412
1495 y Fn(1)482 1480 y Fu(=)g(undef)p 589 1493 236 4
v 32 w(then)h Fs(g)39 b(s)1209 1495 y Fn(1)1280 1480
y Fu(=)31 b(undef)p 1387 1493 V 32 w(for)f(all)f Fs(g)40
b Ft(2)31 b Fs(Y)51 b Fu(and)31 b(thereb)m(y)i Fs(g)40
b(s)2912 1495 y Fn(2)2982 1480 y Fu(=)31 b(undef)p 3089
1493 V 32 w(for)0 1600 y(all)j Fs(g)46 b Ft(2)36 b Fs(Y)57
b Fu(so)36 b(that)h(\()838 1534 y Fg(F)907 1600 y Fs(Y)19
b Fu(\))37 b Fs(s)1121 1615 y Fn(2)1197 1600 y Fu(=)f(undef)p
1309 1613 V 1 w(.)55 b(Similarly)33 b(\()2084 1534 y
Fg(F)2153 1600 y Fs(Y)20 b Fu(\))36 b Fs(s)2367 1615
y Fn(2)2443 1600 y Fu(=)g(undef)p 2555 1613 V 38 w(will)e(imply)h(that)
0 1721 y(\()38 1654 y Fg(F)107 1721 y Fs(Y)20 b Fu(\))39
b Fs(s)324 1736 y Fn(1)404 1721 y Fu(=)g(undef)p 519
1734 V 1 w(.)65 b(So)40 b(consider)g(no)m(w)h(the)f(case)g(where)i(\()
2304 1654 y Fg(F)2373 1721 y Fs(Y)19 b Fu(\))33 b Fs(s)2583
1736 y Fn(1)2662 1721 y Ft(6)p Fu(=)40 b(undef)p 2778
1734 V 40 w(as)g(w)m(ell)f(as)0 1841 y(\()38 1775 y Fg(F)107
1841 y Fs(Y)20 b Fu(\))32 b Fs(s)317 1856 y Fn(2)389
1841 y Ft(6)p Fu(=)h(undef)p 498 1854 V 33 w(and)g(let)f
Fs(x)44 b Ft(2)33 b Fw(V)-9 b(ar)32 b Ft(\\)h Fu(OK\(\(FIX)f
Fs(H)16 b Fu(\))32 b Fs(ps)8 b Fu(\).)44 b(By)33 b(Lemma)e(4.25)h(w)m
(e)i(ha)m(v)m(e)244 2040 y(graph\()526 1974 y Fg(F)595
2040 y Fs(Y)20 b Fu(\))32 b(=)865 1974 y Fg(S)935 2040
y Ft(f)g Fu(graph)g Fs(g)41 b Ft(j)33 b Fs(g)41 b Ft(2)33
b Fs(Y)52 b Ft(g)0 2240 y Fu(and)41 b(\()236 2173 y Fg(F)305
2240 y Fs(Y)19 b Fu(\))41 b Fs(s)523 2255 y Fn(i)587
2240 y Ft(6)p Fu(=)f(undef)p 703 2253 V 41 w(therefore)h(sho)m(ws)h
(the)f(existence)h(of)e(an)g(elemen)m(t)h Fs(g)2968 2255
y Fn(i)3031 2240 y Fu(in)f Fs(Y)60 b Fu(suc)m(h)0 2360
y(that)38 b Fs(g)271 2375 y Fn(i)326 2360 y Fs(s)374
2375 y Fn(i)431 2360 y Ft(6)p Fu(=)32 b(undef)p 539 2373
V 39 w(and)37 b(\()1045 2294 y Fg(F)1114 2360 y Fs(Y)20
b Fu(\))38 b Fs(s)1330 2375 y Fn(i)1391 2360 y Fu(=)g
Fs(g)1559 2375 y Fn(i)1620 2360 y Fs(s)1668 2375 y Fn(i)1729
2360 y Fu(\(for)f(i)g(=)h(1,)h(2\).)58 b(Since)38 b Fs(Y)57
b Fu(is)38 b(a)f(c)m(hain)h(either)0 2480 y Fs(g)54 2495
y Fn(1)126 2480 y Ft(v)33 b Fs(g)290 2495 y Fn(2)361
2480 y Fu(or)f Fs(g)534 2495 y Fn(2)606 2480 y Ft(v)h
Fs(g)770 2495 y Fn(1)841 2480 y Fu(so)g(let)f Fs(g)41
b Fu(b)s(e)33 b(the)g(larger)e(of)h(the)h(t)m(w)m(o.)45
b(W)-8 b(e)33 b(then)g(ha)m(v)m(e)294 2671 y(\(\()370
2605 y Fg(F)439 2671 y Fs(Y)19 b Fu(\))33 b Fs(s)649
2686 y Fn(1)688 2671 y Fu(\))g Fs(x)111 b Fu(=)33 b(\()p
Fs(g)1116 2686 y Fn(1)1187 2671 y Fs(s)1235 2686 y Fn(1)1275
2671 y Fu(\))f Fs(x)255 b Fu(as)33 b(\()1803 2605 y Fg(F)1872
2671 y Fs(Y)20 b Fu(\))32 b Fs(s)2082 2686 y Fn(1)2154
2671 y Fu(=)h Fs(g)2317 2686 y Fn(1)2388 2671 y Fs(s)2436
2686 y Fn(1)915 2839 y Fu(=)g(\()p Fs(g)41 b(s)1196 2854
y Fn(1)1235 2839 y Fu(\))33 b Fs(x)294 b Fu(as)33 b Fs(g)1819
2854 y Fn(1)1891 2839 y Ft(v)g Fs(g)41 b Fu(and)32 b
Fs(g)2330 2854 y Fn(1)2402 2839 y Fs(s)2450 2854 y Fn(1)2522
2839 y Ft(6)p Fu(=)g(undef)p 2630 2852 V 915 3006 a(=)h(\()p
Fs(g)41 b(s)1196 3021 y Fn(2)1235 3006 y Fu(\))33 b Fs(x)294
b Fu(as)33 b Fs(g)41 b(s)1899 3021 y Fn(1)1971 3006 y
Ft(\021)33 b Fs(g)41 b(s)2215 3021 y Fn(2)2287 3006 y
Fu(rel)p 2287 3019 109 4 v 32 w(\(FIX)33 b Fs(H)16 b
Fu(\))32 b Fs(ps)915 3174 y Fu(=)h(\()p Fs(g)1116 3189
y Fn(2)1187 3174 y Fs(s)1235 3189 y Fn(2)1275 3174 y
Fu(\))f Fs(x)255 b Fu(as)33 b Fs(g)1819 3189 y Fn(2)1891
3174 y Ft(v)g Fs(g)41 b Fu(and)32 b Fs(g)2330 3189 y
Fn(2)2402 3174 y Fs(s)2450 3189 y Fn(2)2522 3174 y Ft(6)p
Fu(=)g(undef)p 2630 3187 236 4 v 915 3342 a(=)h(\(\()1100
3275 y Fg(F)1169 3342 y Fs(Y)19 b Fu(\))33 b Fs(s)1379
3357 y Fn(2)1418 3342 y Fu(\))g Fs(x)111 b Fu(as)33 b(\()1803
3275 y Fg(F)1872 3342 y Fs(Y)20 b Fu(\))32 b Fs(s)2082
3357 y Fn(2)2154 3342 y Fu(=)h Fs(g)2317 3357 y Fn(2)2388
3342 y Fs(s)2436 3357 y Fn(2)0 3534 y Fu(as)g(required.)44
b(This)33 b(\014nishes)g(the)g(pro)s(of)f(of)g(the)h(theorem.)1217
b Fh(2)146 3737 y Fu(It)31 b(follo)m(ws)e(from)g(this)g(theorem)h(that)
g(the)h(algorithm)c(listed)i(at)h(the)h(end)g(of)f(Section)g(5.2)0
3858 y(is)c(indeed)h(correct.)42 b(The)28 b(pro)s(of)e(of)g(safet)m(y)i
(of)e(the)h(analysis)f(can)h(b)s(e)g(summarized)f(as)h(follo)m(ws:)p
0 4007 3470 4 v 0 4024 V -2 4231 4 208 v 15 4231 V 1088
4152 a Fw(Pro)s(of)32 b(Summary)g(for)h(While)p Fu(:)p
3452 4231 V 3469 4231 V -2 4439 V 15 4439 V 1142 4360
a Fw(Safet)m(y)g(of)g(Static)f(Analysis)p 3452 4439 V
3469 4439 V 0 4442 3470 4 v -2 4811 4 370 v 15 4811 V
66 4608 a Fu(1:)143 b(De\014ne)32 b(a)f(relation)e(sat)p
1022 4621 126 4 v 15 x Fn(Stm)1308 4608 y Fu(expressing)k(the)e
(relationship)e(b)s(et)m(w)m(een)34 b(the)d(functions)285
4728 y(of)h Fw(State)h Fo(,)-17 b Ft(!)33 b Fw(State)f
Fu(and)h Fw(PState)f Ft(!)g Fw(PState)p Fu(.)p 3452 4811
4 370 v 3469 4811 V -2 5220 4 409 v 15 5220 V 66 4896
a(2:)143 b(Sho)m(w)32 b(that)g(the)f(relation)f(is)h(preserv)m(ed)i(b)m
(y)g(certain)e(pairs)f(of)h(auxiliary)e(functions)285
5016 y(used)36 b(in)e(the)g(denotational)f(seman)m(tics)h(and)h(the)g
(static)f(analysis)g(\(Lemmas)f(5.32)285 5136 y(and)g(5.33\).)p
3452 5220 V 3469 5220 V -2 5508 4 289 v 15 5508 V 66
5304 a(3:)143 b(Use)42 b Fs(structur)-5 b(al)44 b(induction)k
Fu(on)40 b(the)i(statemen)m(ts)g Fs(S)52 b Fu(to)41 b(sho)m(w)h(that)f
(the)g(relation)285 5424 y(holds)33 b(b)s(et)m(w)m(een)h(the)f(seman)m
(tics)g(and)g(the)g(analysis)f(of)g Fs(S)12 b Fu(.)p
3452 5508 V 3469 5508 V 0 5511 3470 4 v 0 5528 V eop
%%Page: 160 170
160 169 bop 251 130 a Fw(160)1937 b(5)112 b(Static)37
b(Program)f(Analysis)p 251 193 3473 4 v 283 515 a(Exercise)h(5.34)49
b Fu(Extend)40 b(the)e(pro)s(of)g(of)g(the)h(theorem)f(to)g(incorp)s
(orate)f(the)i(analysis)f(de-)283 636 y(v)m(elop)s(ed)33
b(for)f Fr(repeat)j Fs(S)44 b Fr(until)34 b Fs(b)k Fu(in)32
b(Exercise)i(5.25.)1383 b Fh(2)283 906 y Fw(Exercise)37
b(5.35)49 b Fu(When)35 b(sp)s(ecifying)f Ft(P)8 b(S)42
b Fu(in)33 b(the)i(previous)g(section)f(w)m(e)h(rejected)h(the)e(p)s
(os-)283 1026 y(sibilit)m(y)d(of)h(using)527 1259 y(cond)727
1223 y Fi(0)727 1284 y Fn(P)780 1259 y Fu(\()p Fs(f)21
b Fu(,)32 b Fs(h)985 1274 y Fn(1)1025 1259 y Fu(,)h Fs(h)1142
1274 y Fn(2)1181 1259 y Fu(\))g Fs(ps)40 b Fu(=)33 b(\()p
Fs(h)1586 1274 y Fn(1)1658 1259 y Fs(ps)8 b Fu(\))32
b Ft(t)1893 1274 y Fn(PS)2017 1259 y Fu(\()p Fs(h)2112
1274 y Fn(2)2184 1259 y Fs(ps)8 b Fu(\))283 1492 y(rather)24
b(than)f(cond)985 1507 y Fn(P)1038 1492 y Fu(.)40 b(F)-8
b(ormally)20 b(sho)m(w)k(that)f(the)h(analysis)e(obtained)h(b)m(y)h
(using)f(cond)3420 1456 y Fi(0)3420 1517 y Fn(P)3496
1492 y Fu(rather)283 1613 y(than)38 b(cond)716 1628 y
Fn(P)806 1613 y Fu(cannot)g(b)s(e)g(correct)g(in)f(the)h(sense)h(of)e
(Theorem)h(5.31.)58 b(Hin)m(t:)53 b(Consider)38 b(the)283
1733 y(statemen)m(t)c Fs(S)804 1748 y Fn(12)911 1733
y Fu(of)e(Example)g(5.3.)2102 b Fh(2)283 2003 y Fw(Exercise)37
b(5.36)49 b Fu(In)37 b(the)h(ab)s(o)m(v)m(e)h(exercise)f(w)m(e)h(sa)m
(w)f(that)f(cond)2678 2018 y Fn(P)2768 2003 y Fu(could)g(not)g(b)s(e)h
(simpli\014ed)283 2124 y(so)32 b(as)f(to)g(ignore)g(the)h(test)f(for)g
(whether)i(the)f(condition)e(is)g(dubious)i(or)f(not.)43
b(No)m(w)32 b(consider)283 2244 y(the)h(follo)m(wing)d(remedy)552
2412 y(cond)752 2375 y Fi(0)752 2436 y Fn(P)805 2412
y Fu(\()p Fs(f)21 b Fu(,)32 b Fs(h)1010 2427 y Fn(1)1050
2412 y Fu(,)h Fs(h)1167 2427 y Fn(2)1206 2412 y Fu(\))g
Fs(ps)552 2745 y Fu(=)660 2496 y Fg(8)660 2570 y(>)660
2595 y(>)660 2620 y(>)660 2645 y(<)660 2795 y(>)660 2819
y(>)660 2844 y(>)660 2869 y(:)776 2576 y Fu(\()p Fs(h)871
2591 y Fn(1)943 2576 y Fs(ps)8 b Fu(\))32 b Ft(t)1178
2591 y Fn(PS)1302 2576 y Fu(\()p Fs(h)1397 2591 y Fn(2)1469
2576 y Fs(ps)8 b Fu(\))83 b(if)31 b Fs(f)53 b(ps)41 b
Fu(=)32 b Fb(ok)776 2744 y Fu(\(\()p Fs(h)909 2759 y
Fn(1)981 2744 y Fu(\()p Fs(ps)8 b Fu([on-trac)m(k)p Ft(7!)p
Fb(d)p Fu(?]\)\))43 b Ft(t)1917 2759 y Fn(PS)2041 2744
y Fu(\()p Fs(h)2136 2759 y Fn(2)2208 2744 y Fu(\()p Fs(ps)8
b Fu([on-trac)m(k)p Ft(7!)p Fb(d)p Fu(?]\)\)\)[on-trac)m(k)p
Ft(7!)p Fb(ok)p Fu(])1688 2912 y(if)31 b Fs(f)53 b(ps)41
b Fu(=)32 b Fb(d)p Fu(?)283 3076 y(Giv)m(e)37 b(an)g(example)f
(statemen)m(t)h(where)h(cond)1985 3040 y Fi(0)1985 3101
y Fn(P)2074 3076 y Fu(is)f(preferable)f(to)h(cond)2957
3091 y Fn(P)3009 3076 y Fu(.)56 b(Do)s(es)37 b(the)g(safet)m(y)283
3197 y(pro)s(of)43 b(carry)h(through)f(when)i(cond)1657
3212 y Fn(P)1753 3197 y Fu(is)e(replaced)h(b)m(y)g(cond)2604
3160 y Fi(0)2604 3221 y Fn(P)2657 3197 y Fu(?)76 b(If)43
b(not,)k(suggest)d(ho)m(w)g(to)283 3317 y(w)m(eak)m(en)35
b(the)e(safet)m(y)h(predicate)f(suc)m(h)h(that)e(another)h(safet)m(y)g
(result)g(ma)m(y)f(b)s(e)h(pro)m(v)m(ed.)194 b Fh(2)283
3686 y Fj(5.4)161 b(Bounded)52 b(iteration)283 3918 y
Fu(In)32 b(Example)e(5.16)h(w)m(e)h(analysed)f(the)g(factorial)e
(statemen)m(t)i(and)g(sa)m(w)h(that)f(the)h(\014xed)g(p)s(oin)m(t)283
4038 y(computation)26 b(stabilizes)f(after)i(a)f(\014nite)h(n)m(um)m(b)
s(er)g(of)f(unfoldings,)h(irresp)s(ectiv)m(e)g(of)f(the)h(prop-)283
4158 y(ert)m(y)32 b(state)e(that)g(is)g(supplied)g(as)h(argumen)m(t.)42
b(This)31 b(is)e(quite)i(unlik)m(e)f(what)g(w)m(as)h(the)g(case)g(for)
283 4279 y(the)25 b(denotational)d(seman)m(tics)j(of)f(Chapter)h(4,)h
(where)f(the)g(n)m(um)m(b)s(er)f(of)g(unfoldings)f(dep)s(ended)283
4399 y(on)33 b(the)g(state)g(and)g(w)m(as)h(un)m(b)s(ounded.)45
b(A)33 b(similar)c(example)k(w)m(as)g(studied)g(in)f(Exercise)i(5.24)
283 4520 y(where)48 b(w)m(e)f(sa)m(w)h(that)e(the)g(analysis)g(w)m
(ould)g(terminate)f(up)s(on)h(a)g(statemen)m(t)h(that)f(nev)m(er)283
4640 y(terminated)32 b(in)g(the)h(denotational)d(seman)m(tics)j(of)f
(Chapter)i(4.)430 4766 y(This)24 b(is)f(an)h(instance)g(of)f(a)h
(general)f(phenomenon)i(and)e(w)m(e)i(shall)e(sho)m(w)i(t)m(w)m(o)f
(prop)s(ositions)283 4887 y(ab)s(out)32 b(this.)42 b(The)33
b(\014rst)f(prop)s(osition)e(sa)m(ys)j(that)e(for)h(eac)m(h)g(statemen)
m(t)g Fr(while)h Fs(b)38 b Fr(do)32 b Fs(S)43 b Fu(there)283
5007 y(is)d(a)f(constan)m(t)h(k)g(suc)m(h)h(that)f(the)g(kth)g
(unfolding)e(will)f(indeed)j(b)s(e)g(the)g(\014xed)g(p)s(oin)m(t.)64
b(The)283 5127 y(second)35 b(prop)s(osition)c(is)h(considerably)h
(harder)g(and)g(sa)m(ys)h(that)f(it)f(is)g(p)s(ossible)h(to)f(tak)m(e)i
(k)f(to)283 5248 y(b)s(e)g(\(m+1\))699 5212 y Fn(2)770
5248 y Fu(where)h(m)e(is)g(the)h(n)m(um)m(b)s(er)g(of)f(distinct)g(v)-5
b(ariables)31 b(in)h Fr(while)i Fs(b)k Fr(do)33 b Fs(S)12
b Fu(.)430 5374 y(T)-8 b(o)35 b(prepare)h(for)f(the)h(\014rst)g(prop)s
(osition)e(w)m(e)i(need)h(an)e(inductiv)m(e)h(de\014nition)e(of)h(the)h
(set)283 5494 y(FV\()p Fs(S)12 b Fu(\))32 b(of)h(free)g(v)-5
b(ariables)31 b(in)h(the)h(statemen)m(t)g Fs(S)12 b Fu(:)p
eop
%%Page: 161 171
161 170 bop 0 130 a Fw(5.4)112 b(Bounded)39 b(iteration)2154
b(161)p 0 193 3473 4 v 294 500 a Fu(FV\()p Fs(x)44 b
Fu(:=)32 b Fs(a)7 b Fu(\))757 b(=)99 b(FV\()p Fs(a)7
b Fu(\))33 b Ft([)g(f)p Fs(x)12 b Ft(g)294 668 y Fu(FV\()p
Fr(skip)p Fu(\))834 b(=)99 b Ft(;)294 835 y Fu(FV\()p
Fs(S)536 850 y Fn(1)575 835 y Fu(;)p Fs(S)669 850 y Fn(2)708
835 y Fu(\))799 b(=)99 b(FV\()p Fs(S)1962 850 y Fn(1)2001
835 y Fu(\))33 b Ft([)g Fu(FV\()p Fs(S)2413 850 y Fn(2)2452
835 y Fu(\))294 1003 y(FV\()p Fr(if)f Fs(b)39 b Fr(then)33
b Fs(S)991 1018 y Fn(1)1063 1003 y Fr(else)h Fs(S)1368
1018 y Fn(2)1407 1003 y Fu(\))100 b(=)f(FV\()p Fs(b)6
b Fu(\))32 b Ft([)h Fu(FV\()p Fs(S)2357 1018 y Fn(1)2396
1003 y Fu(\))g Ft([)g Fu(FV\()p Fs(S)2808 1018 y Fn(2)2847
1003 y Fu(\))294 1171 y(FV\()p Fr(while)g Fs(b)39 b Fr(do)33
b Fs(S)12 b Fu(\))464 b(=)99 b(FV\()p Fs(b)6 b Fu(\))32
b Ft([)h Fu(FV\()p Fs(S)12 b Fu(\))0 1355 y(Our)24 b(\014rst)g(observ)
-5 b(ation)24 b(is)f(that)h(w)m(e)h(can)f(rep)s(eat)g(the)g(dev)m
(elopmen)m(t)h(of)e(the)h(previous)h(sections)0 1475
y(if)41 b(w)m(e)i(restrict)f(the)g(prop)s(ert)m(y)h(states)g(to)e
(consider)i(only)e(v)-5 b(ariables)41 b(that)g(are)h(free)h(in)e(the)0
1596 y(o)m(v)m(erall)33 b(program.)45 b(So)33 b(let)g
Fs(X)49 b Ft(\022)34 b Fw(V)-9 b(ar)33 b Fu(b)s(e)h(a)f(\014nite)h(set)
g(of)f(v)-5 b(ariables)32 b(and)i(de\014ne)g Fw(PState)3405
1611 y Fc(X)0 1716 y Fu(to)e(b)s(e)244 1907 y Fw(PState)576
1922 y Fc(X)675 1907 y Fu(=)h(\()p Fs(X)48 b Ft([)33
b(f)p Fu(on-trac)m(k)p Ft(g)p Fu(\))g Ft(!)f Fw(P)0 2119
y(Exercise)k(5.37)49 b(\(Essen)m(tial\))24 b Fu(De\014ne)i
Fw(Aexp)1789 2134 y Fc(X)1882 2119 y Fu(to)g(b)s(e)g(the)g(set)h(of)e
(arithmetic)f(expressions)0 2239 y Fs(a)30 b Fu(of)22
b Fw(Aexp)g Fu(with)g(FV\()p Fs(a)7 b Fu(\))22 b Ft(\022)h
Fs(X)39 b Fu(and)22 b(let)g Fw(Bexp)1737 2254 y Fc(X)1827
2239 y Fu(and)g Fw(Stm)2206 2254 y Fc(X)2295 2239 y Fu(b)s(e)h
(de\014ned)h(similarly)-8 b(.)36 b(Mo)s(dify)0 2360 y(T)-8
b(ables)33 b(5.1)f(and)h(5.2)f(to)g(de\014ne)i(analysis)e(functions)269
2527 y Ft(P)8 b(A)426 2542 y Fc(X)493 2527 y Fu(:)44
b Fw(Aexp)821 2542 y Fc(X)921 2527 y Ft(!)32 b Fw(PState)1385
2542 y Fc(X)1484 2527 y Ft(!)g Fw(P)269 2695 y Ft(P)8
b(B)415 2710 y Fc(X)482 2695 y Fu(:)44 b Fw(Bexp)805
2710 y Fc(X)905 2695 y Ft(!)32 b Fw(PState)1369 2710
y Fc(X)1468 2695 y Ft(!)g Fw(P)269 2863 y Ft(P)8 b(S)414
2878 y Fc(X)481 2863 y Fu(:)44 b Fw(Stm)752 2878 y Fc(X)851
2863 y Ft(!)32 b Fw(PState)1315 2878 y Fc(X)1415 2863
y Ft(!)g Fw(PState)1879 2878 y Fc(X)3398 2863 y Fh(2)146
3074 y Fu(The)g(connection)e(b)s(et)m(w)m(een)j(the)e(analysis)f
(functions)g(of)g(the)h(ab)s(o)m(v)m(e)g(exercise)h(and)f(those)0
3195 y(of)h(T)-8 b(ables)32 b(5.1)f(and)i(5.2)e(should)h(b)s(e)g(in)m
(tuitiv)m(ely)f(clear.)43 b(F)-8 b(ormally)29 b(the)j(connection)g(ma)m
(y)g(b)s(e)0 3315 y(w)m(ork)m(ed)i(out)f(as)f(follo)m(ws:)0
3527 y Fw(Exercise)k(5.38)49 b Fu(*)33 b(De\014ne)244
3718 y(extend)527 3733 y Fc(X)596 3718 y Fu(:)43 b Fw(PState)998
3733 y Fc(X)1098 3718 y Ft(!)32 b Fw(PState)0 3909 y
Fu(b)m(y)244 4182 y(\(extend)565 4197 y Fc(X)666 4182
y Fs(ps)8 b Fu(\))33 b Fs(x)44 b Fu(=)1032 4007 y Fg(8)1032
4082 y(<)1032 4232 y(:)1148 4097 y Fs(ps)c(x)390 b Fu(if)32
b Fs(x)44 b Ft(2)33 b Fs(X)49 b Ft([)33 b(f)p Fu(on-trac)m(k)p
Ft(g)1148 4265 y Fs(ps)40 b Fu(on-trac)m(k)83 b(otherwise)0
4455 y(Sho)m(w)33 b(that)294 4618 y Ft(P)8 b(A)p Fu([)-17
b([)p Fs(a)7 b Fu(])-17 b(])34 b Ft(\016)e Fu(extend)981
4633 y Fc(X)1150 4618 y Fu(=)99 b Ft(P)8 b(A)1482 4633
y Fc(X)1549 4618 y Fu([)-17 b([)q Fs(a)7 b Fu(])-17 b(])294
4785 y Ft(P)8 b(B)t Fu([)-17 b([)p Fs(b)6 b Fu(])-17
b(])33 b Ft(\016)g Fu(extend)964 4800 y Fc(X)1150 4785
y Fu(=)99 b Ft(P)8 b(B)1471 4800 y Fc(X)1538 4785 y Fu([)-17
b([)q Fs(b)6 b Fu(])-17 b(])294 4953 y Ft(P)8 b(S)g Fu([)-17
b([)q Fs(S)12 b Fu(])-17 b(])33 b Ft(\016)f Fu(extend)979
4968 y Fc(X)1150 4953 y Fu(=)99 b(extend)1608 4968 y
Fc(X)1709 4953 y Ft(\016)33 b(P)8 b(S)1937 4968 y Fc(X)2004
4953 y Fu([)-17 b([)q Fs(S)12 b Fu(])-17 b(])0 5143 y(whenev)m(er)35
b(FV\()p Fs(a)7 b Fu(\))33 b Ft(\022)g Fs(X)16 b Fu(,)32
b(FV\()p Fs(b)6 b Fu(\))32 b Ft(\022)h Fs(X)49 b Fu(and)33
b(FV\()p Fs(S)12 b Fu(\))32 b Ft(\022)h Fs(X)16 b Fu(.)1156
b Fh(2)146 5355 y Fu(The)37 b(prop)s(ert)m(y)f(states)h(of)e
Fw(PState)1478 5370 y Fc(X)1581 5355 y Fu(are)g(only)h(de\014ned)h(on)e
(a)h(\014nite)f(n)m(um)m(b)s(er)h(of)f(argu-)0 5475 y(men)m(ts)e(b)s
(ecause)h Fs(X)49 b Fu(is)32 b(a)g(\014nite)g(set.)45
b(This)32 b(is)g(the)h(k)m(ey)i(to)d(sho)m(wing:)p eop
%%Page: 162 172
162 171 bop 251 130 a Fw(162)1937 b(5)112 b(Static)37
b(Program)f(Analysis)p 251 193 3473 4 v 283 515 3473
5 v 283 665 a(Prop)s(osition)g(5.39)49 b Fu(F)-8 b(or)47
b(eac)m(h)h(statemen)m(t)g Fr(while)g Fs(b)53 b Fr(do)48
b Fs(S)59 b Fu(of)47 b Fw(While)f Fu(there)i(exists)g(a)283
786 y(constan)m(t)34 b(k)f(suc)m(h)h(that)527 965 y Ft(P)8
b(S)673 980 y Fc(X)740 965 y Fu([)-17 b([)q Fr(while)33
b Fs(b)39 b Fr(do)33 b Fs(S)12 b Fu(])-17 b(])33 b(=)f
Fs(H)1618 928 y Fn(k)1692 965 y Ft(?)283 1143 y Fu(where)i
Fs(H)49 b(h)40 b Fu(=)32 b(cond)1084 1158 y Fn(P)1137
1143 y Fu(\()p Ft(P)8 b(B)1321 1158 y Fc(X)1388 1143
y Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(],)33 b Fs(h)39
b Ft(\016)33 b(P)8 b(S)1891 1158 y Fc(X)1958 1143 y Fu([)-17
b([)q Fs(S)12 b Fu(])-17 b(],)33 b(id\))f(and)h(FV\()p
Fr(while)g Fs(b)39 b Fr(do)33 b Fs(S)12 b Fu(\))32 b
Ft(\022)h Fs(X)16 b Fu(.)p 283 1264 V 283 1443 a(Note)33
b(that)g(using)f(the)h(result)f(of)g(Exercise)i(5.38)e(w)m(e)i(could)e
(disp)s(ense)i(with)e Fs(X)49 b Fu(altogether.)283 1610
y Fw(Pro)s(of:)36 b Fu(Let)c(m)e(b)s(e)h(the)h(cardinalit)m(y)d(of)i
Fs(X)16 b Fu(.)31 b(Then)i(there)f(will)d(b)s(e)i(2)2813
1574 y Fn(m+1)2997 1610 y Fs(di\013er)-5 b(ent)40 b Fu(prop)s(ert)m(y)
283 1731 y(states)34 b(in)e Fw(PState)1007 1746 y Fc(X)1074
1731 y Fu(.)43 b(This)33 b(means)g(that)f Fw(PState)2209
1746 y Fc(X)2308 1731 y Ft(!)h Fw(PState)2773 1746 y
Fc(X)2872 1731 y Fu(will)d(con)m(tain)527 1910 y(k)j(=)g(\(2)807
1874 y Fn(m+1)960 1910 y Fu(\))998 1874 y Fn(2)1033 1850
y Fd(m+1)283 2089 y Fu(di\013eren)m(t)f(functions.)44
b(It)31 b(follo)m(ws)g(that)g(there)i(can)e(b)s(e)h(at)g(most)f(k)h
(di\013eren)m(t)g(iterands)f Fs(H)3603 2052 y Fn(n)3678
2089 y Ft(?)283 2209 y Fu(of)38 b Fs(H)16 b Fu(.)39 b(Since)f
Fs(H)54 b Fu(is)38 b(monotone)g(Exercise)h(5.18)f(giv)m(es)h(that)f
Fs(H)2651 2173 y Fn(k)2731 2209 y Ft(?)g Fu(m)m(ust)h(b)s(e)f(equal)g
(to)g(the)283 2329 y(\014xed)c(p)s(oin)m(t)e(FIX)g Fs(H)16
b Fu(.)33 b(This)g(concludes)g(the)g(pro)s(of)f(of)g(the)h(prop)s
(osition.)682 b Fh(2)283 2697 y Fp(Making)46 b(it)f(practical)283
2882 y Fu(The)38 b(constan)m(t)g(k)f(determined)g(ab)s(o)m(v)m(e)g(is)g
(a)f(safe)h(upp)s(er)g(b)s(ound)g(but)g(is)g(rather)g(large)e(ev)m(en)
283 3002 y(for)43 b(small)e(statemen)m(ts.)77 b(As)44
b(an)f(example)g(it)f(sa)m(ys)i(that)g(the)f(16,777,216th)f(iteration)f
(of)283 3123 y(the)d(functional)e(will)e(su\016ce)39
b(for)e(the)h(factorial)c(statemen)m(t)k(and)f(this)g(is)g(quite)g
(useless)h(for)283 3243 y(practical)h(purp)s(oses.)69
b(In)40 b(the)h(remainder)f(of)f(this)i(section)f(w)m(e)h(shall)e(sho)m
(w)j(that)e(a)g(m)m(uc)m(h)283 3363 y(smaller)31 b(constan)m(t)i(can)g
(b)s(e)g(used:)p 283 3484 V 283 3634 a Fw(Prop)s(osition)j(5.40)49
b Fu(F)-8 b(or)32 b(eac)m(h)h(statemen)m(t)g Fr(while)h
Fs(b)39 b Fr(do)33 b Fs(S)44 b Fu(of)32 b Fw(While)f
Fu(w)m(e)j(ha)m(v)m(e)527 3812 y Ft(P)8 b(S)673 3827
y Fc(X)740 3812 y Fu([)-17 b([)q Fr(while)33 b Fs(b)39
b Fr(do)33 b Fs(S)12 b Fu(])-17 b(])33 b(=)f Fs(H)1618
3776 y Fn(k)1692 3812 y Ft(?)283 3991 y Fu(where)k Fs(H)50
b(h)42 b Fu(=)34 b(cond)1091 4006 y Fn(P)1144 3991 y
Fu(\()p Ft(P)8 b(B)1328 4006 y Fc(X)1395 3991 y Fu([)-17
b([)q Fs(b)6 b Fu(])-17 b(],)35 b Fs(h)42 b Ft(\016)34
b(P)8 b(S)1904 4006 y Fc(X)1971 3991 y Fu([)-17 b([)q
Fs(S)12 b Fu(])-17 b(],)35 b(id\),)f(k)h(=)f(\(m+1\))2835
3955 y Fn(2)2873 3991 y Fu(,)h(and)g(m)e(is)h(the)h(cardi-)283
4112 y(nalit)m(y)d(of)g(the)h(set)g Fs(X)49 b Fu(=)32
b(FV\()p Fr(while)i Fs(b)k Fr(do)33 b Fs(S)12 b Fu(\).)p
283 4232 V 283 4411 a(Note)33 b(that)g(using)f(the)h(result)f(of)g
(Exercise)i(5.38)e(w)m(e)i(could)e(disp)s(ense)i(with)e
Fs(X)49 b Fu(altogether.)430 4531 y(F)-8 b(or)36 b(the)i(factorial)d
(statemen)m(t)j(this)f(will)e(imply)h(that)h(FIX)g Fs(H)54
b Fu(=)37 b Fs(H)3042 4495 y Fn(9)3119 4531 y Ft(?)h
Fu(so)f(only)g(nine)283 4652 y(iterands)25 b(need)g(to)f(b)s(e)h
(constructed.)42 b(This)25 b(ma)m(y)f(b)s(e)g(compared)h(with)f(the)g
(observ)-5 b(ation)24 b(made)283 4772 y(in)32 b(Example)g(5.16)g(that)h
(already)f Fs(H)1652 4736 y Fn(1)1724 4772 y Ft(?)h Fu(is)f(the)h
(least)f(\014xed)i(p)s(oin)m(t.)430 4893 y(The)i(pro)s(of)e(of)h(Prop)s
(osition)f(5.40)g(requires)j(some)e(preliminary)d(results.)52
b(T)-8 b(o)36 b(motiv)-5 b(ate)283 5013 y(these)25 b(consider)f(wh)m(y)
i(the)e(upp)s(er)g(b)s(ound)g(determined)f(in)g(Prop)s(osition)f(5.39)h
(is)h(so)g(imprecise.)283 5133 y(The)33 b(reason)g(is)e(that)h(w)m(e)h
(consider)f Fs(al)5 b(l)42 b Fu(functions)32 b(in)g Fw(PState)2630
5148 y Fc(X)2728 5133 y Ft(!)g Fw(PState)3192 5148 y
Fc(X)3291 5133 y Fu(and)g(do)g(not)283 5254 y(exploit)46
b(an)m(y)h(sp)s(ecial)f(prop)s(erties)g(of)g(the)h(functions)g
Fs(H)2452 5218 y Fn(n)2542 5254 y Ft(?)p Fu(,)k(suc)m(h)d(as)e
(monotonicit)m(y)f(or)283 5374 y(con)m(tin)m(uit)m(y)-8
b(.)60 b(T)-8 b(o)38 b(obtain)f(a)h(b)s(etter)g(b)s(ound)h(w)m(e)g
(shall)d(exploit)h(prop)s(erties)h(of)g(the)g Ft(P)8
b(S)3547 5389 y Fc(X)3614 5374 y Fu([)-17 b([)p Fs(S)12
b Fu(])-17 b(])283 5494 y(analysis)32 b(functions.)44
b(Recall)31 b(that)h(a)g(function)p eop
%%Page: 163 173
163 172 bop 0 130 a Fw(5.4)112 b(Bounded)39 b(iteration)2154
b(163)p 0 193 3473 4 v 244 515 a Fs(h)7 b Fu(:)44 b Fw(PState)704
530 y Fc(X)803 515 y Ft(!)32 b Fw(PState)1267 530 y Fc(X)0
720 y Fu(is)g Fs(strict)43 b Fu(if)31 b(and)i(only)f(if)244
924 y Fs(h)40 b Fb(init)514 939 y Fc(X)614 924 y Fu(=)32
b Fb(init)902 939 y Fc(X)0 1128 y Fu(where)c Fb(init)456
1143 y Fc(X)551 1128 y Fu(is)f(the)g(least)g(elemen)m(t)g(of)g
Fw(PState)1822 1143 y Fc(X)1889 1128 y Fu(.)41 b(It)28
b(is)e(an)h Fs(additive)34 b Fu(function)27 b(if)f(and)h(only)0
1249 y(if)244 1453 y Fs(h)40 b Fu(\()p Fs(ps)470 1468
y Fn(1)541 1453 y Ft(t)608 1468 y Fn(PS)732 1453 y Fs(ps)830
1468 y Fn(2)869 1453 y Fu(\))33 b(=)f(\()p Fs(h)40 b(ps)1274
1468 y Fn(1)1313 1453 y Fu(\))32 b Ft(t)1450 1468 y Fn(PS)1574
1453 y Fu(\()p Fs(h)39 b(ps)1799 1468 y Fn(2)1839 1453
y Fu(\))0 1657 y(holds)32 b(for)g(all)f(prop)s(ert)m(y)i(states)h
Fs(ps)1314 1672 y Fn(1)1385 1657 y Fu(and)f Fs(ps)1673
1672 y Fn(2)1745 1657 y Fu(of)f Fw(PState)2188 1672 y
Fc(X)2255 1657 y Fu(.)0 1887 y Fw(Exercise)k(5.41)49
b(\(Essen)m(tial\))29 b Fu(Giv)m(e)i(a)g(formal)e(de\014nition)h(of)g
(what)i(it)e(means)h(for)g(a)f(func-)0 2007 y(tion)244
2212 y Fs(h)7 b Fu(:)44 b Fw(PState)704 2227 y Fc(X)803
2212 y Ft(!)32 b Fw(P)0 2416 y Fu(to)39 b(b)s(e)g(strict)f(and)h
(additiv)m(e.)62 b(Use)40 b(Exercise)h(5.11)d(to)g(sho)m(w)i(that)f
Ft(P)8 b(A)2698 2431 y Fc(X)2766 2416 y Fu([)-17 b([)p
Fs(a)7 b Fu(])-17 b(])40 b(and)f Ft(P)8 b(B)3279 2431
y Fc(X)3346 2416 y Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(])0
2537 y(are)31 b(strict)f(and)g(additiv)m(e.)43 b(\(W)-8
b(e)30 b(tacitly)g(assume)h(that)f(FV\()p Fs(a)7 b Fu(\))30
b Ft(\022)h Fs(X)47 b Fu(and)31 b(FV\()p Fs(b)6 b Fu(\))30
b Ft(\022)h Fs(X)16 b Fu(.\))63 b Fh(2)146 2766 y Fu(W)-8
b(e)27 b(shall)d(\014rst)i(sho)m(w)h(that)f(the)g(auxiliary)e
(functions)h(for)h(comp)s(osition)d(and)j(conditional)0
2886 y(preserv)m(e)f(strictness)g(and)e(additivit)m(y)f(and)h(next)h(w)
m(e)g(shall)e(pro)m(v)m(e)i(that)f(the)g(analysis)g(function)0
3007 y Ft(P)8 b(S)145 3022 y Fc(X)213 3007 y Fu([)-17
b([)p Fs(S)12 b Fu(])-17 b(])33 b(is)f(strict)h(and)f(additiv)m(e)g
(for)g(all)f(statemen)m(ts)i Fs(S)12 b Fu(.)0 3237 y
Fw(Exercise)36 b(5.42)49 b(\(Essen)m(tial\))33 b Fu(Sho)m(w)j(that)f
(if)f Fs(h)1869 3252 y Fn(1)1943 3237 y Fu(and)h Fs(h)2192
3252 y Fn(2)2267 3237 y Fu(are)g(strict)g(and)g(additiv)m(e)f(func-)0
3357 y(tions)e(in)g Fw(PState)685 3372 y Fc(X)784 3357
y Ft(!)g Fw(PState)1248 3372 y Fc(X)1348 3357 y Fu(then)h(so)g(is)f
Fs(h)1845 3372 y Fn(1)1917 3357 y Ft(\016)h Fs(h)2057
3372 y Fn(2)2096 3357 y Fu(.)1275 b Fh(2)0 3587 y Fw(Exercise)36
b(5.43)49 b(\(Essen)m(tial\))22 b Fu(Assume)i(that)g
Fs(f)44 b Fu(in)23 b Fw(PState)2301 3602 y Fc(X)2392
3587 y Ft(!)g Fw(P)g Fu(is)g(strict)g(and)h(additiv)m(e)0
3707 y(and)36 b(that)g Fs(h)465 3722 y Fn(1)541 3707
y Fu(and)h Fs(h)792 3722 y Fn(2)867 3707 y Fu(in)f Fw(PState)1317
3722 y Fc(X)1420 3707 y Ft(!)g Fw(PState)1888 3722 y
Fc(X)1991 3707 y Fu(are)g(strict)g(and)h(additiv)m(e.)54
b(Sho)m(w)37 b(that)0 3827 y(cond)200 3842 y Fn(P)253
3827 y Fu(\()p Fs(f)21 b Fu(,)37 b Fs(h)463 3842 y Fn(1)503
3827 y Fu(,)g Fs(h)624 3842 y Fn(2)664 3827 y Fu(\))f(is)g(a)g(strict)g
(and)g(additiv)m(e)g(function.)55 b(Hin)m(t:)50 b(if)35
b Fs(f)58 b Fu(\()p Fs(ps)2771 3842 y Fn(1)2846 3827
y Ft(t)2913 3842 y Fn(PS)3040 3827 y Fs(ps)3138 3842
y Fn(2)3178 3827 y Fu(\))36 b(=)g Fb(d)p Fu(?)0 3948
y(then)d Fs(f)54 b(ps)404 3963 y Fn(i)460 3948 y Fu(=)32
b Fb(d)p Fu(?)h(for)f(i)g(=)g(1)g(or)h(i)e(=)i(2.)1927
b Fh(2)p 0 4177 3473 5 v 0 4353 a Fw(Lemma)37 b(5.44)49
b Fu(F)-8 b(or)42 b(all)e(statemen)m(ts)k Fs(S)54 b Fu(of)42
b Fw(While)p Fu(,)h Ft(P)8 b(S)2215 4368 y Fc(X)2283
4353 y Fu([)-17 b([)p Fs(S)12 b Fu(])-17 b(])43 b(is)f(a)g(strict)g
(and)h(additiv)m(e)0 4473 y(function)32 b(whenev)m(er)j(FV\()p
Fs(S)12 b Fu(\))32 b Ft(\022)h Fs(X)16 b Fu(.)p 0 4594
V 0 4798 a Fw(Pro)s(of:)37 b Fu(W)-8 b(e)33 b(pro)s(ceed)h(b)m(y)f
(structural)f(induction)g(on)h Fs(S)44 b Fu(and)33 b(assume)g(that)f
(FV\()p Fs(S)12 b Fu(\))32 b Ft(\022)h Fs(X)16 b Fu(.)0
4965 y Fw(The)33 b(case)g Fs(x)44 b Fu(:=)33 b Fs(a)7
b Fu(:)44 b(W)-8 b(e)33 b(ha)m(v)m(e)244 5170 y Ft(P)8
b(S)389 5185 y Fc(X)457 5170 y Fu([)-17 b([)p Fs(x)44
b Fu(:=)33 b Fs(a)7 b Fu(])-17 b(])33 b Fb(init)1026
5185 y Fc(X)1126 5170 y Fu(=)g Fb(init)1415 5185 y Fc(X)0
5374 y Fu(b)s(ecause)j(Exercise)g(5.41)d(giv)m(es)i(that)f
Ft(P)8 b(A)1568 5389 y Fc(X)1635 5374 y Fu([)-17 b([)p
Fs(a)7 b Fu(])-17 b(])36 b(is)e(strict)g(so)g Ft(P)8
b(A)2437 5389 y Fc(X)2505 5374 y Fu([)-17 b([)p Fs(a)7
b Fu(])-17 b(])36 b Fb(init)2852 5389 y Fc(X)2954 5374
y Fu(=)e Fb(ok)p Fu(.)50 b(Next)0 5494 y(w)m(e)34 b(sho)m(w)f(that)g
Ft(P)8 b(S)742 5509 y Fc(X)809 5494 y Fu([)-17 b([)q
Fs(x)44 b Fu(:=)33 b Fs(a)7 b Fu(])-17 b(])33 b(is)f(additiv)m(e:)p
eop
%%Page: 164 174
164 173 bop 251 130 a Fw(164)1937 b(5)112 b(Static)37
b(Program)f(Analysis)p 251 193 3473 4 v 527 515 a Ft(P)8
b(S)673 530 y Fc(X)740 515 y Fu([)-17 b([)q Fs(x)44 b
Fu(:=)32 b Fs(a)7 b Fu(])-17 b(])q(\()p Fs(ps)1233 530
y Fn(1)1305 515 y Ft(t)1371 530 y Fn(PS)1495 515 y Fs(ps)1593
530 y Fn(2)1633 515 y Fu(\))778 683 y(=)32 b(\()p Fs(ps)1022
698 y Fn(1)1094 683 y Ft(t)1160 698 y Fn(PS)1284 683
y Fs(ps)1382 698 y Fn(2)1421 683 y Fu(\)[)p Fs(x)12 b
Ft(7!)32 b(P)8 b(A)1832 698 y Fc(X)1900 683 y Fu([)-17
b([)p Fs(a)7 b Fu(])-17 b(])q(\()p Fs(ps)2168 698 y Fn(1)2240
683 y Ft(t)2306 698 y Fn(PS)2430 683 y Fs(ps)2528 698
y Fn(2)2568 683 y Fu(\)])778 851 y(=)32 b(\()p Fs(ps)1022
866 y Fn(1)1094 851 y Ft(t)1160 866 y Fn(PS)1284 851
y Fs(ps)1382 866 y Fn(2)1421 851 y Fu(\)[)p Fs(x)12 b
Ft(7!)32 b(P)8 b(A)1832 866 y Fc(X)1900 851 y Fu([)-17
b([)p Fs(a)7 b Fu(])-17 b(])q Fs(ps)2130 866 y Fn(1)2202
851 y Ft(t)2268 866 y Fn(P)2353 851 y Ft(P)8 b(A)2510
866 y Fc(X)2578 851 y Fu([)-17 b([)p Fs(a)7 b Fu(])-17
b(])q Fs(ps)2808 866 y Fn(2)2847 851 y Fu(])778 1018
y(=)32 b Fs(ps)984 1033 y Fn(1)1023 1018 y Fu([)p Fs(x)12
b Ft(7!P)c(A)1364 1033 y Fc(X)1431 1018 y Fu([)-17 b([)q
Fs(a)7 b Fu(])-17 b(])q Fs(ps)1662 1033 y Fn(1)1701 1018
y Fu(])33 b Ft(t)1827 1033 y Fn(PS)1951 1018 y Fs(ps)2049
1033 y Fn(2)2088 1018 y Fu([)p Fs(x)12 b Ft(7!P)c(A)2429
1033 y Fc(X)2496 1018 y Fu([)-17 b([)q Fs(a)7 b Fu(])-17
b(])q Fs(ps)2727 1033 y Fn(2)2766 1018 y Fu(])778 1186
y(=)32 b Ft(P)8 b(S)1031 1201 y Fc(X)1099 1186 y Fu([)-17
b([)p Fs(x)45 b Fu(:=)32 b Fs(a)7 b Fu(])-17 b(])q Fs(ps)1554
1201 y Fn(1)1626 1186 y Ft(t)1692 1201 y Fn(PS)1816 1186
y Ft(P)8 b(S)1961 1201 y Fc(X)2029 1186 y Fu([)-17 b([)p
Fs(x)45 b Fu(:=)32 b Fs(a)7 b Fu(])-17 b(])q Fs(ps)2484
1201 y Fn(2)283 1385 y Fu(where)34 b(the)f(second)h(equalit)m(y)e
(follo)m(ws)g(from)f Ft(P)8 b(A)2127 1400 y Fc(X)2194
1385 y Fu([)-17 b([)q Fs(a)7 b Fu(])-17 b(])33 b(b)s(eing)f(additiv)m
(e)g(\(Exercise)i(5.41\).)283 1552 y Fw(The)f(case)g
Fr(skip)h Fu(is)e(immediate.)283 1720 y Fw(The)h(case)f
Fs(S)805 1735 y Fn(1)844 1720 y Fu(;)g Fs(S)970 1735
y Fn(2)1041 1720 y Fu(follo)m(ws)f(from)f(Exercise)j(5.42)e(and)h(the)g
(induction)f(h)m(yp)s(othesis)i(applied)283 1840 y(to)g
Fs(S)470 1855 y Fn(1)541 1840 y Fu(and)g Fs(S)798 1855
y Fn(2)837 1840 y Fu(.)283 2008 y Fw(The)c(case)g Fr(if)g
Fs(b)34 b Fr(then)c Fs(S)1242 2023 y Fn(1)1309 2008 y
Fr(else)g Fs(S)1610 2023 y Fn(2)1678 2008 y Fu(follo)m(ws)d(from)g
(Exercise)j(5.43,)e(the)h(induction)f(h)m(yp)s(oth-)283
2128 y(esis)33 b(applied)f(to)g Fs(S)991 2143 y Fn(1)1063
2128 y Fu(and)h Fs(S)1320 2143 y Fn(2)1391 2128 y Fu(and)g(Exercise)h
(5.41.)283 2296 y Fw(The)f(case)g Fr(while)h Fs(b)39
b Fr(do)33 b Fs(S)12 b Fu(:)32 b(De\014ne)527 2495 y
Fs(H)49 b(h)40 b Fu(=)32 b(cond)1046 2510 y Fn(P)1099
2495 y Fu(\()p Ft(P)8 b(B)1283 2510 y Fc(X)1350 2495
y Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(],)33 b Fs(h)40
b Ft(\016)32 b(P)8 b(S)1853 2510 y Fc(X)1921 2495 y Fu([)-17
b([)p Fs(S)12 b Fu(])-17 b(])q(,)32 b(id\))283 2694 y(Our)h(\014rst)g
(claim)d(is)i(that)527 2893 y Fs(H)615 2857 y Fn(n)691
2893 y Ft(?)283 3092 y Fu(is)42 b(strict)h(and)f(additiv)m(e)g(for)g
(all)f Fs(n)7 b Fu(.)73 b(This)43 b(is)f(pro)m(v)m(ed)i(b)m(y)f(n)m
(umerical)e(induction)h(and)g(the)283 3212 y(base)h(case,)i(n)d(=)g(0,)
i(is)e(immediate.)69 b(The)42 b(induction)f(step)i(follo)m(ws)e(from)g
(the)h(induction)283 3332 y(h)m(yp)s(othesis)37 b(of)d(the)i
(structural)f(induction,)f(the)i(induction)e(h)m(yp)s(othesis)i(of)f
(the)g(n)m(umerical)283 3453 y(induction,)42 b(Exercises)g(5.42,)f
(5.41)e(and)i(5.43)e(and)h(that)g(id)g(is)f(strict)h(and)g(additiv)m
(e.)66 b(Our)283 3573 y(second)34 b(claim)c(is)j(that)527
3772 y(FIX)g Fs(H)48 b Fu(=)961 3706 y Fg(F)1030 3787
y Fn(PS)1154 3772 y Ft(f)32 b Fs(H)1324 3736 y Fn(n)1400
3772 y Ft(?)h(j)f Fu(n)h Ft(\025)g Fu(0)f Ft(g)283 3971
y Fu(is)h(strict)f(and)g(additiv)m(e.)43 b(F)-8 b(or)32
b(strictness)i(w)m(e)g(calculate)577 4142 y(\(FIX)f Fs(H)16
b Fu(\))32 b Fb(init)1158 4157 y Fc(X)1325 4142 y Fu(=)1434
4076 y Fg(F)1503 4157 y Fn(PS)1627 4142 y Ft(f)g Fu(\()p
Fs(H)1835 4106 y Fn(n)1911 4142 y Ft(?)q Fu(\))g Fb(init)2239
4157 y Fc(X)2339 4142 y Ft(j)g Fu(n)h Ft(\025)g Fu(0)f
Ft(g)1325 4310 y Fu(=)h Fb(init)1614 4325 y Fc(X)283
4502 y Fu(where)g(the)f(last)e(equalit)m(y)h(follo)m(ws)f(from)g
Fs(H)1920 4466 y Fn(n)1995 4502 y Ft(?)i Fu(b)s(eing)e(strict)h(for)g
(all)e(n.)43 b(F)-8 b(or)31 b(additivit)m(y)f(w)m(e)283
4622 y(calculate)527 4821 y(\(FIX)j Fs(H)16 b Fu(\)\()p
Fs(ps)1032 4836 y Fn(1)1104 4821 y Ft(t)1170 4836 y Fn(PS)1294
4821 y Fs(ps)1392 4836 y Fn(2)1431 4821 y Fu(\))896 4989
y(=)1004 4922 y Fg(F)1073 5004 y Fn(PS)1197 4989 y Ft(f)33
b Fu(\()p Fs(H)1406 4953 y Fn(n)1481 4989 y Ft(?)q Fu(\)\()p
Fs(ps)1733 5004 y Fn(1)1805 4989 y Ft(t)1871 5004 y Fn(PS)1995
4989 y Fs(ps)2093 5004 y Fn(2)2132 4989 y Fu(\))g Ft(j)f
Fu(n)h Ft(\025)g Fu(0)f Ft(g)896 5156 y Fu(=)1004 5090
y Fg(F)1073 5171 y Fn(PS)1197 5156 y Ft(f)h Fu(\()p Fs(H)1406
5120 y Fn(n)1481 5156 y Ft(?)q Fu(\))p Fs(ps)1695 5171
y Fn(1)1767 5156 y Ft(t)1833 5171 y Fn(PS)1957 5156 y
Fu(\()p Fs(H)2083 5120 y Fn(n)2159 5156 y Ft(?)p Fu(\))p
Fs(ps)2372 5171 y Fn(2)2444 5156 y Ft(j)f Fu(n)h Ft(\025)g
Fu(0)f Ft(g)896 5324 y Fu(=)1004 5258 y Fg(F)1073 5339
y Fn(PS)1197 5324 y Ft(f)h Fu(\()p Fs(H)1406 5288 y Fn(n)1481
5324 y Ft(?)q Fu(\))p Fs(ps)1695 5339 y Fn(1)1767 5324
y Ft(j)f Fu(n)h Ft(\025)g Fu(0)f Ft(g)g(t)2254 5339 y
Fn(PS)2378 5258 y Fg(F)2447 5339 y Fn(PS)2571 5324 y
Ft(f)g Fu(\()p Fs(H)2779 5288 y Fn(n)2855 5324 y Ft(?)p
Fu(\))p Fs(ps)3068 5339 y Fn(2)3140 5324 y Ft(j)g Fu(n)h
Ft(\025)g Fu(0)f Ft(g)896 5492 y Fu(=)g(\(FIX)h Fs(H)16
b Fu(\))p Fs(ps)1471 5507 y Fn(1)1543 5492 y Ft(t)1609
5507 y Fn(PS)1733 5492 y Fu(\(FIX)32 b Fs(H)16 b Fu(\))p
Fs(ps)2199 5507 y Fn(2)p eop
%%Page: 165 175
165 174 bop 0 130 a Fw(5.4)112 b(Bounded)39 b(iteration)2154
b(165)p 0 193 3473 4 v 0 515 a Fu(The)28 b(second)g(equalit)m(y)e(uses)
i(the)g(additivit)m(y)d(of)h Fs(H)1867 479 y Fn(n)1937
515 y Ft(?)i Fu(for)e(all)f(n.)41 b(This)27 b(concludes)h(the)f(pro)s
(of)0 636 y(of)32 b(the)h(lemma.)2808 b Fh(2)146 839
y Fu(Strict)32 b(and)h(additiv)m(e)f(functions)g(ha)m(v)m(e)i(a)f(n)m
(um)m(b)s(er)g(of)f(in)m(teresting)g(prop)s(erties:)0
1067 y Fw(Exercise)k(5.45)49 b(\(Essen)m(tial\))41 b
Fu(Sho)m(w)k(that)e(if)f Fs(h)7 b Fu(:)65 b Fw(PState)2326
1082 y Fc(X)2437 1067 y Ft(!)43 b Fw(PState)2912 1082
y Fc(X)3022 1067 y Fu(is)g(additiv)m(e)0 1187 y(then)33
b Fs(h)40 b Fu(is)32 b(monotone.)2543 b Fh(2)146 1415
y Fu(The)34 b(next)g(result)g(expresses)i(that)d(when)h(t)m(w)m(o)g
(distinct)e(analysis)h(functions)g Fs(h)3113 1430 y Fn(1)3185
1415 y Fu(and)h Fs(h)3433 1430 y Fn(2)0 1536 y Fu(are)g(strict)f(and)h
(additiv)m(e)f(and)h(satis\014es)g Fs(h)1594 1551 y Fn(1)1668
1536 y Ft(v)g Fs(h)1836 1551 y Fn(2)1909 1536 y Fu(then)g(it)f(will)f
(b)s(e)h(the)i(prop)s(ert)m(y)f(assigned)0 1656 y(to)e(just)h(one)g(of)
f(the)h(\\v)-5 b(ariables")31 b(that)h(accoun)m(ts)i(for)e(the)h
(di\013erence)g(b)s(et)m(w)m(een)i Fs(h)3069 1671 y Fn(1)3141
1656 y Fu(and)e Fs(h)3388 1671 y Fn(2)3428 1656 y Fu(.)p
0 1776 3473 5 v 0 1950 a Fw(Lemma)k(5.46)49 b Fu(Consider)33
b(strict)f(and)h(additiv)m(e)f(functions)244 2154 y Fs(h)301
2169 y Fn(1)341 2154 y Fu(,)g Fs(h)457 2169 y Fn(2)497
2154 y Fu(:)43 b Fw(PState)899 2169 y Fc(X)999 2154 y
Ft(!)32 b Fw(PState)1463 2169 y Fc(X)0 2357 y Fu(suc)m(h)26
b(that)f Fs(h)473 2372 y Fn(1)537 2357 y Ft(v)g Fs(h)696
2372 y Fn(2)761 2357 y Fu(and)g Fs(h)1000 2372 y Fn(1)1064
2357 y Ft(6)p Fu(=)g Fs(h)1222 2372 y Fn(2)1261 2357
y Fu(.)41 b(Then)26 b(there)f(exist)h(\\v)-5 b(ariables")23
b Fs(x)12 b Fu(,)26 b Fs(y)33 b Ft(2)26 b Fs(X)40 b Ft([)26
b(f)p Fu(on-trac)m(k)p Ft(g)0 2477 y Fu(suc)m(h)34 b(that)269
2645 y(\()p Fs(h)364 2660 y Fn(1)436 2645 y Fu(\()p Fb(init)654
2660 y Fc(X)721 2645 y Fu([)p Fs(y)9 b Ft(7!)p Fb(d)p
Fu(?]\)\))44 b Fs(x)g Fu(=)33 b Fb(ok)g Fu(but)269 2812
y(\()p Fs(h)364 2827 y Fn(2)436 2812 y Fu(\()p Fb(init)654
2827 y Fc(X)721 2812 y Fu([)p Fs(y)9 b Ft(7!)p Fb(d)p
Fu(?]\)\))44 b Fs(x)g Fu(=)33 b Fb(d)p Fu(?)p 0 2933
V 0 3136 a Fw(Pro)s(of:)k Fu(Since)c Fs(h)652 3151 y
Fn(1)724 3136 y Ft(v)g Fs(h)891 3151 y Fn(2)963 3136
y Fu(and)g Fs(h)1210 3151 y Fn(1)1282 3136 y Ft(6)p Fu(=)g
Fs(h)1448 3151 y Fn(2)1520 3136 y Fu(there)g(exists)h(a)e(prop)s(ert)m
(y)h(state)g Fs(ps)41 b Fu(suc)m(h)34 b(that)244 3339
y Fs(h)301 3354 y Fn(1)373 3339 y Fs(ps)41 b Ft(v)581
3354 y Fn(PS)705 3339 y Fs(h)762 3354 y Fn(2)834 3339
y Fs(ps)244 3506 y(h)301 3521 y Fn(1)373 3506 y Fs(ps)g
Ft(6)p Fu(=)32 b Fs(h)669 3521 y Fn(2)741 3506 y Fs(ps)0
3710 y Fu(It)h(follo)m(ws)e(that)h(there)i(exists)f(a)f(\\v)-5
b(ariable")31 b Fs(x)44 b Ft(2)33 b Fs(X)49 b Ft([)32
b(f)p Fu(on-trac)m(k)p Ft(g)h Fu(suc)m(h)h(that)244 3913
y(\()p Fs(h)339 3928 y Fn(1)411 3913 y Fs(ps)8 b Fu(\))32
b Fs(x)45 b Fu(=)32 b Fb(ok)244 4080 y Fu(\()p Fs(h)339
4095 y Fn(2)411 4080 y Fs(ps)8 b Fu(\))32 b Fs(x)45 b
Fu(=)32 b Fb(d)p Fu(?)0 4283 y(Consider)26 b(no)m(w)h(the)g(set)f(OK\()
p Fs(ps)8 b Fu(\).)41 b(It)26 b(is)g(\014nite)f(b)s(ecause)j(OK\()p
Fs(ps)8 b Fu(\))25 b Ft(\022)i Fs(X)42 b Ft([)26 b(f)p
Fu(on-trac)m(k)p Ft(g)p Fu(.)41 b(First)0 4404 y(assume)29
b(that)f(OK\()p Fs(ps)8 b Fu(\))27 b(=)h Fs(X)44 b Ft([)29
b(f)p Fu(on-trac)m(k)p Ft(g)p Fu(.)42 b(Then)29 b Fs(ps)36
b Fu(=)28 b Fb(init)2389 4419 y Fc(X)2484 4404 y Fu(and)h(since)f(w)m
(e)h(kno)m(w)h(that)0 4524 y Fs(h)57 4539 y Fn(1)130
4524 y Fu(and)j Fs(h)377 4539 y Fn(2)449 4524 y Fu(are)g(strict)f(w)m
(e)i(ha)m(v)m(e)h Fs(h)1294 4539 y Fn(1)1366 4524 y Fb(init)1546
4539 y Fc(X)1647 4524 y Fu(=)d Fb(init)1935 4539 y Fc(X)2036
4524 y Fu(and)h Fs(h)2283 4539 y Fn(2)2355 4524 y Fb(init)2535
4539 y Fc(X)2636 4524 y Fu(=)f Fb(init)2924 4539 y Fc(X)2992
4524 y Fu(.)44 b(Therefore)0 4644 y Fs(h)57 4659 y Fn(1)129
4644 y Fs(ps)d Fu(=)32 b Fs(h)425 4659 y Fn(2)497 4644
y Fs(ps)41 b Fu(whic)m(h)33 b(con)m(tradicts)g(the)g(w)m(a)m(y)g
Fs(ps)41 b Fu(w)m(as)33 b(c)m(hosen.)146 4765 y(Therefore)e(OK\()p
Fs(ps)8 b Fu(\))30 b(is)f(a)h(true)g(subset)i(of)d Fs(X)46
b Ft([)30 b(f)p Fu(on-trac)m(k)p Ft(g)p Fu(.)43 b(No)m(w)30
b(let)g Ft(f)p Fs(y)2923 4780 y Fn(1)2962 4765 y Fu(,)g
Ft(\001)17 b(\001)g(\001)o Fu(,)30 b Fs(y)3249 4780 y
Fn(n)3293 4765 y Ft(g)f Fu(b)s(e)0 4885 y(the)k(\\v)-5
b(ariables")30 b(of)i Fs(X)48 b Ft([)32 b(f)p Fu(on-trac)m(k)p
Ft(g)g Fu(that)g(do)g(not)g(o)s(ccur)h(in)e(OK\()p Fs(ps)8
b Fu(\).)43 b(This)32 b(means)h(that)244 5088 y Fs(ps)40
b Fu(=)33 b Fb(init)663 5103 y Fc(X)730 5088 y Fu([)p
Fs(y)813 5103 y Fn(1)853 5088 y Ft(7!)o Fb(d)p Fu(?])p
Ft(\001)17 b(\001)g(\001)o Fu([)p Fs(y)1287 5103 y Fn(n)1331
5088 y Ft(7!)o Fb(d)p Fu(?])0 5291 y(whic)m(h)33 b(is)f(equiv)-5
b(alen)m(t)33 b(to)244 5494 y Fs(ps)40 b Fu(=)33 b Fb(init)663
5509 y Fc(X)730 5494 y Fu([)p Fs(y)813 5509 y Fn(1)853
5494 y Ft(7!)o Fb(d)p Fu(?])44 b Ft(t)1198 5509 y Fn(PS)1321
5494 y Ft(\001)17 b(\001)g(\001)31 b(t)1537 5509 y Fn(PS)1661
5494 y Fb(init)1841 5509 y Fc(X)1908 5494 y Fu([)p Fs(y)1991
5509 y Fn(n)2035 5494 y Ft(7!)o Fb(d)p Fu(?])p eop
%%Page: 166 176
166 175 bop 251 130 a Fw(166)1937 b(5)112 b(Static)37
b(Program)f(Analysis)p 251 193 3473 4 v 283 515 a Fu(Since)d
Fs(h)595 530 y Fn(2)667 515 y Fu(is)f(additiv)m(e)g(w)m(e)i(ha)m(v)m(e)
527 715 y Fs(h)584 730 y Fn(2)657 715 y Fs(ps)40 b Fu(=)32
b Fs(h)952 730 y Fn(2)992 715 y Fu(\()p Fb(init)1210
730 y Fc(X)1278 715 y Fu([)p Fs(y)1361 730 y Fn(1)1400
715 y Ft(7!)p Fb(d)p Fu(?]\))43 b Ft(t)1783 730 y Fn(PS)1907
715 y Ft(\001)17 b(\001)g(\001)30 b(t)2122 730 y Fn(PS)2246
715 y Fs(h)2303 730 y Fn(2)2342 715 y Fu(\()p Fb(init)2560
730 y Fc(X)2628 715 y Fu([)p Fs(y)2711 730 y Fn(n)2755
715 y Ft(7!)o Fb(d)p Fu(?]\))283 915 y(W)-8 b(e)31 b(ha)m(v)m(e)h
(assumed)g(that)e(\()p Fs(h)1366 930 y Fn(2)1436 915
y Fs(ps)8 b Fu(\))31 b Fs(x)42 b Fu(=)31 b Fb(d)p Fu(?)f(and)h(no)m(w)g
(it)f(follo)m(ws)f(that)i(for)f(some)g(i)g(\(1)p Ft(\024)p
Fu(i)p Ft(\024)p Fu(n\))527 1115 y Fs(h)584 1130 y Fn(2)624
1115 y Fu(\()p Fb(init)842 1130 y Fc(X)910 1115 y Fu([)p
Fs(y)993 1130 y Fn(i)1016 1115 y Ft(7!)p Fb(d)p Fu(?]\))44
b Fs(x)g Fu(=)32 b Fb(d)p Fu(?)283 1314 y(Since)h Fb(init)718
1329 y Fc(X)786 1314 y Fu([)p Fs(y)869 1329 y Fn(i)893
1314 y Ft(7!)o Fb(d)p Fu(?])44 b Ft(v)1249 1329 y Fn(PS)1372
1314 y Fs(ps)d Fu(and)32 b Fs(h)1749 1329 y Fn(1)1822
1314 y Fu(is)g(monotone)g(\(Exercise)h(5.45\))f(w)m(e)i(get)f(that)527
1514 y Fs(h)584 1529 y Fn(1)657 1514 y Fu(\()p Fb(init)875
1529 y Fc(X)942 1514 y Fu([)p Fs(y)1025 1529 y Fn(i)1049
1514 y Ft(7!)p Fb(d)p Fu(?]\))43 b Ft(v)1443 1529 y Fn(PS)1567
1514 y Fs(h)1624 1529 y Fn(1)1696 1514 y Fs(ps)283 1714
y Fu(and)33 b(thereb)m(y)527 1913 y Fs(h)584 1928 y Fn(1)657
1913 y Fu(\()p Fb(init)875 1928 y Fc(X)942 1913 y Fu([)p
Fs(y)1025 1928 y Fn(i)1049 1913 y Ft(7!)p Fb(d)p Fu(?]\))43
b Fs(x)i Fu(=)32 b Fb(ok)283 2113 y Fu(So)h(the)g(lemma)d(follo)m(ws)i
(b)m(y)h(taking)f Fs(y)41 b Fu(to)33 b(b)s(e)f Fs(y)2054
2128 y Fn(i)2078 2113 y Fu(.)1576 b Fh(2)430 2316 y Fu(The)26
b(next)f(step)h(will)d(b)s(e)i(to)f(generalize)h(this)f(result)h(to)f
(sequences)29 b(of)24 b(strict)g(and)h(additiv)m(e)283
2437 y(functions.)p 283 2557 3473 5 v 283 2728 a Fw(Corollary)36
b(5.47)49 b Fu(Consider)33 b(a)g(sequence)527 2928 y
Fs(h)584 2943 y Fn(0)657 2928 y Ft(v)g Fs(h)824 2943
y Fn(1)896 2928 y Ft(v)g(\001)17 b(\001)g(\001)31 b(v)i
Fs(h)1322 2943 y Fn(n)283 3127 y Fu(of)g(strict)f(and)g(additiv)m(e)g
(functions)527 3327 y Fs(h)584 3342 y Fn(i)608 3327 y
Fu(:)44 b Fw(PState)1011 3342 y Fc(X)1110 3327 y Ft(!)32
b Fw(PState)1574 3342 y Fc(X)283 3527 y Fu(that)39 b(are)g(all)e
(distinct,)j(that)f(is)g Fs(h)1580 3542 y Fn(i)1643 3527
y Ft(6)p Fu(=)g Fs(h)1815 3542 y Fn(j)1880 3527 y Fu(if)e(i)i
Ft(6)p Fu(=)f(j.)63 b(Then)40 b(n)g Ft(\024)f Fu(\(m+1\))3030
3491 y Fn(2)3107 3527 y Fu(where)i(m)d(is)g(the)283 3647
y(cardinalit)m(y)31 b(of)h Fs(X)16 b Fu(.)p 283 3767
V 283 3967 a Fw(Pro)s(of:)32 b Fu(F)-8 b(or)26 b(eac)m(h)j(i)d
Ft(2)i(f)p Fu(0,1,)p Ft(\001)17 b(\001)g(\001)n Fu(,n)p
Ft(\000)p Fu(1)p Ft(g)28 b Fu(the)f(previous)h(lemma)e(applied)g(to)h
Fs(h)3115 3982 y Fn(i)3166 3967 y Fu(and)h Fs(h)3408
3982 y Fn(i+1)3549 3967 y Fu(giv)m(es)283 4088 y(that)33
b(there)g(are)g(\\v)-5 b(ariables")527 4287 y Fs(x)584
4302 y Fn(i)608 4287 y Fu(,)33 b Fs(y)724 4302 y Fn(i)780
4287 y Ft(2)g Fs(X)48 b Ft([)33 b(f)p Fu(on-trac)m(k)p
Ft(g)283 4487 y Fu(suc)m(h)h(that)527 4687 y Fs(h)584
4702 y Fn(i)608 4687 y Fu(\()p Fb(init)826 4702 y Fc(X)894
4687 y Fu([)p Fs(y)977 4702 y Fn(i)1001 4687 y Ft(7!)o
Fb(d)p Fu(?]\))44 b Fs(x)1374 4702 y Fn(i)1430 4687 y
Fu(=)33 b Fb(ok)527 4854 y Fs(h)584 4869 y Fn(i+1)699
4854 y Fu(\()p Fb(init)917 4869 y Fc(X)984 4854 y Fu([)p
Fs(y)1067 4869 y Fn(i)1091 4854 y Ft(7!)p Fb(d)p Fu(?]\))43
b Fs(x)1464 4869 y Fn(i)1520 4854 y Fu(=)33 b Fb(d)p
Fu(?)283 5054 y(First)38 b(assume)h(that)f(all)e(\()p
Fs(x)1323 5069 y Fn(i)1346 5054 y Fu(,)k Fs(y)1469 5069
y Fn(i)1493 5054 y Fu(\))e(are)g(distinct.)60 b(Since)39
b(the)f(cardinalit)m(y)f(of)g Fs(X)55 b Fu(is)38 b(m)f(there)283
5174 y(can)c(b)s(e)g(at)f(most)g(\(m+1\))1236 5138 y
Fn(2)1307 5174 y Fu(suc)m(h)i(pairs)e(and)h(w)m(e)g(ha)m(v)m(e)h(sho)m
(wn)g(n)f Ft(\024)g Fu(\(m+1\))3100 5138 y Fn(2)3138
5174 y Fu(.)430 5295 y(Next)e(assume)g(that)g(there)g(exists)h(i)d
Fo(<)i Fu(j)f(suc)m(h)i(that)f(\()p Fs(x)2473 5310 y
Fn(i)2496 5295 y Fu(,)g Fs(y)2610 5310 y Fn(i)2634 5295
y Fu(\))g(=)f(\()p Fs(x)2904 5310 y Fn(j)2930 5295 y
Fu(,)h Fs(y)3044 5310 y Fn(j)3069 5295 y Fu(\).)43 b(W)-8
b(e)31 b(then)h(ha)m(v)m(e)527 5494 y Fs(h)584 5509 y
Fn(i+1)699 5494 y Fu(\()p Fb(init)917 5509 y Fc(X)984
5494 y Fu([)p Fs(y)1067 5509 y Fn(i)1091 5494 y Ft(7!)p
Fb(d)p Fu(?]\))43 b Fs(x)1464 5509 y Fn(i)1520 5494 y
Fu(=)33 b Fb(d)p Fu(?)p eop
%%Page: 167 177
167 176 bop 0 130 a Fw(5.4)112 b(Bounded)39 b(iteration)2154
b(167)p 0 193 3473 4 v 0 515 a Fu(and)244 719 y Fs(h)301
734 y Fn(j)327 719 y Fu(\()p Fb(init)545 734 y Fc(X)612
719 y Fu([)p Fs(y)695 734 y Fn(i)719 719 y Ft(7!)p Fb(d)p
Fu(?]\))44 b Fs(x)1093 734 y Fn(i)1149 719 y Fu(=)32
b Fb(ok)0 922 y Fu(Since)h(i+1)e Ft(\024)i Fu(j)f(w)m(e)i(ha)m(v)m(e)g
Fs(h)1037 937 y Fn(i+1)1184 922 y Ft(v)f Fs(h)1351 937
y Fn(j)1409 922 y Fu(and)g(therefore)244 1125 y Fs(h)301
1140 y Fn(i+1)448 1125 y Fu(\()p Fb(init)666 1140 y Fc(X)733
1125 y Fu([)p Fs(y)816 1140 y Fn(i)840 1125 y Ft(7!)p
Fb(d)p Fu(?]\))43 b Fs(x)1213 1140 y Fn(i)1269 1125 y
Ft(v)1347 1140 y Fn(P)1432 1125 y Fs(h)1489 1140 y Fn(j)1547
1125 y Fu(\()p Fb(init)1765 1140 y Fc(X)1833 1125 y Fu([)p
Fs(y)1916 1140 y Fn(i)1939 1125 y Ft(7!)p Fb(d)p Fu(?]\))h
Fs(x)2313 1140 y Fn(i)0 1328 y Fu(This)31 b(is)f(a)g(con)m(tradiction)f
(as)i(it)e(is)h Fs(not)40 b Fu(the)31 b(case)h(that)e
Fb(d)p Fu(?)h Ft(v)2269 1343 y Fn(P)2352 1328 y Fb(ok)p
Fu(.)43 b(Th)m(us)32 b(it)e(cannot)g(b)s(e)h(the)0 1449
y(case)41 b(that)e(some)h(of)f(the)i(pairs)e(\()p Fs(x)1319
1464 y Fn(i)1342 1449 y Fu(,)j Fs(y)1467 1464 y Fn(i)1491
1449 y Fu(\))e(obtained)f(from)g(Lemma)f(5.46)h(coincide)g(and)h(w)m(e)
0 1569 y(ha)m(v)m(e)34 b(pro)m(v)m(ed)g(the)f(corollary)-8
b(.)2296 b Fh(2)146 1772 y Fu(W)-8 b(e)33 b(shall)e(no)m(w)j(turn)e(to)
m(w)m(ards)i(the)f(pro)s(of)f(of)g(the)h(main)e(result:)0
1940 y Fw(Pro)s(of)i(of)h(Prop)s(osition)d(5.40)p Fu(.)46
b(Consider)34 b(the)g(construct)h Fr(while)f Fs(b)39
b Fr(do)34 b Fs(S)46 b Fu(and)33 b(let)g Fs(H)49 b Fu(b)s(e)0
2060 y(giv)m(en)33 b(b)m(y)244 2264 y Fs(H)48 b(h)40
b Fu(=)33 b(cond)763 2279 y Fn(P)815 2264 y Fu(\()p Ft(P)8
b(B)999 2279 y Fc(X)1067 2264 y Fu([)-17 b([)p Fs(b)6
b Fu(])-17 b(])q(,)32 b Fs(h)40 b Ft(\016)32 b(P)8 b(S)1570
2279 y Fc(X)1637 2264 y Fu([)-17 b([)q Fs(S)12 b Fu(])-17
b(],)33 b(id\))0 2467 y(W)-8 b(e)33 b(shall)e(then)i(pro)m(v)m(e)h
(that)244 2670 y Ft(P)8 b(S)389 2685 y Fc(X)457 2670
y Fu([)-17 b([)p Fr(while)34 b Fs(b)k Fr(do)33 b Fs(S)12
b Fu(])-17 b(])33 b(=)g Fs(H)1335 2634 y Fn(k)1409 2670
y Ft(?)0 2873 y Fu(where)e(k)e(=)h(\(m+1\))748 2837 y
Fn(2)815 2873 y Fu(and)g(m)e(is)h(the)h(cardinalit)m(y)e(of)g
Fs(X)46 b Fu(=)29 b(FV\()p Fr(while)i Fs(b)k Fr(do)30
b Fs(S)12 b Fu(\).)29 b(T)-8 b(o)29 b(do)h(that)0 2994
y(consider)j(the)g(sequence)244 3197 y Fs(H)332 3161
y Fn(0)404 3197 y Ft(?)g(v)g Fs(H)712 3161 y Fn(1)784
3197 y Ft(?)g(v)g(\001)17 b(\001)g(\001)31 b(v)i Fs(H)1351
3161 y Fn(k)1425 3197 y Ft(?)g(v)g Fs(H)1733 3161 y Fn(k+1)1897
3197 y Ft(?)0 3400 y Fu(It)38 b(follo)m(ws)e(from)g(Lemma)h(5.44)g
(that)g(eac)m(h)h Fs(H)1764 3364 y Fn(i)1826 3400 y Ft(?)g
Fu(is)f(a)g(strict)h(and)f(additiv)m(e)g(function.)58
b(It)0 3520 y(no)m(w)30 b(follo)m(ws)d(from)h(Corollary)f(5.47)h(that)h
(not)g(all)e Fs(H)1970 3484 y Fn(i)2023 3520 y Ft(?)p
Fu(,)j(for)e(i)g Ft(\024)h Fu(k+1,)h(are)f(distinct.)42
b(If)29 b(i)p Fo(<)p Fu(j)0 3641 y(satis\014es)244 3844
y Fs(H)332 3808 y Fn(i)388 3844 y Ft(?)k Fu(=)g Fs(H)695
3808 y Fn(j)753 3844 y Ft(?)0 4047 y Fu(then)g(w)m(e)h(also)d(ha)m(v)m
(e)244 4250 y Fs(H)332 4214 y Fn(i)388 4250 y Ft(?)i
Fu(=)g Fs(H)695 4214 y Fn(n)771 4250 y Ft(?)g Fu(for)f(n)p
Ft(\025)p Fu(i)0 4453 y(and)h(in)e(particular)244 4657
y Fs(H)332 4621 y Fn(k)406 4657 y Ft(?)i Fu(=)f Fs(H)712
4621 y Fn(k+1)876 4657 y Ft(?)0 4860 y Fu(Hence)i(FIX)e
Fs(H)49 b Fu(=)32 b Fs(H)811 4824 y Fn(k)885 4860 y Ft(?)h
Fu(as)g(desired)g(b)s(ecause)h(of)e(Exercise)i(5.18.)895
b Fh(2)0 5171 y Fw(Exercise)36 b(5.48)49 b Fu(*)33 b(Sho)m(w)h(that)e
(the)h(b)s(ound)g(exhibited)g(in)f(Corollary)f(5.47)h(is)h(tigh)m(t.)43
b(That)0 5291 y(is)32 b(describ)s(e)h(ho)m(w)h(to)e(construct)h(a)g
(sequence)244 5494 y Fs(h)301 5509 y Fn(0)373 5494 y
Ft(v)g Fs(h)540 5509 y Fn(1)612 5494 y Ft(v)g(\001)17
b(\001)g(\001)31 b(v)i Fs(h)1038 5509 y Fn(n)p eop
%%Page: 168 178
168 177 bop 251 130 a Fw(168)1937 b(5)112 b(Static)37
b(Program)f(Analysis)p 251 193 3473 4 v 283 515 a Fu(of)31
b(strict)g(and)g(additiv)m(e)g(functions)g Fs(h)1684
530 y Fn(i)1708 515 y Fu(:)42 b Fw(PState)2109 530 y
Fc(X)2207 515 y Ft(!)31 b Fw(PState)2670 530 y Fc(X)2768
515 y Fu(suc)m(h)i(that)d(all)f Fs(h)3387 530 y Fn(i)3443
515 y Fu(are)i(dis-)283 636 y(tinct)e(and)g(n)f(=)h(\(m+1\))1169
600 y Fn(2)1236 636 y Fu(where)h(m)e(is)g(the)h(cardinalit)m(y)e(of)h
Fs(X)16 b Fu(.)29 b(Hin)m(t:)42 b(Begin)28 b(b)m(y)h(considering)283
756 y(m)j(=)h(0,)f(m)g(=)g(1,)h(m)e(=)i(2)f(and)h(then)g(try)g(to)f
(generalize.)1297 b Fh(2)430 948 y Fu(T)-8 b(o)31 b(summarize,)g(the)h
(quadratic)f(upp)s(er)h(b)s(ound)g(on)g(the)g(required)g(n)m(um)m(b)s
(er)g(of)f(iterands)283 1068 y(is)i(obtained)f(as)g(follo)m(ws:)p
283 1198 3470 4 v 283 1215 V 281 1422 4 208 v 298 1422
V 1371 1343 a Fw(Pro)s(of)g(Summary)h(for)f(While)p Fu(:)p
3735 1422 V 3752 1422 V 281 1630 V 298 1630 V 617 1551
a Fw(Bounding)h(the)f(Num)m(b)s(er)g(of)h(Iterations)e(in)h(the)h
(Static)e(Analysis)p 3735 1630 V 3752 1630 V 283 1633
3470 4 v 281 2003 4 370 v 298 2003 V 350 1799 a Fu(1:)143
b(The)48 b(analysis)f(is)g(mo)s(di\014ed)f(to)h(use)h(the)g(set)g
Fw(PState)2691 1814 y Fc(X)2805 1799 y Fu(rather)g(than)f
Fw(PState)569 1919 y Fu(\(Exercise)34 b(5.37\).)p 3735
2003 V 3752 2003 V 281 2291 4 289 v 298 2291 V 350 2087
a(2:)143 b(A)28 b(pro)s(of)g(b)m(y)h Fs(structur)-5 b(al)32
b(induction)j Fu(on)28 b(the)h(statemen)m(ts)h(sho)m(ws)g(that)e(the)g
(analysis)569 2207 y(functions)k Ft(P)8 b(S)1135 2222
y Fc(X)1202 2207 y Fu([)-17 b([)q Fs(S)12 b Fu(])-17
b(])32 b(are)h(strict)f(and)h(additiv)m(e)f(\(Lemma)f(5.44\).)p
3735 2291 V 3752 2291 V 281 2699 4 409 v 298 2699 V 350
2375 a(3:)143 b(Sequences)41 b(of)c(strict)h(and)g(additiv)m(e)f
(functions)h(in)f Fw(PState)2861 2390 y Fc(X)2966 2375
y Ft(!)h Fw(PState)3436 2390 y Fc(X)3541 2375 y Fu(can)569
2495 y(ha)m(v)m(e)h(length)f(at)f(most)h(\(m+1\))1755
2459 y Fn(2)1831 2495 y Fu(where)h(m)f(is)f(the)i(cardinalit)m(y)d(of)h
Fs(X)55 b Fu(\(Corollary)569 2616 y(5.47\).)p 3735 2699
V 3752 2699 V 283 2702 3470 4 v 283 2719 V 283 2914 a(Using)29
b(the)h(result)f(of)g(Prop)s(osition)f(5.40)h(w)m(e)h(get)f(that)g(at)g
(most)g(9)g(iterations)f(are)h(needed)i(to)283 3035 y(compute)26
b(the)g(\014xed)h(p)s(oin)m(t)d(presen)m(t)j(in)e(the)h(analysis)f(of)g
(the)h(factorial)d(statemen)m(t.)41 b(Since)26 b(w)m(e)283
3155 y(kno)m(w)31 b(that)e(already)g(the)h(\014rst)f(iterand)g(will)e
(equal)i(the)h(\014xed)g(p)s(oin)m(t)f(one)g(ma)m(y)h(ask)f(whether)283
3276 y(one)36 b(can)g(obtain)e(an)h(ev)m(en)i(b)s(etter)f(b)s(ound)f
(on)h(the)f(n)m(um)m(b)s(er)h(of)f(iterations.)50 b(The)37
b(follo)m(wing)283 3396 y(exercise)e(sho)m(ws)f(that)f(the)h(quadratic)
e(upp)s(er)i(b)s(ound)f(can)g(b)s(e)g(replaced)g(b)m(y)h(a)f(linear)e
(upp)s(er)283 3516 y(b)s(ound:)283 3708 y Fw(Exercise)37
b(5.49)49 b Fu(**)31 b(Sho)m(w)h(that)f(for)f(eac)m(h)j(statemen)m(t)e
Fr(while)i Fs(b)k Fr(do)32 b Fs(S)43 b Fu(of)31 b Fw(While)e
Fu(w)m(e)k(ha)m(v)m(e)527 3884 y Ft(P)8 b(S)673 3899
y Fc(X)740 3884 y Fu([)-17 b([)q Fr(while)33 b Fs(b)39
b Fr(do)33 b Fs(S)12 b Fu(])-17 b(])33 b(=)f Fs(H)1618
3848 y Fn(k)1692 3884 y Ft(?)283 4060 y Fu(where)i Fs(H)49
b(h)39 b Fu(=)33 b(cond)1084 4075 y Fn(P)1136 4060 y
Fu(\()p Ft(P)8 b(B)1320 4075 y Fc(X)1388 4060 y Fu([)-17
b([)p Fs(b)6 b Fu(])-17 b(])q(,)32 b Fs(h)7 b Ft(\016)q(P)h(S)1826
4075 y Fc(X)1893 4060 y Fu([)-17 b([)q Fs(S)12 b Fu(])-17
b(],)33 b(id\),)f(k)g(=)h(m+1,)e(and)i(m)f(is)g(the)h(cardinalit)m(y)
283 4181 y(of)g(the)g(set)g Fs(X)49 b Fu(=)32 b(FV\()p
Fr(while)i Fs(b)k Fr(do)33 b Fs(S)12 b Fu(\).)1923 b
Fh(2)430 4373 y Fu(F)-8 b(or)38 b(the)i(factorial)d(statemen)m(t)i
(this)g(result)g(will)e(giv)m(e)j(that)f(at)f(most)h(3)g(iterations)f
(are)283 4493 y(needed)f(to)d(determine)h(the)g(\014xed)h(p)s(oin)m(t.)
49 b(The)36 b(next)g(exercise)g(sho)m(ws)g(that)f(this)f(is)h(almost)
283 4613 y(the)e(b)s(est)h(upp)s(er)f(b)s(ound)g(w)m(e)g(can)g(hop)s(e)
g(for:)283 4805 y Fw(Exercise)k(5.50)49 b Fu(*)31 b(Sho)m(w)i(that)f
(for)f(eac)m(h)i(m)f Ft(\025)g Fu(1)g(there)g(is)g(a)g(statemen)m(t)g
Fr(while)h Fs(b)38 b Fr(do)33 b Fs(S)43 b Fu(of)283 4926
y Fw(While)31 b Fu(suc)m(h)j(that)527 5102 y Ft(P)8 b(S)673
5117 y Fc(X)740 5102 y Fu([)-17 b([)q Fr(while)33 b Fs(b)39
b Fr(do)33 b Fs(S)12 b Fu(])-17 b(])33 b Ft(6)p Fu(=)f
Fs(H)1618 5066 y Fn(k)1692 5102 y Ft(?)283 5278 y Fu(where)i
Fs(H)49 b(h)39 b Fu(=)32 b(cond)1083 5293 y Fn(P)1136
5278 y Fu(\()p Ft(P)8 b(B)1320 5293 y Fc(X)1387 5278
y Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(],)33 b Fs(h)7 b
Ft(\016P)h(S)1825 5293 y Fc(X)1893 5278 y Fu([)-17 b([)p
Fs(S)12 b Fu(])-17 b(])q(,)32 b(id\),)g(k)h(=)f(m)p Ft(\000)p
Fu(1,)g(and)g(m)g(is)g(the)h(cardinalit)m(y)283 5398
y(of)g(the)g(set)g Fs(X)49 b Fu(=)32 b(FV\()p Fr(while)i
Fs(b)k Fr(do)33 b Fs(S)12 b Fu(\).)1923 b Fh(2)p eop
%%Page: 169 179
169 178 bop 0 1180 a Fv(Chapter)78 b(6)0 1595 y(Axiomatic)e(Program)h
(V)-19 b(eri\014cation)0 2047 y Fu(The)39 b(kinds)g(of)f(seman)m(tics)h
(w)m(e)g(ha)m(v)m(e)h(seen)g(so)e(far)g(sp)s(ecify)h(the)g(meaning)e
(of)h(programs)f(al-)0 2168 y(though)26 b(they)g(ma)m(y)g(also)f(b)s(e)
h(used)g(to)g(pro)m(v)m(e)h(that)e(giv)m(en)h(programs)f(p)s(ossess)j
(certain)d(prop)s(er-)0 2288 y(ties.)43 b(W)-8 b(e)33
b(ma)m(y)e(distinguish)g(b)s(et)m(w)m(een)j(sev)m(eral)f(classes)g(of)f
(prop)s(erties:)43 b Fs(p)-5 b(artial)34 b(c)-5 b(orr)g(e)g(ctness)0
2408 y(pr)g(op)g(erties)36 b Fu(are)29 b(prop)s(erties)f(expressing)i
(that)e Fs(if)49 b Fu(a)28 b(giv)m(en)h(program)e(terminates)h
Fs(then)36 b Fu(there)0 2529 y(will)e(b)s(e)j(a)f(certain)g
(relationship)f(b)s(et)m(w)m(een)j(the)f(initial)c(and)j(the)h(\014nal)
f(v)-5 b(alues)36 b(of)g(the)h(v)-5 b(ari-)0 2649 y(ables.)59
b(Th)m(us)40 b(a)d(partial)f(correctness)k(prop)s(ert)m(y)f(of)e(a)h
(program)e(need)j Fs(not)47 b Fu(ensure)40 b(that)d(it)0
2769 y(terminates.)42 b(This)31 b(is)f(con)m(trary)h(to)f
Fs(total)j(c)-5 b(orr)g(e)g(ctness)33 b(pr)-5 b(op)g(erties)38
b Fu(whic)m(h)31 b(express)i(that)d(the)0 2890 y(program)j
Fs(wil)5 b(l)44 b Fu(terminate)33 b Fs(and)44 b Fu(that)34
b(there)h(will)d(b)s(e)i(a)g(certain)g(relationship)f(b)s(et)m(w)m(een)
j(the)0 3010 y(initial)29 b(and)j(the)h(\014nal)f(v)-5
b(alues)33 b(of)f(the)h(v)-5 b(ariables.)42 b(Th)m(us)34
b(w)m(e)g(ha)m(v)m(e)244 3196 y(partial)c(correctness)35
b(+)d(termination)e(=)j(total)e(correctness)0 3382 y(Y)-8
b(et)24 b(another)f(class)g(of)g(prop)s(erties)g(is)g(concerned)i(with)
e(the)h Fs(r)-5 b(esour)g(c)g(es)31 b Fu(used)24 b(when)h(executing)0
3502 y(the)30 b(program.)41 b(An)30 b(example)e(is)h(the)h
Fs(time)37 b Fu(used)30 b(to)f(execute)j(the)e(program)e(on)h(a)g
(particular)0 3622 y(mac)m(hine.)0 3952 y Fj(6.1)161
b(Direct)53 b(pro)t(ofs)g(of)h(program)f(correctness)0
4171 y Fu(In)30 b(this)f(section)g(w)m(e)i(shall)d(giv)m(e)h(some)g
(examples)h(that)f(pro)m(v)m(e)i(partial)c(correctness)k(of)e(state-)0
4291 y(men)m(ts)45 b(based)h(directly)e(on)h(the)h(op)s(erational)c
(and)j(denotational)e(seman)m(tics.)81 b(W)-8 b(e)45
b(shall)0 4412 y(pro)m(v)m(e)34 b(that)e(the)h(factorial)d(statemen)m
(t)244 4598 y Fr(y)j Fu(:=)f Fr(1)p Fu(;)h Fr(while)h
Ft(:)p Fu(\()p Fr(x)p Fu(=)p Fr(1)p Fu(\))f Fr(do)g Fu(\()p
Fr(y)g Fu(:=)f Fr(y)p Fo(?)p Fr(x)p Fu(;)h Fr(x)g Fu(:=)g
Fr(x)p Ft(\000)p Fr(1)p Fu(\))0 4783 y(is)38 b(partially)d(correct,)41
b(that)d(is)g Fs(if)59 b Fu(the)39 b(statemen)m(t)f(terminates)g
Fs(then)45 b Fu(the)39 b(\014nal)f(v)-5 b(alue)37 b(of)h
Fr(y)0 4904 y Fu(will)30 b(b)s(e)j(the)g(factorial)d(of)i(the)h
(initial)c(v)-5 b(alue)32 b(of)g Fr(x)p Fu(.)0 5189 y
Fp(Natural)46 b(seman)l(tics)0 5374 y Fu(Using)35 b Fs(natur)-5
b(al)38 b(semantics)k Fu(the)36 b(partial)d(correctness)38
b(of)d(the)h(factorial)d(statemen)m(t)i(can)h(b)s(e)0
5494 y(formalized)30 b(as)j(follo)m(ws:)1663 5849 y(169)p
eop
%%Page: 170 180
170 179 bop 251 130 a Fw(170)1567 b(6)112 b(Axiomatic)35
b(Program)h(V)-9 b(eri\014cation)p 251 193 3473 4 v 527
515 a Fu(F)h(or)32 b(all)f(states)i Fs(s)41 b Fu(and)32
b Fs(s)1433 479 y Fi(0)1457 515 y Fu(,)g(if)742 717 y
Ft(h)p Fr(y)g Fu(:=)h Fr(1)p Fu(;)g Fr(while)h Ft(:)p
Fu(\()p Fr(x)p Fu(=)p Fr(1)p Fu(\))f Fr(do)g Fu(\()p
Fr(y)g Fu(:=)f Fr(y)p Fo(?)p Fr(x)p Fu(;)h Fr(x)g Fu(:=)f
Fr(x)p Ft(\000)p Fr(1)p Fu(\),)i Fs(s)8 b Ft(i)32 b(!)g
Fs(s)3152 681 y Fi(0)527 918 y Fu(then)i Fs(s)798 882
y Fi(0)853 918 y Fr(y)f Fu(=)g(\()p Fs(s)40 b Fr(x)p
Fu(\)!)k(and)32 b Fs(s)41 b Fr(x)33 b Fo(>)f Fw(0)283
1116 y Fu(This)j(is)f(indeed)h(a)f(partial)e(correctness)k(prop)s(ert)m
(y)g(b)s(ecause)f(the)g(statemen)m(t)g(do)s(es)g(not)f(ter-)283
1236 y(minate)e(if)f(the)i(initial)c(v)-5 b(alue)32 b
Fs(s)40 b Fr(x)33 b Fu(of)f Fr(x)h Fu(is)f(non-p)s(ositiv)m(e.)430
1357 y(The)h(pro)s(of)f(pro)s(ceeds)i(in)e(three)h(stages:)283
1554 y Fw(Stage)38 b(1:)49 b Fu(W)-8 b(e)33 b(pro)m(v)m(e)h(that)e(the)
h(b)s(o)s(dy)g(of)f(the)h Fr(while)h Fu(lo)s(op)d(satis\014es:)569
1713 y(if)g Ft(h)p Fr(y)i Fu(:=)f Fr(y)p Fo(?)p Fr(x)p
Fu(;)h Fr(x)g Fu(:=)f Fr(x)p Ft(\000)p Fr(1)p Fu(,)i
Fs(s)8 b Ft(i)32 b(!)h Fs(s)1886 1677 y Fi(00)1961 1713
y Fu(and)f Fs(s)2198 1677 y Fi(00)2273 1713 y Fr(x)h
Fo(>)g Fw(0)569 1881 y Fu(then)g(\()p Fs(s)41 b Fr(y)p
Fu(\))32 b Fo(?)h Fu(\()p Fs(s)40 b Fr(x)p Fu(\)!)k(=)32
b(\()p Fs(s)1585 1845 y Fi(00)1660 1881 y Fr(y)p Fu(\))h
Fo(?)f Fu(\()p Fs(s)1949 1845 y Fi(00)2024 1881 y Fr(x)p
Fu(\)!)44 b(and)32 b Fs(s)41 b Fr(x)33 b Fo(>)f Fw(0)3631
1798 y Fu(\(*\))283 2076 y Fw(Stage)38 b(2:)49 b Fu(W)-8
b(e)33 b(pro)m(v)m(e)h(that)e(the)h Fr(while)h Fu(lo)s(op)d
(satis\014es:)569 2235 y(if)g Ft(h)p Fr(while)j Ft(:)p
Fu(\()p Fr(x)p Fu(=)p Fr(1)p Fu(\))f Fr(do)g Fu(\()p
Fr(y)g Fu(:=)f Fr(y)p Fo(?)p Fr(x)p Fu(;)h Fr(x)g Fu(:=)g
Fr(x)p Ft(\000)p Fr(1)p Fu(\),)g Fs(s)8 b Ft(i)32 b(!)h
Fs(s)2739 2199 y Fi(00)569 2402 y Fu(then)g(\()p Fs(s)41
b Fr(y)p Fu(\))32 b Fo(?)h Fu(\()p Fs(s)40 b Fr(x)p Fu(\)!)k(=)32
b Fs(s)1547 2366 y Fi(00)1622 2402 y Fr(y)h Fu(and)g
Fs(s)1944 2366 y Fi(00)2019 2402 y Fr(x)f Fu(=)h Fw(1)f
Fu(and)h Fs(s)41 b Fr(x)32 b Fo(>)h Fw(0)3582 2319 y
Fu(\(**\))283 2597 y Fw(Stage)38 b(3:)49 b Fu(W)-8 b(e)33
b(pro)m(v)m(e)h(the)f(partial)d(correctness)35 b(prop)s(ert)m(y)e(for)f
(the)h(complete)f(program:)569 2756 y(if)f Ft(h)p Fr(y)i
Fu(:=)f Fr(1)p Fu(;)h Fr(while)h Ft(:)p Fu(\()p Fr(x)p
Fu(=)p Fr(1)p Fu(\))f Fr(do)g Fu(\()p Fr(y)g Fu(:=)f
Fr(y)p Fo(?)q Fr(x)p Fu(;)g Fr(x)h Fu(:=)g Fr(x)p Ft(\000)p
Fr(1)p Fu(\),)g Fs(s)8 b Ft(i)33 b(!)f Fs(s)3069 2720
y Fi(0)569 2924 y Fu(then)h Fs(s)839 2888 y Fi(0)895
2924 y Fr(y)g Fu(=)f(\()p Fs(s)41 b Fr(x)p Fu(\)!)i(and)33
b Fs(s)41 b Fr(x)32 b Fo(>)h Fw(0)3534 2841 y Fu(\(***\))283
3115 y(In)i(eac)m(h)f(of)g(the)g(three)h(stages)f(the)g(deriv)-5
b(ation)33 b(tree)h(of)f(the)i(giv)m(en)e(transition)g(is)g(insp)s
(ected)283 3235 y(in)f(order)h(to)f(pro)m(v)m(e)i(the)f(prop)s(ert)m(y)
-8 b(.)430 3355 y(In)33 b(the)g Fs(\014rst)i(stage)k
Fu(w)m(e)34 b(consider)f(the)g(transition)527 3553 y
Ft(h)p Fr(y)g Fu(:=)f Fr(y)p Fo(?)p Fr(x)p Fu(;)h Fr(x)g
Fu(:=)g Fr(x)p Ft(\000)p Fr(1)p Fu(,)g Fs(s)8 b Ft(i)33
b(!)f Fs(s)1755 3517 y Fi(00)283 3751 y Fu(According)h(to)f([comp)1121
3766 y Fn(ns)1192 3751 y Fu(])h(there)g(will)d(b)s(e)j(transitions)527
3948 y Ft(h)p Fr(y)g Fu(:=)f Fr(y)p Fo(?)p Fr(x)p Fu(,)h
Fs(s)8 b Ft(i)33 b(!)f Fs(s)1296 3912 y Fi(0)1352 3948
y Fu(and)g Ft(h)p Fr(x)h Fu(:=)f Fr(x)p Ft(\000)p Fr(1)p
Fu(,)i Fs(s)2087 3912 y Fi(0)2110 3948 y Ft(i)f(!)f Fs(s)2362
3912 y Fi(00)283 4146 y Fu(for)f(some)g Fs(s)722 4109
y Fi(0)745 4146 y Fu(.)43 b(F)-8 b(rom)30 b(the)i(axiom)d([ass)1677
4161 y Fn(ns)1749 4146 y Fu(])i(w)m(e)h(then)g(get)f(that)g
Fs(s)2589 4109 y Fi(0)2644 4146 y Fu(=)f Fs(s)8 b Fu([)p
Fr(y)p Ft(7!)q(A)o Fu([)-17 b([)q Fr(y)p Fo(?)p Fr(x)p
Fu(])g(])q Fs(s)8 b Fu(])31 b(and)g(that)283 4266 y Fs(s)331
4230 y Fi(00)406 4266 y Fu(=)i Fs(s)563 4230 y Fi(0)586
4266 y Fu([)p Fr(x)p Ft(7!A)p Fu([)-17 b([)p Fr(x)p Ft(\000)p
Fr(1)p Fu(])g(])r Fs(s)1147 4230 y Fi(0)1170 4266 y Fu(].)44
b(Com)m(bining)31 b(these)j(results)f(w)m(e)g(ha)m(v)m(e)527
4464 y Fs(s)575 4427 y Fi(00)650 4464 y Fu(=)g Fs(s)8
b Fu([)p Fr(y)p Ft(7!)p Fu(\()p Fs(s)40 b Fr(y)p Fu(\))p
Fo(?)p Fu(\()p Fs(s)h Fr(x)p Fu(\)][)p Fr(x)p Ft(7!)p
Fu(\()p Fs(s)g Fr(x)p Fu(\))p Ft(\000)p Fr(1)p Fu(])283
4661 y(Assuming)33 b(that)f Fs(s)991 4625 y Fi(00)1066
4661 y Fr(x)h Fo(>)f Fw(0)h Fu(w)m(e)g(can)g(then)g(calculate)527
4859 y(\()p Fs(s)613 4822 y Fi(00)688 4859 y Fr(y)p Fu(\))g
Fo(?)f Fu(\()p Fs(s)977 4822 y Fi(00)1052 4859 y Fr(x)p
Fu(\)!)44 b(=)32 b(\(\()p Fs(s)41 b Fr(y)p Fu(\))33 b
Fo(?)f Fu(\()p Fs(s)40 b Fr(x)p Fu(\)\))33 b Fo(?)f Fu(\(\()p
Fs(s)41 b Fr(x)p Fu(\))p Ft(\000)p Fr(1)p Fu(\)!)j(=)33
b(\()p Fs(s)40 b Fr(y)p Fu(\))33 b Fo(?)f Fu(\()p Fs(s)41
b Fr(x)p Fu(\)!)283 5056 y(and)33 b(since)g Fs(s)41 b
Fr(x)33 b Fu(=)f(\()p Fs(s)1071 5020 y Fi(00)1146 5056
y Fr(x)p Fu(\))h(+)f Fw(1)h Fu(this)f(sho)m(ws)i(that)e(\(*\))g(do)s
(es)i(indeed)e(hold.)430 5177 y(In)27 b(the)h Fs(se)-5
b(c)g(ond)29 b(stage)34 b Fu(w)m(e)28 b(pro)s(ceed)g(b)m(y)h(induction)
d(on)h(the)h(shap)s(e)f(of)g(the)h(deriv)-5 b(ation)25
b(tree)283 5297 y(for)527 5494 y Ft(h)p Fr(while)34 b
Ft(:)p Fu(\()p Fr(x)p Fu(=)p Fr(1)p Fu(\))f Fr(do)g Fu(\()p
Fr(y)g Fu(:=)f Fr(y)p Fo(?)p Fr(x)p Fu(;)h Fr(x)g Fu(:=)g
Fr(x)p Ft(\000)p Fr(1)p Fu(\),)g Fs(s)8 b Ft(i)32 b(!)h
Fs(s)2608 5458 y Fi(0)p eop
%%Page: 171 181
171 180 bop 0 130 a Fw(6.1)112 b(Direct)36 b(pro)s(ofs)i(of)g(program)f
(correctness)1242 b(171)p 0 193 3473 4 v 0 515 a Fu(One)40
b(of)f(t)m(w)m(o)h(axioms)f(and)g(rules)h(could)f(ha)m(v)m(e)i(b)s(een)
f(used)h(to)e(construct)i(this)e(deriv)-5 b(ation.)0
636 y(If)43 b([while)358 600 y Fn(\013)358 660 y(ns)428
636 y Fu(])g(has)g(b)s(een)h(used)g(then)f Fs(s)1436
600 y Fi(0)1502 636 y Fu(=)g Fs(s)51 b Fu(and)43 b Ft(B)s
Fu([)-17 b([)q Ft(:)p Fu(\()p Fr(x)p Fu(=)p Fr(1)p Fu(\)])g(])q
Fs(s)51 b Fu(=)42 b Fw(\013)p Fu(.)75 b(This)43 b(means)g(that)0
756 y Fs(s)48 720 y Fi(0)104 756 y Fr(x)33 b Fu(=)f Fw(1)j
Fu(and)g(since)g Fw(1)p Fu(!)51 b(=)35 b Fw(1)g Fu(w)m(e)h(get)f(the)g
(required)g(\()p Fs(s)43 b Fr(y)p Fu(\))35 b Fo(?)g Fu(\()p
Fs(s)43 b Fr(x)p Fu(\)!)51 b(=)34 b Fs(s)43 b Fr(y)35
b Fu(and)g Fs(s)43 b Fr(x)36 b Fo(>)e Fw(0)p Fu(.)0 877
y(This)f(pro)m(v)m(es)h(\(**\).)146 997 y(Next)k(assume)g(that)f
([while)1197 961 y Fn(tt)1197 1022 y(ns)1268 997 y Fu(])g(is)g(used)h
(to)f(construct)h(the)g(deriv)-5 b(ation.)56 b(Then)38
b(it)e(m)m(ust)0 1117 y(b)s(e)d(the)g(case)g(that)g Ft(B)s
Fu([)-17 b([)q Ft(:)p Fu(\()p Fr(x)p Fu(=)p Fr(1)p Fu(\)])g(])q
Fs(s)41 b Fu(=)32 b Fw(tt)g Fu(and)244 1321 y Ft(h)p
Fr(y)g Fu(:=)h Fr(y)p Fo(?)p Fr(x)p Fu(;)g Fr(x)g Fu(:=)f
Fr(x)p Ft(\000)p Fr(1)p Fu(,)i Fs(s)8 b Ft(i)32 b(!)g
Fs(s)1471 1285 y Fi(00)0 1525 y Fu(and)244 1728 y Ft(h)p
Fr(while)h Ft(:)q Fu(\()p Fr(x)p Fu(=)p Fr(1)p Fu(\))g
Fr(do)g Fu(\()p Fr(y)f Fu(:=)h Fr(y)p Fo(?)p Fr(x)p Fu(;)g
Fr(x)g Fu(:=)f Fr(x)p Ft(\000)p Fr(1)p Fu(\),)i Fs(s)2073
1692 y Fi(00)2115 1728 y Ft(i)e(!)h Fs(s)2367 1692 y
Fi(0)0 1932 y Fu(for)f(some)h(state)h Fs(s)682 1896 y
Fi(00)724 1932 y Fu(.)45 b(The)34 b(induction)e(h)m(yp)s(othesis)i
(applied)e(to)g(the)i(latter)e(deriv)-5 b(ation)31 b(giv)m(es)0
2053 y(that)244 2256 y(\()p Fs(s)330 2220 y Fi(00)405
2256 y Fr(y)p Fu(\))i Fo(?)f Fu(\()p Fs(s)694 2220 y
Fi(00)769 2256 y Fr(x)p Fu(\)!)43 b(=)33 b Fs(s)1085
2220 y Fi(0)1141 2256 y Fr(y)g Fu(and)f Fs(s)1462 2220
y Fi(0)1518 2256 y Fr(x)h Fu(=)f Fw(1)h Fu(and)g Fs(s)2037
2220 y Fi(00)2112 2256 y Fr(x)f Fo(>)h Fw(0)0 2460 y
Fu(F)-8 b(rom)31 b(\(*\))h(w)m(e)i(get)e(that)244 2664
y(\()p Fs(s)40 b Fr(y)p Fu(\))33 b Fo(?)f Fu(\()p Fs(s)41
b Fr(x)p Fu(\)!)j(=)32 b(\()p Fs(s)1038 2628 y Fi(00)1113
2664 y Fr(y)p Fu(\))h Fo(?)f Fu(\()p Fs(s)1402 2628 y
Fi(00)1477 2664 y Fr(x)p Fu(\)!)44 b(and)32 b Fs(s)41
b Fr(x)33 b Fo(>)f Fw(0)0 2867 y Fu(Putting)g(these)i(results)f
(together)g(w)m(e)g(get)244 3071 y(\()p Fs(s)40 b Fr(y)p
Fu(\))33 b Fo(?)f Fu(\()p Fs(s)41 b Fr(x)p Fu(\)!)j(=)32
b Fs(s)1000 3035 y Fi(0)1056 3071 y Fr(y)h Fu(and)f Fs(s)1377
3035 y Fi(0)1433 3071 y Fr(x)h Fu(=)f Fw(1)h Fu(and)g
Fs(s)40 b Fr(x)33 b Fo(>)f Fw(0)0 3275 y Fu(This)h(pro)m(v)m(es)h
(\(**\))e(and)h(thereb)m(y)h(the)f(second)h(stage)f(of)f(the)h(pro)s
(of)e(is)i(completed.)146 3395 y(Finally)-8 b(,)30 b(consider)j(the)g
Fs(thir)-5 b(d)35 b(stage)40 b Fu(of)32 b(the)h(pro)s(of)e(and)i(the)g
(deriv)-5 b(ation)244 3599 y Ft(h)p Fr(y)32 b Fu(:=)h
Fr(1)p Fu(;)g Fr(while)h Ft(:)p Fu(\()p Fr(x)p Fu(=)p
Fr(1)p Fu(\))f Fr(do)g Fu(\()p Fr(y)g Fu(:=)f Fr(y)p
Fo(?)p Fr(x)p Fu(;)h Fr(x)g Fu(:=)f Fr(x)p Ft(\000)p
Fr(1)p Fu(\),)i Fs(s)8 b Ft(i)32 b(!)g Fs(s)2654 3563
y Fi(0)0 3803 y Fu(According)g(to)h([comp)838 3818 y
Fn(ns)908 3803 y Fu(])g(there)g(will)e(b)s(e)h(a)h(state)g
Fs(s)1903 3767 y Fi(00)1978 3803 y Fu(suc)m(h)h(that)244
4006 y Ft(h)p Fr(y)e Fu(:=)h Fw(1)p Fu(,)g Fs(s)8 b Ft(i)32
b(!)g Fs(s)917 3970 y Fi(00)0 4210 y Fu(and)244 4414
y Ft(h)p Fr(while)h Ft(:)q Fu(\()p Fr(x)p Fu(=)p Fr(1)p
Fu(\))g Fr(do)g Fu(\()p Fr(y)f Fu(:=)h Fr(y)p Fo(?)p
Fr(x)p Fu(;)g Fr(x)g Fu(:=)f Fr(x)p Ft(\000)p Fr(1)p
Fu(\),)i Fs(s)2073 4378 y Fi(00)2115 4414 y Ft(i)e(!)h
Fs(s)2367 4378 y Fi(0)0 4618 y Fu(F)-8 b(rom)33 b(axiom)h([ass)703
4633 y Fn(ns)775 4618 y Fu(])h(w)m(e)h(see)g(that)e Fs(s)1404
4581 y Fi(00)1482 4618 y Fu(=)g Fs(s)8 b Fu([)p Fr(y)p
Ft(7!)q Fw(1)p Fu(])35 b(and)g(from)e(\(**\))i(w)m(e)h(get)e(that)h
Fs(s)3142 4581 y Fi(00)3220 4618 y Fr(x)g Fo(>)f Fw(0)0
4738 y Fu(and)29 b(therefore)g Fs(s)37 b Fr(x)29 b Fo(>)g
Fw(0)p Fu(.)42 b(Hence)31 b(\()p Fs(s)36 b Fr(x)p Fu(\)!)43
b(=)29 b(\()p Fs(s)1729 4702 y Fi(00)1800 4738 y Fr(y)p
Fu(\))g Fo(?)f Fu(\()p Fs(s)2081 4702 y Fi(00)2153 4738
y Fr(x)p Fu(\)!)42 b(holds)29 b(and)g(using)f(\(**\))g(w)m(e)i(get)244
4942 y(\()p Fs(s)40 b Fr(x)p Fu(\)!)k(=)32 b(\()p Fs(s)716
4905 y Fi(00)791 4942 y Fr(y)p Fu(\))h Fo(?)f Fu(\()p
Fs(s)1080 4905 y Fi(00)1155 4942 y Fr(x)p Fu(\)!)44 b(=)32
b Fs(s)1471 4905 y Fi(0)1527 4942 y Fr(y)0 5145 y Fu(as)h(required.)44
b(This)33 b(pro)m(v)m(es)h(the)f(partial)d(correctness)35
b(of)d(the)h(factorial)d(statemen)m(t.)0 5374 y Fw(Exercise)36
b(6.1)49 b Fu(Use)42 b(the)g(natural)e(seman)m(tics)i(to)f(pro)m(v)m(e)
h(the)g(partial)d(correctness)k(of)e(the)0 5494 y(statemen)m(t)p
eop
%%Page: 172 182
172 181 bop 251 130 a Fw(172)1567 b(6)112 b(Axiomatic)35
b(Program)h(V)-9 b(eri\014cation)p 251 193 3473 4 v 527
515 a Fr(z)33 b Fu(:=)g Fr(0)p Fu(;)f Fr(while)i(y)p
Ft(\024)q Fr(x)f(do)g Fu(\()p Fr(z)g Fu(:=)f Fr(z)p Fu(+)p
Fr(1)p Fu(;)h Fr(x)g Fu(:=)f Fr(x)p Ft(\000)p Fr(y)p
Fu(\))283 714 y(that)h(is)g(pro)m(v)m(e)h(that)e Fs(if)54
b Fu(the)33 b(statemen)m(t)h(terminates)e(in)g Fs(s)2449
677 y Fi(0)2505 714 y Fu(when)i(executed)h(from)d(a)h(state)g
Fs(s)283 834 y Fu(with)27 b Fs(s)41 b Fr(x)33 b Fo(>)f
Fw(0)27 b Fu(and)g Fs(s)35 b Fr(y)28 b Fo(>)f Fw(0)p
Fu(,)h Fs(then)34 b(s)1672 798 y Fi(0)1728 834 y Fr(z)f
Fu(=)f(\()p Fs(s)41 b Fr(x)p Fu(\))32 b Fw(div)h Fu(\()p
Fs(s)40 b Fr(y)p Fu(\))27 b(and)h Fs(s)2813 798 y Fi(0)2868
834 y Fr(x)33 b Fu(=)g(\()p Fs(s)40 b Fr(x)p Fu(\))33
b Fw(mo)s(d)f Fu(\()p Fs(s)41 b Fr(y)p Fu(\))283 954
y(where)34 b Fw(div)e Fu(is)g(in)m(teger)h(division)e(and)i
Fw(mo)s(d)f Fu(is)g(the)h(mo)s(dulo)d(op)s(eration.)665
b Fh(2)283 1176 y Fw(Exercise)37 b(6.2)49 b Fu(Use)39
b(the)f(natural)f(seman)m(tics)h(to)g(pro)m(v)m(e)h(the)f(follo)m(wing)
e Fs(total)k(c)-5 b(orr)g(e)g(ctness)283 1296 y Fu(prop)s(ert)m(y)34
b(for)e(the)h(factorial)d(program:)42 b(for)32 b(all)f(states)i
Fs(s)527 1495 y Fu(if)f Fs(s)40 b Fr(x)33 b Fo(>)g Fw(0)f
Fu(then)h(there)h(exists)f(a)f(state)h Fs(s)2087 1458
y Fi(0)2143 1495 y Fu(suc)m(h)h(that)742 1696 y Ft(h)p
Fr(y)e Fu(:=)h Fr(1)p Fu(;)g Fr(while)h Ft(:)p Fu(\()p
Fr(x)p Fu(=)p Fr(1)p Fu(\))f Fr(do)g Fu(\()p Fr(y)g Fu(:=)f
Fr(y)p Fo(?)p Fr(x)p Fu(;)h Fr(x)g Fu(:=)f Fr(x)p Ft(\000)p
Fr(1)p Fu(\),)i Fs(s)8 b Ft(i)32 b(!)g Fs(s)3152 1660
y Fi(0)552 1898 y Fu(and)h Fs(s)790 1862 y Fi(0)846 1898
y Fr(y)g Fu(=)f(\()p Fs(s)40 b Fr(x)p Fu(\)!)2409 b Fh(2)283
2186 y Fp(Structural)45 b(op)t(erational)i(seman)l(tics)283
2371 y Fu(The)29 b(partial)d(correctness)k(of)e(the)h(factorial)c
(statemen)m(t)k(can)f(also)f(b)s(e)h(established)h(using)e(the)283
2491 y Fs(structur)-5 b(al)36 b(op)-5 b(er)g(ational)34
b(semantics)p Fu(.)43 b(The)33 b(prop)s(ert)m(y)g(is)g(then)g(reform)m
(ulated)e(as:)527 2689 y(F)-8 b(or)32 b(all)f(states)i
Fs(s)41 b Fu(and)32 b Fs(s)1433 2653 y Fi(0)1457 2689
y Fu(,)g(if)742 2891 y Ft(h)p Fr(y)g Fu(:=)h Fr(1)p Fu(;)g
Fr(while)h Ft(:)p Fu(\()p Fr(x)p Fu(=)p Fr(1)p Fu(\))f
Fr(do)g Fu(\()p Fr(y)g Fu(:=)f Fr(y)p Fo(?)p Fr(x)p Fu(;)h
Fr(x)g Fu(:=)f Fr(x)p Ft(\000)p Fr(1)p Fu(\),)i Fs(s)8
b Ft(i)32 b(\))3072 2855 y Fi(\003)3144 2891 y Fs(s)3192
2855 y Fi(0)527 3093 y Fu(then)i Fs(s)798 3056 y Fi(0)853
3093 y Fr(y)f Fu(=)g(\()p Fs(s)40 b Fr(x)p Fu(\)!)k(and)32
b Fs(s)41 b Fr(x)33 b Fo(>)f Fw(0)283 3291 y Fu(Again)g(it)g(is)g(w)m
(orth)m(while)g(to)g(approac)m(h)h(the)g(pro)s(of)f(in)g(stages:)283
3489 y Fw(Stage)38 b(1:)49 b Fu(W)-8 b(e)33 b(pro)m(v)m(e)h(b)m(y)g
(induction)d(on)i(the)g(length)f(of)g(deriv)-5 b(ation)31
b(sequences)36 b(that)527 3657 y(if)c Ft(h)p Fr(while)h
Ft(:)q Fu(\()p Fr(x)p Fu(=)p Fr(1)p Fu(\))g Fr(do)g Fu(\()p
Fr(y)f Fu(:=)h Fr(y)p Fo(?)p Fr(x)p Fu(;)g Fr(x)g Fu(:=)f
Fr(x)p Ft(\000)p Fr(1)p Fu(\),)i Fs(s)8 b Ft(i)32 b(\))2617
3621 y Fn(k)2690 3657 y Fs(s)2738 3621 y Fi(0)527 3824
y Fu(then)i Fs(s)798 3788 y Fi(0)853 3824 y Fr(y)f Fu(=)g(\()p
Fs(s)40 b Fr(y)p Fu(\))33 b Fo(?)f Fu(\()p Fs(s)41 b
Fr(x)p Fu(\)!)i(and)33 b Fs(s)1883 3788 y Fi(0)1939 3824
y Fr(x)g Fu(=)f Fw(1)h Fu(and)f Fs(s)41 b Fr(x)33 b Fo(>)f
Fw(0)283 4026 y(Stage)38 b(2:)49 b Fu(W)-8 b(e)33 b(pro)m(v)m(e)h(that)
527 4194 y(if)e Ft(h)p Fr(y)g Fu(:=)h Fr(1)p Fu(;)g Fr(while)g
Ft(:)q Fu(\()p Fr(x)p Fu(=)p Fr(1)p Fu(\))g Fr(do)g Fu(\()p
Fr(y)f Fu(:=)h Fr(y)p Fo(?)p Fr(x)p Fu(;)g Fr(x)g Fu(:=)f
Fr(x)p Ft(\000)p Fr(1)p Fu(\),)i Fs(s)8 b Ft(i)32 b(\))2947
4158 y Fi(\003)3019 4194 y Fs(s)3067 4158 y Fi(0)527
4361 y Fu(then)i Fs(s)798 4325 y Fi(0)853 4361 y Fr(y)f
Fu(=)g(\()p Fs(s)40 b Fr(x)p Fu(\)!)k(and)32 b Fs(s)41
b Fr(x)33 b Fo(>)f Fw(0)283 4583 y(Exercise)37 b(6.3)49
b Fu(Complete)32 b(the)h(pro)s(of)e(of)i(stages)g(1)f(and)h(2.)1154
b Fh(2)283 4871 y Fp(Denotational)48 b(seman)l(tics)283
5055 y Fu(W)-8 b(e)25 b(shall)e(no)m(w)i(use)g(the)g(denotational)d
(seman)m(tics)i(to)g(pro)m(v)m(e)i(partial)c(correctness)k(prop)s
(erties)283 5176 y(of)32 b(statemen)m(ts.)44 b(The)34
b(idea)d(is)h(to)g(form)m(ulate)e(the)j(prop)s(ert)m(y)g(as)f(a)g
Fs(pr)-5 b(e)g(dic)g(ate)39 b Fo( )d Fu(on)c(the)h(ccp)s(o)283
5296 y(\()p Fw(State)g Fo(,)-17 b Ft(!)33 b Fw(State)p
Fu(,)f Ft(v)q Fu(\),)g(that)h(is)527 5494 y Fo( )t Fu(:)44
b(\()p Fw(State)32 b Fo(,)-17 b Ft(!)33 b Fw(State)p
Fu(\))f Ft(!)h Fw(T)p eop
%%Page: 173 183
173 182 bop 0 130 a Fw(6.1)112 b(Direct)36 b(pro)s(ofs)i(of)g(program)f
(correctness)1242 b(173)p 0 193 3473 4 v 0 515 a Fu(As)38
b(an)g(example,)g(the)g(partial)d(correctness)40 b(of)d(the)h
(factorial)d(statemen)m(t)j(will)e(b)s(e)i(written)0
636 y(as)244 830 y Fo( )311 845 y Fc(f)7 b(ac)424 830
y Fu(\()p Ft(S)530 845 y Fn(ds)601 830 y Fu([)-17 b([)q
Fr(y)33 b Fu(:=)f Fr(1)p Fu(;)h Fr(while)h Ft(:)p Fu(\()p
Fr(x)p Fu(=)p Fr(1)p Fu(\))f Fr(do)g Fu(\()p Fr(y)g Fu(:=)f
Fr(y)p Fo(?)p Fr(x)p Fu(;)h Fr(x)g Fu(:=)f Fr(x)p Ft(\000)p
Fr(1)p Fu(\)])-17 b(])r(\))32 b(=)h Fw(tt)0 1025 y Fu(where)h(the)f
(predicate)g Fo( )940 1040 y Fc(f)7 b(ac)1085 1025 y
Fu(is)33 b(de\014ned)h(b)m(y)458 1219 y Fo( )525 1234
y Fc(f)7 b(ac)639 1219 y Fu(\()p Fs(g)i Fu(\))32 b(=)g
Fw(tt)244 1380 y Fu(if)f(and)i(only)f(if)510 1547 y(for)d(all)f(states)
j Fs(s)38 b Fu(and)30 b Fs(s)1377 1511 y Fi(0)1401 1547
y Fu(,)g(if)f Fs(g)39 b(s)f Fu(=)29 b Fs(s)1860 1511
y Fi(0)1914 1547 y Fu(then)k Fs(s)2184 1511 y Fi(0)2240
1547 y Fr(y)f Fu(=)h(\()p Fs(s)40 b Fr(x)p Fu(\)!)k(and)33
b Fs(s)40 b Fr(x)33 b Fo(>)g Fw(0)146 1742 y Fu(A)24
b(predicate)h Fo( )t Fu(:)39 b Fs(D)33 b Ft(!)24 b Fw(T)g
Fu(de\014ned)h(on)f(a)g(ccp)s(o)h(\()p Fs(D)9 b Fu(,)p
Ft(v)p Fu(\))24 b(is)g(called)f(an)h Fs(admissible)h(pr)-5
b(e)g(dic)g(ate)0 1862 y Fu(if)31 b(and)i(only)f(if)g(w)m(e)h(ha)m(v)m
(e)244 2057 y(if)e Fo( )37 b Fs(d)42 b Fu(=)33 b Fw(tt)f
Fu(for)g(all)e Fs(d)43 b Ft(2)33 b Fs(Y)52 b Fu(then)33
b Fo( )t Fu(\()1681 1990 y Fg(F)1750 2057 y Fs(Y)20 b
Fu(\))32 b(=)h Fw(tt)0 2251 y Fu(for)j(ev)m(ery)j(c)m(hain)d
Fs(Y)57 b Fu(in)36 b Fs(D)9 b Fu(.)36 b(Th)m(us)j(if)c
Fo( )41 b Fu(holds)36 b(on)h(all)e(the)i(elemen)m(ts)g(of)f(the)h(c)m
(hain)g(then)g(it)0 2372 y(also)32 b(holds)g(on)g(the)h(least)g(upp)s
(er)g(b)s(ound)f(of)h(the)g(c)m(hain.)0 2588 y Fw(Example)k(6.4)48
b Fu(Consider)33 b(the)g(predicate)g Fo( )1719 2552 y
Fi(0)1719 2613 y Fc(f)7 b(ac)1865 2588 y Fu(de\014ned)34
b(on)f Fw(State)f Fo(,)-17 b Ft(!)33 b Fw(State)f Fu(b)m(y)458
2783 y Fo( )525 2747 y Fi(0)525 2807 y Fc(f)7 b(ac)639
2783 y Fu(\()p Fs(g)i Fu(\))32 b(=)g Fw(tt)244 2943 y
Fu(if)f(and)i(only)f(if)458 3144 y(for)h(all)d(states)j
Fs(s)41 b Fu(and)33 b Fs(s)1339 3108 y Fi(0)1362 3144
y Fu(,)g(if)e Fs(g)41 b(s)g Fu(=)32 b Fs(s)1834 3108
y Fi(0)458 3311 y Fu(then)i Fs(s)729 3275 y Fi(0)785
3311 y Fr(y)e Fu(=)h(\()p Fs(s)40 b Fr(y)p Fu(\))33 b
Fo(?)f Fu(\()p Fs(s)41 b Fr(x)p Fu(\)!)i(and)33 b Fs(s)41
b Fr(x)33 b Fo(>)f Fw(0)0 3512 y Fu(Then)43 b Fo( )331
3476 y Fi(0)331 3536 y Fc(f)7 b(ac)486 3512 y Fu(is)41
b(an)h(admissible)e(predicate.)71 b(T)-8 b(o)42 b(see)g(this)g(assume)g
(that)g Fs(Y)61 b Fu(is)41 b(a)h(c)m(hain)f(in)0 3632
y Fw(State)34 b Fo(,)-17 b Ft(!)33 b Fw(State)h Fu(and)g(assume)g(that)
g Fo( )1530 3596 y Fi(0)1530 3657 y Fc(f)7 b(ac)1677
3632 y Fs(g)42 b Fu(=)33 b Fw(tt)g Fu(for)g(all)f Fs(g)42
b Ft(2)34 b Fs(Y)20 b Fu(.)33 b(W)-8 b(e)35 b(shall)d(then)i(pro)m(v)m
(e)0 3753 y(that)e Fo( )278 3716 y Fi(0)278 3777 y Fc(f)7
b(ac)392 3753 y Fu(\()430 3686 y Fg(F)499 3753 y Fs(Y)20
b Fu(\))32 b(=)g Fw(tt)p Fu(,)g(that)h(is)458 3947 y(\()496
3881 y Fg(F)566 3947 y Fs(Y)19 b Fu(\))33 b Fs(s)40 b
Fu(=)33 b Fs(s)965 3911 y Fi(0)244 4107 y Fu(implies)458
4308 y Fs(s)506 4272 y Fi(0)562 4308 y Fr(y)g Fu(=)g(\()p
Fs(s)40 b Fr(y)p Fu(\))33 b Fo(?)f Fu(\()p Fs(s)41 b
Fr(x)p Fu(\)!)i(and)33 b Fs(s)41 b Fr(x)32 b Fo(>)h Fw(0)0
4508 y Fu(F)-8 b(rom)23 b(Lemma)g(4.25)g(w)m(e)j(ha)m(v)m(e)f(graph\()
1419 4442 y Fg(F)1488 4508 y Fs(Y)20 b Fu(\))k(=)1742
4442 y Fg(S)1812 4508 y Ft(f)g Fu(graph\()p Fs(g)9 b
Fu(\))23 b Ft(j)h Fs(g)33 b Ft(2)25 b Fs(Y)44 b Ft(g)p
Fu(.)c(W)-8 b(e)25 b(ha)m(v)m(e)h(assumed)0 4629 y(that)34
b(\()251 4562 y Fg(F)320 4629 y Fs(Y)20 b Fu(\))32 b
Fs(s)41 b Fu(=)32 b Fs(s)719 4593 y Fi(0)776 4629 y Fu(so)j
Fs(Y)53 b Fu(cannot)34 b(b)s(e)h(empt)m(y)f(and)g Ft(h)p
Fs(s)8 b Fu(,)35 b Fs(s)2166 4593 y Fi(0)2189 4629 y
Ft(i)f(2)g Fu(graph\()p Fs(g)9 b Fu(\))33 b(for)h(some)g
Fs(g)42 b Ft(2)35 b Fs(Y)19 b Fu(.)0 4749 y(But)33 b(then)244
4944 y Fs(s)292 4908 y Fi(0)348 4944 y Fr(y)g Fu(=)f(\()p
Fs(s)40 b Fr(y)p Fu(\))33 b Fo(?)f Fu(\()p Fs(s)41 b
Fr(x)p Fu(\)!)j(and)32 b Fs(s)41 b Fr(x)33 b Fo(>)f Fw(0)0
5138 y Fu(as)g Fo( )186 5102 y Fi(0)186 5163 y Fc(f)7
b(ac)331 5138 y Fs(g)40 b Fu(=)31 b Fw(tt)g Fu(for)g(all)e
Fs(g)40 b Ft(2)32 b Fs(Y)20 b Fu(.)32 b(This)f(pro)m(v)m(es)j(that)d
Fo( )2057 5102 y Fi(0)2057 5163 y Fc(f)7 b(ac)2202 5138
y Fu(is)31 b(an)h(admissible)d(predicate.)76 b Fh(2)146
5355 y Fu(F)-8 b(or)29 b(admissible)e(predicates)k(w)m(e)f(ha)m(v)m(e)h
(the)f(follo)m(wing)c(induction)j(principle)f(called)g
Fs(\014xe)-5 b(d)0 5475 y(p)g(oint)35 b(induction)p Fu(:)p
eop
%%Page: 174 184
174 183 bop 251 130 a Fw(174)1567 b(6)112 b(Axiomatic)35
b(Program)h(V)-9 b(eri\014cation)p 251 193 3473 4 v 283
515 3473 5 v 283 684 a(Theorem)38 b(6.5)49 b Fu(Let)34
b(\()p Fs(D)9 b Fu(,)p Ft(v)q Fu(\))34 b(b)s(e)h(a)f(ccp)s(o)h(and)f
(let)g Fs(f)21 b Fu(:)47 b Fs(D)d Ft(!)34 b Fs(D)43 b
Fu(b)s(e)35 b(a)f(con)m(tin)m(uous)h(function)283 804
y(and)e(let)f Fo( )37 b Fu(b)s(e)32 b(an)h(admissible)d(predicate)j(on)
g Fs(D)9 b Fu(.)32 b(If)h(for)f(all)e Fs(d)43 b Ft(2)33
b Fs(D)527 1001 y Fo( )k Fs(d)43 b Fu(=)32 b Fw(tt)g
Fu(implies)e Fo( )t Fu(\()p Fs(f)53 b(d)10 b Fu(\))33
b(=)f Fw(tt)283 1198 y Fu(then)i Fo( )t Fu(\(FIX)e Fs(f)21
b Fu(\))32 b(=)h Fw(tt)p Fu(.)p 283 1319 V 283 1516 a
Fw(Pro)s(of:)38 b Fu(W)-8 b(e)33 b(shall)e(\014rst)i(note)g(that)527
1713 y Fo( )k Ft(?)c Fu(=)f Fw(tt)283 1910 y Fu(holds)k(b)m(y)i
(admissibilit)m(y)32 b(of)k Fo( )k Fu(\(applied)35 b(to)h(the)h(c)m
(hain)f Fs(Y)56 b Fu(=)36 b Ft(;)p Fu(\).)54 b(By)37
b(induction)e(on)h(n)h(w)m(e)283 2031 y(can)c(then)h(sho)m(w)f(that)527
2228 y Fo( )t Fu(\()p Fs(f)683 2192 y Fn(n)759 2228 y
Ft(?)q Fu(\))f(=)g Fw(tt)283 2425 y Fu(using)f(the)f(assumptions)h(of)e
(the)i(theorem.)43 b(By)31 b(admissibilit)m(y)c(of)j
Fo( )k Fu(\(applied)29 b(to)h(the)h(c)m(hain)283 2546
y Fs(Y)53 b Fu(=)32 b Ft(f)g Fs(f)649 2509 y Fn(n)725
2546 y Ft(?)h(j)f Fu(n)h Ft(\025)g Fu(0)f Ft(g)p Fu(\))h(w)m(e)g(then)g
(ha)m(v)m(e)527 2743 y Fo( )t Fu(\(FIX)g Fs(f)21 b Fu(\))32
b(=)h Fw(tt)283 2940 y Fu(This)g(completes)g(the)g(pro)s(of.)2306
b Fh(2)430 3143 y Fu(W)-8 b(e)42 b(are)g(no)m(w)g(in)f(a)h(p)s(osition)
e(where)j(w)m(e)g(can)f(pro)m(v)m(e)h(the)g(partial)c(correctness)44
b(of)d(the)283 3264 y(factorial)31 b(statemen)m(t.)44
b(The)33 b(\014rst)g(observ)-5 b(ation)32 b(is)g(that)527
3461 y Ft(S)595 3476 y Fn(ds)666 3461 y Fu([)-17 b([)q
Fr(y)33 b Fu(:=)f(1;)h Fr(while)g Ft(:)q Fu(\()p Fr(x)p
Fu(=)p Fr(1)p Fu(\))g Fr(do)g Fu(\()p Fr(y)f Fu(:=)h
Fr(y)p Fo(?)p Fr(x)p Fu(;)g Fr(x)g Fu(:=)f Fr(x)p Ft(\000)p
Fr(1)p Fu(\)])-17 b(])r Fs(s)40 b Fu(=)33 b Fs(s)2989
3425 y Fi(0)283 3658 y Fu(if)f(and)h(only)f(if)527 3856
y Ft(S)595 3871 y Fn(ds)666 3856 y Fu([)-17 b([)q Fr(while)34
b Ft(:)p Fu(\()p Fr(x)p Fu(=)p Fr(1)p Fu(\))f Fr(do)g
Fu(\()p Fr(y)g Fu(:=)f Fr(y)p Fo(?)p Fr(x)p Fu(;)h Fr(x)g
Fu(:=)f Fr(x)p Ft(\000)p Fr(1)p Fu(\)])-17 b(])r(\()p
Fs(s)8 b Fu([)p Fr(y)p Ft(7!)p Fw(1)p Fu(]\))33 b(=)f
Fs(s)2998 3819 y Fi(0)283 4053 y Fu(Th)m(us)j(it)c(is)h(su\016cien)m(t)
i(to)e(pro)m(v)m(e)i(that)552 4220 y Fo( )619 4184 y
Fi(0)619 4245 y Fc(f)7 b(ac)733 4220 y Fu(\()p Ft(S)838
4235 y Fn(ds)910 4220 y Fu([)-17 b([)p Fr(while)34 b
Ft(:)p Fu(\()p Fr(x)p Fu(=)p Fr(1)p Fu(\))f Fr(do)g Fu(\()p
Fr(y)g Fu(:=)f Fr(y)p Fo(?)p Fr(x)p Fu(;)h Fr(x)g Fu(:=)g
Fr(x)p Ft(\000)p Fr(1)p Fu(\)])-17 b(])q(\))33 b(=)f
Fw(tt)697 b Fu(\(*\))283 4388 y(\(where)34 b Fo( )670
4352 y Fi(0)670 4413 y Fc(f)7 b(ac)816 4388 y Fu(is)32
b(de\014ned)i(in)e(Example)g(6.4\))g(as)h(this)f(will)e(imply)h(that)
527 4585 y Fo( )594 4600 y Fc(f)7 b(ac)708 4585 y Fu(\()p
Ft(S)813 4600 y Fn(ds)885 4585 y Fu([)-17 b([)p Fr(y)33
b Fu(:=)g Fr(1)p Fu(;)f Fr(while)i Ft(:)q Fu(\()p Fr(x)p
Fu(=)p Fr(1)p Fu(\))e Fr(do)i Fu(\()p Fr(y)e Fu(:=)h
Fr(y)p Fo(?)p Fr(x)p Fu(;)g Fr(x)f Fu(:=)h Fr(x)p Ft(\000)p
Fr(1)p Fu(\)])-17 b(])q(\))33 b(=)f Fw(tt)430 4782 y
Fu(W)-8 b(e)30 b(shall)e(no)m(w)i(reform)m(ulate)e(\(*\))h(sligh)m(tly)
f(to)i(bring)e(ourselv)m(es)j(in)e(a)g(p)s(osition)f(where)j(w)m(e)283
4903 y(can)i(use)h(\014xed)g(p)s(oin)m(t)d(induction.)43
b(Using)32 b(the)h(de\014nition)f(of)g Ft(S)2647 4918
y Fn(ds)2751 4903 y Fu(in)g(T)-8 b(able)32 b(4.1)g(w)m(e)i(ha)m(v)m(e)
527 5100 y Ft(S)595 5115 y Fn(ds)666 5100 y Fu([)-17
b([)q Fr(while)34 b Ft(:)p Fu(\()p Fr(x)p Fu(=)p Fr(1)p
Fu(\))f Fr(do)g Fu(\()p Fr(y)g Fu(:=)f Fr(y)p Fo(?)p
Fr(x)p Fu(;)h Fr(x)g Fu(:=)f Fr(x)p Ft(\000)p Fr(1)p
Fu(\)])-17 b(])34 b(=)f(FIX)f Fs(F)283 5297 y Fu(where)i(the)f
(functional)e Fs(F)46 b Fu(is)32 b(de\014ned)i(b)m(y)527
5494 y Fs(F)46 b(g)41 b Fu(=)32 b(cond\()p Ft(B)t Fu([)-17
b([)q Ft(:)p Fu(\()p Fr(x)p Fu(=)p Fr(1)p Fu(\)])g(])q(,)33
b Fs(g)41 b Ft(\016)32 b(S)1830 5509 y Fn(ds)1901 5494
y Fu([)-17 b([)q Fr(y)33 b Fu(:=)f Fr(y)p Fo(?)p Fr(x)p
Fu(;)h Fr(x)g Fu(:=)f Fr(x)p Ft(\000)p Fr(1)p Fu(])-17
b(])r(,)32 b(id\))p eop
%%Page: 175 185
175 184 bop 0 130 a Fw(6.2)112 b(P)m(artial)36 b(correctness)h
(assertions)1619 b(175)p 0 193 3473 4 v 0 515 a Fu(Using)32
b(the)h(seman)m(tic)f(equations)h(de\014ning)g Ft(S)1720
530 y Fn(ds)1823 515 y Fu(w)m(e)h(can)f(rewrite)f(this)h(de\014nition)e
(as)244 776 y(\()p Fs(F)45 b(g)9 b Fu(\))32 b Fs(s)41
b Fu(=)704 601 y Fg(8)704 676 y(<)704 826 y(:)820 691
y Fs(s)1431 b Fu(if)32 b Fs(s)40 b(x)k Fu(=)33 b Fw(1)820
859 y Fs(g)9 b Fu(\()p Fs(s)f Fu([)p Fr(y)p Ft(7!)o Fu(\()p
Fs(s)41 b Fr(y)p Fu(\))p Fo(?)p Fu(\()p Fs(s)f Fr(x)p
Fu(\)][)p Fr(x)p Ft(7!)q Fu(\()p Fs(s)g Fr(x)p Fu(\))p
Ft(\000)p Fr(1)p Fu(]\))84 b(otherwise)146 1042 y(W)-8
b(e)29 b(ha)m(v)m(e)g(already)e(seen)i(that)f Fs(F)41
b Fu(is)27 b(a)h(con)m(tin)m(uous)g(function)f(\(for)h(example)f(in)g
(the)h(pro)s(of)0 1162 y(of)43 b(Prop)s(osition)f(4.47\))h(and)h(from)e
(Example)h(6.4)h(w)m(e)g(ha)m(v)m(e)h(that)f Fo( )2620
1126 y Fi(0)2620 1187 y Fc(f)7 b(ac)2777 1162 y Fu(is)43
b(an)g(admissible)0 1282 y(predicate.)h(Th)m(us)34 b(w)m(e)f(see)h
(from)d(Theorem)i(6.5)f(that)h(\(*\))f(follo)m(ws)f(if)h(w)m(e)h(sho)m
(w)h(that)244 1461 y Fo( )311 1425 y Fi(0)311 1486 y
Fc(f)7 b(ac)457 1461 y Fs(g)41 b Fu(=)32 b Fw(tt)g Fu(implies)e
Fo( )1169 1425 y Fi(0)1169 1486 y Fc(f)7 b(ac)1283 1461
y Fu(\()p Fs(F)45 b(g)9 b Fu(\))32 b(=)g Fw(tt)0 1640
y Fu(T)-8 b(o)33 b(pro)m(v)m(e)g(this)g(implication)28
b(assume)33 b(that)g Fo( )1722 1604 y Fi(0)1722 1665
y Fc(f)7 b(ac)1867 1640 y Fs(g)42 b Fu(=)32 b Fw(tt)p
Fu(,)g(that)g(is)g(for)g(all)f(states)i Fs(s)41 b Fu(and)32
b Fs(s)3398 1604 y Fi(0)244 1819 y Fu(if)f Fs(g)41 b(s)g
Fu(=)32 b Fs(s)656 1782 y Fi(0)712 1819 y Fu(then)h Fs(s)982
1782 y Fi(0)1038 1819 y Fr(y)g Fu(=)g(\()p Fs(s)40 b
Fr(y)p Fu(\))33 b Fo(?)f Fu(\()p Fs(s)41 b Fr(x)p Fu(\)!)i(and)33
b Fs(s)41 b Fr(x)32 b Fo(>)h Fw(0)0 1997 y Fu(W)-8 b(e)33
b(shall)e(pro)m(v)m(e)j(that)e Fo( )937 1961 y Fi(0)937
2022 y Fc(f)7 b(ac)1051 1997 y Fu(\()p Fs(F)45 b(g)9
b Fu(\))32 b(=)h Fw(tt)p Fu(,)e(that)i(is)f(for)g(all)e(states)k
Fs(s)40 b Fu(and)33 b Fs(s)2767 1961 y Fi(0)244 2176
y Fu(if)e(\()p Fs(F)46 b(g)9 b Fu(\))32 b Fs(s)40 b Fu(=)33
b Fs(s)842 2140 y Fi(0)898 2176 y Fu(then)g Fs(s)1168
2140 y Fi(0)1224 2176 y Fr(y)g Fu(=)f(\()p Fs(s)40 b
Fr(y)p Fu(\))33 b Fo(?)f Fu(\()p Fs(s)41 b Fr(x)p Fu(\)!)j(and)32
b Fs(s)41 b Fr(x)33 b Fo(>)f Fw(0)0 2355 y Fu(Insp)s(ecting)j(the)g
(de\014nition)f(of)g Fs(F)47 b Fu(w)m(e)36 b(see)g(that)e(there)i(are)e
(t)m(w)m(o)i(cases.)51 b(First)33 b(assume)j(that)0 2475
y Fs(s)45 b Fr(x)36 b Fu(=)h Fw(1)p Fu(.)55 b(Then)38
b(\()p Fs(F)46 b(g)9 b Fu(\))32 b Fs(s)40 b Fu(=)33 b
Fs(s)44 b Fu(and)37 b(clearly)f Fs(s)44 b Fr(y)37 b Fu(=)f(\()p
Fs(s)45 b Fr(y)p Fu(\))37 b Fo(?)f Fu(\()p Fs(s)45 b
Fr(x)p Fu(\)!)55 b(and)37 b Fs(s)45 b Fr(x)37 b Fo(>)f
Fw(0)p Fu(.)56 b(Next)0 2596 y(assume)33 b(that)f Fs(s)41
b Fr(x)33 b Ft(6)p Fu(=)f Fw(1)p Fu(.)44 b(Then)244 2774
y(\()p Fs(F)h(g)9 b Fu(\))32 b Fs(s)41 b Fu(=)32 b Fs(g)9
b Fu(\()p Fs(s)f Fu([)p Fr(y)p Ft(7!)p Fu(\()p Fs(s)40
b Fr(y)p Fu(\))p Fo(?)p Fu(\()p Fs(s)h Fr(x)p Fu(\)][)p
Fr(x)p Ft(7!)p Fu(\()p Fs(s)g Fr(x)p Fu(\))p Ft(\000)p
Fw(1)p Fu(]\))0 2953 y(F)-8 b(rom)31 b(the)i(assumptions)f(ab)s(out)h
Fs(g)41 b Fu(w)m(e)33 b(then)g(get)g(that)244 3132 y
Fs(s)292 3096 y Fi(0)348 3132 y Fr(y)g Fu(=)f(\(\()p
Fs(s)40 b Fr(y)p Fu(\))p Fo(?)p Fu(\()p Fs(s)h Fr(x)p
Fu(\)\))33 b Fo(?)f Fu(\(\()p Fs(s)40 b Fr(x)p Fu(\))p
Ft(\000)p Fw(1)p Fu(\)!)k(and)33 b(\()p Fs(s)41 b Fr(x)p
Fu(\))p Ft(\000)p Fw(1)33 b Fo(>)f Fw(0)0 3311 y Fu(so)h(that)f(the)h
(desired)g(result)244 3489 y Fs(s)292 3453 y Fi(0)348
3489 y Fr(y)g Fu(=)f(\()p Fs(s)40 b Fr(y)p Fu(\))33 b
Fo(?)f Fu(\()p Fs(s)41 b Fr(x)p Fu(\)!)j(and)32 b Fs(s)41
b Fr(x)33 b Fo(>)f Fw(0)0 3668 y Fu(follo)m(ws.)0 3863
y Fw(Exercise)k(6.6)49 b Fu(Rep)s(eat)33 b(Exercise)h(6.1)e(using)g
(the)h(denotational)e(seman)m(tics.)463 b Fh(2)0 4192
y Fj(6.2)161 b(P)l(artial)55 b(correctness)c(assertions)0
4411 y Fu(One)30 b(ma)m(y)g(argue)g(that)g(the)g(ab)s(o)m(v)m(e)h(pro)s
(ofs)f(are)g(to)s(o)f(detailed)g(to)h(b)s(e)g(practically)e(useful;)j
(the)0 4531 y(reason)36 b(is)f(that)g(they)h(are)g(to)s(o)e(closely)h
(connected)i(with)e(the)h(seman)m(tics)g(of)e(the)i(program-)0
4652 y(ming)29 b(language.)42 b(One)32 b(ma)m(y)f(therefore)g(w)m(an)m
(t)h(to)f(capture)h(the)f Fs(essential)i(pr)-5 b(op)g(erties)38
b Fu(of)31 b(the)0 4772 y(v)-5 b(arious)42 b(constructs)i(so)f(that)f
(it)f(w)m(ould)i(b)s(e)g(less)g(demanding)e(to)h(conduct)i(pro)s(ofs)e
(ab)s(out)0 4893 y(giv)m(en)35 b(programs.)48 b(Of)34
b(course)i(the)f(c)m(hoice)g(of)f(\\essen)m(tial)g(prop)s(erties")h
(will)d(determine)i(the)0 5013 y(sort)42 b(of)g(prop)s(erties)g(that)f
(w)m(e)i(ma)m(y)f(accomplish)f(pro)m(ving.)71 b(In)43
b(this)e(section)i(w)m(e)g(shall)d(b)s(e)0 5133 y(in)m(terested)29
b(in)e(partial)f(correctness)k(prop)s(erties)e(and)h(therefore)f(the)h
(\\essen)m(tial)f(prop)s(erties")0 5254 y(of)k(the)h(v)-5
b(arious)32 b(constructs)i(will)c(not)j(include)f(termination.)146
5374 y(The)41 b(idea)e(is)g(to)g(sp)s(ecify)h(prop)s(erties)g(of)f
(programs)g(as)g Fs(assertions)p Fu(,)i(or)e(claims,)h(ab)s(out)0
5494 y(them.)j(An)33 b(assertion)g(is)f(a)g(triple)f(of)h(the)h(form)p
eop
%%Page: 176 186
176 185 bop 251 130 a Fw(176)1567 b(6)112 b(Axiomatic)35
b(Program)h(V)-9 b(eri\014cation)p 251 193 3473 4 v 527
515 a Ft(f)33 b Fs(P)43 b Ft(g)32 b Fs(S)44 b Ft(f)33
b Fs(Q)41 b Ft(g)283 761 y Fu(where)29 b Fs(S)40 b Fu(is)27
b(a)h(statemen)m(t)g(and)g Fs(P)38 b Fu(and)28 b Fs(Q)36
b Fu(are)28 b(predicates.)43 b(Here)28 b Fs(P)38 b Fu(is)27
b(called)g(the)h Fs(pr)-5 b(e)g(c)g(ondi-)283 881 y(tion)37
b Fu(and)29 b Fs(Q)37 b Fu(is)29 b(called)e(the)j Fs(p)-5
b(ostc)g(ondition)p Fu(.)83 b(In)m(tuitiv)m(ely)-8 b(,)29
b(the)g(meaning)f(of)g Ft(f)33 b Fs(P)42 b Ft(g)33 b
Fs(S)44 b Ft(f)32 b Fs(Q)42 b Ft(g)283 1001 y Fu(is)33
b(that)527 1246 y Fs(if)54 b(P)43 b Fu(holds)32 b(in)g(the)h(initial)28
b(state,)34 b(and)527 1414 y Fs(if)54 b Fu(the)33 b(execution)g(of)f
Fs(S)44 b Fu(terminates)32 b(when)i(started)f(in)f(that)g(state,)527
1582 y Fs(then)40 b(Q)i Fu(will)30 b(hold)i(in)g(the)h(state)g(in)e
(whic)m(h)j Fs(S)44 b Fu(halts)283 1827 y(Note)33 b(that)f(for)g
Ft(f)g Fs(P)43 b Ft(g)32 b Fs(S)44 b Ft(f)33 b Fs(Q)41
b Ft(g)32 b Fu(to)g(hold)g(w)m(e)i(do)e Fs(not)42 b Fu(require)32
b(that)h Fs(S)44 b Fu(halts)32 b(when)h(started)283 1947
y(in)28 b(states)h(satisfying)e Fs(P)38 b Fu(|)27 b(merely)h(that)g
Fs(if)48 b Fu(it)27 b(do)s(es)i(halt)e Fs(then)35 b(Q)i
Fu(holds)28 b(in)f(the)h(\014nal)f(state.)283 2288 y
Fp(Logical)46 b(v)-7 b(ariables)283 2489 y Fu(As)34 b(an)e(example)g(w)
m(e)i(ma)m(y)e(write)552 2657 y Ft(f)h Fr(x)p Fu(=)p
Fr(n)f Ft(g)h Fr(y)g Fu(:=)f Fr(1)p Fu(;)h Fr(while)h
Ft(:)p Fu(\()p Fr(x)p Fu(=)p Fr(1)p Fu(\))f Fr(do)g Fu(\()p
Fr(y)g Fu(:=)f Fr(x)p Fo(?)p Fr(y)p Fu(;)h Fr(x)g Fu(:=)f
Fr(x)p Ft(\000)p Fr(1)p Fu(\))i Ft(f)e Fr(y)p Fu(=)p
Fr(n)p Fu(!)44 b Ft(^)33 b Fr(n)p Fo(>)p Fu(0)f Ft(g)283
2825 y Fu(to)45 b(express)i(that)d(if)g(the)h(v)-5 b(alue)44
b(of)g Fr(x)h Fu(is)f(equal)g(to)h(the)g(v)-5 b(alue)44
b(of)g Fr(n)h Fs(b)-5 b(efor)g(e)51 b Fu(the)45 b(factorial)283
2945 y(program)32 b(is)g(executed)j(then)e(the)g(v)-5
b(alue)32 b(of)g Fr(y)h Fu(will)d(b)s(e)j(equal)g(to)f(the)h(factorial)
d(of)i(the)h(v)-5 b(alue)283 3065 y(of)36 b Fr(n)g Fs(after)46
b Fu(the)36 b(execution)h(of)e(the)h(program)e(has)j(terminated)d(\(if)
h(indeed)h(it)f(terminates\).)283 3186 y(Here)46 b Fr(n)e
Fu(is)h(a)f(sp)s(ecial)f(v)-5 b(ariable)43 b(called)g(a)i
Fs(lo)-5 b(gic)g(al)53 b Fu(v)-5 b(ariable)43 b(and)i(these)h(logical)
41 b(v)-5 b(ariables)283 3306 y(m)m(ust)42 b(not)f(app)s(ear)g(in)f(an)
m(y)i(statemen)m(t)f(considered.)70 b(The)42 b(role)f(of)f(these)j(v)-5
b(ariables)40 b(is)g(to)283 3426 y(\\remem)m(b)s(er")f(the)g(initial)c
(v)-5 b(alues)39 b(of)g(the)g(program)f(v)-5 b(ariables.)61
b(Note)39 b(that)g(if)f(w)m(e)i(replace)283 3547 y(the)g(p)s
(ostcondition)e Fr(y)p Fu(=)p Fr(n)p Fu(!)63 b Ft(^)39
b Fr(n)p Fo(>)p Fu(0)g(b)m(y)h(the)g(new)g(p)s(ostcondition)d
Fr(y)p Fu(=)p Fr(x)p Fu(!)63 b Ft(^)40 b Fr(x)p Fo(>)p
Fu(0)f(then)g(the)283 3667 y(assertion)j(ab)s(o)m(v)m(e)h(will)c
(express)44 b(a)d(relationship)f(b)s(et)m(w)m(een)k(the)e(\014nal)f(v)
-5 b(alue)41 b(of)g Fr(y)h Fu(and)f(the)283 3788 y(\014nal)36
b(v)-5 b(alue)35 b(of)g Fr(x)i Fu(and)f(this)f(is)h(not)f(what)i(w)m(e)
g(w)m(an)m(t.)54 b(The)37 b(use)g(of)e(logical)e(v)-5
b(ariables)35 b(solv)m(es)283 3908 y(the)e(problem)f(b)s(ecause)i(it)d
(allo)m(ws)h(us)h(to)f(refer)h(to)f(initial)d(v)-5 b(alues)33
b(of)f(v)-5 b(ariables.)430 4037 y(W)d(e)33 b(shall)e(th)m(us)j
(distinguish)d(b)s(et)m(w)m(een)j(t)m(w)m(o)g(kinds)f(of)f(v)-5
b(ariables:)429 4282 y Ft(\017)48 b Fu(program)32 b(v)-5
b(ariables,)31 b(and)429 4527 y Ft(\017)48 b Fu(logical)30
b(v)-5 b(ariables.)283 4772 y(The)40 b(states)g(will)d(determine)h(the)
i(v)-5 b(alues)38 b(of)h(b)s(oth)f(kinds)i(of)e(v)-5
b(ariables)38 b(and)h(since)g(logical)283 4893 y(v)-5
b(ariables)35 b(do)h(not)g(o)s(ccur)g(in)f(programs)h(their)f(v)-5
b(alues)36 b(will)e(alw)m(a)m(ys)i(b)s(e)h(the)f(same.)54
b(In)36 b(case)283 5013 y(of)42 b(the)h(factorial)d(program)h(w)m(e)i
(kno)m(w)g(that)f(the)h(v)-5 b(alue)42 b(of)f Fr(n)i
Fu(is)f(the)g(same)g(in)g(the)h(initial)283 5133 y(state)30
b(and)g(in)e(the)i(\014nal)f(state.)43 b(The)30 b(precondition)e
Fr(x)33 b Fu(=)g Fr(n)c Fu(expresses)k(that)c Fr(n)g
Fu(has)h(the)g(same)283 5254 y(v)-5 b(alue)28 b(as)h
Fr(x)g Fu(in)e(the)i(initial)c(state.)43 b(Since)28 b(the)h(program)e
(will)f(not)j(c)m(hange)g(the)g(v)-5 b(alue)28 b(of)g
Fr(n)g Fu(the)283 5374 y(p)s(ostcondition)j Fr(y)h Fu(=)g
Fr(n)p Fu(!)43 b(will)30 b(express)k(that)d(the)i(\014nal)e(v)-5
b(alue)31 b(of)g Fr(y)h Fu(is)g(equal)g(to)f(the)h(factorial)283
5494 y(of)h(the)g(initial)28 b(v)-5 b(alue)32 b(of)g
Fr(x)p Fu(.)p eop
%%Page: 177 187
177 186 bop 0 130 a Fw(6.2)112 b(P)m(artial)36 b(correctness)h
(assertions)1619 b(177)p 0 193 3473 4 v 0 515 a Fp(The)44
b(assertion)j(language)0 704 y Fu(There)37 b(are)f(t)m(w)m(o)g(approac)
m(hes)h(concerning)f(ho)m(w)g(to)g(sp)s(ecify)g(the)g(preconditions)f
(and)h(p)s(ost-)0 824 y(conditions)c(of)g(the)h(assertions:)145
1037 y Ft(\017)49 b Fu(the)33 b(in)m(tensional)e(approac)m(h,)i(v)m
(ersus)145 1249 y Ft(\017)49 b Fu(the)33 b(extensional)f(approac)m(h.)0
1461 y(In)f(the)g Fs(intensional)h(appr)-5 b(o)g(ach)37
b Fu(the)32 b(idea)e(is)g(to)g(in)m(tro)s(duce)h(an)g(explicit)e
(language)h(called)f(an)0 1582 y Fs(assertion)f(language)33
b Fu(and)26 b(then)h(the)f(conditions)g(will)d(b)s(e)k(form)m(ulae)d
(of)i(that)g(language.)40 b(This)0 1702 y(assertion)28
b(language)f(is)g(in)g(general)h(m)m(uc)m(h)g(more)g(p)s(o)m(w)m(erful)
g(than)g(the)g(b)s(o)s(olean)f(expressions,)0 1822 y
Fw(Bexp)p Fu(,)46 b(in)m(tro)s(duced)d(in)f(Chapter)h(1.)74
b(In)44 b(fact)e(the)i(assertion)e(language)g(has)h(to)g(b)s(e)g(v)m
(ery)0 1943 y(p)s(o)m(w)m(erful)35 b(indeed)g(in)e(order)i(to)f(b)s(e)h
(able)f(to)g(express)j(all)c(the)i(preconditions)f(and)h(p)s(ostcon-)0
2063 y(ditions)g(w)m(e)i(ma)m(y)f(b)s(e)h(in)m(terested)g(in;)g(w)m(e)g
(shall)e(return)i(to)f(this)g(in)f(the)i(next)g(section.)54
b(The)0 2184 y(approac)m(h)36 b(w)m(e)g(shall)d(follo)m(w)h(is)g(the)i
Fs(extensional)g(appr)-5 b(o)g(ach)41 b Fu(and)35 b(it)f(is)h(a)g(kind)
g(of)g(shortcut.)0 2304 y(The)41 b(idea)e(is)g(that)h(the)g(conditions)
f(are)g(predicates,)k(that)c(is)h(functions)f(in)g Fw(State)h
Ft(!)f Fw(T)p Fu(.)0 2424 y(Th)m(us)31 b(the)e(meaning)f(of)g
Ft(f)h Fs(P)39 b Ft(g)29 b Fs(S)41 b Ft(f)29 b Fs(Q)38
b Ft(g)29 b Fu(ma)m(y)f(b)s(e)i(reform)m(ulated)d(as)j(sa)m(ying)f
(that)g(if)e Fs(P)40 b Fu(holds)0 2545 y(on)31 b(a)g(state)g
Fs(s)40 b Fu(and)31 b(if)f Fs(S)43 b Fu(executed)33 b(from)d(state)h
Fs(s)39 b Fu(results)32 b(in)e(the)i(state)f Fs(s)2725
2509 y Fi(0)2780 2545 y Fu(then)g Fs(Q)41 b Fu(holds)30
b(on)0 2665 y Fs(s)48 2629 y Fi(0)71 2665 y Fu(.)48 b(W)-8
b(e)34 b(can)h(write)e(an)m(y)i(predicates)f(w)m(e)h(lik)m(e)f(and)g
(therefore)g(the)h(expressiv)m(eness)j(problem)0 2786
y(men)m(tioned)32 b(ab)s(o)m(v)m(e)i(do)s(es)f(not)f(arise.)146
2908 y(Eac)m(h)40 b(b)s(o)s(olean)d(expression)j Fs(b)45
b Fu(de\014nes)40 b(a)e(predicate)h Ft(B)s Fu([)-17 b([)q
Fs(b)6 b Fu(])-17 b(])q(.)61 b(W)-8 b(e)39 b(shall)f(feel)g(free)h(to)f
(let)0 3028 y Fs(b)i Fu(include)34 b(logical)d(v)-5 b(ariables)32
b(as)j(w)m(ell)e(as)h(program)f(v)-5 b(ariables)33 b(so)h(the)h
(precondition)e Fr(x)g Fu(=)f Fr(n)0 3148 y Fu(used)44
b(ab)s(o)m(v)m(e)g(is)e(an)h(example)g(of)f(a)h(b)s(o)s(olean)e
(expression.)76 b(T)-8 b(o)43 b(ease)h(the)g(readabilit)m(y)-8
b(,)43 b(w)m(e)0 3269 y(in)m(tro)s(duce)33 b(the)g(follo)m(wing)c
(notation)294 3473 y Fs(P)370 3488 y Fn(1)442 3473 y
Ft(^)k Fs(P)617 3488 y Fn(2)892 3473 y Fu(for)99 b Fs(P)43
b Fu(where)34 b Fs(P)43 b(s)e Fu(=)32 b(\()p Fs(P)1911
3488 y Fn(1)1983 3473 y Fs(s)8 b Fu(\))33 b(and)f(\()p
Fs(P)2405 3488 y Fn(2)2478 3473 y Fs(s)8 b Fu(\))294
3640 y Fs(P)370 3655 y Fn(1)442 3640 y Ft(_)33 b Fs(P)617
3655 y Fn(2)892 3640 y Fu(for)99 b Fs(P)43 b Fu(where)34
b Fs(P)43 b(s)e Fu(=)32 b(\()p Fs(P)1911 3655 y Fn(1)1983
3640 y Fs(s)8 b Fu(\))33 b(or)f(\()p Fs(P)2335 3655 y
Fn(2)2407 3640 y Fs(s)8 b Fu(\))294 3808 y Ft(:)p Fs(P)466
b Fu(for)99 b Fs(P)1184 3772 y Fi(0)1241 3808 y Fu(where)33
b Fs(P)1598 3772 y Fi(0)1655 3808 y Fs(s)40 b Fu(=)33
b Ft(:)p Fu(\()p Fs(P)43 b(s)8 b Fu(\))294 3976 y Fs(P)i
Fu([)p Fs(x)i Ft(7!A)o Fu([)-17 b([)q Fs(a)7 b Fu(])-17
b(])q(])99 b(for)g Fs(P)1184 3940 y Fi(0)1241 3976 y
Fu(where)33 b Fs(P)1598 3940 y Fi(0)1655 3976 y Fs(s)40
b Fu(=)33 b Fs(P)42 b Fu(\()p Fs(s)8 b Fu([)p Fs(x)k
Ft(7!A)p Fu([)-17 b([)p Fs(a)7 b Fu(])-17 b(])q Fs(s)8
b Fu(]\))294 4143 y Fs(P)370 4158 y Fn(1)442 4143 y Ft(\))32
b Fs(P)650 4158 y Fn(2)892 4143 y Fu(for)99 b Ft(8)q
Fs(s)40 b Ft(2)33 b Fw(State)p Fu(:)44 b Fs(P)1745 4158
y Fn(1)1817 4143 y Fs(s)d Fu(implies)30 b Fs(P)2305 4158
y Fn(2)2377 4143 y Fs(s)0 4349 y Fu(When)49 b(it)e(is)g(con)m(v)m
(enien)m(t,)54 b(but)48 b(not)g(when)h(de\014ning)f(formal)d(inference)
k(rules,)j(w)m(e)d(shall)0 4469 y(allo)m(w)33 b(to)i(disp)s(ense)h
(with)e Ft(B)t Fu([)-17 b([)p Ft(\001)17 b(\001)g(\001)o
Fu(])-17 b(])35 b(and)g Ft(A)p Fu([)-17 b([)p Ft(\001)17
b(\001)g(\001)n Fu(])-17 b(])36 b(inside)e(square)i(brac)m(k)m(ets)h
(as)e(w)m(ell)f(as)h(within)0 4590 y(preconditions)d(and)h(p)s
(ostconditions.)0 4832 y Fw(Exercise)j(6.7)49 b Fu(Sho)m(w)34
b(that)145 5045 y Ft(\017)49 b(B)s Fu([)-17 b([)q Fs(b)6
b Fu([)p Fs(x)12 b Ft(7!)o Fs(a)7 b Fu(]])-17 b(])34
b(=)e Ft(B)t Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])q([)p
Fs(x)12 b Ft(7!)o(A)p Fu([)-17 b([)p Fs(a)7 b Fu(])-17
b(])q(])33 b(for)f(all)e Fs(b)39 b Fu(and)33 b Fs(a)7
b Fu(,)145 5257 y Ft(\017)49 b(B)s Fu([)-17 b([)q Fs(b)401
5272 y Fn(1)473 5257 y Ft(^)33 b Fs(b)623 5272 y Fn(2)662
5257 y Fu(])-17 b(])33 b(=)g Ft(B)s Fu([)-17 b([)q Fs(b)998
5272 y Fn(1)1037 5257 y Fu(])g(])33 b Ft(^)g(B)t Fu([)-17
b([)p Fs(b)1363 5272 y Fn(2)1403 5257 y Fu(])g(])33 b(for)f(all)e
Fs(b)1808 5272 y Fn(1)1880 5257 y Fu(and)j Fs(b)2121
5272 y Fn(2)2160 5257 y Fu(,)g(and)145 5470 y Ft(\017)49
b(B)s Fu([)-17 b([)q Ft(:)p Fs(b)6 b Fu(])-17 b(])33
b(=)g Ft(:B)t Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])33
b(for)f(all)f Fs(b)6 b Fu(.)2096 b Fh(2)p eop
%%Page: 178 188
178 187 bop 251 130 a Fw(178)1567 b(6)112 b(Axiomatic)35
b(Program)h(V)-9 b(eri\014cation)p 251 193 3473 4 v 283
419 V 283 2136 4 1717 v 715 528 a Fu([ass)867 543 y Fn(p)912
528 y Fu(])201 b Ft(f)32 b Fs(P)10 b Fu([)p Fs(x)i Ft(7!A)p
Fu([)-17 b([)q Fs(a)7 b Fu(])-17 b(]])33 b Ft(g)f Fs(x)45
b Fu(:=)32 b Fs(a)40 b Ft(f)32 b Fs(P)43 b Ft(g)715 696
y Fu([skip)913 711 y Fn(p)957 696 y Fu(])156 b Ft(f)32
b Fs(P)43 b Ft(g)33 b Fr(skip)g Ft(f)g Fs(P)42 b Ft(g)715
988 y Fu([comp)970 1003 y Fn(p)1013 988 y Fu(])1150 901
y Ft(f)32 b Fs(P)43 b Ft(g)33 b Fs(S)1491 916 y Fn(1)1562
901 y Ft(f)g Fs(Q)41 b Ft(g)p Fu(,)98 b Ft(f)32 b Fs(Q)42
b Ft(g)32 b Fs(S)2284 916 y Fn(2)2356 901 y Ft(f)g Fs(R)37
b Ft(g)p 1150 964 1479 4 v 1480 1069 a(f)c Fs(P)42 b
Ft(g)33 b Fs(S)1821 1084 y Fn(1)1860 1069 y Fu(;)g Fs(S)1987
1084 y Fn(2)2058 1069 y Ft(f)g Fs(R)j Ft(g)715 1327 y
Fu([if)800 1342 y Fn(p)843 1327 y Fu(])1150 1240 y Ft(f)c(B)t
Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])34 b Ft(^)e Fs(P)43
b Ft(g)33 b Fs(S)1817 1255 y Fn(1)1888 1240 y Ft(f)g
Fs(Q)41 b Ft(g)p Fu(,)98 b Ft(f)32 b(:)q(B)s Fu([)-17
b([)q Fs(b)6 b Fu(])-17 b(])33 b Ft(^)g Fs(P)43 b Ft(g)32
b Fs(S)2995 1255 y Fn(2)3067 1240 y Ft(f)g Fs(Q)42 b
Ft(g)p 1150 1303 2166 4 v 1486 1408 a(f)32 b Fs(P)43
b Ft(g)33 b Fr(if)g Fs(b)38 b Fr(then)c Fs(S)2283 1423
y Fn(1)2354 1408 y Fr(else)g Fs(S)2659 1423 y Fn(2)2731
1408 y Ft(f)e Fs(Q)42 b Ft(g)715 1666 y Fu([while)965
1681 y Fn(p)1008 1666 y Fu(])1437 1579 y Ft(f)32 b(B)t
Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])33 b Ft(^)g Fs(P)43
b Ft(g)33 b Fs(S)44 b Ft(f)32 b Fs(P)43 b Ft(g)p 1150
1642 1514 4 v 1150 1747 a(f)32 b Fs(P)43 b Ft(g)33 b
Fr(while)g Fs(b)39 b Fr(do)33 b Fs(S)44 b Ft(f)33 b(:B)t
Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])33 b Ft(^)g Fs(P)43
b Ft(g)715 2005 y Fu([cons)926 2020 y Fn(p)971 2005 y
Fu(])1183 1918 y Ft(f)32 b Fs(P)1341 1882 y Fi(0)1397
1918 y Ft(g)g Fs(S)45 b Ft(f)32 b Fs(Q)1745 1882 y Fi(0)1801
1918 y Ft(g)p 1150 1981 701 4 v 1190 2086 a(f)g Fs(P)43
b Ft(g)32 b Fs(S)45 b Ft(f)32 b Fs(Q)42 b Ft(g)1958 2005
y Fu(if)32 b Fs(P)43 b Ft(\))32 b Fs(P)2365 1968 y Fi(0)2421
2005 y Fu(and)h Fs(Q)2695 1968 y Fi(0)2751 2005 y Ft(\))f
Fs(Q)p 3753 2136 4 1717 v 283 2139 3473 4 v 925 2300
a Fu(T)-8 b(able)33 b(6.1:)43 b(Axiomatic)30 b(system)k(for)e(partial)e
(correctness)283 2588 y Fp(The)45 b(inference)g(system)283
2776 y Fu(The)32 b(partial)c(correctness)33 b(assertions)e(will)d(b)s
(e)i(sp)s(eci\014ed)i(b)m(y)f(an)g(inference)g(system)g(consist-)283
2897 y(ing)37 b(of)h(a)f(set)i(of)f(axioms)e(and)i(rules.)60
b(The)39 b(form)m(ulae)d(of)h(the)i(inference)f(system)h(ha)m(v)m(e)g
(the)283 3017 y(form)527 3229 y Ft(f)33 b Fs(P)43 b Ft(g)32
b Fs(S)44 b Ft(f)33 b Fs(Q)41 b Ft(g)283 3440 y Fu(where)35
b Fs(S)45 b Fu(is)33 b(a)g(statemen)m(t)h(in)e(the)i(language)e
Fw(While)g Fu(and)h Fs(P)44 b Fu(and)33 b Fs(Q)42 b Fu(are)34
b(predicates.)46 b(The)283 3561 y(axioms)35 b(and)h(rules)g(are)g
(summarized)f(in)g(T)-8 b(able)36 b(6.1)g(and)g(will)d(b)s(e)k
(explained)e(b)s(elo)m(w.)54 b(The)283 3681 y(inference)34
b(system)f(sp)s(eci\014es)h(an)e Fs(axiomatic)i(semantics)40
b Fu(for)32 b Fw(While)p Fu(.)430 3803 y(The)h(axiom)e(for)h(assignmen)
m(t)h(statemen)m(ts)g(is)527 4015 y Ft(f)g Fs(P)10 b
Fu([)p Fs(x)i Ft(7!A)o Fu([)-17 b([)q Fs(a)7 b Fu(])-17
b(])q(])32 b Ft(g)g Fs(x)45 b Fu(:=)32 b Fs(a)40 b Ft(f)32
b Fs(P)43 b Ft(g)283 4227 y Fu(This)34 b(axiom)e(assumes)j(that)f(the)g
(execution)g(of)f Fs(x)46 b Fu(:=)33 b Fs(a)41 b Fu(starts)34
b(in)f(a)h(state)g Fs(s)42 b Fu(that)33 b(satis\014es)283
4347 y Fs(P)10 b Fu([)p Fs(x)i Ft(7!A)p Fu([)-17 b([)p
Fs(a)7 b Fu(])-17 b(])q(],)26 b(that)d(is)g(in)f(a)h(state)h
Fs(s)31 b Fu(where)25 b Fs(s)8 b Fu([)p Fs(x)k Ft(7!A)o
Fu([)-17 b([)q Fs(a)7 b Fu(])-17 b(])q Fs(s)8 b Fu(])23
b(satis\014es)h Fs(P)10 b Fu(.)24 b(The)g(axiom)e(expresses)283
4467 y(that)29 b(if)f(the)h(execution)h(of)f Fs(x)40
b Fu(:=)29 b Fs(a)36 b Fu(terminates)29 b(\(whic)m(h)g(will)e(alw)m(a)m
(ys)i(b)s(e)h(the)f(case\))h(then)f(the)283 4588 y(\014nal)38
b(state)h(will)c(satisfy)k Fs(P)10 b Fu(.)38 b(F)-8 b(rom)37
b(the)i(earlier)d(de\014nitions)i(of)g(the)g(seman)m(tics)h(of)e
Fw(While)283 4708 y Fu(w)m(e)30 b(kno)m(w)f(that)f(the)h(\014nal)e
(state)i(will)d(b)s(e)j Fs(s)8 b Fu([)p Fs(x)k Ft(7!)o(A)p
Fu([)-17 b([)p Fs(a)7 b Fu(])-17 b(])q Fs(s)8 b Fu(])29
b(so)f(it)f(is)h(easy)h(to)f(see)i(that)e(the)g(axiom)283
4829 y(is)33 b(plausible.)430 4951 y(F)-8 b(or)32 b Fr(skip)h
Fu(the)g(axiom)e(is)527 5162 y Ft(f)i Fs(P)43 b Ft(g)32
b Fr(skip)h Ft(f)g Fs(P)43 b Ft(g)283 5374 y Fu(Th)m(us)i(if)d
Fs(P)53 b Fu(holds)42 b(b)s(efore)h Fr(skip)h Fu(is)f(executed)i(then)e
(it)f(also)g(holds)h(afterw)m(ards.)75 b(This)43 b(is)283
5494 y(clearly)32 b(plausible)f(as)i Fr(skip)g Fu(do)s(es)g(nothing.)p
eop
%%Page: 179 189
179 188 bop 0 130 a Fw(6.2)112 b(P)m(artial)36 b(correctness)h
(assertions)1619 b(179)p 0 193 3473 4 v 146 515 a Fu(Axioms)28
b([ass)647 530 y Fn(p)692 515 y Fu(])h(and)g([skip)1132
530 y Fn(p)1175 515 y Fu(])g(are)g(really)f Fs(axiom)j(schemes)36
b Fu(generating)28 b(separate)i(axioms)0 636 y(for)g(eac)m(h)g(c)m
(hoice)h(of)e(predicate)i Fs(P)10 b Fu(.)30 b(The)h(meaning)e(of)g(the)
i(remaining)d(constructs)j(are)f(giv)m(en)0 756 y(b)m(y)39
b(rules)f(of)f(inference)i(rather)f(than)g(axiom)e(sc)m(hemes.)62
b(Eac)m(h)38 b(suc)m(h)i(rule)d(sp)s(eci\014es)i(a)f(w)m(a)m(y)0
877 y(of)i(deducing)g(an)g(assertion)h(ab)s(out)e(a)h(comp)s(ound)g
(construct)i(from)c(assertions)j(ab)s(out)f(its)0 997
y(constituen)m(ts.)45 b(F)-8 b(or)31 b(comp)s(osition)g(the)i(rule)f
(is:)254 1175 y Ft(f)g Fs(P)43 b Ft(g)32 b Fs(S)594 1190
y Fn(1)666 1175 y Ft(f)g Fs(Q)42 b Ft(g)p Fu(,)98 b Ft(f)32
b Fs(Q)42 b Ft(g)32 b Fs(S)1388 1190 y Fn(2)1460 1175
y Ft(f)g Fs(R)37 b Ft(g)p 254 1238 1479 4 v 584 1343
a(f)32 b Fs(P)43 b Ft(g)32 b Fs(S)924 1358 y Fn(1)964
1343 y Fu(;)g Fs(S)1090 1358 y Fn(2)1162 1343 y Ft(f)g
Fs(R)37 b Ft(g)0 1520 y Fu(This)42 b(sa)m(ys)h(that)e(if)g
Fs(P)52 b Fu(holds)41 b(prior)f(to)i(the)g(execution)g(of)f
Fs(S)2334 1535 y Fn(1)2373 1520 y Fu(;)47 b Fs(S)2514
1535 y Fn(2)2594 1520 y Fu(and)42 b(if)f(the)h(execution)0
1641 y(terminates)i(then)g(w)m(e)i(can)e(conclude)h(that)f
Fs(R)k Fu(holds)c(in)g(the)h(\014nal)e(state)i(pro)m(vided)g(that)0
1761 y(there)33 b(is)f(a)h(predicate)f Fs(Q)42 b Fu(for)32
b(whic)m(h)h(w)m(e)h(can)f(deduce)h(that)145 1957 y Ft(\017)49
b Fu(if)28 b Fs(S)397 1972 y Fn(1)466 1957 y Fu(is)h(executed)j(from)c
(a)h(state)h(where)h Fs(P)40 b Fu(holds)29 b(and)h(if)e(it)h
(terminates)g(then)h Fs(Q)39 b Fu(will)244 2077 y(hold)32
b(for)g(the)h(\014nal)e(state,)j(and)e(that)145 2278
y Ft(\017)49 b Fu(if)28 b Fs(S)397 2293 y Fn(2)466 2278
y Fu(is)h(executed)j(from)d(a)g(state)h(where)h Fs(Q)39
b Fu(holds)29 b(and)h(if)e(it)h(terminates)g(then)h Fs(R)k
Fu(will)244 2398 y(hold)e(for)g(the)h(\014nal)e(state.)0
2594 y(The)j(rule)e(for)g(the)h(conditional)d(is)254
2752 y Ft(f)i(B)t Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])33
b Ft(^)g Fs(P)43 b Ft(g)32 b Fs(S)920 2767 y Fn(1)992
2752 y Ft(f)h Fs(Q)41 b Ft(g)p Fu(,)98 b Ft(f)32 b(:B)t
Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])33 b Ft(^)g Fs(P)43
b Ft(g)33 b Fs(S)2099 2767 y Fn(2)2170 2752 y Ft(f)g
Fs(Q)41 b Ft(g)p 254 2815 2166 4 v 590 2920 a(f)32 b
Fs(P)43 b Ft(g)32 b Fr(if)h Fs(b)39 b Fr(then)33 b Fs(S)1386
2935 y Fn(1)1458 2920 y Fr(else)h Fs(S)1763 2935 y Fn(2)1835
2920 y Ft(f)e Fs(Q)42 b Ft(g)0 3098 y Fu(The)30 b(rule)e(sa)m(ys)i
(that)f(if)f Fr(if)h Fs(b)34 b Fr(then)c Fs(S)1396 3113
y Fn(1)1464 3098 y Fr(else)g Fs(S)1765 3113 y Fn(2)1833
3098 y Fu(is)e(executed)j(from)d(a)g(state)i(where)g
Fs(P)39 b Fu(holds)0 3218 y(and)44 b(if)e(it)h(terminates,)j(then)f
Fs(Q)52 b Fu(will)42 b(hold)h(for)g(the)h(\014nal)f(state)i(pro)m
(vided)f(that)f(w)m(e)i(can)0 3339 y(deduce)34 b(that)145
3534 y Ft(\017)49 b Fu(if)32 b Fs(S)401 3549 y Fn(1)474
3534 y Fu(is)i(executed)h(from)e(a)g(state)h(where)h
Fs(P)44 b Fu(and)34 b Fs(b)40 b Fu(hold)33 b(and)h(if)e(it)h
(terminates)g(then)244 3655 y Fs(Q)42 b Fu(holds)32 b(on)g(the)h
(\014nal)f(state,)h(and)g(that)145 3856 y Ft(\017)49
b Fu(if)28 b Fs(S)397 3871 y Fn(2)466 3856 y Fu(is)h(executed)j(from)c
(a)h(state)h(where)h Fs(P)40 b Fu(and)30 b Ft(:)p Fs(b)36
b Fu(hold)28 b(and)i(if)e(it)h(terminates)g(then)244
3976 y Fs(Q)42 b Fu(holds)32 b(on)g(the)h(\014nal)f(state.)0
4172 y(The)i(rule)e(for)g(the)h(iterativ)m(e)e(statemen)m(t)j(is)557
4330 y Ft(f)e(B)t Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])33
b Ft(^)g Fs(P)43 b Ft(g)33 b Fs(S)44 b Ft(f)32 b Fs(P)43
b Ft(g)p 254 4393 1514 4 v 254 4498 a(f)32 b Fs(P)43
b Ft(g)32 b Fr(while)i Fs(b)39 b Fr(do)33 b Fs(S)44 b
Ft(f)32 b(:)q(B)s Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(])33
b Ft(^)g Fs(P)43 b Ft(g)0 4676 y Fu(The)36 b(predicate)g
Fs(P)46 b Fu(is)35 b(called)f(an)h Fs(invariant)44 b
Fu(for)35 b(the)h Fr(while)p Fu(-lo)s(op)f(and)h(the)f(idea)g(is)g
(that)g(it)0 4796 y(will)29 b(hold)h Fs(b)-5 b(efor)g(e)37
b Fu(and)31 b Fs(after)42 b Fu(eac)m(h)31 b(execution)h(of)e(the)h(b)s
(o)s(dy)g Fs(S)43 b Fu(of)30 b(the)h(lo)s(op.)42 b(The)32
b(rule)e(sa)m(ys)0 4916 y(that)f(if)f(additionally)e
Fs(b)35 b Fu(is)28 b(true)i(b)s(efore)f(eac)m(h)h(execution)g(of)e(the)
i(b)s(o)s(dy)f(of)f(the)i(lo)s(op)d(then)j Ft(:)q Fs(b)0
5037 y Fu(will)g(b)s(e)j(true)g(when)h(the)f(execution)g(of)f(the)h
Fr(while)p Fu(-lo)s(op)f(has)h(terminated.)146 5157 y(T)-8
b(o)33 b(complete)f(the)h(inference)g(system)h(w)m(e)f(need)h(one)f
(more)e(rule)i(of)f(inference)286 5335 y Ft(f)h Fs(P)445
5299 y Fi(0)501 5335 y Ft(g)f Fs(S)45 b Ft(f)32 b Fs(Q)849
5299 y Fi(0)905 5335 y Ft(g)p 254 5398 701 4 v 293 5503
a(f)h Fs(P)43 b Ft(g)32 b Fs(S)44 b Ft(f)33 b Fs(Q)41
b Ft(g)1062 5421 y Fu(if)32 b Fs(P)42 b Ft(\))33 b Fs(P)1469
5385 y Fi(0)1525 5421 y Fu(and)f Fs(Q)1798 5385 y Fi(0)1854
5421 y Ft(\))h Fs(Q)p eop
%%Page: 180 190
180 189 bop 251 130 a Fw(180)1567 b(6)112 b(Axiomatic)35
b(Program)h(V)-9 b(eri\014cation)p 251 193 3473 4 v 283
515 a Fu(This)38 b(rule)e(sa)m(ys)i(that)f(w)m(e)h(can)f(strengthen)h
(the)g(precondition)d Fs(P)2771 479 y Fi(0)2832 515 y
Fu(and)i(w)m(eak)m(en)i(the)e(p)s(ost-)283 636 y(condition)32
b Fs(Q)796 600 y Fi(0)819 636 y Fu(.)43 b(This)33 b(rule)f(is)g(often)h
(called)e(the)i Fs(rule)i(of)g(c)-5 b(onse)g(quenc)g(e)p
Fu(.)430 756 y(Note)25 b(that)f(T)-8 b(able)24 b(6.1)g(sp)s(eci\014es)i
(a)e(set)i(of)e(axioms)f(and)i(rules)g(just)g(as)f(the)i(tables)e
(de\014ning)283 877 y(the)k(op)s(erational)c(seman)m(tics)j(in)f
(Chapter)i(2.)41 b(The)28 b(analogue)e(of)g(a)h(deriv)-5
b(ation)25 b(tree)j(will)c(no)m(w)283 997 y(b)s(e)i(called)e(an)h
Fs(infer)-5 b(enc)g(e)27 b(tr)-5 b(e)g(e)33 b Fu(since)25
b(it)f(sho)m(ws)j(ho)m(w)f(to)f(infer)f(that)h(a)g(certain)g(prop)s
(ert)m(y)h(holds.)283 1117 y(Th)m(us)39 b(the)f(lea)m(v)m(es)g(of)f(an)
h(inference)f(tree)h(will)d(b)s(e)j(instances)g(of)f(axioms)f(and)h
(the)h(in)m(ternal)283 1238 y(no)s(des)h(will)d(corresp)s(ond)j(to)e
(instances)i(of)f(rules.)60 b(W)-8 b(e)38 b(shall)f(sa)m(y)h(that)g
(the)h(inference)f(tree)283 1358 y(giv)m(es)33 b(a)g
Fs(pr)-5 b(o)g(of)53 b Fu(of)32 b(the)h(prop)s(ert)m(y)g(expressed)j(b)
m(y)d(its)f(ro)s(ot.)43 b(W)-8 b(e)33 b(shall)e(write)527
1560 y Ft(`)588 1575 y Fn(p)664 1560 y Ft(f)h Fs(P)43
b Ft(g)33 b Fs(S)44 b Ft(f)32 b Fs(Q)42 b Ft(g)283 1762
y Fu(for)g(the)h(pro)m(v)-5 b(abilit)m(y)40 b(of)i(the)g(assertion)h
Ft(f)f Fs(P)52 b Ft(g)42 b Fs(S)54 b Ft(f)42 b Fs(Q)51
b Ft(g)p Fu(.)72 b(An)43 b(inference)g(tree)f(is)g(called)283
1882 y Fs(simple)35 b Fu(if)27 b(it)h(is)f(an)i(instance)f(of)g(one)h
(of)e(the)i(axioms)e(and)i(otherwise)g(it)e(is)h(called)f
Fs(c)-5 b(omp)g(osite)p Fu(.)283 2109 y Fw(Example)37
b(6.8)49 b Fu(Consider)29 b(the)f(statemen)m(t)h Fr(while)h(true)f(do)f
(skip)p Fu(.)44 b(F)-8 b(rom)26 b([skip)3325 2124 y Fn(p)3369
2109 y Fu(])i(w)m(e)i(ha)m(v)m(e)283 2229 y(\(omitting)g(the)j
Ft(B)s Fu([)-17 b([)q Ft(\001)17 b(\001)g(\001)n Fu(])-17
b(])q(\))527 2431 y Ft(`)588 2446 y Fn(p)664 2431 y Ft(f)32
b Fr(true)i Ft(g)e Fr(skip)i Ft(f)e Fr(true)i Ft(g)283
2633 y Fu(Since)c(\()p Fr(true)g Ft(^)f Fr(true)p Fu(\))h
Ft(\))f Fr(true)h Fu(w)m(e)g(can)g(apply)e(the)i(rule)e(of)h
(consequence)j([cons)3339 2648 y Fn(p)3383 2633 y Fu(])e(and)f(get)527
2835 y Ft(`)588 2850 y Fn(p)664 2835 y Ft(f)j Fr(true)i
Ft(^)f Fr(true)h Ft(g)e Fr(skip)h Ft(f)g Fr(true)g Ft(g)283
3037 y Fu(Hence)h(b)m(y)g(the)f(rule)f([while)1322 3052
y Fn(p)1365 3037 y Fu(])g(w)m(e)i(get)527 3240 y Ft(`)588
3255 y Fn(p)664 3240 y Ft(f)e Fr(true)i Ft(g)e Fr(while)i(true)g(do)f
(skip)g Ft(f)g(:)p Fr(true)h Ft(^)f Fr(true)g Ft(g)283
3442 y Fu(W)-8 b(e)33 b(ha)m(v)m(e)h(that)f Ft(:)p Fr(true)h
Ft(^)f Fr(true)g Ft(\))f Fr(true)i Fu(so)f(b)m(y)g(applying)f([cons)
2763 3457 y Fn(p)2807 3442 y Fu(])g(once)i(more)d(w)m(e)j(get)527
3644 y Ft(`)588 3659 y Fn(p)664 3644 y Ft(f)e Fr(true)i
Ft(g)e Fr(while)i(true)g(do)f(skip)g Ft(f)g Fr(true)g
Ft(g)283 3846 y Fu(The)h(inference)f(ab)s(o)m(v)m(e)h(can)e(b)s(e)h
(summarized)f(b)m(y)h(the)g(follo)m(wing)d(inference)j(tree:)1109
4039 y Ft(f)g Fr(true)g Ft(g)g Fr(skip)g Ft(f)g Fr(true)g
Ft(g)p 527 4126 2174 4 v 941 4331 a(f)f Fr(true)i Ft(^)f
Fr(true)h Ft(g)e Fr(skip)h Ft(f)g Fr(true)g Ft(g)p 527
4417 V 577 4622 a(f)f Fr(true)i Ft(g)e Fr(while)i(true)g(do)f(skip)g
Ft(f)g(:)p Fr(true)h Ft(^)f Fr(true)g Ft(g)p 527 4709
V 779 4913 a(f)f Fr(true)i Ft(g)e Fr(while)i(true)f(do)g(skip)h
Ft(f)e Fr(true)i Ft(g)283 5114 y Fu(It)44 b(is)e(no)m(w)i(easy)g(to)e
(see)j(that)d(w)m(e)i(cannot)g(claim)c(that)j Ft(f)g
Fs(P)53 b Ft(g)43 b Fs(S)55 b Ft(f)42 b Fs(Q)52 b Ft(g)43
b Fu(means)g(that)g Fs(S)283 5234 y Fu(will)38 b(terminate)g(in)h(a)g
(state)h(satisfying)f Fs(Q)48 b Fu(when)41 b(it)e(is)g(started)h(in)f
(a)g(state)h(satisfying)e Fs(P)10 b Fu(.)283 5355 y(F)-8
b(or)28 b(the)g(assertion)h Ft(f)j Fr(true)i Ft(g)e Fr(while)i(true)f
(do)g(skip)h Ft(f)e Fr(true)i Ft(g)28 b Fu(this)g(reading)f(w)m(ould)h
(mean)283 5475 y(that)33 b(the)g(program)e(w)m(ould)i(alw)m(a)m(ys)g
(terminate)e(and)i(clearly)e(this)i(is)f(not)g(the)h(case.)256
b Fh(2)p eop
%%Page: 181 191
181 190 bop 0 130 a Fw(6.2)112 b(P)m(artial)36 b(correctness)h
(assertions)1619 b(181)p 0 193 3473 4 v 0 515 a(Example)37
b(6.9)48 b Fu(T)-8 b(o)32 b(illustrate)e(the)i(use)h(of)e(the)i
(axiomatic)c(seman)m(tics)j(for)f(v)m(eri\014cation)g(w)m(e)0
636 y(shall)g(pro)m(v)m(e)j(the)f(assertion)244 850 y
Ft(f)f Fr(x)h Fu(=)f Fr(n)h Ft(g)244 1017 y Fr(y)g Fu(:=)f
Fr(1)p Fu(;)h Fr(while)h Ft(:)p Fu(\()p Fr(x)p Fu(=)p
Fr(1)p Fu(\))f Fr(do)g Fu(\()p Fr(y)g Fu(:=)f Fr(y)p
Fo(?)p Fr(x)p Fu(;)h Fr(x)g Fu(:=)g Fr(x)p Ft(\000)p
Fr(1)p Fu(\))244 1185 y Ft(f)f Fr(y)h Fu(=)f Fr(n)p Fu(!)44
b Ft(^)33 b Fr(n)g Fo(>)f Fr(0)h Ft(g)0 1399 y Fu(where,)h(for)e(the)h
(sak)m(e)h(of)e(readabilit)m(y)-8 b(,)31 b(w)m(e)i(write)g
Fr(y)f Fu(=)h Fr(n)p Fu(!)43 b Ft(^)33 b Fr(n)g Fo(>)g
Fr(0)f Fu(for)g(the)h(predicate)244 1613 y Fs(P)43 b
Fu(where)34 b Fs(P)42 b(s)f Fu(=)32 b(\()p Fs(s)41 b
Fr(y)33 b Fu(=)f(\()p Fs(s)41 b Fr(n)p Fu(\)!)i Ft(^)33
b Fs(s)41 b Fr(n)33 b Fo(>)f Fw(0)p Fu(\))0 1827 y(The)f(inference)g
(of)f(this)g(assertion)g(pro)s(ceeds)h(in)f(a)g(n)m(um)m(b)s(er)h(of)e
(stages.)44 b(First)29 b(w)m(e)i(de\014ne)h(the)0 1948
y(predicate)h Fs(INV)51 b Fu(that)32 b(is)g(going)f(to)i(b)s(e)f(the)h
(in)m(v)-5 b(arian)m(t)32 b(of)g(the)h Fr(while)p Fu(-lo)s(op:)244
2162 y Fs(INV)51 b(s)41 b Fu(=)32 b(\()p Fs(s)41 b Fr(x)32
b Fo(>)h Fw(0)f Fu(implies)e(\(\()p Fs(s)41 b Fr(y)p
Fu(\))33 b Fo(?)f Fu(\()p Fs(s)40 b Fr(x)p Fu(\)!)k(=)32
b(\()p Fs(s)41 b Fr(n)p Fu(\)!)j(and)32 b Fs(s)41 b Fr(n)33
b Ft(\025)g Fs(s)40 b Fr(x)p Fu(\)\))0 2376 y(W)-8 b(e)33
b(shall)e(then)i(consider)g(the)g(b)s(o)s(dy)g(of)f(the)h(lo)s(op.)42
b(Using)32 b([ass)2370 2391 y Fn(p)2414 2376 y Fu(])h(w)m(e)h(get)244
2590 y Ft(`)305 2605 y Fn(p)381 2590 y Ft(f)e Fs(INV)19
b Fu([)p Fr(x)p Ft(7!)p Fr(x)p Ft(\000)p Fr(1)p Fu(])33
b Ft(g)g Fr(x)f Fu(:=)h Fr(x)p Ft(\000)p Fr(1)g Ft(f)g
Fs(INV)51 b Ft(g)0 2804 y Fu(Similarly)-8 b(,)29 b(w)m(e)k(get)244
3018 y Ft(`)305 3033 y Fn(p)381 3018 y Ft(f)f Fu(\()p
Fs(INV)19 b Fu([)p Fr(x)p Ft(7!)p Fr(x)p Ft(\000)p Fr(1)p
Fu(]\)[)p Fr(y)p Ft(7!)q Fr(y)p Fo(?)p Fr(x)p Fu(])32
b Ft(g)h Fr(y)g Fu(:=)f Fr(y)h Fo(?)f Fr(x)h Ft(f)f Fs(INV)19
b Fu([)p Fr(x)p Ft(7!)p Fr(x)p Ft(\000)p Fr(1)p Fu(])34
b Ft(g)0 3232 y Fu(W)-8 b(e)33 b(can)g(no)m(w)g(apply)f(the)h(rule)f
([comp)1436 3247 y Fn(p)1479 3232 y Fu(])h(to)f(the)h(t)m(w)m(o)h
(assertions)f(ab)s(o)m(v)m(e)g(and)g(get)244 3446 y Ft(`)305
3461 y Fn(p)381 3446 y Ft(f)f Fu(\()p Fs(INV)19 b Fu([)p
Fr(x)p Ft(7!)p Fr(x)p Ft(\000)p Fr(1)p Fu(]\)[)p Fr(y)p
Ft(7!)q Fr(y)p Fo(?)p Fr(x)p Fu(])32 b Ft(g)h Fr(y)g
Fu(:=)f Fr(y)h Fo(?)f Fr(x)p Fu(;)h Fr(x)g Fu(:=)f Fr(x)p
Ft(\000)p Fr(1)i Ft(f)e Fs(INV)51 b Ft(g)0 3661 y Fu(It)33
b(is)f(easy)h(to)g(v)m(erify)g(that)244 3875 y(\()p Ft(:)p
Fu(\()p Fr(x)p Fu(=)p Fr(1)p Fu(\))g Ft(^)g Fs(INV)19
b Fu(\))32 b Ft(\))g Fu(\()p Fs(INV)19 b Fu([)p Fr(x)p
Ft(7!)p Fr(x)p Ft(\000)p Fr(1)p Fu(]\)[)p Fr(y)p Ft(7!)q
Fr(y)p Fo(?)p Fr(x)p Fu(])0 4089 y(so)33 b(using)f(the)h(rule)f([cons)
949 4104 y Fn(p)993 4089 y Fu(])h(w)m(e)h(get)244 4303
y Ft(`)305 4318 y Fn(p)381 4303 y Ft(f)e(:)p Fu(\()p
Fr(x)h Fu(=)f Fr(1)p Fu(\))h Ft(^)g Fs(INV)51 b Ft(g)33
b Fr(y)f Fu(:=)h Fr(y)g Fo(?)f Fr(x)p Fu(;)h Fr(x)g Fu(:=)f
Fr(x)p Ft(\000)p Fr(1)i Ft(f)e Fs(INV)51 b Ft(g)0 4517
y Fu(W)-8 b(e)33 b(are)g(no)m(w)g(in)f(a)g(p)s(osition)f(to)h(use)h
(the)g(rule)g([while)2002 4532 y Fn(p)2044 4517 y Fu(])g(and)f(get)244
4731 y Ft(`)305 4746 y Fn(p)381 4731 y Ft(f)g Fs(INV)51
b Ft(g)381 4899 y Fr(while)33 b Ft(:)q Fu(\()p Fr(x)p
Fu(=)p Fr(1)p Fu(\))g Fr(do)g Fu(\()p Fr(y)f Fu(:=)h
Fr(y)p Fo(?)p Fr(x)p Fu(;)g Fr(x)g Fu(:=)f Fr(x)p Ft(\000)p
Fr(1)p Fu(\))381 5066 y Ft(f:)p Fu(\()p Ft(:)p Fu(\()p
Fr(x)h Fu(=)f Fr(1)p Fu(\)\))h Ft(^)g Fs(INV)51 b Ft(g)0
5280 y Fu(Clearly)32 b(w)m(e)h(ha)m(v)m(e)244 5494 y
Ft(:)p Fu(\()p Ft(:)q Fu(\()p Fr(x)f Fu(=)h Fr(1)p Fu(\)\))f
Ft(^)h Fs(INV)51 b Ft(\))33 b Fr(y)f Fu(=)h Fr(n)p Fu(!)44
b Ft(^)32 b Fr(n)h Fo(>)g Fr(0)p eop
%%Page: 182 192
182 191 bop 251 130 a Fw(182)1567 b(6)112 b(Axiomatic)35
b(Program)h(V)-9 b(eri\014cation)p 251 193 3473 4 v 283
515 a Fu(so)33 b(applying)f(rule)g([cons)1208 530 y Fn(p)1252
515 y Fu(])h(w)m(e)g(get)552 683 y Ft(`)613 698 y Fn(p)689
683 y Ft(f)f Fs(INV)51 b Ft(g)33 b Fr(while)h Ft(:)p
Fu(\()p Fr(x)p Fu(=)p Fr(1)p Fu(\))f Fr(do)g Fu(\()p
Fr(y)g Fu(:=)f Fr(y)p Fo(?)p Fr(x)p Fu(;)h Fr(x)g Fu(:=)f
Fr(x)p Ft(\000)p Fr(1)p Fu(\))i Ft(f)e Fr(y)h Fu(=)f
Fr(n)p Fu(!)44 b Ft(^)33 b Fr(n)g Fo(>)f Fr(0)h Ft(g)283
851 y Fu(W)-8 b(e)33 b(shall)f(no)m(w)h(apply)f(the)h(axiom)e([ass)1761
866 y Fn(p)1805 851 y Fu(])i(to)f(the)h(statemen)m(t)g
Fr(y)g Fu(:=)f Fr(1)h Fu(and)g(get)527 1054 y Ft(`)588
1069 y Fn(p)664 1054 y Ft(f)f Fs(INV)19 b Fu([)p Fr(y)p
Ft(7!)p Fr(1)p Fu(])33 b Ft(g)f Fr(y)h Fu(:=)g Fr(1)f
Ft(f)h Fs(INV)51 b Ft(g)283 1258 y Fu(Using)33 b(that)527
1462 y Fr(x)g Fu(=)g Fr(n)f Ft(\))g Fs(INV)19 b Fu([)p
Fr(y)p Ft(7!)p Fr(1)p Fu(])283 1666 y(together)33 b(with)f([cons)1101
1681 y Fn(p)1146 1666 y Fu(])g(w)m(e)i(get)527 1870 y
Ft(`)588 1885 y Fn(p)664 1870 y Ft(f)e Fr(x)h Fu(=)g
Fr(n)f Ft(g)h Fr(y)f Fu(:=)h Fr(1)g Ft(f)f Fs(INV)51
b Ft(g)283 2074 y Fu(Finally)-8 b(,)30 b(w)m(e)k(can)f(use)g(the)g
(rule)f([comp)1743 2089 y Fn(p)1787 2074 y Fu(])g(and)h(get)527
2278 y Ft(`)588 2293 y Fn(p)664 2278 y Ft(f)f Fr(x)h
Fu(=)g Fr(n)f Ft(g)664 2445 y Fr(y)h Fu(:=)f Fr(1)p Fu(;)h
Fr(while)h Ft(:)q Fu(\()p Fr(x)p Fu(=)p Fr(1)p Fu(\))e
Fr(do)h Fu(\()p Fr(y)g Fu(:=)g Fr(y)p Fo(?)p Fr(x)p Fu(;)f
Fr(x)h Fu(:=)g Fr(x)p Ft(\000)p Fr(1)p Fu(\))664 2613
y Ft(f)f Fr(y)h Fu(=)g Fr(n)p Fu(!)43 b Ft(^)33 b Fr(n)g
Fo(>)f Fr(0)h Ft(g)283 2817 y Fu(as)g(required.)2902
b Fh(2)283 3046 y Fw(Exercise)37 b(6.10)49 b Fu(Sp)s(ecify)42
b(a)f(form)m(ula)f(expressing)k(the)e(partial)e(correctness)k(prop)s
(ert)m(y)e(of)283 3166 y(the)g(program)f(of)g(Exercise)h(6.1.)70
b(Construct)43 b(an)e(inference)h(tree)g(giving)e(a)i(pro)s(of)e(of)h
(this)283 3287 y(prop)s(ert)m(y)34 b(using)e(the)h(inference)g(system)h
(of)e(T)-8 b(able)32 b(6.1.)1312 b Fh(2)283 3516 y Fw(Exercise)37
b(6.11)49 b Fu(Suggest)e(an)f(inference)h(rule)f(for)g
Fr(repeat)i Fs(S)58 b Fr(until)48 b Fs(b)6 b Fu(.)85
b(Y)-8 b(ou)47 b(are)f(not)283 3636 y(allo)m(w)m(ed)32
b(to)h(rely)f(on)g(the)h(existence)i(of)d(a)g Fr(while)p
Fu(-construct)i(in)e(the)h(language.)427 b Fh(2)283 3865
y Fw(Exercise)37 b(6.12)49 b Fu(Suggest)31 b(an)f(inference)g(rule)g
(for)g Fr(for)h Fs(x)42 b Fu(:=)30 b Fs(a)2671 3880 y
Fn(1)2741 3865 y Fr(to)g Fs(a)2930 3880 y Fn(2)3000 3865
y Fr(do)h Fs(S)12 b Fu(.)30 b(Y)-8 b(ou)30 b(are)g(not)283
3985 y(allo)m(w)m(ed)i(to)h(rely)f(on)g(the)h(existence)i(of)d(a)g
Fr(while)p Fu(-construct)i(in)e(the)h(language.)427 b
Fh(2)283 4275 y Fp(Prop)t(erties)46 b(of)f(the)h(seman)l(tics)283
4460 y Fu(In)27 b(the)f(op)s(erational)d(and)j(denotational)e(seman)m
(tics)i(w)m(e)h(de\014ned)g(a)e(notion)g(of)g(t)m(w)m(o)i(programs)283
4580 y(b)s(eing)39 b(seman)m(tically)e(equiv)-5 b(alen)m(t.)63
b(W)-8 b(e)39 b(can)h(de\014ne)g(a)f(similar)c(notion)j(for)h(the)g
(axiomatic)283 4700 y(seman)m(tics:)74 b(Tw)m(o)48 b(programs)f
Fs(S)1539 4715 y Fn(1)1625 4700 y Fu(and)h Fs(S)1897
4715 y Fn(2)1984 4700 y Fu(are)f Fs(pr)-5 b(ovably)48
b(e)-5 b(quivalent)56 b Fu(according)47 b(to)g(the)283
4821 y(axiomatic)35 b(seman)m(tics)h(of)g(T)-8 b(able)37
b(6.1)f(if)f(for)h(all)f(preconditions)h Fs(P)47 b Fu(and)36
b(p)s(ostconditions)g Fs(Q)283 4941 y Fu(w)m(e)e(ha)m(v)m(e)527
5145 y Ft(`)588 5160 y Fn(p)664 5145 y Ft(f)e Fs(P)43
b Ft(g)33 b Fs(S)1005 5160 y Fn(1)1076 5145 y Ft(f)g
Fs(Q)41 b Ft(g)98 b Fu(if)31 b(and)i(only)f(if)96 b Ft(`)2131
5160 y Fn(p)2207 5145 y Ft(f)32 b Fs(P)43 b Ft(g)33 b
Fs(S)2548 5160 y Fn(2)2619 5145 y Ft(f)g Fs(Q)41 b Ft(g)283
5374 y Fw(Exercise)c(6.13)49 b Fu(Sho)m(w)32 b(that)e(the)i(follo)m
(wing)c(statemen)m(ts)k(of)e Fw(While)f Fu(are)i(pro)m(v)-5
b(ably)31 b(equiv-)283 5494 y(alen)m(t)i(in)e(the)i(ab)s(o)m(v)m(e)h
(sense:)p eop
%%Page: 183 193
183 192 bop 0 130 a Fw(6.3)112 b(Soundness)40 b(and)e(completeness)1647
b(183)p 0 193 3473 4 v 145 515 a Ft(\017)49 b Fs(S)12
b Fu(;)32 b Fr(skip)i Fu(and)f Fs(S)145 718 y Ft(\017)49
b Fs(S)311 733 y Fn(1)350 718 y Fu(;)33 b(\()p Fs(S)515
733 y Fn(2)554 718 y Fu(;)g Fs(S)681 733 y Fn(3)720 718
y Fu(\))f(and)h(\()p Fs(S)1085 733 y Fn(1)1124 718 y
Fu(;)g Fs(S)1251 733 y Fn(2)1290 718 y Fu(\);)g Fs(S)1455
733 y Fn(3)3398 718 y Fh(2)146 944 y Fu(Pro)s(ofs)c(of)f(prop)s(erties)
h(of)f(the)h(axiomatic)d(seman)m(tics)j(will)d(often)j(pro)s(ceed)g(b)m
(y)h Fs(induction)0 1064 y(on)k(the)h(shap)-5 b(e)34
b(of)h(the)g(infer)-5 b(enc)g(e)34 b(tr)-5 b(e)g(e)p
Fu(:)p 0 1213 3470 4 v 0 1230 V -2 1438 4 208 v 15 1438
V 716 1359 a Fw(Induction)32 b(on)h(the)f(Shap)s(e)i(of)f(Inference)g
(T)-9 b(rees)p 3452 1438 V 3469 1438 V 0 1441 3470 4
v -2 1810 4 370 v 15 1810 V 66 1606 a Fu(1:)143 b(Pro)m(v)m(e)29
b(that)e(the)h(prop)s(ert)m(y)g(holds)f(for)f(all)f(the)j(simple)e
(inference)i(trees)g(b)m(y)g(sho)m(wing)285 1727 y(that)33
b(it)e(holds)h(for)g(the)h Fs(axioms)40 b Fu(of)32 b(the)h(inference)g
(system.)p 3452 1810 V 3469 1810 V -2 2339 4 529 v 15
2339 V 66 1894 a(2:)143 b(Pro)m(v)m(e)36 b(that)f(the)g(prop)s(ert)m(y)
g(holds)g(for)f(all)e(comp)s(osite)i(inference)h(trees:)49
b(F)-8 b(or)33 b(eac)m(h)285 2015 y Fs(rule)51 b Fu(assume)43
b(that)g(the)h(prop)s(ert)m(y)f(holds)g(for)f(its)h(premises)g(\(this)g
(is)f(called)g(the)285 2135 y Fs(induction)33 b(hyp)-5
b(othesis)p Fu(\))30 b(and)h(that)g(the)g(conditions)f(of)g(the)i(rule)
e(are)h(satis\014ed)g(and)285 2255 y(then)i(pro)m(v)m(e)h(that)f(it)e
(also)h(holds)g(for)g(the)h(conclusion)f(of)g(the)h(rule.)p
3452 2339 V 3469 2339 V 0 2342 3470 4 v 0 2359 V 0 2547
a Fw(Exercise)j(6.14)49 b Fu(**)26 b(Using)g(the)h(inference)f(rule)g
(for)g Fr(repeat)i Fs(S)38 b Fr(until)27 b Fs(b)32 b
Fu(giv)m(en)27 b(in)e(Exercise)0 2667 y(6.11)f(sho)m(w)j(that)d
Fr(repeat)j Fs(S)37 b Fr(until)26 b Fs(b)31 b Fu(is)24
b(pro)m(v)-5 b(ably)25 b(equiv)-5 b(alen)m(t)25 b(to)g
Fs(S)12 b Fu(;)25 b Fr(while)h Ft(:)p Fs(b)31 b Fr(do)26
b Fs(S)12 b Fu(.)25 b(Hin)m(t:)0 2788 y(it)34 b(is)h(not)h(to)s(o)e
(hard)i(to)f(sho)m(w)h(that)g(what)f(is)g(pro)m(v)-5
b(able)35 b(ab)s(out)g Fr(repeat)i Fs(S)47 b Fr(until)37
b Fs(b)k Fu(is)35 b(also)0 2908 y(pro)m(v)-5 b(able)32
b(ab)s(out)g Fs(S)12 b Fu(;)33 b Fr(while)h Ft(:)p Fs(b)k
Fr(do)c Fs(S)12 b Fu(.)1934 b Fh(2)0 3134 y Fw(Exercise)36
b(6.15)49 b Fu(Sho)m(w)28 b(that)e Ft(`)1209 3149 y Fn(p)1279
3134 y Ft(f)g Fs(P)37 b Ft(g)26 b Fs(S)38 b Ft(f)27 b
Fr(true)g Ft(g)g Fu(for)f(all)e(statemen)m(ts)k Fs(S)38
b Fu(and)26 b(prop)s(erties)0 3254 y Fs(P)10 b Fu(.)3295
b Fh(2)0 3586 y Fj(6.3)161 b(Soundness)50 b(and)k(completeness)0
3806 y Fu(W)-8 b(e)37 b(shall)d(no)m(w)j(address)h(the)f(relationship)d
(b)s(et)m(w)m(een)k(the)f(inference)g(system)g(of)f(T)-8
b(able)36 b(6.1)0 3926 y(and)28 b(the)g(op)s(erational)d(and)j
(denotational)e(seman)m(tics)i(of)f(the)h(previous)g(c)m(hapters.)44
b(W)-8 b(e)28 b(shall)0 4046 y(pro)m(v)m(e)34 b(that)145
4248 y Ft(\017)49 b Fu(the)40 b(inference)h(system)f(is)g
Fs(sound)p Fu(:)57 b(if)39 b(some)h(partial)d(correctness)42
b(prop)s(ert)m(y)f(can)f(b)s(e)244 4368 y(pro)m(v)m(ed)34
b(using)e(the)g(inference)h(system)g(then)g(it)f(do)s(es)g(indeed)h
(hold)e(according)h(to)g(the)244 4488 y(seman)m(tics,)h(and)145
4691 y Ft(\017)49 b Fu(the)38 b(inference)h(system)g(is)e
Fs(c)-5 b(omplete)p Fu(:)54 b(if)37 b(some)g(partial)f(correctness)k
(prop)s(ert)m(y)f(do)s(es)244 4812 y(hold)27 b(according)h(to)g(the)g
(seman)m(tics)h(then)f(w)m(e)i(can)e(also)f(\014nd)i(a)f(pro)s(of)f
(for)h(it)f(using)h(the)244 4932 y(inference)33 b(system.)0
5133 y(The)41 b(completeness)f(result)g(can)g(only)g(b)s(e)g(pro)m(v)m
(ed)h(b)s(ecause)g(w)m(e)g(use)g(the)f(extensional)g(ap-)0
5254 y(proac)m(h)i(where)h(preconditions)e(and)h(p)s(ostconditions)f
(are)g(arbitrary)g(predicates.)71 b(In)42 b(the)0 5374
y(in)m(tensional)30 b(approac)m(h)i(w)m(e)h(only)e(ha)m(v)m(e)i(a)f(w)m
(eak)m(er)h(result;)f(w)m(e)h(shall)d(return)j(to)e(this)g(later)g(in)0
5494 y(this)h(section.)p eop
%%Page: 184 194
184 193 bop 251 130 a Fw(184)1567 b(6)112 b(Axiomatic)35
b(Program)h(V)-9 b(eri\014cation)p 251 193 3473 4 v 430
515 a Fu(As)34 b(the)f(op)s(erational)e(and)j(denotational)d(seman)m
(tics)i(are)h(equiv)-5 b(alen)m(t)33 b(w)m(e)h(only)f(need)h(to)283
636 y(consider)f(one)g(of)f(them)g(here)h(and)g(w)m(e)g(shall)e(c)m(ho)
s(ose)j(the)f(natural)e(seman)m(tics.)44 b(The)33 b(partial)283
756 y(correctness)i(assertion)e Ft(f)f Fs(P)43 b Ft(g)32
b Fs(S)45 b Ft(f)32 b Fs(Q)42 b Ft(g)32 b Fu(is)g(said)g(to)g(b)s(e)h
Fs(valid)42 b Fu(if)32 b(and)g(only)g(if)527 981 y(for)g(all)e(states)k
Fs(s)8 b Fu(,)32 b(if)f Fs(P)43 b(s)d Fu(=)32 b Fw(tt)g
Fu(and)g Ft(h)p Fs(S)12 b Fu(,)p Fs(s)c Ft(i)32 b(!)g
Fs(s)2323 945 y Fi(0)2378 981 y Fu(for)g(some)g Fs(s)2819
945 y Fi(0)2875 981 y Fu(then)h Fs(Q)41 b(s)3261 945
y Fi(0)3317 981 y Fu(=)32 b Fw(tt)283 1206 y Fu(and)h(w)m(e)h(shall)d
(write)h(this)g(as)527 1431 y Ft(j)-17 b Fu(=)614 1446
y Fn(p)690 1431 y Ft(f)32 b Fs(P)43 b Ft(g)33 b Fs(S)44
b Ft(f)32 b Fs(Q)42 b Ft(g)283 1656 y Fu(The)34 b(soundness)h(prop)s
(ert)m(y)e(is)f(then)h(expressed)j(b)m(y)527 1881 y Ft(`)588
1896 y Fn(p)664 1881 y Ft(f)c Fs(P)43 b Ft(g)33 b Fs(S)44
b Ft(f)32 b Fs(Q)42 b Ft(g)65 b Fu(implies)d Ft(j)-17
b Fu(=)1801 1896 y Fn(p)1877 1881 y Ft(f)33 b Fs(P)43
b Ft(g)32 b Fs(S)44 b Ft(f)33 b Fs(Q)41 b Ft(g)283 2106
y Fu(and)33 b(the)g(completeness)h(prop)s(ert)m(y)f(is)f(expressed)j(b)
m(y)527 2331 y Ft(j)-17 b Fu(=)614 2346 y Fn(p)690 2331
y Ft(f)32 b Fs(P)43 b Ft(g)33 b Fs(S)44 b Ft(f)32 b Fs(Q)42
b Ft(g)65 b Fu(implies)e Ft(`)1801 2346 y Fn(p)1877 2331
y Ft(f)33 b Fs(P)43 b Ft(g)32 b Fs(S)44 b Ft(f)33 b Fs(Q)41
b Ft(g)283 2556 y Fu(W)-8 b(e)33 b(ha)m(v)m(e)p 283 2681
3473 5 v 283 2881 a Fw(Theorem)38 b(6.16)49 b Fu(F)-8
b(or)31 b(all)g(partial)f(correctness)35 b(assertions)e
Ft(f)f Fs(P)43 b Ft(g)32 b Fs(S)45 b Ft(f)32 b Fs(Q)42
b Ft(g)32 b Fu(w)m(e)i(ha)m(v)m(e)552 3049 y Ft(j)-17
b Fu(=)639 3064 y Fn(p)715 3049 y Ft(f)32 b Fs(P)43 b
Ft(g)33 b Fs(S)44 b Ft(f)32 b Fs(Q)42 b Ft(g)65 b Fu(if)31
b(and)i(only)f(if)64 b Ft(`)2078 3064 y Fn(p)2154 3049
y Ft(f)32 b Fs(P)43 b Ft(g)32 b Fs(S)45 b Ft(f)32 b Fs(Q)41
b Ft(g)p 283 3169 V 283 3394 a Fu(It)33 b(is)f(customary)h(to)f(pro)m
(v)m(e)i(the)f(soundness)i(and)e(completeness)g(results)g(separately)-8
b(.)283 3709 y Fp(Soundness)283 3903 y Fu(W)g(e)33 b(shall)f(\014rst)h
(pro)m(v)m(e:)p 283 4028 V 283 4228 a Fw(Lemma)38 b(6.17)49
b Fu(The)29 b(inference)g(system)h(of)e(T)-8 b(able)28
b(6.1)g(is)g(sound,)i(that)f(is)f(for)g(ev)m(ery)i(partial)283
4348 y(correctness)35 b(form)m(ula)c Ft(f)h Fs(P)43 b
Ft(g)32 b Fs(S)45 b Ft(f)32 b Fs(Q)42 b Ft(g)32 b Fu(w)m(e)i(ha)m(v)m
(e)552 4516 y Ft(`)613 4531 y Fn(p)689 4516 y Ft(f)e
Fs(P)43 b Ft(g)33 b Fs(S)44 b Ft(f)32 b Fs(Q)42 b Ft(g)32
b Fu(implies)e Ft(j)-17 b Fu(=)1761 4531 y Fn(p)1837
4516 y Ft(f)32 b Fs(P)43 b Ft(g)33 b Fs(S)44 b Ft(f)32
b Fs(Q)42 b Ft(g)p 283 4636 V 283 4861 a Fw(Pro)s(of:)d
Fu(The)34 b(pro)s(of)f(is)g(b)m(y)h(induction)f(on)g(the)h(shap)s(e)g
(of)g(the)f(inference)i(tree)f(used)g(to)g(infer)283
4982 y Ft(`)344 4997 y Fn(p)420 4982 y Ft(f)f Fs(P)42
b Ft(g)33 b Fs(S)44 b Ft(f)32 b Fs(Q)42 b Ft(g)p Fu(.)47
b(This)34 b(amoun)m(ts)f(to)h(nothing)e(but)i(a)g(formalization)29
b(of)k(the)i(in)m(tuitions)283 5102 y(w)m(e)f(ga)m(v)m(e)g(when)f(in)m
(tro)s(ducing)f(the)h(axioms)e(and)i(rules.)283 5270
y Fw(The)g(case)g Fu([ass)891 5285 y Fn(p)936 5270 y
Fu(]:)43 b(W)-8 b(e)33 b(shall)e(pro)m(v)m(e)j(that)f(the)g(axiom)d(is)
j(v)-5 b(alid,)30 b(so)j(supp)s(ose)h(that)527 5494 y
Ft(h)p Fs(x)44 b Fu(:=)33 b Fs(a)7 b Fu(,)33 b Fs(s)8
b Ft(i)32 b(!)g Fs(s)1207 5458 y Fi(0)p eop
%%Page: 185 195
185 194 bop 0 130 a Fw(6.3)112 b(Soundness)40 b(and)e(completeness)1647
b(185)p 0 193 3473 4 v 0 515 a Fu(and)29 b(\()p Fs(P)10
b Fu([)p Fs(x)i Ft(7!A)o Fu([)-17 b([)q Fs(a)7 b Fu(])-17
b(])q(]\))29 b Fs(s)37 b Fu(=)29 b Fw(tt)p Fu(.)41 b(W)-8
b(e)30 b(shall)d(then)j(pro)m(v)m(e)g(that)f Fs(P)39
b(s)2356 479 y Fi(0)2409 515 y Fu(=)28 b Fw(tt)p Fu(.)42
b(F)-8 b(rom)27 b([ass)3074 530 y Fn(ns)3146 515 y Fu(])i(w)m(e)h(get)0
636 y(that)d Fs(s)254 600 y Fi(0)304 636 y Fu(=)g Fs(s)8
b Fu([)p Fs(x)k Ft(7!A)p Fu([)-17 b([)p Fs(a)7 b Fu(])-17
b(])q Fs(s)8 b Fu(])27 b(and)h(from)d(\()p Fs(P)10 b
Fu([)p Fs(x)i Ft(7!A)p Fu([)-17 b([)p Fs(a)7 b Fu(])-17
b(])q(]\))33 b Fs(s)40 b Fu(=)33 b Fw(tt)26 b Fu(w)m(e)i(get)f(that)g
Fs(P)38 b Fu(\()p Fs(s)8 b Fu([)p Fs(x)k Ft(7!)o(A)p
Fu([)-17 b([)p Fs(a)7 b Fu(])-17 b(])q Fs(s)8 b Fu(]\))0
756 y(=)32 b Fw(tt)p Fu(.)43 b(Th)m(us)34 b Fs(P)43 b(s)670
720 y Fi(0)726 756 y Fu(=)32 b Fw(tt)g Fu(as)h(w)m(as)g(to)g(b)s(e)f
(sho)m(wn.)0 924 y Fw(The)h(case)g Fu([skip)654 939 y
Fn(p)698 924 y Fu(]:)43 b(This)33 b(case)h(is)e(immediate)e(using)i
(the)h(clause)g([skip)2709 939 y Fn(ns)2780 924 y Fu(].)0
1091 y Fw(The)g(case)g Fu([comp)711 1106 y Fn(p)754 1091
y Fu(]:)44 b(W)-8 b(e)33 b(assume)g(that)244 1306 y Ft(j)-17
b Fu(=)331 1321 y Fn(p)407 1306 y Ft(f)32 b Fs(P)43 b
Ft(g)32 b Fs(S)747 1321 y Fn(1)819 1306 y Ft(f)g Fs(Q)42
b Ft(g)32 b Fu(and)h Ft(j)-17 b Fu(=)1377 1321 y Fn(p)1453
1306 y Ft(f)32 b Fs(Q)42 b Ft(g)32 b Fs(S)1801 1321 y
Fn(2)1873 1306 y Ft(f)g Fs(R)37 b Ft(g)0 1521 y Fu(and)d(w)m(e)g(ha)m
(v)m(e)h(to)f(pro)m(v)m(e)g(that)g Ft(j)-17 b Fu(=)1245
1536 y Fn(p)1322 1521 y Ft(f)33 b Fs(P)44 b Ft(g)33 b
Fs(S)1665 1536 y Fn(1)1705 1521 y Fu(;)h Fs(S)1833 1536
y Fn(2)1906 1521 y Ft(f)f Fs(R)38 b Ft(g)p Fu(.)46 b(So)34
b(consider)f(arbitrary)g(states)i Fs(s)0 1642 y Fu(and)e
Fs(s)238 1606 y Fi(00)313 1642 y Fu(suc)m(h)h(that)e
Fs(P)43 b(s)e Fu(=)32 b Fw(tt)g Fu(and)244 1857 y Ft(h)p
Fs(S)350 1872 y Fn(1)389 1857 y Fu(;)p Fs(S)483 1872
y Fn(2)522 1857 y Fu(,)h Fs(s)8 b Ft(i)32 b(!)g Fs(s)881
1821 y Fi(00)0 2072 y Fu(F)-8 b(rom)31 b([comp)511 2087
y Fn(ns)582 2072 y Fu(])i(w)m(e)g(get)g(that)f(there)h(is)g(a)f(state)h
Fs(s)1875 2036 y Fi(0)1931 2072 y Fu(suc)m(h)h(that)244
2287 y Ft(h)p Fs(S)350 2302 y Fn(1)389 2287 y Fu(,)f
Fs(s)8 b Ft(i)32 b(!)g Fs(s)748 2251 y Fi(0)869 2287
y Fu(and)98 b Ft(h)o Fs(S)1229 2302 y Fn(2)1269 2287
y Fu(,)32 b Fs(s)1376 2251 y Fi(0)1400 2287 y Ft(i)g(!)g
Fs(s)1651 2251 y Fi(00)0 2502 y Fu(F)-8 b(rom)37 b Ft(h)o
Fs(S)367 2517 y Fn(1)407 2502 y Fu(,)i Fs(s)8 b Ft(i)38
b(!)g Fs(s)784 2466 y Fi(0)807 2502 y Fu(,)i Fs(P)49
b(s)d Fu(=)38 b Fw(tt)f Fu(and)i Ft(j)-17 b Fu(=)1596
2517 y Fn(p)1678 2502 y Ft(f)38 b Fs(P)48 b Ft(g)38 b
Fs(S)2035 2517 y Fn(1)2113 2502 y Ft(f)g Fs(Q)47 b Ft(g)38
b Fu(w)m(e)h(get)g Fs(Q)47 b(s)2899 2466 y Fi(0)2960
2502 y Fu(=)38 b Fw(tt)p Fu(.)60 b(F)-8 b(rom)0 2622
y Ft(h)p Fs(S)106 2637 y Fn(2)145 2622 y Fu(,)33 b Fs(s)253
2586 y Fi(0)276 2622 y Ft(i)f(!)g Fs(s)527 2586 y Fi(00)570
2622 y Fu(,)g Fs(Q)41 b(s)793 2586 y Fi(0)848 2622 y
Fu(=)32 b Fw(tt)f Fu(and)h Ft(j)-17 b Fu(=)1351 2637
y Fn(p)1427 2622 y Ft(f)31 b Fs(Q)41 b Ft(g)32 b Fs(S)1773
2637 y Fn(2)1844 2622 y Ft(f)g Fs(R)k Ft(g)c Fu(it)f(follo)m(ws)f(that)
i Fs(R)k(s)2897 2586 y Fi(00)2971 2622 y Fu(=)c Fw(tt)f
Fu(as)h(w)m(as)0 2743 y(to)g(b)s(e)h(sho)m(wn.)0 2910
y Fw(The)g(case)g Fu([if)541 2925 y Fn(p)583 2910 y Fu(]:)44
b(Assume)33 b(that)244 3125 y Ft(j)-17 b Fu(=)331 3140
y Fn(p)407 3125 y Ft(f)32 b(B)s Fu([)-17 b([)q Fs(b)6
b Fu(])-17 b(])33 b Ft(^)g Fs(P)43 b Ft(g)32 b Fs(S)1073
3140 y Fn(1)1145 3125 y Ft(f)g Fs(Q)42 b Ft(g)32 b Fu(and)h
Ft(j)-17 b Fu(=)1703 3140 y Fn(p)1779 3125 y Ft(f)32
b(:)q(B)s Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(])33 b Ft(^)g
Fs(P)43 b Ft(g)32 b Fs(S)2512 3140 y Fn(2)2584 3125 y
Ft(f)g Fs(Q)42 b Ft(g)0 3340 y Fu(T)-8 b(o)31 b(pro)m(v)m(e)h
Ft(j)-17 b Fu(=)490 3355 y Fn(p)564 3340 y Ft(f)30 b
Fs(P)41 b Ft(g)31 b Fr(if)g Fs(b)37 b Fr(then)31 b Fs(S)1349
3355 y Fn(1)1419 3340 y Fr(else)h Fs(S)1722 3355 y Fn(2)1792
3340 y Ft(f)f Fs(Q)39 b Ft(g)31 b Fu(consider)g(arbitrary)f(states)h
Fs(s)39 b Fu(and)31 b Fs(s)3449 3304 y Fi(0)0 3461 y
Fu(suc)m(h)j(that)e Fs(P)43 b(s)e Fu(=)32 b Fw(tt)g Fu(and)244
3676 y Ft(h)p Fr(if)h Fs(b)38 b Fr(then)c Fs(S)806 3691
y Fn(1)877 3676 y Fr(else)g Fs(S)1182 3691 y Fn(2)1221
3676 y Fu(,)f Fs(s)8 b Ft(i)32 b(!)g Fs(s)1580 3639 y
Fi(0)0 3891 y Fu(There)i(are)f(t)m(w)m(o)h(cases.)46
b(If)33 b Ft(B)t Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])q
Fs(s)41 b Fu(=)33 b Fw(tt)f Fu(then)i(w)m(e)g(get)f(\()p
Ft(B)s Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(])33 b Ft(^)h
Fs(P)10 b Fu(\))33 b Fs(s)41 b Fu(=)33 b Fw(tt)f Fu(and)h(from)f([if)
3375 3906 y Fn(ns)3445 3891 y Fu(])0 4011 y(w)m(e)i(ha)m(v)m(e)244
4226 y Ft(h)p Fs(S)350 4241 y Fn(1)389 4226 y Fu(,)f
Fs(s)8 b Ft(i)32 b(!)g Fs(s)748 4190 y Fi(0)0 4441 y
Fu(F)-8 b(rom)39 b(the)i(\014rst)g(assumption)f(w)m(e)i(therefore)f
(get)f Fs(Q)50 b(s)2085 4405 y Fi(0)2149 4441 y Fu(=)40
b Fw(tt)p Fu(.)67 b(If)40 b Ft(B)t Fu([)-17 b([)p Fs(b)6
b Fu(])-17 b(])q Fs(s)48 b Fu(=)41 b Fw(\013)f Fu(the)h(result)0
4561 y(follo)m(ws)31 b(in)h(a)g(similar)e(w)m(a)m(y)j(from)f(the)h
(second)h(assumption.)0 4729 y Fw(The)f(case)g Fu([while)706
4744 y Fn(p)749 4729 y Fu(]:)43 b(Assume)34 b(that)244
4944 y Ft(j)-17 b Fu(=)331 4959 y Fn(p)407 4944 y Ft(f)32
b(B)s Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(])33 b Ft(^)g
Fs(P)43 b Ft(g)32 b Fs(S)45 b Ft(f)32 b Fs(P)43 b Ft(g)0
5159 y Fu(T)-8 b(o)35 b(pro)m(v)m(e)h Ft(j)-17 b Fu(=)498
5174 y Fn(p)577 5159 y Ft(f)35 b Fs(P)45 b Ft(g)35 b
Fr(while)h Fs(b)41 b Fr(do)36 b Fs(S)46 b Ft(f)35 b(:)q(B)s
Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(])35 b Ft(^)h Fs(P)45
b Ft(g)35 b Fu(consider)g(arbitrary)f(states)i Fs(s)43
b Fu(and)0 5279 y Fs(s)48 5243 y Fi(00)123 5279 y Fu(suc)m(h)34
b(that)e Fs(P)43 b(s)e Fu(=)32 b Fw(tt)g Fu(and)244 5494
y Ft(h)p Fr(while)h Fs(b)39 b Fr(do)33 b Fs(S)12 b Fu(,)32
b Fs(s)8 b Ft(i)33 b(!)f Fs(s)1216 5458 y Fi(00)p eop
%%Page: 186 196
186 195 bop 251 130 a Fw(186)1567 b(6)112 b(Axiomatic)35
b(Program)h(V)-9 b(eri\014cation)p 251 193 3473 4 v 283
515 a Fu(and)28 b(w)m(e)g(shall)e(sho)m(w)j(that)e(\()p
Ft(:B)t Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])q Ft(^)p
Fs(P)10 b Fu(\))28 b Fs(s)1827 479 y Fi(00)1897 515 y
Fu(=)f Fw(tt)p Fu(.)41 b(W)-8 b(e)27 b(shall)f(no)m(w)i(pro)s(ceed)g(b)
m(y)h(induction)d(on)283 636 y(the)33 b(shap)s(e)g(of)e(the)i(deriv)-5
b(ation)30 b(tree)j(in)e(the)i(natural)d(seman)m(tics.)44
b(One)32 b(of)g(t)m(w)m(o)h(cases)g(apply)-8 b(.)283
756 y(If)34 b Ft(B)t Fu([)-17 b([)q Fs(b)6 b Fu(])-17
b(])p Fs(s)41 b Fu(=)32 b Fw(\013)i Fu(then)h Fs(s)1137
720 y Fi(00)1214 756 y Fu(=)f Fs(s)42 b Fu(according)33
b(to)h([while)2217 720 y Fn(\013)2217 781 y(ns)2287 756
y Fu(])g(and)h(clearly)e(\()p Ft(:B)s Fu([)-17 b([)q
Fs(b)6 b Fu(])-17 b(])35 b Ft(^)f Fs(P)10 b Fu(\))34
b Fs(s)3482 720 y Fi(00)3559 756 y Fu(=)g Fw(tt)283 877
y Fu(as)f(required.)44 b(Next)34 b(consider)f(the)g(case)g(where)h
Ft(B)s Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(])p Fs(s)41
b Fu(=)32 b Fw(tt)g Fu(and)527 1085 y Ft(h)p Fs(S)12
b Fu(,)33 b Fs(s)8 b Ft(i)32 b(!)g Fs(s)992 1049 y Fi(0)1113
1085 y Fu(and)130 b Ft(h)p Fr(while)34 b Fs(b)k Fr(do)33
b Fs(S)12 b Fu(,)33 b Fs(s)2121 1049 y Fi(0)2144 1085
y Ft(i)f(!)g Fs(s)2395 1049 y Fi(00)283 1294 y Fu(for)38
b(some)h(state)g Fs(s)982 1258 y Fi(0)1005 1294 y Fu(.)61
b(Th)m(us)41 b(\()p Ft(B)s Fu([)-17 b([)q Fs(b)6 b Fu(])-17
b(])38 b Ft(^)h Fs(P)10 b Fu(\))39 b Fs(s)47 b Fu(=)38
b Fw(tt)g Fu(and)g(w)m(e)i(can)f(then)g(apply)f(the)h(assump-)283
1414 y(tion)f Ft(j)-17 b Fu(=)577 1429 y Fn(p)653 1414
y Ft(f)33 b(B)s Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(])33
b Ft(^)g Fs(P)42 b Ft(g)33 b Fs(S)44 b Ft(f)32 b Fs(P)43
b Ft(g)c Fu(and)g(get)g(that)g Fs(P)49 b(s)2378 1378
y Fi(0)2441 1414 y Fu(=)38 b Fw(tt)p Fu(.)62 b(The)40
b(induction)e(h)m(yp)s(othe-)283 1535 y(sis)g(can)g(no)m(w)h(b)s(e)e
(applied)g(to)g(the)i(deriv)-5 b(ation)36 b Ft(h)o Fr(while)e
Fs(b)39 b Fr(do)33 b Fs(S)12 b Fu(,)32 b Fs(s)2783 1499
y Fi(0)2807 1535 y Ft(i)g(!)g Fs(s)3058 1499 y Fi(00)3138
1535 y Fu(and)38 b(giv)m(es)g(that)283 1655 y(\()p Ft(:)q(B)s
Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(])33 b Ft(^)g Fs(P)10
b Fu(\))33 b Fs(s)909 1619 y Fi(00)984 1655 y Fu(=)f
Fw(tt)o Fu(.)44 b(This)32 b(completes)h(the)g(pro)s(of)f(of)g(this)g
(case.)283 1823 y Fw(The)h(case)g Fu([cons)950 1838 y
Fn(p)995 1823 y Fu(]:)43 b(Supp)s(ose)34 b(that)527 2032
y Ft(j)-17 b Fu(=)614 2047 y Fn(p)690 2032 y Ft(f)32
b Fs(P)848 1996 y Fi(0)905 2032 y Ft(g)g Fs(S)44 b Ft(f)33
b Fs(Q)1253 1996 y Fi(0)1309 2032 y Ft(g)f Fu(and)h Fs(P)43
b Ft(\))32 b Fs(P)1898 1996 y Fi(0)1986 2032 y Fu(and)h
Fs(Q)2260 1996 y Fi(0)2316 2032 y Ft(\))f Fs(Q)283 2240
y Fu(T)-8 b(o)33 b(pro)m(v)m(e)h Ft(j)-17 b Fu(=)777
2255 y Fn(p)853 2240 y Ft(f)32 b Fs(P)43 b Ft(g)32 b
Fs(S)45 b Ft(f)32 b Fs(Q)42 b Ft(g)32 b Fu(consider)h(states)g
Fs(s)41 b Fu(and)33 b Fs(s)2483 2204 y Fi(0)2539 2240
y Fu(suc)m(h)h(that)e Fs(P)43 b(s)d Fu(=)33 b Fw(tt)e
Fu(and)527 2449 y Ft(h)p Fs(S)12 b Fu(,)33 b Fs(s)8 b
Ft(i)32 b(!)g Fs(s)992 2413 y Fi(0)283 2658 y Fu(Since)e
Fs(P)39 b(s)e Fu(=)29 b Fw(tt)f Fu(and)h Fs(P)40 b Ft(\))28
b Fs(P)1434 2622 y Fi(0)1487 2658 y Fu(w)m(e)i(also)e(ha)m(v)m(e)j
Fs(P)2117 2622 y Fi(0)2169 2658 y Fs(s)38 b Fu(=)28 b
Fw(tt)h Fu(and)g(the)g(assumption)g(then)g(giv)m(es)283
2778 y(us)34 b(that)e Fs(Q)704 2742 y Fi(0)760 2778 y
Fs(s)808 2742 y Fi(0)864 2778 y Fu(=)g Fw(tt)p Fu(.)43
b(F)-8 b(rom)31 b Fs(Q)1470 2742 y Fi(0)1526 2778 y Ft(\))h
Fs(Q)42 b Fu(w)m(e)33 b(therefore)g(get)g Fs(Q)42 b(s)2655
2742 y Fi(0)2711 2778 y Fu(=)32 b Fw(tt)g Fu(as)g(required.)247
b Fh(2)283 3098 y Fw(Exercise)37 b(6.18)49 b Fu(Sho)m(w)38
b(that)g(the)g(inference)h(rule)e(for)g Fr(repeat)j Fs(S)49
b Fr(until)40 b Fs(b)j Fu(suggested)d(in)283 3219 y(Exercise)25
b(6.11)e(preserv)m(es)j(v)-5 b(alidit)m(y)d(.)38 b(Argue)24
b(that)f(this)g(means)h(that)f(the)h(en)m(tire)f(pro)s(of)g(system)283
3339 y(consisting)34 b(of)g(the)g(axioms)f(and)h(rules)g(of)g(T)-8
b(able)34 b(6.1)g(together)g(with)g(the)g(rule)g(of)f(Exercise)283
3460 y(6.11)f(is)g(sound.)2818 b Fh(2)283 3695 y Fw(Exercise)37
b(6.19)49 b Fu(De\014ne)33 b Ft(j)-17 b Fu(=)1364 3659
y Fi(0)1420 3695 y Ft(f)32 b Fs(P)43 b Ft(g)32 b Fs(S)45
b Ft(f)32 b Fs(Q)42 b Ft(g)32 b Fu(to)g(mean)g(that)527
3904 y(for)42 b(all)e(states)j Fs(s)50 b Fu(suc)m(h)43
b(that)f Fs(P)52 b(s)f Fu(=)41 b Fw(tt)h Fu(there)g(exists)h(a)f(state)
g Fs(s)3038 3868 y Fi(0)3104 3904 y Fu(suc)m(h)h(that)527
4025 y Fs(Q)f(s)692 3988 y Fi(0)748 4025 y Fu(=)32 b
Fw(tt)g Fu(and)h Ft(h)o Fs(S)12 b Fu(,)33 b Fs(s)8 b
Ft(i)32 b(!)g Fs(s)1630 3988 y Fi(0)283 4233 y Fu(Sho)m(w)h(that)e(it)f
(is)h Fs(not)40 b Fu(the)32 b(case)g(that)f Ft(`)1763
4248 y Fn(p)1838 4233 y Ft(f)g Fs(P)41 b Ft(g)31 b Fs(S)43
b Ft(f)31 b Fs(Q)41 b Ft(g)31 b Fu(implies)d Ft(j)-17
b Fu(=)2899 4197 y Fi(0)2954 4233 y Ft(f)31 b Fs(P)41
b Ft(g)31 b Fs(S)43 b Ft(f)31 b Fs(Q)41 b Ft(g)31 b Fu(and)283
4354 y(conclude)j(that)f(the)h(pro)s(of)e(system)i(of)f(T)-8
b(able)33 b(6.1)g(cannot)g(b)s(e)h(sound)g(with)f(resp)s(ect)h(to)f
(this)283 4474 y(de\014nition)f(of)g(v)-5 b(alidit)m(y)d(.)2515
b Fh(2)283 4770 y Fp(Completeness)47 b(\(in)e(the)h(extensional)g
(approac)l(h\))283 4957 y Fu(Before)35 b(turning)f(to)g(the)h(pro)s(of)
e(of)h(the)h(completeness)g(result)g(w)m(e)g(shall)e(consider)i(a)f(sp)
s(ecial)283 5077 y(predicate)f(wlp\()p Fs(S)12 b Fu(,)32
b Fs(Q)9 b Fu(\))33 b(de\014ned)h(for)e(eac)m(h)h(statemen)m(t)g
Fs(S)45 b Fu(and)33 b(predicate)f Fs(Q)9 b Fu(:)527 5286
y(wlp\()p Fs(S)j Fu(,)32 b Fs(Q)9 b Fu(\))33 b Fs(s)41
b Fu(=)32 b Fw(tt)283 5494 y Fu(if)g(and)h(only)f(if)f(for)h(all)f
(states)i Fs(s)1476 5458 y Fi(0)1499 5494 y Fu(,)p eop
%%Page: 187 197
187 196 bop 0 130 a Fw(6.3)112 b(Soundness)40 b(and)e(completeness)1647
b(187)p 0 193 3473 4 v 244 515 a Fu(if)31 b Ft(h)p Fs(S)12
b Fu(,)32 b Fs(s)8 b Ft(i)33 b(!)f Fs(s)798 479 y Fi(0)854
515 y Fu(then)h Fs(Q)42 b(s)1241 479 y Fi(0)1297 515
y Fu(=)32 b Fw(tt)0 719 y Fu(The)i(predicate)e(is)g(called)g(the)h
Fs(we)-5 b(akest)34 b(lib)-5 b(er)g(al)34 b(pr)-5 b(e)g(c)g(ondition)39
b Fu(for)32 b Fs(Q)42 b Fu(and)32 b(it)g(satis\014es:)p
0 839 3473 5 v 0 1014 a Fw(F)-9 b(act)37 b(6.20)49 b
Fu(F)-8 b(or)32 b(ev)m(ery)j(statemen)m(t)e Fs(S)44 b
Fu(and)33 b(predicate)f Fs(Q)42 b Fu(w)m(e)34 b(ha)m(v)m(e)145
1217 y Ft(\017)49 b(j)-17 b Fu(=)331 1232 y Fn(p)407
1217 y Ft(f)32 b Fu(wlp\()p Fs(S)12 b Fu(,)32 b Fs(Q)9
b Fu(\))33 b Ft(g)f Fs(S)44 b Ft(f)33 b Fs(Q)41 b Ft(g)1958
b Fu(\(*\))145 1421 y Ft(\017)49 b Fu(if)31 b Ft(j)-17
b Fu(=)420 1436 y Fn(p)496 1421 y Ft(f)32 b Fs(P)43 b
Ft(g)33 b Fs(S)44 b Ft(f)32 b Fs(Q)42 b Ft(g)32 b Fu(then)i
Fs(P)42 b Ft(\))33 b Fu(wlp\()p Fs(S)12 b Fu(,)32 b Fs(Q)9
b Fu(\))1247 b(\(**\))0 1625 y(meaning)31 b(that)i(wlp\()p
Fs(S)12 b Fu(,)32 b Fs(Q)9 b Fu(\))32 b(is)g(the)h(w)m(eak)m(est)i(p)s
(ossible)d(precondition)g(for)g Fs(S)44 b Fu(and)33 b
Fs(Q)9 b Fu(.)p 0 1745 V 0 1948 a Fw(Pro)s(of:)54 b Fu(T)-8
b(o)47 b(v)m(erify)h(that)e(\(*\))h(holds)g(let)f Fs(s)55
b Fu(and)48 b Fs(s)1971 1912 y Fi(0)2041 1948 y Fu(b)s(e)f(states)h
(suc)m(h)h(that)e Ft(h)p Fs(S)12 b Fu(,)47 b Fs(s)8 b
Ft(i)46 b(!)h Fs(s)3449 1912 y Fi(0)0 2069 y Fu(and)38
b(wlp\()p Fs(S)12 b Fu(,)33 b Fs(Q)9 b Fu(\))32 b Fs(s)41
b Fu(=)32 b Fw(tt)o Fu(.)61 b(F)-8 b(rom)37 b(the)i(de\014nition)e(of)h
(wlp\()p Fs(S)12 b Fu(,)38 b Fs(Q)9 b Fu(\))38 b(w)m(e)i(get)e(that)g
Fs(Q)47 b(s)3209 2033 y Fi(0)3271 2069 y Fu(=)38 b Fw(tt)0
2189 y Fu(as)k(required.)71 b(T)-8 b(o)42 b(v)m(erify)g(that)f(\(**\))g
(holds)h(assume)g(that)f Ft(j)-17 b Fu(=)2362 2204 y
Fn(p)2447 2189 y Ft(f)42 b Fs(P)52 b Ft(g)41 b Fs(S)54
b Ft(f)41 b Fs(Q)51 b Ft(g)41 b Fu(and)h(let)0 2310 y
Fs(P)h(s)d Fu(=)33 b Fw(tt)o Fu(.)55 b(If)36 b Ft(h)p
Fs(S)12 b Fu(,)32 b Fs(s)8 b Ft(i)33 b(!)f Fs(s)1033
2273 y Fi(0)1092 2310 y Fu(then)37 b Fs(Q)46 b(s)1487
2273 y Fi(0)1546 2310 y Fu(=)37 b Fw(tt)e Fu(\(b)s(ecause)j
Ft(j)-17 b Fu(=)2272 2325 y Fn(p)2351 2310 y Ft(f)36
b Fs(P)47 b Ft(g)36 b Fs(S)48 b Ft(f)36 b Fs(Q)46 b Ft(g)p
Fu(\))36 b(so)g(clearly)0 2430 y(wlp\()p Fs(S)12 b Fu(,)p
Fs(Q)d Fu(\))32 b Fs(s)41 b Fu(=)32 b Fw(tt)o Fu(.)2657
b Fh(2)0 2742 y Fw(Exercise)36 b(6.21)49 b Fu(Pro)m(v)m(e)34
b(that)f(the)g(predicate)f Fs(INV)52 b Fu(of)32 b(Example)g(6.9)g
(satis\014es)269 2909 y Fs(INV)51 b Fu(=)32 b(wlp\()p
Fr(while)i Ft(:)p Fu(\()p Fr(x)p Fu(=)p Fr(1)p Fu(\))f
Fr(do)g Fu(\()p Fr(y)g Fu(:=)f Fr(y)p Fo(?)p Fr(x)p Fu(;)h
Fr(x)g Fu(:=)f Fr(x)p Ft(\000)p Fu(1\),)i Fr(y)e Fu(=)h
Fr(n)p Fu(!)43 b Ft(^)33 b Fr(n)g Fo(>)g Fr(0)p Fu(\))164
b Fh(2)0 3138 y Fw(Exercise)36 b(6.22)49 b Fu(Another)f(in)m(teresting)
e(predicate)h(called)f(the)h Fs(str)-5 b(ongest)48 b(p)-5
b(ostc)g(ondition)0 3258 y Fu(for)32 b Fs(S)44 b Fu(and)33
b Fs(P)43 b Fu(can)33 b(b)s(e)g(de\014ned)h(b)m(y)244
3462 y(sp\()p Fs(P)10 b Fu(,)33 b Fs(S)12 b Fu(\))33
b Fs(s)696 3426 y Fi(0)752 3462 y Fu(=)f Fw(tt)0 3665
y Fu(if)f(and)i(only)f(if)244 3869 y(there)h(exists)h
Fs(s)40 b Fu(suc)m(h)34 b(that)f Ft(h)o Fs(S)12 b Fu(,)33
b Fs(s)8 b Ft(i)32 b(!)g Fs(s)1739 3833 y Fi(0)1795 3869
y Fu(and)h Fs(P)43 b(s)d Fu(=)33 b Fw(tt)0 4072 y Fu(Pro)m(v)m(e)h
(that)145 4276 y Ft(\017)49 b(j)-17 b Fu(=)331 4291 y
Fn(p)407 4276 y Ft(f)32 b Fs(P)43 b Ft(g)32 b Fs(S)45
b Ft(f)32 b Fu(sp\()p Fs(P)10 b Fu(,)34 b Fs(S)12 b Fu(\))32
b Ft(g)145 4479 y(\017)49 b Fu(if)31 b Ft(j)-17 b Fu(=)420
4494 y Fn(p)496 4479 y Ft(f)32 b Fs(P)43 b Ft(g)33 b
Fs(S)44 b Ft(f)32 b Fs(Q)42 b Ft(g)32 b Fu(then)i(sp\()p
Fs(P)10 b Fu(,)33 b Fs(S)12 b Fu(\))32 b Ft(\))h Fs(Q)0
4683 y Fu(Th)m(us)h(sp\()p Fs(P)10 b Fu(,)34 b Fs(S)12
b Fu(\))32 b(is)g(the)h(strongest)g(p)s(ossible)f(p)s(ostcondition)g
(for)g Fs(P)43 b Fu(and)32 b Fs(S)12 b Fu(.)544 b Fh(2)p
0 4912 V 0 5086 a Fw(Lemma)37 b(6.23)49 b Fu(The)d(inference)f(system)h
(of)e(T)-8 b(able)45 b(6.1)f(is)g(complete,)j(that)e(is)f(for)h(ev)m
(ery)0 5206 y(partial)30 b(correctness)35 b(form)m(ula)c
Ft(f)h Fs(P)43 b Ft(g)32 b Fs(S)45 b Ft(f)32 b Fs(Q)42
b Ft(g)32 b Fu(w)m(e)i(ha)m(v)m(e)269 5374 y Ft(j)-17
b Fu(=)356 5389 y Fn(p)432 5374 y Ft(f)32 b Fs(P)43 b
Ft(g)32 b Fs(S)44 b Ft(f)33 b Fs(Q)41 b Ft(g)33 b Fu(implies)d
Ft(`)1478 5389 y Fn(p)1554 5374 y Ft(f)i Fs(P)43 b Ft(g)32
b Fs(S)45 b Ft(f)32 b Fs(Q)42 b Ft(g)p 0 5494 V eop
%%Page: 188 198
188 197 bop 251 130 a Fw(188)1567 b(6)112 b(Axiomatic)35
b(Program)h(V)-9 b(eri\014cation)p 251 193 3473 4 v 283
515 a(Pro)s(of:)38 b Fu(The)33 b(completeness)h(result)e(follo)m(ws)f
(if)h(w)m(e)h(can)g(infer)552 683 y Ft(`)613 698 y Fn(p)689
683 y Ft(f)f Fu(wlp\()p Fs(S)12 b Fu(,)32 b Fs(Q)9 b
Fu(\))33 b Ft(g)f Fs(S)45 b Ft(f)32 b Fs(Q)42 b Ft(g)1958
b Fu(\(*\))283 851 y(for)32 b(all)f(statemen)m(ts)j Fs(S)44
b Fu(and)33 b(predicates)g Fs(Q)9 b Fu(.)33 b(T)-8 b(o)32
b(see)i(this)e(supp)s(ose)i(that)527 1046 y Ft(j)-17
b Fu(=)614 1061 y Fn(p)690 1046 y Ft(f)32 b Fs(P)43 b
Ft(g)33 b Fs(S)44 b Ft(f)32 b Fs(Q)42 b Ft(g)283 1242
y Fu(Then)34 b(F)-8 b(act)32 b(6.20)g(giv)m(es)h(that)527
1438 y Fs(P)43 b Ft(\))32 b Fu(wlp\()p Fs(S)12 b Fu(,)p
Fs(Q)d Fu(\))283 1633 y(so)33 b(that)g(\(*\))f(and)g([cons)1172
1648 y Fn(p)1217 1633 y Fu(])g(giv)m(e)527 1829 y Ft(`)588
1844 y Fn(p)664 1829 y Ft(f)g Fs(P)43 b Ft(g)33 b Fs(S)44
b Ft(f)32 b Fs(Q)42 b Ft(g)283 2025 y Fu(as)33 b(required.)430
2145 y(T)-8 b(o)32 b(pro)m(v)m(e)i(\(*\))e(w)m(e)i(pro)s(ceed)f(b)m(y)h
(structural)e(induction)g(on)g(the)h(statemen)m(t)g Fs(S)12
b Fu(.)283 2313 y Fw(The)33 b(case)g Fs(x)45 b Fu(:=)32
b Fs(a)7 b Fu(:)44 b(Based)33 b(on)g(the)g(natural)e(seman)m(tics)i(it)
f(is)g(easy)h(to)g(v)m(erify)g(that)527 2508 y(wlp\()p
Fs(x)44 b Fu(:=)33 b Fs(a)7 b Fu(,)33 b Fs(Q)9 b Fu(\))32
b(=)h Fs(Q)9 b Fu([)p Fs(x)j Ft(7!)o(A)p Fu([)-17 b([)p
Fs(a)7 b Fu(])-17 b(])q(])283 2704 y(so)33 b(the)g(result)g(follo)m(ws)
e(directly)h(from)f([ass)1900 2719 y Fn(p)1945 2704 y
Fu(].)283 2872 y Fw(The)i(case)g Fr(skip)p Fu(:)45 b(Since)33
b(wlp\()p Fr(skip)p Fu(,)g Fs(Q)9 b Fu(\))33 b(=)f Fs(Q)42
b Fu(the)33 b(result)f(follo)m(ws)g(from)f([skip)3292
2887 y Fn(p)3336 2872 y Fu(].)283 3039 y Fw(The)i(case)g
Fs(S)806 3054 y Fn(1)846 3039 y Fu(;)p Fs(S)940 3054
y Fn(2)979 3039 y Fu(:)44 b(The)33 b(induction)f(h)m(yp)s(othesis)h
(applied)f(to)g Fs(S)2692 3054 y Fn(1)2764 3039 y Fu(and)g
Fs(S)3020 3054 y Fn(2)3092 3039 y Fu(giv)m(es)527 3235
y Ft(`)588 3250 y Fn(p)664 3235 y Ft(f)g Fu(wlp\()p Fs(S)1003
3250 y Fn(2)1042 3235 y Fu(,)h Fs(Q)9 b Fu(\))33 b Ft(g)f
Fs(S)1406 3250 y Fn(2)1478 3235 y Ft(f)g Fs(Q)42 b Ft(g)283
3431 y Fu(and)527 3626 y Ft(`)588 3641 y Fn(p)664 3626
y Ft(f)32 b Fu(wlp\()p Fs(S)1003 3641 y Fn(1)1042 3626
y Fu(,)h(wlp\()p Fs(S)1359 3641 y Fn(2)1398 3626 y Fu(,)g
Fs(Q)9 b Fu(\)\))32 b Ft(g)g Fs(S)1799 3641 y Fn(1)1871
3626 y Ft(f)h Fu(wlp\()p Fs(S)2211 3641 y Fn(2)2249 3626
y Fu(,)g Fs(Q)9 b Fu(\))33 b Ft(g)283 3822 y Fu(so)g(that)g([comp)870
3837 y Fn(p)913 3822 y Fu(])f(giv)m(es)527 4018 y Ft(`)588
4033 y Fn(p)664 4018 y Ft(f)g Fu(wlp\()p Fs(S)1003 4033
y Fn(1)1042 4018 y Fu(,)h(wlp\()p Fs(S)1359 4033 y Fn(2)1398
4018 y Fu(,)g Fs(Q)9 b Fu(\)\))32 b Ft(g)g Fs(S)1799
4033 y Fn(1)1839 4018 y Fu(;)p Fs(S)1933 4033 y Fn(2)2005
4018 y Ft(f)g Fs(Q)42 b Ft(g)283 4213 y Fu(W)-8 b(e)33
b(shall)f(no)m(w)h(pro)m(v)m(e)h(that)527 4409 y(wlp\()p
Fs(S)784 4424 y Fn(1)823 4409 y Fu(;)p Fs(S)917 4424
y Fn(2)957 4409 y Fu(,)e Fs(Q)9 b Fu(\))33 b Ft(\))f
Fu(wlp\()p Fs(S)1560 4424 y Fn(1)1599 4409 y Fu(,)h(wlp\()p
Fs(S)1916 4424 y Fn(2)1955 4409 y Fu(,)f Fs(Q)9 b Fu(\)\))283
4605 y(as)27 b(then)h([cons)825 4620 y Fn(p)869 4605
y Fu(])f(will)d(giv)m(e)j(the)g(required)g(pro)s(of)f(in)g(the)h
(inference)h(system.)42 b(So)27 b(assume)g(that)283 4725
y(wlp\()p Fs(S)540 4740 y Fn(1)579 4725 y Fu(;)p Fs(S)673
4740 y Fn(2)713 4725 y Fu(,)j Fs(Q)9 b Fu(\))30 b Fs(s)37
b Fu(=)30 b Fw(tt)e Fu(and)i(w)m(e)h(shall)d(sho)m(w)j(that)e(wlp\()p
Fs(S)2478 4740 y Fn(1)2517 4725 y Fu(,)k(wlp\()p Fs(S)2834
4740 y Fn(2)2873 4725 y Fu(,)f Fs(Q)9 b Fu(\)\))33 b
Fs(s)41 b Fu(=)32 b Fw(tt)o Fu(.)43 b(This)29 b(is)283
4845 y(ob)m(vious)36 b(unless)f(there)h(is)e(a)h(state)g
Fs(s)1654 4809 y Fi(0)1713 4845 y Fu(suc)m(h)h(that)f
Ft(h)p Fs(S)2255 4860 y Fn(1)2294 4845 y Fu(,)g Fs(s)8
b Ft(i)35 b(!)g Fs(s)2661 4809 y Fi(0)2719 4845 y Fu(and)g(then)h(w)m
(e)g(m)m(ust)f(pro)m(v)m(e)283 4966 y(that)j(wlp\()p
Fs(S)757 4981 y Fn(2)796 4966 y Fu(,)i Fs(Q)9 b Fu(\))38
b Fs(s)1071 4930 y Fi(0)1132 4966 y Fu(=)g Fw(tt)p Fu(.)60
b(Ho)m(w)m(ev)m(er,)42 b(this)37 b(is)h(ob)m(vious)g(to)s(o)g(unless)h
(there)f(is)g(a)g(state)g Fs(s)3713 4930 y Fi(00)283
5086 y Fu(suc)m(h)33 b(that)e Ft(h)p Fs(S)818 5101 y
Fn(2)857 5086 y Fu(,)i Fs(s)965 5050 y Fi(0)988 5086
y Ft(i)f(!)g Fs(s)1239 5050 y Fi(00)1313 5086 y Fu(and)f(then)h(w)m(e)g
(m)m(ust)f(pro)m(v)m(e)i(that)e Fs(Q)40 b(s)2739 5050
y Fi(00)2812 5086 y Fu(=)31 b Fw(tt)p Fu(.)43 b(But)31
b(b)m(y)h([comp)3658 5101 y Fn(ns)3729 5086 y Fu(])283
5206 y(w)m(e)i(ha)m(v)m(e)g Ft(h)p Fs(S)758 5221 y Fn(1)797
5206 y Fu(;)p Fs(S)891 5221 y Fn(2)930 5206 y Fu(,)f
Fs(s)8 b Ft(i)32 b(!)g Fs(s)1289 5170 y Fi(00)1365 5206
y Fu(so)g(that)h Fs(Q)41 b(s)1860 5170 y Fi(00)1935 5206
y Fu(=)33 b Fw(tt)e Fu(follo)m(ws)h(from)f(wlp\()p Fs(S)2971
5221 y Fn(1)3010 5206 y Fu(;)p Fs(S)3104 5221 y Fn(2)3143
5206 y Fu(,)i Fs(Q)9 b Fu(\))33 b Fs(s)40 b Fu(=)33 b
Fw(tt)o Fu(.)283 5374 y Fw(The)g(case)g Fr(if)g Fs(b)38
b Fr(then)c Fs(S)1262 5389 y Fn(1)1333 5374 y Fr(else)g
Fs(S)1638 5389 y Fn(2)1677 5374 y Fu(:)43 b(The)33 b(induction)f(h)m
(yp)s(othesis)h(applied)f(to)g Fs(S)3389 5389 y Fn(1)3460
5374 y Fu(and)h Fs(S)3717 5389 y Fn(2)283 5494 y Fu(giv)m(es)p
eop
%%Page: 189 199
189 198 bop 0 130 a Fw(6.3)112 b(Soundness)40 b(and)e(completeness)1647
b(189)p 0 193 3473 4 v 244 515 a Ft(`)305 530 y Fn(p)381
515 y Ft(f)32 b Fu(wlp\()p Fs(S)720 530 y Fn(1)759 515
y Fu(,)h Fs(Q)9 b Fu(\))32 b Ft(g)g Fs(S)1122 530 y Fn(1)1194
515 y Ft(f)h Fs(Q)41 b Ft(g)33 b Fu(and)f Ft(`)1726 530
y Fn(p)1802 515 y Ft(f)g Fu(wlp\()p Fs(S)2141 530 y Fn(2)2180
515 y Fu(,)h Fs(Q)9 b Fu(\))32 b Ft(g)h Fs(S)2544 530
y Fn(2)2616 515 y Ft(f)f Fs(Q)42 b Ft(g)0 722 y Fu(De\014ne)33
b(the)g(predicate)g Fs(P)43 b Fu(b)m(y)244 929 y Fs(P)g
Fu(=)32 b(\()p Ft(B)t Fu([)-17 b([)p Fs(b)6 b Fu(])-17
b(])33 b Ft(^)g Fu(wlp\()p Fs(S)1082 944 y Fn(1)1121
929 y Fu(,)g Fs(Q)9 b Fu(\)\))32 b Ft(_)h Fu(\()p Ft(:B)t
Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(])33 b Ft(^)g Fu(wlp\()p
Fs(S)2160 944 y Fn(2)2198 929 y Fu(,)g Fs(Q)9 b Fu(\)\))0
1136 y(Then)34 b(w)m(e)f(ha)m(v)m(e)244 1343 y(\()p Ft(B)s
Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(])33 b Ft(^)g Fs(P)10
b Fu(\))33 b Ft(\))f Fu(wlp\()p Fs(S)1144 1358 y Fn(1)1183
1343 y Fu(,)g Fs(Q)9 b Fu(\))33 b(and)g(\()p Ft(:B)s
Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(])33 b Ft(^)g Fs(P)10
b Fu(\))33 b Ft(\))f Fu(wlp\()p Fs(S)2553 1358 y Fn(2)2592
1343 y Fu(,)h Fs(Q)9 b Fu(\))0 1550 y(so)33 b([cons)331
1565 y Fn(p)375 1550 y Fu(])g(can)f(b)s(e)h(applied)f(t)m(wice)h(and)f
(giv)m(es)244 1757 y Ft(`)305 1772 y Fn(p)381 1757 y
Ft(f)g(B)s Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(])33 b
Ft(^)g Fs(P)43 b Ft(g)32 b Fs(S)1047 1772 y Fn(1)1119
1757 y Ft(f)g Fs(Q)42 b Ft(g)32 b Fu(and)h Ft(`)1651
1772 y Fn(p)1727 1757 y Ft(f)f(:B)t Fu([)-17 b([)q Fs(b)6
b Fu(])-17 b(])33 b Ft(^)g Fs(P)42 b Ft(g)33 b Fs(S)2460
1772 y Fn(2)2532 1757 y Ft(f)f Fs(Q)42 b Ft(g)0 1964
y Fu(Using)32 b([if)359 1979 y Fn(p)402 1964 y Fu(])g(w)m(e)i
(therefore)f(get)244 2171 y Ft(`)305 2186 y Fn(p)381
2171 y Ft(f)f Fs(P)43 b Ft(g)32 b Fr(if)h Fs(b)39 b Fr(then)33
b Fs(S)1177 2186 y Fn(1)1249 2171 y Fr(else)h Fs(S)1554
2186 y Fn(2)1625 2171 y Ft(f)f Fs(Q)41 b Ft(g)0 2378
y Fu(T)-8 b(o)33 b(see)g(that)g(this)f(is)g(the)h(desired)g(result)g
(it)e(su\016ces)k(to)d(sho)m(w)i(that)244 2585 y(wlp\()p
Fr(if)f Fs(b)38 b Fr(then)c Fs(S)957 2600 y Fn(1)1028
2585 y Fr(else)g Fs(S)1333 2600 y Fn(2)1372 2585 y Fu(,)f
Fs(Q)9 b Fu(\))32 b Ft(\))h Fs(P)0 2792 y Fu(and)g(this)f(is)g(straigh)
m(tforw)m(ard)g(b)m(y)i(cases)g(on)e(the)h(v)-5 b(alue)32
b(of)g Fs(b)6 b Fu(.)0 2959 y Fw(The)33 b(case)g Fr(while)h
Fs(b)k Fr(do)33 b Fs(S)12 b Fu(:)33 b(De\014ne)g(the)g(predicate)g
Fs(P)43 b Fu(b)m(y)244 3166 y Fs(P)g Fu(=)32 b(wlp\()p
Fr(while)i Fs(b)k Fr(do)33 b Fs(S)12 b Fu(,)33 b Fs(Q)9
b Fu(\))0 3373 y(W)-8 b(e)33 b(\014rst)g(sho)m(w)h(that)269
3541 y(\()p Ft(:B)t Fu([)-17 b([)p Fs(b)6 b Fu(])-17
b(])33 b Ft(^)g Fs(P)10 b Fu(\))33 b Ft(\))f Fs(Q)2246
b Fu(\(**\))269 3708 y(\()p Ft(B)s Fu([)-17 b([)q Fs(b)6
b Fu(])-17 b(])33 b Ft(^)g Fs(P)10 b Fu(\))33 b Ft(\))f
Fu(wlp\()p Fs(S)12 b Fu(,)p Fs(P)e Fu(\))1940 b(\(***\))0
3876 y(T)-8 b(o)36 b(v)m(erify)h(\(**\))e(let)g Fs(s)45
b Fu(b)s(e)36 b(suc)m(h)h(that)f(\()p Ft(:)q(B)s Fu([)-17
b([)q Fs(b)6 b Fu(])-17 b(])36 b Ft(^)h Fs(P)10 b Fu(\))36
b Fs(s)44 b Fu(=)36 b Fw(tt)p Fu(.)53 b(Then)37 b(it)e(m)m(ust)i(b)s(e)
f(the)g(case)0 3996 y(that)i Ft(h)p Fr(while)33 b Fs(b)39
b Fr(do)33 b Fs(S)12 b Fu(,)32 b Fs(s)8 b Ft(i)33 b(!)f
Fs(s)46 b Fu(so)38 b(w)m(e)h(ha)m(v)m(e)h Fs(Q)47 b(s)f
Fu(=)38 b Fw(tt)p Fu(.)59 b(T)-8 b(o)38 b(v)m(erify)h(\(***\))e(let)h
Fs(s)46 b Fu(b)s(e)38 b(suc)m(h)0 4117 y(that)33 b(\()p
Ft(B)s Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(])33 b Ft(^)g
Fs(P)10 b Fu(\))33 b Fs(s)40 b Fu(=)33 b Fw(tt)f Fu(and)h(w)m(e)i
(shall)c(sho)m(w)k(that)e(wlp\()p Fs(S)12 b Fu(,)p Fs(P)e
Fu(\))33 b Fs(s)41 b Fu(=)33 b Fw(tt)p Fu(.)44 b(This)33
b(is)g(ob)m(vious)0 4237 y(unless)j(there)h(is)e(a)h(state)g
Fs(s)1020 4201 y Fi(0)1079 4237 y Fu(suc)m(h)h(that)f
Ft(h)o Fs(S)12 b Fu(,)33 b Fs(s)8 b Ft(i)32 b(!)g Fs(s)1981
4201 y Fi(0)2040 4237 y Fu(in)j(whic)m(h)i(case)f(w)m(e)h(shall)e(pro)m
(v)m(e)i(that)0 4358 y Fs(P)44 b(s)158 4321 y Fi(0)215
4358 y Fu(=)33 b Fw(tt)p Fu(.)46 b(W)-8 b(e)34 b(ha)m(v)m(e)h(t)m(w)m
(o)f(cases.)48 b(First)32 b(w)m(e)j(assume)f(that)g Ft(h)o
Fr(while)g Fs(b)39 b Fr(do)33 b Fs(S)12 b Fu(,)32 b Fs(s)3005
4321 y Fi(0)3028 4358 y Ft(i)h(!)f Fs(s)3280 4321 y Fi(00)3356
4358 y Fu(for)0 4478 y(some)38 b Fs(s)298 4442 y Fi(00)341
4478 y Fu(.)61 b(Then)39 b([while)939 4442 y Fn(tt)939
4503 y(ns)1009 4478 y Fu(])g(giv)m(es)g(us)g(that)f Ft(h)p
Fr(while)h Fs(b)44 b Fr(do)39 b Fs(S)12 b Fu(,)38 b Fs(s)8
b Ft(i)39 b(!)e Fs(s)2674 4442 y Fi(00)2755 4478 y Fu(and)i(since)g
Fs(P)48 b(s)f Fu(=)0 4598 y Fw(tt)34 b Fu(w)m(e)h(get)f(that)h
Fs(Q)43 b(s)811 4562 y Fi(00)888 4598 y Fu(=)34 b Fw(tt)g
Fu(using)g(F)-8 b(act)34 b(6.20.)48 b(But)35 b(this)f(means)g(that)h
Fs(P)44 b(s)2906 4562 y Fi(0)2964 4598 y Fu(=)34 b Fw(tt)g
Fu(as)g(w)m(as)0 4719 y(required.)74 b(In)43 b(the)h(second)g(case)f(w)
m(e)h(assume)f(that)g Ft(h)p Fr(while)33 b Fs(b)39 b
Fr(do)33 b Fs(S)12 b Fu(,)32 b Fs(s)2745 4683 y Fi(0)2769
4719 y Ft(i)g(!)g Fs(s)3020 4683 y Fi(00)3105 4719 y
Fu(do)s(es)43 b Fs(not)0 4839 y Fu(hold)29 b(for)g(an)m(y)h(state)h
Fs(s)826 4803 y Fi(00)868 4839 y Fu(.)43 b(But)29 b(this)h(means)g
(that)f Fs(P)43 b(s)1977 4803 y Fi(0)2033 4839 y Fu(=)32
b Fw(tt)d Fu(holds)g(v)-5 b(acuously)30 b(and)g(w)m(e)h(ha)m(v)m(e)0
4960 y(\014nished)i(the)g(pro)s(of)f(of)g(\(***\).)146
5081 y(The)i(induction)d(h)m(yp)s(othesis)j(applied)e(to)g(the)h(b)s(o)
s(dy)f Fs(S)45 b Fu(of)32 b(the)h Fr(while)p Fu(-lo)s(op)f(giv)m(es)244
5288 y Ft(`)305 5303 y Fn(p)381 5288 y Ft(f)g Fu(wlp\()p
Fs(S)12 b Fu(,)p Fs(P)e Fu(\))32 b Ft(g)h Fs(S)44 b Ft(f)32
b Fs(P)43 b Ft(g)0 5494 y Fu(and)33 b(using)f(\(***\))g(together)g
(with)h([cons)1518 5509 y Fn(p)1562 5494 y Fu(])f(w)m(e)i(get)p
eop
%%Page: 190 200
190 199 bop 251 130 a Fw(190)1567 b(6)112 b(Axiomatic)35
b(Program)h(V)-9 b(eri\014cation)p 251 193 3473 4 v 527
515 a Ft(`)588 530 y Fn(p)664 515 y Ft(f)32 b(B)t Fu([)-17
b([)p Fs(b)6 b Fu(])-17 b(])34 b Ft(^)e Fs(P)43 b Ft(g)33
b Fs(S)44 b Ft(f)32 b Fs(P)43 b Ft(g)283 704 y Fu(W)-8
b(e)33 b(can)g(no)m(w)h(apply)e(the)h(rule)f([while)1715
719 y Fn(p)1758 704 y Fu(])g(and)h(get)527 892 y Ft(`)588
907 y Fn(p)664 892 y Ft(f)f Fs(P)43 b Ft(g)33 b Fr(while)g
Fs(b)39 b Fr(do)33 b Fs(S)44 b Ft(f)33 b(:B)t Fu([)-17
b([)p Fs(b)6 b Fu(])-17 b(])33 b Ft(^)g Fs(P)43 b Ft(g)283
1081 y Fu(Finally)-8 b(,)30 b(w)m(e)k(use)g(\(**\))d(together)i(with)f
([cons)1970 1096 y Fn(p)2015 1081 y Fu(])g(and)h(get)527
1270 y Ft(`)588 1285 y Fn(p)664 1270 y Ft(f)f Fs(P)43
b Ft(g)33 b Fr(while)g Fs(b)39 b Fr(do)33 b Fs(S)44 b
Ft(f)33 b Fs(Q)41 b Ft(g)283 1458 y Fu(as)33 b(required.)2902
b Fh(2)283 1750 y Fw(Exercise)37 b(6.24)49 b Fu(Pro)m(v)m(e)34
b(that)e(the)h(inference)g(system)h(for)e(the)h Fr(while)p
Fu(-language)f(extended)283 1870 y(with)27 b Fr(repeat)i
Fs(S)40 b Fr(until)28 b Fs(b)34 b Fu(as)27 b(in)g(Exercise)i(6.11)d(is)
h(complete.)41 b(\(If)28 b(not)f(y)m(ou)h(should)f(impro)m(v)m(e)283
1990 y(y)m(our)34 b(rule)e(for)g Fr(repeat)i Fs(S)44
b Fr(until)34 b Fs(b)6 b Fu(.\))1987 b Fh(2)283 2199
y Fw(Exercise)37 b(6.25)49 b Fu(*)f(Pro)m(v)m(e)h(the)f(completeness)h
(of)f(the)g(inference)h(system)g(of)f(T)-8 b(able)47
b(6.1)283 2319 y(using)31 b(the)h Fs(str)-5 b(ongest)33
b(p)-5 b(ostc)g(onditions)38 b Fu(of)30 b(Exercise)j(6.22)d(rather)h
(than)g(the)g(w)m(eak)m(est)j(lib)s(eral)283 2440 y(preconditions)f(as)
f(used)i(in)e(the)h(pro)s(of)f(of)g(Lemma)f(6.23.)1256
b Fh(2)283 2648 y Fw(Exercise)37 b(6.26)49 b Fu(De\014ne)42
b(a)g(notion)f(of)g(v)-5 b(alidit)m(y)40 b(based)j(on)f(the)h
(denotational)d(seman)m(tics)283 2768 y(of)c(Chapter)h(4)f(and)h(pro)m
(v)m(e)g(the)g(soundness)i(of)d(the)g(inference)h(system)g(of)f(T)-8
b(able)36 b(6.1)g(using)283 2889 y(this)46 b(de\014nition,)i(that)e(is)
f(without)g(using)h(the)g(equiv)-5 b(alence)46 b(b)s(et)m(w)m(een)i
(the)e(denotational)283 3009 y(seman)m(tics)33 b(and)g(the)g(op)s
(erational)d(seman)m(tics.)1648 b Fh(2)283 3218 y Fw(Exercise)37
b(6.27)49 b Fu(Use)34 b(the)f(de\014nition)f(of)g(v)-5
b(alidit)m(y)31 b(of)i(Exercise)h(6.26)e(and)h(pro)m(v)m(e)i(the)e
(com-)283 3338 y(pleteness)h(of)f(the)g(inference)g(system)g(of)f(T)-8
b(able)33 b(6.1.)1441 b Fh(2)283 3624 y Fp(Expressiv)l(eness)47
b(problems)e(\(in)g(the)h(in)l(tensional)g(approac)l(h\))283
3809 y Fu(So)34 b(far)f(w)m(e)i(ha)m(v)m(e)g(only)f(considered)g(the)g
(extensional)g(approac)m(h)g(where)h(the)f(preconditions)283
3930 y(and)23 b(p)s(ostconditions)f(of)h(the)g(form)m(ulae)e(are)i
(predicates.)41 b(In)23 b(the)g Fs(intensional)i(appr)-5
b(o)g(ach)29 b Fu(they)283 4050 y(are)j(form)m(ulae)f(of)g(some)h
(assertion)g(language)f Ft(L)p Fu(.)43 b(The)33 b(axioms)d(and)i(rules)
g(of)g(the)g(inference)283 4170 y(system)43 b(will)c(b)s(e)i(as)h(in)e
(T)-8 b(able)41 b(6.1,)i(the)f(only)f(di\013erence)h(b)s(eing)f(that)g
(the)g(preconditions)283 4291 y(and)j(p)s(ostconditions)e(are)h(form)m
(ulae)f(of)g Ft(L)h Fu(and)h(that)f(op)s(erations)f(suc)m(h)i(as)g
Fs(P)10 b Fu([)p Fs(x)i Ft(7!A)o Fu([)-17 b([)q Fs(a)7
b Fu(])-17 b(])q(],)283 4411 y Fs(P)359 4426 y Fn(1)432
4411 y Ft(^)33 b Fs(P)607 4426 y Fn(2)679 4411 y Fu(and)g
Fs(P)945 4426 y Fn(1)1017 4411 y Ft(\))f Fs(P)1225 4426
y Fn(2)1298 4411 y Fu(are)g(op)s(erations)g(on)g(form)m(ulae)f(of)h
Ft(L)p Fu(.)430 4531 y(It)45 b(will)d(b)s(e)j(natural)f(to)h(let)f
Ft(L)g Fu(include)h(the)g(b)s(o)s(olean)e(expressions)k(of)d
Fw(While)p Fu(.)79 b(The)283 4652 y(soundness)43 b(pro)s(of)38
b(of)i(Lemma)e(6.17)h(then)i(carries)e(directly)h(o)m(v)m(er)h(to)e
(the)h(in)m(tensional)e(ap-)283 4772 y(proac)m(h.)54
b(Unfortunately)-8 b(,)36 b(this)g(is)f(not)h(the)g(case)h(for)e(the)h
(completeness)h(pro)s(of)e(of)g(Lemma)283 4893 y(6.23.)43
b(The)31 b(reason)g(is)f(that)g(the)h(predicates)g(wlp\()p
Fs(S)12 b Fu(,)30 b Fs(Q)9 b Fu(\))31 b(used)h(as)e(preconditions)g(no)
m(w)i(ha)m(v)m(e)283 5013 y(to)h(b)s(e)f(represen)m(ted)k(as)c(form)m
(ulae)f(of)h Ft(L)h Fu(and)f(that)h(this)f(ma)m(y)g(not)h(b)s(e)g(p)s
(ossible.)430 5133 y(T)-8 b(o)22 b(illustrate)e(the)j(problems)e(let)h
Fs(S)34 b Fu(b)s(e)22 b(a)g(statemen)m(t,)j(for)d(example)f(a)h(univ)m
(ersal)g(program)283 5254 y(in)j(the)g(sense)h(of)f(recursion)g(theory)
-8 b(,)27 b(that)d(has)i(an)e(undecidable)h(Halting)e(problem.)40
b(F)-8 b(urther,)283 5374 y(supp)s(ose)37 b(that)d Ft(L)g
Fu(only)h(con)m(tains)f(the)h(b)s(o)s(olean)f(expressions)i(of)e
Fw(While)p Fu(.)49 b(Finally)-8 b(,)32 b(assume)283 5494
y(that)h(there)g(is)f(a)g(form)m(ula)f Fs(b)1332 5509
y Fc(S)1415 5494 y Fu(of)i Ft(L)f Fu(suc)m(h)i(that)e(for)g(all)f
(states)i Fs(s)p eop
%%Page: 191 201
191 200 bop 0 130 a Fw(6.4)112 b(Extensions)37 b(of)h(the)f(axiomatic)f
(system)1315 b(191)p 0 193 3473 4 v 244 515 a Ft(B)s
Fu([)-17 b([)q Fs(b)401 530 y Fc(S)452 515 y Fu(])g(])33
b Fs(s)40 b Fu(=)33 b Fw(tt)e Fu(if)h(and)h(only)f(if)f(wlp\()p
Fs(S)12 b Fu(,)32 b Fr(false)p Fu(\))i Fs(s)41 b Fu(=)32
b Fw(tt)0 720 y Fu(Then)i(also)d Ft(:)q Fs(b)568 735
y Fc(S)651 720 y Fu(is)h(a)g(form)m(ula)f(of)h Ft(L)p
Fu(.)43 b(W)-8 b(e)33 b(ha)m(v)m(e)244 925 y Ft(B)s Fu([)-17
b([)q Fs(b)401 940 y Fc(S)452 925 y Fu(])g(])33 b Fs(s)40
b Fu(=)33 b Fw(tt)e Fu(if)h(and)h(only)f(if)f(the)i(computation)e(of)h
Fs(S)45 b Fu(on)32 b Fs(s)41 b Fu(lo)s(ops)0 1130 y(and)33
b(hence)244 1335 y Ft(B)s Fu([)-17 b([)q Ft(:)p Fs(b)467
1350 y Fc(S)518 1335 y Fu(])g(])33 b Fs(s)41 b Fu(=)32
b Fw(tt)g Fu(if)f(and)i(only)f(if)f(the)i(computation)e(of)i
Fs(S)44 b Fu(on)32 b Fs(s)41 b Fu(terminates)0 1540 y(W)-8
b(e)32 b(no)m(w)h(ha)m(v)m(e)h(a)d(con)m(tradiction:)42
b(the)33 b(assumptions)f(ab)s(out)f Fs(S)44 b Fu(ensure)34
b(that)d Ft(B)t Fu([)-17 b([)q Ft(:)p Fs(b)3143 1555
y Fc(S)3194 1540 y Fu(])g(])32 b(m)m(ust)0 1660 y(b)s(e)48
b(an)g(undecidable)g(function;)56 b(on)48 b(the)g(other)h(hand)f(T)-8
b(able)48 b(1.2)g(suggests)h(an)f(ob)m(vious)0 1780 y(algorithm)27
b(for)i(ev)-5 b(aluating)29 b Ft(B)s Fu([)-17 b([)q Ft(:)p
Fs(b)1278 1795 y Fc(S)1329 1780 y Fu(])g(].)43 b(Hence)31
b(our)f(assumption)g(ab)s(out)f(the)i(existence)g(of)f
Fs(b)3422 1795 y Fc(S)0 1901 y Fu(m)m(ust)j(b)s(e)f(mistak)m(en.)44
b(Consequen)m(tly)35 b(w)m(e)e(cannot)g(mimic)d(the)j(pro)s(of)e(of)h
(Lemma)g(6.23.)146 2021 y(The)g(ob)m(vious)f(remedy)g(is)g(to)f(extend)
i Ft(L)f Fu(to)f(b)s(e)h(a)g(m)m(uc)m(h)g(more)f(p)s(o)m(w)m(erful)h
(language)f(that)0 2142 y(allo)m(ws)h(quan)m(ti\014cation)f(as)i(w)m
(ell.)43 b(A)31 b(cen)m(tral)h(concept)h(is)e(that)g
Ft(L)g Fu(m)m(ust)h(b)s(e)g Fs(expr)-5 b(essive)38 b
Fu(with)0 2262 y(resp)s(ect)28 b(to)e Fw(While)e Fu(and)j(its)f(seman)m
(tics,)i(and)e(one)h(then)g(sho)m(ws)h(that)e(T)-8 b(able)26
b(6.1)g(is)g Fs(r)-5 b(elatively)0 2383 y(c)g(omplete)40
b Fu(\(in)32 b(the)h(sense)i(of)e(Co)s(ok\).)45 b(It)33
b(is)g(b)s(ey)m(ond)h(the)g(scop)s(e)g(of)e(this)h(b)s(o)s(ok)g(to)g
(go)f(deep)s(er)0 2503 y(in)m(to)g(these)i(matters)e(but)h(w)m(e)g(pro)
m(vide)g(references)i(in)d(Chapter)h(7.)0 2838 y Fj(6.4)161
b(Extensions)52 b(of)i(the)f(axiomatic)i(system)0 3057
y Fu(In)40 b(this)g(section)g(w)m(e)h(shall)d(consider)i(t)m(w)m(o)h
(extensions)g(of)e(the)h(inference)h(system)g(for)e(par-)0
3178 y(tial)i(correctness)j(assertions.)75 b(The)43 b(\014rst)h
(extension)f(sho)m(ws)i(ho)m(w)e(the)g(approac)m(h)g(can)g(b)s(e)0
3298 y(mo)s(di\014ed)29 b(to)h(pro)m(v)m(e)i Fs(total)h(c)-5
b(orr)g(e)g(ctness)33 b(assertions)k Fu(thereb)m(y)c(allo)m(wing)28
b(us)j(to)f(reason)h(ab)s(out)0 3418 y(termination)39
b(prop)s(erties.)68 b(In)42 b(the)f(second)i(extension)f(w)m(e)g
(consider)f(ho)m(w)h(to)e(extend)j(the)0 3539 y(inference)31
b(systems)h(to)e(more)g(language)f(constructs,)k(in)c(particular)g
(recursiv)m(e)j(pro)s(cedures.)0 3950 y Fp(T)-11 b(otal)45
b(correctness)h(assertions)0 4135 y Fu(W)-8 b(e)33 b(shall)e(no)m(w)i
(consider)g(form)m(ulae)e(of)h(the)h(form)244 4340 y
Ft(f)f Fs(P)43 b Ft(g)32 b Fs(S)45 b Ft(f)32 b(+)g Fs(Q)42
b Ft(g)0 4545 y Fu(The)34 b(idea)d(is)i(that)244 4750
y Fs(if)53 b Fu(the)33 b(precondition)f Fs(P)43 b Fu(is)32
b(ful\014lled)244 4917 y Fs(then)40 b(S)k Fu(is)32 b(guaran)m(teed)h
(to)g(terminate)e(\(as)i(recorded)g(b)m(y)h(the)f(sym)m(b)s(ol)f
Ft(+)p Fu(\))244 5085 y Fs(and)42 b Fu(the)33 b(\014nal)f(state)h(will)
d(satisfy)j(the)g(p)s(ostcondition)e Fs(Q)9 b Fu(.)0
5290 y(This)33 b(is)f(formalized)e(b)m(y)k(de\014ning)e(v)-5
b(alidit)m(y)31 b(of)h Ft(f)g Fs(P)43 b Ft(g)32 b Fs(S)45
b Ft(f)32 b(+)g Fs(Q)42 b Ft(g)32 b Fu(b)m(y)244 5494
y Ft(j)-17 b Fu(=)331 5509 y Fn(t)395 5494 y Ft(f)32
b Fs(P)43 b Ft(g)32 b Fs(S)45 b Ft(f)32 b(+)h Fs(Q)41
b Ft(g)p eop
%%Page: 192 202
192 201 bop 251 130 a Fw(192)1567 b(6)112 b(Axiomatic)35
b(Program)h(V)-9 b(eri\014cation)p 251 193 3473 4 v 283
419 V 283 2471 4 2053 v 715 528 a Fu([ass)867 543 y Fn(t)900
528 y Fu(])201 b Ft(f)33 b Fs(P)10 b Fu([)p Fs(x)i Ft(7!A)o
Fu([)-17 b([)q Fs(a)7 b Fu(])-17 b(])q(])32 b Ft(g)h
Fs(x)44 b Fu(:=)32 b Fs(a)40 b Ft(f)32 b(+)h Fs(P)43
b Ft(g)715 696 y Fu([skip)913 711 y Fn(t)945 696 y Fu(])156
b Ft(f)33 b Fs(P)43 b Ft(g)32 b Fr(skip)i Ft(f)e(+)g
Fs(P)43 b Ft(g)715 988 y Fu([comp)970 1003 y Fn(t)1002
988 y Fu(])1138 901 y Ft(f)33 b Fs(P)43 b Ft(g)32 b Fs(S)1479
916 y Fn(1)1551 901 y Ft(f)g(+)g Fs(Q)42 b Ft(g)p Fu(,)98
b Ft(f)32 b Fs(Q)42 b Ft(g)32 b Fs(S)2366 916 y Fn(2)2438
901 y Ft(f)g(+)g Fs(R)37 b Ft(g)p 1138 964 1633 4 v 1499
1069 a(f)32 b Fs(P)43 b Ft(g)32 b Fs(S)1839 1084 y Fn(1)1879
1069 y Fu(;)g Fs(S)2005 1084 y Fn(2)2077 1069 y Ft(f)g(+)h
Fs(R)j Ft(g)715 1327 y Fu([if)800 1342 y Fn(t)831 1327
y Fu(])1138 1240 y Ft(f)d(B)s Fu([)-17 b([)q Fs(b)6 b
Fu(])-17 b(])33 b Ft(^)g Fs(P)43 b Ft(g)32 b Fs(S)1805
1255 y Fn(1)1877 1240 y Ft(f)g(+)g Fs(Q)42 b Ft(g)p Fu(,)130
b Ft(f)32 b(:)q(B)s Fu([)-17 b([)q Fs(b)6 b Fu(])-17
b(])33 b Ft(^)g Fs(P)43 b Ft(g)32 b Fs(S)3109 1255 y
Fn(2)3181 1240 y Ft(f)g(+)h Fs(Q)41 b Ft(g)p 1138 1303
2385 4 v 1537 1408 a(f)33 b Fs(P)42 b Ft(g)33 b Fr(if)g
Fs(b)38 b Fr(then)c Fs(S)2334 1423 y Fn(1)2406 1408 y
Fr(else)f Fs(S)2710 1423 y Fn(2)2782 1408 y Ft(f)f(+)h
Fs(Q)41 b Ft(g)715 1666 y Fu([while)965 1681 y Fn(t)996
1666 y Fu(])1412 1579 y Ft(f)32 b Fs(P)10 b Fu(\()p Fw(z)p
Fu(+)p Fw(1)p Fu(\))32 b Ft(g)h Fs(S)44 b Ft(f)32 b(+)h
Fs(P)10 b Fu(\()p Fw(z)p Fu(\))32 b Ft(g)p 1138 1642
1605 4 v 1138 1747 a(f)h(9)p Fw(z)p Fu(.)p Fs(P)10 b
Fu(\()p Fw(z)p Fu(\))33 b Ft(g)f Fr(while)i Fs(b)k Fr(do)33
b Fs(S)45 b Ft(f)32 b(+)g Fs(P)10 b Fu(\()p Fw(0)p Fu(\))33
b Ft(g)1128 1880 y Fu(where)h Fs(P)10 b Fu(\()p Fw(z)p
Fu(+)p Fw(1)p Fu(\))33 b Ft(\))f(B)s Fu([)-17 b([)q Fs(b)6
b Fu(])-17 b(],)33 b Fs(P)10 b Fu(\()p Fw(0)p Fu(\))33
b Ft(\))f(:B)t Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])1128
2048 y(and)33 b Fw(z)f Fu(ranges)h(o)m(v)m(er)h(natural)d(n)m(um)m(b)s
(ers)j(\(that)e(is)g Fw(z)p Ft(\025)q Fw(0)p Fu(\))715
2340 y([cons)926 2355 y Fn(t)959 2340 y Fu(])1171 2253
y Ft(f)g Fs(P)1329 2217 y Fi(0)1385 2253 y Ft(g)h Fs(S)44
b Ft(f)32 b(+)h Fs(Q)1827 2217 y Fi(0)1883 2253 y Ft(g)p
1138 2317 795 4 v 1178 2421 a(f)f Fs(P)43 b Ft(g)32 b
Fs(S)45 b Ft(f)32 b(+)h Fs(Q)41 b Ft(g)2040 2340 y Fu(where)34
b Fs(P)43 b Ft(\))32 b Fs(P)2639 2304 y Fi(0)2695 2340
y Fu(and)h Fs(Q)2969 2304 y Fi(0)3025 2340 y Ft(\))f
Fs(Q)p 3753 2471 4 2053 v 283 2474 3473 4 v 966 2635
a Fu(T)-8 b(able)32 b(6.2:)43 b(Axiomatic)31 b(system)i(for)f(total)f
(correctness)283 2900 y(if)h(and)h(only)f(if)527 3074
y(for)g(all)f(states)i Fs(s)8 b Fu(,)33 b(if)e Fs(P)43
b(s)e Fu(=)32 b Fw(tt)g Fu(then)h(there)h(exists)f Fs(s)2493
3038 y Fi(0)2549 3074 y Fu(suc)m(h)h(that)742 3268 y
Fs(Q)42 b(s)907 3232 y Fi(0)963 3268 y Fu(=)32 b Fw(tt)g
Fu(and)g Ft(h)p Fs(S)12 b Fu(,)32 b Fs(s)8 b Ft(i)33
b(!)f Fs(s)1845 3232 y Fi(0)283 3461 y Fu(The)45 b(inference)f(system)h
(for)e(total)f(correctness)j(assertions)f(is)f(v)m(ery)j(similar)40
b(to)j(that)g(for)283 3582 y(partial)24 b(correctness)29
b(assertions,)e(the)g(only)f(di\013erence)g(b)s(eing)g(that)g(the)g
(rule)g(for)g(the)g Fr(while)p Fu(-)283 3702 y(construct)k(has)e(c)m
(hanged.)43 b(The)29 b(complete)f(set)h(of)f(axioms)f(and)h(rules)g(is)
g(giv)m(en)g(in)f(T)-8 b(able)28 b(6.2.)283 3823 y(W)-8
b(e)33 b(shall)f(write)527 3996 y Ft(`)588 4011 y Fn(t)652
3996 y Ft(f)h Fs(P)43 b Ft(g)32 b Fs(S)44 b Ft(f)33 b(+)f
Fs(Q)42 b Ft(g)283 4170 y Fu(if)32 b(there)h(exists)g(an)f(inference)h
(tree)g(with)f(the)h(form)m(ula)e Ft(f)h Fs(P)43 b Ft(g)32
b Fs(S)44 b Ft(f)32 b(+)g Fs(Q)42 b Ft(g)32 b Fu(as)h(ro)s(ot,)e(that)h
(is)283 4291 y(if)g(the)h(form)m(ula)e(is)h(pro)m(v)-5
b(ably)32 b(in)g(the)h(inference)g(system.)430 4411 y(In)39
b(the)h(rule)e([while)1184 4426 y Fn(t)1215 4411 y Fu(])h(w)m(e)h(use)g
(a)f(parameterized)f(family)f Fs(P)10 b Fu(\()p Fw(z)p
Fu(\))39 b(of)f(predicates)i(for)e(the)283 4531 y(in)m(v)-5
b(arian)m(t.)40 b(The)25 b(idea)f(is)f(that)h Fw(z)g
Fu(is)g(the)h(n)m(um)m(b)s(er)f(of)g(unfoldings)f(of)h(the)h
Fr(while)p Fu(-lo)s(op)e(that)h(will)283 4652 y(b)s(e)35
b(necessary)-8 b(.)51 b(So)34 b(if)f(the)i Fr(while)p
Fu(-lo)s(op)e(do)s(es)i(not)f(ha)m(v)m(e)h(to)f(b)s(e)h(unfolded)f(at)g
(all)e(then)j Fs(P)10 b Fu(\()p Fw(0)p Fu(\))283 4772
y(holds)32 b(and)g(it)f(m)m(ust)h(imply)e(that)h Fs(b)38
b Fu(is)32 b(false.)42 b(If)32 b(the)g Fr(while)p Fu(-lo)s(op)g(has)g
(to)f(b)s(e)i(unfolded)e Fw(z)p Fu(+)p Fw(1)283 4893
y Fu(times)e(then)g Fs(P)10 b Fu(\()p Fw(z)p Fu(+)p Fw(1)p
Fu(\))29 b(holds)g(and)g Fs(b)35 b Fu(m)m(ust)29 b(hold)f
Fs(b)-5 b(efor)g(e)36 b Fu(the)29 b(b)s(o)s(dy)h(of)e(the)i(lo)s(op)d
(is)i(executed;)283 5013 y(then)46 b Fs(P)10 b Fu(\()p
Fw(z)p Fu(\))45 b(will)e(hold)h Fs(afterwar)-5 b(ds)53
b Fu(so)45 b(that)g(w)m(e)h(ha)m(v)m(e)g(decreased)h(the)e(total)f(n)m
(um)m(b)s(er)h(of)283 5133 y(times)33 b(the)h(lo)s(op)e(remains)h(to)g
(b)s(e)h(unfolded.)47 b(The)34 b(precondition)f(of)g(the)h(conclusion)f
(of)g(the)283 5254 y(rule)c(expresses)i(that)e(there)g(exists)h(a)e(b)s
(ound)h(on)g(the)g(n)m(um)m(b)s(er)g(of)f(times)g(the)h(lo)s(op)e(has)i
(to)g(b)s(e)283 5374 y(unfolded)24 b(and)f(the)h(p)s(ostcondition)e
(expresses)k(that)d(when)i(the)e Fr(while)p Fu(-lo)s(op)g(has)h
(terminated)283 5494 y(then)34 b(no)e(more)g(unfoldings)f(are)i
(necessary)-8 b(.)p eop
%%Page: 193 203
193 202 bop 0 130 a Fw(6.4)112 b(Extensions)37 b(of)h(the)f(axiomatic)f
(system)1315 b(193)p 0 193 3473 4 v 0 515 a(Example)37
b(6.28)49 b Fu(The)33 b(total)e(correctness)j(of)e(the)h(factorial)d
(statemen)m(t)i(can)h(b)s(e)g(expressed)0 636 y(b)m(y)g(the)g(follo)m
(wing)d(assertion:)244 832 y Ft(f)i Fr(x)h Fo(>)f Fr(0)h
Ft(^)g Fr(x)g Fu(=)f Fr(n)h Ft(g)244 1000 y Fr(y)g Fu(:=)f
Fr(1)p Fu(;)h Fr(while)h Ft(:)p Fu(\()p Fr(x)p Fu(=)p
Fr(1)p Fu(\))f Fr(do)g Fu(\()p Fr(y)g Fu(:=)f Fr(y)p
Fo(?)p Fr(x)p Fu(;)h Fr(x)g Fu(:=)g Fr(x)p Ft(\000)p
Fr(1)p Fu(\))244 1168 y Ft(f)f(+)h Fr(y)f Fu(=)h Fr(n)p
Fu(!)43 b Ft(g)0 1364 y Fu(where)34 b Fr(y)f Fu(=)f Fr(n)p
Fu(!)44 b(is)32 b(an)g(abbreviation)g(for)g(the)h(predicate)244
1561 y Fs(P)43 b Fu(where)34 b Fs(P)42 b(s)f Fu(=)32
b(\()p Fs(s)41 b Fr(y)33 b Fu(=)f(\()p Fs(s)41 b Fr(n)p
Fu(\)!\))0 1757 y(In)i(addition)f(to)g(expressing)j(that)d(the)i
(\014nal)e(v)-5 b(alue)43 b(of)f Fr(y)i Fu(is)e(the)i(factorial)c(of)j
(the)g(initial)0 1878 y(v)-5 b(alue)31 b(of)g Fr(x)h
Fu(the)g(assertion)f(also)g(expresses)k(that)c(the)h(program)e(do)s(es)
i(indeed)g(terminate)e(on)0 1998 y(all)35 b(states)j(satisfying)e(the)h
(precondition.)56 b(The)37 b(inference)h(of)e(this)h(assertion)g(pro)s
(ceeds)h(in)0 2119 y(a)c(n)m(um)m(b)s(er)h(of)f(stages.)49
b(First)33 b(w)m(e)j(de\014ne)f(the)g(predicate)f Fs(INV)19
b Fu(\()p Fw(z)p Fu(\))34 b(that)g(is)g(going)f(to)g(b)s(e)i(the)0
2239 y(in)m(v)-5 b(arian)m(t)31 b(of)h(the)h Fr(while)p
Fu(-lo)s(op)244 2436 y Fs(INV)19 b Fu(\()p Fw(z)p Fu(\))32
b Fs(s)40 b Fu(=)33 b(\()p Fs(s)40 b Fr(x)33 b Fo(>)f
Fw(0)h Fu(and)g(\()p Fs(s)40 b Fr(y)p Fu(\))33 b Fo(?)f
Fu(\()p Fs(s)41 b Fr(x)p Fu(\)!)i(=)33 b(\()p Fs(s)40
b Fr(n)p Fu(\)!)k(and)33 b Fs(s)40 b Fr(x)33 b Fu(=)f
Fw(z)h Fu(+)f Fw(1)p Fu(\))0 2632 y(W)-8 b(e)33 b(shall)e(\014rst)i
(consider)g(the)g(b)s(o)s(dy)g(of)f(the)h(lo)s(op.)42
b(Using)32 b([ass)2349 2647 y Fn(t)2381 2632 y Fu(])h(w)m(e)h(get)244
2829 y Ft(`)305 2844 y Fn(t)369 2829 y Ft(f)e Fs(INV)19
b Fu(\()p Fw(z)p Fu(\)[)p Fr(x)p Ft(7!)p Fr(x)p Ft(\000)p
Fr(1)p Fu(])33 b Ft(g)f Fr(x)h Fu(:=)g Fr(x)p Ft(\000)p
Fr(1)g Ft(f)g(+)f Fs(INV)19 b Fu(\()p Fw(z)p Fu(\))32
b Ft(g)0 3025 y Fu(Similarly)-8 b(,)29 b(w)m(e)k(get)244
3222 y Ft(`)305 3237 y Fn(t)369 3222 y Ft(f)f Fu(\()p
Fs(INV)19 b Fu(\()p Fw(z)p Fu(\)[)p Fr(x)p Ft(7!)o Fr(x)p
Ft(\000)p Fr(1)p Fu(]\)[)p Fr(y)p Ft(7!)q Fr(y)p Fo(?)q
Fr(x)p Fu(])32 b Ft(g)h Fr(y)g Fu(:=)f Fr(y)h Fo(?)f
Fr(x)h Ft(f)f(+)h Fs(INV)18 b Fu(\()p Fw(z)p Fu(\)[)p
Fr(x)p Ft(7!)p Fr(x)p Ft(\000)p Fr(1)p Fu(])34 b Ft(g)0
3419 y Fu(W)-8 b(e)33 b(can)g(no)m(w)g(apply)f(the)h(rule)f([comp)1436
3434 y Fn(t)1468 3419 y Fu(])g(to)h(the)g(t)m(w)m(o)g(assertions)g(ab)s
(o)m(v)m(e)g(and)g(get)244 3615 y Ft(`)305 3630 y Fn(t)369
3615 y Ft(f)f Fu(\()p Fs(INV)19 b Fu(\()p Fw(z)p Fu(\)[)p
Fr(x)p Ft(7!)o Fr(x)p Ft(\000)p Fr(1)p Fu(]\)[)p Fr(y)p
Ft(7!)q Fr(y)p Fo(?)q Fr(x)p Fu(])32 b Ft(g)h Fr(y)g
Fu(:=)f Fr(y)h Fo(?)f Fr(x)p Fu(;)h Fr(x)g Fu(:=)f Fr(x)p
Ft(\000)p Fr(1)i Ft(f)e(+)g Fs(INV)19 b Fu(\()p Fw(z)p
Fu(\))32 b Ft(g)0 3812 y Fu(It)h(is)f(easy)h(to)g(v)m(erify)g(that)244
4009 y Fs(INV)19 b Fu(\()p Fw(z)p Fu(+)p Fw(1)p Fu(\))32
b Ft(\))g Fu(\()p Fs(INV)18 b Fu(\()p Fw(z)p Fu(\)[)p
Fr(x)p Ft(7!)p Fr(x)p Ft(\000)p Fr(1)p Fu(]\)[)p Fr(y)p
Ft(7!)q Fr(y)p Fo(?)p Fr(x)p Fu(])0 4205 y(so)33 b(using)f(the)h(rule)f
([cons)949 4220 y Fn(t)982 4205 y Fu(])g(w)m(e)i(get)244
4402 y Ft(`)305 4417 y Fn(t)369 4402 y Ft(f)e Fs(INV)19
b Fu(\()p Fw(z)p Fu(+)p Fw(1)p Fu(\))32 b Ft(g)g Fr(y)h
Fu(:=)g Fr(y)f Fo(?)h Fr(x)p Fu(;)g Fr(x)f Fu(:=)h Fr(x)p
Ft(\000)p Fr(1)g Ft(f)g(+)f Fs(INV)19 b Fu(\()p Fw(z)p
Fu(\))32 b Ft(g)0 4598 y Fu(It)h(is)f(straigh)m(tforw)m(ard)g(to)g(v)m
(erify)h(that)244 4795 y Fs(INV)19 b Fu(\()p Fw(0)p Fu(\))32
b Ft(\))g(:)q Fu(\()p Ft(:)p Fu(\()p Fr(x)p Fu(=)p Fr(1)p
Fu(\)\),)h(and)244 4963 y Fs(INV)19 b Fu(\()p Fw(z)p
Fu(+)p Fw(1)p Fu(\))32 b Ft(\))g(:)p Fu(\()p Fr(x)p Fu(=)p
Fr(1)p Fu(\))0 5159 y(Therefore)i(w)m(e)f(can)g(use)h(the)f(rule)f
([while)1546 5174 y Fn(t)1577 5159 y Fu(])g(and)h(get)269
5327 y Ft(`)330 5342 y Fn(t)394 5327 y Ft(f)f(9)p Fw(z)p
Fu(.)p Fs(INV)19 b Fu(\()p Fw(z)p Fu(\))32 b Ft(g)g Fr(while)i
Ft(:)q Fu(\()p Fr(x)p Fu(=)p Fr(1)p Fu(\))f Fr(do)g Fu(\()p
Fr(y)f Fu(:=)h Fr(y)p Fo(?)p Fr(x)p Fu(;)g Fr(x)g Fu(:=)f
Fr(x)p Ft(\000)p Fr(1)p Fu(\))h Ft(f)g(+)f Fs(INV)19
b Fu(\()p Fw(0)p Fu(\))32 b Ft(g)0 5494 y Fu(W)-8 b(e)33
b(shall)e(no)m(w)i(apply)g(the)g(axiom)e([ass)1478 5509
y Fn(t)1510 5494 y Fu(])i(to)f(the)h(statemen)m(t)g Fr(y)g
Fu(:=)f Fr(1)h Fu(and)g(get)p eop
%%Page: 194 204
194 203 bop 251 130 a Fw(194)1567 b(6)112 b(Axiomatic)35
b(Program)h(V)-9 b(eri\014cation)p 251 193 3473 4 v 527
515 a Ft(`)588 530 y Fn(t)652 515 y Ft(f)33 b Fu(\()p
Ft(9)p Fw(z)p Fu(.)p Fs(INV)18 b Fu(\()p Fw(z)p Fu(\)\)[)p
Fr(y)p Ft(7!)p Fr(1)p Fu(])33 b Ft(g)f Fr(y)h Fu(:=)g
Fr(1)f Ft(f)h(+)f(9)p Fw(z)p Fu(.)p Fs(INV)19 b Fu(\()p
Fw(z)p Fu(\))32 b Ft(g)283 679 y Fu(so)h(using)f([comp)913
694 y Fn(t)945 679 y Fu(])g(w)m(e)i(get)527 843 y Ft(`)588
858 y Fn(t)652 843 y Ft(f)f Fu(\()p Ft(9)p Fw(z)p Fu(.)p
Fs(INV)18 b Fu(\()p Fw(z)p Fu(\)\)[)p Fr(y)p Ft(7!)p
Fr(1)p Fu(])33 b Ft(g)652 1011 y Fr(y)g Fu(:=)g Fr(1)p
Fu(;)f Fr(while)i Ft(:)q Fu(\()p Fr(x)p Fu(=)p Fr(1)p
Fu(\))f Fr(do)g Fu(\()p Fr(y)f Fu(:=)h Fr(y)p Fo(?)p
Fr(x)p Fu(;)g Fr(x)f Fu(:=)h Fr(x)p Ft(\000)p Fr(1)p
Fu(\))652 1178 y Ft(f)g(+)f Fs(INV)19 b Fu(\()p Fw(0)p
Fu(\))32 b Ft(g)283 1342 y Fu(Clearly)g(w)m(e)i(ha)m(v)m(e)527
1506 y Fr(x)f Fo(>)g Fr(0)f Ft(^)h Fr(x)g Fu(=)f Fr(n)h
Ft(\))f Fu(\()p Ft(9)q Fw(z)p Fu(.)p Fs(INV)18 b Fu(\()p
Fw(z)p Fu(\)\)[)p Fr(y)p Ft(7!)p Fw(1)p Fu(],)33 b(and)527
1674 y Fs(INV)19 b Fu(\()p Fw(0)p Fu(\))32 b Ft(\))h
Fr(y)f Fu(=)h Fr(n)p Fu(!)283 1838 y(so)g(applying)f(rule)g([cons)1208
1853 y Fn(t)1240 1838 y Fu(])h(w)m(e)g(get)527 2002 y
Ft(`)588 2017 y Fn(t)652 2002 y Ft(f)g Fr(x)f Fo(>)h
Fr(0)g Ft(^)g Fr(x)f Fu(=)h Fr(n)g Ft(g)652 2169 y Fr(y)g
Fu(:=)g(1;)f Fr(while)i Ft(:)p Fu(\()p Fr(x)p Fu(=)p
Fr(1)p Fu(\))f Fr(do)g Fu(\()p Fr(y)g Fu(:=)f Fr(y)p
Fo(?)p Fr(x)p Fu(;)h Fr(x)g Fu(:=)f Fr(x)p Ft(\000)p
Fr(1)p Fu(\))652 2337 y Ft(f)h(+)f Fr(y)h Fu(=)f Fr(n)p
Fu(!)44 b Ft(g)283 2501 y Fu(as)33 b(required.)2902 b
Fh(2)283 2676 y Fw(Exercise)37 b(6.29)49 b Fu(Suggest)38
b(a)f(total)f(correctness)k(inference)e(rule)f(for)g
Fr(repeat)i Fs(S)49 b Fr(until)39 b Fs(b)6 b Fu(.)283
2797 y(Y)-8 b(ou)31 b(are)g(not)g(allo)m(w)m(ed)f(to)h(rely)g(on)f(the)
i(existence)g(of)f(a)f Fr(while)p Fu(-construct)j(in)d(the)i(program-)
283 2917 y(ming)f(language.)2752 b Fh(2)p 283 3093 3473
5 v 283 3227 a Fw(Lemma)38 b(6.30)49 b Fu(The)28 b(total)f(correctness)
i(system)g(of)e(T)-8 b(able)28 b(6.2)f(is)g(sound,)j(that)e(is)f(for)g
(ev)m(ery)283 3348 y(total)32 b(correctness)i(form)m(ula)d
Ft(f)h Fs(P)43 b Ft(g)32 b Fs(S)45 b Ft(f)32 b(+)g Fs(Q)42
b Ft(g)32 b Fu(w)m(e)i(ha)m(v)m(e)552 3516 y Ft(`)613
3531 y Fn(t)677 3516 y Ft(f)f Fs(P)42 b Ft(g)33 b Fs(S)44
b Ft(f)32 b(+)h Fs(Q)41 b Ft(g)33 b Fu(implies)d Ft(j)-17
b Fu(=)1843 3531 y Fn(t)1907 3516 y Ft(f)32 b Fs(P)43
b Ft(g)33 b Fs(S)44 b Ft(f)32 b(+)h Fs(Q)41 b Ft(g)p
283 3636 V 283 3800 a Fw(Pro)s(of:)35 b Fu(The)c(pro)s(of)f(pro)s
(ceeds)h(b)m(y)h(induction)d(on)h(the)h(shap)s(e)g(of)f(the)g
(inference)h(tree)g(just)g(as)283 3920 y(in)h(the)h(pro)s(of)f(of)g
(Lemma)f(6.17.)283 4088 y Fw(The)j(case)g Fu([ass)893
4103 y Fn(t)925 4088 y Fu(]:)45 b(W)-8 b(e)34 b(shall)d(pro)m(v)m(e)k
(that)e(the)g(axiom)f(is)h(v)-5 b(alid,)31 b(so)j(assume)f(that)g
Fs(s)42 b Fu(is)32 b(suc)m(h)283 4208 y(that)h(\()p Fs(P)10
b Fu([)p Fs(x)i Ft(7!A)o Fu([)-17 b([)q Fs(a)7 b Fu(])-17
b(])q(]\))32 b Fs(s)41 b Fu(=)32 b Fw(tt)g Fu(and)h(let)e
Fs(s)1789 4172 y Fi(0)1845 4208 y Fu(=)i Fs(s)8 b Fu([)p
Fs(x)k Ft(7!)o(A)p Fu([)-17 b([)p Fs(a)7 b Fu(])-17 b(])q
Fs(s)8 b Fu(].)44 b(Then)34 b([ass)2950 4223 y Fn(ns)3022
4208 y Fu(])e(giv)m(es)527 4372 y Ft(h)p Fs(x)44 b Fu(:=)33
b Fs(a)7 b Fu(,)33 b Fs(s)8 b Ft(i)32 b(!)g Fs(s)1207
4336 y Fi(0)283 4536 y Fu(and)h(from)e(\()p Fs(P)10 b
Fu([)p Fs(x)i Ft(7!A)p Fu([)-17 b([)p Fs(a)7 b Fu(])-17
b(])q(]\))33 b Fs(s)40 b Fu(=)33 b Fw(tt)f Fu(w)m(e)h(get)g
Fs(P)43 b(s)2083 4500 y Fi(0)2138 4536 y Fu(=)33 b Fw(tt)f
Fu(as)g(w)m(as)i(to)e(b)s(e)h(sho)m(wn.)283 4704 y Fw(The)g(case)g
Fu([skip)937 4719 y Fn(t)969 4704 y Fu(]:)44 b(This)33
b(case)g(is)f(immediate.)283 4871 y Fw(The)h(case)g Fu([comp)994
4886 y Fn(t)1026 4871 y Fu(]:)43 b(W)-8 b(e)33 b(assume)g(that)552
5039 y Ft(j)-17 b Fu(=)639 5054 y Fn(t)703 5039 y Ft(f)33
b Fs(P)42 b Ft(g)33 b Fs(S)1044 5054 y Fn(1)1116 5039
y Ft(f)f(+)g Fs(Q)42 b Ft(g)p Fu(,)32 b(and)1957 b(\(*\))552
5206 y Ft(j)-17 b Fu(=)639 5221 y Fn(t)703 5206 y Ft(f)33
b Fs(Q)41 b Ft(g)33 b Fs(S)1052 5221 y Fn(2)1123 5206
y Ft(f)g(+)f Fs(R)37 b Ft(g)2125 b Fu(\(**\))283 5374
y(and)26 b(w)m(e)h(ha)m(v)m(e)g(to)e(pro)m(v)m(e)i(that)f
Ft(j)-17 b Fu(=)1480 5389 y Fn(t)1538 5374 y Ft(f)25
b Fs(P)36 b Ft(g)25 b Fs(S)1857 5389 y Fn(1)1897 5374
y Fu(;)j Fs(S)2019 5389 y Fn(2)2084 5374 y Ft(f)d(+)g
Fs(R)30 b Ft(g)p Fu(.)41 b(So)26 b(let)f Fs(s)33 b Fu(b)s(e)26
b(suc)m(h)h(that)f Fs(P)43 b(s)d Fu(=)33 b Fw(tt)o Fu(.)283
5494 y(F)-8 b(rom)32 b(\(*\))g(w)m(e)h(get)g(that)f(there)i(exists)f(a)
f(state)h Fs(s)2101 5458 y Fi(0)2157 5494 y Fu(suc)m(h)h(that)e
Fs(Q)42 b(s)2753 5458 y Fi(0)2809 5494 y Fu(=)32 b Fw(tt)g
Fu(and)p eop
%%Page: 195 205
195 204 bop 0 130 a Fw(6.4)112 b(Extensions)37 b(of)h(the)f(axiomatic)f
(system)1315 b(195)p 0 193 3473 4 v 244 515 a Ft(h)p
Fs(S)350 530 y Fn(1)389 515 y Fu(,)33 b Fs(s)8 b Ft(i)32
b(!)g Fs(s)748 479 y Fi(0)0 719 y Fu(Since)g Fs(Q)42
b(s)419 683 y Fi(0)475 719 y Fu(=)32 b Fw(tt)f Fu(w)m(e)j(get)e(from)f
(\(**\))h(that)g(there)h(exists)g(a)f(state)h Fs(s)2541
683 y Fi(00)2616 719 y Fu(suc)m(h)h(that)e Fs(R)k(s)3202
683 y Fi(00)3277 719 y Fu(=)c Fw(tt)0 839 y Fu(and)244
1042 y Ft(h)p Fs(S)350 1057 y Fn(2)389 1042 y Fu(,)h
Fs(s)497 1006 y Fi(0)520 1042 y Ft(i)f(!)g Fs(s)771 1006
y Fi(00)0 1246 y Fu(Using)g([comp)529 1261 y Fn(ns)600
1246 y Fu(])h(w)m(e)g(therefore)g(get)244 1449 y Ft(h)p
Fs(S)350 1464 y Fn(1)389 1449 y Fu(;)g Fs(S)516 1464
y Fn(2)555 1449 y Fu(,)f Fs(s)8 b Ft(i)33 b(!)f Fs(s)914
1413 y Fi(00)0 1653 y Fu(and)h(since)g Fs(R)j(s)584 1616
y Fi(00)659 1653 y Fu(=)d Fw(tt)e Fu(w)m(e)j(ha)m(v)m(e)g(\014nished)f
(this)f(case.)0 1820 y Fw(The)h(case)g Fu([if)541 1835
y Fn(t)572 1820 y Fu(]:)43 b(Assume)34 b(that)269 1988
y Ft(j)-17 b Fu(=)356 2003 y Fn(t)420 1988 y Ft(f)32
b(B)t Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])33 b Ft(^)g
Fs(P)43 b Ft(g)32 b Fs(S)1086 2003 y Fn(1)1158 1988 y
Ft(f)g(+)h Fs(Q)42 b Ft(g)p Fu(,)32 b(and)1631 b(\(*\))269
2155 y Ft(j)-17 b Fu(=)356 2170 y Fn(t)420 2155 y Ft(f)32
b(:)q(B)s Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(])33 b Ft(^)g
Fs(P)42 b Ft(g)33 b Fs(S)1153 2170 y Fn(2)1225 2155 y
Ft(f)f(+)g Fs(Q)42 b Ft(g)0 2323 y Fu(T)-8 b(o)38 b(pro)m(v)m(e)h
Ft(j)-17 b Fu(=)504 2338 y Fn(t)574 2323 y Ft(f)38 b
Fs(P)48 b Ft(g)38 b Fr(if)h Fs(b)44 b Fr(then)39 b Fs(S)1404
2338 y Fn(1)1481 2323 y Fr(else)g Fs(S)1791 2338 y Fn(2)1868
2323 y Ft(f)f(+)g Fs(Q)47 b Ft(g)38 b Fu(consider)h(a)e(state)i
Fs(s)46 b Fu(suc)m(h)40 b(that)0 2443 y Fs(P)j(s)d Fu(=)33
b Fw(tt)o Fu(.)43 b(W)-8 b(e)31 b(ha)m(v)m(e)h(t)m(w)m(o)g(cases.)44
b(If)31 b Ft(B)s Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(])p
Fs(s)39 b Fu(=)31 b Fw(tt)e Fu(then)j(\()p Ft(B)s Fu([)-17
b([)q Fs(b)6 b Fu(])-17 b(])31 b Ft(^)g Fs(P)10 b Fu(\))31
b Fs(s)39 b Fu(=)31 b Fw(tt)e Fu(and)i(from)f(\(*\))0
2564 y(w)m(e)k(get)e(that)h(there)g(is)f(a)g(state)h
Fs(s)1233 2528 y Fi(0)1289 2564 y Fu(suc)m(h)h(that)f
Fs(Q)41 b(s)1885 2528 y Fi(0)1941 2564 y Fu(=)32 b Fw(tt)g
Fu(and)244 2767 y Ft(h)p Fs(S)350 2782 y Fn(1)389 2767
y Fu(,)h Fs(s)8 b Ft(i)32 b(!)g Fs(s)748 2731 y Fi(0)0
2971 y Fu(F)-8 b(rom)31 b([if)341 2986 y Fn(ns)411 2971
y Fu(])i(w)m(e)g(then)h(get)244 3174 y Ft(h)p Fr(if)f
Fs(b)38 b Fr(then)c Fs(S)806 3189 y Fn(1)877 3174 y Fr(else)g
Fs(S)1182 3189 y Fn(2)1221 3174 y Fu(,)f Fs(s)8 b Ft(i)32
b(!)g Fs(s)1580 3138 y Fi(0)0 3377 y Fu(as)40 b(w)m(as)h(to)f(b)s(e)g
(pro)m(v)m(ed.)67 b(If)40 b Ft(B)s Fu([)-17 b([)q Fs(b)6
b Fu(])-17 b(])p Fs(s)48 b Fu(=)40 b Fw(\013)h Fu(the)f(result)g(follo)
m(ws)e(in)i(a)f(similar)e(w)m(a)m(y)k(from)e(the)0 3498
y(second)34 b(assumption.)0 3665 y Fw(The)f(case)g Fu([while)706
3680 y Fn(t)737 3665 y Fu(]:)43 b(Assume)34 b(that)269
3833 y Ft(j)-17 b Fu(=)356 3848 y Fn(t)420 3833 y Ft(f)32
b Fs(P)10 b Fu(\()p Fw(z)p Fu(+)p Fw(1)p Fu(\))33 b Ft(g)f
Fs(S)44 b Ft(f)33 b(+)f Fs(P)10 b Fu(\()p Fw(z)p Fu(\))33
b Ft(g)p Fu(,)1810 b(\(*\))269 4001 y Fs(P)10 b Fu(\()p
Fw(z)p Fu(+)p Fw(1)p Fu(\))32 b Ft(\))g(B)t Fu([)-17
b([)p Fs(b)6 b Fu(])-17 b(])q(,)33 b(and)269 4168 y Fs(P)10
b Fu(\()p Fw(0)p Fu(\))33 b Ft(\))f(:B)t Fu([)-17 b([)p
Fs(b)6 b Fu(])-17 b(])0 4336 y(T)-8 b(o)31 b(pro)m(v)m(e)h
Ft(j)-17 b Fu(=)490 4351 y Fn(t)552 4336 y Ft(f)30 b(9)q
Fw(z)p Fu(.)p Fs(P)10 b Fu(\()p Fw(z)p Fu(\))30 b Ft(g)h
Fr(while)h Fs(b)k Fr(do)c Fs(S)42 b Ft(f)30 b(+)h Fs(P)10
b Fu(\()p Fw(0)p Fu(\))31 b Ft(g)f Fu(it)g(is)g(su\016cien)m(t)i(to)e
(pro)m(v)m(e)i(that)f(for)0 4456 y(all)f(natural)i(n)m(um)m(b)s(ers)h
Fw(z)319 4596 y Fu(if)e Fs(P)10 b Fu(\()p Fw(z)p Fu(\))33
b Fs(s)40 b Fu(=)33 b Fw(tt)e Fu(then)i(there)h(exists)f(a)f(state)h
Fs(s)2060 4560 y Fi(0)2116 4596 y Fu(suc)m(h)h(that)319
4764 y Fs(P)10 b Fu(\()p Fw(0)p Fu(\))32 b Fs(s)607 4727
y Fi(0)663 4764 y Fu(=)h Fw(tt)e Fu(and)i Ft(h)p Fr(while)h
Fs(b)k Fr(do)33 b Fs(S)12 b Fu(,)33 b Fs(s)8 b Ft(i)32
b(!)g Fs(s)2053 4727 y Fi(0)3299 4681 y Fu(\(**\))0 4930
y(So)46 b(consider)g(a)f(state)h Fs(s)54 b Fu(suc)m(h)47
b(that)f Fs(P)10 b Fu(\()p Fw(z)p Fu(\))46 b Fs(s)53
b Fu(=)46 b Fw(tt)p Fu(.)82 b(The)47 b(pro)s(of)e(is)g(no)m(w)h(b)m(y)h
(n)m(umerical)0 5050 y(induction)32 b(on)g Fw(z)p Fu(.)146
5171 y(First)i(assume)i(that)f Fw(z)f Fu(=)h Fw(0)p Fu(.)51
b(The)36 b(assumption)e Fs(P)10 b Fu(\()p Fw(0)p Fu(\))35
b Ft(\))g(:B)t Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])36
b(giv)m(es)f(that)g Ft(B)s Fu([)-17 b([)q Fs(b)6 b Fu(])-17
b(])q Fs(s)43 b Fu(=)0 5291 y Fw(\013)33 b Fu(and)g(from)e([while)768
5255 y Fn(\013)768 5316 y(ns)838 5291 y Fu(])i(w)m(e)h(get)244
5494 y Ft(h)p Fr(while)f Fs(b)39 b Fr(do)33 b Fs(S)12
b Fu(,)32 b Fs(s)8 b Ft(i)33 b(!)f Fs(s)p eop
%%Page: 196 206
196 205 bop 251 130 a Fw(196)1567 b(6)112 b(Axiomatic)35
b(Program)h(V)-9 b(eri\014cation)p 251 193 3473 4 v 283
515 a Fu(Since)33 b Fs(P)10 b Fu(\()p Fw(0)p Fu(\))33
b Fs(s)41 b Fu(=)32 b Fw(tt)g Fu(this)g(pro)m(v)m(es)i(the)f(base)h
(case.)430 636 y(F)-8 b(or)27 b(the)i(induction)e(step)j(assume)f(that)
f(\(**\))g(holds)g(for)f(all)g(states)i(satisfying)e
Fs(P)10 b Fu(\()p Fw(z)p Fu(\))29 b(and)283 756 y(that)k
Fs(P)10 b Fu(\()p Fw(z)p Fu(+)p Fw(1)p Fu(\))32 b Fs(s)41
b Fu(=)32 b Fw(tt)o Fu(.)44 b(F)-8 b(rom)31 b(\(*\))h(w)m(e)i(get)e
(that)h(there)g(is)f(a)g(state)h Fs(s)2854 720 y Fi(0)2910
756 y Fu(suc)m(h)h(that)f Fs(P)10 b Fu(\()p Fw(z)p Fu(\))32
b Fs(s)3624 720 y Fi(0)3680 756 y Fu(=)283 877 y Fw(tt)g
Fu(and)527 1081 y Ft(h)p Fs(S)12 b Fu(,)33 b Fs(s)8 b
Ft(i)32 b(!)g Fs(s)992 1045 y Fi(0)283 1285 y Fu(The)g(n)m(umerical)d
(induction)h(h)m(yp)s(othesis)h(applied)f(to)g Fs(s)2342
1249 y Fi(0)2396 1285 y Fu(giv)m(es)h(that)f(there)i(is)e(some)g(state)
h Fs(s)3713 1249 y Fi(00)283 1406 y Fu(suc)m(h)j(that)f
Fs(P)10 b Fu(\()p Fw(0)p Fu(\))33 b Fs(s)1004 1370 y
Fi(00)1079 1406 y Fu(=)f Fw(tt)g Fu(and)527 1610 y Ft(h)p
Fr(while)i Fs(b)k Fr(do)33 b Fs(S)12 b Fu(,)33 b Fs(s)1248
1574 y Fi(0)1271 1610 y Ft(i)g(!)f Fs(s)1523 1574 y Fi(00)283
1815 y Fu(F)-8 b(urthermore,)30 b(the)g(assumption)f
Fs(P)10 b Fu(\()p Fw(z)p Fu(+)p Fw(1)p Fu(\))30 b Ft(\))f(B)s
Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(])30 b(giv)m(es)g
Ft(B)t Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])q Fs(s)37
b Fu(=)30 b Fw(tt)p Fu(.)41 b(W)-8 b(e)30 b(can)g(therefore)283
1935 y(apply)j([while)802 1899 y Fn(tt)802 1960 y(ns)872
1935 y Fu(])g(and)g(get)f(that)527 2139 y Ft(h)p Fr(while)i
Fs(b)k Fr(do)33 b Fs(S)12 b Fu(,)33 b Fs(s)8 b Ft(i)32
b(!)g Fs(s)1499 2103 y Fi(00)283 2344 y Fu(Since)h Fs(P)10
b Fu(\()p Fw(0)p Fu(\))33 b Fs(s)827 2308 y Fi(00)902
2344 y Fu(=)f Fw(tt)g Fu(this)g(completes)h(the)g(pro)s(of)e(of)h
(\(**\).)283 2511 y Fw(The)h(case)g Fu([cons)950 2526
y Fn(t)983 2511 y Fu(]:)44 b(Supp)s(ose)33 b(that)527
2716 y Ft(j)-17 b Fu(=)614 2731 y Fn(t)678 2716 y Ft(f)33
b Fs(P)837 2680 y Fi(0)893 2716 y Ft(g)f Fs(S)45 b Ft(f)32
b(+)g Fs(Q)1334 2680 y Fi(0)1390 2716 y Ft(g)p Fu(,)527
2883 y Fs(P)43 b Ft(\))32 b Fs(P)844 2847 y Fi(0)868
2883 y Fu(,)h(and)527 3051 y Fs(Q)611 3015 y Fi(0)667
3051 y Ft(\))f Fs(Q)283 3255 y Fu(T)-8 b(o)31 b(pro)m(v)m(e)h
Ft(j)-17 b Fu(=)773 3270 y Fn(t)835 3255 y Ft(f)31 b
Fs(P)41 b Ft(g)30 b Fs(S)43 b Ft(f)30 b(+)h Fs(Q)40 b
Ft(g)30 b Fu(consider)h(a)f(state)i Fs(s)38 b Fu(suc)m(h)32
b(that)f Fs(P)41 b(s)e Fu(=)30 b Fw(tt)p Fu(.)42 b(Then)32
b Fs(P)3547 3219 y Fi(0)3601 3255 y Fs(s)39 b Fu(=)283
3376 y Fw(tt)32 b Fu(and)h(there)g(is)f(a)h(state)g Fs(s)1309
3340 y Fi(0)1364 3376 y Fu(suc)m(h)h(that)f Fs(Q)1880
3340 y Fi(0)1936 3376 y Fs(s)1984 3340 y Fi(0)2040 3376
y Fu(=)f Fw(tt)g Fu(and)527 3580 y Ft(h)p Fs(S)12 b Fu(,)33
b Fs(s)8 b Ft(i)32 b(!)g Fs(s)992 3544 y Fi(0)283 3785
y Fu(Ho)m(w)m(ev)m(er,)j(w)m(e)f(also)e(ha)m(v)m(e)i(that)e
Fs(Q)42 b(s)1644 3748 y Fi(0)1700 3785 y Fu(=)32 b Fw(tt)g
Fu(and)g(this)g(pro)m(v)m(es)j(the)e(result.)638 b Fh(2)283
4098 y Fw(Exercise)37 b(6.31)49 b Fu(Sho)m(w)38 b(that)g(the)g
(inference)h(rule)e(for)g Fr(repeat)j Fs(S)49 b Fr(until)40
b Fs(b)j Fu(suggested)d(in)283 4218 y(Exercise)25 b(6.29)e(preserv)m
(es)j(v)-5 b(alidit)m(y)d(.)38 b(Argue)24 b(that)f(this)g(means)h(that)
f(the)h(en)m(tire)f(pro)s(of)g(system)283 4338 y(consisting)34
b(of)g(the)g(axioms)f(and)h(rules)g(of)g(T)-8 b(able)34
b(6.2)g(together)g(with)g(the)g(rule)g(of)f(Exercise)283
4459 y(6.29)f(is)g(sound.)2818 b Fh(2)283 4688 y Fw(Exercise)37
b(6.32)49 b Fu(*)29 b(Pro)m(v)m(e)i(that)e(the)h(inference)g(system)g
(of)f(T)-8 b(able)29 b(6.2)g(is)g(complete,)g(that)g(is)552
4856 y Ft(j)-17 b Fu(=)639 4871 y Fn(t)703 4856 y Ft(f)33
b Fs(P)42 b Ft(g)33 b Fs(S)44 b Ft(f)32 b(+)h Fs(Q)42
b Ft(g)32 b Fu(implies)e Ft(`)1843 4871 y Fn(t)1907 4856
y Ft(f)i Fs(P)43 b Ft(g)33 b Fs(S)44 b Ft(f)32 b(+)h
Fs(Q)41 b Ft(g)1059 b Fh(2)283 5086 y Fw(Exercise)37
b(6.33)49 b Fu(*)32 b(Pro)m(v)m(e)i(that)527 5290 y(if)e
Ft(`)678 5305 y Fn(t)742 5290 y Ft(f)g Fs(P)43 b Ft(g)32
b Fs(S)45 b Ft(f)32 b(+)g Fs(Q)42 b Ft(g)32 b Fu(then)i
Ft(`)1772 5305 y Fn(p)1848 5290 y Ft(f)f Fs(P)43 b Ft(g)32
b Fs(S)44 b Ft(f)33 b Fs(Q)41 b Ft(g)283 5494 y Fu(Do)s(es)33
b(the)g(con)m(v)m(erse)i(result)d(hold?)2099 b Fh(2)p
eop
%%Page: 197 207
197 206 bop 0 130 a Fw(6.4)112 b(Extensions)37 b(of)h(the)f(axiomatic)f
(system)1315 b(197)p 0 193 3473 4 v 0 515 a Fp(Extensions)46
b(of)f(While)0 703 y Fu(W)-8 b(e)46 b(conclude)g(b)m(y)g(considering)f
(an)g(extension)h(of)f Fw(While)f Fu(with)h(non-determinism)e(and)0
823 y(\(parameterless\))32 b(pro)s(cedures.)45 b(The)34
b(syn)m(tax)g(of)e(the)h(extended)i(language)c(is)h(giv)m(en)h(b)m(y)
294 1031 y Fs(S)111 b Fu(::=)100 b Fs(x)44 b Fu(:=)33
b Fs(a)39 b Ft(j)33 b Fr(skip)g Ft(j)f Fs(S)1429 1046
y Fn(1)1501 1031 y Fu(;)h Fs(S)1628 1046 y Fn(2)1700
1031 y Ft(j)f Fr(if)h Fs(b)38 b Fr(then)c Fs(S)2283 1046
y Fn(1)2355 1031 y Fr(else)f Fs(S)2659 1046 y Fn(2)511
1199 y Ft(j)151 b Fr(while)34 b Fs(b)k Fr(do)33 b Fs(S)45
b Ft(j)32 b Fs(S)1424 1214 y Fn(1)1496 1199 y Fr(or)h
Fs(S)1698 1214 y Fn(2)511 1366 y Ft(j)151 b Fr(begin)34
b(proc)f Fs(p)39 b Fr(is)33 b Fs(S)1507 1381 y Fn(1)1546
1366 y Fu(;)g Fs(S)1673 1381 y Fn(2)1744 1366 y Fr(end)h
Ft(j)e Fr(call)i Fs(p)0 1570 y Fu(Note)h(that)f(in)f
Fr(begin)j(proc)f Fs(p)41 b Fr(is)35 b Fs(S)1391 1585
y Fn(1)1430 1570 y Fu(;)g Fs(S)1559 1585 y Fn(2)1633
1570 y Fr(end)g Fu(the)g(b)s(o)s(dy)f(of)g Fs(p)40 b
Fu(is)34 b Fs(S)2609 1585 y Fn(1)2683 1570 y Fu(and)g(the)h(remainder)0
1690 y(of)d(the)h(program)e(is)h Fs(S)834 1705 y Fn(2)874
1690 y Fu(.)0 1959 y Fw(Non-determinism)0 2146 y Fu(It)41
b(is)g(straigh)m(tforw)m(ard)f(to)h(handle)g(non-determinism)e(\(in)h
(the)h(sense)i(of)e(Section)g(2.4\))f(in)0 2267 y(the)f(axiomatic)d
(approac)m(h.)61 b(The)39 b(idea)f(is)g(that)g(an)g(assertion)h(holds)f
(for)g Fs(S)2879 2282 y Fn(1)2956 2267 y Fr(or)h Fs(S)3164
2282 y Fn(2)3242 2267 y Fu(if)e(the)0 2387 y(similar)g(assertion)j
(holds)g(for)g Fs(S)1230 2402 y Fn(1)1310 2387 y Fu(as)g(w)m(ell)g(as)g
(for)g Fs(S)1994 2402 y Fn(2)2033 2387 y Fu(.)67 b(The)41
b(motiv)-5 b(ation)37 b(for)j(this)g(is)g(that)0 2507
y(when)32 b(reasoning)e(ab)s(out)h(the)g(statemen)m(t)g(w)m(e)h(ha)m(v)
m(e)h(no)d(w)m(a)m(y)j(of)d(in\015uencing)g(whether)j
Fs(S)3316 2522 y Fn(1)3386 2507 y Fu(or)0 2628 y Fs(S)67
2643 y Fn(2)139 2628 y Fu(is)f(c)m(hosen.)45 b(F)-8 b(or)32
b(partial)e(correctness)35 b(w)m(e)e(th)m(us)h(extend)g(T)-8
b(able)32 b(6.1)g(with)h(the)g(rule)244 2907 y([or)358
2922 y Fn(p)401 2907 y Fu(])536 2820 y Ft(f)f Fs(P)43
b Ft(g)32 b Fs(S)876 2835 y Fn(1)948 2820 y Ft(f)g Fs(Q)42
b Ft(g)p Fu(,)32 b Ft(f)h Fs(P)43 b Ft(g)32 b Fs(S)1597
2835 y Fn(2)1669 2820 y Ft(f)g Fs(Q)42 b Ft(g)p 536 2883
1382 4 v 759 2988 a(f)32 b Fs(P)43 b Ft(g)33 b Fs(S)1100
3003 y Fn(1)1171 2988 y Fr(or)g Fs(S)1373 3003 y Fn(2)1445
2988 y Ft(f)g Fs(Q)41 b Ft(g)0 3181 y Fu(F)-8 b(or)32
b(total)f(correctness)j(w)m(e)g(extend)g(T)-8 b(able)32
b(6.2)h(with)f(the)h(rule)244 3440 y([or)358 3455 y Fn(t)389
3440 y Fu(])524 3354 y Ft(f)f Fs(P)43 b Ft(g)32 b Fs(S)864
3369 y Fn(1)936 3354 y Ft(f)h(+)f Fs(Q)42 b Ft(g)p Fu(,)32
b Ft(f)g Fs(P)43 b Ft(g)33 b Fs(S)1679 3369 y Fn(2)1750
3354 y Ft(f)g(+)f Fs(Q)42 b Ft(g)p 524 3417 1569 4 v
794 3522 a(f)32 b Fs(P)43 b Ft(g)33 b Fs(S)1135 3537
y Fn(1)1206 3522 y Fr(or)g Fs(S)1408 3537 y Fn(2)1480
3522 y Ft(f)g(+)f Fs(Q)42 b Ft(g)0 3714 y Fu(When)31
b(dealing)d(with)h(soundness)j(and)d(completeness)i(of)e(these)i(rules)
e(one)h(m)m(ust)g(b)s(e)g(careful)0 3835 y(in)c(using)g(a)h(seman)m
(tics)g(that)g(mo)s(dels)e(\\non-deterministic)g(c)m(hoice")i(in)f(the)
h(prop)s(er)g(manner.)0 3955 y(W)-8 b(e)28 b(sa)m(w)g(in)f(Section)h
(2.4)f(that)g(this)g(is)g(the)h(case)h(for)e(structural)g(op)s
(erational)e(seman)m(tics)j(but)0 4075 y(not)23 b(for)g(natural)f
(seman)m(tics.)40 b(With)23 b(resp)s(ect)h(to)f(the)h(structural)f(op)s
(erational)e(seman)m(tics)i(one)0 4196 y(can)33 b(sho)m(w)i(that)e(the)
g(ab)s(o)m(v)m(e)i(rules)e(are)g(sound)h(and)f(that)g(the)h(resulting)e
(inference)i(systems)0 4316 y(are)29 b(complete.)42 b(If)29
b(one)h(insists)f(on)g(using)g(the)h(natural)e(seman)m(tics)h(the)h
Fr(or)p Fu(-construct)g(w)m(ould)0 4437 y(mo)s(del)35
b(a)i(kind)g(of)f(\\angelic)f(c)m(hoice")i(and)g(b)s(oth)g(rules)g(w)m
(ould)f(b)s(e)h(sound.)58 b(Ho)m(w)m(ev)m(er,)40 b(only)0
4557 y(the)33 b(partial)d(correctness)35 b(inference)e(system)h(will)c
(b)s(e)j(complete.)0 4825 y Fw(Non-recursiv)m(e)k(pro)s(cedures)0
5013 y Fu(F)-8 b(or)43 b(the)g(sak)m(e)i(of)e(simplicit)m(y)e(w)m(e)j
(shall)e(restrict)h(our)h(atten)m(tion)e(to)h(statemen)m(ts)i(with)e
(at)0 5133 y(most)33 b(one)h(pro)s(cedure)g(declaration.)45
b(F)-8 b(or)32 b(non-recursiv)m(e)j(pro)s(cedures)g(the)e(idea)g(is)g
(that)g(an)0 5254 y(assertion)k(that)g(holds)g(for)g(the)h(b)s(o)s(dy)f
(of)g(the)h(pro)s(cedure)g(also)f(holds)g(for)f(the)i(calls)e(of)h(the)
0 5374 y(pro)s(cedure.)65 b(This)40 b(motiv)-5 b(ates)38
b(extending)i(the)g(partial)e(correctness)j(inference)f(system)h(of)0
5494 y(T)-8 b(able)32 b(6.1)g(with)h(the)g(rule)p eop
%%Page: 198 208
198 207 bop 251 130 a Fw(198)1567 b(6)112 b(Axiomatic)35
b(Program)h(V)-9 b(eri\014cation)p 251 193 3473 4 v 527
577 a Fu([call)702 592 y Fn(p)744 577 y Fu(])992 490
y Ft(f)32 b Fs(P)43 b Ft(g)33 b Fs(S)44 b Ft(f)32 b Fs(Q)42
b Ft(g)p 879 554 849 4 v 879 658 a(f)32 b Fs(P)43 b Ft(g)32
b Fr(call)i Fs(p)k Ft(f)33 b Fs(Q)41 b Ft(g)1802 577
y Fu(where)34 b Fs(p)k Fu(is)32 b(de\014ned)i(b)m(y)g
Fr(proc)f Fs(p)39 b Fr(is)33 b Fs(S)283 837 y Fu(Similarly)g(the)j
(inference)h(system)g(for)e(total)g(correctness)j(in)e(T)-8
b(able)35 b(6.2)h(can)h(b)s(e)f(extended)283 957 y(with)d(the)g(rule)
527 1194 y([call)702 1209 y Fn(t)732 1194 y Fu(])980
1108 y Ft(f)g Fs(P)43 b Ft(g)32 b Fs(S)44 b Ft(f)33 b(+)f
Fs(Q)42 b Ft(g)p 867 1171 942 4 v 867 1276 a(f)32 b Fs(P)43
b Ft(g)33 b Fr(call)g Fs(p)39 b Ft(f)32 b(+)g Fs(Q)42
b Ft(g)1884 1194 y Fu(where)34 b Fs(p)k Fu(is)32 b(de\014ned)i(b)m(y)g
Fr(proc)f Fs(p)39 b Fr(is)33 b Fs(S)283 1454 y Fu(In)g(b)s(oth)g(cases)
h(the)f(resulting)e(inference)i(system)h(can)f(b)s(e)g(pro)m(v)m(ed)h
(sound)f(and)g(complete.)283 1712 y Fw(Recursiv)m(e)k(pro)s(cedures)283
1897 y Fu(The)46 b(ab)s(o)m(v)m(e)f(rules)g(turn)f(out)g(to)h(b)s(e)f
(insu\016cien)m(t)h(when)h(pro)s(cedures)f(are)g(allo)m(w)m(ed)f(to)g
(b)s(e)283 2018 y(recursiv)m(e:)h(in)30 b(order)i(to)f(pro)m(v)m(e)h
(an)f(assertion)g(for)g Fr(call)h Fs(p)38 b Fu(one)31
b(has)h(to)f(pro)m(v)m(e)h(the)g(assertion)283 2138 y(for)h(the)h(b)s
(o)s(dy)f(of)g(the)g(pro)s(cedure)h(and)g(this)f(implies)d(that)j(one)h
(has)f(to)g(pro)m(v)m(e)i(an)e(assertion)283 2258 y(ab)s(out)g(eac)m(h)
g(o)s(ccurrence)h(of)e Fr(call)i Fs(p)k Fu(inside)32
b(the)h(b)s(o)s(dy)g(and)f(so)h(on.)430 2379 y(Consider)d(\014rst)g
(the)g(case)g(of)f Fs(p)-5 b(artial)32 b(c)-5 b(orr)g(e)g(ctness)37
b Fu(assertions.)43 b(In)30 b(order)g(to)f(pro)m(v)m(e)i(some)283
2499 y(prop)s(ert)m(y)k Ft(f)f Fs(P)45 b Ft(g)34 b Fr(call)h
Fs(p)40 b Ft(f)34 b Fs(Q)44 b Ft(g)34 b Fu(w)m(e)h(shall)e(pro)m(v)m(e)
i(the)g(similar)c(prop)s(ert)m(y)k(for)e(the)i(b)s(o)s(dy)f(of)283
2619 y(the)39 b(pro)s(cedure)g(but)g Fs(under)g(the)h(assumption)g
(that)48 b Ft(f)37 b Fs(P)49 b Ft(g)38 b Fr(call)h Fs(p)44
b Ft(f)38 b Fs(Q)47 b Ft(g)38 b Fu(holds)g(for)f(the)283
2740 y(recursiv)m(e)d(calls)e(of)g Fs(p)6 b Fu(.)43 b(Often)33
b(this)f(is)g(expressed)k(b)m(y)d(a)f(rule)g(of)h(the)g(form)527
2996 y([call)702 2960 y Fn(rec)702 3021 y(p)795 2996
y Fu(])930 2910 y Ft(f)f Fs(P)43 b Ft(g)32 b Fr(call)i
Fs(p)k Ft(f)33 b Fs(Q)41 b Ft(g)33 b(`)1872 2925 y Fn(p)1947
2910 y Ft(f)g Fs(P)43 b Ft(g)32 b Fs(S)44 b Ft(f)33 b
Fs(Q)41 b Ft(g)p 930 2973 1640 4 v 1325 3078 a(f)33 b
Fs(P)42 b Ft(g)33 b Fr(call)g Fs(p)39 b Ft(f)32 b Fs(Q)42
b Ft(g)920 3234 y Fu(where)34 b Fs(p)k Fu(is)32 b(de\014ned)i(b)m(y)g
Fr(proc)f Fs(p)39 b Fr(is)33 b Fs(S)283 3430 y Fu(The)49
b(premise)e(of)g(the)h(rule)f(expresses)j(that)d Ft(f)g
Fs(P)58 b Ft(g)47 b Fs(S)59 b Ft(f)48 b Fs(Q)56 b Ft(g)47
b Fu(is)g(pro)m(v)-5 b(able)47 b(under)h(the)283 3551
y(assumption)32 b(that)f Ft(f)h Fs(P)42 b Ft(g)32 b Fr(call)g
Fs(p)38 b Ft(f)32 b Fs(Q)41 b Ft(g)31 b Fu(can)h(b)s(e)g(pro)m(v)m(ed)i
(for)d(the)h(recursiv)m(e)i(calls)c(presen)m(t)283 3671
y(in)i Fs(S)12 b Fu(.)33 b(The)g(conclusion)f(expresses)k(that)c
Ft(f)h Fs(P)42 b Ft(g)33 b Fr(call)g Fs(p)39 b Ft(f)32
b Fs(Q)42 b Ft(g)32 b Fu(holds)g(for)g(all)f(calls)g(of)h
Fs(p)6 b Fu(.)283 3890 y Fw(Example)37 b(6.34)49 b Fu(Consider)33
b(the)g(follo)m(wing)d(statemen)m(t)527 4086 y Fr(begin)k(proc)g(fac)f
(is)g Fu(\()p Fr(if)g(x)g Fu(=)f Fr(1)h(then)h(skip)1413
4254 y(else)g Fu(\()p Fr(y)e Fu(:=)h Fr(x)p Fo(?)p Fr(y)p
Fu(;)g Fr(x)g Fu(:=)f Fr(x)p Ft(\000)p Fr(1)p Fu(;)i
Fr(call)f(fac)p Fu(\)\);)816 4421 y Fr(y)g Fu(:=)f Fr(1)p
Fu(;)h Fr(call)h(fac)527 4589 y(end)283 4785 y Fu(W)-8
b(e)33 b(w)m(an)m(t)g(to)f(pro)m(v)m(e)h(that)f(the)g(\014nal)f(v)-5
b(alue)32 b(of)f Fr(y)i Fu(is)e(the)i(factorial)c(of)j(the)g(initial)d
(v)-5 b(alue)31 b(of)h Fr(x)p Fu(.)283 4906 y(W)-8 b(e)33
b(shall)f(pro)m(v)m(e)h(that)527 5102 y Ft(f)g Fr(x)f
Fo(>)h Fr(0)g Ft(^)g Fr(n)f Fu(=)h Fr(y)g Fo(?)f Fr(x)p
Fu(!)44 b Ft(g)32 b Fr(call)h(fac)h Ft(f)e Fr(y)h Fu(=)f
Fr(n)h Ft(g)283 5298 y Fu(where)h Fr(x)f Fo(>)f Fr(0)h
Ft(^)g Fr(n)g Fu(=)f Fr(y)h Fo(?)f Fr(x)p Fu(!)44 b(is)32
b(an)h(abbreviation)e(for)h(the)h(predicate)g Fs(P)43
b Fu(de\014ned)34 b(b)m(y)527 5494 y Fs(P)43 b(s)e Fu(=)32
b(\()p Fs(s)41 b Fr(x)33 b Fo(>)f Fw(0)g Fu(and)h Fs(s)41
b Fr(n)33 b Fu(=)f Fs(s)41 b Fr(y)32 b Fo(?)h Fu(\()p
Fs(s)40 b Fr(x)p Fu(\)!\))p eop
%%Page: 199 209
199 208 bop 0 130 a Fw(6.4)112 b(Extensions)37 b(of)h(the)f(axiomatic)f
(system)1315 b(199)p 0 193 3473 4 v 0 515 a Fu(W)-8 b(e)33
b(assume)g(that)269 683 y Ft(`)330 698 y Fn(p)405 683
y Ft(f)g Fr(x)g Fo(>)f Fr(0)h Ft(^)g Fr(n)f Fu(=)h Fr(y)g
Fo(?)f Fr(x)p Fu(!)44 b Ft(g)32 b Fr(call)i(fac)f Ft(f)f
Fr(y)h Fu(=)f Fr(n)h Ft(g)1092 b Fu(\(*\))0 851 y(holds)32
b(for)g(the)h(recursiv)m(e)h(calls)e(of)g Fr(fac)p Fu(.)44
b(W)-8 b(e)33 b(shall)e(then)i(construct)h(a)e(pro)s(of)g(of)319
1010 y Ft(f)g Fr(x)h Fo(>)f Fr(0)h Ft(^)g Fr(n)g Fu(=)f
Fr(y)h Fo(?)f Fr(x)p Fu(!)44 b Ft(g)319 1177 y Fr(if)33
b(x)f Fu(=)h Fr(1)g(then)g(skip)h(else)f Fu(\()p Fr(y)g
Fu(:=)g Fr(x)p Fo(?)p Fr(y)p Fu(;)f Fr(x)h Fu(:=)g Fr(x)p
Ft(\000)p Fr(1)p Fu(;)g Fr(call)h(fac)p Fu(\))319 1345
y Ft(f)e Fr(y)h Fu(=)f Fr(n)h Ft(g)3299 1178 y Fu(\(**\))0
1511 y(and,)42 b(using)e([call)664 1475 y Fn(rec)664
1536 y(p)757 1511 y Fu(])g(w)m(e)h(obtain)e(a)h(pro)s(of)f(of)h(\(*\))f
(for)h(all)e(o)s(ccurrences)k(of)d Fr(call)j(fac)p Fu(.)66
b(T)-8 b(o)0 1632 y(pro)m(v)m(e)34 b(\(**\))e(w)m(e)h(\014rst)g(use)h
(the)f(assumption)f(\(*\))g(to)g(get)244 1856 y Ft(`)305
1871 y Fn(p)381 1856 y Ft(f)g Fr(x)h Fo(>)f Fr(0)h Ft(^)g
Fr(n)g Fu(=)f Fr(y)h Fo(?)f Fr(x)p Fu(!)44 b Ft(g)32
b Fr(call)i(fac)f Ft(f)f Fr(y)h Fu(=)g Fr(n)f Ft(g)0
2080 y Fu(Then)i(w)m(e)f(apply)g([ass)819 2095 y Fn(p)863
2080 y Fu(])f(and)h([comp)1367 2095 y Fn(p)1410 2080
y Fu(])g(t)m(wice)g(and)f(get)244 2303 y Ft(`)305 2318
y Fn(p)381 2303 y Ft(f)g Fu(\(\()p Fr(x)h Fo(>)f Fr(0)h
Ft(^)g Fr(n)g Fu(=)f Fr(y)h Fo(?)f Fr(x)p Fu(!\)[)p Fr(x)p
Ft(7!)p Fr(x)p Ft(\000)p Fr(1)p Fu(]\)[)p Fr(y)p Ft(7!)q
Fr(x)p Fo(?)p Fr(y)p Fu(])h Ft(g)381 2471 y Fr(y)f Fu(:=)h
Fr(x)p Fo(?)p Fr(y)p Fu(;)g Fr(x)g Fu(:=)f Fr(x)p Ft(\000)p
Fr(1)p Fu(;)i Fr(call)f(fac)381 2639 y Ft(f)f Fr(y)h
Fu(=)f Fr(n)h Ft(g)0 2863 y Fu(W)-8 b(e)33 b(ha)m(v)m(e)268
3030 y Ft(:)p Fu(\()p Fr(x)p Fu(=)p Fr(1)p Fu(\))g Ft(^)f
Fu(\()p Fr(x)g Fo(>)g Fr(0)g Ft(^)g Fr(n)g Fu(=)g Fr(y)g
Fo(?)f Fr(x)p Fu(!\))44 b Ft(\))31 b Fu(\(\()p Fr(x)h
Fo(>)g Fr(0)g Ft(^)g Fr(n)g Fu(=)g Fr(y)g Fo(?)g Fr(x)p
Fu(!\)[)p Fr(x)p Ft(7!)p Fr(x)p Ft(\000)p Fr(1)p Fu(]\)[)p
Fr(y)p Ft(7!)q Fr(x)p Fo(?)p Fr(y)p Fu(])0 3198 y(so)h(using)f([cons)
586 3213 y Fn(p)630 3198 y Fu(])h(w)m(e)h(get)244 3422
y Ft(`)305 3437 y Fn(p)381 3422 y Ft(f)e(:)p Fu(\()p
Fr(x)p Fu(=)p Fr(1)p Fu(\))h Ft(^)g Fu(\()p Fr(x)g Fo(>)f
Fr(0)h Ft(^)g Fr(n)g Fu(=)f Fr(y)h Fo(?)f Fr(x)p Fu(!\))44
b Ft(g)381 3589 y Fr(y)32 b Fu(:=)h Fr(x)p Fo(?)p Fr(y)p
Fu(;)g Fr(x)g Fu(:=)f Fr(x)p Ft(\000)p Fr(1)p Fu(;)i
Fr(call)f(fac)381 3757 y Ft(f)f Fr(y)h Fu(=)f Fr(n)h
Ft(g)0 3981 y Fu(Using)f(that)244 4205 y Fr(x)p Fu(=)p
Fr(1)h Ft(^)g Fr(x)g Fo(>)f Fr(0)h Ft(^)g Fr(n)f Fu(=)h
Fr(y)g Fo(?)f Fr(x)p Fu(!)44 b Ft(\))32 b Fr(y)h Fu(=)f
Fr(n)0 4429 y Fu(it)g(is)g(easy)h(to)f(pro)m(v)m(e)244
4652 y Ft(`)305 4667 y Fn(p)381 4652 y Ft(f)g Fr(x)p
Fu(=)p Fr(1)h Ft(^)g Fr(x)g Fo(>)f Fr(0)h Ft(^)g Fr(n)f
Fu(=)h Fr(y)g Fo(?)f Fr(x)p Fu(!)44 b Ft(g)32 b Fr(skip)i
Ft(f)e Fr(y)h Fu(=)f Fr(n)h Ft(g)0 4876 y Fu(so)g([if)205
4891 y Fn(p)247 4876 y Fu(])g(can)g(b)s(e)f(applied)g(and)g(giv)m(es)h
(a)g(pro)s(of)e(of)i(\(**\).)1361 b Fh(2)146 5133 y Fu(T)-8
b(able)31 b(6.1)g(extended)j(with)d(the)g(rule)g([call)1739
5097 y Fn(rec)1739 5158 y(p)1832 5133 y Fu(])h(can)f(b)s(e)h(pro)m(v)m
(ed)h(to)e(b)s(e)g(sound.)44 b(Ho)m(w)m(ev)m(er,)0 5254
y(in)28 b(order)i(to)e(get)i(a)e(completeness)i(result)g(the)f
(inference)h(system)g(has)f(to)g(b)s(e)h(extended)h(with)0
5374 y(additional)f(rules.)43 b(T)-8 b(o)33 b(illustrate)d(wh)m(y)k
(this)e(is)g(necessary)j(consider)e(the)g(follo)m(wing)d(v)m(ersion)0
5494 y(of)i(the)h(factorial)d(program:)p eop
%%Page: 200 210
200 209 bop 251 130 a Fw(200)1567 b(6)112 b(Axiomatic)35
b(Program)h(V)-9 b(eri\014cation)p 251 193 3473 4 v 527
515 a Fr(begin)34 b(proc)g(fac)f(is)g(if)g(x)p Fu(=)p
Fr(1)g(then)h(y)e Fu(:=)h Fr(1)1375 683 y(else)h Fu(\()p
Fr(x)e Fu(:=)h Fr(x)p Ft(\000)p Fr(1)p Fu(;)h Fr(call)f(fac)p
Fu(;)h Fr(x)e Fu(:=)h Fr(x)p Fu(+)p Fr(1)p Fu(;)g Fr(y)g
Fu(:=)f Fr(x)p Fo(?)p Fr(y)p Fu(\);)816 851 y Fr(call)i(fac)527
1018 y(end)283 1223 y Fu(Assume)h(that)f(w)m(e)h(w)m(an)m(t)f(to)g(pro)
m(v)m(e)h(that)e(this)h(program)e(do)s(es)i(not)g(c)m(hange)h(the)f(v)
-5 b(alue)33 b(of)h Fr(x)p Fu(,)283 1344 y(that)f(is)552
1511 y Ft(f)g Fr(x)f Fu(=)h Fr(n)f Ft(g)h Fr(call)g(fac)h
Ft(f)e Fr(x)h Fu(=)f Fr(n)h Ft(g)1806 b Fu(\(*\))283
1679 y(In)32 b(order)g(to)g(do)f(that)h(w)m(e)g(assume)g(that)g(w)m(e)h
(ha)m(v)m(e)g(a)e(pro)s(of)g(of)g(\(*\))g(for)g(the)h(recursiv)m(e)h
(call)d(of)283 1799 y Fr(fac)c Fu(and)f(w)m(e)h(ha)m(v)m(e)g(to)f
(construct)h(a)e(pro)s(of)g(of)h(the)g(prop)s(ert)m(y)h(for)e(the)h(b)s
(o)s(dy)g(of)g(the)g(pro)s(cedure.)283 1920 y(It)33 b(seems)h(that)e
(in)g(order)g(to)h(do)f(so)h(w)m(e)h(m)m(ust)e(construct)i(a)e(pro)s
(of)g(of)527 2125 y Ft(f)h Fr(x)f Fu(=)h Fr(n)p Ft(\000)p
Fr(1)g Ft(g)g Fr(call)g(fac)h Ft(f)e Fr(x)h Fu(=)f Fr(n)p
Ft(\000)p Fr(1)i Ft(g)283 2330 y Fu(and)h(there)h(are)e(no)h(axioms)f
(and)g(rules)h(that)g(allo)m(w)e(us)i(to)g(obtain)e(suc)m(h)j(a)f(pro)s
(of)f(from)f(\(*\).)283 2451 y(Ho)m(w)m(ev)m(er,)h(w)m(e)d(shall)e(not)
h(go)f(further)i(in)m(to)e(this,)i(but)f(Chapter)h(7)f(will)e(pro)m
(vide)j(appropriate)283 2571 y(references.)430 2692 y(The)36
b(case)h(of)e Fs(total)j(c)-5 b(orr)g(e)g(ctness)44 b
Fu(is)35 b(sligh)m(tly)f(more)h(complicated)f(b)s(ecause)j(w)m(e)g(ha)m
(v)m(e)g(to)283 2812 y(b)s(ound)c(the)g(n)m(um)m(b)s(er)g(of)f
(recursiv)m(e)i(calls.)43 b(The)33 b(rule)f(adopted)h(is)527
3077 y([call)702 3041 y Fn(rec)702 3102 y(t)795 3077
y Fu(])930 2991 y Ft(f)f Fs(P)10 b Fu(\()p Fw(z)p Fu(\))33
b Ft(g)f Fr(call)i Fs(p)k Ft(f)32 b(+)h Fs(Q)41 b Ft(g)33
b(`)2091 3006 y Fn(t)2155 2991 y Ft(f)f Fs(P)10 b Fu(\()p
Fw(z)p Fu(+)p Fw(1)p Fu(\))33 b Ft(g)f Fs(S)44 b Ft(f)33
b(+)f Fs(Q)42 b Ft(g)p 930 3054 2198 4 v 1429 3159 a(f)32
b(9)p Fw(z)p Fu(.)p Fs(P)10 b Fu(\()p Fw(z)p Fu(\))33
b Ft(g)f Fr(call)i Fs(p)k Ft(f)33 b(+)f Fs(Q)42 b Ft(g)920
3315 y Fu(where)34 b Ft(:)p Fs(P)10 b Fu(\()p Fw(0)p
Fu(\))33 b(holds)920 3483 y(and)f Fw(z)h Fu(ranges)g(o)m(v)m(er)g(the)g
(natural)f(n)m(um)m(b)s(ers)h(\(that)g(is)f Fw(z)p Ft(\025)p
Fw(0)p Fu(\))920 3651 y(and)g(where)i Fs(p)39 b Fu(is)32
b(de\014ned)i(b)m(y)f Fr(proc)h Fs(p)k Fr(is)33 b Fs(S)283
3856 y Fu(The)49 b(premise)e(of)f(this)h(rule)g(expresses)j(that)d(if)f
(w)m(e)i(assume)g(that)f(w)m(e)h(ha)m(v)m(e)h(a)e(pro)s(of)f(of)283
3976 y Ft(f)33 b Fs(P)10 b Fu(\()p Fw(z)p Fu(\))32 b
Ft(g)h Fr(call)g Fs(p)39 b Ft(f)32 b(+)g Fs(Q)42 b Ft(g)e
Fu(for)g(all)f(recursiv)m(e)j(calls)d(of)h Fs(p)46 b
Fu(of)40 b(depth)h(at)g(most)e Fw(z)i Fu(then)g(w)m(e)283
4097 y(can)33 b(pro)m(v)m(e)g Ft(f)f Fs(P)10 b Fu(\()p
Fw(z)p Fu(+)p Fw(1)p Fu(\))32 b Ft(g)g Fs(S)44 b Ft(f)32
b(+)g Fs(Q)42 b Ft(g)p Fu(.)h(The)33 b(conclusion)f(expresses)j(that)d
(for)f(an)m(y)i(depth)g(of)283 4217 y(recursiv)m(e)h(calls)e(w)m(e)h
(ha)m(v)m(e)h(a)f(pro)s(of)e(of)h Ft(f)h(9)p Fw(z)p Fu(.)p
Fs(P)10 b Fu(\()p Fw(z)p Fu(\))33 b Ft(g)f Fr(call)h
Fs(p)39 b Ft(f)32 b(+)h Fs(Q)41 b Ft(g)p Fu(.)430 4338
y(The)28 b(inference)g(system)h(of)d(T)-8 b(able)28 b(6.2)f(extended)i
(with)e(the)h(rule)f([call)3023 4302 y Fn(rec)3023 4362
y(t)3116 4338 y Fu(])g(can)h(b)s(e)f(pro)m(v)m(ed)283
4458 y(to)i(b)s(e)f(sound.)43 b(If)28 b(it)g(is)g(extended)i(with)e
(additional)e(rules)i(\(as)g(discussed)j(ab)s(o)m(v)m(e\))e(it)e(can)i
(also)283 4579 y(b)s(e)k(pro)m(v)m(ed)h(to)f(b)s(e)f(complete.)283
4914 y Fj(6.5)161 b(Assertions)52 b(for)i(execution)f(time)283
5133 y Fu(A)42 b(pro)s(of)e(system)i(for)f(total)e(correctness)44
b(can)d(b)s(e)g(used)i(to)d(pro)m(v)m(e)j(that)e(a)g(program)e(do)s(es)
283 5254 y(indeed)46 b(terminate)e(but)h(it)f(do)s(es)i(not)e(sa)m(y)j
(ho)m(w)e(man)m(y)g(resources)i(it)d(needs)j(in)d(order)h(to)283
5374 y(terminate.)c(W)-8 b(e)30 b(shall)d(no)m(w)i(sho)m(w)h(ho)m(w)f
(to)g(extend)h(the)f(total)e(correctness)k(pro)s(of)d(system)h(of)283
5494 y(T)-8 b(able)33 b(6.2)f(to)g(pro)m(v)m(e)i Fs(the)h(or)-5
b(der)34 b(of)h(magnitude)f(of)h(the)g(exe)-5 b(cution)34
b(time)40 b Fu(of)32 b(a)g(statemen)m(t.)p eop
%%Page: 201 211
201 210 bop 0 130 a Fw(6.5)112 b(Assertions)37 b(for)g(execution)g
(time)1606 b(201)p 0 193 3473 4 v 146 515 a Fu(It)39
b(is)e(easy)i(to)f(giv)m(e)g(some)g(informal)d(guidelines)i(for)h(ho)m
(w)g(to)g(determine)g(the)h(order)f(of)0 636 y(magnitude)31
b(of)h(execution)i(time:)0 813 y Fw(assignmen)m(t:)49
b Fu(the)33 b(execution)g(time)e(is)h Ft(O)s Fu(\()p
Fw(1)p Fu(\),)h(that)f(is,)g(it)g(is)g(b)s(ounded)h(b)m(y)h(a)e
(constan)m(t,)0 1007 y Fw(skip:)49 b Fu(the)33 b(execution)g(time)e(is)
h Ft(O)s Fu(\()p Fw(1)p Fu(\),)0 1202 y Fw(comp)s(osition:)47
b Fu(the)35 b(execution)h(time)d(is,)i(to)f(within)g(a)g(constan)m(t)i
(factor,)f(the)g(sum)g(of)f(the)244 1322 y(execution)f(times)f(of)g
(eac)m(h)h(of)f(the)i(statemen)m(ts,)0 1517 y Fw(conditional:)47
b Fu(the)30 b(execution)h(time)d(is,)i(to)g(within)e(a)i(constan)m(t)g
(factor,)g(the)h(largest)e(of)g(the)244 1637 y(execution)k(times)f(of)g
(the)h(t)m(w)m(o)g(branc)m(hes,)i(and)0 1832 y Fw(iteration:)47
b Fu(the)30 b(execution)f(time)f(of)h(the)g(lo)s(op)f(is,)h(to)g
(within)f(a)h(constan)m(t)g(factor,)h(the)f(sum,)244
1952 y(o)m(v)m(er)34 b(all)c(iterations)h(round)i(the)g(lo)s(op,)e(of)h
(the)h(time)e(to)i(execute)h(the)f(b)s(o)s(dy)-8 b(.)0
2129 y(The)26 b(idea)f(no)m(w)h(is)f(to)f(formalize)f(these)k(rules)e
(b)m(y)h(giving)e(an)h(inference)h(system)g(for)f(reasoning)0
2250 y(ab)s(out)32 b(execution)h(times.)43 b(T)-8 b(o)33
b(do)f(so)h(w)m(e)g(shall)f(pro)s(ceed)h(in)f(three)h(stages:)145
2427 y Ft(\017)49 b Fu(\014rst)42 b(w)m(e)g(sp)s(ecify)f(the)h(exact)g
(time)e(needed)j(to)e(ev)-5 b(aluate)40 b(arithmetic)g(and)h(b)s(o)s
(olean)244 2547 y(expressions,)145 2742 y Ft(\017)49
b Fu(next)37 b(w)m(e)f(extend)h(the)g(natural)d(seman)m(tics)i(of)f
(Chapter)i(2)e(to)h(coun)m(t)g(the)g(exact)h(exe-)244
2862 y(cution)32 b(time,)f(and)145 3057 y Ft(\017)49
b Fu(\014nally)40 b(w)m(e)j(extend)g(the)g(total)d(correctness)k(pro)s
(of)d(system)h(to)g(pro)m(v)m(e)h(the)f(order)g(of)244
3177 y(magnitude)31 b(of)h(the)h(execution)h(time)d(of)h(statemen)m
(ts.)0 3354 y(Ho)m(w)m(ev)m(er,)f(b)s(efore)c(addressing)h(these)g
(issues)h(w)m(e)f(ha)m(v)m(e)h(to)e(\014x)h(a)f Fs(c)-5
b(omputational)29 b(mo)-5 b(del)p Fu(,)28 b(that)0 3475
y(is)43 b(w)m(e)i(ha)m(v)m(e)g(to)e(determine)h(ho)m(w)g(to)f(coun)m(t)
i(the)f(cost)g(of)f(the)h(v)-5 b(arious)43 b(op)s(erations.)76
b(The)0 3595 y(actual)36 b(c)m(hoice)i(is)e(not)i(so)f(imp)s(ortan)m(t)
e(but)j(for)e(the)i(sak)m(e)g(of)f(simplicit)m(y)e(w)m(e)j(ha)m(v)m(e)g
(based)g(it)0 3715 y(up)s(on)44 b(the)h(abstract)g(mac)m(hine)f(of)g
(Chapter)h(3.)79 b(The)46 b(idea)e(is)g(that)g(eac)m(h)h(instruction)f
(of)0 3836 y(the)38 b(mac)m(hine)e(tak)m(es)j(one)e(time)f(unit)h(and)g
(the)h(time)e(required)h(to)g(execute)i(an)e(arithmetic)0
3956 y(expression,)27 b(a)c(b)s(o)s(olean)f(expression)i(or)f(a)g
(statemen)m(t)h(will)d(b)s(e)j(the)g(time)e(required)h(to)g(execute)0
4077 y(the)29 b(generated)g(co)s(de.)43 b(Ho)m(w)m(ev)m(er,)32
b(no)c(kno)m(wledge)i(of)e(Chapter)h(3)f(is)g(required)i(in)d(the)i
(sequel.)0 4361 y Fp(Exact)46 b(execution)f(times)h(for)f(expressions)0
4546 y Fu(The)34 b(time)d(needed)j(to)e(ev)-5 b(aluate)32
b(an)h(arithmetic)d(expression)k(is)e(giv)m(en)h(b)m(y)g(a)g(function)
244 4723 y Ft(T)25 b(A)p Fu(:)43 b Fw(Aexp)33 b Ft(!)f
Fw(Z)0 4900 y Fu(so)24 b Ft(T)i(A)p Fu([)-17 b([)p Fs(a)7
b Fu(])-17 b(])25 b(is)f(the)h(n)m(um)m(b)s(er)f(of)g(time)f(units)h
(required)h(to)f(ev)-5 b(aluate)23 b Fs(a)32 b Fu(in)23
b(an)m(y)i(state.)41 b(Similarly)-8 b(,)0 5020 y(the)33
b(function)244 5197 y Ft(T)25 b(B)t Fu(:)43 b Fw(Bexp)33
b Ft(!)f Fw(Z)0 5374 y Fu(determines)41 b(the)f(n)m(um)m(b)s(er)h(of)f
(time)f(units)h(required)h(to)f(ev)-5 b(aluate)40 b(a)g(b)s(o)s(olean)f
(expression.)0 5494 y(These)34 b(functions)f(are)f(de\014ned)i(in)e(T)
-8 b(able)33 b(6.3.)p eop
%%Page: 202 212
202 211 bop 251 130 a Fw(202)1567 b(6)112 b(Axiomatic)35
b(Program)h(V)-9 b(eri\014cation)p 251 193 3473 4 v 283
419 V 283 2313 4 1894 v 715 528 a Ft(T)26 b(A)o Fu([)-17
b([)q Fs(n)7 b Fu(])-17 b(])374 b(=)100 b Fw(1)715 696
y Ft(T)26 b(A)o Fu([)-17 b([)q Fs(x)12 b Fu(])-17 b(])379
b(=)100 b Fw(1)715 863 y Ft(T)26 b(A)o Fu([)-17 b([)q
Fs(a)969 878 y Fn(1)1041 863 y Fu(+)33 b Fs(a)1207 878
y Fn(2)1246 863 y Fu(])-17 b(])102 b(=)e Ft(T)25 b(A)p
Fu([)-17 b([)p Fs(a)1814 878 y Fn(1)1854 863 y Fu(])g(])33
b(+)g Ft(T)25 b(A)p Fu([)-17 b([)p Fs(a)2286 878 y Fn(2)2326
863 y Fu(])g(])33 b(+)g Fw(1)715 1031 y Ft(T)26 b(A)o
Fu([)-17 b([)q Fs(a)969 1046 y Fn(1)1041 1031 y Fo(?)33
b Fs(a)1180 1046 y Fn(2)1219 1031 y Fu(])-17 b(])129
b(=)100 b Ft(T)25 b(A)p Fu([)-17 b([)p Fs(a)1814 1046
y Fn(1)1854 1031 y Fu(])g(])33 b(+)g Ft(T)25 b(A)p Fu([)-17
b([)p Fs(a)2286 1046 y Fn(2)2326 1031 y Fu(])g(])33 b(+)g
Fw(1)715 1199 y Ft(T)26 b(A)o Fu([)-17 b([)q Fs(a)969
1214 y Fn(1)1041 1199 y Ft(\000)33 b Fs(a)1208 1214 y
Fn(2)1248 1199 y Fu(])-17 b(])100 b(=)g Ft(T)25 b(A)p
Fu([)-17 b([)p Fs(a)1814 1214 y Fn(1)1854 1199 y Fu(])g(])33
b(+)g Ft(T)25 b(A)p Fu([)-17 b([)p Fs(a)2286 1214 y Fn(2)2326
1199 y Fu(])g(])33 b(+)g Fw(1)715 1414 y Ft(T)26 b(B)s
Fu([)-17 b([)q Fr(true)p Fu(])g(])243 b(=)100 b Fw(1)715
1581 y Ft(T)26 b(B)s Fu([)-17 b([)q Fr(false)p Fu(])g(])192
b(=)100 b Fw(1)715 1749 y Ft(T)26 b(B)s Fu([)-17 b([)q
Fs(a)958 1764 y Fn(1)1030 1749 y Fu(=)33 b Fs(a)1196
1764 y Fn(2)1235 1749 y Fu(])-17 b(])113 b(=)100 b Ft(T)25
b(A)p Fu([)-17 b([)p Fs(a)1814 1764 y Fn(1)1854 1749
y Fu(])g(])33 b(+)g Ft(T)25 b(A)p Fu([)-17 b([)p Fs(a)2286
1764 y Fn(2)2326 1749 y Fu(])g(])33 b(+)g Fw(1)715 1916
y Ft(T)26 b(B)s Fu([)-17 b([)q Fs(a)958 1931 y Fn(1)1030
1916 y Ft(\024)33 b Fs(a)1197 1931 y Fn(2)1237 1916 y
Fu(])-17 b(])111 b(=)100 b Ft(T)25 b(A)p Fu([)-17 b([)p
Fs(a)1814 1931 y Fn(1)1854 1916 y Fu(])g(])33 b(+)g Ft(T)25
b(A)p Fu([)-17 b([)p Fs(a)2286 1931 y Fn(2)2326 1916
y Fu(])g(])33 b(+)g Fw(1)715 2084 y Ft(T)26 b(B)s Fu([)-17
b([)q Ft(:)p Fs(b)6 b Fu(])-17 b(])330 b(=)100 b Ft(T)25
b(B)t Fu([)-17 b([)p Fs(b)6 b Fu(])-17 b(])33 b(+)g Fw(1)715
2252 y Ft(T)26 b(B)s Fu([)-17 b([)q Fs(b)952 2267 y Fn(1)1024
2252 y Ft(^)33 b Fs(b)1174 2267 y Fn(2)1213 2252 y Fu(])-17
b(])135 b(=)100 b Ft(T)25 b(B)t Fu([)-17 b([)p Fs(b)1797
2267 y Fn(1)1837 2252 y Fu(])g(])33 b(+)f Ft(T)26 b(B)s
Fu([)-17 b([)q Fs(b)2252 2267 y Fn(2)2291 2252 y Fu(])g(])33
b(+)g Fw(1)p 3753 2313 V 283 2316 3473 4 v 987 2477 a
Fu(T)-8 b(able)32 b(6.3:)43 b(Exact)34 b(execution)f(times)f(for)g
(expressions)283 2743 y Fp(Exact)46 b(execution)g(times)g(for)f
(statemen)l(ts)283 2928 y Fu(T)-8 b(urning)25 b(to)f(the)i(execution)f
(time)e(for)i(statemen)m(ts)g(w)m(e)h(shall)e(extend)i(the)f(natural)f
(seman)m(tics)283 3049 y(of)47 b(T)-8 b(able)46 b(2.1)h(to)f(sp)s
(ecify)h(the)g(time)f(requiremen)m(ts.)87 b(This)47 b(is)f(done)h(b)m
(y)h(extending)f(the)283 3169 y(transitions)32 b(to)g(ha)m(v)m(e)i(the)
f(form)527 3345 y Ft(h)p Fs(S)12 b Fu(,)33 b Fs(s)8 b
Ft(i)32 b(!)912 3309 y Fc(t)974 3345 y Fs(s)1022 3309
y Fi(0)283 3521 y Fu(meaning)k(that)h(if)e Fs(S)49 b
Fu(is)36 b(executed)j(from)d(state)h Fs(s)45 b Fu(then)37
b(it)f(will)f(terminate)g(in)h(state)i Fs(s)3539 3485
y Fi(0)3599 3521 y Fu(and)283 3642 y(exactly)d Fs(t)44
b Fu(time)33 b(units)i(will)d(b)s(e)i(required)h(for)f(this.)48
b(The)36 b(extension)f(of)f(T)-8 b(able)34 b(2.1)g(is)g(fairly)283
3762 y(straigh)m(tforw)m(ard)f(and)f(is)g(giv)m(en)h(in)f(T)-8
b(able)32 b(6.4.)283 4046 y Fp(The)45 b(inference)g(system)283
4231 y Fu(The)34 b(inference)g(system)g(for)e(pro)m(ving)h(the)h(order)
f(of)f(magnitude)g(of)h(the)g(execution)h(time)d(of)283
4351 y(statemen)m(ts)j(will)c(ha)m(v)m(e)k(assertions)f(of)f(the)h
(form)527 4527 y Ft(f)g Fs(P)43 b Ft(g)32 b Fs(S)44 b
Ft(f)33 b Fs(e)39 b Ft(+)33 b Fs(Q)41 b Ft(g)283 4704
y Fu(where)h Fs(P)51 b Fu(and)40 b Fs(Q)49 b Fu(are)41
b(predicates)f(as)h(in)e(the)i(previous)g(inference)g(systems)g(and)g
Fs(e)47 b Fu(is)40 b(an)283 4824 y(arithmetic)31 b(expression)j(\(that)
e(is)g Fs(e)40 b Ft(2)33 b Fw(Aexp)p Fu(\).)44 b(The)33
b(idea)f(is)g(that)552 4992 y Fs(if)54 b Fu(the)33 b(execution)g(of)f
Fs(S)44 b Fu(is)32 b(started)h(in)f(a)h(state)g(satisfying)e
Fs(P)552 5159 y(then)40 b Fu(it)32 b(terminates)f(in)h(a)h(state)g
(satisfying)e Fs(Q)552 5327 y(and)42 b Fu(the)33 b(required)h
(execution)f(time)e(is)h Ft(O)s Fu(\()p Fs(e)7 b Fu(\),)33
b(that)f(is)g(has)h(order)g(of)f(magnitude)g Fs(e)7 b
Fu(.)283 5494 y(So)33 b(for)f(example)p eop
%%Page: 203 213
203 212 bop 0 130 a Fw(6.5)112 b(Assertions)37 b(for)g(execution)g
(time)1606 b(203)p 0 193 3473 4 v 0 419 V 0 2490 4 2071
v 256 530 a Fu([ass)408 545 y Fn(tns)508 530 y Fu(])345
b Ft(h)o Fs(x)45 b Fu(:=)32 b Fs(a)7 b Fu(,)33 b Fs(s)8
b Ft(i)32 b(!)1479 494 y Fi(T)17 b(A)q Fn([)-12 b([)o
Fc(a)p Fn(])g(]+1)1811 530 y Fs(s)8 b Fu([)p Fs(x)k Ft(7!)o(A)p
Fu([)-17 b([)p Fs(a)7 b Fu(])-17 b(])q Fs(s)8 b Fu(])256
745 y([skip)454 760 y Fn(tns)553 745 y Fu(])300 b Ft(h)o
Fr(skip)p Fu(,)34 b Fs(s)8 b Ft(i)32 b(!)1402 709 y Fn(1)1474
745 y Fs(s)256 1039 y Fu([comp)511 1054 y Fn(tns)610
1039 y Fu(])890 952 y Ft(h)o Fs(S)995 967 y Fn(1)1035
952 y Fu(,)p Fs(s)8 b Ft(i)32 b(!)1281 916 y Fc(t)1306
925 y Fd(1)1377 952 y Fs(s)1425 916 y Fi(0)1449 952 y
Fu(,)g Ft(h)p Fs(S)1614 967 y Fn(2)1653 952 y Fu(,)p
Fs(s)1728 916 y Fi(0)1752 952 y Ft(i)g(!)1923 916 y Fc(t)1948
925 y Fd(2)2019 952 y Fs(s)2067 916 y Fi(00)p 890 1016
1221 4 v 1070 1120 a Ft(h)p Fs(S)1176 1135 y Fn(1)1215
1120 y Fu(;)p Fs(S)1309 1135 y Fn(2)1349 1120 y Fu(,)g
Fs(s)8 b Ft(i)32 b(!)1627 1084 y Fc(t)1652 1093 y Fd(1)1687
1084 y Fn(+)p Fc(t)1767 1093 y Fd(2)1839 1120 y Fs(s)1887
1084 y Fi(00)256 1403 y Fu([if)353 1367 y Fn(tt)341 1428
y(tns)439 1403 y Fu(])1489 1317 y Ft(h)p Fs(S)1595 1332
y Fn(1)1634 1317 y Fu(,)p Fs(s)8 b Ft(i)33 b(!)1880 1281
y Fc(t)1942 1317 y Fs(s)1990 1281 y Fi(0)p 890 1380 1724
4 v 890 1485 a Ft(h)o Fr(if)g Fs(b)39 b Fr(then)33 b
Fs(S)1451 1500 y Fn(1)1523 1485 y Fr(else)h Fs(S)1828
1500 y Fn(2)1867 1485 y Fu(,)f Fs(s)8 b Ft(i)32 b(!)2146
1449 y Fi(T)17 b(B)r Fn([)-12 b([)o Fc(b)p Fn(])g(]+)p
Fc(t)p Fn(+1)2542 1485 y Fs(s)2590 1449 y Fi(0)2688 1403
y Fu(if)32 b Ft(B)s Fu([)-17 b([)q Fs(b)6 b Fu(])-17
b(])p Fs(s)41 b Fu(=)32 b Fw(tt)256 1768 y Fu([if)353
1731 y Fn(\013)341 1792 y(tns)439 1768 y Fu(])1489 1681
y Ft(h)p Fs(S)1595 1696 y Fn(2)1634 1681 y Fu(,)p Fs(s)8
b Ft(i)33 b(!)1880 1645 y Fc(t)1942 1681 y Fs(s)1990
1645 y Fi(0)p 890 1744 V 890 1849 a Ft(h)o Fr(if)g Fs(b)39
b Fr(then)33 b Fs(S)1451 1864 y Fn(1)1523 1849 y Fr(else)h
Fs(S)1828 1864 y Fn(2)1867 1849 y Fu(,)f Fs(s)8 b Ft(i)32
b(!)2146 1813 y Fi(T)17 b(B)r Fn([)-12 b([)o Fc(b)p Fn(])g(]+)p
Fc(t)p Fn(+1)2542 1849 y Fs(s)2590 1813 y Fi(0)2688 1768
y Fu(if)32 b Ft(B)s Fu([)-17 b([)q Fs(b)6 b Fu(])-17
b(])p Fs(s)41 b Fu(=)32 b Fw(\013)256 2142 y Fu([while)518
2106 y Fn(tt)506 2167 y(tns)604 2142 y Fu(])890 2056
y Ft(h)o Fs(S)12 b Fu(,)p Fs(s)c Ft(i)33 b(!)1241 2020
y Fc(t)1303 2056 y Fs(s)1351 2020 y Fi(0)1375 2056 y
Fu(,)f Ft(h)p Fr(while)i Fs(b)k Fr(do)33 b Fs(S)12 b
Fu(,)33 b Fs(s)2155 2020 y Fi(0)2178 2056 y Ft(i)f(!)2349
2020 y Fc(t)2374 1996 y Fa(0)2434 2056 y Fs(s)2482 2020
y Fi(00)p 890 2119 1635 4 v 966 2224 a Ft(h)p Fr(while)i
Fs(b)k Fr(do)33 b Fs(S)12 b Fu(,)33 b Fs(s)8 b Ft(i)32
b(!)1858 2188 y Fi(T)17 b(B)r Fn([)-12 b([)o Fc(b)p Fn(])g(]+)p
Fc(t)p Fn(+)p Fc(t)2207 2164 y Fa(0)2230 2188 y Fn(+2)2357
2224 y Fs(s)2405 2188 y Fi(00)2599 2142 y Fu(if)32 b
Ft(B)s Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(])p Fs(s)41
b Fu(=)32 b Fw(tt)256 2429 y Fu([while)518 2393 y Fn(\013)506
2454 y(tns)604 2429 y Fu(])249 b Ft(h)o Fr(while)34 b
Fs(b)39 b Fr(do)33 b Fs(S)12 b Fu(,)32 b Fs(s)8 b Ft(i)32
b(!)1771 2393 y Fi(T)17 b(B)r Fn([)-12 b([)p Fc(b)p Fn(])g(])o(+3)2087
2429 y Fs(s)41 b Fu(if)31 b Ft(B)t Fu([)-17 b([)p Fs(b)6
b Fu(])-17 b(])q Fs(s)40 b Fu(=)33 b Fw(\013)p 3469 2490
4 2071 v 0 2493 3473 4 v 294 2654 a Fu(T)-8 b(able)33
b(6.4:)43 b(Natural)31 b(seman)m(tics)i(for)f Fw(While)f
Fu(with)h(exact)i(execution)f(times)244 2911 y Ft(f)d
Fr(x)g Fu(=)g Fr(3)h Ft(g)f Fr(y)g Fu(:=)g Fr(1)p Fu(;)i
Fr(while)f Ft(:)p Fu(\()p Fr(x)p Fu(=)p Fr(1)p Fu(\))g
Fr(do)g Fu(\()p Fr(y)f Fu(:=)g Fr(y)p Fo(?)p Fr(x)p Fu(;)h
Fr(x)g Fu(:=)f Fr(x)p Ft(\000)p Fr(1)p Fu(\))h Ft(f)f
Fr(1)g Ft(+)h Fr(true)g Ft(g)0 3102 y Fu(expresses)d(that)d(the)h
(execution)f(of)g(the)g(factorial)e(statemen)m(t)j(from)e(a)g(state)i
(where)g Fr(x)f Fu(has)h(the)0 3222 y(v)-5 b(alue)32
b Fw(3)h Fu(has)g(order)f(of)g(magnitude)g Fr(1)p Fu(,)h(that)f(is)g
(it)g(is)g(b)s(ounded)h(b)m(y)g(a)g(constan)m(t.)44 b(Similarly)-8
b(,)244 3413 y Ft(f)30 b Fr(x)h Fo(>)f Fu(0)g Ft(g)g
Fr(y)g Fu(:=)h Fr(1)p Fu(;)g Fr(while)h Ft(:)p Fu(\()p
Fr(x)p Fu(=)p Fr(1)p Fu(\))f Fr(do)f Fu(\()p Fr(y)h Fu(:=)f
Fr(y)p Fo(?)p Fr(x)p Fu(;)i Fr(x)e Fu(:=)g Fr(x)p Ft(\000)p
Fr(1)p Fu(\))i Ft(f)e Fr(x)g Ft(+)g Fr(true)i Ft(g)0
3604 y Fu(expresses)27 b(that)c(the)h(execution)g(of)f(the)h(factorial)
d(statemen)m(t)j(on)f(a)h(state)g(where)g Fr(x)g Fu(is)f(p)s(ositiv)m
(e)0 3724 y(has)33 b(order)g(of)f(magnitude)f Fr(x)p
Fu(.)146 3844 y(F)-8 b(ormally)g(,)30 b Fs(validity)41
b Fu(of)32 b(the)h(form)m(ula)e Ft(f)h Fs(P)43 b Ft(g)32
b Fs(S)45 b Ft(f)32 b Fs(e)40 b Ft(+)32 b Fs(Q)42 b Ft(g)32
b Fu(is)g(de\014ned)i(b)m(y)244 4035 y Ft(j)-17 b Fu(=)331
4050 y Fn(e)399 4035 y Ft(f)32 b Fs(P)43 b Ft(g)32 b
Fs(S)45 b Ft(f)32 b Fs(e)40 b Ft(+)32 b Fs(Q)42 b Ft(g)0
4226 y Fu(if)31 b(and)i(only)f(if)244 4417 y(there)h(exists)h(a)e
(natural)f(n)m(um)m(b)s(er)i Fw(k)g Fu(suc)m(h)h(that)e(for)g(all)f
(states)i Fs(s)8 b Fu(,)244 4584 y(if)31 b Fs(P)43 b(s)e
Fu(=)32 b Fw(tt)g Fu(then)h(there)g(exists)h(a)e(state)h
Fs(s)1860 4548 y Fi(0)1916 4584 y Fu(and)g(a)f(n)m(um)m(b)s(er)h
Fs(t)42 b Fu(suc)m(h)34 b(that)244 4752 y Fs(Q)42 b(s)409
4716 y Fi(0)464 4752 y Fu(=)33 b Fw(tt)p Fu(,)f Ft(h)o
Fs(S)12 b Fu(,)33 b Fs(s)8 b Ft(i)32 b(!)1104 4716 y
Fc(t)1166 4752 y Fs(s)1214 4716 y Fi(0)1237 4752 y Fu(,)h(and)g
Fs(t)42 b Ft(\024)33 b Fw(k)g Fo(?)f Fu(\()p Ft(A)o Fu([)-17
b([)q Fs(e)7 b Fu(])-17 b(])q Fs(s)8 b Fu(\))0 4943 y(Note)39
b(that)g(the)h(expression)h Fs(e)46 b Fu(is)39 b(ev)-5
b(aluated)39 b(in)f(the)i(initial)35 b(state)40 b(rather)f(than)h(the)f
(\014nal)0 5063 y(state.)146 5183 y(The)26 b(axioms)d(and)i(rules)f(of)
g(the)h(inference)g(system)h(are)e(giv)m(en)h(in)e(T)-8
b(able)25 b(6.5.)40 b(Pro)m(v)-5 b(abilit)m(y)0 5304
y(of)32 b(the)h(assertion)g Ft(f)f Fs(P)43 b Ft(g)32
b Fs(S)45 b Ft(f)32 b Fs(e)40 b Ft(+)32 b Fs(Q)42 b Ft(g)32
b Fu(in)g(the)h(inference)g(system)h(is)e(written)244
5494 y Ft(`)305 5509 y Fn(e)373 5494 y Ft(f)g Fs(P)43
b Ft(g)32 b Fs(S)45 b Ft(f)32 b Fs(e)40 b Ft(+)32 b Fs(Q)42
b Ft(g)p eop
%%Page: 204 214
204 213 bop 251 130 a Fw(204)1567 b(6)112 b(Axiomatic)35
b(Program)h(V)-9 b(eri\014cation)p 251 193 3473 4 v 283
419 V 283 3119 4 2700 v 350 528 a Fu([ass)502 543 y Fn(e)538
528 y Fu(])201 b Ft(f)33 b Fs(P)10 b Fu([)p Fs(x)i Ft(7!A)o
Fu([)-17 b([)q Fs(a)7 b Fu(])-17 b(])q(])32 b Ft(g)h
Fs(x)44 b Fu(:=)32 b Fs(a)40 b Ft(f)33 b Fr(1)f Ft(+)h
Fs(P)43 b Ft(g)350 696 y Fu([skip)548 711 y Fn(e)583
696 y Fu(])156 b Ft(f)33 b Fs(P)43 b Ft(g)32 b Fr(skip)i
Ft(f)e Fr(1)h Ft(+)f Fs(P)43 b Ft(g)350 988 y Fu([comp)605
1003 y Fn(e)640 988 y Fu(])776 901 y Ft(f)33 b Fs(P)43
b Ft(^)33 b(B)s Fu([)-17 b([)q Fs(e)1225 865 y Fi(0)1225
926 y Fn(2)1264 901 y Fu(=)p Fr(u)p Fu(])g(])34 b Ft(g)e
Fs(S)1611 916 y Fn(1)1683 901 y Ft(f)g Fs(e)1817 916
y Fn(1)1889 901 y Ft(+)h Fs(Q)41 b Ft(^)33 b(B)t Fu([)-17
b([)p Fs(e)2356 916 y Fn(2)2396 901 y Ft(\024)q Fr(u)p
Fu(])g(])33 b Ft(g)p Fu(,)65 b Ft(f)32 b Fs(Q)42 b Ft(g)32
b Fs(S)3085 916 y Fn(2)3157 901 y Ft(f)g Fs(e)3291 916
y Fn(2)3364 901 y Ft(+)g Fs(R)37 b Ft(g)p 776 964 2871
4 v 1610 1069 a(f)32 b Fs(P)43 b Ft(g)33 b Fs(S)1951
1084 y Fn(1)1990 1069 y Fu(;)f Fs(S)2116 1084 y Fn(2)2188
1069 y Ft(f)h Fs(e)2323 1084 y Fn(1)2362 1069 y Fu(+)p
Fs(e)2490 1033 y Fi(0)2490 1094 y Fn(2)2562 1069 y Ft(+)g
Fs(R)j Ft(g)766 1202 y Fu(where)e Fr(u)f Fu(is)f(an)h(un)m(used)h
(logical)c(v)-5 b(ariable)350 1494 y([if)435 1509 y Fn(e)469
1494 y Fu(])776 1408 y Ft(f)33 b(B)s Fu([)-17 b([)q Fs(b)6
b Fu(])-17 b(])33 b Ft(^)g Fs(P)43 b Ft(g)32 b Fs(S)1443
1423 y Fn(1)1515 1408 y Ft(f)g Fs(e)40 b Ft(+)32 b Fs(Q)42
b Ft(g)p Fu(,)97 b Ft(f)33 b(:B)t Fu([)-17 b([)p Fs(b)6
b Fu(])-17 b(])33 b Ft(^)g Fs(P)43 b Ft(g)32 b Fs(S)2799
1423 y Fn(2)2871 1408 y Ft(f)h Fs(e)39 b Ft(+)33 b Fs(Q)41
b Ft(g)p 776 1471 2522 4 v 1201 1576 a(f)33 b Fs(P)43
b Ft(g)32 b Fr(if)h Fs(b)38 b Fr(then)c Fs(S)1998 1591
y Fn(1)2070 1576 y Fr(else)f Fs(S)2374 1591 y Fn(2)2446
1576 y Ft(f)g Fs(e)39 b Ft(+)33 b Fs(Q)41 b Ft(g)350
1833 y Fu([while)600 1848 y Fn(e)634 1833 y Fu(])776
1747 y Ft(f)33 b Fs(P)10 b Fu(\()p Fw(z)p Fu(+)p Fw(1)p
Fu(\))32 b Ft(^)h(B)t Fu([)-17 b([)p Fs(e)1482 1711 y
Fi(0)1534 1747 y Fu(=)p Fr(u)p Fu(])g(])33 b Ft(g)f Fs(S)44
b Ft(f)33 b Fs(e)2047 1762 y Fn(1)2119 1747 y Ft(+)f
Fs(P)10 b Fu(\()p Fr(z)p Fu(\))33 b Ft(^)g(B)t Fu([)-17
b([)p Fs(e)7 b Ft(\024)q Fr(u)p Fu(])-17 b(])34 b Ft(g)p
776 1810 2178 4 v 1021 1915 a(f)e(9)p Fw(z)p Fu(.)p Fs(P)10
b Fu(\()p Fw(z)p Fu(\))33 b Ft(g)f Fr(while)i Fs(b)39
b Fr(do)33 b Fs(S)44 b Ft(f)32 b Fs(e)40 b Ft(+)32 b
Fs(P)10 b Fu(\()p Fw(0)p Fu(\))33 b Ft(g)766 2048 y Fu(where)h
Fs(P)10 b Fu(\()p Fw(z)p Fu(+)p Fw(1)p Fu(\))33 b Ft(\))f(B)s
Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(])33 b Ft(^)g(B)s
Fu([)-17 b([)q Fs(e)7 b Ft(\025)q Fs(e)2161 2063 y Fn(1)2200
2048 y Fu(+)p Fs(e)2328 2012 y Fi(0)2352 2048 y Fu(])-17
b(])q(,)32 b Fs(P)10 b Fu(\()p Fw(0)p Fu(\))33 b Ft(\))f(:)q(B)s
Fu([)-17 b([)q Fs(b)6 b Fu(])-17 b(])33 b Ft(^)g(B)s
Fu([)-17 b([)q Fr(1)p Ft(\024)p Fs(e)7 b Fu(])-17 b(])766
2216 y(and)33 b Fr(u)g Fu(is)f(an)h(un)m(used)h(logical)29
b(v)-5 b(ariable)766 2383 y(and)33 b Fw(z)f Fu(ranges)i(o)m(v)m(er)f
(natural)f(n)m(um)m(b)s(ers)h(\(that)f(is)g Fw(z)p Ft(\025)q
Fw(0)p Fu(\))350 2675 y([cons)561 2690 y Fn(e)597 2675
y Fu(])809 2589 y Ft(f)g Fs(P)967 2552 y Fi(0)1023 2589
y Ft(g)h Fs(S)44 b Ft(f)32 b Fs(e)1339 2552 y Fi(0)1396
2589 y Ft(+)g Fs(Q)1573 2552 y Fi(0)1629 2589 y Ft(g)p
776 2652 903 4 v 811 2757 a(f)h Fs(P)43 b Ft(g)32 b Fs(S)44
b Ft(f)33 b Fs(e)39 b Ft(+)33 b Fs(Q)41 b Ft(g)766 2890
y Fu(where)34 b(\(for)e(some)h(natural)e(n)m(um)m(b)s(er)i
Fr(k)p Fu(\))g Fs(P)43 b Ft(\))32 b Fs(P)2615 2854 y
Fi(0)2671 2890 y Ft(^)h(B)s Fu([)-17 b([)q Fs(e)2928
2854 y Fi(0)2952 2890 y Ft(\024)p Fr(k)p Fo(?)p Fs(e)7
b Fu(])-17 b(])766 3058 y(and)33 b Fs(Q)1040 3021 y Fi(0)1096
3058 y Ft(\))f Fs(Q)p 3753 3119 4 2700 v 283 3122 3473
4 v 523 3282 a Fu(T)-8 b(able)33 b(6.5:)43 b(Axiomatic)30
b(system)k(for)e(order)h(of)f(magnitude)f(of)h(execution)h(time)283
3568 y(The)41 b(assignmen)m(t)f(statemen)m(t)g(and)f(the)i
Fr(skip)f Fu(statemen)m(t)g(can)g(b)s(e)g(executed)i(in)d(constan)m(t)
283 3688 y(time)32 b(and)g(therefore)i(w)m(e)f(use)h(the)f(arithmetic)d
(expression)k Fr(1)p Fu(.)430 3809 y(The)g(rule)f([comp)1082
3824 y Fn(e)1117 3809 y Fu(])h(assumes)g(that)g(w)m(e)g(ha)m(v)m(e)h
(pro)s(ofs)e(sho)m(wing)h(that)f Fs(e)3068 3824 y Fn(1)3141
3809 y Fu(and)h Fs(e)3384 3824 y Fn(2)3457 3809 y Fu(are)f(the)283
3929 y(order)38 b(of)f(magnitudes)f(of)h(the)h(execution)g(times)e(for)
h(the)h(t)m(w)m(o)g(statemen)m(ts.)58 b(Ho)m(w)m(ev)m(er,)41
b Fs(e)3716 3944 y Fn(1)283 4050 y Fu(expresses)46 b(the)e(time)d
(requiremen)m(ts)j(of)e Fs(S)1905 4065 y Fn(1)1987 4050
y Fu(relativ)m(e)h(to)f(the)h(initial)c(state)44 b(of)e
Fs(S)3382 4065 y Fn(1)3464 4050 y Fu(and)h Fs(e)3716
4065 y Fn(2)283 4170 y Fu(expresses)31 b(the)d(time)e(requiremen)m(ts)i
(relativ)m(e)f(to)g(the)h(initial)c(state)k(of)f Fs(S)2958
4185 y Fn(2)2997 4170 y Fu(.)42 b(This)28 b(means)f(that)283
4290 y(w)m(e)42 b(cannot)f(simply)e(use)j Fs(e)1312 4305
y Fn(1)1392 4290 y Fu(+)e Fs(e)1560 4305 y Fn(2)1641
4290 y Fu(as)g(the)h(time)f(requiremen)m(t)h(for)f Fs(S)2949
4305 y Fn(1)2988 4290 y Fu(;)k Fs(S)3126 4305 y Fn(2)3166
4290 y Fu(.)67 b(W)-8 b(e)41 b(ha)m(v)m(e)h(to)283 4411
y(replace)37 b Fs(e)670 4426 y Fn(2)745 4411 y Fu(with)f(an)g
(expression)i Fs(e)1636 4375 y Fi(0)1636 4435 y Fn(2)1712
4411 y Fu(suc)m(h)f(that)f Fs(e)2202 4375 y Fi(0)2202
4435 y Fn(2)2278 4411 y Fu(ev)-5 b(aluated)36 b(in)f(the)i(initial)32
b(state)37 b(of)f Fs(S)3717 4426 y Fn(1)283 4531 y Fu(will)28
b(b)s(ound)j(the)g(v)-5 b(alue)29 b(of)h Fs(e)1340 4546
y Fn(2)1410 4531 y Fu(in)f(the)i(initial)c(state)j(of)g
Fs(S)2379 4546 y Fn(2)2449 4531 y Fu(\(whic)m(h)g(is)g(the)h(\014nal)e
(state)i(of)f Fs(S)3652 4546 y Fn(1)3691 4531 y Fu(\).)283
4651 y(This)j(is)e(expressed)k(b)m(y)d(the)h(extended)h(precondition)d
(and)h(p)s(ostcondition)e(of)i Fs(S)3295 4666 y Fn(1)3366
4651 y Fu(using)f(the)283 4772 y(logical)f(v)-5 b(ariable)31
b Fr(u)p Fu(.)430 4892 y(The)43 b(rule)f([if)930 4907
y Fn(e)965 4892 y Fu(])g(is)g(fairly)f(straigh)m(tforw)m(ard)h(since)h
(the)f(time)g(required)g(for)g(the)h(test)g(is)283 5013
y(constan)m(t.)430 5133 y(In)29 b(the)g(rule)g(for)f(the)i
Fr(while)p Fu(-construct)h(w)m(e)f(assume)f(that)g(the)g(execution)h
(time)d(is)i Fs(e)3571 5148 y Fn(1)3639 5133 y Fu(for)283
5254 y(the)40 b(b)s(o)s(dy)e(and)h(is)f Fs(e)46 b Fu(for)39
b(the)g(lo)s(op)e(itself.)61 b(As)39 b(in)f(the)h(rule)f([comp)2844
5269 y Fn(e)2879 5254 y Fu(])h(w)m(e)h(cannot)f(just)g(use)283
5374 y Fs(e)335 5389 y Fn(1)413 5374 y Fu(+)e Fs(e)45
b Fu(as)38 b(the)g(total)e(time)g(required)i(b)s(ecause)h
Fs(e)2184 5389 y Fn(1)2261 5374 y Fu(refers)g(to)e(the)h(state)g(b)s
(efore)g(the)g(b)s(o)s(dy)283 5494 y(of)i(the)g(lo)s(op)f(is)h
(executed)i(and)e Fs(e)47 b Fu(to)40 b(the)g(state)h(after)f(the)g(b)s
(o)s(dy)g(is)g(executed)i(once.)66 b(W)-8 b(e)p eop
%%Page: 205 215
205 214 bop 0 130 a Fw(6.5)112 b(Assertions)37 b(for)g(execution)g
(time)1606 b(205)p 0 193 3473 4 v 0 515 a Fu(shall)31
b(therefore)i(require)g(that)f(there)i(is)e(an)g(expression)i
Fs(e)2181 479 y Fi(0)2237 515 y Fu(suc)m(h)g(that)e Fs(e)2720
479 y Fi(0)2776 515 y Fu(ev)-5 b(aluated)32 b(b)s(efore)0
636 y(the)i(b)s(o)s(dy)g(will)d(b)s(ound)j Fs(e)41 b
Fu(ev)-5 b(aluated)33 b(after)h(the)g(b)s(o)s(dy)-8 b(.)46
b(Then)35 b(it)e(m)m(ust)h(b)s(e)f(the)i(case)f(that)g
Fs(e)0 756 y Fu(satis\014es)29 b Fs(e)35 b Ft(\025)28
b Fs(e)592 771 y Fn(1)659 756 y Fu(+)g Fs(e)815 720 y
Fi(0)866 756 y Fu(b)s(ecause)i Fs(e)35 b Fu(has)28 b(to)f(b)s(ound)h
(the)h(time)d(for)h(executing)i(the)f Fr(while)p Fu(-lo)s(op)0
877 y(indep)s(enden)m(tly)36 b(of)f(the)h(n)m(um)m(b)s(er)f(of)g(times)
f(it)h(is)g(unfolded.)51 b(As)36 b(w)m(e)g(shall)e(see)i(in)f(Example)0
997 y(6.36,)45 b(this)e(corresp)s(onds)h(to)f(the)h Fs(r)-5
b(e)g(curr)g(enc)g(e)44 b(e)-5 b(quations)50 b Fu(that)43
b(often)g(ha)m(v)m(e)i(to)d(b)s(e)i(solv)m(ed)0 1117
y(when)29 b(analysing)e(the)i(execution)g(time)e(of)g(programs.)42
b(Finally)-8 b(,)26 b(the)j(rule)e([cons)2975 1132 y
Fn(e)3012 1117 y Fu(])h(should)g(b)s(e)0 1238 y(straigh)m(tforw)m(ard.)
0 1483 y Fw(Example)37 b(6.35)49 b Fu(W)-8 b(e)29 b(shall)f(no)m(w)h
(pro)m(v)m(e)i(that)e(the)g(execution)h(time)e(of)g(the)i(factorial)c
(state-)0 1604 y(men)m(t)32 b(has)g(order)h(of)e(magnitude)g
Fr(x)p Fu(.)43 b(This)32 b(can)h(b)s(e)f(expressed)j(b)m(y)e(the)f
(follo)m(wing)d(assertion:)244 1818 y Ft(f)h Fr(x)g Fo(>)g
Fr(0)h Ft(g)f Fr(y)g Fu(:=)g Fr(1)p Fu(;)i Fr(while)f
Ft(:)p Fu(\()p Fr(x)p Fu(=)p Fr(1)p Fu(\))g Fr(do)g Fu(\()p
Fr(y)f Fu(:=)g Fr(y)p Fo(?)p Fr(x)p Fu(;)h Fr(x)g Fu(:=)f
Fr(x)p Ft(\000)p Fr(1)p Fu(\))h Ft(f)f Fr(x)g Ft(+)h
Fr(true)g Ft(g)0 2032 y Fu(The)g(inference)g(of)f(this)g(assertion)g
(pro)s(ceeds)h(in)f(a)g(n)m(um)m(b)s(er)h(of)e(stages.)44
b(First)29 b(w)m(e)i(de\014ne)h(the)0 2153 y(predicate)h
Fs(INV)18 b Fu(\()p Fw(z)p Fu(\))33 b(that)f(is)g(to)g(b)s(e)h(the)g
(in)m(v)-5 b(arian)m(t)31 b(of)h(the)h Fr(while)p Fu(-lo)s(op)244
2367 y Fs(INV)19 b Fu(\()p Fw(z)p Fu(\))32 b Fs(s)40
b Fu(=)33 b(\()p Fs(s)40 b Fr(x)33 b Fo(>)f Fw(0)h Fu(and)g
Fs(s)40 b Fr(x)33 b Fu(=)f Fw(z)h Fu(+)f Fw(1)p Fu(\))0
2581 y(The)38 b(logical)d(v)-5 b(ariables)36 b Fr(u)974
2596 y Fn(1)1051 2581 y Fu(and)h Fr(u)1296 2596 y Fn(2)1373
2581 y Fu(are)h(used)g(for)f(the)h Fr(while)p Fu(-lo)s(op)e(and)i(the)g
(b)s(o)s(dy)f(of)g(the)0 2702 y Fr(while)p Fu(-lo)s(op,)30
b(resp)s(ectiv)m(ely)-8 b(.)43 b(W)-8 b(e)30 b(shall)e(\014rst)i
(consider)g(the)g(b)s(o)s(dy)g(of)f(the)h(lo)s(op.)41
b(Using)29 b([ass)3409 2717 y Fn(e)3445 2702 y Fu(])0
2822 y(w)m(e)34 b(get)244 3036 y Ft(`)305 3051 y Fn(e)373
3036 y Ft(f)e Fu(\()p Fs(INV)19 b Fu(\()p Fw(z)p Fu(\))32
b Ft(^)h Fr(x)p Ft(\024)q Fr(u)1131 3051 y Fn(1)1170
3036 y Fu(\)[)p Fr(x)p Ft(7!)p Fr(x)p Ft(\000)p Fr(1)p
Fu(])h Ft(g)e Fr(x)h Fu(:=)f Fr(x)h Ft(\000)g Fr(1)g
Ft(f)f Fr(1)h Ft(+)g Fs(INV)18 b Fu(\()p Fw(z)p Fu(\))32
b Ft(^)h Fr(x)p Ft(\024)q Fr(u)3102 3051 y Fn(1)3174
3036 y Ft(g)0 3250 y Fu(Similarly)-8 b(,)29 b(w)m(e)k(get)244
3465 y Ft(`)305 3480 y Fn(e)373 3465 y Ft(f)f Fu(\(\()p
Fs(INV)19 b Fu(\()p Fw(z)p Fu(\))32 b Ft(^)h Fr(x)p Ft(\024)q
Fr(u)1169 3480 y Fn(1)1208 3465 y Fu(\)[)p Fr(x)p Ft(7!)p
Fr(x)p Ft(\000)p Fr(1)p Fu(])h Ft(^)f Fr(1)p Ft(\024)p
Fr(u)1942 3480 y Fn(2)1982 3465 y Fu(\)[)p Fr(y)p Ft(7!)p
Fr(y)p Fo(?)p Fr(x)p Fu(])g Ft(g)373 3632 y Fr(y)g Fu(:=)f
Fr(y)h Fo(?)f Fr(x)373 3800 y Ft(f)g Fr(1)h Ft(+)f Fu(\()p
Fs(INV)19 b Fu(\()p Fw(z)p Fu(\))32 b Ft(^)h Fr(x)p Ft(\024)q
Fr(u)1308 3815 y Fn(1)1347 3800 y Fu(\)[)p Fr(x)p Ft(7!)p
Fr(x)p Ft(\000)p Fr(1)p Fu(])h Ft(^)f Fr(1)p Ft(\024)q
Fr(u)2082 3815 y Fn(2)2154 3800 y Ft(g)0 4014 y Fu(Before)f(applying)e
(the)i(rule)f([comp)1317 4029 y Fn(e)1352 4014 y Fu(])h(w)m(e)g(ha)m(v)
m(e)h(to)e(mo)s(dify)f(the)i(precondition)f(of)g(the)h(ab)s(o)m(v)m(e)0
4135 y(assertion.)43 b(W)-8 b(e)33 b(ha)m(v)m(e)244 4349
y Fs(INV)19 b Fu(\()p Fw(z)p Fu(+)p Fw(1)p Fu(\))32 b
Ft(^)h Fr(x)p Ft(\000)p Fr(1)p Fu(=)p Fr(u)1140 4364
y Fn(1)1213 4349 y Ft(^)g Fr(1)p Fu(=)p Fr(u)1490 4364
y Fn(2)244 4516 y Ft(\))f Fu(\(\()p Fs(INV)19 b Fu(\()p
Fw(z)p Fu(\))32 b Ft(^)h Fr(x)p Ft(\024)p Fr(u)1089 4531
y Fn(1)1129 4516 y Fu(\)[)p Fr(x)p Ft(7!)p Fr(x)p Ft(\000)p
Fr(1)p Fu(])h Ft(^)f Fr(1)p Ft(\024)p Fr(u)1863 4531
y Fn(2)1903 4516 y Fu(\)[)p Fr(y)p Ft(7!)p Fr(y)p Fo(?)p
Fr(x)p Fu(])0 4731 y(so)g(using)f([cons)586 4746 y Fn(e)622
4731 y Fu(])h(w)m(e)h(get)244 4945 y Ft(`)305 4960 y
Fn(e)373 4945 y Ft(f)e Fs(INV)19 b Fu(\()p Fw(z)p Fu(+)p
Fw(1)p Fu(\))32 b Ft(^)h Fr(x)p Ft(\000)p Fr(1)p Fu(=)p
Fr(u)1351 4960 y Fn(1)1424 4945 y Ft(^)g Fr(1)p Fu(=)p
Fr(u)1701 4960 y Fn(2)1773 4945 y Ft(g)373 5113 y Fr(y)g
Fu(:=)f Fr(y)h Fo(?)f Fr(x)373 5280 y Ft(f)g Fr(1)h Ft(+)f
Fu(\()p Fs(INV)19 b Fu(\()p Fw(z)p Fu(\))32 b Ft(^)h
Fr(x)p Ft(\024)q Fr(u)1308 5295 y Fn(1)1347 5280 y Fu(\)[)p
Fr(x)p Ft(7!)p Fr(x)p Ft(\000)p Fr(1)p Fu(])h Ft(^)f
Fr(1)p Ft(\024)q Fr(u)2082 5295 y Fn(2)2154 5280 y Ft(g)0
5494 y Fu(W)-8 b(e)33 b(can)g(no)m(w)g(apply)f([comp)1073
5509 y Fn(e)1109 5494 y Fu(])g(and)h(get)p eop
%%Page: 206 216
206 215 bop 251 130 a Fw(206)1567 b(6)112 b(Axiomatic)35
b(Program)h(V)-9 b(eri\014cation)p 251 193 3473 4 v 527
515 a Ft(`)588 530 y Fn(e)656 515 y Ft(f)33 b Fs(INV)18
b Fu(\()p Fw(z)p Fu(+)p Fw(1)p Fu(\))32 b Ft(^)h Fr(x)p
Ft(\000)p Fr(1)p Fu(=)p Fr(u)1634 530 y Fn(1)1707 515
y Ft(g)656 683 y Fr(y)g Fu(:=)g Fr(y)f Fo(?)h Fr(x)p
Fu(;)f Fr(x)h Fu(:=)g Fr(x)p Ft(\000)p Fr(1)656 851 y
Ft(f)g Fr(1)p Fu(+)p Fr(1)g Ft(+)f Fs(INV)19 b Fu(\()p
Fw(z)p Fu(\))32 b Ft(^)h Fr(x)p Ft(\024)p Fr(u)1680 866
y Fn(1)1753 851 y Ft(g)283 1036 y Fu(and)g(using)f([cons)939
1051 y Fn(e)976 1036 y Fu(])g(w)m(e)i(get)527 1221 y
Ft(`)588 1236 y Fn(e)656 1221 y Ft(f)f Fs(INV)18 b Fu(\()p
Fw(z)p Fu(+)p Fw(1)p Fu(\))32 b Ft(^)h Fr(x)p Ft(\000)p
Fr(1)p Fu(=)p Fr(u)1634 1236 y Fn(1)1707 1221 y Ft(g)656
1389 y Fr(y)g Fu(:=)g Fr(y)f Fo(?)h Fr(x)p Fu(;)f Fr(x)h
Fu(:=)g Fr(x)p Ft(\000)p Fr(1)656 1556 y Ft(f)g Fr(1)f
Ft(+)h Fs(INV)18 b Fu(\()p Fw(z)p Fu(\))33 b Ft(^)g Fr(x)p
Ft(\024)p Fr(u)1553 1571 y Fn(1)1626 1556 y Ft(g)283
1742 y Fu(It)g(is)f(easy)i(to)e(v)m(erify)h(that)527
1927 y Fs(INV)19 b Fu(\()p Fw(z)p Fu(+)p Fw(1)p Fu(\))32
b Ft(\))g(:)q Fu(\()p Fr(x)g Fu(=)h Fr(1)p Fu(\))f Ft(^)h
Fr(x)p Ft(\025)q Fr(1)p Fu(+\()p Fr(x)p Ft(\000)p Fr(1)p
Fu(\),)h(and)527 2095 y Fs(INV)19 b Fu(\()p Fw(0)p Fu(\))32
b Ft(\))h(:)p Fu(\()p Ft(:)p Fu(\()p Fr(x)g Fu(=)f Fr(1)p
Fu(\)\))h Ft(^)g Fr(1)p Ft(\024)q Fr(x)283 2280 y Fu(Therefore)h(w)m(e)
g(can)f(use)g(the)g(rule)f([while)1829 2295 y Fn(e)1864
2280 y Fu(])h(and)f(get)582 2448 y Ft(`)643 2463 y Fn(e)711
2448 y Ft(f)g(9)p Fw(z)p Fu(.)p Fs(INV)19 b Fu(\()p Fw(z)p
Fu(\))32 b Ft(g)h Fr(while)g Ft(:)q Fu(\()p Fr(x)p Fu(=)p
Fr(1)p Fu(\))g Fr(do)g Fu(\()p Fr(y)f Fu(:=)h Fr(y)p
Fo(?)p Fr(x)p Fu(;)g Fr(x)g Fu(:=)f Fr(x)p Ft(\000)p
Fr(1)p Fu(\))i Ft(f)e Fr(x)h Ft(+)f Fs(INV)19 b Fu(\()p
Fw(0)p Fu(\))32 b Ft(g)283 2615 y Fu(W)-8 b(e)33 b(shall)f(no)m(w)h
(apply)f(the)h(axiom)e([ass)1761 2630 y Fn(e)1797 2615
y Fu(])i(to)f(the)h(statemen)m(t)g Fr(y)g Fu(:=)g Fr(1)f
Fu(and)h(get)527 2801 y Ft(`)588 2816 y Fn(e)656 2801
y Ft(f)g Fu(\()p Ft(9)p Fw(z)p Fu(.)p Fs(INV)18 b Fu(\()p
Fw(z)p Fu(\))33 b Ft(^)g Fr(1)p Ft(\024)p Fr(u)1546 2816
y Fn(3)1586 2801 y Fu(\)[)p Fr(y)p Ft(7!)p Fr(1)p Fu(])g
Ft(g)f Fr(y)h Fu(:=)f Fr(1)h Ft(f)g Fr(1)f Ft(+)h(9)p
Fw(z)p Fu(.)p Fs(INV)19 b Fu(\()p Fw(z)p Fu(\))32 b Ft(^)h
Fr(1)p Ft(\024)p Fr(u)3327 2816 y Fn(3)3400 2801 y Ft(g)283
2986 y Fu(W)-8 b(e)33 b(ha)m(v)m(e)527 3171 y Fr(x)p
Fo(>)p Fr(0)g Ft(^)g Fr(1)p Fu(=)p Fr(u)1015 3186 y Fn(3)1088
3171 y Ft(\))f Fu(\()p Ft(9)p Fw(z)p Fu(.)p Fs(INV)19
b Fu(\()p Fw(z)p Fu(\))32 b Ft(^)h Fr(1)p Ft(\024)p Fr(u)2027
3186 y Fn(3)2067 3171 y Fu(\)[)p Fr(y)p Ft(7!)p Fr(1)p
Fu(])283 3356 y(so)g(using)f([cons)869 3371 y Fn(e)906
3356 y Fu(])h(w)m(e)g(get)527 3542 y Ft(`)588 3557 y
Fn(e)656 3542 y Ft(f)g Fr(x)p Fo(>)p Fr(0)g Ft(^)f Fr(1)p
Fu(=)p Fr(u)1226 3557 y Fn(3)1299 3542 y Ft(g)g Fr(y)h
Fu(:=)f Fr(1)h Ft(f)g Fr(1)f Ft(+)h(9)p Fw(z)p Fu(.)p
Fs(INV)19 b Fu(\()p Fw(z)p Fu(\))32 b Ft(^)h Fr(1)p Ft(\024)p
Fr(u)2713 3557 y Fn(3)2786 3542 y Ft(g)283 3727 y Fu(The)h(rule)e
([comp)934 3742 y Fn(e)969 3727 y Fu(])h(no)m(w)g(giv)m(es)527
3912 y Ft(`)588 3927 y Fn(e)656 3912 y Ft(f)g Fr(x)p
Fo(>)p Fr(0)g Ft(g)656 4080 y Fr(y)g Fu(:=)g Fr(1)p Fu(;)f
Fr(while)i Ft(:)q Fu(\()p Fr(x)p Fu(=)p Fr(1)p Fu(\))e
Fr(do)i Fu(\()p Fr(y)e Fu(:=)h Fr(y)p Fo(?)p Fr(x)p Fu(;)g
Fr(x)f Fu(:=)h Fr(x)p Ft(\000)p Fr(1)p Fu(\))656 4248
y Ft(f)g Fr(1)p Fu(+)p Fr(x)g Ft(+)f Fs(INV)19 b Fu(\()p
Fw(0)p Fu(\))32 b Ft(g)283 4433 y Fu(Clearly)g(w)m(e)i(ha)m(v)m(e)527
4618 y Fr(x)p Fo(>)p Fu(0)f Ft(\))f Fr(1)p Fu(+)p Fr(x)h
Ft(\024)g Fw(2)p Fo(?)p Fr(x)p Fu(,)g(and)527 4786 y
Fs(INV)19 b Fu(\()p Fw(0)p Fu(\))32 b Ft(\))h Fr(true)283
4971 y Fu(so)g(applying)f(rule)g([cons)1208 4986 y Fn(e)1244
4971 y Fu(])h(w)m(e)g(get)527 5156 y Ft(`)588 5171 y
Fn(e)656 5156 y Ft(f)g Fr(x)f Fo(>)h Fu(0)f Ft(g)656
5324 y Fr(y)h Fu(:=)g Fr(1)p Fu(;)f Fr(while)i Ft(:)q
Fu(\()p Fr(x)p Fu(=)p Fr(1)p Fu(\))e Fr(do)i Fu(\()p
Fr(y)e Fu(:=)h Fr(y)p Fo(?)p Fr(x)p Fu(;)g Fr(x)f Fu(:=)h
Fr(x)p Ft(\000)p Fr(1)p Fu(\))656 5492 y Ft(f)g Fr(x)f
Ft(+)h Fr(true)g Ft(g)p eop
%%Page: 207 217
207 216 bop 0 130 a Fw(6.5)112 b(Assertions)37 b(for)g(execution)g
(time)1606 b(207)p 0 193 3473 4 v 0 515 a Fu(as)33 b(required.)2902
b Fh(2)0 760 y Fw(Example)37 b(6.36)49 b Fu(Assume)31
b(no)m(w)h(that)f(w)m(e)h(w)m(an)m(t)f(to)g(determine)f(an)h
(arithmetic)e(expression)0 881 y Fs(e)52 896 y Fn(fac)177
881 y Fu(suc)m(h)34 b(that)244 1096 y Ft(`)305 1111 y
Fn(e)373 1096 y Ft(f)e Fr(x)h Fo(>)f Fu(0)h Ft(g)373
1263 y Fr(y)g Fu(:=)f Fr(1)p Fu(;)h Fr(while)h Ft(:)p
Fu(\()p Fr(x)p Fu(=)p Fr(1)p Fu(\))f Fr(do)g Fu(\()p
Fr(y)g Fu(:=)f Fr(y)p Fo(?)p Fr(x)p Fu(;)h Fr(x)g Fu(:=)f
Fr(x)p Ft(\000)p Fr(1)p Fu(\))373 1431 y Ft(f)g Fs(e)507
1446 y Fn(fac)632 1431 y Ft(+)h Fr(true)g Ft(g)0 1646
y Fu(In)f(other)h(w)m(ords)g(w)m(e)g(w)m(an)m(t)g(to)e(determine)h(the)
h(order)f(of)f(magnitude)g(of)h(the)g(time)f(required)0
1767 y(to)44 b(execute)j(the)e(factorial)d(statemen)m(t.)81
b(W)-8 b(e)45 b(can)g(then)g(attempt)f(constructing)h(a)f(pro)s(of)0
1887 y(of)36 b(the)g(ab)s(o)m(v)m(e)i(assertion)e(using)g(the)g
(inference)h(system)h(of)d(T)-8 b(able)36 b(6.5)g(with)g
Fs(e)2974 1902 y Fn(fac)3103 1887 y Fu(b)s(eing)f(an)0
2007 y(unsp)s(eci\014ed)45 b(arithmetic)c(expression.)77
b(The)45 b(v)-5 b(arious)42 b(side)i(conditions)e(of)h(the)h(rules)g
(will)0 2128 y(then)32 b(sp)s(ecify)g(a)g(set)g(of)f(\(in\)equations)g
(that)h(ha)m(v)m(e)h(to)e(b)s(e)h(ful\014lled)d(b)m(y)k
Fs(e)2698 2143 y Fn(fac)2822 2128 y Fu(in)e(order)h(for)f(the)0
2248 y(pro)s(of)h(to)g(exist.)146 2371 y(W)-8 b(e)43
b(shall)e(\014rst)i(consider)f(the)h(b)s(o)s(dy)f(of)g(the)h(lo)s(op.)
71 b(V)-8 b(ery)43 b(m)m(uc)m(h)g(as)g(in)e(the)i(previous)0
2491 y(example)32 b(w)m(e)i(get)244 2707 y Ft(`)305 2722
y Fn(e)373 2707 y Ft(f)e Fs(INV)19 b Fu(\()p Fw(z)p Fu(+)p
Fw(1)p Fu(\))32 b Ft(^)h Fs(e)7 b Fu([)p Fr(x)p Ft(7!)p
Fr(x)p Ft(\000)p Fr(1)p Fu(]=)p Fr(u)1608 2722 y Fn(1)1681
2707 y Ft(g)373 2874 y Fr(y)33 b Fu(:=)f Fr(y)h Fo(?)f
Fr(x)p Fu(;)h Fr(x)g Fu(:=)f Fr(x)p Ft(\000)p Fr(1)373
3042 y Ft(f)g Fr(1)h Ft(+)f Fs(INV)19 b Fu(\()p Fw(z)p
Fu(\))32 b Ft(^)h Fs(e)7 b Ft(\024)q Fr(u)1271 3057 y
Fn(1)1343 3042 y Ft(g)0 3257 y Fu(where)34 b Fs(e)39
b Fu(is)32 b(the)h(execution)g(time)e(of)h(the)h Fr(while)p
Fu(-construct.)45 b(W)-8 b(e)33 b(can)g(no)m(w)g(apply)f(the)h(rule)0
3377 y([while)250 3392 y Fn(e)285 3377 y Fu(])f(if)g
Fs(e)40 b Fu(ful\014ls)31 b(the)i(conditions)319 3542
y Fs(INV)18 b Fu(\()p Fw(z)p Fu(+)p Fw(1)p Fu(\))32 b
Ft(\))g Fs(e)7 b Ft(\025)q Fr(1)p Fu(+)p Fs(e)g Fu([)p
Fr(x)p Ft(7!)q Fr(x)p Ft(\000)p Fr(1)p Fu(])319 3710
y Fs(INV)18 b Fu(\()p Fw(0)p Fu(\))33 b Ft(\))f Fr(1)p
Ft(\024)q Fs(e)3348 3627 y Fu(\(*\))0 3871 y(and)h(w)m(e)g(will)e(get)
297 4038 y Ft(`)358 4053 y Fn(e)426 4038 y Ft(f)i(9)p
Fw(z)p Fu(.)p Fs(INV)19 b Fu(\()p Fw(z)p Fu(\))32 b Ft(g)g
Fr(while)i Ft(:)p Fu(\()p Fr(x)p Fu(=)p Fr(1)p Fu(\))f
Fr(do)g Fu(\()p Fr(y)g Fu(:=)f Fr(y)p Fo(?)p Fr(x)p Fu(;)h
Fr(x)g Fu(:=)g Fr(x)p Ft(\000)p Fr(1)p Fu(\))g Ft(f)f
Fs(e)40 b Ft(+)33 b Fs(INV)18 b Fu(\()p Fw(0)p Fu(\))33
b Ft(g)0 4206 y Fu(The)h(requiremen)m(t)e(\(*\))h(corresp)s(onds)h(to)e
(the)h(recurrence)h(equation)244 4421 y Fs(T)13 b Fu(\()p
Fr(x)p Fu(\))33 b(=)f Fr(1)h Fu(+)f Fs(T)13 b Fu(\()p
Fr(x)p Ft(\000)p Fr(1)p Fu(\))244 4589 y Fs(T)g Fu(\()p
Fr(1)p Fu(\))33 b(=)f Fr(1)0 4804 y Fu(obtained)d(b)m(y)i(the)f
(standard)g(tec)m(hniques)i(from)d(execution)h(time)f(analysis.)42
b(If)29 b(w)m(e)i(tak)m(e)g Fs(e)37 b Fu(to)0 4924 y(b)s(e)e
Fr(x)g Fu(then)g(\(*\))g(is)f(ful\014lled.)48 b(The)35
b(remainder)f(of)g(the)i(pro)s(of)d(is)i(v)m(ery)h(m)m(uc)m(h)f(as)g
(in)f(Exercise)0 5045 y(6.35)e(and)h(w)m(e)g(get)g(that)f
Fs(e)965 5060 y Fn(fac)1090 5045 y Fu(m)m(ust)h(satisfy)244
5260 y Fr(x)g Fo(>)f Fr(0)h Ft(\))f Fr(x)p Fu(+)p Fr(1)h
Ft(\024)g Fw(k)p Fo(?)p Fs(e)1133 5275 y Fn(fac)1258
5260 y Fu(for)f(some)g(constan)m(t)i Fw(k)0 5475 y Fu(so)f
Fs(e)172 5490 y Fn(fac)297 5475 y Fu(ma)m(y)f(b)s(e)h(tak)m(en)h(to)e
(b)s(e)h Fr(x)p Fu(.)2161 b Fh(2)p eop
%%Page: 208 218
208 217 bop 251 130 a Fw(208)1567 b(6)112 b(Axiomatic)35
b(Program)h(V)-9 b(eri\014cation)p 251 193 3473 4 v 283
515 a(Exercise)37 b(6.37)49 b Fu(Mo)s(dify)24 b(the)i(pro)s(of)e(of)g
(Lemma)g(6.30)g(to)h(sho)m(w)h(that)f(the)g(inference)h(system)283
636 y(of)33 b(T)-8 b(able)32 b(6.5)g(is)g(sound.)2487
b Fh(2)283 864 y Fw(Exercise)37 b(6.38)49 b Fu(**)43
b(Suggest)h(an)f(alternativ)m(e)f(rule)h(for)g Fr(while)i
Fs(b)k Fr(do)44 b Fs(S)55 b Fu(that)43 b(expresses)283
984 y(that)33 b(its)g(execution)h(time,)e(neglecting)g(constan)m(t)i
(factors,)g(is)e(the)i(pro)s(duct)f(of)g(the)g(n)m(um)m(b)s(er)283
1105 y(of)f(times)f(the)i(lo)s(op)d(is)i(executed)i(and)e(the)h
(maximal)28 b(execution)33 b(time)e(for)g(the)i(b)s(o)s(dy)f(of)f(the)
283 1225 y(lo)s(op.)3188 b Fh(2)283 1454 y Fw(Exercise)37
b(6.39)49 b Fu(Suggest)e(an)f(inference)h(rule)f(for)g
Fr(repeat)i Fs(S)58 b Fr(until)48 b Fs(b)6 b Fu(.)85
b(Y)-8 b(ou)47 b(are)f(not)283 1574 y(allo)m(w)m(ed)32
b(to)h(rely)f(on)g(the)h(existence)i(of)d(a)g Fr(while)p
Fu(-construct)i(in)e(the)h(language.)427 b Fh(2)p eop
%%Page: 209 219
209 218 bop 0 1180 a Fv(Chapter)78 b(7)0 1595 y(F)-19
b(urther)78 b(Reading)0 2047 y Fu(In)23 b(this)f(b)s(o)s(ok)g(w)m(e)i
(ha)m(v)m(e)g(co)m(v)m(ered)h(the)e(basic)f(ingredien)m(ts)h(in)f
(three)h(approac)m(hes)h(to)e(seman)m(tics:)145 2233
y Ft(\017)49 b Fu(op)s(erational)30 b(seman)m(tics,)145
2430 y Ft(\017)49 b Fu(denotational)30 b(seman)m(tics,)j(and)145
2628 y Ft(\017)49 b Fu(axiomatic)30 b(seman)m(tics.)0
2813 y(W)-8 b(e)39 b(ha)m(v)m(e)i(concen)m(trated)g(on)e(a)f(rather)i
(simple)d(language)h(of)h Fr(while)p Fu(-programs)g(and)g(ha)m(v)m(e)0
2934 y(studied)d(the)h(underlying)e(theories)h(and)g(the)h(formal)c
(relationships)i(b)s(et)m(w)m(een)j(the)e(v)-5 b(arious)0
3054 y(approac)m(hes.)83 b(The)47 b(p)s(o)m(w)m(er)f(of)f(the)h(three)g
(approac)m(hes)h(ha)m(v)m(e)g(b)s(een)f(illustrated)e(b)m(y)i(v)-5
b(ari-)0 3174 y(ous)33 b(extensions)i(of)d Fw(While)p
Fu(:)43 b(non-determinism,)31 b(parallelism,)e(recursiv)m(e)35
b(pro)s(cedures)f(and)0 3295 y(exceptions.)146 3415 y(W)-8
b(e)24 b(b)s(eliev)m(e)f(that)g(formal)e(seman)m(tics)i(is)g(an)g(imp)s
(ortan)m(t)f(to)s(ol)f(for)i(reasoning)g(ab)s(out)f(man)m(y)0
3536 y(asp)s(ects)27 b(of)d(the)i(b)s(eha)m(viour)f(of)g(programs)g
(and)g(programming)d(languages.)41 b(T)-8 b(o)25 b(supp)s(ort)h(this)0
3656 y(b)s(elief)31 b(w)m(e)j(ha)m(v)m(e)g(giv)m(en)e(three)i
(examples,)e(one)h(for)f(eac)m(h)i(approac)m(h)f(to)f(seman)m(tics:)145
3842 y Ft(\017)49 b Fu(a)32 b(simple)f(compiler,)145
4039 y Ft(\017)49 b Fu(a)32 b(static)g(program)f(analysis,)h(and)145
4236 y Ft(\017)49 b Fu(an)32 b(inference)i(system)f(for)f(execution)h
(time.)0 4422 y(In)g(conclusion)e(w)m(e)j(shall)d(pro)m(vide)h(a)g(few)
h(p)s(oin)m(ters)f(to)g(the)h(literature)e(\(mainly)f(textb)s(o)s
(oks\))0 4542 y(where)h(a)e(more)g(comprehensiv)m(e)i(treatmen)m(t)e
(of)g(language)f(features)j(or)e(theoretical)f(asp)s(ects)0
4663 y(ma)m(y)38 b(b)s(e)h(found.)61 b(W)-8 b(e)38 b(do)h(not)f
(reference)i(the)e(v)-5 b(ast)39 b(n)m(um)m(b)s(er)g(of)f(researc)m(h)h
(publications)e(in)0 4783 y(the)c(area)f(but)h(rely)g(on)f(the)h
(references)i(in)d(the)h(b)s(o)s(oks)f(men)m(tioned.)0
5069 y Fp(Op)t(erational)46 b(seman)l(tics)0 5254 y Fs(Structur)-5
b(al)38 b(op)-5 b(er)g(ational)35 b(semantics)42 b Fu(w)m(as)35
b(in)m(tro)s(duced)g(b)m(y)g(Gordon)f(Plotkin)g(in)f([14].)49
b(This)0 5374 y(is)29 b(a)h(standard)g(reference)h(and)f(co)m(v)m(ers)i
(a)e(n)m(um)m(b)s(er)g(of)f(features)i(from)d(imp)s(erativ)m(e)g(and)i
(func-)0 5494 y(tional)36 b(languages)h(whereas)j(features)f(from)e
(parallel)e(languages)j(are)g(co)m(v)m(ered)i(in)d([15].)60
b(A)1663 5849 y(209)p eop
%%Page: 210 220
210 219 bop 251 130 a Fw(210)2326 b(7)112 b(F)-9 b(urther)37
b(Reading)p 251 193 3473 4 v 283 515 a Fu(more)42 b(in)m(tro)s(ductory)
g(treatmen)m(t)g(of)g(structural)g(op)s(erational)e(seman)m(tics)i(is)g
(giv)m(en)g(in)g([9].)283 636 y Fs(Natur)-5 b(al)38 b(semantics)j
Fu(is)34 b(deriv)m(ed)i(from)d(structural)h(op)s(erational)e(seman)m
(tics)j(and)f(the)h(basic)283 756 y(ideas)e(are)f(presen)m(ted)j(in)d
([6])h(for)f(a)g(functional)f(language.)430 879 y(Although)36
b(w)m(e)i(ha)m(v)m(e)h(co)m(v)m(ered)g(man)m(y)e(of)g(the)h(essen)m
(tial)f(ideas)g(b)s(ehind)g(op)s(erational)e(se-)283
1000 y(man)m(tics)d(w)m(e)i(should)e(lik)m(e)g(to)h(men)m(tion)e(three)
i(tec)m(hniques)i(that)d(ha)m(v)m(e)i(had)f(to)f(b)s(e)h(omitted.)430
1123 y(A)45 b(tec)m(hnique)h(that)f(is)g(often)g(used)h(when)g(sp)s
(ecifying)e(a)h(structural)g(op)s(erational)e(se-)283
1243 y(man)m(tics)d(is)g(to)f(extend)j(the)e(syn)m(tactic)h(comp)s
(onen)m(t)f(of)g(the)g(con\014gurations)g(with)g(sp)s(ecial)283
1364 y(notation)j(for)f(recording)h Fs(p)-5 b(artial)5
b(ly)45 b(pr)-5 b(o)g(c)g(esse)g(d)44 b(c)-5 b(onstructs)p
Fu(.)76 b(The)45 b(inference)f(system)g(will)283 1484
y(then)34 b(con)m(tain)f(axioms)g(and)g(rules)g(that)h(handle)f(these)h
(\\extended")h(con\014gurations.)46 b(This)283 1604 y(tec)m(hnique)c
(ma)m(y)f(b)s(e)g(used)g(to)g(sp)s(ecify)g(a)f(structural)g(op)s
(erational)e(seman)m(tics)j(of)f(the)h(lan-)283 1725
y(guages)k Fw(Blo)s(c)m(k)e Fu(and)h Fw(Pro)s(c)g Fu(in)f(Section)h
(2.5)g(and)h(to)f(sp)s(ecify)g(a)g(structural)g(op)s(erational)283
1845 y(seman)m(tics)33 b(of)f(expressions.)430 1968 y(Both)j(kinds)h
(of)f(op)s(erational)e(seman)m(tics)i(can)h(easily)e(b)s(e)i(extended)h
(to)e(cop)s(e)h(explicitly)283 2089 y(with)i Fs(dynamic)h(err)-5
b(ors)46 b Fu(\(as)38 b(e.g.)59 b(division)37 b(b)m(y)h(zero\).)60
b(The)39 b(idea)e(is)h(to)f(extend)i(the)g(set)f(of)283
2209 y(con\014gurations)43 b(with)f(sp)s(ecial)g
(error-con\014gurations)g(and)g(then)i(augmen)m(t)e(the)h(inference)283
2329 y(system)34 b(with)e(extra)h(axioms)f(and)g(rules)h(for)f(ho)m(w)h
(to)f(handle)h(these)h(con\014gurations.)430 2453 y(Often)h(programs)g
(ha)m(v)m(e)h(to)f(ful\014l)f(certain)h(conditions)f(in)g(order)i(to)f
(b)s(e)g Fs(static)-5 b(al)5 b(ly)38 b(wel)5 b(l-)283
2573 y(forme)-5 b(d)61 b Fu(and)52 b(hence)h(preclude)f(certain)f
(dynamic)g(errors.)101 b(These)53 b(conditions)e(can)h(b)s(e)283
2693 y(form)m(ulated)39 b(using)g(inductiv)m(ely)g(de\014ned)i
(predicates)g(and)e(ma)m(y)h(b)s(e)g(in)m(tegrated)f(with)g(the)283
2814 y(op)s(erational)31 b(seman)m(tics.)283 3120 y Fp(Pro)l(v)-7
b(ably)46 b(correct)f(implemen)l(tation)283 3310 y Fu(The)35
b Fs(c)-5 b(orr)g(e)g(ctness)34 b(of)i(the)f(implementation)k
Fu(of)33 b(Chapter)h(3)f(w)m(as)h(a)f(relativ)m(ely)f(simple)g(pro)s
(of)283 3430 y(b)s(ecause)f(it)c(w)m(as)j(based)f(on)g(an)g(abstract)g
(mac)m(hine)f(designed)h(for)f(the)h(purp)s(ose.)43 b(In)29
b(general,)283 3551 y(when)49 b(more)e(realistic)e(mac)m(hines)j(or)f
(larger)f(languages)h(are)g(considered,)53 b(pro)s(ofs)47
b(easily)283 3671 y(b)s(ecome)42 b(un)m(wieldy)f(and)h(p)s(erhaps)g
(for)e(this)h(reason)h(there)g(is)e(no)i(ideal)d(textb)s(o)s(ok)j(in)e
(this)283 3792 y(area.)50 b(W)-8 b(e)35 b(therefore)h(only)e(reference)
i(t)m(w)m(o)g(researc)m(h)g(pap)s(ers:)48 b([7])35 b(for)f(an)h
(approac)m(h)g(based)283 3912 y(on)e(natural)e(seman)m(tics)i(and)g
([13)o(])g(for)f(an)h(approac)m(h)g(based)g(on)g(denotational)d(seman)m
(tics.)283 4218 y Fp(Denotational)48 b(seman)l(tics)283
4408 y Fu(A)43 b(general)e(in)m(tro)s(duction)g(to)h
Fs(denotational)g(semantics)50 b Fu(\(as)42 b(dev)m(elop)s(ed)h(b)m(y)g
(C.)f(Strac)m(hey)283 4529 y(and)32 b(D.)f(Scott\))g(ma)m(y)g(b)s(e)h
(found)f(in)g([16].)43 b(It)31 b(co)m(v)m(ers)i(denotational)d(seman)m
(tics)h(for)g(\(mainly\))283 4649 y(imp)s(erativ)m(e)43
b(languages)g(and)g(co)m(v)m(ers)j(the)e(fundamen)m(tals)f(of)h(domain)
d(theory)k(\(including)283 4769 y(re\015exiv)m(e)38 b(domains\).)52
b(Another)36 b(go)s(o)s(d)f(reference)j(for)d(imp)s(erativ)m(e)f
(languages)i(is)f([8])h(but)g(it)283 4890 y(do)s(es)j(not)f(co)m(v)m
(er)h(the)f(domain)e(theory)-8 b(.)60 b(W)-8 b(e)39 b(should)f(also)e
(men)m(tion)h(a)h(classic)g(in)f(the)h(\014eld)283 5010
y([17])29 b(ev)m(en)i(though)f(the)f(domain)f(theory)i(is)e(based)j(on)
e(the)h(\(b)m(y)g(no)m(w)g(obsolete\))f(approac)m(h)g(of)283
5131 y(complete)j(lattices.)430 5254 y(W)-8 b(e)28 b(ha)m(v)m(e)h
(restricted)f(the)g(treatmen)m(t)g(of)f(domain)g(theory)h(to)f(what)h
(is)g(needed)h(for)e(sp)s(eci-)283 5374 y(fying)g(the)h(denotational)d
(seman)m(tics)j(of)f(the)g Fr(while)p Fu(-language.)42
b(The)28 b(b)s(ene\014t)g(of)f(this)g(is)g(that)283 5494
y(w)m(e)34 b(can)f(restrict)f(ourselv)m(es)i(to)e(partial)e(functions)i
(b)s(et)m(w)m(een)j(states)e(and)g(thereb)m(y)h(obtain)d(a)p
eop
%%Page: 211 221
211 220 bop 3304 130 a Fw(211)p 0 193 3473 4 v 0 515
a Fu(relativ)m(ely)28 b(simple)f(theoretical)g(dev)m(elopmen)m(t.)43
b(The)30 b(dra)m(wbac)m(k)h(is)d(that)g(it)g(b)s(ecomes)h(rather)0
636 y(cum)m(b)s(ersome)34 b(to)g(v)m(erify)g(the)h(existence)g(of)f
(seman)m(tic)f(sp)s(eci\014cations)h(for)g(other)g(languages)0
756 y(\(as)f(evidenced)h(in)e(Section)g(4.5\).)146 877
y(The)38 b(traditional)33 b(solution)h(is)i(to)g(dev)m(elop)h(a)f
Fs(meta-language)42 b Fu(for)36 b(expressing)i(denota-)0
997 y(tional)22 b(de\014nitions.)40 b(The)26 b(theoretical)d
(foundation)g(of)h(this)g(language)g(will)e(then)j(ensure)h(that)0
1117 y(the)36 b(seman)m(tic)g(functions)g(do)g(exist)h(as)f(long)f(as)h
(one)g(only)g(uses)h(domains)e(and)h(op)s(erations)0
1238 y(from)d(the)h(meta-language.)46 b(The)35 b(b)s(ene\014t)g(of)f
(this)g(is)f(ob)m(vious;)i(the)g(dra)m(wbac)m(k)h(is)d(that)h(one)0
1358 y(has)k(to)g(pro)m(v)m(e)h(a)f(fair)e(amoun)m(t)i(of)f(results)h
(but)h(the)f(e\013orts)g(are)g(greatly)f(rew)m(arded)j(in)d(the)0
1478 y(long)31 b(run.)44 b(Both)33 b([16)o(])g(and)g([17)o(])g(con)m
(tain)f(suc)m(h)i(a)e(dev)m(elopmen)m(t.)146 1599 y(The)45
b(denotational)c(approac)m(h)j(can)g(handle)g Fs(ab)-5
b(ortion)50 b Fu(and)44 b Fs(non-determinism)49 b Fu(using)0
1719 y(a)43 b(kind)g(of)g(p)s(o)m(w)m(ersets)i(called)d(p)s(o)m(w)m
(er-domains.)75 b(Certain)43 b(kinds)h(of)e Fs(p)-5 b(ar)g(al)5
b(lelism)50 b Fu(can)43 b(b)s(e)0 1840 y(handled)33 b(as)g(w)m(ell)f
(but)h(for)f(man)m(y)h(purp)s(oses)h(it)e(is)g(b)s(etter)h(to)g(use)h
(a)e(structural)h(op)s(erational)0 1960 y(seman)m(tics)g(instead.)0
2249 y Fp(Static)46 b(program)f(analysis)0 2434 y Fu(A)29
b(selection)g(of)g Fs(static)j(pr)-5 b(o)g(gr)g(am)30
b(analysis)37 b Fu(tec)m(hniques)31 b(for)e(imp)s(erativ)m(e)e
(languages)i(\(as)g(w)m(ell)0 2554 y(as)h(tec)m(hniques)i(for)d
(implemen)m(tations)e(on)j(realistic)e(mac)m(hines\))i(is)f(giv)m(en)h
(in)f([3];)i(but)f(unfor-)0 2674 y(tunately)-8 b(,)30
b(no)g(considerations)f(of)g(correctness)j(are)d(giv)m(en.)43
b(T)-8 b(reatmen)m(ts)30 b(of)g(correctness)h(are)0 2795
y(often)i(based)g(on)g(abstract)f(in)m(terpretation)g(and)h([1])f(surv)
m(eys)j(a)e(n)m(um)m(b)s(er)g(of)f(approac)m(hes.)0 3084
y Fp(Axiomatic)46 b(program)f(v)l(eri\014cation)0 3268
y Fu(A)g(general)g(in)m(tro)s(duction)f(to)g Fs(pr)-5
b(o)g(gr)g(am)46 b(veri\014c)-5 b(ation)p Fu(,)47 b(and)f(in)e
(particular)f Fs(axiomatic)j(se-)0 3389 y(mantics)i Fu(ma)m(y)41
b(b)s(e)g(found)f(in)g([11].)68 b(The)42 b(presen)m(tation)f(co)m(v)m
(ers)h(a)f(\015o)m(w)m(c)m(hart)h(language,)g(a)0 3509
y Fr(while)p Fu(-language)35 b(and)h(a)f(\(\014rst)h(order\))g
(functional)e(language)g(and)i(also)e(includes)i(a)f(study)0
3629 y(of)30 b(expressiv)m(eness)k(\(as)c(needed)i(for)d(the)i(in)m
(tensional)d(approac)m(h)j(to)f(axiomatic)d(seman)m(tics\).)0
3750 y(Man)m(y)32 b(b)s(o)s(oks,)g(including)e([10)o(],)i(dev)m(elop)g
(axiomatic)d(program)h(v)m(eri\014cation)h(together)h(with)0
3870 y(practically)k(motiv)-5 b(ated)36 b(examples.)60
b(A)38 b(go)s(o)s(d)f(in)m(tro)s(duction)g(to)g(the)i(analysis)e(of)h
Fs(r)-5 b(esour)g(c)g(e)0 3991 y(r)g(e)g(quir)g(ements)47
b Fu(of)39 b(programs)f(is)h([2])h(and)f(the)h(form)m(ulation)c(as)k
(formal)d(inference)j(systems)0 4111 y(ma)m(y)32 b(b)s(e)g(found)g(in)f
([12].)43 b(W)-8 b(e)32 b(should)g(also)f(men)m(tion)g(a)h(classic)f
([5])h(that)g(studies)g(soundness)0 4231 y(and)37 b(completeness)h
(prop)s(erties)f(with)f(resp)s(ect)j(to)d(a)h(denotational)e(seman)m
(tics.)57 b(Rules)37 b(for)0 4352 y(pro)s(cedures)d(ma)m(y)e(b)s(e)h
(found)g(in)f([4)o(].)146 4472 y(W)-8 b(e)32 b(should)f(p)s(oin)m(t)f
(out)h(that)g(w)m(e)h(ha)m(v)m(e)h(used)f(the)g(extensional)f(approac)m
(h)g(to)g(sp)s(ecifying)0 4592 y(the)49 b(assertions)f(of)g(the)h
(inference)f(systems.)92 b(This)49 b(allo)m(ws)e(us)h(to)g(concen)m
(trate)i(on)e(the)0 4713 y Fs(formulation)39 b Fu(of)31
b(the)h(inference)h(systems)g(without)e(ha)m(ving)h(to)f(w)m(orry)i(ab)
s(out)e(the)h Fs(existenc)-5 b(e)0 4833 y Fu(of)29 b(the)h(assertions)h
(in)e(an)g(explicit)g(assertion)g(language.)42 b(Ho)m(w)m(ev)m(er,)32
b(it)d(is)g(more)g(common)g(to)0 4954 y(use)34 b(the)f(in)m(tensional)e
(approac)m(h)i(as)f(is)g(done)h(in)f([11].)p eop
%%Page: 212 222
212 221 bop 251 130 a Fw(212)2326 b(7)112 b(F)-9 b(urther)37
b(Reading)p 251 193 3473 4 v eop
%%Page: 213 223
213 222 bop 0 1216 a Fv(App)6 b(endix)77 b(A)0 1668 y(Review)g(of)h
(Notation)0 2157 y Fu(W)-8 b(e)33 b(use)h(the)f(follo)m(wing)c
(notation:)319 2316 y Ft(9)644 b Fu(there)33 b(exists)319
2484 y Ft(8)644 b Fu(for)32 b(all)319 2652 y Ft(f)g Fs(x)44
b Ft(j)32 b Fo(:)17 b(:)g(:)p Fs(x)12 b Fo(:)17 b(:)g(:)32
b Ft(g)99 b Fu(the)33 b(set)g(of)g(those)g Fs(x)44 b
Fu(suc)m(h)34 b(that)e Fo(:)17 b(:)g(:)p Fs(x)12 b Fo(:)17
b(:)g(:)32 b Fu(holds)319 2819 y Fs(x)44 b Ft(2)33 b
Fs(X)439 b(x)44 b Fu(is)33 b(a)f(mem)m(b)s(er)g(of)g(the)h(set)g
Fs(X)319 2987 y(X)48 b Ft(\022)33 b Fs(Y)397 b Fu(set)33
b Fs(X)49 b Fu(is)32 b(con)m(tained)h(in)f(set)h Fs(Y)319
3155 y(X)48 b Ft([)33 b Fs(Y)408 b Ft(f)32 b Fs(z)45
b Ft(j)32 b Fs(z)12 b Ft(2)q Fs(X)48 b Fu(or)32 b Fs(z)12
b Ft(2)q Fs(Y)52 b Ft(g)32 b Fu(\(union\))319 3322 y
Fs(X)48 b Ft(\\)33 b Fs(Y)408 b Ft(f)32 b Fs(z)45 b Ft(j)32
b Fs(z)12 b Ft(2)q Fs(X)48 b Fu(and)33 b Fs(z)12 b Ft(2)p
Fs(Y)52 b Ft(g)33 b Fu(\(in)m(tersection\))319 3490 y
Fs(X)48 b Ft(n)33 b Fs(Y)424 b Ft(f)32 b Fs(z)45 b Ft(j)32
b Fs(z)12 b Ft(2)q Fs(X)48 b Fu(and)33 b Fs(z)12 b Ft(62)p
Fs(Y)52 b Ft(g)33 b Fu(\(set)g(di\013erence\))319 3657
y Fs(X)48 b Ft(\002)33 b Fs(Y)397 b Ft(f)32 b(h)p Fs(x)12
b Fu(,)33 b Fs(y)9 b Ft(i)32 b(j)g Fs(x)12 b Ft(2)p Fs(X)49
b Fu(and)33 b Fs(y)9 b Ft(2)p Fs(Y)52 b Ft(g)33 b Fu(\(Cartesian)f(pro)
s(duct\))319 3825 y Ft(P)8 b Fu(\()p Fs(X)16 b Fu(\))458
b Ft(f)32 b Fs(Z)47 b Ft(j)32 b Fs(Z)47 b Ft(\022)33
b Fs(X)49 b Ft(g)32 b Fu(\(p)s(o)m(w)m(erset\))319 3926
y Fg(S)388 3993 y Ft(Y)563 b(f)32 b Fs(y)42 b Ft(j)32
b(9)q Fs(Y)19 b Ft(2)q(Y)7 b Fu(:)44 b Fs(y)9 b Ft(2)p
Fs(Y)53 b Ft(g)32 b Fu(\(so)h(that)2306 3926 y Fg(S)2375
3993 y Ft(f)f Fs(Y)2549 4008 y Fn(1)2589 3993 y Fu(,)g
Fs(Y)2740 4008 y Fn(2)2812 3993 y Ft(g)g Fu(=)h Fs(Y)3094
4008 y Fn(1)3134 3993 y Ft([)p Fs(Y)3292 4008 y Fn(2)3331
3993 y Fu(\))319 4160 y Ft(;)649 b Fu(the)33 b(empt)m(y)g(set)319
4328 y Fw(T)621 b Ft(f)32 b Fw(tt)p Fu(,)g Fw(\013)h
Ft(g)f Fu(\(truth)h(v)-5 b(alues)33 b Fw(tt)e Fu(\(true\))i(and)g
Fw(\013)g Fu(\(false\)\))319 4496 y Fw(N)611 b Ft(f)32
b Fw(0)p Fu(,)h Fw(1)p Fu(,)g Fw(2)p Fu(,)f Fo(:)17 b(:)g(:)32
b Ft(g)h Fu(\(natural)e(n)m(um)m(b)s(ers\))319 4663 y
Fw(Z)631 b Ft(f)32 b Fo(:)17 b(:)g(:)p Fu(,)33 b({)p
Fw(2)p Fu(,)f({)p Fw(1)p Fu(,)g Fw(0)p Fu(,)h Fw(1)p
Fu(,)g Fw(2)p Fu(,)f Fo(:)17 b(:)g(:)32 b Ft(g)h Fu(\(in)m(tegers\))319
4831 y Fs(f)20 b Fu(:)p Fs(X)c Ft(!)p Fs(Y)362 b(f)54
b Fu(is)32 b(a)g(total)f(function)h(from)f Fs(X)49 b
Fu(to)32 b Fs(Y)319 4998 y(X)16 b Ft(!)o Fs(Y)440 b Ft(f)32
b Fs(f)54 b Ft(j)32 b Fs(f)21 b Fu(:)p Fs(X)16 b Ft(!)p
Fs(Y)52 b Ft(g)319 5166 y Fs(f)20 b Fu(:)p Fs(X)c Fo(,)-17
b Ft(!)q Fs(Y)351 b(f)54 b Fu(is)32 b(a)g(partial)e(function)i(from)g
Fs(X)48 b Fu(to)33 b Fs(Y)319 5334 y(X)16 b Fo(,)-17
b Ft(!)p Fs(Y)429 b Ft(f)32 b Fs(f)54 b Ft(j)32 b Fs(f)21
b Fu(:)p Fs(X)16 b Fo(,)-17 b Ft(!)p Fs(Y)53 b Ft(g)0
5494 y Fu(In)41 b(addition)e(to)h(this)g(w)m(e)i(ha)m(v)m(e)g(sp)s
(ecial)e(notations)g(for)g(functions,)i(relations,)g(predicates)1663
5849 y(213)p eop
%%Page: 214 224
214 223 bop 251 130 a Fw(214)2151 b(A)112 b(Review)36
b(of)i(Notation)p 251 193 3473 4 v 283 515 a Fu(and)33
b(transition)e(systems.)283 797 y Fp(F)-11 b(unctions)283
981 y Fu(The)34 b(e\013ect)f(of)g(a)f(function)g Fs(f)21
b Fu(:)p Fs(X)16 b Ft(!)p Fs(Y)52 b Fu(is)32 b(expressed)j(b)m(y)f(its)
e Fs(gr)-5 b(aph)p Fu(:)527 1141 y(graph\()p Fs(f)21
b Fu(\))33 b(=)f Ft(f)g(h)p Fs(x)12 b Fu(,)32 b Fs(y)9
b Ft(i2)q Fs(X)16 b Ft(\002)p Fs(Y)52 b Ft(j)33 b Fs(f)53
b(x)44 b Fu(=)33 b Fs(y)41 b Ft(g)283 1300 y Fu(whic)m(h)23
b(is)e(merely)g(an)h(elemen)m(t)g(of)f Ft(P)9 b Fu(\()p
Fs(X)16 b Ft(\002)p Fs(Y)k Fu(\).)i(The)h(graph)e(of)h
Fs(f)42 b Fu(has)23 b(the)f(follo)m(wing)d(prop)s(erties)429
1460 y Ft(\017)48 b(h)p Fs(x)12 b Fu(,)32 b Fs(y)9 b
Ft(i2)q Fu(graph\()p Fs(f)20 b Fu(\))33 b(and)g Ft(h)o
Fs(x)12 b Fu(,)33 b Fs(y)1648 1423 y Fi(0)1671 1460 y
Ft(i2)p Fu(graph\()p Fs(f)21 b Fu(\))32 b(imply)f Fs(y)42
b Fu(=)32 b Fs(y)2706 1423 y Fi(0)2729 1460 y Fu(,)h(and)429
1648 y Ft(\017)48 b(8)q Fs(x)12 b Ft(2)p Fs(X)k Fu(:)33
b Ft(9)p Fs(y)9 b Ft(2)q Fs(Y)19 b Fu(:)33 b Ft(h)p Fs(x)12
b Fu(,)32 b Fs(y)9 b Ft(i2)33 b Fu(graph\()p Fs(f)20
b Fu(\))283 1808 y(This)38 b(expresses)i(the)e(single-v)-5
b(aluedness)37 b(of)g Fs(f)58 b Fu(and)37 b(the)h(totalit)m(y)d(of)i
Fs(f)21 b Fu(.)57 b(W)-8 b(e)38 b(sa)m(y)g(that)f Fs(f)58
b Fu(is)283 1928 y Fs(inje)-5 b(ctive)40 b Fu(if)31 b
Fs(f)53 b(x)45 b Fu(=)32 b Fs(f)54 b(x)1186 1892 y Fi(0)1241
1928 y Fu(implies)30 b(that)j Fs(x)44 b Fu(=)32 b Fs(x)2038
1892 y Fi(0)2062 1928 y Fu(.)430 2049 y(A)h Fs(p)-5 b(artial)43
b Fu(function)32 b Fs(g)9 b Fu(:)p Fs(X)16 b Fo(,)-17
b Ft(!)p Fs(Y)53 b Fu(is)33 b(a)f(function)h(from)f(a)g(subset)j
Fs(X)2901 2064 y Fc(g)2974 2049 y Fu(of)e Fs(X)49 b Fu(to)33
b Fs(Y)19 b Fu(,)34 b(that)e(is)283 2169 y Fs(g)9 b Fu(:)p
Fs(X)452 2184 y Fc(g)492 2169 y Ft(!)p Fs(Y)20 b Fu(.)32
b(Again)g(one)h(ma)m(y)f(de\014ne)527 2328 y(graph\()p
Fs(g)9 b Fu(\))32 b(=)h Ft(f)f(h)p Fs(x)12 b Fu(,)32
b Fs(y)9 b Ft(i2)p Fs(X)16 b Ft(\002)q Fs(Y)52 b Ft(j)32
b Fs(g)41 b(x)k Fu(=)32 b Fs(y)42 b Fu(and)32 b Fs(x)12
b Ft(2)q Fu(X)2549 2343 y Fc(g)2621 2328 y Ft(g)283 2488
y Fu(but)32 b(no)m(w)f(only)g(an)g(analogue)f(of)g(the)h(single-v)-5
b(aluedness)31 b(prop)s(ert)m(y)h(ab)s(o)m(v)m(e)g(is)e(satis\014ed.)43
b(W)-8 b(e)283 2608 y(shall)33 b(write)h Fs(g)43 b(x)j
Fu(=)34 b Fs(y)43 b Fu(whenev)m(er)36 b Ft(h)p Fs(x)12
b Fu(,)34 b Fs(y)9 b Ft(i2)q Fu(graph\()p Fs(g)g Fu(\))33
b(and)h Fs(g)43 b(x)j Fu(=)34 b(undef)p 2778 2621 236
4 v 35 w(whenev)m(er)i Fs(x)12 b Ft(62)q Fs(X)3689 2623
y Fc(g)3729 2608 y Fu(,)283 2729 y(that)38 b(is)g(whenev)m(er)i
Ft(:)q(9)p Fs(y)9 b Ft(2)p Fs(Y)20 b Fu(:)38 b Ft(h)p
Fs(x)12 b Fu(,)39 b Fs(y)9 b Ft(i2)p Fu(graph\()p Fs(g)g
Fu(\).)59 b(T)-8 b(o)38 b(distinguish)f(b)s(et)m(w)m(een)j(a)e
(function)f Fs(f)283 2849 y Fu(and)26 b(a)f(partial)e(function)i
Fs(g)34 b Fu(one)25 b(often)g(calls)g Fs(f)46 b Fu(a)25
b Fs(total)36 b Fu(function.)k(W)-8 b(e)26 b(shall)e(view)h(the)h
(partial)283 2969 y(functions)33 b(as)g(encompassing)f(the)h(total)e
(functions.)430 3090 y(F)-8 b(or)32 b(total)f(functions)h
Fs(f)1309 3105 y Fn(1)1381 3090 y Fu(and)h Fs(f)1622
3105 y Fn(2)1694 3090 y Fu(w)m(e)g(de\014ne)h(their)e(comp)s(osition)e
Fs(f)2948 3105 y Fn(2)2988 3090 y Ft(\016)o Fs(f)3088
3105 y Fn(1)3160 3090 y Fu(b)m(y)527 3249 y(\()p Fs(f)616
3264 y Fn(2)656 3249 y Ft(\016)o Fs(f)756 3264 y Fn(1)796
3249 y Fu(\))i Fs(x)45 b Fu(=)32 b Fs(f)1115 3264 y Fn(2)1154
3249 y Fu(\()p Fs(f)1243 3264 y Fn(1)1315 3249 y Fs(x)12
b Fu(\))283 3408 y(\(Note)43 b(that)g(the)g(opp)s(osite)f(order)h(is)f
(sometimes)f(used)j(in)e(the)h(literature.\))72 b(F)-8
b(or)42 b(partial)283 3529 y(functions)33 b Fs(g)758
3544 y Fn(1)830 3529 y Fu(and)f Fs(g)1073 3544 y Fn(2)1145
3529 y Fu(w)m(e)h(de\014ne)h Fs(g)1624 3544 y Fn(2)1663
3529 y Ft(\016)p Fs(g)1767 3544 y Fn(1)1839 3529 y Fu(similarly:)602
3688 y(\()p Fs(g)694 3703 y Fn(2)733 3688 y Ft(\016)p
Fs(g)837 3703 y Fn(1)876 3688 y Fu(\))e Fs(x)45 b Fu(=)32
b Fs(z)295 b Fu(if)32 b(there)h(exists)g Fs(y)42 b Fu(suc)m(h)34
b(that)e Fs(g)2661 3703 y Fn(1)2733 3688 y Fs(x)44 b
Fu(=)33 b Fs(y)41 b Fu(and)33 b Fs(g)3263 3703 y Fn(2)3334
3688 y Fs(y)42 b Fu(=)32 b Fs(z)602 3856 y Fu(\()p Fs(g)694
3871 y Fn(2)733 3856 y Ft(\016)p Fs(g)837 3871 y Fn(1)876
3856 y Fu(\))g Fs(x)45 b Fu(=)32 b(undef)p 1144 3869
V 100 w(if)g Fs(g)1623 3871 y Fn(1)1694 3856 y Fs(x)45
b Fu(=)32 b(undef)p 1892 3869 V 33 w(or)1479 4023 y(if)g(there)h
(exists)g Fs(y)42 b Fu(suc)m(h)34 b(that)e Fs(g)2661
4038 y Fn(1)2733 4023 y Fs(x)44 b Fu(=)33 b Fs(y)1479
4191 y Fu(but)g Fs(g)1712 4206 y Fn(2)1784 4191 y Fs(y)41
b Fu(=)33 b(undef)p 1981 4204 V 283 4352 a(The)h(iden)m(tit)m(y)e
(function)g(id:)p Fs(X)16 b Ft(!)p Fs(X)48 b Fu(is)32
b(de\014ned)i(b)m(y)527 4511 y(id)e Fs(x)44 b Fu(=)33
b Fs(x)283 4671 y Fu(Finally)-8 b(,)28 b(if)h Fs(f)21
b Fu(:)p Fs(X)16 b Ft(!)p Fs(Y)k Fu(,)29 b Fs(x)12 b
Ft(2)q Fs(X)46 b Fu(and)30 b Fs(y)9 b Ft(2)p Fs(Y)50
b Fu(then)30 b(the)h(function)e Fs(f)21 b Fu([)p Fs(x)12
b Ft(7!)p Fs(y)d Fu(]:)p Fs(X)16 b Ft(!)p Fs(Y)49 b Fu(is)30
b(de\014ned)h(b)m(y)527 5013 y Fs(f)21 b Fu([)p Fs(x)12
b Ft(7!)p Fs(y)d Fu(])32 b Fs(x)934 4977 y Fi(0)990 5013
y Fu(=)1098 4838 y Fg(8)1098 4913 y(<)1098 5062 y(:)1214
4928 y Fs(y)199 b Fu(if)32 b Fs(x)44 b Fu(=)32 b Fs(x)1804
4892 y Fi(0)1214 5096 y Fs(f)53 b(x)1354 5059 y Fi(0)1460
5096 y Fu(otherwise)283 5254 y(A)33 b(similar)c(notation)j(ma)m(y)g(b)s
(e)h(used)g(when)h Fs(f)54 b Fu(is)32 b(a)g(partial)e(function.)430
5374 y(The)25 b(function)e Fs(f)45 b Fu(is)24 b(of)g
Fs(or)-5 b(der)26 b(of)h(magnitude)k(g)9 b Fu(,)25 b(written)f
Ft(O)s Fu(\()p Fs(g)9 b Fu(\),)26 b(if)d(there)h(exists)h(a)f(natural)
283 5494 y(n)m(um)m(b)s(er)33 b Fw(k)g Fu(suc)m(h)h(that)e
Ft(8)q Fs(x)12 b Fu(.)43 b Fs(f)54 b(x)44 b Ft(\024)33
b Fw(k)g Fo(?)f Fu(\()p Fs(g)41 b(x)12 b Fu(\).)p eop
%%Page: 215 225
215 224 bop 3304 130 a Fw(215)p 0 193 3473 4 v 0 515
a Fp(Relations)0 700 y Fu(A)32 b Fs(r)-5 b(elation)34
b(fr)-5 b(om)39 b(X)49 b(to)38 b(Y)52 b Fu(is)31 b(a)h(subset)i(of)e
Fs(X)16 b Ft(\002)p Fs(Y)52 b Fu(\(that)32 b(is)g(an)g(elemen)m(t)g(of)
f Ft(P)9 b Fu(\()p Fs(X)16 b Ft(\002)q Fs(Y)j Fu(\)\).)32
b(A)0 820 y(relation)27 b Fs(on)36 b(X)44 b Fu(is)29
b(a)f(subset)j(of)d Fs(X)16 b Ft(\002)p Fs(X)g Fu(.)29
b(If)g Fs(f)21 b Fu(:)p Fs(X)16 b Ft(!)p Fs(Y)48 b Fu(or)29
b Fs(f)21 b Fu(:)p Fs(X)16 b Fo(,)-17 b Ft(!)p Fs(Y)48
b Fu(then)30 b(the)f(graph)g(of)f Fs(f)49 b Fu(is)29
b(a)0 941 y(relation.)46 b(\(Sometimes)32 b(a)i(function)g(is)f(iden)m
(ti\014ed)h(with)f(its)h(graph)g(but)g(w)m(e)h(shall)d(k)m(eep)k(the)0
1061 y(distinction.\))42 b(The)33 b Fs(identity)i(r)-5
b(elation)40 b Fu(on)32 b Fs(X)49 b Fu(is)32 b(the)h(relation)244
1253 y(I)279 1268 y Fc(X)379 1253 y Fu(=)f Ft(f)h(h)o
Fs(x)12 b Fu(,)33 b Fs(x)12 b Ft(i)32 b(j)g Fs(x)12 b
Ft(2)p Fs(X)49 b Ft(g)0 1445 y Fu(from)38 b Fs(X)56 b
Fu(to)40 b Fs(X)16 b Fu(.)40 b(When)g Fs(X)56 b Fu(is)40
b(clear)f(from)f(the)i(con)m(text)h(w)m(e)g(shall)e(omit)e(the)j
(subscript)h Fs(X)0 1565 y Fu(and)33 b(simply)e(write)h(I.)146
1686 y(If)37 b Fs(R)323 1701 y Fn(1)362 1686 y Ft(\022)q
Fs(X)16 b Ft(\002)p Fs(Y)56 b Fu(and)37 b Fs(R)1002 1701
y Fn(2)1041 1686 y Ft(\022)q Fs(Y)19 b Ft(\002)q Fs(Z)50
b Fu(the)37 b Fs(c)-5 b(omp)g(osition)42 b Fu(of)36 b
Fs(R)2304 1701 y Fn(1)2380 1686 y Fu(follo)m(w)m(ed)f(b)m(y)j
Fs(R)2975 1701 y Fn(2)3014 1686 y Fu(,)g(whic)m(h)e(w)m(e)0
1806 y(denote)d(b)m(y)h Fs(R)525 1821 y Fn(1)564 1806
y Ft(\005)o Fs(R)689 1821 y Fn(2)729 1806 y Fu(,)e(is)g(de\014ned)i(b)m
(y)244 1998 y Fs(R)319 2013 y Fn(1)358 1998 y Ft(\005)o
Fs(R)483 2013 y Fn(2)555 1998 y Fu(=)f Ft(f)f(h)p Fs(x)12
b Fu(,)32 b Fs(z)12 b Ft(i)32 b(j)h(9)p Fs(y)9 b Ft(2)p
Fs(Y)20 b Fu(:)33 b Ft(h)o Fs(x)12 b Fu(,)33 b Fs(y)9
b Ft(i2)p Fs(R)1805 2013 y Fn(1)1877 1998 y Fu(and)33
b Ft(h)p Fs(y)9 b Fu(,)32 b Fs(z)12 b Ft(i2)p Fs(R)2453
2013 y Fn(2)2525 1998 y Ft(g)0 2189 y Fu(Note)33 b(that)f(the)h(order)g
(of)f(comp)s(osition)e(di\013ers)j(from)e(that)h(used)i(for)e
(functions,)244 2381 y(graph\()p Fs(f)577 2396 y Fn(2)616
2381 y Ft(\016)p Fs(f)717 2396 y Fn(1)756 2381 y Fu(\))h(=)f(graph\()p
Fs(f)1268 2396 y Fn(1)1307 2381 y Fu(\))h Ft(\005)e Fu(graph\()p
Fs(f)1793 2396 y Fn(2)1832 2381 y Fu(\))0 2573 y(and)i(that)f(w)m(e)i
(ha)m(v)m(e)g(the)f(equation)244 2765 y(I)g Ft(\005)e
Fs(R)37 b Fu(=)32 b Fs(R)37 b Ft(\005)31 b Fu(I)i(=)f
Fs(R)146 2956 y Fu(If)37 b Fs(R)j Fu(is)c(a)g(relation)e(on)i
Fs(X)52 b Fu(then)37 b(the)g Fs(r)-5 b(e\015exive)38
b(tr)-5 b(ansitive)38 b(closur)-5 b(e)43 b Fu(is)36 b(the)h(relation)d
Fs(R)3433 2920 y Fi(\003)0 3077 y Fu(on)e Fs(X)49 b Fu(de\014ned)34
b(b)m(y)244 3269 y Fs(R)319 3232 y Fi(\003)391 3269 y
Fu(=)e Ft(f)h(h)o Fs(x)12 b Fu(,)33 b Fs(x)794 3232 y
Fi(0)817 3269 y Ft(i)f(j)g(9)q Fu(n)p Ft(\025)p Fu(1:)44
b Ft(9)p Fs(x)1367 3284 y Fn(1)1406 3269 y Fu(,)33 b
Fo(:)17 b(:)g(:)o Fu(,)33 b Fs(x)1697 3284 y Fn(n)1740
3269 y Fu(:)44 b Fs(x)g Fu(=)32 b Fs(x)2065 3284 y Fn(1)2137
3269 y Fu(and)h Fs(x)2384 3232 y Fi(0)2439 3269 y Fu(=)g
Fs(x)2605 3284 y Fn(n)948 3436 y Fu(and)g Ft(8)p Fu(i)p
Fo(<)p Fu(n:)43 b Ft(h)p Fs(x)1517 3451 y Fn(i)1540 3436
y Fu(,)33 b Fs(x)1657 3451 y Fn(i+1)1771 3436 y Ft(i)o(2)q
Fs(R)j Ft(g)0 3628 y Fu(Note)g(that)g(b)m(y)h(taking)e(n=1)h(and)g
Fs(x)12 b Fu(=)p Fs(x)1495 3592 y Fi(0)1517 3628 y Fu(=)p
Fs(x)1650 3643 y Fn(1)1725 3628 y Fu(it)35 b(follo)m(ws)g(that)h(I)p
Ft(\022)p Fs(R)2552 3592 y Fi(\003)2592 3628 y Fu(.)54
b(In)36 b(a)g(similar)c(w)m(a)m(y)37 b(it)0 3748 y(follo)m(ws)31
b(that)i Fs(R)t Ft(\022)p Fs(R)759 3712 y Fi(\003)799
3748 y Fu(.)43 b(Finally)-8 b(,)30 b(w)m(e)k(de\014ne)244
3940 y Fs(R)319 3904 y Fn(+)411 3940 y Fu(=)e Fs(R)37
b Ft(\005)31 b Fs(R)784 3904 y Fi(\003)0 4132 y Fu(and)i(observ)m(e)h
(that)e Fs(R)37 b Ft(\022)c Fs(R)1041 4096 y Fn(+)1133
4132 y Ft(\022)g Fs(R)1318 4096 y Fi(\003)1357 4132 y
Fu(.)0 4419 y Fp(Predicates)0 4603 y Fu(A)h Fs(pr)-5
b(e)g(dic)g(ate)41 b Fu(on)34 b Fs(X)51 b Fu(is)33 b(a)h(function)g
(from)f Fs(X)50 b Fu(to)34 b Fw(T)p Fu(.)g(If)g Fs(p)6
b Fu(:)p Fs(X)16 b Ft(!)p Fw(T)34 b Fu(is)g(a)g(predicate)g(on)h
Fs(X)16 b Fu(,)34 b(the)0 4724 y(relation)d(I)393 4739
y Fc(p)465 4724 y Fu(on)i Fs(X)48 b Fu(is)32 b(de\014ned)i(b)m(y)244
4916 y(I)279 4931 y Fc(p)351 4916 y Fu(=)f Ft(f)f(h)p
Fs(x)12 b Fu(,)32 b Fs(x)12 b Ft(i)32 b(j)g Fs(x)12 b
Ft(2)q Fs(X)48 b Fu(and)33 b Fs(p)38 b(x)45 b Fu(=)32
b Fw(tt)g Ft(g)0 5107 y Fu(Note)h(that)f(I)482 5122 y
Fc(p)554 5107 y Ft(\022)h Fu(I)g(and)g(that)244 5299
y(I)279 5314 y Fc(p)351 5299 y Ft(\005)f Fs(R)k Fu(=)d
Ft(f)f(h)p Fs(x)12 b Fu(,)32 b Fs(y)9 b Ft(i)32 b(j)h
Fs(p)38 b(x)44 b Fu(=)33 b Fw(tt)e Fu(and)i Ft(h)p Fs(x)12
b Fu(,)32 b Fs(y)9 b Ft(i2)q Fs(R)36 b Ft(g)244 5467
y Fs(R)h Ft(\005)31 b Fu(I)469 5482 y Fc(q)540 5467 y
Fu(=)h Ft(f)g(h)p Fs(x)12 b Fu(,)32 b Fs(y)9 b Ft(i)33
b(j)f(h)p Fs(x)12 b Fu(,)32 b Fs(y)9 b Ft(i2)p Fs(R)37
b Fu(and)c Fs(q)41 b(y)g Fu(=)33 b Fw(tt)e Ft(g)p eop
%%Page: 216 226
216 225 bop 251 130 a Fw(216)2151 b(A)112 b(Review)36
b(of)i(Notation)p 251 193 3473 4 v 283 515 a Fp(T)-11
b(ransition)46 b(systems)283 700 y Fu(A)33 b Fs(tr)-5
b(ansition)35 b(system)40 b Fu(is)32 b(a)g(triple)f(of)h(the)h(form)527
904 y(\(\000,T,)g Fh(\003)q Fu(\))283 1107 y(where)h(\000)e(is)g(a)g
(set)h(of)f Fs(c)-5 b(on\014gur)g(ations)p Fu(,)31 b(T)i(is)f(a)g
(subset)i(of)e(\000)g(called)f(the)i Fs(terminal)42 b
Fu(\(or)32 b Fs(\014nal)p Fu(\))283 1227 y(con\014gurations)68
b(and)34 b Fh(\003)h Fu(is)f(a)f(relation)g(on)h(\000)f(called)g(a)h
Fs(tr)-5 b(ansition)36 b(r)-5 b(elation)p Fu(.)48 b(The)35
b(relation)283 1348 y Fh(\003)e Fu(m)m(ust)g(satisfy)527
1551 y Ft(8)q Fo(\015)5 b Ft(2)p Fu(T:)33 b Ft(8)q Fo(\015)947
1515 y Fi(0)970 1551 y Ft(2)p Fu(\000:)44 b Ft(:)p Fu(\()p
Fo(\015)5 b Fh(\003)q Fo(\015)1462 1515 y Fi(0)1485 1551
y Fu(\))283 1754 y(An)m(y)32 b(con\014guration)e Fo(\015)36
b Fu(in)30 b(\000)p Ft(n)p Fu(T)h(suc)m(h)h(that)f(the)g(transition)e
Fo(\015)5 b Fh(\003)q Fo(\015)2717 1718 y Fi(0)2771 1754
y Fu(holds)31 b(for)f(no)h Fo(\015)3362 1718 y Fi(0)3416
1754 y Fu(is)f(called)283 1875 y Fs(stuck)p Fu(.)p eop
%%Page: 217 227
217 226 bop 0 1180 a Fv(App)6 b(endix)77 b(B)0 1595 y(In)-6
b(tro)6 b(duction)78 b(to)g(Miranda)0 1844 y(Implemen)-6
b(tations)0 2296 y Fu(In)43 b(this)e(app)s(endix)i(w)m(e)g(giv)m(e)f
(the)h(basic)f(de\014nitions)g(needed)h(to)f(implemen)m(t)e(the)j(v)-5
b(arious)0 2417 y(seman)m(tic)30 b(de\014nitions)g(in)g
Fw(Miranda)p Fu(.)44 b(Essen)m(tially)-8 b(,)30 b(this)g(amoun)m(ts)h
(to)f(an)h(implemen)m(tation)0 2537 y(of)h(the)h(material)d(of)i
(Chapter)h(1.)0 2870 y Fj(B.1)161 b(Abstract)52 b(syn)l(tax)0
3089 y Fu(F)-8 b(or)43 b Fw(Num)h Fu(w)m(e)h(c)m(ho)s(ose)h(the)e
(primitiv)m(e)e(t)m(yp)s(e)k Fr(num)f Fu(of)e Fw(Miranda)p
Fu(.)80 b(F)-8 b(or)43 b Fw(V)-9 b(ar)44 b Fu(w)m(e)i(c)m(ho)s(ose)0
3209 y(strings)32 b(of)h(c)m(haracters)g(and)g(so)g(de\014ne)h(the)f(t)
m(yp)s(e)g(synon)m(ym:)0 3413 y Fr(>)103 b(var)52 b(==)g([char])0
3616 y Fu(F)-8 b(or)30 b(eac)m(h)h(of)f(the)h(syn)m(tactic)g
(categories)f Fw(Aexp)p Fu(,)i Fw(Bexp)e Fu(and)h Fw(Stm)e
Fu(w)m(e)j(de\014ne)g(an)e(algebraic)0 3736 y(data)47
b(t)m(yp)s(e)h(taking)f(in)m(to)f(accoun)m(t)i(the)g(v)-5
b(arious)46 b(p)s(ossibilities)f(men)m(tioned)i(b)m(y)h(the)g(BNF)0
3857 y(syn)m(tax)34 b(of)e(Section)h(1.2:)0 4060 y Fr(>)103
b(aexp)52 b(::=)g(N)g(num)g(|)f(V)h(var)g(|)f(Add)i(aexp)f(aexp)g(|)0
4228 y(>)564 b(Mult)53 b(aexp)f(aexp)g(|)g(Sub)g(aexp)g(aexp)0
4443 y(>)103 b(bexp)52 b(::=)g(TRUE)h(|)e(FALSE)i(|)e(Eq)h(aexp)g(aexp)
h(|)e(Le)h(aexp)g(aexp)h(|)0 4610 y(>)564 b(Neg)52 b(bexp)h(|)e(And)h
(bexp)h(bexp)0 4825 y(>)103 b(stm)g(::=)52 b(Ass)g(var)g(aexp)h(|)e
(Skip)i(|)e(Comp)h(stm)g(stm)h(|)0 4993 y(>)564 b(If)52
b(bexp)g(stm)g(stm)g(|)g(While)h(bexp)f(stm)0 5221 y
Fw(Example)37 b(B.1)48 b Fu(The)34 b(factorial)c(statemen)m(t)j(of)f
(Exercise)i(1.1)e(is)g(represen)m(ted)j(b)m(y)1663 5849
y(217)p eop
%%Page: 218 228
218 227 bop 251 130 a Fw(218)1049 b(B)111 b(In)m(tro)s(duction)37
b(to)g(Miranda)h(Implemen)m(tations)p 251 193 3473 4
v 283 515 a Fr(>)103 b(factorial)54 b(=)d(Comp)i(\(Ass)f("y")g(\(N)g
(1\)\))283 683 y(>)975 b(\(While)53 b(\(Neg)f(\(Eq)g(\(V)g("x"\))g(\(N)
g(1\)\)\))283 851 y(>)1077 b(\(Comp)53 b(\(Ass)f("y")g(\(Mult)h(\(V)f
("y"\))g(\(V)g("x"\)\)\))283 1018 y(>)1385 b(\(Ass)52
b("x")g(\(Sub)h(\(V)e("x"\))i(\(N)f(1\)\)\)\)\))283 1251
y Fu(Note)41 b(that)f(this)g(is)g(a)h(represen)m(tation)g(of)f(the)h
Fs(abstr)-5 b(act)42 b(syntax)52 b Fu(of)40 b(the)h(statemen)m(t.)67
b(One)283 1371 y(ma)m(y)33 b(b)s(e)g(in)m(terested)g(in)f(a)g(parser)i
(that)e(w)m(ould)g(translate)g(the)h(more)f(readable)g(form)527
1578 y Fr(y)52 b(:=)g(1;)f(while)i Ft(:)p Fr(\(x)f(=)g(1\))g(do)f(\(y)h
(:=)g(y)g(*)f(x;)h(x)f(:=)h(x)g Ft(\000)f Fr(1\))283
1785 y Fu(in)m(to)26 b(the)g(ab)s(o)m(v)m(e)h(represen)m(tation.)42
b(Ho)m(w)m(ev)m(er,)29 b(w)m(e)e(shall)d(refrain)h(from)g(undertaking)h
(the)g(task)283 1905 y(of)33 b(implemen)m(ting)c(a)k(parser)g(as)g(w)m
(e)g(are)g(mainly)d(concerned)k(with)f(seman)m(tics.)439
b Fh(2)283 2138 y Fw(Exercise)37 b(B.2)48 b Fu(Sp)s(ecify)22
b(an)g(elemen)m(t)f(of)h Fr(stm)g Fu(that)g(represen)m(ts)i(the)e
(statemen)m(t)g(constructed)283 2258 y(in)32 b(Exercise)i(1.2)e(for)g
(computing)g Fs(n)40 b Fu(to)32 b(the)h(p)s(o)m(w)m(er)g(of)f
Fs(m)7 b Fu(.)1220 b Fh(2)283 2595 y Fj(B.2)161 b(Ev)-9
b(aluation)55 b(of)f(expressions)283 2815 y Fu(W)-8 b(e)47
b(shall)d(\014rst)i(b)s(e)g(concerned)i(with)d(the)h(represen)m(tation)
h(of)e(v)-5 b(alues)46 b(and)g(states.)84 b(The)283 2936
y(natural)28 b(n)m(um)m(b)s(ers)i Fw(Z)f Fu(will)d(b)s(e)j(represen)m
(ted)j(b)m(y)d(the)h(t)m(yp)s(e)f Fr(num)h Fu(meaning)d(that)i(the)g
(seman)m(tic)283 3056 y(function)37 b Ft(N)51 b Fu(b)s(ecomes)37
b(trivial.)54 b(The)38 b(truth)f(v)-5 b(alues)36 b Fw(T)h
Fu(will)e(b)s(e)i(represen)m(ted)i(b)m(y)f(the)f(t)m(yp)s(e)283
3176 y Fr(bool)d Fu(of)e(b)s(o)s(oleans.)43 b(So)32 b(w)m(e)i(de\014ne)
g(the)f(t)m(yp)s(e)g(synon)m(yms:)283 3384 y Fr(>)103
b(z)52 b(==)g(num)283 3551 y(>)103 b(t)52 b(==)g(bool)283
3758 y Fu(The)32 b(set)f Fw(State)f Fu(is)g(de\014ned)i(as)f(the)g(set)
g(of)f(functions)g(from)f(v)-5 b(ariables)30 b(to)g(natural)f(n)m(um)m
(b)s(ers)283 3878 y(so)k(w)m(e)h(de\014ne:)283 4086 y
Fr(>)103 b(state)53 b(==)f(var)g(->)g(z)283 4319 y Fw(Example)37
b(B.3)49 b Fu(The)38 b(state)g Fr(s)p 1468 4319 31 4
v 37 w(init)g Fu(that)f(maps)g(all)e(v)-5 b(ariables)36
b(except)j Fr(x)f Fu(to)e Fw(0)i Fu(and)f(that)283 4439
y(maps)c Fr(x)g Fu(to)f Fw(3)g Fu(can)h(b)s(e)g(de\014ned)h(b)m(y)283
4647 y Fr(>)103 b(s)p 494 4647 V 37 w(init)53 b("x")f(=)f(3)283
4814 y(>)103 b(s)p 494 4814 V 37 w(init)53 b(y)154 b(=)51
b(0)283 5021 y Fu(Note)32 b(that)g(w)m(e)g(encapsulate)g(the)g(sp)s
(eci\014c)h(v)-5 b(ariable)29 b(name)j Fr(x)f Fu(in)g(quotes)i(whereas)
g Fr(y)f Fu(can)g(b)s(e)283 5141 y(an)m(y)i(v)-5 b(ariable.)2851
b Fh(2)430 5374 y Fu(The)35 b(functions)g Ft(A)f Fu(and)g
Ft(B)k Fu(will)32 b(b)s(e)j(called)e Fr(a)p 2119 5374
V 37 w(val)i Fu(and)g Fr(b)p 2587 5374 V 37 w(val)g Fu(in)f(the)h
(implemen)m(tation)283 5494 y(and)e(they)h(are)e(de\014ned)i(b)m(y)g
(directly)e(translating)e(T)-8 b(ables)33 b(1.1)f(and)h(1.2)f(in)m(to)g
Fw(Miranda)p Fu(:)p eop
%%Page: 219 229
219 228 bop 0 130 a Fw(B.2)112 b(Ev)-6 b(aluation)36
b(of)i(expressions)1787 b(219)p 0 193 3473 4 v 0 515
a Fr(>)103 b(a)p 211 515 31 4 v 37 w(val)52 b(::)g(aexp)g(->)g(state)h
(->)e(z)0 683 y(>)103 b(b)p 211 683 V 37 w(val)52 b(::)g(bexp)g(->)g
(state)h(->)e(t)0 898 y(>)103 b(a)p 211 898 V 37 w(val)52
b(\(N)g(n\))g(s)410 b(=)52 b(n)0 1065 y(>)103 b(a)p 211
1065 V 37 w(val)52 b(\(V)g(x\))g(s)410 b(=)52 b(s)f(x)0
1233 y(>)103 b(a)p 211 1233 V 37 w(val)52 b(\(Add)g(a1)g(a2\))g(s)103
b(=)52 b(\(a)p 1427 1233 V 37 w(val)g(a1)g(s\))g(+)f(\(a)p
2181 1233 V 38 w(val)h(a2)g(s\))0 1401 y(>)103 b(a)p
211 1401 V 37 w(val)52 b(\(Mult)h(a1)e(a2\))h(s)g(=)g(\(a)p
1427 1401 V 37 w(val)g(a1)g(s\))g(*)f(\(a)p 2181 1401
V 38 w(val)h(a2)g(s\))0 1568 y(>)103 b(a)p 211 1568 V
37 w(val)52 b(\(Sub)g(a1)g(a2\))g(s)103 b(=)52 b(\(a)p
1427 1568 V 37 w(val)g(a1)g(s\))g(-)f(\(a)p 2181 1568
V 38 w(val)h(a2)g(s\))0 1783 y(>)103 b(b)p 211 1783 V
37 w(val)52 b(TRUE)g(s)462 b(=)52 b(True)0 1951 y(>)103
b(b)p 211 1951 V 37 w(val)52 b(FALSE)h(s)410 b(=)52 b(False)0
2118 y(>)103 b(b)p 211 2118 V 37 w(val)52 b(\(Eq)g(a1)g(a2\))g(s)154
b(=)52 b(True,)103 b(if)p 1677 2131 103 4 v 52 w(a)p
1888 2118 31 4 v 37 w(val)52 b(a1)g(s)g(=)f(a)p 2540
2118 V 38 w(val)h(a2)f(s)0 2286 y(>)1179 b(=)52 b(False,)h(if)p
1692 2299 103 4 v 52 w(a)p 1903 2286 31 4 v 37 w(val)f(a1)g(s)f(~=)h(a)
p 2606 2286 V 37 w(val)g(a2)g(s)0 2454 y(>)103 b(b)p
211 2454 V 37 w(val)52 b(\(Le)g(a1)g(a2\))g(s)154 b(=)52
b(True,)103 b(if)p 1677 2467 103 4 v 52 w(a)p 1888 2454
31 4 v 37 w(val)52 b(a1)g(s)g(<=)g(a)p 2592 2454 V 37
w(val)g(a2)g(s)0 2621 y(>)1179 b(=)52 b(False,)h(if)p
1692 2634 103 4 v 52 w(a)p 1903 2621 31 4 v 37 w(val)f(a1)g(s)f(>)h(a)p
2555 2621 V 37 w(val)g(a2)g(s)0 2789 y(>)103 b(b)p 211
2789 V 37 w(val)52 b(\(Neg)g(b\))g(s)308 b(=)52 b(True,)103
b(if)p 1677 2802 103 4 v 52 w(b)p 1888 2789 31 4 v 37
w(val)52 b(b)g(s)g(=)f(False)0 2957 y(>)1179 b(=)52 b(False,)h(if)p
1692 2970 103 4 v 52 w(b)p 1903 2957 31 4 v 37 w(val)f(b)f(s)h(=)f
(True)0 3124 y(>)103 b(b)p 211 3124 V 37 w(val)52 b(\(And)g(b1)g(b2\))g
(s)103 b(=)52 b(True,)103 b(if)p 1677 3137 103 4 v 52
w(b)p 1888 3124 31 4 v 37 w(val)52 b(b1)g(s)g(=)f(True)i(&)0
3292 y(>)1795 b(b)p 1903 3292 V 37 w(val)52 b(b2)g(s)f(=)h(True)0
3459 y(>)1179 b(=)52 b(False,)h(if)p 1692 3472 103 4
v 52 w(b)p 1903 3459 31 4 v 37 w(val)f(b1)g(s)f(=)h(False)g(\\/)0
3627 y(>)1795 b(b)p 1903 3627 V 37 w(val)52 b(b2)g(s)f(=)h(False)0
3831 y Fw(Exercise)36 b(B.4)49 b Fu(Construct)37 b(an)f(algebraic)f
(data)g(t)m(yp)s(e)i(for)f(the)g(binary)g(n)m(umerals)g(consid-)0
3952 y(ered)46 b(in)e(Section)h(1.3.)81 b(De\014ne)45
b(a)g(function)f Fr(n)p 1796 3952 V 38 w(val)h Fu(that)g(asso)s(ciates)
h(a)e(n)m(um)m(b)s(er)i(\(in)e(the)0 4072 y(decimal)31
b(system\))i(to)f(eac)m(h)i(n)m(umeral.)1968 b Fh(2)0
4276 y Fw(Exercise)36 b(B.5)49 b Fu(De\014ne)33 b(functions)0
4461 y Fr(>)103 b(fv)p 262 4461 V 37 w(aexp)53 b(::)e(aexp)i(->)e
([var])0 4629 y(>)103 b(fv)p 262 4629 V 37 w(bexp)53
b(::)e(bexp)i(->)e([var])0 4814 y Fu(computing)35 b(the)i(set)g(of)f
(free)h(v)-5 b(ariables)35 b(o)s(ccurring)h(in)g(an)g(expression.)56
b(Ensure)38 b(that)e(eac)m(h)0 4935 y(v)-5 b(ariable)31
b(o)s(ccurs)i(at)f(most)g(once)i(in)d(the)i(resulting)f(lists.)1270
b Fh(2)0 5139 y Fw(Exercise)36 b(B.6)49 b Fu(De\014ne)33
b(functions)0 5324 y Fr(>)103 b(subst)p 415 5324 V 38
w(aexp)52 b(::)g(aexp)g(->)g(var)g(->)g(aexp)g(->)g(aexp)0
5492 y(>)103 b(subst)p 415 5492 V 38 w(bexp)52 b(::)g(bexp)g(->)g(var)g
(->)g(aexp)g(->)g(bexp)p eop
%%Page: 220 230
220 229 bop 251 130 a Fw(220)1049 b(B)111 b(In)m(tro)s(duction)37
b(to)g(Miranda)h(Implemen)m(tations)p 251 193 3473 4
v 283 515 a Fu(implemen)m(ting)f(the)i(substitution)g(op)s(erations,)h
(that)f(is)g Fr(subst)p 2718 515 31 4 v 38 w(aexp)h Fs(a)46
b(y)i(a)3242 530 y Fn(0)3321 515 y Fu(constructs)283
636 y Fs(a)7 b Fu([)p Fs(y)i Ft(7!)q Fs(a)581 651 y Fn(0)620
636 y Fu(])33 b(and)g Fr(subst)p 1131 636 V 38 w(bexp)g
Fs(b)39 b(y)i(a)1629 651 y Fn(0)1702 636 y Fu(constructs)34
b Fs(b)6 b Fu([)p Fs(y)j Ft(7!)o Fs(a)2459 651 y Fn(0)2499
636 y Fu(].)1128 b Fh(2)p eop
%%Page: 221 231
221 230 bop 0 1182 a Fv(App)6 b(endix)77 b(C)0 1599 y(Op)6
b(erational)77 b(Seman)-6 b(tics)77 b(in)0 1848 y(Miranda)0
2303 y Fu(In)41 b(this)f(app)s(endix)g(w)m(e)i(implemen)m(t)c(the)j
(natural)e(seman)m(tics)i(and)f(the)h(structural)f(op)s(era-)0
2423 y(tional)23 b(seman)m(tics)j(of)f(Chapter)h(2)f(in)g
Fw(Miranda)h Fu(and)f(sho)m(w)i(ho)m(w)f(similar)c(tec)m(hniques)27
b(can)f(b)s(e)0 2544 y(used)h(to)f(implemen)m(t)f(an)h(in)m(terpreter)h
(for)e(the)i(abstract)g(mac)m(hine)e(and)i(the)f(co)s(de)h(generation)0
2664 y(of)32 b(Chapter)h(3.)146 2787 y(W)-8 b(e)30 b(shall)d(need)k
(the)e(de\014nitions)g(from)e(App)s(endix)j(B)f(so)g(w)m(e)h(b)s(egin)f
(b)m(y)h(including)d(these:)0 3005 y Fr(>)103 b(\045include)p
154 3027 411 4 v 53 w("appB")0 3220 y Fu(In)46 b(Chapter)g(2)f(w)m(e)i
(distinguish)d(b)s(et)m(w)m(een)j(t)m(w)m(o)f(kinds)g(of)f
(con\014gurations,)k(in)m(termediate)0 3340 y(con\014gurations)44
b(and)g(\014nal)f(con\014gurations.)77 b(This)45 b(is)e(captured)i(b)m
(y)g(the)f(algebraic)f(data)0 3461 y(t)m(yp)s(e:)0 3677
y Fr(>)103 b(config)53 b(::=)f(Inter)g(stm)g(state)h(|)f(Final)g(state)
0 3892 y Fu(In)34 b(the)g(next)g(section)g(w)m(e)g(shall)e(sho)m(w)j
(ho)m(w)f(the)g(natural)f(seman)m(tics)g(can)h(b)s(e)g(implemen)m(ted)0
4012 y(and)f(after)f(that)g(w)m(e)i(shall)d(turn)i(to)f(the)h
(structural)g(op)s(erational)d(seman)m(tics.)0 4358 y
Fj(C.1)160 b(Natural)56 b(seman)l(tics)0 4582 y Fu(Corresp)s(onding)22
b(to)g(the)h(relation)e Ft(!)h Fu(in)f(Section)i(2.1)e(w)m(e)j(shall)d
(in)m(tro)s(duce)h(a)g(function)g Fr(ns)p 3287 4582 31
4 v 38 w(stm)0 4702 y Fu(of)32 b(t)m(yp)s(e)0 4919 y
Fr(>)103 b(ns)p 262 4919 V 37 w(stm)52 b(::)g(config)h(->)f(config)0
5133 y Fu(The)45 b(argumen)m(t)f(of)g(this)g(function)g(corresp)s(onds)
h(to)f(the)h(left-hand)e(side)h(of)g Ft(!)g Fu(whereas)0
5254 y(the)c(result)g(pro)s(duced)g(will)e(corresp)s(ond)i(to)f(the)i
(righ)m(t-hand)d(side)i(of)f(the)h(relation.)63 b(This)0
5374 y(is)45 b(p)s(ossible)g(b)s(ecause)i(Theorem)f(2.9)f(sho)m(ws)j
(that)d(the)h(relation)e(is)h(deterministic.)81 b(The)0
5494 y(de\014nition)32 b(of)g Fr(ns)p 653 5494 V 37 w(stm)h
Fu(follo)m(ws)f(closely)g(the)h(de\014nition)e(of)i Ft(!)f
Fu(in)f(T)-8 b(able)33 b(2.1:)1663 5849 y(221)p eop
%%Page: 222 232
222 231 bop 251 130 a Fw(222)1420 b(C)112 b(Op)s(erational)37
b(Seman)m(tics)g(in)g(Miranda)p 251 193 3473 4 v 283
515 a Fr(>)103 b(ns)p 545 515 31 4 v 38 w(stm)52 b(\(Inter)h(\(Ass)f(x)
f(a\))h(s\))283 683 y(>)411 b(=)51 b(Final)i(\(update)g(s)f(x)f(\(a)p
1878 683 V 38 w(val)h(a)f(s\)\))283 851 y(>)513 b(where)p
847 864 257 4 v 283 1018 a(>)g(update)53 b(s)f(x)f(v)h(y)f(=)h(v,)g(if)
p 1873 1031 103 4 v 52 w(x)f(=)h(y)283 1186 y(>)1282
b(=)52 b(s)f(y,)h(otherwise)p 1975 1199 462 4 v 283 1401
a(>)103 b(ns)p 545 1401 31 4 v 38 w(stm)52 b(\(Inter)h(\(Skip\))f(s\))g
(=)g(Final)g(s)283 1616 y(>)103 b(ns)p 545 1616 V 38
w(stm)52 b(\(Inter)h(\(Comp)f(ss1)g(ss2\))h(s\))283 1783
y(>)411 b(=)51 b(Final)i(s'')283 1951 y(>)513 b(where)p
847 1964 257 4 v 283 2118 a(>)g(Final)53 b(s')f(=)f(ns)p
1519 2118 31 4 v 38 w(stm)h(\(Inter)h(ss1)f(s\))283 2286
y(>)513 b(Final)53 b(s'')f(=)g(ns)p 1571 2286 V 37 w(stm)g(\(Inter)h
(ss2)f(s'\))283 2501 y(>)103 b(ns)p 545 2501 V 38 w(stm)52
b(\(Inter)h(\(If)f(b)f(ss1)h(ss2\))h(s\))283 2669 y(>)411
b(=)51 b(Final)i(s',)f(if)p 1360 2682 103 4 v 52 w(b)p
1571 2669 31 4 v 37 w(val)g(b)g(s)283 2836 y(>)513 b(where)p
847 2849 257 4 v 283 3004 a(>)g(Final)53 b(s')f(=)f(ns)p
1519 3004 31 4 v 38 w(stm)h(\(Inter)h(ss1)f(s\))283 3219
y(>)103 b(ns)p 545 3219 V 38 w(stm)52 b(\(Inter)h(\(If)f(b)f(ss1)h
(ss2\))h(s\))283 3386 y(>)411 b(=)51 b(Final)i(s',)f(if)p
1360 3399 103 4 v 52 w(~b)p 1622 3386 31 4 v 37 w(val)g(b)g(s)283
3554 y(>)513 b(where)p 847 3567 257 4 v 283 3722 a(>)g(Final)53
b(s')f(=)f(ns)p 1519 3722 31 4 v 38 w(stm)h(\(Inter)h(ss2)f(s\))283
3936 y(>)103 b(ns)p 545 3936 V 38 w(stm)52 b(\(Inter)h(\(While)f(b)g
(ss\))g(s\))283 4104 y(>)411 b(=)51 b(Final)i(s'',)f(if)p
1411 4117 103 4 v 52 w(b)p 1622 4104 31 4 v 37 w(val)g(b)g(s)283
4272 y(>)513 b(where)p 847 4285 257 4 v 283 4439 a(>)g(Final)53
b(s')f(=)f(ns)p 1519 4439 31 4 v 38 w(stm)h(\(Inter)h(ss)e(s\))283
4607 y(>)513 b(Final)53 b(s'')f(=)g(ns)p 1571 4607 V
37 w(stm)g(\(Inter)h(\(While)g(b)e(ss\))h(s'\))283 4822
y(>)103 b(ns)p 545 4822 V 38 w(stm)52 b(\(Inter)h(\(While)f(b)g(ss\))g
(s\))283 4989 y(>)411 b(=)51 b(Final)i(s,)f(if)p 1309
5002 103 4 v 52 w(~b)p 1571 4989 31 4 v 37 w(val)g(b)g(s)283
5193 y Fu(Note)33 b(that)g(in)e(the)i(axiom)e(for)h(assignmen)m(t)h
Fr(update)h Fs(s)40 b(x)45 b(v)e Fu(corresp)s(onds)34
b(to)e Fs(s)8 b Fu([)p Fs(x)k Ft(7!)p Fs(v)f Fu(].)430
5313 y(The)33 b(seman)m(tic)g(function)f Ft(S)1484 5328
y Fn(ns)1588 5313 y Fu(can)h(no)m(w)g(b)s(e)g(de\014ned)h(b)m(y)p
eop
%%Page: 223 233
223 232 bop 0 130 a Fw(C.2)112 b(Structural)37 b(op)s(erational)f
(seman)m(tics)1425 b(223)p 0 193 3473 4 v 0 515 a Fr(>)52
b(s)p 160 515 31 4 v 37 w(ns)g(ss)f(s)h(=)f(s')0 683
y(>)667 b(where)p 718 696 257 4 v 0 851 a(>)g(Final)52
b(s')g(=)g(ns)p 1390 851 31 4 v 37 w(stm)g(\(Inter)h(ss)f(s\))0
1095 y Fw(Example)37 b(C.1)48 b Fu(W)-8 b(e)42 b(can)g(execute)h(the)f
(factorial)d(statemen)m(t)j(\(see)g(Example)f(B.1\))h(from)0
1216 y(the)36 b(state)g Fr(s)p 470 1216 V 37 w(init)h
Fu(mapping)d Fr(x)h Fu(to)h Fw(3)f Fu(and)h(all)d(other)j(v)-5
b(ariables)34 b(to)h Fw(0)h Fu(\(see)g(Example)f(B.3\).)0
1336 y(The)f(\014nal)d(state)i Fr(s)p 713 1336 V 37 w(fac)h
Fu(is)e(obtained)g(as)h(follo)m(ws:)0 1553 y Fr(>)52
b(s)p 160 1553 V 37 w(fac)g(=)f(s)p 555 1553 V 37 w(ns)h(factorial)i(s)
p 1310 1553 V 37 w(init)0 1768 y Fu(T)-8 b(o)33 b(get)f(the)h(\014nal)f
(v)-5 b(alue)32 b(of)g Fr(y)h Fu(w)m(e)g(ev)-5 b(aluate)33
b Fr(s)p 1721 1768 V 37 w(fac)52 b("y")p Fu(.)1261 b
Fh(2)0 2013 y Fw(Exercise)36 b(C.2)49 b Fu(Extend)44
b(the)e(de\014nition)f(of)h Fr(stm)g Fu(and)h Fr(ns)p
2254 2013 V 37 w(stm)g Fu(to)e(include)h(the)g Fr(repeat)p
Fu(-)0 2133 y(construct.)2976 b Fh(2)0 2378 y Fw(Exercise)36
b(C.3)49 b Fu(De\014ne)31 b(an)f(algebraic)f(data)h(t)m(yp)s(e)h
Fr(deriv)p 2201 2378 V 38 w(tree)g Fu(represen)m(ting)h(the)f(deriv)-5
b(a-)0 2498 y(tion)39 b(trees)h(of)f(the)i(natural)d(seman)m(tics.)65
b(Construct)41 b(a)e(v)-5 b(arian)m(t)39 b(of)g(the)h(function)g
Fr(s)p 3221 2498 V 37 w(ns)g Fu(of)0 2619 y(t)m(yp)s(e)244
2834 y Fr(s)p 301 2834 V 37 w(ns)52 b(::)g(stm)g(->)g(state)g(->)g
(deriv)p 1721 2834 V 38 w(tree)0 3049 y Fu(that)26 b(constructs)j(the)e
Fs(derivation)h(tr)-5 b(e)g(e)34 b Fu(for)27 b(a)f(giv)m(en)h(statemen)
m(t)g(and)g(state)g(rather)f(than)h(just)0 3169 y(the)33
b(\014nal)f(state.)44 b(Apply)32 b(the)h(function)f(to)h(some)f
(example)g(statemen)m(ts.)663 b Fh(2)0 3516 y Fj(C.2)160
b(Structural)54 b(op)t(erational)h(seman)l(tics)0 3740
y Fu(When)25 b(sp)s(ecifying)f(the)h(structural)g(op)s(erational)d
(seman)m(tics)i(w)m(e)i(shall)d(need)j(to)e(test)h(whether)0
3860 y Ft(\))41 b Fu(pro)s(duces)i(an)e(in)m(termediate)g
(con\014guration)g(or)g(a)g(\014nal)g(con\014guration.)70
b(So)41 b(w)m(e)i(shall)0 3981 y(in)m(tro)s(duce)33 b(the)g(function)f
Fr(is)p 1092 3981 V 37 w(Final)i Fu(de\014ned)g(b)m(y:)0
4198 y Fr(>)103 b(is)p 262 4198 V 37 w(Final)53 b(\(Inter)g(ss)e(s\))h
(=)g(False)0 4366 y(>)103 b(is)p 262 4366 V 37 w(Final)53
b(\(Final)g(s\))e(=)h(True)0 4581 y Fu(Corresp)s(onding)33
b(to)f(the)h(relation)d Ft(\))j Fu(w)m(e)g(de\014ne)h(the)f(function)f
Fr(sos)p 2565 4581 V 38 w(stm)h Fu(of)f(t)m(yp)s(e:)0
4798 y Fr(>)103 b(sos)p 313 4798 V 38 w(stm)52 b(::)f(config)i(->)f
(config)0 5013 y Fu(As)26 b(in)e(the)i(previous)g(section)f(the)h
(argumen)m(t)f(of)g(this)g(function)g(will)e(corresp)s(ond)j(to)f(the)h
(con-)0 5133 y(\014guration)i(on)h(the)g(left-hand)f(side)h(of)f(the)i
(relation)d Ft(\))h Fu(and)h(the)h(result)e(will)f(corresp)s(ond)j(to)0
5254 y(the)g(righ)m(t-hand)f(side.)43 b(Again)28 b(this)i(implemen)m
(tation)c(tec)m(hnique)31 b(is)f(only)f(p)s(ossible)g(b)s(ecause)0
5374 y(the)38 b(seman)m(tics)g(is)g(deterministic)e(\(Exercise)j
(2.22\).)59 b(The)39 b(de\014nition)e(of)g Fr(sos)p 2961
5374 V 38 w(stm)i Fu(follo)m(ws)0 5494 y(T)-8 b(able)32
b(2.2)g(closely:)p eop
%%Page: 224 234
224 233 bop 251 130 a Fw(224)1420 b(C)112 b(Op)s(erational)37
b(Seman)m(tics)g(in)g(Miranda)p 251 193 3473 4 v 283
515 a Fr(>)103 b(sos)p 596 515 31 4 v 38 w(stm)52 b(\(Inter)h(\(Ass)f
(x)g(a\))g(s\))283 683 y(>)462 b(=)52 b(Final)g(\(update)h(s)f(x)f(\(a)
p 1929 683 V 38 w(val)h(a)f(s\)\))283 851 y(>)565 b(where)p
899 864 257 4 v 283 1018 a(>)g(update)53 b(s)e(x)h(v)f(y)h(=)f(v,)h(if)
p 1924 1031 103 4 v 52 w(x)f(=)h(y)283 1186 y(>)1334
b(=)51 b(s)h(y,)g(otherwise)p 2027 1199 462 4 v 283 1401
a(>)103 b(sos)p 596 1401 31 4 v 38 w(stm)52 b(\(Inter)h(Skip)f(s\))g(=)
g(Final)g(s)283 1616 y(>)103 b(sos)p 596 1616 V 38 w(stm)52
b(\(Inter)h(\(Comp)f(ss1)h(ss2\))f(s\))283 1783 y(>)462
b(=)52 b(Inter)g(\(Comp)h(ss1')f(ss2\))h(s',)283 1951
y(>)821 b(if)p 1155 1964 103 4 v 52 w(~is)p 1468 1951
31 4 v 37 w(Final\(sos)p 1964 1951 V 40 w(stm)52 b(\(Inter)h(ss1)f
(s\)\))283 2118 y(>)565 b(where)p 899 2131 257 4 v 283
2286 a(>)g(Inter)52 b(ss1')h(s')e(=)h(sos)p 1878 2286
31 4 v 38 w(stm)g(\(Inter)h(ss1)f(s\))283 2501 y(>)103
b(sos)p 596 2501 V 38 w(stm)52 b(\(Inter)h(\(Comp)f(ss1)h(ss2\))f(s\))
283 2669 y(>)462 b(=)52 b(Inter)g(ss2)g(s',)283 2836
y(>)821 b(if)p 1155 2849 103 4 v 52 w(is)p 1417 2836
31 4 v 37 w(Final\(sos)p 1913 2836 V 40 w(stm)52 b(\(Inter)g(ss1)h
(s\)\))283 3004 y(>)565 b(where)p 899 3017 257 4 v 283
3171 a(>)g(Final)52 b(s')g(=)g(sos)p 1622 3171 31 4 v
37 w(stm)g(\(Inter)h(ss1)f(s\))283 3386 y(>)103 b(sos)p
596 3386 V 38 w(stm)52 b(\(Inter)h(\(If)f(b)f(ss1)i(ss2\))f(s\))283
3554 y(>)462 b(=)52 b(Inter)g(ss1)g(s,)g(if)p 1565 3567
103 4 v 52 w(b)p 1776 3554 31 4 v 37 w(val)g(b)g(s)283
3769 y(>)103 b(sos)p 596 3769 V 38 w(stm)52 b(\(Inter)h(\(If)f(b)f(ss1)
i(ss2\))f(s\))283 3936 y(>)462 b(=)52 b(Inter)g(ss2)g(s,)g(if)p
1565 3949 103 4 v 52 w(~b)p 1827 3936 31 4 v 37 w(val)g(b)g(s)283
4151 y(>)103 b(sos)p 596 4151 V 38 w(stm)52 b(\(Inter)h(\(While)g(b)e
(ss\))h(s\))283 4319 y(>)462 b(=)52 b(Inter)g(\(If)g(b)g(\(Comp)g(ss)g
(\(While)h(b)f(ss\)\))g(Skip\))h(s)283 4479 y Fu(The)48
b(function)f Fr(sos)p 1054 4479 V 38 w(stm)g Fu(implemen)m(ts)f(one)h
(step)h(of)f(the)g(computation.)85 b(The)48 b(function)283
4599 y Fr(deriv)p 544 4599 V 39 w(seq)31 b Fu(de\014ned)g(b)s(elo)m(w)f
(will)e(determine)i(the)h(complete)f(deriv)-5 b(ation)28
b(sequence)33 b(\()p Fs(even)f(if)283 4719 y(it)k(is)e(in\014nite!)12
b Fu(\).)283 4879 y Fr(>)103 b(deriv)p 698 4879 V 39
w(seq)52 b(\(Inter)g(ss)g(s\))283 5047 y(>)462 b(=)52
b(\(Inter)h(ss)e(s\))h(:)g(\(deriv)p 1980 5047 V 38 w(seq)g(\(sos)p
2427 5047 V 38 w(stm)g(\(Inter)h(ss)f(s\)\)\))283 5214
y(>)103 b(deriv)p 698 5214 V 39 w(seq)52 b(\(Final)g(s\))g(=)g([Final)h
(s])283 5374 y Fu(The)37 b(seman)m(tic)e(function)g Ft(S)1347
5389 y Fn(sos)1478 5374 y Fu(can)g(no)m(w)i(b)s(e)e(de\014ned)i(b)m(y)g
(the)f Fw(Miranda)g Fu(function)f Fr(s)p 3544 5374 V
37 w(sos)p Fu(:)p eop
%%Page: 225 235
225 234 bop 0 130 a Fw(C.3)112 b(Extensions)37 b(of)h(While)2038
b(225)p 0 193 3473 4 v 0 515 a Fr(>)103 b(s)p 211 515
31 4 v 37 w(sos)52 b(ss)g(s)f(=)h(s')0 683 y(>)769 b(where)p
820 696 257 4 v 0 851 a(>)g(Final)53 b(s')f(=)f(last)i(\(deriv)p
1953 851 31 4 v 38 w(seq)f(\(Inter)h(ss)f(s\)\))0 1091
y Fw(Example)37 b(C.4)48 b Fu(The)30 b(deriv)-5 b(ation)27
b(sequence)k(obtained)d(b)m(y)i(executing)f(the)g(factorial)d(state-)0
1211 y(men)m(t)33 b(on)f(the)h(state)g Fr(s)p 846 1211
V 37 w(init)h Fu(of)e(Example)g(B.3)g(can)h(no)m(w)h(b)s(e)e(obtained)g
(as)h(follo)m(ws:)0 1424 y Fr(>)103 b(fac)p 313 1424
V 38 w(seq)52 b(=)f(deriv)p 913 1424 V 38 w(seq)h(\(Inter)h(factorial)h
(s)p 2079 1424 V 37 w(init\))0 1634 y Fu(W)-8 b(e)28
b(ma)m(y)g(w)m(an)m(t)g(to)f(insp)s(ect)h(this)g(in)f(more)g(detail)f
(and)h(in)g(particular)f(w)m(e)j(ma)m(y)e(b)s(e)h(in)m(terested)0
1755 y(in)47 b(the)i(v)-5 b(alues)48 b(of)g(the)h(v)-5
b(ariables)47 b Fr(x)h Fu(and)h Fr(y)f Fu(in)g(the)g(v)-5
b(arious)48 b(in)m(termediate)f(states.)91 b(T)-8 b(o)0
1875 y(facilitate)30 b(this)i(w)m(e)i(use)f(the)g(function)0
2087 y Fr(>)103 b(show)p 364 2087 V 38 w(seq)52 b(fv)g(l)f(=)h(lay)g
(\(map)g(show)p 1631 2087 V 38 w(config)h(l\))0 2255
y(>)923 b(where)p 974 2268 257 4 v 0 2423 a(>)g(show)p
1184 2423 31 4 v 38 w(config)53 b(\(Final)g(s\))f(=)0
2590 y(>)1026 b("final)52 b(state:\\n"++lay)j(\(map)e(\(show)p
2722 2590 V 38 w(val)f(s\))g(fv\))0 2758 y(>)923 b(show)p
1184 2758 V 38 w(config)53 b(\(Inter)g(ss)f(s\))f(=)0
2926 y(>)1026 b(show)p 1077 2939 206 4 v 52 w(ss++"\\n"++lay)55
b(\(map)d(\(show)p 2568 2926 31 4 v 38 w(val)g(s\))g(fv\))0
3093 y(>)923 b(show)p 1184 3093 V 38 w(val)52 b(s)g(x)f(=)h(")f
(s\("++x++"\)="++shownum)57 b(\(s)52 b(x\))0 3304 y Fu(The)31
b(function)f(call)f Fr(show)p 965 3304 V 38 w(seq)52
b(["x","y"])i(fac)p 1874 3304 V 38 w(seq)31 b Fu(will)d(for)i(eac)m(h)i
(con\014guration)d(in)h(the)0 3424 y(deriv)-5 b(ation)34
b(sequence)k Fr(fac)p 1027 3424 V 38 w(seq)e Fu(list)e(the)i(statemen)m
(t)g(part)f(and)g(the)h(v)-5 b(alues)35 b(of)g Fr(x)h
Fu(and)g Fr(y)f Fu(in)0 3545 y(the)e(state)g(part.)146
3667 y(The)h(\014nal)e(state)h(of)f(the)h(deriv)-5 b(ation)31
b(sequence)k(can)e(b)s(e)g(obtained)f(from)0 3879 y Fr(>)52
b(s)p 160 3879 V 37 w(fac')g(=)g(s)p 607 3879 V 37 w(sos)g(factorial)h
(s)p 1412 3879 V 38 w(init)0 4090 y Fu(and)33 b(the)g(v)-5
b(alue)32 b(obtained)g(for)g Fr(y)h Fu(is)f(obtained)g(b)m(y)h
(executing)g Fr(s)p 2371 4090 V 38 w(fac')52 b("y")p
Fu(.)559 b Fh(2)0 4329 y Fw(Exercise)36 b(C.5)49 b Fu(Extend)39
b(the)e(de\014nition)f(of)g Fr(stm)i Fu(and)f Fr(sos)p
2274 4329 V 38 w(stm)g Fu(to)g(include)f(the)h Fr(repeat)p
Fu(-)0 4449 y(construct.)2976 b Fh(2)0 4791 y Fj(C.3)160
b(Extensions)53 b(of)h(While)0 5013 y Fu(The)30 b(implemen)m(tation)c
(of)j(the)g(natural)f(seman)m(tics)i(of)e Fw(While)g
Fu(in)g(Section)h(C.1)h(will)c(no)m(w)k(b)s(e)0 5133
y(extended)35 b(to)e(the)h(pro)s(cedure)g(language)e
Fw(Pro)s(c)h Fu(of)g(Section)g(2.5.)45 b(Rather)33 b(than)h(presen)m
(ting)0 5254 y(a)j(fully)e(w)m(ork)m(ed)k(out)e(implemen)m(tation)d(w)m
(e)k(shall)e(giv)m(e)h(detailed)f(instructions)g(for)h(ho)m(w)h(to)0
5374 y(construct)e(it.)48 b(W)-8 b(e)35 b(shall)e(pa)m(y)i(sp)s(ecial)f
(atten)m(tion)g(to)g(the)h(seman)m(tics)g(of)f Fw(Pro)s(c)g
Fu(with)g(static)0 5494 y(scop)s(e)f(rules)g(for)f(v)-5
b(ariables)31 b(as)i(w)m(ell)f(as)h(pro)s(cedures.)p
eop
%%Page: 226 236
226 235 bop 251 130 a Fw(226)1420 b(C)112 b(Op)s(erational)37
b(Seman)m(tics)g(in)g(Miranda)p 251 193 3473 4 v 283
515 a(Exercise)g(C.6)49 b Fu(The)37 b(\014rst)f(step)h(will)d(b)s(e)i
(to)g(de\014ne)h(the)f(datat)m(yp)s(es)i(needed)f(to)f(represen)m(t)283
636 y(the)d(syn)m(tax)i(and)d(the)h(seman)m(tics)g(of)f
Fw(Pro)s(c)p Fu(.)429 844 y Ft(\017)48 b Fu(Extend)40
b(the)e(algebraic)e(data)h(t)m(yp)s(e)i Fr(stm)f Fu(with)f(the)h(new)h
(forms)e(of)g(statemen)m(ts)i(and)527 964 y(de\014ne)44
b(algebraic)d(data)i(t)m(yp)s(es)h Fr(dec)p 1901 964
31 4 v 38 w(V)e Fu(and)h Fr(dec)p 2385 964 V 38 w(P)g
Fu(for)f(v)-5 b(ariable)41 b(declarations)h(and)527 1085
y(pro)s(cedure)34 b(declarations.)429 1293 y Ft(\017)48
b Fu(De\014ne)30 b(the)g(algebraic)d(t)m(yp)s(e)j Fr(loc)g
Fu(to)f(b)s(e)h Fr(num)g Fu(suc)m(h)g(that)f(lo)s(cations)f(will)e(b)s
(e)k(n)m(um)m(b)s(ers.)527 1413 y(De\014ne)j(the)g(function)742
1621 y Fr(new)52 b(::)g(loc)g(->)g(loc)527 1829 y Fu(suc)m(h)34
b(that)f Fr(new)g Fu(incremen)m(ts)g(its)f(argumen)m(t)g(b)m(y)i(one.)
429 2037 y Ft(\017)48 b Fu(De\014ne)36 b(algebraic)e(t)m(yp)s(es)j
Fr(env)p 1667 2037 V 38 w(V)e Fu(and)h Fr(env)p 2137
2037 V 38 w(P)f Fu(corresp)s(onding)h(to)f Fw(En)m(v)3199
2052 y Fn(V)3292 2037 y Fu(and)h Fw(En)m(v)3677 2052
y Fn(P)3729 2037 y Fu(.)527 2158 y(De\014ne)d(the)g(function)742
2366 y Fr(upd)p 901 2366 V 38 w(P)51 b(::)h(\(dec)p 1399
2366 V 38 w(P,)g(env)p 1744 2366 V 37 w(V,)g(env)p 2088
2366 V 38 w(P\))g(->)g(env)p 2587 2366 V 37 w(P)527 2574
y Fu(corresp)s(onding)33 b(to)f(up)s(d)1438 2589 y Fn(P)1490
2574 y Fu(.)429 2782 y Ft(\017)48 b Fu(Finally)-8 b(,)37
b(w)m(e)j(need)f(a)f(t)m(yp)s(e)i Fr(store)f Fu(corresp)s(onding)g(to)f
Fw(Store)p Fu(.)60 b(There)40 b(are)e(at)g(least)527
2902 y(three)c(p)s(ossibilities:)40 b(One)33 b(p)s(ossibilit)m(y)e(is)h
(to)g(de\014ne)742 3110 y Fr(loc')52 b(::=)g(Loc)g(loc)g
Ft(j)f Fr(Next)742 3278 y(store)i(==)e(loc')i(->)e(z)527
3486 y Fu(as)34 b(this)f(will)e(corresp)s(ond)j(closely)e(to)h(the)h
(de\014nition)e(of)h Fw(Store)p Fu(.)45 b(Alternativ)m(ely)-8
b(,)33 b(one)527 3606 y(ma)m(y)e(iden)m(tify)g(the)g(sp)s(ecial)f(tok)m
(en)i(`next')h(with)d(lo)s(cation)f Fw(0)i Fu(and)g(then)h(simply)e
(de\014ne)742 3814 y Fr(store)53 b(==)e(loc)h(->)g(z)527
4022 y Fu(The)34 b(third)e(p)s(ossibilit)m(y)e(is)i(to)g(de\014ne)742
4230 y Fr(store)53 b(==)e(\(loc)i(->)e(z,)h(loc\))527
4439 y Fu(where)34 b(the)f(second)h(comp)s(onen)m(t)f(corresp)s(onds)h
(to)e(the)h(v)-5 b(alue)32 b(of)g(`next'.)527 4603 y(Cho)s(ose)i(a)e
(metho)s(d)g(that)g(seems)i(appropriate)d(to)i(y)m(ou.)1066
b Fh(2)283 4838 y Fw(Exercise)37 b(C.7)49 b Fu(Finally)33
b(w)m(e)j(turn)g(to)m(w)m(ards)h(the)f(transition)e(systems.)54
b(W)-8 b(e)36 b(b)s(egin)e(b)m(y)j(im-)283 4958 y(plemen)m(ting)32
b(the)h(transition)e(system)i(for)f(v)-5 b(ariable)31
b(declarations:)429 5166 y Ft(\017)48 b Fu(De\014ne)34
b(an)f(algebraic)f(data)h(t)m(yp)s(e)h Fr(config)p 2134
5166 V 38 w(D)g Fu(for)e(the)i(con\014gurations)f(of)f(the)i(transi-)
527 5286 y(tion)e(system)h(for)f(v)-5 b(ariable)31 b(declarations.)429
5494 y Ft(\017)48 b Fu(Then)34 b(de\014ne)g(a)e(function)p
eop
%%Page: 227 237
227 236 bop 0 130 a Fw(C.4)112 b(Pro)m(v)-6 b(ably)37
b(correct)f(implemen)m(tation)1405 b(227)p 0 193 3473
4 v 458 515 a Fr(ns)p 566 515 31 4 v 38 w(dec)p 757 515
V 38 w(V)51 b(::)h(config)p 1357 515 V 38 w(D)g(->)g(config)p
1958 515 V 38 w(D)244 717 y Fu(corresp)s(onding)32 b(to)h(the)g
(relation)d Ft(!)1615 732 y Fn(D)1673 717 y Fu(.)0 915
y(No)m(w)j(w)m(e)h(turn)f(to)f(the)h(transition)e(relation)f(for)i
(statemen)m(ts:)145 1114 y Ft(\017)49 b Fu(De\014ne)33
b(an)f(algebraic)f(data)h(t)m(yp)s(e)h Fr(config)p 1846
1114 V 39 w(P)f Fu(corresp)s(onding)h(to)f(the)h(con\014gurations)244
1234 y Ft(h)p Fs(S)12 b Fu(,)32 b Fs(sto)6 b Ft(i)32
b Fu(and)h Fs(sto)39 b Fu(of)32 b(the)h(transition)e(system.)145
1436 y Ft(\017)49 b Fu(Next)33 b(de\014ne)h(a)e(function)458
1637 y Fr(ns)p 566 1637 V 38 w(stm)52 b(::)g(\(env)p
1167 1637 V 38 w(V,)g(env)p 1512 1637 V 37 w(P\))g(->)g(config)p
2163 1637 V 38 w(P)g(->)g(config)p 2764 1637 V 38 w(P)244
1839 y Fu(corresp)s(onding)32 b(to)h(the)g(transition)e(relation)f
Ft(!)p Fu(.)0 2037 y(Finally)g(de\014ne)k(a)e(function)244
2236 y Fr(s)p 301 2236 V 37 w(ns)52 b(::)g(stm)g(->)g(store)g(->)g
(store)0 2434 y Fu(that)28 b(calls)g Fr(ns)p 529 2434
V 37 w(stm)i Fu(with)e(appropriately)g(initialized)c(en)m(vironmen)m
(ts.)44 b(Use)29 b(the)g(function)f(on)0 2554 y(v)-5
b(arious)35 b(example)g(statemen)m(ts)i(in)d(order)i(to)f(ensure)i
(that)f(the)g(implemen)m(tation)c(w)m(orks)37 b(as)0
2675 y(in)m(tended.)3006 b Fh(2)0 2896 y Fw(Exercise)36
b(C.8)49 b Fu(Mo)s(dify)37 b(the)g(implemen)m(tation)d(ab)s(o)m(v)m(e)k
(to)f(use)h(dynamic)f(scop)s(e)h(rules)f(for)0 3017 y(v)-5
b(ariable)31 b(declarations)g(as)i(w)m(ell)f(as)h(pro)s(cedure)g
(declarations.)1062 b Fh(2)146 3238 y Fu(It)33 b(is)g(more)f
(problematic)f(to)i(extend)i(the)e(implemen)m(tation)d(to)j(handle)f
(the)i(constructs)0 3359 y(of)e(Section)h(2.4:)0 3580
y Fw(Exercise)j(C.9)49 b Fu(Discuss)26 b(ho)m(w)f(to)g(extend)h(the)f
(implemen)m(tation)d(of)i(the)h(natural)f(seman)m(tics)0
3700 y(in)32 b(Section)g(C.1)h(to)f(incorp)s(orate)g(the)h(constructs)h
(considered)f(in)f(Section)h(2.4.)407 b Fh(2)0 3922 y
Fw(Exercise)36 b(C.10)49 b Fu(Discuss)28 b(ho)m(w)h(to)e(extend)i(the)g
(implemen)m(tation)24 b(of)j(the)h(structural)g(op)s(er-)0
4042 y(ational)21 b(seman)m(tics)j(of)f(Section)g(C.2)h(to)g(incorp)s
(orate)e(the)i(constructs)h(considered)g(in)e(Section)0
4163 y(2.4.)3246 b Fh(2)0 4495 y Fj(C.4)160 b(Pro)l(v)-9
b(ably)55 b(correct)d(implemen)l(tation)0 4714 y Fu(Rather)32
b(than)g(presen)m(ting)g(a)g(fully)e(w)m(ork)m(ed)k(out)d
Fw(Miranda)i Fu(script)e(w)m(e)i(shall)e(pro)m(vide)h(exer-)0
4834 y(cises)h(sho)m(wing)g(ho)m(w)g(to)g(dev)m(elop)g(an)f(implemen)m
(tation)e(corresp)s(onding)i(to)g(Chapter)i(3.)0 5055
y Fw(Exercise)i(C.11)49 b Fu(W)-8 b(e)38 b(need)h(some)f(data)f(t)m(yp)
s(es)j(to)d(represen)m(t)j(the)e(con\014gurations)g(of)f(the)0
5176 y(mac)m(hine:)145 5374 y Ft(\017)49 b Fu(De\014ne)27
b(an)g(algebraic)e(data)h(t)m(yp)s(e)h Fr(am)p 1613 5374
V 38 w(ins)g Fu(for)f(represen)m(ting)i(instructions)e(and)h(de\014ne)
244 5494 y(the)33 b(t)m(yp)s(e)g(synon)m(ym)p eop
%%Page: 228 238
228 237 bop 251 130 a Fw(228)1420 b(C)112 b(Op)s(erational)37
b(Seman)m(tics)g(in)g(Miranda)p 251 193 3473 4 v 742
515 a Fr(am)p 850 515 31 4 v 37 w(code)53 b(==)f([am)p
1451 515 V 37 w(ins])527 712 y Fu(for)32 b(represen)m(ting)i(co)s(de.)
429 909 y Ft(\017)48 b Fu(De\014ne)34 b(an)g(algebraic)d(data)i(t)m(yp)
s(e)i Fr(stack)p 2084 909 V 38 w(values)g Fu(represen)m(ting)f(the)g
(elemen)m(ts)g(that)527 1029 y(ma)m(y)f(b)s(e)f(on)h(the)g(ev)-5
b(aluation)31 b(stac)m(k)j(and)e(de\014ne)i(the)f(t)m(yp)s(e)h(synon)m
(ym)742 1226 y Fr(stack)53 b(==)e([stack)p 1515 1226
V 39 w(values])429 1423 y Ft(\017)d Fu(De\014ne)33 b(a)g(t)m(yp)s(e)g
Fr(storage)i Fu(represen)m(ting)e(the)g(storage.)283
1606 y(Finally)d(de\014ne)527 1790 y Fr(am)p 635 1790
V 38 w(config)53 b(==)e(\(am)p 1338 1790 V 38 w(code,)i(stack,)g
(storage\))283 1974 y Fu(for)32 b(the)i(con\014gurations)e(of)g
Fw(AM)p Fu(.)2122 b Fh(2)283 2175 y Fw(Exercise)37 b(C.12)49
b Fu(W)-8 b(e)38 b(can)g(then)g(turn)g(to)g(the)g(seman)m(tics)g(of)g
(the)g(mac)m(hine)f(instructions.)283 2296 y(F)-8 b(or)32
b(this)g(w)m(e)i(pro)s(ceed)f(in)f(three)i(stages:)429
2479 y Ft(\017)48 b Fu(First)32 b(de\014ne)i(a)e(function)g
Fr(am)p 1618 2479 V 38 w(step)h Fu(of)f(t)m(yp)s(e)742
2676 y Fr(am)p 850 2676 V 37 w(step)53 b(::)f(am)p 1400
2676 V 37 w(config)h(->)f(am)p 2052 2676 V 37 w(config)527
2873 y Fu(implemen)m(ting)30 b(T)-8 b(able)32 b(3.1.)429
3070 y Ft(\017)48 b Fu(W)-8 b(e)32 b(shall)d(also)h(b)s(e)h(in)m
(terested)h(in)e(the)h(computation)f(sequences)k(of)c
Fw(AM)h Fu(so)g(de\014ne)h(a)527 3190 y(function)742
3387 y Fr(am)p 850 3387 V 37 w(comp)p 1091 3387 V 38
w(seq)52 b(::)g(am)p 1590 3387 V 38 w(code)g(->)g(storage)h(->)f([am)p
2755 3387 V 37 w(config])527 3584 y Fu(that)28 b(giv)m(en)g(a)f
(sequence)k(of)c(instructions)g(and)h(an)g(initial)c(storage)j(will)f
(construct)i(the)527 3704 y(corresp)s(onding)33 b(computation)e
(sequence.)429 3901 y Ft(\017)48 b Fu(Finally)26 b(de\014ne)k(a)e
(function)g Fr(run)h Fu(corresp)s(onding)g(to)f(the)h(function)f
Ft(M)g Fu(of)g(Chapter)h(3.)283 4084 y(This)37 b(pro)m(vides)h(us)f
(with)f(an)h(in)m(terpreter)g(for)f Fw(AM)p Fu(.)h(What)f(happ)s(ens)i
(if)d(w)m(e)j(en)m(ter)g(a)e(stuc)m(k)283 4205 y(con\014guration?)2793
b Fh(2)283 4407 y Fw(Exercise)37 b(C.13)49 b Fu(Finally)-8
b(,)30 b(w)m(e)j(implemen)m(t)e(the)i(co)s(de)g(generation)f
(functions:)429 4590 y Ft(\017)48 b Fu(De\014ne)33 b(functions)g
(corresp)s(onding)f(to)h Ft(C)6 b(A)p Fu(,)32 b Ft(C)6
b(B)36 b Fu(and)d Ft(C)6 b(S)i Fu(.)429 4787 y Ft(\017)48
b Fu(De\014ne)33 b(a)g(function)f Fr(am)p 1401 4787 V
37 w(stm)i Fu(corresp)s(onding)e(to)g(the)h(function)f
Ft(S)2982 4802 y Fn(am)3080 4787 y Fu(.)283 4970 y(Apply)f(the)g
(construction)f(to)g(a)h(couple)f(of)g(examples)g(to)g(v)m(erify)h
(that)f(ev)m(erything)i(w)m(orks)g(as)283 5091 y(exp)s(ected.)2999
b Fh(2)283 5293 y Fw(Exercise)37 b(C.14)49 b Fu(Mo)s(dify)31
b(the)i(implemen)m(tation)c(to)j(use)h(the)g(abstract)f(mac)m(hine)g
Fw(AM)3606 5308 y Fn(2)3677 5293 y Fu(of)283 5413 y(Exercises)j(3.8)d
(and)h(3.17)f(rather)g(than)h Fw(AM)p Fu(.)1684 b Fh(2)p
eop
%%Page: 229 239
229 238 bop 0 1181 a Fv(App)6 b(endix)77 b(D)0 1598 y(Denotational)h
(Seman)-6 b(tics)77 b(in)0 1847 y(Miranda)0 2301 y Fu(In)40
b(this)e(app)s(endix)i(w)m(e)g(implemen)m(t)d(the)j(denotational)d
(seman)m(tics)j(of)e(Chapter)i(4)f(in)g Fw(Mi-)0 2422
y(randa)50 b Fu(and)f(sho)m(w)h(ho)m(w)f(similar)c(tec)m(hniques)51
b(can)e(b)s(e)g(used)h(to)e(implemen)m(t)f(the)i(static)0
2542 y(program)31 b(analysis)h(of)g(Chapter)i(5.)146
2664 y(W)-8 b(e)30 b(shall)d(need)k(the)e(de\014nitions)g(from)e(App)s
(endix)j(B)f(so)g(w)m(e)h(b)s(egin)f(b)m(y)h(including)d(these:)0
2881 y Fr(>)52 b(\045include)p 103 2902 411 4 v 53 w("appB")0
3224 y Fj(D.1)161 b(Direct)53 b(st)l(yle)g(seman)l(tics)0
3447 y Fu(In)28 b(the)h(implemen)m(tation)c(w)m(e)k(shall)d(rely)i(on)g
(some)g(of)f(the)i(built-in)c(functions)j(of)g Fw(Miranda)p
Fu(.)0 3567 y(In)44 b(particular,)h Fr(id)g Fu(is)e(the)i(iden)m(tit)m
(y)e(function)h(and)g(`.')77 b(is)44 b(function)f(comp)s(osition.)75
b(The)0 3687 y(auxiliary)30 b(function)j Fr(cond)g Fu(is)f(de\014ned)i
(b)m(y)0 3901 y Fr(>)52 b(cond)g(\(p,)g(g1,)g(g2\))g(s)g(=)f(g1)h(s,)g
(if)p 1487 3914 103 4 v 52 w(p)f(s)0 4069 y(>)1026 b(=)51
b(g2)h(s,)g(if)p 1487 4082 V 52 w(~p)f(s)0 4281 y Fu(The)33
b(theoretical)d(foundation)h(of)g Fw(Miranda)h Fu(is)f(closely)g
(related)h(to)f(the)h(theory)g(dev)m(elop)s(ed)0 4402
y(in)45 b(Chapter)j(4)d(\(although)h(it)f(is)h(outside)g(the)g(scop)s
(e)h(of)f(this)g(b)s(o)s(ok)g(to)g(go)g(further)g(in)m(to)0
4522 y(this\).)71 b(One)42 b(of)f(the)h(consequences)k(of)41
b(this)h(is)f(that)g(the)i(\014xed)g(p)s(oin)m(t)e(op)s(eration)f(can)i
(b)s(e)0 4642 y(implemen)m(ted)31 b(in)h(a)g(v)m(ery)i(simple)d(w)m(a)m
(y:)0 4856 y Fr(>)52 b(fix)g(ff)f(=)h(ff)g(\(fix)g(ff\))0
5068 y Fu(The)34 b(function)e Ft(S)650 5083 y Fn(ds)754
5068 y Fu(can)h(no)m(w)g(b)s(e)g(implemen)m(ted)e(b)m(y)j(the)f
(function)0 5282 y Fr(>)52 b(s)p 160 5282 31 4 v 37 w(ds)g(::)f(stm)h
(->)g(state)h(->)f(state)0 5494 y Fu(A)33 b(straigh)m(tforw)m(ard)f
(rewriting)f(of)h(T)-8 b(able)32 b(4.1)h(giv)m(es:)1663
5849 y(229)p eop
%%Page: 230 240
230 239 bop 251 130 a Fw(230)1363 b(D)112 b(Denotational)36
b(Seman)m(tics)h(in)g(Miranda)p 251 193 3473 4 v 283
515 a Fr(>)52 b(s)p 443 515 31 4 v 37 w(ds)g(\(Ass)g(x)g(a\))g(s)f(=)h
(update)h(s)e(\(a)p 1915 515 V 38 w(val)h(a)f(s\))h(x)283
683 y(>)1026 b(where)p 1360 696 257 4 v 283 851 a(>)g(update)53
b(s)e(v)h(x)g(y)f(=)h(v,)f(if)p 2385 864 103 4 v 52 w(x)h(=)f(y)283
1018 y(>)1795 b(=)52 b(s)f(y,)h(otherwise)p 2488 1031
462 4 v 283 1233 a(>)g(s)p 443 1233 31 4 v 37 w(ds)g(Skip)g(=)g(id)283
1448 y(>)g(s)p 443 1448 V 37 w(ds)g(\(Comp)h(ss1)f(ss2\))g(=)f(\(s)p
1607 1448 V 38 w(ds)h(ss2\))g(.)g(\(s)p 2260 1448 V 37
w(ds)g(ss1\))283 1663 y(>)g(s)p 443 1663 V 37 w(ds)g(\(If)g(b)g(ss1)g
(ss2\))g(=)f(cond)i(\(b)p 1864 1663 V 37 w(val)f(b,)g(s)p
2311 1663 V 37 w(ds)g(ss1,)g(s)p 2809 1663 V 38 w(ds)f(ss2\))283
1878 y(>)h(s)p 443 1878 V 37 w(ds)g(\(While)h(b)e(ss\))h(=)g(fix)g(ff)
283 2045 y(>)1077 b(where)p 1411 2058 257 4 v 283 2213
a(>)g(ff)52 b(g)g(=)f(cond)i(\(b)p 2135 2213 31 4 v 37
w(val)f(b,)g(g)f(.)h(s)p 2787 2213 V 37 w(ds)g(ss,)g(id\))283
2400 y Fw(Example)37 b(D.1)49 b Fu(Returning)34 b(to)h(the)g(factorial)
e(statemen)m(t)i(w)m(e)h(can)g(apply)e(its)h(denotation)283
2521 y(to)e(the)g(initial)c(state)k Fr(s)p 1149 2521
V 37 w(init)g Fu(as)g(follo)m(ws:)283 2688 y Fr(>)52
b(s)p 443 2688 V 37 w(final)h(=)e(s)p 941 2688 V 37 w(ds)h(factorial)i
(s)p 1696 2688 V 37 w(init)1750 b Fh(2)283 2876 y Fw(Exercise)37
b(D.2)49 b Fu(W)-8 b(e)41 b(ma)m(y)g(b)s(e)g(in)m(terested)h(in)f(the)g
(v)-5 b(arious)40 b(iterands)h(of)g(the)g(\014xed)i(p)s(oin)m(t.)283
2996 y(Rewrite)24 b(the)g(seman)m(tic)f(equations)h(ab)s(o)m(v)m(e)g
(so)g(that)f(eac)m(h)h(\014xed)h(p)s(oin)m(t)d(is)h(unfolded)h(at)f
(most)g(n)283 3117 y(times)28 b(where)h(n)f(is)g(an)g(additional)d
(parameter)j(to)f(the)i(functions.)42 b(Giv)m(e)28 b(examples)g(sho)m
(wing)283 3237 y(that)j(if)f(the)i(v)-5 b(alue)30 b(of)h(n)g(is)g
(su\016cien)m(tly)h(large)d(then)j(w)m(e)g(get)f(the)h(same)f(result)g
(as)g(ab)s(o)m(v)m(e.)76 b Fh(2)283 3425 y Fw(Exercise)37
b(D.3)49 b Fu(Extend)34 b(the)f(de\014nition)e(ab)s(o)m(v)m(e)j(to)e
(handle)g(the)h Fr(repeat)p Fu(-construct.)152 b Fh(2)283
3752 y Fj(D.2)161 b(Extensions)53 b(of)g(While)283 3971
y Fu(It)34 b(is)e(fairly)f(straigh)m(tforw)m(ard)i(to)g(extend)h(the)g
(implemen)m(tation)c(to)j(handle)f(the)i(pro)s(cedure)283
4091 y(language)e(and)h(the)g(exception)g(language)e(of)h(Section)h
(4.5.)283 4279 y Fw(Exercise)k(D.4)49 b Fu(Mo)s(dify)33
b(the)h(ab)s(o)m(v)m(e)g(implemen)m(tation)d(to)i(use)i(en)m(vironmen)m
(ts)f(and)g(stores)283 4399 y(and)c(extend)g(it)f(to)f(implemen)m(t)g
(the)h(seman)m(tics)h(of)e(the)i(language)e Fw(Pro)s(c)g
Fu(of)h(Section)g(4.5.)74 b Fh(2)283 4587 y Fw(Exercise)37
b(D.5)49 b Fu(Mo)s(dify)27 b(the)i(ab)s(o)m(v)m(e)g(implemen)m(tation)d
(to)i(use)h(con)m(tin)m(uations)f(and)g(extend)283 4707
y(it)k(to)g(handle)h(the)g(language)e Fw(Exc)h Fu(of)g(Section)h(4.5.)
1472 b Fh(2)283 5035 y Fj(D.3)161 b(Static)54 b(program)f(analysis)283
5254 y Fu(Rather)30 b(than)g(presen)m(ting)g(a)f(fully)f(w)m(ork)m(ed)k
(out)d Fw(Miranda)h Fu(script)g(p)s(erforming)d(the)j(dep)s(en-)283
5374 y(dency)44 b(analysis)d(w)m(e)i(shall)d(pro)m(vide)i(a)g(rather)g
(detailed)e(list)h(of)g(instructions)g(for)h(ho)m(w)g(to)283
5494 y(dev)m(elop)34 b(suc)m(h)g(an)e(implemen)m(tation.)p
eop
%%Page: 231 241
231 240 bop 0 130 a Fw(D.3)112 b(Static)36 b(program)i(analysis)1864
b(231)p 0 193 3473 4 v 0 515 a(Exercise)36 b(D.6)49 b
Fu(The)43 b(\014rst)f(step)h(will)c(b)s(e)j(to)f(implemen)m(t)f(the)i
(complete)f(lattices)g Fw(P)g Fu(and)0 636 y Fw(PState)32
b Fu(and)h(the)g(op)s(erations)f(on)g(them:)145 839 y
Ft(\017)49 b Fu(De\014ne)31 b(an)f(algebraic)f(data)h(t)m(yp)s(e)i
Fr(property)h Fu(represen)m(ting)e(the)g(set)g Fw(P)f
Fu(of)g(prop)s(erties)244 960 y(and)j(de\014ne)g(a)g(function)f
Fr(p)p 1236 960 31 4 v 37 w(lub)h Fu(corresp)s(onding)g(to)f
Ft(t)2265 975 y Fn(P)2317 960 y Fu(.)145 1163 y Ft(\017)49
b Fu(De\014ne)g(a)f(t)m(yp)s(e)h(synon)m(ym)h Fr(pstate)g
Fu(represen)m(ting)f(the)g(prop)s(ert)m(y)g(states.)92
b(De\014ne)244 1283 y(the)42 b(sp)s(ecial)f(prop)s(ert)m(y)i(states)f
Fb(init)g Fu(and)g Fb(lost)p Fu(.)72 b(De\014ne)42 b(a)g(function)f
Fr(pstate)p 3286 1283 V 39 w(lub)244 1404 y Fu(corresp)s(onding)32
b(to)h Ft(t)1056 1419 y Fn(PS)1147 1404 y Fu(.)2224 b
Fh(2)0 1632 y Fw(Exercise)36 b(D.7)49 b Fu(W)-8 b(e)33
b(can)f(then)h(turn)f(to)g(the)g(seman)m(tic)g(equations)g(de\014ning)g
(the)h(analysis:)145 1835 y Ft(\017)49 b Fu(De\014ne)33
b(the)g(functions)458 2039 y Fr(p)p 515 2039 V 38 w(aexp)52
b(::)g(aexp)g(->)g(pstate)h(->)f(property)244 2242 y
Fu(corresp)s(onding)32 b(to)h Ft(P)8 b(A)32 b Fu(and)458
2446 y Fr(p)p 515 2446 V 38 w(bexp)52 b(::)g(bexp)g(->)g(pstate)h(->)f
(property)244 2649 y Fu(corresp)s(onding)32 b(to)h Ft(P)8
b(B)t Fu(.)145 2852 y Ft(\017)49 b Fu(De\014ne)33 b(the)g(auxiliary)d
(function)j Fr(cond)p 1713 2852 V 37 w(P)g Fu(corresp)s(onding)g(to)f
(cond)2774 2867 y Fn(P)2827 2852 y Fu(.)145 3056 y Ft(\017)49
b Fu(De\014ne)33 b(the)g(function)458 3259 y Fr(p)p 515
3259 V 38 w(stm)52 b(::)g(stm)g(->)f(pstate)i(->)f(pstate)244
3463 y Fu(corresp)s(onding)36 b(to)g Ft(P)8 b(S)45 b
Fu(of)36 b(T)-8 b(able)36 b(5.2.)54 b(\(Y)-8 b(ou)37
b(ma)m(y)f(use)h(the)g(results)g(of)f(Section)g(5.4)244
3583 y(for)c(this.\))2782 b Fh(2)0 3811 y Fw(Exercise)36
b(D.8)49 b Fu(Implemen)m(t)35 b(the)h(algorithm)c(of)j(Section)h(5.2)f
(and)h(apply)f(the)h(implemen-)0 3932 y(tation)31 b(to)h(a)h(couple)f
(of)g(examples)h(to)f(v)m(erify)h(that)f(ev)m(erything)i(w)m(orks)g(as)
f(exp)s(ected.)198 b Fh(2)p eop
%%Page: 232 242
232 241 bop 251 130 a Fw(232)1363 b(D)112 b(Denotational)36
b(Seman)m(tics)h(in)g(Miranda)p 251 193 3473 4 v eop
%%Page: 233 243
233 242 bop 0 1180 a Fv(Bibliograph)-6 b(y)49 1632 y
Fu([1])49 b(S.)40 b(Abramsky)-8 b(,)42 b(C.)f(Hankin:)58
b Fs(A)n(bstr)-5 b(act)41 b(Interpr)-5 b(etation)41 b(of)h(De)-5
b(clar)g(ative)40 b(L)-5 b(anguages)p Fu(,)201 1752 y(Ellis)30
b(Horw)m(o)s(o)s(d)i(\(1987\).)49 1950 y([2])49 b(A.)39
b(V.)g(Aho,)i(J.)f(E.)f(Hop)s(croft,)i(J.)e(D.)g(Ullman:)54
b Fs(Data)41 b(Structur)-5 b(es)42 b(and)e(A)n(lgorithms)p
Fu(,)201 2071 y(Addison{W)-8 b(esley)33 b(\(1982\).)49
2269 y([3])49 b(A.)39 b(V.)g(Aho,)i(R.)e(Sethi,)i(J.)f(D.)e(Ullman:)55
b Fs(Compilers:)g(Principles,)42 b(T)-7 b(e)i(chniques)39
b(and)201 2389 y(T)-7 b(o)i(ols)p Fu(,)31 b(Addison{W)-8
b(esley)33 b(\(1986\).)49 2587 y([4])49 b(K.)33 b(R.)g(Apt:)45
b Fs(T)-7 b(en)35 b(Y)-7 b(e)i(ars)35 b(of)g(Ho)-5 b(ar)g(e's)36
b(L)-5 b(o)g(gic:)45 b(A)36 b(Survey)g(|)f(Part)h(1)p
Fu(,)e(A)m(CM)g(T)-8 b(oplas)33 b Fw(3)201 2707 y Fu(4)f(\(1981\).)49
2905 y([5])49 b(J.)25 b(W.)h(de)h(Bakk)m(er:)41 b Fs(Mathematic)-5
b(al)28 b(The)-5 b(ory)28 b(of)h(Pr)-5 b(o)g(gr)g(am)28
b(Corr)-5 b(e)g(ctness)p Fu(,)26 b(Pren)m(tice-Hall)201
3026 y(\(1980\).)49 3224 y([6])49 b(D.)36 b(Cl)m(\023)-46
b(emen)m(t,)38 b(J.)g(Desp)s(eyroux,)h(T.)f(Desp)s(eyroux,)i(G.)d
(Kahn:)52 b(A)37 b(simple)f(applicativ)m(e)201 3344 y(language:)57
b(Mini-ML,)39 b Fs(Pr)-5 b(o)g(c)g(e)g(e)g(dings)41 b(of)h(the)g(1986)f
(A)n(CM)h(Confer)-5 b(enc)g(e)41 b(on)g(Lisp)h(and)201
3464 y(F)-7 b(unctional)33 b(Pr)-5 b(o)g(gr)g(amming)31
b Fu(\(1986\).)49 3662 y([7])49 b(J.)i(Desp)s(eyroux:)83
b(Pro)s(of)51 b(of)h(translation)d(in)i(natural)g(seman)m(tics,)57
b Fs(Pr)-5 b(o)g(c)g(e)g(e)g(dings)51 b(of)201 3783 y(Symp)-5
b(osium)37 b(on)g(L)-5 b(o)g(gic)37 b(in)h(Computer)f(Scienc)-5
b(e)p Fu(,)36 b(Cam)m(bridge,)g(Massac)m(h)m(usetts,)k(USA)201
3903 y(\(1986\).)49 4101 y([8])49 b(M.)33 b(J.)g(C.)g(Gordon:)43
b Fs(The)35 b(Denotational)f(Description)g(of)h(Pr)-5
b(o)g(gr)g(amming)33 b(L)-5 b(anguages,)201 4221 y(A)n(n)34
b(Intr)-5 b(o)g(duction)p Fu(,)32 b(Springer-V)-8 b(erlag)31
b(\(1979\).)49 4419 y([9])49 b(M.)c(Hennessy:)71 b Fs(The)46
b(Semantics)f(of)h(Pr)-5 b(o)g(gr)g(amming)45 b(L)-5
b(anguages:)67 b(A)n(n)46 b(Elementary)201 4540 y(Intr)-5
b(o)g(duction)34 b(using)g(Structur)-5 b(al)36 b(Op)-5
b(er)g(ational)34 b(Semantics)p Fu(,)d(Wiley)h(\(1991\).)0
4738 y([10])49 b(C.)g(B.)g(Jones:)77 b Fs(Softwar)-5
b(e)50 b(Development:)73 b(A)50 b(R)n(igor)-5 b(ous)49
b(Appr)-5 b(o)g(ach)p Fu(,)53 b(Pren)m(tice-Hall)201
4858 y(\(1980\).)0 5056 y([11])c(J.)54 b(Lo)s(ec)m(kx,)62
b(K.)54 b(Sieb)s(er:)88 b Fs(The)54 b(F)-7 b(oundations)54
b(of)h(Pr)-5 b(o)g(gr)g(am)54 b(V)-7 b(eri\014c)i(ation)p
Fu(,)59 b(Wiley{)201 5176 y(T)-8 b(eubner)34 b(Series)f(in)e(Computer)i
(Science)g(\(1984\).)0 5374 y([12])49 b(H.)34 b(R.)h(Nielson:)47
b(A)35 b(Hoare-lik)m(e)f(pro)s(of)f(system)j(for)e(run-time)g(analysis)
g(of)g(programs,)201 5494 y Fs(Scienc)-5 b(e)33 b(of)i(Computer)f(Pr)-5
b(o)g(gr)g(amming)p Fu(,)32 b(v)m(ol)g(9)g(\(1987\).)1663
5849 y(233)p eop
%%Page: 234 244
234 243 bop 251 130 a Fw(234)2676 b(Bibliograph)m(y)p
251 193 3473 4 v 283 515 a Fu([13])49 b(F.)29 b(Nielson,)g(H.)g(R.)h
(Nielson:)40 b(Tw)m(o-lev)m(el)30 b(seman)m(tics)f(and)h(co)s(de)f
(generation,)g Fs(The)-5 b(or)g(et-)484 636 y(ic)g(al)34
b(Computer)h(Scienc)-5 b(e)p Fu(,)31 b(v)m(ol)h(56)h(\(1988\).)283
839 y([14])49 b(G.)22 b(D.)f(Plotkin:)38 b Fs(A)25 b(Structur)-5
b(al)27 b(appr)-5 b(o)g(ach)24 b(to)h(Op)-5 b(er)g(ational)25
b(Semantics)p Fu(,)e(Lecture)g(notes,)484 960 y(D)m(AIMI)33
b(FN-19,)f(Aarh)m(us)h(Univ)m(ersit)m(y)-8 b(,)33 b(Denmark)f(\(1981,)g
(reprin)m(ted)h(1991\).)283 1163 y([15])49 b(G.)34 b(D.)f(Plotkin:)45
b(An)35 b(op)s(erational)c(seman)m(tics)k(for)e(CSP)-8
b(,)35 b(in:)46 b Fs(F)-7 b(ormal)34 b(Description)h(of)484
1283 y(Pr)-5 b(o)g(gr)g(amming)28 b(Conc)-5 b(epts)29
b(II)p Fu(,)d(Pro)s(ceedings)i(of)e(TC-2)h(W)-8 b(ork.)28
b(Conf.)f(\(ed.)g(D.)g(Bj\034rner\),)484 1404 y(North{Holland)k
(\(1982\).)283 1607 y([16])49 b(D.)32 b(A.)h(Sc)m(hmidt:)44
b Fs(Denotational)33 b(Semantics:)44 b(a)35 b(Metho)-5
b(dolo)g(gy)35 b(for)g(L)-5 b(anguage)34 b(Devel-)484
1727 y(opment)p Fu(,)e(Allyn)f(&)i(Bacon,)g(Inc.)g(\(1986\).)283
1931 y([17])49 b(J.)42 b(E.)h(Sto)m(y:)63 b Fs(Denotational)42
b(Semantics:)62 b(The)43 b(Sc)-5 b(ott{Str)g(achey)43
b(Appr)-5 b(o)g(ach)43 b(to)h(Pr)-5 b(o-)484 2051 y(gr)g(amming)34
b(L)-5 b(anguage)34 b(The)-5 b(ory)p Fu(,)32 b(MIT)i(Press)g(\(1977\).)
p eop
%%Page: 235 245
235 244 bop 0 974 a Fv(Index)77 b(of)h(Sym)-6 b(b)6 b(ols)0
1446 y Fu(\()p Fw(P)p Fu(,)32 b Ft(v)251 1461 y Fn(P)304
1446 y Fu(\),)g(136)0 1567 y(\()p Fw(PState)p Fu(,)g
Ft(v)506 1582 y Fn(PS)598 1567 y Fu(\),)h(140)0 1687
y(\()p Fw(PState)f Ft(!)g Fw(PState)p Fu(,)g Ft(v)p Fu(\),)i(148)0
1807 y(\()p Fw(State)f Fo(,)-17 b Ft(!)32 b Fw(State)p
Fu(,)h Ft(v)p Fu(\),)g(93)0 1928 y(\()p Fs(D)9 b Fu(,)33
b Ft(v)258 1943 y Fc(D)322 1928 y Fu(\),)g(95)0 2124
y Ft(\001)17 b(\001)g(\001)n Fu([)p Ft(\001)g(\001)g(\001)o(7\000)-17
b(!\001)17 b(\001)g(\001)n Fu(],)33 b(51)0 2244 y Ft(\001)17
b(\001)g(\001)n Fu([)p Ft(\001)g(\001)g(\001)o(7!\001)g(\001)g(\001)m
Fu(],)33 b(16,)f(17,)g(177,)g(214)0 2365 y Ft(\001)17
b(\001)g(\001)n(\021)33 b(\001)17 b(\001)g(\001)n Fu(rel)p
342 2378 109 4 v 32 w Ft(\001)g(\001)g(\001)o Fu(,)32
b(137,)g(138)0 2485 y Ft(\001)17 b(\001)g(\001)n(`)33
b(\001)17 b(\001)g(\001)n(!)32 b(\001)17 b(\001)g(\001)n
Fu(,)33 b(54,)f(58)0 2605 y Ft(\016)p Fu(,)g(214)0 2726
y Ft(\005)p Fu(,)f(215)0 2846 y Fo(,)-17 b Ft(!)p Fu(,)33
b(213)0 2966 y Ft(!)p Fu(,)f(213)0 3087 y Fh(\003)p Fu(,)h(64)0
3207 y Ft(\))p Fu(,)f(32)0 3328 y Ft(!)p Fu(,)g(20)0
3448 y Ft(!)100 3412 y Fc(t)129 3448 y Fu(,)h(202)0 3568
y Ft(!)100 3583 y Fc(D)164 3568 y Fu(,)f(51,)g(58)0 3689
y Ft(!)100 3704 y Fn(Aexp)264 3689 y Fu(,)h(31)0 3809
y Ft(!)100 3824 y Fn(Bexp)262 3809 y Fu(,)f(32)0 3930
y Ft(t)p Fu(,)h(136)0 3983 y Fg(F)69 4050 y Fu(,)g(97,)f(99,)g(136,)g
(140,)g(148)0 4170 y Ft(?)p Fu(,)h(95)0 4291 y Ft(v)p
Fu(,)g(95,)f(136,)g(140,)g(148)0 4411 y Ft(w)p Fu(,)h(95)0
4531 y Ft(`)p Fu(,)f(180,)g(192,)g(203)0 4652 y Ft(j)-17
b Fu(=,)33 b(184,)e(191,)h(203)0 4772 y Ft(:)p Fu(,)h(177)0
4893 y Ft(_)p Fu(,)g(177)0 5013 y Ft(^)p Fu(,)g(177)0
5133 y Ft(\))p Fu(,)f(177)0 5254 y Ft(f)g Fs(P)43 b Ft(g)33
b Fs(S)44 b Ft(f)32 b Fs(Q)42 b Ft(g)p Fu(,)32 b(176)0
5374 y Ft(f)g Fs(P)43 b Ft(g)33 b Fs(S)44 b Ft(f)32 b(+)h
Fs(Q)41 b Ft(g)p Fu(,)33 b(191)0 5494 y Ft(f)f Fs(P)43
b Ft(g)33 b Fs(S)44 b Ft(f)32 b Fs(e)40 b Ft(+)32 b Fs(Q)42
b Ft(g)p Fu(,)33 b(202)1882 1446 y Fs(f)1932 1410 y Fn(n)1976
1446 y Fu(,)f(104)1882 1567 y Fs(R)1957 1531 y Fi(\003)1996
1567 y Fu(,)h(215)1882 1688 y Fs(R)1957 1652 y Fn(+)2016
1688 y Fu(,)f(215)1882 1899 y Ft(A)o Fu(,)h(12)1882 2020
y Ft(B)s Fu(,)g(14)1882 2141 y Ft(C)6 b(A)o Fu(,)33 b(70)1882
2262 y Ft(C)6 b(B)s Fu(,)33 b(70)1882 2383 y Ft(C)6 b(S)i
Fu(,)32 b(71)1882 2504 y Ft(D)1961 2467 y Fn(P)1961 2528
y(ds)2032 2504 y Fu(,)h(121)1882 2624 y Ft(D)1961 2588
y Fn(V)1961 2649 y(ds)2032 2624 y Fu(,)g(120)1882 2745
y Ft(M)o Fu(,)g(68)1882 2866 y Ft(N)14 b Fu(,)33 b(9)1882
2987 y Ft(O)s Fu(\()p Fs(g)9 b Fu(\),)32 b(214)1882 3108
y Ft(P)8 b Fu(,)33 b(213)1882 3229 y Ft(P)8 b(A)p Fu(,)32
b(142)1882 3349 y Ft(P)8 b(A)2039 3364 y Fc(X)2106 3349
y Fu(,)33 b(161)1882 3470 y Ft(P)8 b(B)s Fu(,)33 b(142)1882
3591 y Ft(P)8 b(B)2027 3606 y Fc(X)2095 3591 y Fu(,)32
b(161)1882 3712 y Ft(P)8 b(S)g Fu(,)32 b(144)1882 3833
y Ft(P)8 b(S)2027 3848 y Fc(X)2094 3833 y Fu(,)33 b(161)1882
3954 y Ft(S)1949 3969 y Fn(am)2048 3954 y Fu(,)f(72)1882
4075 y Ft(S)1949 4090 y Fn(cs)2013 4075 y Fu(,)g(130)1882
4195 y Ft(S)1949 4159 y Fi(0)1949 4220 y Fn(cs)2013 4195
y Fu(,)g(128)1882 4316 y Ft(S)1949 4331 y Fn(ds)2021
4316 y Fu(,)g(85,)g(122)1882 4437 y Ft(S)1949 4401 y
Fi(0)1949 4462 y Fn(ds)2021 4437 y Fu(,)g(119)1882 4558
y Ft(S)1949 4573 y Fn(ns)2021 4558 y Fu(,)g(31)1882 4679
y Ft(S)1949 4694 y Fn(sos)2044 4679 y Fu(,)h(39)1882
4800 y Ft(T)25 b(A)p Fu(,)32 b(201)1882 4920 y Ft(T)25
b(B)t Fu(,)32 b(201)1882 5132 y Fw(AM)p Fu(,)g(63)1882
5253 y Fw(Aexp)p Fu(,)g(7)1882 5374 y Fw(Aexp)2139 5389
y Fc(X)2206 5374 y Fu(,)h(161)1882 5494 y Fw(Bexp)p Fu(,)f(7)1663
5849 y(235)p eop
%%Page: 236 246
236 245 bop 251 130 a Fw(236)2454 b(Index)38 b(of)g(Sym)m(b)s(ols)p
251 193 3473 4 v 283 515 a(Bexp)535 530 y Fc(X)603 515
y Fu(,)33 b(161)283 636 y Fw(Blo)s(c)m(k)p Fu(,)f(51)283
756 y Fw(Co)s(de)p Fu(,)i(64)283 877 y Fw(Con)m(t)p Fu(,)f(127)283
997 y Fw(Dec)470 1012 y Fn(P)522 997 y Fu(,)g(53,)f(117)283
1117 y Fw(Dec)470 1132 y Fn(V)528 1117 y Fu(,)h(51,)f(117)283
1238 y Fw(En)m(v)475 1253 y Fn(E)527 1238 y Fu(,)h(130)283
1358 y Fw(En)m(v)475 1373 y Fn(P)527 1358 y Fu(,)g(54,)f(56,)g(58,)h
(121)283 1478 y Fw(En)m(v)475 1493 y Fn(V)533 1478 y
Fu(,)g(57,)f(118)283 1599 y Fw(Exc)p Fu(,)h(126)283 1719
y Fw(Exception)p Fu(,)f(126)283 1840 y Fw(\013)p Fu(,)h(213)283
1960 y Fw(Lo)s(c)p Fu(,)g(57,)g(118)283 2080 y Fw(N)p
Fu(,)g(213)283 2201 y Fw(Num)p Fu(,)f(7)283 2321 y Fw(P)p
Fu(,)h(136)283 2441 y Fw(PState)p Fu(,)g(137)283 2562
y Fw(Pname)p Fu(,)g(53,)f(117)283 2682 y Fw(Pro)s(c)p
Fu(,)g(52,)h(117)283 2803 y Fw(Stac)m(k)p Fu(,)g(64)283
2923 y Fw(State)p Fu(,)g(12)283 3043 y Fw(State)538 3058
y Fc(X)606 3043 y Fu(,)g(161)283 3164 y Fw(Stm)p Fu(,)f(7)283
3284 y Fw(Stm)483 3299 y Fc(X)550 3284 y Fu(,)h(161)283
3405 y Fw(Store)p Fu(,)g(57,)f(118)283 3525 y Fw(T)p
Fu(,)h(213)283 3645 y Fw(tt)p Fu(,)f(213)283 3766 y Fw(V)-9
b(ar)p Fu(,)33 b(7)283 3886 y Fw(While)p Fu(,)f(6)283
4006 y Fw(Z)p Fu(,)i(213)283 4210 y Fs(a)7 b Fu(,)33
b(7)283 4330 y Fs(b)6 b Fu(,)33 b(7)283 4451 y Fs(c)6
b Fu(,)33 b(64,)f(127)283 4571 y Fs(D)366 4586 y Fc(P)425
4571 y Fu(,)h(53,)f(117)283 4691 y Fs(D)366 4706 y Fc(V)427
4691 y Fu(,)h(51,)f(117)283 4812 y Fs(e)7 b Fu(,)33 b(64,)g(126)283
4932 y Fs(env)439 4947 y Fc(E)498 4932 y Fu(,)g(130)283
5053 y Fs(env)439 5068 y Fc(P)497 5053 y Fu(,)g(54,)f(121)2165
515 y Fs(env)2321 530 y Fc(V)2381 515 y Fu(,)h(57,)f(118)2165
636 y Fs(n)7 b Fu(,)33 b(7)2165 756 y Fs(P)10 b Fu(,)33
b(176)2165 877 y Fs(p)6 b Fu(,)33 b(53,)f(117,)g(136)2165
997 y Fs(ps)8 b Fu(,)32 b(137)2165 1117 y Fs(S)12 b Fu(,)32
b(7)2165 1238 y Fs(s)8 b Fu(,)33 b(12)2165 1358 y Fs(sto)6
b Fu(,)33 b(57,)f(118)2165 1478 y Fs(Q)9 b Fu(,)33 b(176)2165
1599 y Fs(x)12 b Fu(,)32 b(7)2165 1802 y Fb(d)p Fu(?,)h(135,)f(136)2165
1923 y Fb(init)p Fu(,)h(141)2165 2043 y Fb(init)2345
2058 y Fc(X)2413 2043 y Fu(,)f(163)2165 2163 y Fb(lost)p
Fu(,)h(141)2165 2284 y Fb(ok)p Fu(,)g(135)2165 2487 y(cond,)g(87,)f
(119)2165 2608 y(cond)2365 2623 y Fn(P)2418 2608 y Fu(,)g(145)2165
2728 y(D)m(V,)h(51)2165 2848 y(extend)2448 2863 y Fc(X)2517
2848 y Fu(,)f(161)2165 2969 y(FIX,)h(88,)f(97,)g(104,)g(146)2165
3089 y(FV,)g(15,)h(16,)f(160)2165 3209 y(graph,)g(214)2165
3330 y(I,)h(215)2165 3450 y(I)2200 3465 y Fc(p)2240 3450
y Fu(,)f(215)2165 3571 y(I)2200 3586 y Fc(X)2268 3571
y Fu(,)g(215)2165 3691 y(id,)g(214)2165 3811 y(lo)s(okup,)g(118)2165
3932 y(new,)i(57,)e(118)2165 4052 y(next,)i(57,)e(118)2165
4172 y(OK,)g(137)2165 4293 y(on-trac)m(k,)h(137)2165
4413 y(up)s(d)2330 4428 y Fn(P)2382 4413 y Fu(,)g(54,)f(56,)g(58)2165
4534 y(wlp,)g(186)2165 4737 y(rel)p 2165 4750 109 4 v
-1 w(,)h(136{138)2165 4857 y(undef)p 2165 4870 236 4
v 1 w(,)f(214)p eop
%%Page: 237 247
237 246 bop 0 974 a Fv(Index)0 1406 y Fr(abort)p Fu(-construct,)35
b(44)0 1529 y(abstract)e(mac)m(hine,)f(63)0 1653 y(abstract)h(syn)m
(tax,)h(7)0 1776 y(additiv)m(e)e(function,)g(163)0 1900
y(admissible)f(predicate,)h(173)0 2023 y(an)m(ti-symmetric)f(relation,)
f(95)0 2146 y(arithmetic)g(expression,)k(7)166 2270 y(analysis,)e(142)
166 2393 y(execution)h(time,)f(201)166 2517 y(seman)m(tics,)h(12)166
2640 y(translation,)e(70)0 2763 y Fr(assert)p Fu(-construct,)k(46)0
2887 y(assertion,)e(175)0 3010 y(axiom,)e(20)0 3133 y(axiomatic)f
(seman)m(tics,)j(178)0 3390 y(basis)g(elemen)m(t,)f(7)0
3513 y Fr(begin)p Fu(-construct,)j(51,)d(117,)g(126)0
3637 y(bisim)m(ulation)d(relation,)i(81)0 3760 y(b)s(o)s(olean)g
(expression,)j(7)166 3884 y(analysis,)e(142)166 4007
y(execution)h(time,)f(201)166 4130 y(seman)m(tics,)h(14)166
4254 y(translation,)e(70)0 4510 y Fr(call)p Fu(-construct,)j(53,)f
(117,)e(197)0 4634 y(call-b)m(y-v)-5 b(alue)30 b(parameter,)i(60,)h
(126)0 4757 y(ccp)s(o,)g(99)0 4881 y(c)m(hain,)g(97)0
5004 y(c)m(hain)40 b(complete)f(partially)e(ordered)k(set,)332
5124 y(99)0 5248 y(co)s(de)33 b(generation,)f(69)0 5371
y(complete)g(lattice,)f(99)0 5494 y(completeness,)i(183)2048
1406 y(of)21 b(partial)e(correctness)24 b(inference)e(sys-)2214
1526 y(tem,)32 b(187)2048 1648 y(of)i(total)g(correctness)k(inference)d
(sys-)2214 1768 y(tem,)d(196)1882 1890 y(comp)s(osite)f(elemen)m(t,)h
(7)1882 2011 y(comp)s(ositional)d(de\014nition,)i(11)1882
2133 y(computation)g(sequence,)k(66)1882 2254 y(concrete)e(syn)m(tax,)i
(7)1882 2376 y(con\014guration,)c(216)2048 2497 y(\014nal,)g(216)2048
2619 y(stuc)m(k,)j(216)2048 2740 y(terminal,)c(216)1882
2862 y(constan)m(t)j(propagation,)e(133)1882 2983 y(con)m(tin)m
(uation,)g(127)1882 3105 y(con)m(tin)m(uation)g(st)m(yle)i(seman)m
(tics,)g(127)1882 3226 y(con)m(tin)m(uous)g(function,)f(103)1882
3348 y(correct)h(implemen)m(tation,)c(73)1882 3571 y(declared)j(v)-5
b(ariable,)31 b(51)1882 3692 y(denotational)f(seman)m(tics,)j(85)2048
3814 y(con)m(tin)m(uation)e(st)m(yle,)i(127)2048 3935
y(direct)f(st)m(yle,)h(85)1882 4057 y(dep)s(endency)i(analysis,)d(134)
1882 4178 y(deriv)-5 b(ation)30 b(sequence,)36 b(33)1882
4300 y(deriv)-5 b(ation)30 b(tree,)k(22)1882 4421 y(detection)e(of)g
(signs)h(analysis,)f(133)1882 4543 y(deterministic)e(seman)m(tics,)j
(28,)f(38,)h(68)1882 4664 y(direct)f(st)m(yle)h(seman)m(tics,)g(85)1882
4786 y(dubious,)f(135)1882 4907 y(dynamic)f(scop)s(e,)j(53)1882
5130 y(equiv)-5 b(alence)32 b(relation,)f(141)1882 5252
y(ev)-5 b(aluation)30 b(stac)m(k,)k(64)1882 5373 y(exception,)f(126)
1882 5494 y(exception)g(en)m(vironmen)m(t,)g(130)1663
5849 y(237)p eop
%%Page: 238 248
238 247 bop 251 130 a Fw(238)3028 b(Index)p 251 193 3473
4 v 283 515 a Fu(expressiv)m(eness,)37 b(191)283 636
y(extensional)c(approac)m(h,)g(177)283 837 y(\014xed)h(p)s(oin)m(t,)e
(87)450 957 y(least,)g(97,)g(104)450 1078 y(requiremen)m(ts,)h(92,)f
(97)283 1198 y(\014xed)i(p)s(oin)m(t)e(induction,)g(173)283
1319 y(\014xed)i(p)s(oin)m(t)e(theory)-8 b(,)33 b(106)283
1439 y(\015o)m(w)h(of)e(con)m(trol,)g(137)283 1559 y
Fr(for)p Fu(-construct,)26 b(28,)d(36,)h(43,)f(72,)h(111,)f(117,)616
1680 y(151,)31 b(182)283 1800 y(free)i(v)-5 b(ariable,)31
b(15,)i(16,)f(160)283 1920 y(function)h(comp)s(osition,)d(214)283
2041 y(functional)h(dep)s(endency)-8 b(,)35 b(134)283
2242 y(graph)e(of)f(a)g(function,)g(214)283 2443 y Fr(handle)p
Fu(-construct,)j(126)283 2645 y(iden)m(tit)m(y)e(function,)f(214)283
2765 y(iden)m(tit)m(y)h(relation,)e(215)283 2886 y(induction,)h(10)450
3006 y(\014xed)h(p)s(oin)m(t,)f(173)450 3126 y(on)38
b(the)h(length)e(of)h(computation)f(se-)616 3247 y(quences,)e(67)450
3367 y(on)21 b(the)h(length)g(of)f(deriv)-5 b(ation)20
b(sequences,)616 3487 y(37)450 3608 y(on)42 b(the)h(shap)s(e)g(of)f
(deriv)-5 b(ation)41 b(trees,)616 3728 y(28)450 3849
y(on)52 b(the)g(shap)s(e)h(of)f(inference)h(trees,)616
3969 y(183)450 4089 y(structural,)32 b(11)283 4210 y(inference)i
(system,)f(178)450 4330 y(for)f(execution)h(time,)e(200)450
4451 y(for)h(partial)e(correctness,)35 b(178)450 4571
y(for)d(total)f(correctness,)j(191)283 4691 y(inference)g(tree,)f(180)
283 4812 y(injectiv)m(e)g(function,)f(214)283 4932 y(input)h(v)-5
b(ariable,)31 b(134)283 5052 y(instructions,)i(64)283
5173 y(in)m(tensional)e(approac)m(h,)j(177,)e(190)283
5293 y(in)m(v)-5 b(arian)m(t,)32 b(179,)g(192)283 5494
y(Kripk)m(e-relation,)f(141)2165 515 y(least)h(elemen)m(t,)h(95)2165
636 y(least)f(\014xed)i(p)s(oin)m(t,)e(97,)g(104)2165
758 y(least)g(upp)s(er)h(b)s(ound,)g(97)2165 879 y(lo)s(cal)d(v)-5
b(ariable,)31 b(51)2165 1000 y(lo)s(cation,)f(57,)i(118)2165
1121 y(logical)d(v)-5 b(ariable,)31 b(176)2165 1242 y(lo)s(oping)f
(computation)h(sequence,)36 b(66)2165 1363 y(lo)s(oping)30
b(execution,)j(25,)g(36)2165 1579 y(monotone)f(function,)g(100)2165
1700 y(m)m(utual)f(recursiv)m(e)j(pro)s(cedure,)g(60)2165
1916 y(natural)d(seman)m(tics,)i(20)2165 2037 y(non-determinism,)d(46,)
j(197)2165 2158 y(non-recursiv)m(e)h(pro)s(cedure,)f(56,)f(122,)g(197)
2165 2279 y(n)m(um)m(b)s(er,)h(9)2165 2400 y(n)m(umeral,)f(7,)g(11)2165
2616 y Fr(or)p Fu(-construct,)i(46,)e(197)2165 2737 y(order)h(of)f
(magnitude,)f(214)2165 2858 y(order)d(of)g(magnitude)f(of)h(execution)h
(time,)2497 2979 y(200)2165 3100 y(ordering,)j(93)2331
3221 y(an)m(ti-symmetry)-8 b(,)32 b(95)2331 3342 y(on)h
Fw(P)p Fu(,)f(136)2331 3463 y(on)h Fw(PState)p Fu(,)f(140)2331
3584 y(on)h Fw(PState)f Ft(!)g Fw(PState)p Fu(,)g(148)2331
3705 y(on)h Fw(State)f Fo(,)-17 b Ft(!)33 b Fw(State)p
Fu(,)f(93)2331 3826 y(re\015exivit)m(y)-8 b(,)33 b(95,)f(141)2331
3947 y(symmetry)-8 b(,)33 b(141)2331 4068 y(transitivit)m(y)-8
b(,)31 b(95,)h(141)2165 4190 y(output)h(v)-5 b(ariable,)31
b(134)2165 4405 y Fr(par)p Fu(-construct,)j(48)2165 4526
y(parallelism,)29 b(48)2165 4648 y(parameterized)j(relation,)f(141)2165
4769 y(partial)f(correctness,)35 b(169,)d(175)2331 4890
y(axiomatic)e(seman)m(tics,)j(178)2331 5011 y(denotational)e(seman)m
(tics,)i(172)2331 5132 y(natural)e(seman)m(tics,)i(169)2331
5253 y(structural)45 b(op)s(erational)e(seman)m(tics,)2497
5373 y(172)2165 5494 y(partial)30 b(function,)i(213)p
eop
%%Page: 239 249
239 248 bop 0 130 a Fw(Index)3028 b(239)p 0 193 3473
4 v 0 515 a Fu(partially)30 b(ordered)j(set,)h(95)0 636
y(p)s(ostcondition,)d(176)0 756 y(precondition,)h(176)0
877 y(predicate,)h(215)0 997 y Fr(proc)p Fu(-construct,)h(53,)f(117,)e
(197)0 1117 y(pro)s(cedure)j(declaration,)d(53,)h(117,)g(121)0
1238 y(pro)s(cedure)23 b(en)m(vironmen)m(t,)h(54,)g(56,)f(58,)g(121)0
1358 y(pro)s(cedure)34 b(name,)e(53,)g(117)0 1478 y(program)f(v)-5
b(ariable,)31 b(176)0 1599 y(prop)s(ert)m(y)-8 b(,)33
b(135)0 1719 y(prop)s(ert)m(y)g(state,)g(137)166 1840
y(improp)s(er,)e(138)166 1960 y(prop)s(er,)i(138)0 2080
y Fr(protect)p Fu(-construct,)i(50)0 2201 y(pro)m(v)-5
b(abilit)m(y)d(,)31 b(180)166 2321 y(in)21 b(execution)h(time)f
(inference)h(system,)332 2441 y(203)166 2562 y(in)f(partial)f
(correctness)j(inference)g(sys-)332 2682 y(tem,)32 b(180)166
2803 y(in)i(total)f(correctness)k(inference)e(sys-)332
2923 y(tem,)d(192)0 3043 y(pro)m(v)-5 b(ably)32 b(equiv)-5
b(alence,)33 b(182)0 3246 y Fr(raise)p Fu(-construct,)i(126)0
3366 y Fr(random)p Fu(-construct,)g(48)0 3486 y(recurrence)f(equation,)
f(205,)f(207)0 3607 y(recursiv)m(e)i(pro)s(cedure,)g(54,)e(56,)g(125,)g
(198)0 3727 y(re\015exiv)m(e)i(ordering,)e(141)0 3848
y(re\015exiv)m(e)i(relation,)d(95)0 3968 y(re\015exiv)m(e)j(transitiv)m
(e)e(closure,)h(215)0 4088 y(relation,)e(215)0 4209 y(relation)g(comp)s
(osition,)f(215)0 4329 y Fr(repeat)p Fu(-construct,)43
b(28,)e(30,)f(36,)h(39,)f(43,)332 4450 y(72,)24 b(81,)f(111,)g(112,)h
(117,)f(129,)g(151,)332 4570 y(160,)43 b(182,)g(183,)g(186,)g(190,)h
(194,)332 4690 y(196,)32 b(208)0 4811 y(rule,)g(20)0
4931 y(rule)g(of)g(consequence,)k(180)0 5133 y(safet)m(y)e(of)e(static)
g(analysis,)g(153,)g(159)0 5254 y(seman)m(tic)g(clause,)h(9)0
5374 y(seman)m(tic)f(equation,)h(9)0 5494 y(seman)m(tic)f(equiv)-5
b(alence,)33 b(26,)f(39,)h(112)1882 515 y(seman)m(tic)f(function,)g(9)
1882 638 y(soundness,)i(183)2048 760 y(of)21 b(execution)h(time)f
(inference)h(system,)2214 880 y(208)2048 1003 y(of)f(partial)e
(correctness)24 b(inference)e(sys-)2214 1123 y(tem,)32
b(184)2048 1245 y(of)i(total)g(correctness)k(inference)d(sys-)2214
1366 y(tem,)d(194)1882 1488 y(state,)h(12)1882 1610 y(statemen)m(t,)g
(7)2048 1732 y(analysis,)f(144)2048 1855 y(execution)h(time,)e(202)2048
1977 y(seman)m(tics,)h(31,)h(39,)f(85)2048 2099 y(translation,)e(71)
1882 2221 y(static)i(scop)s(e,)h(53,)f(117)1882 2344
y(storage,)g(64)1882 2466 y(store,)h(57,)f(118)1882 2588
y(strict)g(function,)g(103)1882 2710 y(strongest)h(p)s(ostcondition,)e
(187,)h(190)1882 2833 y(structural)g(induction,)g(11)1882
2955 y(structural)g(op)s(erational)e(seman)m(tics,)j(32)1882
3077 y(stuc)m(k)h(con\014guration,)e(216)1882 3199 y(substitution,)g
(16,)g(17,)g(51)1882 3322 y(symmetric)f(ordering,)h(141)1882
3558 y(terminating)19 b(computation)h(sequence,)27 b(66)1882
3680 y(terminating)j(execution,)j(25,)f(36)1882 3803
y(total)f(correctness,)j(169)2048 3925 y(axiomatic)c(seman)m(tics,)j
(191)1882 4047 y(total)e(function,)h(213)1882 4169 y(transition)e
(relation,)h(216)1882 4292 y(transition)f(system,)k(216)1882
4414 y(transitiv)m(e)e(ordering,)f(141)1882 4536 y(transitiv)m(e)h
(relation,)e(95)1882 4773 y(upp)s(er)j(b)s(ound,)f(97)1882
5009 y(v)-5 b(alidit)m(y)d(,)30 b(184)2048 5131 y(in)21
b(execution)h(time)e(inference)j(system,)2214 5252 y(203)2048
5374 y(in)e(partial)e(correctness)24 b(inference)e(sys-)2214
5494 y(tem,)32 b(184)p eop
%%Page: 240 250
240 249 bop 251 130 a Fw(240)3028 b(Index)p 251 193 3473
4 v 450 515 a Fu(in)33 b(total)g(correctness)k(inference)e(sys-)616
636 y(tem,)d(191)283 756 y Fr(var)p Fu(-construct,)j(51,)d(117)283
877 y(v)-5 b(ariable,)31 b(7)283 997 y(v)-5 b(ariable)31
b(declaration,)g(51,)i(117,)e(120)283 1117 y(v)-5 b(ariable)31
b(en)m(vironmen)m(t,)i(57,)f(118)283 1321 y(w)m(eak)m(est)j(lib)s(eral)
30 b(precondition,)i(187)p eop
%%Trailer
end
userdict /end-hook known{end-hook}if
%%EOF