Reynolds is stated as the inventor of parametricity. But it seems to me
that the
same idea is stated quite clearly by Dijkstra in 1970 in this note:
https://vanemden.wordpress.com/2018/10/29/history-of-structured-programming/#EWD288

In addition, Dijkstra broaches the interesting idea that proofs ought to be
constructed
at the level of the flowchart first. Once that is done, using high level
steps, it can be
refined into code. But the proof of the code is essentially a refinement of
the proof of
the flowchart. This idea is interesting in that it is often the case that a
flowchart might
say "find the largest value such that...", which when reduced to code would
involve a loop.
A proof that the largest value exists at the abstract "flowchart" level
would be easier
to prove than a low-level inductive proof of a program loop that implements
the search
and involving issues such as finding invariants.

To my mind, this "hierarchical proof technique" (my words, not Dijkstra's)
is rather
interesting.

Tim
_______________________________________________
Axiom-developer mailing list
Axiom-developer@nongnu.org
https://lists.nongnu.org/mailman/listinfo/axiom-developer

Reply via email to