Download Sceptic Version 4 User Manual

Transcript
Contents
1 The Sceptic Language
1.1
1.2
1.3
1.4
1.5
Basic concepts
Syntax : : : : :
Declarations : :
Directives : : :
Comments : : :
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
Starting the system : : : : : : :
Loading a le : : : : : : : : : :
Example: mini.sc : : : : : : : :
Typing input to the prompt : :
Initialisation: the .scepticrc le
Verbose mode : : : : : : : : : :
Recovery from error : : : : : :
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
2 Using Sceptic
2.1
2.2
2.3
2.4
2.5
2.6
2.7
3 The Execution Cycle
3.1 Expansion of actions : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
3.2 Example: Database modify and print : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
3.3 End-of-cycle processing : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
4 Summary of Primitives
4.1 Primitive conditions : : : : : : : : :
4.1.1 State testers : : : : : : : : :
4.1.2 Generators : : : : : : : : : :
4.1.3 Metapredicates : : : : : : : :
4.2 Primitive actions : : : : : : : : : : :
4.2.1 File loading : : : : : : : : : :
4.2.2 Input/Output : : : : : : : : :
4.2.3 Database modication : : : :
4.2.4 Debugging/Tracing execution
4.2.5 Miscellaneous : : : : : : : : :
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
5 Modelling in Sceptic
1
1
1
2
3
3
4
4
4
4
5
6
6
6
7
7
7
8
10
10
10
10
11
12
12
12
13
13
13
14
5.1 Control-ow Sceptic : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 14
5.2 Data-ow Sceptic : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 14
5.3 Pitfalls for the unwary : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 15
6 Library Routines
6.1
6.2
6.3
6.4
6.5
6.6
6.7
Library: control.sc : : : :
Library: counters.sc : : :
Library: list processing.sc
Library: maths.sc : : : : :
Library: parameters.sc : :
Library: read.sc : : : : : :
Library: tms.sc : : : : : :
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
7.1 Modelling in the Data-ow style : : : : : : : : :
7.1.1 Local and global computation : : : : : : :
7.1.2 Caching the results of global computation
7.2 Caveats : : : : : : : : : : : : : : : : : : : : : : :
7.2.1 Eciency : : : : : : : : : : : : : : : : : :
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
7 Advanced Modelling Considerations
iii
:
:
:
:
:
:
:
:
:
:
:
:
:
:
16
16
17
17
18
20
20
20
22
22
22
22
23
23