2 -- { dg-options "-gnata" }
4 procedure Expr_Func8
is
6 type Node_Set
is array (Positive range <>) of Integer;
8 function Nodes
return Node_Set
is
11 X1
: Boolean := (for all N
of Nodes
=> N
= N
);
13 function Predecessors
(N
: Integer) return Node_Set
Is
15 function Successors
(N
: Integer) return Node_Set
Is
16 (Nodes
(N
+ 1 .. Nodes
'Last));
19 (for all N
of Nodes
=>
20 (for some S
of Successors
(N
) => S
= N
));
23 (for all N
of Nodes
=>
24 (for some S
of Successors
(N
) => S
= N
));
27 (for all N
of Nodes
=>
28 (for some S
of Successors
(N
) => S
= N
)) with Ghost
;
31 (for all N
of Nodes
=>
32 (for all P
of Predecessors
(N
) =>
33 (for some S
of Successors
(P
) => S
= N
)));