[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-basic
enrich
   nat
with
   sorts set('a);
   constants 
       ∅ : set('a);
   
   functions 
       . ++ . : set('a) × 'a → set('a) prio 9 left;
       # . : set('a) → nat;
   
   predicates 
       . ∈ . : 'a × set('a);
       . ⊆ . : set('a) × set('a);
   
   variables 
       s : set('a);
       s0 : set('a);
       s1 : set('a);
       s2 : set('a);
       a : 'a;
   
   
   induction 
      set('a) generated by ∅, ++;
   
   axioms 
      Extension: s1 = s2 ↔ (∀ a. a ∈ s1 ↔ a ∈ s2);
      used for: ls;
      
      In-empty: ¬ a ∈ ∅;
      used for: s, ls;
      
      In-insert: a ∈ s ++ b ↔ a = b ∨ a ∈ s;
      used for: s, ls;
      
      Size-empty: # ∅ = 0;
      used for: s, ls;
      
      Size-insert: ¬ a ∈ s → #(s ++ a) = # s + 1;
      used for: s, ls;
      
      Subset: s1 ⊆ s2 ↔ (∀ a. a ∈ s1 → a ∈ s2);
      used for: ls;
   
   
end enrich