let simplifyTrans transl =
List.fold_left
(fun (ltr,lpcond) tr ->
let (crossCond , pcond ) = simplifyCond (tr.cross) in
(* pcond stands for parametrized condition :
disjunction of conjunctions of parametrized call/return *)
let tr'={ start = tr.start ;
stop = tr.stop ;
cross = crossCond ;
numt = tr.numt
}
in
Aorai_option.debug "condition is %a, dnf is %a"
Promelaoutput.print_condition crossCond pretty_dnf pcond;
if tr'.cross <> TFalse then (tr'::ltr,pcond::lpcond) else (ltr,lpcond)
)
([],[]) (List.rev transl)