1:- op(100,fx,?).    2
    3portray(#(PP,Pred,Trace,Adv)) :-
    4   portray_bit(pp,PP,S0,S1),
    5   portray_bit(pred,Pred,S1,S2),
    6   portray_bit(trace,Trace,S2,S3),
    7   portray_bit(adv,Adv,S3,[]),
    8   write(S0).
    9
   10portray_bit(Bit,Value,[?Bit|Bits],Bits) :- var(Value), !.
   11portray_bit(Bit,1,[Bit|Bits],Bits).
   12portray_bit(Bit,0,Bits,Bits)