1:- module(ccp_display, [print_tree/1]).    2
    3:- use_module(library(data/tree),   [print_tree/2]).    4
    5print_tree(T) :- tree_to_tree(T,T1), write('  '), print_tree('  ', T1), nl.
    6
    7tree_to_tree(\P, node(p(P),[])).
    8tree_to_tree((_:SW):=Val, node(t(SW:=Val),[])).
    9tree_to_tree((_:Head) - Expls, node(nt(Label), Subnodes)) :-
   10   functor(Head,Label,_),
   11   exclude(=(const), Expls, Expls1),
   12   maplist(tree_to_tree, Expls1, Subnodes).
   13
   14user:portray(node(nt(Label))) :- print(Label).
   15user:portray(node(t(Data))) :- write('|'), print(Data).
   16user:portray(node(p(Prob))) :- write('@'), print(Prob)