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
|
type strict = STRICT | NONSTRICT
type keep_binding = bool
type ('pred, 'mvar, 'anno) generic_ctl =
False
| True
| Pred of 'pred
| Not of ('pred, 'mvar, 'anno) generic_ctl
| Exists of keep_binding * 'mvar * ('pred, 'mvar, 'anno) generic_ctl
| And of strict * ('pred, 'mvar, 'anno) generic_ctl *
('pred, 'mvar, 'anno) generic_ctl
| AndAny of direction * strict * ('pred, 'mvar, 'anno) generic_ctl *
('pred, 'mvar, 'anno) generic_ctl
| HackForStmt of direction * strict * ('pred, 'mvar, 'anno) generic_ctl *
('pred, 'mvar, 'anno) generic_ctl
| Or of ('pred, 'mvar, 'anno) generic_ctl *
('pred, 'mvar, 'anno) generic_ctl
| Implies of ('pred, 'mvar, 'anno) generic_ctl *
('pred, 'mvar, 'anno) generic_ctl
| AF of direction * strict * ('pred, 'mvar, 'anno) generic_ctl
| AX of direction * strict * ('pred, 'mvar, 'anno) generic_ctl
| AG of direction * strict * ('pred, 'mvar, 'anno) generic_ctl
| AW of direction * strict * ('pred, 'mvar, 'anno) generic_ctl *
('pred, 'mvar, 'anno) generic_ctl
| AU of direction * strict * ('pred, 'mvar, 'anno) generic_ctl *
('pred, 'mvar, 'anno) generic_ctl
| EF of direction * ('pred, 'mvar, 'anno) generic_ctl
| EX of direction * ('pred, 'mvar, 'anno) generic_ctl
| EG of direction * ('pred, 'mvar, 'anno) generic_ctl
| EU of direction * ('pred, 'mvar, 'anno) generic_ctl *
('pred, 'mvar, 'anno) generic_ctl
| Let of string * ('pred, 'mvar, 'anno) generic_ctl *
('pred, 'mvar, 'anno) generic_ctl
| LetR of direction * string * ('pred, 'mvar, 'anno) generic_ctl *
('pred, 'mvar, 'anno) generic_ctl
| Ref of string
| SeqOr of ('pred, 'mvar, 'anno) generic_ctl *
('pred, 'mvar, 'anno) generic_ctl
| Uncheck of ('pred, 'mvar, 'anno) generic_ctl
| InnerAnd of ('pred, 'mvar, 'anno) generic_ctl
| XX of ('pred, 'mvar, 'anno) generic_ctl
and direction = FORWARD | BACKWARD
val unwrap : 'a * 'b -> 'a
val rewrap : 'a * 'b -> 'c -> 'c * 'b
val get_line : 'a * 'b -> 'b
type ('mvar, 'value) generic_subst =
Subst of 'mvar * 'value
| NegSubst of 'mvar * 'value
type ('mvar, 'value) generic_substitution =
('mvar, 'value) generic_subst list
type ('state, 'subst, 'anno) generic_witnesstree =
Wit of 'state * 'subst * 'anno *
('state, 'subst, 'anno) generic_witnesstree list
| NegWit of ('state, 'subst, 'anno) generic_witnesstree
type 'a modif = Modif of 'a | UnModif of 'a | Control
|