============= Es. 2, 23/05/2017 =================== L ::= e | X;L p(e) = e;e p(X;L) = append(p(L),i(X,p(L))) append(e,L) = L append(X;L1, L2) = X;append(L1,L2) % i(X, LL) % X è un numero % LL è una lista di liste di numeri i(X, e) = e i(X, L;LL) = (X;L) ; i(X,LL) Test: p(e) --> e;e p(1;2;3;e) --> append(p(2;3;e)), i(1,p(2;3;e))) p(2;3;e) --> append(p(3;e), i(2,p(3;e))) p(3;e) --> append(p(e), i(3,p(e))) --> append(e;e, i(3,e;e)) --> append(e;e, (3;e);i(3,e)) --> append(e;e, (3;e);e) --> e; append(e, (3;e);e) --> e;(3;e);e ....