[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Recursive Functions with negative domain
Hello,
it is probably a beginner's question:
I'd like to define a function with its domain containing negative
numbers, such as:
testtheorem: THEORY
BEGIN
ABC(i:integer | i>=-1): RECURSIVE integer =
IF i=-1 THEN
0
ELSE
ABC(i-1)
ENDIF
MEASURE i
END testtheorem
(not really reasonable)
The problem is that PVS generates a TCC, which can't be proven:
% Subtype TCC generated (at line 11, column 14) for i
% untried
ABC_TCC1: OBLIGATION (FORALL (i: integer | i >= -1): i >= 0);
Despite of this TCC everything done with the function works as expected.
I tried to define an appropriate measure, but this did not change this
TCC at all.
Thank you for your help,
Daniel Kroening