*To*: Christoph LANGE <c.lange at cs.bham.ac.uk>*Subject*: Re: [isabelle] Simpler theorem statements, and proofs for them [Re: Started auction theory toolbox; announcement, next steps, and questions]*From*: Makarius <makarius at sketis.net>*Date*: Thu, 22 Nov 2012 17:56:35 +0100 (CET)*Cc*: isabelle-users at cl.cam.ac.uk*In-reply-to*: <50AE3314.8060002@cs.bham.ac.uk>*References*: <50916DB3.4030707@cs.bham.ac.uk> <B342CF2B-EEC3-4932-A98D-193702F57A14@cam.ac.uk> <5091CE53.6020006@cs.bham.ac.uk> <C76381F2-5127-48DF-B198-DE2B3AABEAB1@cam.ac.uk> <50AE3314.8060002@cs.bham.ac.uk>*User-agent*: Alpine 2.00 (LNX 1167 2008-08-23)

On Thu, 22 Nov 2012, Christoph LANGE wrote:

I'm now back at our auction formalisation and catching up with emails. http://cs.bham.ac.uk/research/projects/formare/code/auction-theory/Vickrey.thy

* 'definition' with Pure equality (==) is quite old-fashioned. Normally you just use HOL = or its abbreviation for bool <-> here, as you would for 'primrec', 'fun', 'function' (In contrast HOL --> and ! are old-fashioned/cumbersome, where Pure ==> and !! would do the job better.) * I recommend to put the whole 'head' of some definition on one line, this works best with jEdit folding: definition a :: A where "a = t" fun b :: B where "b x = t" Where the 'where' goes depends on the length of A and t; it is not informative for the head, so I prefer to have it second by default. * 'done' should be indented like the 'apply' script. Don't ask why, Isar indentation is an arcane discipline, and still awaits tool support in Isabelle/jEdit. BTW, the shortest structured proof that is not a script looks like this: lemma A unfolding a_def b_def c_def auto instead of your apply unfold, apply auto, done * About your funny comments (* by contradiction *): according to the Isar philosophy, you always strive to make things clear by formal means, and avoid comments. Thus can be done by putting a suitable "proof (rule ...)" standard step here. According to my experience, informal or semi-formal people often have problems to understand what not-introduction, not-elimination, and classical reasoning means. The following examples explore this in the formal playground: notepad begin have "¬ A" proof (rule notI) assume A then show False sorry qed next have "¬ A" sorry have A sorry from `¬ A` and `A` have C by (rule notE) from `¬ A` and `A` have C by contradiction from `A` and `¬ A` have C by contradiction next have C proof (rule ccontr) assume "¬ C" then show False sorry qed next have C proof (rule classical) assume "¬ ?thesis" then show ?thesis sorry qed next have C proof (rule classical) assume "¬ ?thesis" then have False sorry then show ?thesis by (rule FalseE) qed end

Makarius

**Follow-Ups**:

**References**:**[isabelle] Simpler theorem statements, and proofs for them [Re: Started auction theory toolbox; announcement, next steps, and questions]***From:*Christoph LANGE

**Re: [isabelle] Simpler theorem statements, and proofs for them [Re: Started auction theory toolbox; announcement, next steps, and questions]***From:*Lawrence Paulson

**Re: [isabelle] Simpler theorem statements, and proofs for them [Re: Started auction theory toolbox; announcement, next steps, and questions]***From:*Christoph LANGE

- Previous by Date: Re: [isabelle] ?spam? Re: Simpler theorem statements, and proofs for them [Re: Started auction theory toolbox; announcement, next steps, and questions]
- Next by Date: Re: [isabelle] Simpler theorem statements, and proofs for them [Re: Started auction theory toolbox; announcement, next steps, and questions]
- Previous by Thread: Re: [isabelle] Simpler theorem statements, and proofs for them [Re: Started auction theory toolbox; announcement, next steps, and questions]
- Next by Thread: Re: [isabelle] Simpler theorem statements, and proofs for them [Re: Started auction theory toolbox; announcement, next steps, and questions]
- Cl-isabelle-users November 2012 archives indexes sorted by: [ thread ] [ subject ] [ author ] [ date ]
- Cl-isabelle-users list archive Table of Contents
- More information about the Cl-isabelle-users mailing list