let transcript_to_real name (mess : string) : string =
        let rec aux mess =
                let l_mess = decompose mess in
                (if(l_mess=[]) then(
                        if(is_a_var mess) then aux (get_value_of_var name mess)
                        else mess
                )
                else if((car l_mess)="pair"then (list2string "." (List.map (fun e -> aux e) (cdr l_mess)))
                else if((car l_mess)="scrypt" || (car l_mess)="crypt"then (
                                let tmp=decompose (cadr l_mess) in
                                if(tmp<>[] && (car tmp)="pair")
                                then "{"^(aux(caddr l_mess))^"}_{"^(aux (cadr l_mess))^"}"
                                else "{"^(aux(caddr l_mess))^"}_"^(aux (cadr l_mess));
                        )
                else if((car l_mess)="apply"then (aux(cadr l_mess))^"("^ (list2string "," (List.map aux (cddr l_mess)) ) ^")"
                else if((car l_mess)="exp"then (car l_mess)^"("^ (list2string "," (List.map aux (cdr l_mess)) ) ^")"
                else if((car l_mess)="xor"then (car l_mess)^"("^ (list2string "," (List.map aux (cdr l_mess)) ) ^")"
                else if((car l_mess)="inv"then (car l_mess)^"("^ (aux (cadr l_mess)) ^")"
                else         let tmp =         (list2string "," (cdr l_mess) 
                                        ) in
                        (aux (car l_mess))^"("^tmp^")";
                )
        in
        aux mess