Hi all,
I got the error message Metis: The assumptions are inconsistent
while proving subgoals with metis of a lemma of the following form:
assumes "P T ∧ Q T∧ R T"
shows "P T'"
I presume that means "P T ∧ Q T∧ R T"
is False
.
How do I get a witness from metis that the assumption is indeed inconsistent?
(I have removed all sorry
before that lemma, and introduced no new axioms).
Please see lin 340 of the file SimpleDeviceIIAGO_WritePull.thy
for the specific issue.
Best,
Chengsong
SimpleDeviceIIAGO_WritePull.thy
Transposed.thy
BasicInvariants.thy
BuggyRules.thy
CoherenceProperties.thy
have i204: False
using assms i617 nextReqRespIs.simps(1)[of _] unfolding nextGOPendingIs_def
supply [[metis_trace]]
by metis
With this is is clear:
have i204: False
using assms i617 nextReqRespIs.simps(1)[of ‹GO_WritePull›] unfolding nextGOPendingIs_def simp_thms
if_True
(look at the proof state)
(I did this per hand)
Thanks a lot, Mathias!
Doing a have "False" try
also yields the conflicting facts, but how did you come up with the
using assms i617 nextReqRespIs.simps(1)[of ‹GO_WritePull›] unfolding nextGOPendingIs_def simp_thms
bit?
Mathias Fleury said:
have i204: False using assms i617 nextReqRespIs.simps(1)[of _] unfolding nextGOPendingIs_def supply [[metis_trace]] by metis
I first transformed the proof into:
have False
using XXXX by metis
Then I looked at the facts and saw some definition. So I applied it, yielding:
have False
using XXXX unfolding YYY by metis
After the unfolding there was a "if 0 = 0 then ... else ..." which I wanted to remove
ho, and there was a single fact nextReqRespIs.simps
that required instantiation. I looked at the context and there was a single matching term.
Last updated: Dec 21 2024 at 16:20 UTC