:- [pg]. article :- name(FileName, "article.pl"), open(FileName,write,Stream), sigma_pg(pg(f,[f,g],[ [(f(0) -> zero), (f(n+1) -> g(n+1)*f(n))], [(g(0) -> zero),(g(n+1) -> suc(g(n)))] ]),Stream), close(Stream).