[isabelle-dev] [isabelle] Imperative HOL: typo?

Florian Haftmann florian.haftmann at informatik.tu-muenchen.de
Thu Oct 2 10:45:04 CEST 2014


Hi Christian,

since nobody else volunteers, I will take this up.

Thanks a lot!

	Florian

On 26.09.2014 14:12, Christian Sternagel wrote:
> I moved this thread from isabelle-users to isabelle-dev. (Please let me
> know in case this was the wrong call.)
> 
> Dear all,
> 
> I tried the variant of the lemma from my previous mail and the result is
> in the attached patch (created with "hg qnew"). For testing I ran
> 
> isabelle build -b HOL-Imperative_HOL
> 
> as well as
> 
> isabelle afp_build Separation_Logic_Imperative_HOL
> 
> as far as I can tell the only session in the AFP depending on
> Imperative_HOL.
> 
> I did not obtain any errors.
> 
> cheers
> 
> chris
> 
> On 09/26/2014 01:00 PM, Christian Sternagel wrote:
>> Dear Florian,
>>
>> I will check your proposal. However, I was more confused by the first
>> premise of "successE" referring to "f" while afterwards the command is
>> sometimes referred to by "c". Shouldn't it be the same (either "f" or
>> "c") throughout the lemma?
>>
>> lemma successE:
>>    assumes "success f h"
>>    obtains r h' where "execute f h = Some (r, h')"
>>    using assms by (auto simp: success_def)
>>
>> shouldn't that imply the other two equations?
>>
>> cheers
>>
>> chris
>>
>> On 09/15/2014 08:59 PM, Florian Haftmann wrote:
>>> Hi Christian,
>>>
>>>> Is the "c" in the following lemma (to be found in
>>>> ~~/src/HOL/Imperative_HOL/Heap_Monad.thy") seems strange:
>>>>
>>>> lemma successE:
>>>>    assumes "success f h"
>>>>    obtains r h' where "r = fst (the (execute c h))"
>>>>      and "h' = snd (the (execute c h))"
>>>>      and "execute f h ≠ None"
>>>>    using assms by (simp add: success_def)
>>>
>>> Strange, indeed, particularly since the first two obtained claused are
>>> essentially definitional tautologies.
>>>
>>> Maybe this would suite better:
>>>
>>>> lemma successE:
>>>>    assumes "success f h"
>>>>    obtains r h' where "r = fst (the (execute c h))"
>>>>      and "h' = snd (the (execute c h))"
>>>>      and "execute f h = Some (r, h')"
>>>>    using assms by (simp add: success_def)
>>>
>>> There are actually some proofs using successE.  How do they perform with
>>> this lemma definition changed?
>>>
>>>     Florian
>>>
>>>>
>>>> cheers
>>>>
>>>> chris
>>>>
>>>
> 
> 
> _______________________________________________
> isabelle-dev mailing list
> isabelle-dev at in.tum.de
> https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev
> 

-- 

PGP available:
http://home.informatik.tu-muenchen.de/haftmann/pgp/florian_haftmann_at_informatik_tu_muenchen_de

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: OpenPGP digital signature
URL: <https://mailmanbroy.informatik.tu-muenchen.de/pipermail/isabelle-dev/attachments/20141002/e46c44a3/attachment.asc>


More information about the isabelle-dev mailing list