@@ -442,6 +442,11 @@ let init_remanent parameters error =
442442 Memo_sig. print_mvbdu;
443443 } )
444444
445+ let hack_to_separate_sites_id_from_guard_id = 1000000
446+ let boolean_predicate i = i > = hack_to_separate_sites_id_from_guard_id
447+ let leave = false
448+ let boolean_setting = Some (leave, boolean_predicate)
449+
445450let mvbdu_allocate parameters error b c d e
446451 (old_handler :
447452 ( 'a,
@@ -521,7 +526,9 @@ let memo_not =
521526 { h with Memo_sig. data = { h.Memo_sig. data with boolean_mvbdu_not = x } })
522527
523528let boolean_mvbdu_not parameters =
524- Mvbdu_algebra. generic_unary (mvbdu_allocate parameters) memo_not
529+ Mvbdu_algebra. generic_unary ~boolean_setting
530+ (mvbdu_allocate parameters)
531+ memo_not
525532
526533let memo_constant_true =
527534 Mvbdu_algebra. not_recursive_not_memoize_unary
@@ -542,21 +549,25 @@ let memo_constant_false =
542549 mvbdu_allocate
543550
544551let boolean_mvbdu_true parameters handler =
545- Mvbdu_algebra. generic_zeroary (mvbdu_allocate parameters) handler
546- (fun error -> error, Mvbdu_sig. Leaf true )
552+ Mvbdu_algebra. generic_zeroary ~boolean_setting (mvbdu_allocate parameters)
553+ handler (fun error -> error, Mvbdu_sig. Leaf true )
547554
548555let boolean_mvbdu_false parameters handler =
549- Mvbdu_algebra. generic_zeroary (mvbdu_allocate parameters) handler
550- (fun error -> error, Mvbdu_sig. Leaf false )
556+ Mvbdu_algebra. generic_zeroary ~boolean_setting (mvbdu_allocate parameters)
557+ handler (fun error -> error, Mvbdu_sig. Leaf false )
551558
552559let boolean_mvbdu_constant_true parameters =
553- Mvbdu_algebra. generic_unary (mvbdu_allocate parameters) memo_constant_true
560+ Mvbdu_algebra. generic_unary ~boolean_setting
561+ (mvbdu_allocate parameters)
562+ memo_constant_true
554563
555564let boolean_mvbdu_constant_false parameters =
556- Mvbdu_algebra. generic_unary (mvbdu_allocate parameters) memo_constant_false
565+ Mvbdu_algebra. generic_unary ~boolean_setting
566+ (mvbdu_allocate parameters)
567+ memo_constant_false
557568
558569let boolean_mvbdu_and parameters =
559- Mvbdu_algebra. generic_binary
570+ Mvbdu_algebra. generic_binary ~boolean_setting
560571 (mvbdu_allocate parameters)
561572 (build_memoize_binary
562573 (fun _parameters error ->
@@ -591,10 +602,12 @@ let memo_or =
591602 { h with Memo_sig. data = { h.Memo_sig. data with boolean_mvbdu_or = x } })
592603
593604let boolean_mvbdu_or parameters =
594- Mvbdu_algebra. generic_binary (mvbdu_allocate parameters) memo_or
605+ Mvbdu_algebra. generic_binary ~boolean_setting
606+ (mvbdu_allocate parameters)
607+ memo_or
595608
596609let boolean_mvbdu_xor parameters =
597- Mvbdu_algebra. generic_binary
610+ Mvbdu_algebra. generic_binary ~boolean_setting
598611 (mvbdu_allocate parameters)
599612 (build_memoize_binary
600613 (fun _parameters error ->
@@ -614,7 +627,7 @@ let boolean_mvbdu_xor parameters =
614627 }))
615628
616629let boolean_mvbdu_nand parameters =
617- Mvbdu_algebra. generic_binary
630+ Mvbdu_algebra. generic_binary ~boolean_setting
618631 (mvbdu_allocate parameters)
619632 (build_memoize_binary
620633 (fun _parameters error ->
@@ -634,7 +647,7 @@ let boolean_mvbdu_nand parameters =
634647 }))
635648
636649let boolean_mvbdu_equiv parameters =
637- Mvbdu_algebra. generic_binary
650+ Mvbdu_algebra. generic_binary ~boolean_setting
638651 (mvbdu_allocate parameters)
639652 (build_memoize_binary
640653 (fun _parameters error ->
@@ -654,7 +667,7 @@ let boolean_mvbdu_equiv parameters =
654667 }))
655668
656669let boolean_mvbdu_nor parameters =
657- Mvbdu_algebra. generic_binary
670+ Mvbdu_algebra. generic_binary ~boolean_setting
658671 (mvbdu_allocate parameters)
659672 (build_memoize_binary
660673 (fun _parameters error ->
@@ -674,7 +687,7 @@ let boolean_mvbdu_nor parameters =
674687 }))
675688
676689let boolean_mvbdu_imply parameters =
677- Mvbdu_algebra. generic_binary
690+ Mvbdu_algebra. generic_binary ~boolean_setting
678691 (mvbdu_allocate parameters)
679692 (build_memoize_binary
680693 (fun _parameters error ->
@@ -701,7 +714,7 @@ let boolean_mvbdu_imply parameters =
701714 }))
702715
703716let boolean_mvbdu_is_implied parameters =
704- Mvbdu_algebra. generic_binary
717+ Mvbdu_algebra. generic_binary ~boolean_setting
705718 (mvbdu_allocate parameters)
706719 (build_memoize_binary
707720 (fun _parameters error ->
@@ -728,7 +741,7 @@ let boolean_mvbdu_is_implied parameters =
728741 }))
729742
730743let boolean_mvbdu_nimply parameters =
731- Mvbdu_algebra. generic_binary
744+ Mvbdu_algebra. generic_binary ~boolean_setting
732745 (mvbdu_allocate parameters)
733746 (build_memoize_binary
734747 (fun _parameters error ->
@@ -755,7 +768,7 @@ let boolean_mvbdu_nimply parameters =
755768 }))
756769
757770let boolean_mvbdu_nis_implied parameters =
758- Mvbdu_algebra. generic_binary
771+ Mvbdu_algebra. generic_binary ~boolean_setting
759772 (mvbdu_allocate parameters)
760773 (build_memoize_binary
761774 (fun _parameters error ->
@@ -783,7 +796,7 @@ let boolean_mvbdu_nis_implied parameters =
783796 }))
784797
785798let boolean_constant_bi_true parameters =
786- Mvbdu_algebra. generic_binary
799+ Mvbdu_algebra. generic_binary ~boolean_setting
787800 (mvbdu_allocate parameters)
788801 (Mvbdu_algebra. not_recursive_binary
789802 (fun error _ _ -> error, Mvbdu_sig. Leaf true , None )
@@ -795,7 +808,7 @@ let boolean_constant_bi_true parameters =
795808 (mvbdu_allocate parameters))
796809
797810let boolean_constant_bi_false parameters =
798- Mvbdu_algebra. generic_binary
811+ Mvbdu_algebra. generic_binary ~boolean_setting
799812 (mvbdu_allocate parameters)
800813 (Mvbdu_algebra. not_recursive_binary
801814 (fun error _ _ -> error, Mvbdu_sig. Leaf false , None )
@@ -807,7 +820,7 @@ let boolean_constant_bi_false parameters =
807820 (mvbdu_allocate parameters))
808821
809822let boolean_mvbdu_fst parameters =
810- Mvbdu_algebra. generic_binary
823+ Mvbdu_algebra. generic_binary ~boolean_setting
811824 (mvbdu_allocate parameters)
812825 (Mvbdu_algebra. not_recursive_binary
813826 (fun error x _ -> error, x.Mvbdu_sig. value, Some x)
@@ -819,7 +832,7 @@ let boolean_mvbdu_fst parameters =
819832 (mvbdu_allocate parameters))
820833
821834let boolean_mvbdu_snd parameters =
822- Mvbdu_algebra. generic_binary
835+ Mvbdu_algebra. generic_binary ~boolean_setting
823836 (mvbdu_allocate parameters)
824837 (Mvbdu_algebra. not_recursive_binary
825838 (fun error x y -> error, x.Mvbdu_sig. value, Some y)
@@ -831,7 +844,7 @@ let boolean_mvbdu_snd parameters =
831844 (mvbdu_allocate parameters))
832845
833846let boolean_mvbdu_nfst parameters =
834- Mvbdu_algebra. generic_binary
847+ Mvbdu_algebra. generic_binary ~boolean_setting
835848 (mvbdu_allocate parameters)
836849 (build_memoize_binary
837850 (fun _parameters error ->
@@ -852,7 +865,7 @@ let boolean_mvbdu_nfst parameters =
852865 }))
853866
854867let boolean_mvbdu_nsnd parameters =
855- Mvbdu_algebra. generic_binary
868+ Mvbdu_algebra. generic_binary ~boolean_setting
856869 (mvbdu_allocate parameters)
857870 (build_memoize_binary
858871 (fun _parameters error ->
@@ -1001,7 +1014,7 @@ let memo_keep_head_only =
10011014 Hash_1. set parameters error (Mvbdu_core. id_of_mvbdu mvbdu))
10021015
10031016let keep_head_only parameters error handler =
1004- Mvbdu_algebra. keep_head_only
1017+ Mvbdu_algebra. keep_head_only ~boolean_setting
10051018 (mvbdu_allocate parameters)
10061019 memo_keep_head_only boolean_mvbdu_true handler error parameters
10071020
@@ -1044,7 +1057,7 @@ let memo_keep_head_only_with_threshold =
10441057 Hash_2. set parameters error (int , Mvbdu_core. id_of_mvbdu mvbdu'))
10451058
10461059let keep_head_only_with_threshold parameters error handler ~threshold mvbdu =
1047- Mvbdu_algebra. keep_head_only_with_threshold
1060+ Mvbdu_algebra. keep_head_only_with_threshold ~boolean_setting
10481061 (mvbdu_allocate parameters)
10491062 memo_keep_head_only_with_threshold boolean_mvbdu_or handler error parameters
10501063 (threshold, mvbdu)
@@ -1266,7 +1279,8 @@ let gen_bin_mvbdu_list_with_threshold
12661279 ~threshold mvbdu_input list_input
12671280
12681281let redefine parameters error handler mvbdu_input list_input =
1269- gen_bin_mvbdu_list Mvbdu_algebra. redefine
1282+ gen_bin_mvbdu_list
1283+ (Mvbdu_algebra. redefine ~boolean_setting )
12701284 (fun x -> x.Memo_sig. data.boolean_mvbdu_redefine)
12711285 (fun x h ->
12721286 {
@@ -1276,7 +1290,8 @@ let redefine parameters error handler mvbdu_input list_input =
12761290 parameters error handler mvbdu_input list_input
12771291
12781292let redefine_range parameters error handler mvbdu_input list_input =
1279- gen_bin_mvbdu_list Mvbdu_algebra. redefine_range
1293+ gen_bin_mvbdu_list
1294+ (Mvbdu_algebra. redefine_range ~boolean_setting )
12801295 (fun x -> x.Memo_sig. data.boolean_mvbdu_redefine_range)
12811296 (fun x h ->
12821297 {
@@ -1287,7 +1302,8 @@ let redefine_range parameters error handler mvbdu_input list_input =
12871302 parameters error handler mvbdu_input list_input
12881303
12891304let monotonicaly_rename parameters error handler mvbdu_input list_input =
1290- gen_bin_mvbdu_list Mvbdu_algebra. monotonicaly_rename
1305+ gen_bin_mvbdu_list
1306+ (Mvbdu_algebra. monotonicaly_rename ~boolean_setting )
12911307 (fun x -> x.Memo_sig. data.boolean_mvbdu_monotonicaly_rename)
12921308 (fun x h ->
12931309 {
@@ -1299,7 +1315,8 @@ let monotonicaly_rename parameters error handler mvbdu_input list_input =
12991315
13001316let project_keep_only parameters error handler mvbdu_input list_input =
13011317 gen_bin_mvbdu_list
1302- (fun a b -> Mvbdu_algebra. project_keep_only a b boolean_mvbdu_true)
1318+ (fun a b ->
1319+ Mvbdu_algebra. project_keep_only ~boolean_setting a b boolean_mvbdu_true)
13031320 (fun x -> x.Memo_sig. data.boolean_mvbdu_project_keep_only)
13041321 (fun x h ->
13051322 {
@@ -1359,7 +1376,8 @@ let project_keep_only_with_threshold parameters error handler ~threshold
13591376 'm ,
13601377 'n )
13611378 Memo_sig. memoized_fun ) ->
1362- Mvbdu_algebra. project_keep_only_with_threshold a b boolean_mvbdu_true)
1379+ Mvbdu_algebra. project_keep_only_with_threshold ~boolean_setting a b
1380+ boolean_mvbdu_true)
13631381 (fun x -> x.Memo_sig. data.boolean_mvbdu_project_keep_only_with_threshold)
13641382 (fun x h ->
13651383 {
@@ -1373,7 +1391,8 @@ let project_keep_only_with_threshold parameters error handler ~threshold
13731391 parameters error handler ~threshold mvbdu_input list_input
13741392
13751393let project_abstract_away parameters error handler mvbdu_input list_input =
1376- gen_bin_mvbdu_list Mvbdu_algebra. project_abstract_away
1394+ gen_bin_mvbdu_list
1395+ (Mvbdu_algebra. project_abstract_away ~boolean_setting )
13771396 (fun x -> x.Memo_sig. data.boolean_mvbdu_project_abstract_away)
13781397 (fun x h ->
13791398 {
@@ -1384,7 +1403,8 @@ let project_abstract_away parameters error handler mvbdu_input list_input =
13841403 parameters error handler mvbdu_input list_input
13851404
13861405let definitely_remove parameters error handler mvbdu_input list_input =
1387- gen_bin_mvbdu_list Mvbdu_algebra. definitely_remove
1406+ gen_bin_mvbdu_list
1407+ (Mvbdu_algebra. definitely_remove ~boolean_setting )
13881408 (fun x -> x.Memo_sig. data.boolean_mvbdu_definitely_remove)
13891409 (fun x h ->
13901410 {
0 commit comments