Icl Collectors, behave like
        Sets. This can be understood
        easily, if we consider, that every map of sets can be transformed to an equivalent
        set of pairs. For instance in the pseudocode below map m
icl::map<int,set<int> >  m = {(1->{1,2}), (2->{1})};
        is equivalent to set s
icl::set<pair<int,int> > s = {(1,1),(1,2),   
                              (2,1)       }; 
Также результаты добавления, вычитания и других операций на map m и set s сохраняет эквивалентность контейнеров почти<218>:
m += (1,3);
m == {(1->{1,2,3}), (2->{1})}; 
s += (1,3);
s == {(1,1),(1,2),(1,3),   
      (2,1)             }; 
Эквивалентность m и s нарушается только в том случае, если пустой набор происходит в m путем вычитания пары значений:
m -= (2,1);
m == {(1->{1,2,3}), (2->{})}; 
s -= (2,1);
s == {(1,1),(1,2),(1,3)   
                       }; 
Эту проблему можно решить двумя способами.
- Удаление пар значений образует Коллектора, если это связанное значение становится нейтральным значением или 
identity_element. - Используя другое равенство, называемое отдельным равенством в законах для проверки. Различное равенство означает только ценностные пары, которые несут ценности, не равные 
identity_element. 
Решение (1) привело к появлению особенностей карты, в частности, trait partial_absorber, что является параметром по умолчанию во всех шаблонах карты icl.
Решение (2), применяется для проверки семантики icl::Maps для частичного_enricher черта, которая не удаляет пары значений, которые несут элементы идентичности. Различное равенство осуществляется функцией нечлена, называемой is_distinct_equal. На протяжении всей этой главы отдельное равенство в псевдокоде и правовых денотациях обозначается как =d= оператор.
Действительность сводов законов, составляющих Set семантика, теперь должна быть вполне очевидной. >1>> >1>>>1>>>2>>>>>2>2>>2>>2>>2>>2>>2>>2>2>>2>>2>2>2>>2>2>2>2>>2>2>2>>2>2>2>>>2>2>2>>.
Associativity<C,+,== >: C a,b,c; a+(b+c) == (a+b)+c
Neutrality<C,+,== >   : C a;       a+C() == a
Commutativity<C,+,== >: C a,b;       a+b == b+a
Associativity<C,&,== >: C a,b,c; a&(b&c) ==(a&b)&c
Commutativity<C,&,== >: C a,b;       a&b == b&a
RightNeutrality<C,-,== >: C a;   a-C() ==  a
Inversion<C,-,=v= >     : C a;   a - a =v= C()
Все фундаментальные законы могут быть подтверждены для всех icl Maps в их моментации как Maps of Sets или Collectors. Как и ожидалось, инверсия удерживает только определенное равенство, если карта не является partial_absorber.
                             +    &    -
Associativity                ==   ==
Neutrality                   ==        ==
Commutativity                ==   ==
Inversion partial_absorber             ==
          partial_enricher             =d=
     Distributivity<C,+,&,=v= > : C a,b,c; a + (b & c) =v= (a + b) & (a + c)
     Distributivity<C,&,+,=v= > : C a,b,c; a & (b + c) =v= (a & b) + (a & c)
RightDistributivity<C,+,-,=v= > : C a,b,c; (a + b) - c =v= (a - c) + (b - c)
RightDistributivity<C,&,-,=v= > : C a,b,c; (a & b) - c =v= (a - c) & (b - c)
>>>>>>>>a>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.
                                                   +,&    &,+
     Distributivity  joining                       ==     ==
                     splitting   partial_absorber  =e=    =e=
                                 partial_enricher  =e=    ==
                                                   +,-    &,-
RightDistributivity  joining                       ==     ==
                     splitting                     =e=    ==
DeMorgan<C,+,&,=v= > : C a,b,c; a - (b + c) =v= (a - b) & (a - c)
DeMorgan<C,&,+,=v= > : C a,b,c; a - (b & c) =v= (a - b) + (a - c)
                         +,&     &,+
DeMorgan  joining        ==      ==
          splitting      ==      =e=
SymmetricDifference<C,== > : C a,b,c; (a + b) - (a * b) == (a - b) + (b - a)
Обзор приведенных выше таблиц действительности показывает, что наборы действительных законов для icl Sets и icl Maps  Sets, которые являются  поглощение идентичности, точно такие же. Как и ожидалось, только для Maps of Sets, которые представляют пустые наборы как связанные значения, называемые обогатители идентичностей, существуют маргинальные семантические различия.