Formal requirements (work in progress)