To do : proving axioms in tools.idr and finishing encoding in group_reduce.idr