[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 list-getput
enrich
   list-data
with
   variables 
       x : list('a);
       y : list('a);
       z : list('a);
       a : 'a;
       b : 'a;
       c : 'a;
       m : nat;
       n : nat;
   
   partial functions 
       . [ . ] : list('a) × nat → 'a with λ x, n. n < # x;
      comment: get is zero based;
       . [ . := . ] : list('a) × nat × 'a → list('a) with λ x, n, a. n < # x;
      comment: put is zero based;
   
   
   axioms 
      get-zero: (a + x)[0] = a;
      used for: s, ls;
      
      get-succ: (a + x)[n + 1] = x[n];
      used for: s, ls;
      
      put-zero: (b + x)[0 := a] = a + x;
      used for: s, ls;
      
      put-succ: (b + x)[n + 1 := a] = b + x[n := a];
      used for: s, ls;
   
   
end enrich