From 6553983f70e1e15aebace9b4cc43caeb62572b20 Mon Sep 17 00:00:00 2001 From: Christoph Egger <Christoph.Egger@fau.de> Date: Tue, 1 Dec 2015 16:48:33 +0100 Subject: [PATCH] Add fixpoint-unfold to detClosure should now properly calculate the FL-Closure --- src/lib/CoAlgMisc.ml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/lib/CoAlgMisc.ml b/src/lib/CoAlgMisc.ml index 4866e4f..54ff973 100644 --- a/src/lib/CoAlgMisc.ml +++ b/src/lib/CoAlgMisc.ml @@ -889,6 +889,16 @@ let rec detClosure nomTbl hcF fset atset nomset s f = else (); let s1 = List.nth sortlst (if first then 0 else 1) in detClosure nomTbl hcF fset atset nomset s1 f1 + (* + FL(μ X . φ) = {μ X . φ} ∪ FL(φ[X|->μ X . φ]) + *) + | C.HCMU (name, f1) -> + let unfold = C.hc_replace hcF name f f1 in + detClosure nomTbl hcF fset atset nomset s unfold + | C.HCNU (name, f1) -> + let unfold = C.hc_replace hcF name f f1 in + detClosure nomTbl hcF fset atset nomset s unfold + let detClosureAt hcF atset name f () = match f.HC.node with -- GitLab