Prolog: Problem mit Listen

  • Hallo

    Ich sitze nun schon seit einiger Zeit an einem Problem.
    Und zwar habe ich eine Liste folgender Form:
    [a,a,a, [b,b,b, [c,c,c, [d,d,d,[...]]], [c,c,c, [d,d,d,[...]]]]] (Punkte stehen für und so weiter)

    Ich möchte diese nun folgendermaßen ausgeben:
    aaa
    bbb
    ccc ccc
    ddd ddd
    .......
    .......

    Das versuche ich mit diesem Code:

    Code
    printproof([X,Y,Z]):-write(X),write(Y),write(Z).
    printproof([X,Y,Z|[S],[A]]):-write(X),write(Y),write(Z).,nl,printproof(S),printproof(A).
    printproof([X,Y,Z|[A]]):-write(X),write(Y),write(Z),nl,printproof(A).


    So lange die liste nur so [..[...[...[.. ist funktioniert das wunderbar, aber sobald eine Verzweigung [..[..][..]] dazukommt geht es nicht mehr. Für die Verzweigung hätte ich eigentlich die 2. zeile im Code, aber das scheint nicht zu funktionieren.

    Kann mir jemand weiterhelfen?