[Imprint][Data Privacy Statement][E-Mail]

Back to main index. View the specification. View theorem base summary, View theorem base listing, the used properties by spec, the dependency list, the symbol table,

Specification set-union
enrich
   set-basic
with
   functions 
       { . } : 'a → set('a);
       . ∪ . : set('a) × set('a) → set('a);
       . ∩ . : set('a) × set('a) → set('a);
       . \ . : set('a) × set('a) → set('a);
       . -- . : set('a) × 'a → set('a) prio 9 left;
       . map . : set('a) × ('a → 'b) → set('b);
       filter : set('a) × ('a → bool) → set('a);
   
   predicates 
       disjoint : set('a) × set('a);
   
   variables 
       s : set('a);
       a : 'a;
       b : 'b;
       f : 'a → 'b;
       p : 'a → bool;
   
   
   axioms 
      filter-in: a ∈ filter(s, p) ↔ a ∈ s ∧ p(a);
      used for: s, ls;
      
      map-base: ∅ map f = ∅;
      used for: s, ls;
      
      map-rec: ¬ a ∈ s → (s ++ a) map f = (s map f) ++ f(a);
      used for: s, ls;
      
      One: {a}  = ∅ ++ a;
      used for: ls;
      
      Union: a ∈ s1 ∪ s2 ↔ a ∈ s1 ∨ a ∈ s2;
      used for: s, ls;
      
      Intersect: a ∈ s1 ∩ s2 ↔ a ∈ s1 ∧ a ∈ s2;
      used for: s, ls;
      
      Difference: a ∈ s1 \ s2 ↔ a ∈ s1 ∧ ¬ a ∈ s2;
      used for: s, ls;
      
      Delete: a ∈ s -- a0 ↔ a ≠ a0 ∧ a ∈ s;
      used for: s, ls;
      
      Disjoint: s1 ∩ s2 = ∅ ↔ disjoint(s1, s2);
      used for: s, ls;
   
   
end enrich