fact: Definition reduce s := filter [pred zx | zx.1 != 0] (foldr (fun zx s => augment s zx.1 zx.2) [::] s).
imports: HB(structures) mathcomp(ssreflect ssrfun ssrbool eqtype ssrnat seq choice) mathcomp(fintype bigop order generic_quotient) mathcomp(ssralg ssrnum ssrint)