I am trying to understand the difference between the shows
and obtains
commands in Isar (as of Isabelle 2020). The documentation in isar-ref.pdf
(pp 137.) seems to have some typo and confuses me.
... Moreover, there are two kinds of conclusions: shows states several simultaneous propositions (essentially a big conjunction), while obtains claims several simultaneous simultaneous contexts of (essentially a big disjunction of eliminated parameters and assumptions, cf. §6.6).
shows
seems straight forward.
From the limited experience I have so far, it seems that obtains
is about proving a conclusion that begins with an existential quantifier, as shown in this question (where the conclusion is existential and then the goal is a obtains
).
Is this really the distinction between shows
and obtains
(universal vs existential)?
If not, what is the proper intended use of obtains
?
obtains
is the version ofobtain
that works right after lemmas, likeshows
/show
orassumes
/assume
. Makarius did not pick the names by accident. Do you understand the explanation ofobtain
in the prog-prove? – Mathias Fleuryobtain
inprog-prove
(among others) are the first thing I read. I couldn't understand because they are somewhat magical. The examples themselves work but I often couldn't get it to work on other data. There is usually no further analysis than the working examples. I guess the example set isn't large enough to cover all the combinations in practice. Hence the questions about its grammar, e.g. whetherobtains
translate to existential quantification etc., so that I can understand the semantics in ordinary mathematical sense. – tinlyx