/*

specification of function ex
ex: Sigma x Q -> Q

*/

use(queues).
use(lists).
use(commands).


ex(nil,Q)=Q.
ex(cons(S,create),Q)=empty.
ex(cons(S,ins(E)),Q)=insert(ex(S,Q),E).
ex(cons(S,del(E)),Q)=delete(ex(S,Q),E).
ex(cons(S,dmin(E)),Q)=queue(del_min(ex(S,Q))).


precedence([ex,del_min,delete,queue,empty,insert,prefix,dmin,ins,del,create,cons,nil]).


