[isabelle-dev] NEWS: 'consider' command and "cases" method
Andreas Lochbihler
andreas.lochbihler at inf.ethz.ch
Wed Sep 23 08:47:56 CEST 2015
Dear Manuel,
consider supports the same syntax as obtains, i.e., you can use "where" as in
consider "x = ∞" | "x = -∞" | y where "x = ereal y"
Andreas
On 23/09/15 08:41, Manuel Eberl wrote:
> Is there a way to use ‘consider’ with fixed variables?
>
> E.g. if I have a rule like ereal_cases:
>
> (⋀r. x = ereal r ⟹ thesis) ⟹
> (x = ∞ ⟹ thesis) ⟹
> (x = - ∞ ⟹ thesis) ⟹ thesis
>
> I would like to write
>
> consider "x = ∞" | "x = -∞" | "x = ereal x'" for x'
>
> But that syntax is not supported. Is there another way except the rather
> clumsy
>
> consider "x = ∞" | "x = -∞" | "∃x'. x = ereal x'"
>
> ?
>
>
> Cheers,
>
> Manuel
>
>
>
> On 15/06/15 00:11, Makarius wrote:
>> * New command 'consider' states rules for generalized elimination and
>> case splitting. This is like a toplevel statement "theorem obtains" used
>> within a proof body; or like a multi-branch 'obtain' without activation
>> of the local context elements yet.
>>
>> * Proof method "cases" allows to specify the rule as first entry of
>> chained facts. This is particularly useful with 'consider':
>>
>> consider (a) A | (b) B | (c) C <proof>
>> then have something
>> proof cases
>> case a
>> then show ?thesis <proof>
>> next
>> case b
>> then show ?thesis <proof>
>> next
>> case c
>> then show ?thesis <proof>
>> qed
>>
>>
>> This refers e.g. to Isabelle/051b200f7578. Some examples are in
>> ~~/src/HOL/Isar_Examples/Structured_Statements.thy
>>
>> It may be seen as an answer to the open problem of section 5.5.3
>> "Generalized case-splitting" from my Ph.D. thesis. There is no need to
>> support non-linear proof processing in the Isar/VM: 'consider' merely
>> states and proves the rule, and the "cases" method does the splitting in
>> a normal backwards proof (with case names).
>>
>> This means that awkward use of raw proof blocks with "big-bang
>> integration" by blast is no longer required. General case-splitting can
>> now be written explicitly and robustly.
>>
>>
>> Makarius
>> _______________________________________________
>> isabelle-dev mailing list
>> isabelle-dev at in.tum.de
>> https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev
> _______________________________________________
> isabelle-dev mailing list
> isabelle-dev at in.tum.de
> https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev
>
More information about the isabelle-dev
mailing list