funcao_a(S1,S,INF,SUP,_,A,TracosA):-
	funcao3(S3,S4,INF,SUP,d,A3,Tracos3),
	funcao2(S2,S3,INF,S3,e,A2,Tracos2),
	funcao1(S1,S2,INF,S2,e,A1,Tracos1),
	funcao4(S4,S5,S4,SUP,d,A4,Tracos4),
	funcao5(S5,S,S5,SUP,d,A5,Tracos5).
	monta_arv(A,alias_a,[A1,A2,A3,A4,A5])

funcao_b(S1,S,INF,SUP,_,A,TracosB)::-
	funcao3(S3,S4,INF,SUP,d,A3,Tracos3),
	funcao2(S2,S3,INF,S3,e,A2,Tracos2),
	funcao1(S1,S2,INF,S2,e,A1,Tracos1),
	funcao4(S4,S5,S4,SUP,d,A4,Tracos4),
	funcao5(S5,S,S5,SUP,d,A5,Tracos5).
	monta_arv(A,,[A1,A2,A3,A4,A5])

funcao_c(S1,S,INF,SUP,_,A,TracosC)->
	funcao3(S3,S4,INF,SUP,d,A3,Tracos3),
	funcao2(S2,S3,INF,S3,e,A2,Tracos2),
	funcao1(S1,S2,INF,S2,e,A1,Tracos1),
	funcao4(S4,S5,S4,SUP,d,A4,Tracos4),
	funcao5(S5,S,S5,SUP,d,A5,Tracos5).
	monta_arv(A,uncao_c(,,[A1,A2,A3,A4,A5])

funcao_d->
	funcao3(S3,S4,INF,SUP,d,A3,Tracos3),
	funcao2(S2,S3,INF,S3,e,A2,Tracos2),
	funcao1(S1,S2,INF,S2,e,A1,Tracos1),
	funcao4(S4,S5,S4,SUP,d,A4),
	funcao5(S5,S,S5,SUP,d,A5,Tracos5).
	monta_arv(A,,[A1,A2,A3,A4,A5])

funcao_e(S1,S,INF,SUP,d,A,TracosE):-
	funcao1(S1,S2,INF,SUP,d,A1,Tracos1),
	funcao2(S2,S3,S2,SUP,d,A2,Tracos2),
	funcao3(S3,S4,S3,SUP,d,A3,Tracos3),
	funcao4(S4,S5,S4,SUP,d,A4,Tracos4),
	funcao5(S5,S,S5,SUP,d,A5,Tracos5).
	monta_arv(A,alias_e,[A1,A2,A3,A4,A5])

funcao_e(S1,S,INF,SUP,e,A,TracosE):-
	funcao5(S5,S,INF,SUP,e,A5,Tracos5).
	funcao4(S4,S5,INF,S5,e,A4,Tracos4),
	funcao3(S3,S4,INF,S4,e,A3,Tracos3),
	funcao2(S2,S3,INF,S3,e,A2,Tracos2),
	funcao1(S1,S2,INF,S2,e,A1,Tracos1),
	monta_arv(A,alias_e,[A1,A2,A3,A4,A5])

e_funcao_f(S,S,_,_,_,alias_f,TracosV).

e_funcao_g(S,S,_,_,_,'',TracosQ)->.

e_funcao_r(S,S,_,_,_,alias_r).

e_funcao_s->(S,S,_,_,_,'').

subst(S1,S,INF,SUP,_,APAL,CAN,G,N):-
	x_subst(S1,S,PAL,CAN,G,N),
	INF =< S1,
	SUP >= S,
	monta_arv(A,subst,[PAL]).

x_subst(0,0,_,CAN,G,N).

subst(S1,S,INF,SUP,_,APAL,CAN,G,N):-
	x_subst(S1,S,PAL,CAN,G,N),
	INF =< S1,
	SUP >= S,
	monta_arv(A,substantivo,[PAL]).

x_subst(0,0,_,CAN,G,N).

