Dear Tim,

The book *Concrete Semantics*, by Gerwin Klein and Tobias Nipkow, gives a
nice introduction to reasoning about programs in a proof assistant. It has
a chapter on Hoare logic. It is available free online:

  http://www.concrete-semantics.org/concrete-semantics.pdf

Best wishes,

Jeremy



On Sat, Jun 24, 2017 at 1:07 AM, Tim Daly <axiom...@gmail.com> wrote:

> All,
>
> Forgive my lack of deep understanding but I need guidance.
>
> Consider trying to prove a program. The Sequent-style calculus
> of proofs are of the form:
>
>       A
>       --
>       B
>
> whereas the Hoare triple calculus is of the form
>
>     A { Q } B
>
> Hoare makes the observation that "axioms may provide a simple
> solution to the problem of leaving certain aspects of the language
> undefined".
>
> Dijkstra [0] observes "This remark is deeper than the primarily
> suggested applications such as leaving wordlength or precise
> rounding rules unspecified. Hoare's rules for the repetitive construct
> rely on the fact that the repeatable statement leaves a relevant
> relation invariant. As a result, the same macroscopic proof is
> applicable to two different programs that only differ in the form of
> the repeatable statements S1 and S2, provided that both S1 and S2
> leave the relation invariant (and ensure progress in the same direction).
>
> Clearly the statements in Q can be proven using sequent calculus.
> But Dijkstra hints at a "Giant Step" kind of reasoning and proof that
> enables one to skip the proof of Q, which would greatly simplify program
> proofs, especially mathematical proofs in Axiom.
>
> Consider that, in Axiom, I'm working at a proof from both ends. On one
> hand I have the code and on the other I have the mathematics.
>
> Sequent logic seems to insist on stepping through every line of the
> program. Hoare logic seems to imply that it is possible to ignore portions
> of the program logic provided the Q invariant holds.
>
> Clearly I need to do further study. Can you recommend any papers that
> might give me more clarity on this subject?
>
> Many thanks,
> Tim
>
> [0] Dijkstra, Edsger W. "Correctness Concerns and, among Other Things,
> Why They Are Resented" in Programming Methodology Springer-Verlag
> David Gries (ed) (1978) ISBN 0-387-90329-1  pp80--88
>
_______________________________________________
Axiom-developer mailing list
Axiom-developer@nongnu.org
https://lists.nongnu.org/mailman/listinfo/axiom-developer

Reply via email to