| sortcols#(; mx) {let m = 0 in while m < #c mx do {/* invariant scolsorted(mx, m, mx`) ∧ perm(mx`.toArr, mx.toArr) ∧ #c mx = #c mx` ∧ #r mx = #r mx` ∧ m ≤ #c mx ∧ #c mx ≠ 0 wfbound #c mx - m */; /* use contract sortcol-correct and skip call */; sortcol#(m; mx); m := m + 1} } |