commit of verification long standing branch

I think we should have a isNormal flag for each term, and that a term should always be in normal form. It should not be that difficult to maintain and use when resolving functions (and now anywhere rules), but it is not part of this commit. We should discuss it separately.