recover version from Modified3
add assertion of version 4
put inverse_modulo into a separate file
add file for lemma