b_synthesis

prob_prolog/src/synthesis/b_synthesis.pl

Modules

  • ProB_Preferences_maxx.pl
  • TestPrefs.pl
  • alloy2b
  • alloy2b_benchmarks
  • ample_sets
  • any.pl
  • assert_profiler
  • ast_cleanup_for_smt
  • ast_inspector
  • ast_optimizer_for_smt
  • ast_to_difference_logic
  • atelierb_provers_interface
  • atom.pl
  • avl_custom
  • avl_tools
  • avl_tree.pl
  • avl_ugraphs
  • avlp
  • b2sat
  • b2setlog
  • b_arithmetic_expressions.pl
  • b_ast_cleanup
  • b_ast_cleanup_rewrite_rules
  • b_cogen
  • b_compiler
  • b_enumerate
  • b_enumeration_order_analysis
  • b_expression_sharing
  • b_global_sets
  • b_intelligent_trace_replay
  • b_interpreter
  • b_interpreter_components
  • b_interpreter_eventb
  • b_machine_identifier_normalization
  • b_operation_cache
  • b_operation_guards
  • b_read_write_info
  • b_show_history
  • b_simplifier
  • b_state_model_check
  • b_synthesis
  • b_to_cnf
  • b_trace_checking
  • banditfuzz
  • basic_unit_tests
  • before_after_predicates
  • benchmark.pl
  • benchmark_analyser.pl
  • between.pl
  • bf_env
  • bliss_interface
  • block_checker.pl
  • bmachine
  • bmachine_construction
  • bmachine_static_checks
  • bmachine_structure
  • bmc
  • bool_pred
  • bool_pred_test.pl
  • boolean.pl
  • bsyntaxtree
  • bsyntaxtree_quantifiers
  • bvisual
  • bvisual_any_maxsolver
  • cbc_ba
  • cbc_path_solver
  • cbc_refinement_checks
  • cdclt_pred_to_sat
  • cdclt_preprocessing
  • cdclt_sat_solver
  • cdclt_settings
  • cdclt_solver
  • cdclt_stats
  • ce_replay
  • chr_set_membership
  • closures
  • clpfd_interface
  • clpfd_lists
  • clpfd_off_interface
  • clpfd_tables
  • code2vec
  • code2vec_tests
  • codespeed_versions
  • compile_time_flags
  • consistencycheck
  • constraints
  • counter
  • coverage_statistics
  • coverage_term_expander.pl
  • coverage_tools
  • coverage_tools_annotations
  • csp_basic
  • csp_sequences
  • csp_sets
  • csp_tuples
  • ctigar
  • ctl
  • custom_explicit_sets
  • cvc4interface
  • debug
  • debugging_calls
  • debugging_calls_te.pl
  • delay
  • dependence
  • dev.pl
  • difference_logic_solver
  • disprover
  • disprover_test_runner
  • disprover_test_runner_cli.pl
  • domain
  • domain_test.pl
  • dot_graphs_static_analysis
  • eclipse_interface
  • enable_graph
  • enabling_analysis
  • enabling_predicates
  • error_manager
  • eval_interface
  • eval_let_store
  • eval_strings
  • eventhandling
  • example.pl
  • experiment.pl
  • external_function_declarations
  • external_functions
  • external_functions_reals
  • external_functions_svg
  • fastio_inspector.pl
  • fd_utils_clpfd
  • fdr_csp_generator
  • fibonacci_heap
  • find_whens.pl
  • fixed_value.pl
  • float.pl
  • fuzzer
  • fuzzer_runner.pl
  • fuzzfile
  • fuzzing
  • gensym
  • grammar
  • graph_iso_nauty
  • graphical_state_viewer_images
  • graphiso
  • graphiso_test
  • ground_truth
  • gui_tcltk.pl
  • hashing
  • haskell_csp
  • haskell_csp_analyzer
  • heuristic_grouping.pl
  • hit_profiler
  • ic3
  • inf_arith
  • infolog_problem_db.pl
  • input_syntax_tree
  • integer.pl
  • interval_calc
  • json_parser
  • junit_tests
  • kernel_card_arithmetic
  • kernel_cardinality_attr
  • kernel_dif
  • kernel_equality
  • kernel_freetypes
  • kernel_frozen_info
  • kernel_lists
  • kernel_mappings
  • kernel_mappings_dispatch
  • kernel_non_empty_attr
  • kernel_objects
  • kernel_ordering
  • kernel_propagation
  • kernel_reals
  • kernel_records
  • kernel_strings
  • kernel_sym_break_order
  • kernel_tools
  • kernel_waitflags
  • kernel_z
  • kinduction
  • kodkod
  • kodkod2
  • kodkod_annotator
  • kodkod_integer_recalc
  • kodkod_printer
  • kodkod_process
  • kodkod_rewrite
  • kodkod_test
  • kodkod_tools
  • kodkod_translate
  • kodkod_typing
  • latex_processor
  • library_setup
  • list.pl
  • location_vars_to_program
  • logger
  • logging
  • ltl
  • ltl2ba
  • ltl_fairness
  • ltl_propositions
  • ltl_safety
  • ltl_tools
  • ltl_translate
  • ltl_verification
  • ltlc
  • ltsmin
  • ltsmin_c_interface
  • ltsmin_trace
  • master
  • maxsolver
  • mcdc_coverage
  • member_of.pl
  • memoization
  • meta_interface
  • mic_generation
  • model_checker
  • model_translation
  • module_information
  • msg_interop
  • mutate_expressions
  • mutation.pl
  • mutation_prob_ast_int_expr.pl
  • mutation_prob_ast_pred.pl
  • mutation_prob_ast_seq_expr.pl
  • mutation_prob_ast_set_expr.pl
  • mutations
  • myheap
  • number.pl
  • operation_data_generator
  • optimizing_solver
  • ordsetsp
  • parsercall
  • partition_detection
  • pathes
  • pathes_extensions_db
  • pathes_lib
  • performance_messages
  • pge_algo
  • plspec
  • plspec_core
  • plspec_logger
  • plspec_test
  • pltables
  • pltables_export
  • pltables_export_csv
  • pltables_export_html
  • pltables_export_latex
  • pltables_export_tools
  • pltables_export_xml
  • plunit_test_runner
  • pragmas
  • predicate_abstraction
  • predicate_analysis
  • predicate_data_generator
  • predicate_debugger
  • predicate_evaluator
  • predicate_handling
  • pref_definitions
  • preferences
  • preprofiler
  • preserve_behaviour_test.pl
  • prettyprinter
  • prob2_interface
  • prob_ast_any.pl
  • prob_ast_boolean.pl
  • prob_ast_couple.pl
  • prob_ast_eval_int_expr.pl
  • prob_ast_eval_pred.pl
  • prob_ast_eval_seq_expr.pl
  • prob_ast_eval_set_expr.pl
  • prob_ast_expr.pl
  • prob_ast_identifier.pl
  • prob_ast_int_expr.pl
  • prob_ast_integer.pl
  • prob_ast_minimize_int_expr.pl
  • prob_ast_minimize_pred.pl
  • prob_ast_minimize_seq_expr.pl
  • prob_ast_minimize_set_expr.pl
  • prob_ast_pred.pl
  • prob_ast_record.pl
  • prob_ast_sat.pl
  • prob_ast_seq.pl
  • prob_ast_seq_expr.pl
  • prob_ast_set.pl
  • prob_ast_set_expr.pl
  • prob_ast_string.pl
  • prob_cli
  • prob_cov.pl
  • prob_cov_runner.pl
  • prob_profiling_cli.pl
  • prob_rule_compiler
  • prob_socketserver
  • prob_startup
  • prob_state_predicates
  • prob_tcltk.pl
  • prob_type.pl
  • prob_value_any.pl
  • prob_value_boolean.pl
  • prob_value_integer.pl
  • prob_value_record.pl
  • prob_value_seq.pl
  • prob_value_set.pl
  • prob_value_string.pl
  • probhash
  • probsocket_proxy.pl
  • profiler
  • profiler_gui
  • profiler_te
  • prologTasks
  • prothon
  • proz
  • ptest.pl
  • quantifier_instantiation
  • random_permutations
  • rational.pl
  • record_detection
  • reduce_graph_state_space
  • refinement_checker
  • regexp
  • rewrite_rules_db
  • runtime_profiler
  • safety_mc
  • sap
  • sat_symmetry_breaking
  • satsolver
  • schemaexpansion
  • schemavars
  • self_check
  • self_check_off.pl
  • seq_rewriter
  • set_rewriter
  • smt_common_predicates
  • smt_solver_benchmarks
  • smt_solvers_interface
  • smt_symmetry_breaking
  • smtlib2_cli
  • smtlib2_environment
  • smtlib2_interpreter
  • smtlib2_parser
  • smtlib2_parser_tests
  • smtlib2_translation
  • snippets.pl
  • softfloat
  • solver_dispatcher
  • solver_handling
  • solver_interface
  • solvercalls
  • source_profiler
  • specfile
  • state_as_dot_graph
  • state_custom_dot_graph
  • state_graph_canon
  • state_packing
  • state_permuter
  • state_space
  • state_space_dijkstra
  • state_space_exploration_modes
  • state_space_explorer
  • state_space_open_nodes
  • state_space_open_nodes_c
  • state_space_reduction
  • static_analysis
  • static_enabling_analysis
  • static_ordering
  • store
  • subexpressions
  • succeed_max
  • symmetry_marker
  • symmetry_reduction
  • synthesis_tests
  • synthesis_util
  • system_call
  • table_tools
  • tcltk_interface
  • tcltk_tree_inspector
  • test
  • test2
  • test_fibonacci_heap
  • test_nodestore.pl
  • test_paths
  • test_regexp
  • test_regexp_unicode
  • test_runner
  • test_runner_cov.pl
  • test_typechecker
  • testcases
  • testdining
  • testltlc
  • tests.pl
  • testsignal.pl
  • timer
  • tools
  • tools_commands
  • tools_fastread
  • tools_files
  • tools_io
  • tools_lists
  • tools_matching
  • tools_meta
  • tools_portability
  • tools_positions
  • tools_printing
  • tools_strings
  • tools_timeout
  • trace_generator
  • translate
  • translate_keywords
  • tree.pl
  • typechecker
  • typing_tools
  • uml_generator
  • unbound_spec_test.pl
  • unsat_core_generalization
  • unsat_cores
  • user_interrupts
  • user_signal
  • validator
  • validator_test
  • value_persistance
  • variable.pl
  • version
  • visb_visualiser
  • visualize_graph
  • weakest_preconditions
  • well_def_analyser
  • well_def_hyps
  • well_def_prover
  • well_def_tools
  • welldef
  • whash_send
  • worker
  • xml2b
  • xml_prob
  • xtl_interface
  • z3interface
  • z_tools
  • z_typechecker
  • zenvironment
  • zmq
  • zparameters
  • ztransformations
  • Predicates of b_synthesis

  • add_operation_parameter_values_to_examples/4
  • add_operation_parameter_values_to_examples/7
  • add_operation_parameter_values_to_examples_aux/5
  • add_operation_parameter_values_to_examples_aux/6
  • additional_machinevars/1
  • assert_if_statement_var_names/1
  • assert_library_configuration_from_ui/1
  • assert_synthesis_context/9
  • behavior_satisfied_or_extend_machine/6
  • behavior_satisfied_or_extend_machine_aux/7
  • behavior_satisfied_or_extend_machine_aux2/7
  • cache_operation_tuple_to_quadruple/2
  • create_before_after_equalities/3
  • create_machinevar/1
  • create_machinevar_aux/2
  • distinguishing_state_or_synthesize_action/6
  • find_further_solution/7
  • find_further_solution_aux/2
  • get_all_machine_sets/1
  • get_asserted_constant_configuration/1
  • get_asserted_if_statement_vars/1
  • get_distinguishing_state_cache_from_operation_tuples/4
  • get_operation_parameter_values_from_before_after/3
  • get_operation_parameter_values_from_before_after_aux/3
  • get_positive_and_negative_examples_for_invariant_synthesis/6
  • is_distinguishing/1
  • machine_operation_uses_parameters/2
  • max_library_expansion/1
  • new_or_old_precondition/3
  • post_synthesize_action/9
  • post_synthesize_action_aux/3
  • post_synthesize_predicate/3
  • pre_library_setup/5
  • prepare_synthesis/10
  • prepare_synthesis_of_action_by_examples/10
  • prepare_synthesis_of_guard_by_examples/14
  • reset_synthesis_context/0
  • retract_context_if_solution/1
  • set_synthesis_mode/1
  • solve_using_selected_solver/2
  • solver/1
  • start_specific_synthesis/7
  • start_specific_synthesis_aux/10
  • start_specific_synthesis_aux/12
  • start_synthesis_from_ui/11
  • start_synthesis_from_ui/13
  • start_synthesis_from_ui_aux/5
  • start_synthesis_single_operation_from_ui/11
  • start_synthesis_single_operation_from_ui_aux/9
  • synthesis_callback/17
  • synthesis_from_examples/18
  • synthesis_from_examples_aux1/20
  • synthesis_from_examples_aux2/23
  • synthesis_from_examples_aux3/23
  • synthesis_mode/1
  • synthesize_guard_if_necessary/5
  • synthesize_guard_if_necessary_aux/6
  • synthesized_operation_uses_parameters/2
  • use_operation_parameters_for_current_synthesis_type/3
  • Module Information

    Module Information


    Dynamic Predicates:           synthesis_context/9           solver/1           library_from_ui/1           consider_if_var_names/1           not_consider_constants/1           additional_machinevars/1           synthesis_mode/1

    1019 Lines

    59 Predicates

    Imported Modules:           bsyntaxtree          lists          plspec/plspec/plspec_core

    8 Exports

    8 specified Imports

    Imports Exports

    Name:    b_get_machine_set/1

    Module:    bmachine


    Name:    b_get_machine_set/2

    Module:    bmachine


    Name:    b_get_machine_operation/4

    Module:    bmachine


    Name:    set_preference/2

    Module:    preferences


    Name:    module_info/2

    Module:    module_information


    Name:    solve_predicate/3

    Module:    solver_interface


    Name:     intersection/3

    Module:     sets


    Name:     term_size/2

    Module:     terms


    Name:    start_synthesis_from_ui/11


    Name:    start_synthesis_from_ui/13


    Name:    start_synthesis_single_operation_from_ui/11


    Name:    reset_synthesis_context/0


    Name:    location_vars_to_program/9


    Name:    prepare_synthesis_of_action_by_examples/10


    Name:    synthesis_from_examples/18


    Name:    start_specific_synthesis/7



    Predicates

    Predicates:

  • add_operation_parameter_values_to_examples/4
  • add_operation_parameter_values_to_examples/7
  • add_operation_parameter_values_to_examples_aux/5
  • add_operation_parameter_values_to_examples_aux/6
  • additional_machinevars/1
  • assert_if_statement_var_names/1
  • assert_library_configuration_from_ui/1
  • assert_synthesis_context/9
  • behavior_satisfied_or_extend_machine/6
  • behavior_satisfied_or_extend_machine_aux/7
  • behavior_satisfied_or_extend_machine_aux2/7
  • cache_operation_tuple_to_quadruple/2
  • create_before_after_equalities/3
  • create_machinevar/1
  • create_machinevar_aux/2
  • distinguishing_state_or_synthesize_action/6
  • find_further_solution/7
  • find_further_solution_aux/2
  • get_all_machine_sets/1
  • get_asserted_constant_configuration/1
  • get_asserted_if_statement_vars/1
  • get_distinguishing_state_cache_from_operation_tuples/4
  • get_operation_parameter_values_from_before_after/3
  • get_operation_parameter_values_from_before_after_aux/3
  • get_positive_and_negative_examples_for_invariant_synthesis/6
  • is_distinguishing/1
  • machine_operation_uses_parameters/2
  • max_library_expansion/1
  • new_or_old_precondition/3
  • post_synthesize_action/9
  • post_synthesize_action_aux/3
  • post_synthesize_predicate/3
  • pre_library_setup/5
  • prepare_synthesis/10
  • prepare_synthesis_of_action_by_examples/10
  • prepare_synthesis_of_guard_by_examples/14
  • reset_synthesis_context/0
  • retract_context_if_solution/1
  • set_synthesis_mode/1
  • solve_using_selected_solver/2
  • solver/1
  • start_specific_synthesis/7
  • start_specific_synthesis_aux/10
  • start_specific_synthesis_aux/12
  • start_synthesis_from_ui/11
  • start_synthesis_from_ui/13
  • start_synthesis_from_ui_aux/5
  • start_synthesis_single_operation_from_ui/11
  • start_synthesis_single_operation_from_ui_aux/9
  • synthesis_callback/17
  • synthesis_from_examples/18
  • synthesis_from_examples_aux1/20
  • synthesis_from_examples_aux2/23
  • synthesis_from_examples_aux3/23
  • synthesis_mode/1
  • synthesize_guard_if_necessary/5
  • synthesize_guard_if_necessary_aux/6
  • synthesized_operation_uses_parameters/2
  • use_operation_parameters_for_current_synthesis_type/3


  • add_operation_parameter_values_to_examples/4

    add_operation_parameter_values_to_examples/4



    add_operation_parameter_values_to_examples/7

    add_operation_parameter_values_to_examples/7



    add_operation_parameter_values_to_examples_aux/5

    add_operation_parameter_values_to_examples_aux/5



    add_operation_parameter_values_to_examples_aux/6

    add_operation_parameter_values_to_examples_aux/6



    additional_machinevars/1

    additional_machinevars/1

    Dynamic: true



    assert_if_statement_var_names/1

    assert_if_statement_var_names/1



    assert_library_configuration_from_ui/1

    assert_library_configuration_from_ui/1



    assert_synthesis_context/9

    assert_synthesis_context/9



    behavior_satisfied_or_extend_machine/6

    behavior_satisfied_or_extend_machine/6



    behavior_satisfied_or_extend_machine_aux/7

    behavior_satisfied_or_extend_machine_aux/7



    behavior_satisfied_or_extend_machine_aux2/7

    behavior_satisfied_or_extend_machine_aux2/7



    cache_operation_tuple_to_quadruple/2

    cache_operation_tuple_to_quadruple/2



    create_before_after_equalities/3

    create_before_after_equalities/3



    create_machinevar/1

    create_machinevar/1



    create_machinevar_aux/2

    create_machinevar_aux/2



    distinguishing_state_or_synthesize_action/6

    distinguishing_state_or_synthesize_action/6



    find_further_solution/7

    find_further_solution/7



    find_further_solution_aux/2

    find_further_solution_aux/2



    get_all_machine_sets/1

    get_all_machine_sets/1



    get_asserted_constant_configuration/1

    get_asserted_constant_configuration/1



    get_asserted_if_statement_vars/1

    get_asserted_if_statement_vars/1



    get_distinguishing_state_cache_from_operation_tuples/4

    get_distinguishing_state_cache_from_operation_tuples/4



    get_operation_parameter_values_from_before_after/3

    get_operation_parameter_values_from_before_after/3



    get_operation_parameter_values_from_before_after_aux/3

    get_operation_parameter_values_from_before_after_aux/3



    get_positive_and_negative_examples_for_invariant_synthesis/6

    get_positive_and_negative_examples_for_invariant_synthesis/6



    is_distinguishing/1

    is_distinguishing/1



    machine_operation_uses_parameters/2

    machine_operation_uses_parameters/2



    max_library_expansion/1

    max_library_expansion/1



    new_or_old_precondition/3

    new_or_old_precondition/3



    post_synthesize_action/9

    post_synthesize_action/9



    post_synthesize_action_aux/3

    post_synthesize_action_aux/3



    post_synthesize_predicate/3

    post_synthesize_predicate/3



    pre_library_setup/5

    pre_library_setup/5



    prepare_synthesis/10

    prepare_synthesis/10



    prepare_synthesis_of_action_by_examples/10

    prepare_synthesis_of_action_by_examples/10



    prepare_synthesis_of_guard_by_examples/14

    prepare_synthesis_of_guard_by_examples/14



    reset_synthesis_context/0

    reset_synthesis_context/0



    retract_context_if_solution/1

    retract_context_if_solution/1



    set_synthesis_mode/1

    set_synthesis_mode/1



    solve_using_selected_solver/2

    solve_using_selected_solver/2



    solver/1

    solver/1

    Dynamic: true



    start_specific_synthesis/7

    start_specific_synthesis/7

    Description:
    synthesize actions, invariants or guards



    start_specific_synthesis_aux/10

    start_specific_synthesis_aux/10



    start_specific_synthesis_aux/12

    start_specific_synthesis_aux/12



    start_synthesis_from_ui/11

    start_synthesis_from_ui/11



    start_synthesis_from_ui/13

    start_synthesis_from_ui/13



    start_synthesis_from_ui_aux/5

    start_synthesis_from_ui_aux/5



    start_synthesis_single_operation_from_ui/11

    start_synthesis_single_operation_from_ui/11



    start_synthesis_single_operation_from_ui_aux/9

    start_synthesis_single_operation_from_ui_aux/9



    synthesis_callback/17

    synthesis_callback/17



    synthesis_from_examples/18

    synthesis_from_examples/18

    Description:
    SYNTHESIS LOOP
    Cache a predicate excluding already visited distinguishing transitions for each new run (see
    get_distinguishing_state_or_trans/8).
    Only for synthesis of an action (ignored otherwise):
    When simultaneously synthesizing a guard to an action we synthesize a new guard each time so that
    we also store each session's distinguishing states.
    The sixth argument PreCondVars defines the variables that should be considered for the simultaneous
    generation of a guard if known. Otherwise, 'PreCondVars = CurrentVars' holds.



    synthesis_from_examples_aux1/20

    synthesis_from_examples_aux1/20



    synthesis_from_examples_aux2/23

    synthesis_from_examples_aux2/23



    synthesis_from_examples_aux3/23

    synthesis_from_examples_aux3/23



    synthesis_mode/1

    synthesis_mode/1

    Dynamic: true



    synthesize_guard_if_necessary/5

    synthesize_guard_if_necessary/5



    synthesize_guard_if_necessary_aux/6

    synthesize_guard_if_necessary_aux/6



    synthesized_operation_uses_parameters/2

    synthesized_operation_uses_parameters/2



    use_operation_parameters_for_current_synthesis_type/3

    use_operation_parameters_for_current_synthesis_type/3



    Determinacy Checker

    Determinacy Checker:

    ! Existence error in argument 1 of absolute_file_name/3
    ! file synthesis(logging) does not exist
    ! goal: absolute_file_name(synthesis(logging),_4293,[access(exist),file_type(source),relative_to('/builds/stups/prob/prolog_doc_gen/prolog-Doc/prob_prolog/src/synthesis/b_synthesis.pl')])
    ! Existence error in argument 1 of absolute_file_name/3
    ! file synthesis(constraints) does not exist
    ! goal: absolute_file_name(synthesis(constraints),_4655,[access(exist),file_type(source),relative_to('/builds/stups/prob/prolog_doc_gen/prolog-Doc/prob_prolog/src/synthesis/b_synthesis.pl')])
    ! Existence error in argument 1 of absolute_file_name/3
    ! file synthesis(library_setup) does not exist
    ! goal: absolute_file_name(synthesis(library_setup),_5055,[access(exist),file_type(source),relative_to('/builds/stups/prob/prolog_doc_gen/prolog-Doc/prob_prolog/src/synthesis/b_synthesis.pl')])
    ! Existence error in argument 1 of absolute_file_name/3
    ! file synthesis(location_vars_to_program) does not exist
    ! goal: absolute_file_name(synthesis(location_vars_to_program),_5455,[access(exist),file_type(source),relative_to('/builds/stups/prob/prolog_doc_gen/prolog-Doc/prob_prolog/src/synthesis/b_synthesis.pl')])
    ! Existence error in argument 1 of absolute_file_name/3
    ! file synthesis(synthesis_util) does not exist
    ! goal: absolute_file_name(synthesis(synthesis_util),_5855,[access(exist),file_type(source),relative_to('/builds/stups/prob/prolog_doc_gen/prolog-Doc/prob_prolog/src/synthesis/b_synthesis.pl')])
    ! Existence error in argument 1 of absolute_file_name/3
    ! file probsrc(bsyntaxtree) does not exist
    ! goal: absolute_file_name(probsrc(bsyntaxtree),_6255,[access(exist),file_type(source),relative_to('/builds/stups/prob/prolog_doc_gen/prolog-Doc/prob_prolog/src/synthesis/b_synthesis.pl')])
    ! Existence error in argument 1 of absolute_file_name/3
    ! file probsrc(bmachine) does not exist
    ! goal: absolute_file_name(probsrc(bmachine),_261,[access(exist),file_type(source),relative_to('/builds/stups/prob/prolog_doc_gen/prolog-Doc/prob_prolog/src/synthesis/b_synthesis.pl')])