DFA⇒NFA half done
Merge branch 'master' into banacorn
discards terms with unsolved metas
restructure the whole codebase
define NFA, remove cyclic dependencies