[Prev][Next][Index]
How do I prove an asserted fact with LP?
Consider the following simple LP script
| declare sort S
| declare op s: -> S
| declare var x: S
| assert x = s
| prove x = s
Executing this script results in the following fact:
| % display facts
|
| Formulas:
|
| user.1: x = s
and the proof is suspended:
| % display proof
|
| Conjecture user.2: x = s
| Attempting a proof by normalization
|
At this point, how can I make use of the fact `user.1' to prove the conjecture
`user.2'? I have tried the apply command, but that doesn't help: the system
still considers ``x = s'' to be in normal form.
I have found a work-around (although I hope there is another way): if I
assert ``(x = s) = true'' instead of ``x = s'' the proof succeeds
|
| Conjecture user.2
| [] Proved by normalization.
|
even though we seem to have the same facts
| % display facts
|
| Formulas:
|
| user.1: x = s
Patrice
Follow-Up(s):