avl_custom

prob_prolog/src/avl_custom.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 avl_custom

  • adjust/5
  • avl/6
  • avl_change/5
  • avl_change/10
  • avl_del_max/4
  • avl_del_max/5
  • avl_del_min/4
  • avl_del_min/5
  • avl_delete/4
  • avl_domain/2
  • avl_domain/3
  • avl_fetch/2
  • avl_fetch/3
  • avl_fetch/6
  • avl_geq/3
  • avl_height/2
  • avl_map/2
  • avl_map/3
  • avl_map_/2
  • avl_map_/3
  • avl_max/2
  • avl_max/3
  • avl_max/5
  • avl_member/2
  • avl_member/3
  • avl_min/2
  • avl_min/3
  • avl_min/5
  • avl_next/3
  • avl_next/4
  • avl_next/8
  • avl_prev/3
  • avl_prev/4
  • avl_prev/8
  • avl_range/2
  • avl_range/3
  • avl_shrinkage/3
  • avl_size/2
  • avl_store/4
  • avl_to_list/2
  • avl_to_list/3
  • balance/2
  • deladjust/5
  • delete/5
  • delete/6
  • deltable/5
  • empty_avl/1
  • insert/5
  • insert/6
  • is_avl/1
  • is_avl/4
  • list_to_avl/2
  • list_to_avl/5
  • must_be_avl/3
  • ord_list_to_avl/2
  • ord_pairs/1
  • ord_pairs/2
  • portray_avl/1
  • portray_avl_leftmost/1
  • portray_avl_rest/1
  • rebalance/6
  • table/5
  • table2/3
  • Module Information

    Module Information


    629 Lines

    63 Predicates

    29 Exports

    2 Imports

    Imports Exports

    Name:     illarg/4

    Module:     types


    Name:     illarg/3

    Module:     types


    Name:    empty_avl/1


    Name:    is_avl/1


    Name:    avl_to_list/2


    Name:    avl_domain/2


    Name:    avl_range/2


    Name:    avl_height/2


    Name:    avl_size/2


    Name:    portray_avl/1


    Name:    avl_member/2


    Name:    avl_member/3


    Name:    avl_fetch/2


    Name:    avl_fetch/3


    Name:    avl_next/3


    Name:    avl_next/4


    Name:    avl_prev/3


    Name:    avl_prev/4


    Name:    avl_change/5


    Name:    list_to_avl/2


    Name:    avl_map/2


    Name:    avl_map/3


    Name:    avl_max/2


    Name:    avl_max/3


    Name:    avl_min/2


    Name:    avl_min/3


    Name:    ord_list_to_avl/2


    Name:    avl_store/4


    Name:    avl_delete/4


    Name:    avl_del_min/4


    Name:    avl_del_max/4



    Predicates

    Predicates:

  • adjust/5
  • avl/6
  • avl_change/5
  • avl_change/10
  • avl_del_max/4
  • avl_del_max/5
  • avl_del_min/4
  • avl_del_min/5
  • avl_delete/4
  • avl_domain/2
  • avl_domain/3
  • avl_fetch/2
  • avl_fetch/3
  • avl_fetch/6
  • avl_geq/3
  • avl_height/2
  • avl_map/2
  • avl_map/3
  • avl_map_/2
  • avl_map_/3
  • avl_max/2
  • avl_max/3
  • avl_max/5
  • avl_member/2
  • avl_member/3
  • avl_min/2
  • avl_min/3
  • avl_min/5
  • avl_next/3
  • avl_next/4
  • avl_next/8
  • avl_prev/3
  • avl_prev/4
  • avl_prev/8
  • avl_range/2
  • avl_range/3
  • avl_shrinkage/3
  • avl_size/2
  • avl_store/4
  • avl_to_list/2
  • avl_to_list/3
  • balance/2
  • deladjust/5
  • delete/5
  • delete/6
  • deltable/5
  • empty_avl/1
  • insert/5
  • insert/6
  • is_avl/1
  • is_avl/4
  • list_to_avl/2
  • list_to_avl/5
  • must_be_avl/3
  • ord_list_to_avl/2
  • ord_pairs/1
  • ord_pairs/2
  • portray_avl/1
  • portray_avl_leftmost/1
  • portray_avl_rest/1
  • rebalance/6
  • table/5
  • table2/3


  • adjust/5

    adjust/5



    avl/6

    avl/6



    avl_change/5

    avl_change/5

    Description:
    avl_change(+Key, +AVL0, ?Val0, ?AVL, ?Val) is semidet.



    avl_change/10

    avl_change/10



    avl_del_max/4

    avl_del_max/4

    Description:
    avl_del_max(+AVL0, ?Key, ?Val, -AVL) is semidet.



    avl_del_max/5

    avl_del_max/5



    avl_del_min/4

    avl_del_min/4

    Description:
    avl_del_min(+AVL0, ?Key, ?Val, -AVL) is semidet.



    avl_del_min/5

    avl_del_min/5



    avl_delete/4

    avl_delete/4

    Description:
    avl_delete(+Key, +AVL0, ?Value, -AVL) is semidet.



    avl_domain/2

    avl_domain/2

    Description:
    avl_domain(+AVL, -Keys) is det.



    avl_domain/3

    avl_domain/3



    avl_fetch/2

    avl_fetch/2

    Description:
    avl_fetch(+Key, +AVL) is semidet.



    avl_fetch/3

    avl_fetch/3

    Description:
    avl_fetch(+Key, +AVL, -Value) is semidet.



    avl_fetch/6

    avl_fetch/6



    avl_geq/3

    avl_geq/3



    avl_height/2

    avl_height/2

    Description:
    avl_height(+AVL, -Height) is det.



    avl_map/2

    avl_map/2

    Description:
    avl_map(:Pred, +AVL) is semidet.

    Meta: avl_map(1,?)



    avl_map/3

    avl_map/3

    Description:
    avl_map(:Pred, +AVL0, ?AVL) is semidet.

    Meta: avl_map(2,?,?)



    avl_map_/2

    avl_map_/2



    avl_map_/3

    avl_map_/3



    avl_max/2

    avl_max/2

    Description:
    avl_max(+AVL, -Key) is semidet.



    avl_max/3

    avl_max/3

    Description:
    avl_max(+AVL, -Key, -Value) is semidet.



    avl_max/5

    avl_max/5



    avl_member/2

    avl_member/2

    Description:
    avl_member(?Key, +AVL) is nondet.



    avl_member/3

    avl_member/3

    Description:
    avl_member(?Key, +AVL, ?Value) is nondet.



    avl_min/2

    avl_min/2

    Description:
    avl_min(+AVL, -Key) is semidet.



    avl_min/3

    avl_min/3

    Description:
    avl_min(+AVL, -Key, -Value) is semidet.



    avl_min/5

    avl_min/5



    avl_next/3

    avl_next/3

    Description:
    avl_next(+Key, +AVL, -Knext) is semidet.



    avl_next/4

    avl_next/4

    Description:
    avl_next(+Key, +AVL, -Knext, -Vnext) is semidet.



    avl_next/8

    avl_next/8



    avl_prev/3

    avl_prev/3

    Description:
    avl_prev(+Key, +AVL, -Kprev) is semidet.



    avl_prev/4

    avl_prev/4

    Description:
    avl_prev(+Key, +AVL, -Kprev, -Vprev) is semidet.



    avl_prev/8

    avl_prev/8



    avl_range/2

    avl_range/2

    Description:
    avl_range(+AVL, -Values) is det.



    avl_range/3

    avl_range/3



    avl_shrinkage/3

    avl_shrinkage/3



    avl_size/2

    avl_size/2

    Description:
    avl_size(+AVL, -Size) is det.



    avl_store/4

    avl_store/4

    Description:
    avl_store(+Key, +AVL0, +Value, -AVL) is det.



    avl_to_list/2

    avl_to_list/2

    Description:
    avl_to_list(+AVL, -Pairs) is det.



    avl_to_list/3

    avl_to_list/3



    balance/2

    balance/2



    deladjust/5

    deladjust/5



    delete/5

    delete/5



    delete/6

    delete/6



    deltable/5

    deltable/5



    empty_avl/1

    empty_avl/1

    Description:
    empty_avl(?AVL) is semidet.



    insert/5

    insert/5



    insert/6

    insert/6



    is_avl/1

    is_avl/1

    Description:
    is_avl(+AVL) is semidet.



    is_avl/4

    is_avl/4



    list_to_avl/2

    list_to_avl/2

    Description:
    list_to_avl(+Pairs, -AVL) is det.



    list_to_avl/5

    list_to_avl/5



    must_be_avl/3

    must_be_avl/3

    Description:
    AVL trees

    Implementation of AVL trees. Intended to be fully compatible with
    SICStus Prolog library(avl), including the internal term representation.

    Based on a public domain implementation of assoc.pl taken from SWI-Prolog
    (Git revision 7657a3dcadb781afd79fe0f4b8cc27fc91818685).
    Originally implemented by Richard A. O'Keefe in 1983.
    Later included in YAP, with modifications by Luis Damas and VĂ­tor Santos Costa.
    Adapted for SWI-Prolog by Jan Wielemaker in 2004,
    with later contributions by Markus Triska, Jiri Spitz, Glenn Burgess,
    and Boris Vassilev.



    ord_list_to_avl/2

    ord_list_to_avl/2

    Description:
    ord_list_to_avl(+Pairs, -AVL) is det.



    ord_pairs/1

    ord_pairs/1

    Description:
    ord_pairs(+Pairs) is semidet



    ord_pairs/2

    ord_pairs/2



    portray_avl/1

    portray_avl/1



    portray_avl_leftmost/1

    portray_avl_leftmost/1



    portray_avl_rest/1

    portray_avl_rest/1



    rebalance/6

    rebalance/6



    table/5

    table/5



    table2/3

    table2/3



    Determinacy Checker

    Determinacy Checker:

    * Non-determinate: avl_custom:avl_height/2 (clause 2)
    * Indexing cannot distinguish this from clause 3.
    * Non-determinate: avl_custom:avl_height/2 (clause 3)
    * Indexing cannot distinguish this from clause 4.
    * Non-determinate: avl_custom:avl_member/3 (clause 1)
    * Indexing cannot distinguish this from clause 2.
    * Non-determinate: avl_custom:avl_member/3 (clause 2)
    * Indexing cannot distinguish this from clause 3.