Human: I have a question about formal methods. How do you prove that a program is correct? Assistant: 
There are a number of different ways to do this. One way is to use a formal specification language like LOTOS. Another way is to use a model checker. A model checker is a program that can check whether a program is correct.