working on separating the coq version of semantics from AST semantics