The general idea is to first import/export modules which are further
than the current one, and then import/export modules which are close
dependencies.
This commit tries to use the same order of imports for every file, and
describes the convention in ProofGuide.md. There is one exception,
where we do not follow said convention: in program_logic/weakestpre.v,
using that order would break printing of texan triples (??).