设多输出函数的初始覆盖为C,目标解为无冗余覆盖N。利用阵列变换从C中分离出CON。即输出部分凡取值为0者一律改为u,并删去输出部分取值全部为u的立方体。然后执行以下步骤:
  第一步 N = S[CON]
  第二步 对N中每一元素e作如下运算:
  (1) 通过反复对e求余面,把e转化为质立方体z。从N中删去e。
  如何把e转化为质立方体z,详见下文。
  (2)删去N中被z包含的立方体。
  (3) N = N ∪ z
  第三步 删去N中冗余立方体。设e是N的元素,若:
      {e#(N-e)}∩CON=φ
  则把e从N中删去。
  第四步 删除多余连线。
  如何删除多余连线,详见下文。
  第五步 当第四步中没能删除任何一根多余连线时,则结束运算。否则应对在第四步中发生过变化的每一立方体重新加工。设变化之前的立方体为e,变化之后的立方体为e′。
  (1) 通过反复对e′求余面,把e′转化为质立方体z,且z ≠ e。(为了避免陷入死循环,条件z 1 e是必要的,而且z还应当和前面转化过的质立方体都不同。)
  (2) 用z代替e′
      N = ( N - e' ) ∪ z
  (3) 删去N中被z包含的立方体。转入第三步。

  如何把立方体e转化为质立方体z
  设 e = x1x2…xi…xn | y1y2…yj…ym
  第一步 i从1到n重复以下步骤:
  (1) 令 p = e
  (2) 若xi ≠ X则用X置换p中xi原来的取值。
  (3) 若p和C一致,则令e = p (p是余面) 。
  第二步 j从1到m重复以下步骤:
  (1) 令p = e
  (2) 若yj = u则用1置换p中yj原来取值。
  (3) 若p和C一致,则令e = p(p是余面)。最后得到的p就是质立方体。值得一提的是, 当i和j变化的顺序不同时,将得到不同的质立方体。