BagBasics (E, C): trait % Essential bag operators includes Integer introduces {}: -> C insert: E, C -> C count: E, C -> Int asserts C generated by {}, insert C partitioned by count forall b: C, e, e1, e2: E count(e, {}) == 0; count(e1, insert(e2, b)) == count(e1, b) + (if e1 = e2 then 1 else 0) implies InsertGenerated ({} for empty) forall e: E, b: C insert(e, b) \neq {}; count(e, b) >= 0 converts count[Table of Contents] [Index]