/usr/local/lib/swipl/library/ordsets.pl
All Application Manual Name SummaryHelp

  • swipl
    • library
      • error.pl
      • debug.pl
      • apply.pl
      • lists.pl -- List Manipulation
      • broadcast.pl
      • shlib.pl
      • option.pl -- Option list processing
      • thread_pool.pl
      • gensym.pl
      • settings.pl -- Setting management
      • arithmetic.pl
      • main.pl -- Provide entry point for scripts
      • readutil.pl
      • operators.pl
      • pairs.pl -- Operations on key-value lists
      • prolog_source.pl -- Examine Prolog source-files
      • record.pl -- Access compound arguments by name
      • quasi_quotations.pl -- Define Quasi Quotation syntax
      • pure_input.pl -- Pure Input from files and streams
      • solution_sequences.pl
      • ordsets.pl -- Ordered set manipulation
        • is_ordset/1
        • ord_empty/1
        • ord_seteq/2
        • list_to_ord_set/2
        • ord_intersect/2
        • ord_disjoint/2
        • ord_intersect/3
        • ord_intersection/2
        • ord_intersection/3
        • ord_intersection/4
        • ord_add_element/3
        • ord_del_element/3
        • ord_selectchk/3
        • ord_memberchk/2
        • ord_subset/2
        • ord_subtract/3
        • ord_union/2
        • ord_union/3
        • ord_union/4
        • ord_symdiff/3
      • random.pl -- Random numbers
      • base64.pl -- Base64 encoding and decoding
      • aggregate.pl
      • yall.pl
      • sandbox.pl
      • apply_macros.pl -- Goal expansion rules to avoid meta-calling
      • assoc.pl -- Binary associations
      • prolog_format.pl -- Analyse format specifications
      • predicate_options.pl -- Access and analyse predicate options
      • csv.pl -- Process CSV (Comma-Separated Values) data
      • pprint.pl -- Pretty Print Prolog terms
      • atom.pl -- Operations on atoms
      • modules.pl -- Module utility predicates
      • occurs.pl -- Finding and counting sub-terms
      • prolog_xref.pl -- Prolog cross-referencer data collection
      • prolog_colour.pl -- Prolog syntax colouring support.
      • lazy_lists.pl -- Lazy list handling
      • ugraphs.pl -- Graph manipulation library
      • url.pl
      • www_browser.pl
      • prolog_pack.pl -- A package manager for Prolog
      • git.pl
      • utf8.pl -- UTF-8 encoding/decoding on lists of character codes.
      • dialect.pl -- Support multiple Prolog dialects
      • system.pl -- System utilities
      • terms.pl -- Term manipulation
      • date.pl -- Process dates and times
      • persistency.pl -- Provide persistent dynamic predicates
      • iostream.pl -- Utilities to deal with streams
      • prolog_stack.pl -- Examine the Prolog stack
      • edinburgh.pl
      • prolog_clause.pl
      • prolog_breakpoints.pl -- Manage Prolog break-points
      • wfs.pl
      • prolog_code.pl -- Utilities for reasoning about code
      • sort.pl
      • dicts.pl -- Dict utilities
      • dif.pl -- The dif/2 constraint
      • varnumbers.pl
      • pio.pl
      • base32.pl
      • charsio.pl
      • codesio.pl -- I/O on Lists of Character Codes
      • coinduction.pl
      • heaps.pl -- heaps/priority queues
      • rbtrees.pl -- Red black trees
      • statistics.pl -- Get information about resource usage
      • when.pl
      • backcomp.pl -- Backward compatibility
      • tables.pl
      • prolog_trace.pl
      • prolog_wrap.pl -- Wrapping predicates
      • quintus.pl -- Quintus compatibility
      • thread.pl -- High level thread primitives
      • ctypes.pl -- Character code classification
      • prolog_coverage.pl -- Coverage analysis tool
      • portray_text.pl
      • streams.pl -- Manage Prolog streams
      • prolog_jiti.pl -- Just In Time Indexing (JITI) utilities
      • help.pl
      • exceptions.pl -- Exception classification
      • threadutil.pl -- Interactive thread utilities
      • check.pl
      • ansi_term.pl -- Print decorated text to ANSI consoles
      • readln.pl
      • strings.pl -- String utilities
      • make.pl
      • edit.pl -- Editor interface
      • explain.pl -- Describe Prolog Terms
      • shell.pl -- Elementary shell commands
      • listing.pl -- List programs and pretty print clauses
      • tty.pl
      • writef.pl -- Old-style formatted write
      • increval.pl
      • prolog_profile.pl -- Execution profiler
      • intercept.pl -- Intercept and signal interface
      • prolog_config.pl
      • qsave.pl
      • zip.pl -- Access resource ZIP archives
      • prolog_autoload.pl -- Autoload all dependencies
      • fastrw.pl
      • prolog_versions.pl -- Demand specific (Prolog) versions
      • prolog_codewalk.pl -- Prolog code walker
      • prolog_metainference.pl
      • prolog_debug.pl
      • files.pl
      • optparse.pl -- command line parsing
      • nb_set.pl -- Non-backtrackable sets
      • prolog_history.pl -- Per-directory persistent commandline history
      • hashtable.pl -- Hash tables
      • macros.pl -- Macro expansion
      • rwlocks.pl
 ord_symdiff(+Set1, +Set2, ?Difference) is det
Is true when Difference is the symmetric difference of Set1 and Set2. I.e., Difference contains all elements that are not in the intersection of Set1 and Set2. The semantics is the same as the sequence below (but the actual implementation requires only a single scan).
      ord_union(Set1, Set2, Union),
      ord_intersection(Set1, Set2, Intersection),
      ord_subtract(Union, Intersection, Difference).

For example:

?- ord_symdiff([1,2], [2,3], X).
X = [1,3].