A proof is a simple [object](object.md) which, given another object, is either satisfied by this other object or not. If a complex object references a proof, it must satisfy this proof.