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)