Skip to content

Commit 07ee8c2

Browse files
committed
fix bugs when printing: add -1 for thesold and check if mvbdu is true
1 parent 461a133 commit 07ee8c2

2 files changed

Lines changed: 20 additions & 6 deletions

File tree

core/KaSa_rep/reachability_analysis/translation_in_natural_language.ml

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,7 @@ let try_partitioning parameters handler error
249249

250250
let translate parameters handler error (rename_site_inverse : rename_sites)
251251
mvbdu nsites restriction_bdu =
252-
let threshold = Ckappa_sig.int_of_site_name nsites in
252+
let threshold = Ckappa_sig.int_of_site_name nsites - 1 in
253253
let error, handler, list =
254254
Ckappa_sig.Views_bdu.parametric_conditions_of_mvbdu parameters handler error
255255
~threshold mvbdu
@@ -295,11 +295,10 @@ let translate parameters handler error (rename_site_inverse : rename_sites)
295295
List.fold_left
296296
(fun (error, list) elt ->
297297
let error, elt = rename_site_inverse parameters error elt in
298-
error, elt :: list)
299298
(* keep only the sites and not the guards, because the guards are contained in the mvbdu and all mvbdus are true *)
300-
(* match Ckappa_sig.site_or_guard_p_of_mvbdu_var elt nsites with
299+
match Ckappa_sig.site_or_guard_p_of_mvbdu_var elt nsites with
301300
| Site _ -> error, elt :: list
302-
| Guard_p _ -> error, list) *)
301+
| Guard_p _ -> error, list)
303302
(error, [])
304303
(List.rev var_list)
305304
in
@@ -796,6 +795,16 @@ let rec print ?beginning_of_sentence:(beggining = true)
796795
in
797796
error, bdu_handler
798797
| Valuations_with_guards valuations ->
798+
let error =
799+
Site_graphs.KaSa_site_graph.print log parameters error t
800+
in
801+
let () = Loggers.fprintf log " => " in
802+
let should_use_bracket =
803+
match valuations with
804+
| [] | [ _ ] -> false
805+
| _ :: _ -> true
806+
in
807+
let () = if should_use_bracket then Loggers.fprintf log "[ " in
799808
let error, _bool, bdu_handler =
800809
List.fold_left
801810
(fun (error, bool, bdu_handler) (sites, mvbdu) ->
@@ -831,6 +840,7 @@ let rec print ?beginning_of_sentence:(beggining = true)
831840
(error, false, bdu_handler)
832841
valuations
833842
in
843+
let () = if should_use_bracket then Loggers.fprintf log " ]" in
834844
let () = Loggers.print_newline log in
835845
error, bdu_handler
836846
| No_known_translation list ->

core/KaSa_rep/reachability_analysis/views_domain.ml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -758,14 +758,14 @@ module Domain = struct
758758
(*this is a function to convert a bdu of diff into a list.
759759
return a pair: (bdu, and a pair of (site, state) list of list)*)
760760
let handler = get_mvbdu_handler dynamic in
761-
let nsites = Ckappa_sig.int_of_site_name (get_nsites static) in
761+
let threshold = Ckappa_sig.int_of_site_name (get_nsites static) - 1 in
762762
let error, handler, list =
763763
Ckappa_sig.Views_bdu.extensional_of_mvbdu parameters handler error
764764
bdu_diff
765765
in
766766
let error, handler, split_list =
767767
Ckappa_sig.Views_bdu.parametric_conditions_of_mvbdu parameters handler
768-
error ~threshold:nsites bdu_diff
768+
error ~threshold:threshold bdu_diff
769769
in
770770
let _ = split_list in
771771

@@ -3190,6 +3190,10 @@ module Domain = struct
31903190
(*-----------------------------------------------------------*)
31913191
Wrapped_modules.LoggedIntMap.fold
31923192
(fun _ mvbdu (error, (handler, list)) ->
3193+
let error, handler, is_true = Ckappa_sig.mvbdu_is_true_for_guards parameters handler error mvbdu restriction_bdu in
3194+
if is_true then
3195+
(error, (handler, list))
3196+
else
31933197
let error, handler =
31943198
if local_trace || Remanent_parameters.get_trace parameters
31953199
then (

0 commit comments

Comments
 (0)