showTree([Wurzel|Bs],Einrueckung) :-
    tab(Einrueckung), writeq(Wurzel),
    (Bs = [[Blatt]] -> tab(1), writeq(Blatt)
    ; Einrueckung2 is Einrueckung + 3,
        showTrees(Bs,Einrueckung2)).
showTree([],Einrueckung) :-
    tab(Einrueckung), writeq([]).

showTrees([Baum|Baeume],Einrueckung) :-
    nl,showTree(Baum,Einrueckung),
    showTrees(Baeume,Einrueckung).
showTrees([],_).
writeTrLam([Wurzel|Bs],Einrueckung) :-
    tab(Einrueckung),writeq(Wurzel),
    (sem([Wurzel|Bs],LamTerm)
    -> nl,tab(Einrueckung),
        write('+ '),writen(LamTerm)
    ; true % für Wörter ohne Bedeutung
    ), 
    (Bs = [[Blatt]] 
    -> tab(1), writeq(Blatt)
    ; Einrueckung2 is Einrueckung + 3,
      writeTrsLam(Bs,Einrueckung2)
    ).

writeTrLam([],Einrueckung) :-
    tab(Einrueckung), writeq([]).
    
writeTrsLam([Baum|Baeume],Einrueckung) :-
    nl,writeTrLam(Baum,Einrueckung),
    writeTrsLam(Baeume,Einrueckung).
writeTrsLam([],_).

writen(Term) :- \+ \+((numbervars(Term,23,_),
           write_term(Term,[numbervars(true)]))).
