Prev Up Next
Go backward to E.2.2 PATH
Go up to E.2 Specifications from the Paris Proposal
Go forward to E.2.4 COMPOUND_SYMBOLS_ARE_NICE

E.2.3 LIST_WITH_ORDER

spec
List_With_Order [
sort Elem; pred __<__ : Elem × Elem
%%  axioms  as usual %% ] =
free type
List[Elem] ::= nil | cons(hd:?Elem; tl:?List[Elem])
ops
insert : Elem × List[Elem]  ->   List[Elem];
order[__<__] : List[Elem]  ->   List[Elem]
vars
x,y : Elem; l : List[Elem]
axioms
order[__<__](nil)=nil;
order[__<__](cons(x,l))=insert(x,order[__<__](l));
insert(x,nil)=cons(x,nil);
x<y   =>   insert(x,cons(y,l))=cons(x,insert(y,l));
¬  (x<y)   =>   insert(x,cons(y,l))=cons(y,insert(x,l))
hide
insert
end

CoFI Document: CASL/Summary --Version 0.99-- 21 April 1998.
Comments to cofi-language@brics.dk

Prev Up Next