let instantiate_transitions all_procs procs trans = let aux acc {tr_info = tr} = let tr_others,others = missing_args procs tr.tr_args in let d = Variable.all_permutations tr.tr_args procs in (* do it even if no arguments *) let d = if d = [] then [[]] else d in List.fold_left (fun acc sigma -> instance_of_transition tr all_procs tr_others sigma :: acc ) acc d in List.fold_left aux [] trans