A program is just a proof is just a very precise explanation.
Science and the scientific method is the most efficient way humanity has developed to systematically generate Discoverable Knowledge. The method centers around Feedback Loops of generating a falsifiable hypothesis and then putting those Theories Under Test. That falsifiable hypothesis is described as a Good Explanation by David Deutsch in his book “The Beginning of Infinity.”
A good explanation is one that is:
- hard to vary without changing its meaning
What is software but an explanation so precise that it becomes indistinguishable from that which it explains?
If software is an explanation, then what is the testing of that explanation? The integration and delivery of that software; fully immersing it into the environment it’s meant to describe.
But… What then? There must be some way to reason about the results of said delivery, which is necessary in order to learn from the information.
What’s even better than a good explanation is to have Self-Validating Good Explanations. Continuous Testing and Continuous Delivery enables Continuous Learning, which is what enables Continuous Compliance.
Good Explanations often fit in as Well Designed Abstractions.