last missing proof in groupoid.v