[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PVS-Help] singleton_elt




Jerome: I think the way you have it with T as a parameter and
f and g declared over set[T] is the best approach.  Otherwise,
you'd have to say that T is a subtype of set[T] that is closed with
respect to operations like union, interection, and complement.
That can be done, but it might be more complicated than you want.

-Shankar

Jerome White <jerome@cs.caltech.edu> wrote:

Jerome White <jerome@cs.caltech.edu> wrote:

> 
> Thanks Shankar. When I alter the definition of 'f' and 'g' as such
> 
>   f: FUNCTION[set[T] -> set[T]]
>   g(a, b: set[T]): set[T]
> 
> the singleton_elt's go away. I take it my mistake was in thinking that
> PVS knew T was a set. Is there any way I can express that in the
> parameterized type definition? Something like the following
> 
>   example[T: TYPE FROM set, f: FUNCTION[T -> T]]: THEORY
> 
> I realise this isn't correct, but that's the gist.
> 
> jerome