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

Re: Problem typechecking over conversions on patched version



On Wed, Jun 06, 2001 at 02:20:43PM +0300, Tamarah Arons wrote:
>   NOT : [MY_PROP -> MY_PROP] =  (lambda prop : (lambda seq, i: not prop(seq, i)));
> 
> % NOT : [ASSERTION -> ASSERTION] =  (lambda a: lambda e : not a(e));
> 
>   OR : [MY_PROP, MY_PROP -> MY_PROP] =  
>         (lambda prop, prop2: (lambda seq, i: prop(seq, i) or prop2(seq, i)));
> 
>   OR : [ASSERTION, ASSERTION -> ASSERTION] = 
>            (lambda a, b : (lambda e : a(e) or b(e)));

The problem vanishes if you do not overload the basic NOT and OR
operators. If you change the above definitions to something like
'NOT_' and 'OR_', your file typechecks with PVS Version 2.3 (patch
level 1.2.2.36).

>   nonsense : lemma  
>       valid(a or not(a))

(Of course you have to change this to
  valid(OR_(a, NOT_(a)))
)

Christoph Berg
-- 
cb@cs.uni-sb.de, http://www-wjp.cs.uni-sb.de/~cb/
Office +49/681/302-4490, Fax -4290, Home +49/681/9657944
Computer Science Dept., Universität des Saarlandes, Saarbrücken

PGP signature