A hierarchical technique for mechanical theorem proving and its application to programming language design | lit.salon