). ▁ ▁When ▁unit ▁nodes ▁are ▁collected ▁and ▁removed ▁from ▁a ▁proof ▁of ▁a ▁clause ▁ ▁and ▁the ▁proof ▁is ▁fixed , ▁the ▁clause ▁ ▁in ▁the ▁root ▁node ▁of ▁the ▁new ▁proof ▁is ▁not ▁equal ▁to ▁ ▁anymore , ▁but ▁contains ▁( some ▁of ) ▁the ▁du als ▁of ▁the ▁liter als ▁of ▁the ▁unit ▁cla uses ▁that ▁have ▁been ▁removed ▁from ▁the ▁proof . ▁The ▁re insert ion ▁of ▁unit ▁nodes ▁at ▁the ▁bottom ▁of ▁the ▁proof ▁resol ves ▁ ▁with ▁the ▁cla uses ▁of ▁( some ▁of ) ▁the ▁collected ▁unit ▁nodes , ▁in ▁order ▁to ▁obtain ▁a ▁proof ▁of ▁ ▁again . ▁ ▁Algorithm ▁▁ ▁General ▁structure ▁of ▁the ▁algorithm ▁▁▁▁ ▁Input : ▁A ▁proof ▁▁▁▁ ▁Output : ▁A ▁proof ▁ ▁with ▁no ▁global ▁redund ancy ▁with ▁unit ▁redundant ▁node ▁▁▁▁ ▁( un its Queue , ▁) ▁ ← ▁collect Un its (); ▁▁▁▁▁▁ ← ▁fix (); ▁▁▁▁ ▁fixed Un its Queue ▁ ← ▁fix ( un its Queue ); ▁▁▁▁▁▁ ← ▁re insert Un its ( , ▁fixed Un its Queue ); ▁▁▁ ▁return ▁; ▁ ▁We ▁collect ▁the ▁unit ▁cla uses ▁as ▁follow ▁▁▁▁ ▁Input : ▁A ▁proof ▁▁▁▁ ▁Output : ▁A ▁pair ▁containing ▁a ▁queue ▁of ▁all ▁unit ▁nodes ▁( un its Queue ) ▁that ▁are ▁used ▁more ▁than ▁once ▁in ▁ ▁and ▁a ▁broken ▁proof ▁▁▁▁▁ ← ▁; ▁▁ ▁traverse ▁ ▁bottom - up ▁and ▁foreach ▁node ▁ ▁in ▁ ▁do ▁▁▁ ▁if ▁ ▁is ▁unit ▁and ▁ ▁has ▁more ▁than ▁one ▁child ▁then ▁▁▁▁▁▁▁