Abstractions And Optimisations For Model-Checking Software-Defined Networks