| ▲ | Animats 7 hours ago | ||||||||||||||||
For some problems, yes. Formal specification is particularly useful in two cases. 1) The problem is simple but an efficient implementation is hard or bug-prone. Examples are garbage collection, file systems, sorts, databases, and tree updating. 2) The inverse of the problem is simpler than the forward operation. Examples include matrix inversion and parsing. | |||||||||||||||||
| ▲ | auggierose 7 hours ago | parent [-] | ||||||||||||||||
I wouldn’t split it like that. Formal verification is useful in the case that the spec is simpler than the implementation. That’s it. Coming up with simple specs is not necessarily easy. You could say that is kind of what math is about. That’s how we actually make progress: find those cases where simple specs are possible and build upon them. That’s the kind of library made for eternity. | |||||||||||||||||
| |||||||||||||||||