[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PVS-Help] Showing all type predicates for a skolem constant
Hi Ronny,
Sorry I couldn't answer earlier - I'm on vacation with a connection that
is not so good.
The all-typepreds command basically tries to bring in typepreds that
would not otherwise be processed by the ground-prover, in particular,
defined predicates, propositional connectives (aside from conjunction),
and quantified expressions will be added, but all others ignored.
I'm going to update the document string for all-typepreds to make this
clear.
If you want more capabilities, you can look at all-typepreds in the
src/prover/strategies.lisp file, and make your own strategy based on it.
Feel free to ask if you have any questions.
Regards,
Sam
Ronny Wichers Schreur <ronny@cs.ru.nl> wrote:
> Hello Cesar,
>
> You write:
> > It may be that the strategy all-typepreds only displays user defined
> > type predicates. I'm not sure how to get the implicit predicate N >= 0.
>
> I get the same behaviour with a user-defined type (see below).
>
>
> Cheers,
>
> Ronny Wichers Schreur
>
> --------------------------------------
> typepred: THEORY
> BEGIN
> T: TYPE = {MinusOne, Zero, One}
>
> ordinal (t:T): nat
> = CASES t OF
> MinusOne: 0,
> Zero: 1,
> One: 2
> ENDCASES
>
> ;< (x,y: T): bool
> = ordinal (x) < ordinal (y)
> ;>=(x,y: T): bool
> = ordinal (x) >= ordinal (y)
>
> natT: NONEMPTY_TYPE = {x: T | x >= Zero} CONTAINING Zero
> belowT(i: T): TYPE = {s: T | s < i} % may be empty
>
> natL: LEMMA
> FORALL (n: natT):
> n >= Zero
>
> belowL: LEMMA
> FORALL (n: belowT (One)):
> n >= Zero
>
> END typepred
> --------------------------------------