[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PVS-Help] Getting the prover to use axioms
Hi,
I've been unable get the prover to use axioms in the theory. For example:
state : THEORY
BEGIN
State : TYPE =
[#
fDomain : [nat -> bool],
fGetAtt : [nat, string -> string],
fMaxId : nat
#]
s : VAR State
i : VAR nat
AxMaxId : AXIOM
FORALL s:
LET maxId = fMaxId(s) IN
LET d = fDomain(s) IN
FORALL i: d(i) => i < maxId
ThCheck2 : CONJECTURE
FORALL s:
LET d = fDomain(s) in
LET maxId = fMaxId(s) IN
FORALL i: d(i) => i < maxId
END state
The conjecture is identical to the axiom...so it should be provable,
right? Here is the output of M-x pr:
ThCheck2 :
|-------
{1} FORALL s:
LET d = fDomain(s) IN
LET maxId = fMaxId(s) IN FORALL i: d(i) => i < maxId
Rule? (grind)
Trying repeated skolemization, instantiation, and if-lifting,
this simplifies to:
ThCheck2 :
{-1} i!1 >= 0
{-2} fDomain(s!1)(i!1)
|-------
{1} i!1 < fMaxId(s!1)
How do I get the prover to use AxMaxId?
Thanks,
-Nikhil