[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 olist-min-max
enrich
   olist-sort, 
   gelem-min-max, 
   filter-count
with
   predicates 
       all< : List × Elem;
       all< : List × Nat × Nat × Elem;
       all≤ : List × Elem;
       all≤ : List × Nat × Nat × Elem;
       all> : List × Elem;
       all> : List × Nat × Nat × Elem;
       all≥ : List × Elem;
       all≥ : List × Nat × Nat × Elem;
   
   variables 
       x : List;
       a : Elem;
   
   partial functions 
       min : List → Elem with λ x. x ≠ [];
       max : List → Elem with λ x. x ≠ [];
   
   axioms 
      allls-def: all<(x, a) ↔ (∀ b. b ∈ x → b < a);
      used for: ls;
      
      allls-range-def: all<(x, m, n, a) ↔ (∀ n0. m ≤ n0 ∧ n0 < n ∧ n0 < # x → x(n0) < a);
      used for: ls;
      
      allle-def: all≤(x, a) ↔ (∀ b. b ∈ x → ¬ a < b);
      used for: ls;
      
      allle-range-def: all≤(x, m, n, a) ↔ (∀ n0. m ≤ n0 ∧ n0 < n ∧ n0 < # x → ¬ a < x(n0));
      used for: ls;
      
      allgr-def: all>(x, a) ↔ (∀ b. b ∈ x → a < b);
      used for: ls;
      
      allgr-range-def: all>(x, m, n, a) ↔ (∀ n0. m ≤ n0 ∧ n0 < n ∧ n0 < # x → a < x(n0));
      used for: ls;
      
      allge-def: all≥(x, a) ↔ (∀ b. b ∈ x → ¬ b < a);
      used for: ls;
      
      allge-range-def: all≥(x, m, n, a) ↔ (∀ n0. m ≤ n0 ∧ n0 < n ∧ n0 < # x → ¬ x(n0) < a);
      used for: ls;
      
      min-base: min(a ') = a;
      used for: s, ls;
      
      min-rec: x ≠ [] → min(a ' + x) = (a < min(x) ⊃ a;min(x));
      
      max-base: max(a ') = a;
      used for: s, ls;
      
      max-rec: x ≠ [] → max(a ' + x) = (max(x) < a ⊃ a;max(x));
   
   
end enrich