Sequences -- abstract domain

  • empty sequence -- << >>
  • concatenation -- <> \. <> = <>

Specification


  type stack T {
  s : seq   T;
  axioms:
  { true } push(t:T) { s' = s \. <> }
  { s \neq << >> } pop() { s = { s' } \. <> }
  };
  

slide: The specification of a stack