% primitive constructors of map expressions: pseudo-definitions defAs(id,id). % diagonal map defAs(rev(P),rev(P)). % peircean operation of forming the converse defAs(opp(P),opp(P)). % boolean complementation defAs(int(P,Q),int(P,Q)). % boolean meet defAs(circ(P,Q),circ(P,Q)). % peircean composition % secondary constructors of map expressions: abbreviating definitions defAs(0,int(id,opp(id))). % bottom defAs(1,opp(0)). % top defAs(symm(P,Q),int(opp(int(opp(P),opp(Q))),opp(int(P,Q)))). % symmetric difference defAs(di,opp(id)). % difference map % further Boolean operators: defAs(setminus(P,Q), int(P,opp(Q))). defAs(un(P,Q), opp(setminus(opp(P),Q))).