Re:The Human Obsession With "Formal Proofs" is a Waste of Time
by agentcoops on Tuesday February 17, 2009 @07:28PM
(#485204)
Clearly when developing an algorithm one should have an intention as to what it will do. The idea behind many algorithmic proofs and, I assume, that of the original poster, is to prove that ones implementation in fact does what you intended. For example, proving that a sorting algorithm always outputs a properly sorted list or something to that effect.
Modern theorem provers are also pretty awesome in that they can often, using the correspondence between formal proofs and programs (the Curry-Howard isomorphism for those interested), turn a proof that some unspecified function F, say, sorts a list into a Haskell/ML implementation of a function satisfying that proof.
Re:The Human Obsession With "Formal Proofs" is a Waste of Time
by akkartik on Wednesday February 18, 2009 @12:07AM
(#485386)
Even if you prove that a program meets a formal spec, there's no way to know that the formal spec does what you 'intend'. And specs can get complex too.
Re:The Human Obsession With "Formal Proofs" is a Waste of Time
by SapphireSun on Wednesday February 18, 2009 @03:14AM
(#485512)
Nonetheless, you have reduced the uncertainty in the system. At least you know where the system is breaking down when you find bugs if you have proven your algorithms conform to spec.
Given that algorithms can have undecidable outcomes, its hard to even tell what a meaningful description of such algorithms in terms of proof even entails.