John Munroe
2011-09-30 00:40:11 UTC
Hi,
Suppose I have the following:
axiomatization
f :: "nat => nat"
where ax: "f 0 = 0"
lemma "f 0 = 0 | f 0 = 1"
using ax
apply auto
done
Clearly, auto finds a proof because the first disjunct can be
inferred. I'm trying to dig into the proof and see which disjunct is
actually proved by auto (or simp, when appropriate). I've tried
switching on 'Full Proof' from the Isabelle menu in PG and sticking
'full_prf' after 'apply auto', but I get an error saying
"reconstruct_proof: minimal proof object'. Is there a way to see which
disjunct is proved in either Isar or ML level? Could one see which
disjunct is proved by looking at the proof term? How to retrieve the
proof term?
Any help will be appreciated. Thanks.
John
Suppose I have the following:
axiomatization
f :: "nat => nat"
where ax: "f 0 = 0"
lemma "f 0 = 0 | f 0 = 1"
using ax
apply auto
done
Clearly, auto finds a proof because the first disjunct can be
inferred. I'm trying to dig into the proof and see which disjunct is
actually proved by auto (or simp, when appropriate). I've tried
switching on 'Full Proof' from the Isabelle menu in PG and sticking
'full_prf' after 'apply auto', but I get an error saying
"reconstruct_proof: minimal proof object'. Is there a way to see which
disjunct is proved in either Isar or ML level? Could one see which
disjunct is proved by looking at the proof term? How to retrieve the
proof term?
Any help will be appreciated. Thanks.
John