[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, 
   filter-count
with
   predicates 
       all< : list(tord) × tord;
       all< : list(tord) × nat × nat × tord;
       all≤ : list(tord) × tord;
       all≤ : list(tord) × nat × nat × tord;
       all> : list(tord) × tord;
       all> : list(tord) × nat × nat × tord;
       all≥ : list(tord) × tord;
       all≥ : list(tord) × nat × nat × tord;
   
   variables 
       x : list(tord);
       y : list('a);
       a : tord;
       b : tord;
       m : nat;
       n : nat;
   
   partial functions 
       min : list(tord) → tord with λ x. x ≠ [];
       max : list(tord) → tord 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