| ▲ | kodoman a day ago | |||||||||||||||||||||||||
The problem is part of the domain of the program is the file system. It seems you agree with me in your previous point but only say that you don't want to consider it then claim it is fair easier. My point is exactly file systems are the problem you layout as much, the thing is simpler models would not be. Consider a simple look up table with the key being a name and the content being a resizable array that the program can fork off to other processes by value and not reference (kind of like let binding in common lisp) this is much easier to reason about and simpler. What you can not do is start with something as complex as a file system and then say 'I am going to draw up simplified model and just assume my program will behave as so' You have to show that your program will treat the more complex thing in a way such that you can draw a mapping between the the state of the file system and the simplified model. I don't think this is just me being overly pedantic, if I just assume my simplified models apply I scarcely prove anything. I am also saying the solution is to use something simpler then a file system (from an interface point of view). | ||||||||||||||||||||||||||
| ▲ | Veserv a day ago | parent [-] | |||||||||||||||||||||||||
A “simple” lookup table is also nearly impossible. Any “service” in another process more complex than a array pointing at non-moving data where the client interacts with it exclusively using integer handles is extremely hard and strains the limits of modern proof systems. | ||||||||||||||||||||||||||
| ||||||||||||||||||||||||||