Section InverseTransport.

(* Lemma 24 in [1] uniquely identifying congruence classes of types via atoms *)
Lemma iipc2_Ut_unique {xs tSs tPs t} :
iipc2 (Gamma0 ++ map Ut (map (fun x : nat => poly_var (x + zt)) xs) ++ map St tSs ++ map Pt tPs) (Ut t) ->
exists n, encodes_nat t n.