let rec get_received_fresh_terms = function
Pair(t1,t2)
| Scrypt(t1,t2)
| Crypt(t1,t2)
| Cons(t1,t2) ->
(get_received_fresh_terms t1)@(get_received_fresh_terms t2)
| Delete(t1,t2) ->
(get_received_fresh_terms t1)@(get_received_fresh_terms t2)
| Inv(t) ->
get_received_fresh_terms t
| Function(t1,l) ->
(get_received_fresh_terms t1)
@(List.flatten (List.map get_received_fresh_terms l))
(* | Lst(l)*)
| Set(l) ->
List.flatten (List.map get_received_fresh_terms l)
| Base(Var(i))
| Prime(Var(i)) -> [Var i]
| _ -> []