• Places
    • Home
    • Graphs
    • Prefixes
  • Admin
    • Users
    • Settings
    • Plugins
    • Statistics
  • Repository
    • Load local file
    • Load from HTTP
    • Load from library
    • Remove triples
    • Clear repository
    • RDF quality heuristics
  • Query
    • YASGUI SPARQL Editor
    • Simple Form
    • SWISH Prolog shell
  • Help
    • Documentation
    • Tutorial
    • Roadmap
    • HTTP Services
  • Login

A.28 library(ordsets): Ordered set manipulation
AllApplicationManualNameSummaryHelp

  • Documentation
    • Reference manual
      • The SWI-Prolog library
        • library(ordsets): 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
    • Packages
Availability::- use_module(library(ordsets)).(can be autoloaded)
Source[det]ord_symdiff(+Set1, +Set2, ?Difference)
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].

ClioPatria (version V3.1.1-40-g9d9e003)