no
?- term_to_fr(f(1,2,g(a,[7,8,9])),f(0,1,g(1,0)),FR).

FR = (f(2,g(a)),[1,[[7,8,9]]]) ? ;

no
?- term_to_fr(p(f(a,b,c),5),p(f(1,0,0),0),FR).

FR = (p(f(a)),[[b,c],5]) ? 

yes
?- term_to_fr(f(1,2,g(a,b,c,d),g(r([5,6,7,8],t))),f(0,1,g(1,0,0,1),g(r(1,0))),FR).

FR = (f(2,g(a,d),g(r([5,6,7,8]))),[1,[b,c],[[t]]]) ? 

yes
?- term_to_fr(f(1,2,g(a,b,c,d),g(r([5,6,7,8],t))),f(0,1,g(1,0,0,1),g(r([1,0,0,1],0))),FR).

FR = (f(2,g(a,d),g(r([5,8]))),[1,[b,c],[[[6,7],t]]]) ? ;

no
?- term_to_fr(f(1,2,g(a,b,c,d),g(r([5,6,7,8],t))),f(0,1,g(1,0,0,1),g(r([0,0,0,1],0))),FR).

FR = (f(2,g(a,d),g(r([8]))),[1,[b,c],[[[5,6,7],t]]]) ? ;

no
?- term_to_fr(f(1,2,g(a,b,c,d),g(r([5,6,7,8],t))),f(0,1,g(1,0,0,1),g(r([0,0,0,0],0))),FR).

FR = (f(2,g(a,d),g(r([]))),[1,[b,c],[[[5,6,7,8],t]]]) ? ;

no
?- term_to_fr(p(f(a,b,c),5),p(f(1,0,0),0),FR).

FR = (p(f(a)),[[b,c],5]) ? ;

no
?- term_to_tr(f(1,2,g(a,[7,8,9])),f(0,1,g(1,0)),FR).
{ERROR: user:term_to_tr/3 - existence error: procedure:/(user:term_to_tr,3) does not exist}

no
?- term_to_fr(f(1,2,g(a,[7,8,9])),f(0,1,g(1,0)),FR).

FR = (f(2,g(a)),[1,[[7,8,9]]]) ? ;

no
?- term_to_fr(f(1,2,g(a,[7,8,9])),f(0,1,g(1,0)),FR).

FR = (f(2,g(a)),[1,[[7,8,9]]]) ? ;

no
?- term_to_fr(f(1,2,g(a,b,c,d),g(r([5,6,7,8],t))),f(0,1,g(1,0,0,1),g(r(1,0))),FR).

FR = (f(2,g(a,d),g(r([5,6,7,8]))),[1,[b,c],[[t]]]) ? ;

no
?- 

