Module Main__.Redir
val rev_redirs_of : ('a * 'b) list -> ('b * 'a list) listval rev_ind_redirs : ('a * 'b) list -> ('a * 'c) list -> ('a * 'c) list間接参照の逆辺のうち,間接参照ノードを指している辺のみを抽出
val check_zero : ('a * int) list -> ('a * 'a list) list -> 'a -> 'a list -> 'a -> 'a list optionループを検出した場合は逆方向に間接ノードを辿って参照カウンタの値が全てゼロであることを確認する
- ダメだったら None を返す
 - 大丈夫だったら訪れたノードの集合を Some に包んで返す
 
val rdfs : ('a * int) list -> ('a * 'a list) list -> 'a -> ('a * int) list * intループを検出しなかった場合は,逆辺を深さ優先探索して,帰りがけ順に被参照数を加算してゆく
- 帰り値はノードと被参照数の連想リストと被参照数のタプル (この連想リストから訪れたノードの集合も導出できる)
 
val ref_count_redir : ('a * int) list -> ('a * 'a) list -> ('a * 'a list) list -> ('a * 'a list) list -> 'a list -> 'a -> ('a * int) list optionnode_ref からの redirection をチェックする
- 不正な間接循環参照を検出した場合は None を返す
 - そうでない場合はノードと被参照数の連想リストを Some に包んで返す
 
val ref_count_redirs : ('a * int) list -> ('a * 'a) list -> ('a * 'a list) list -> ('a * 'a list) list -> ('a * int) list optionnode_ref のリストについて,redirection をチェックする
val update_free_indeg : (int * 'a) Stdlib.ref array -> (int * int) -> unit自由リンクの参照カウンタの値を
free_indeg_diffで加算する