Hello,
as you observed, nesting sets poses no problem. However, I don't think this is what you really are after.
First of all, observe that {0,0,0} = {0}.
It seems to me that you intend to associate values with indexes and time stamps. So a cache entry (for a given value) could be modeled as a record
CacheEntry == [index : Nat, timestamp : Time]
and the cache can be modeled as a function from values to cache entries
Cache == [ Value -> CacheEntry ]
We can now define the initial condition as
cache = [ v \in Value |-> [index |-> 0, timestamp |-> 0] ]
and you can write something like
cache[v1].index < cache[v2].index
for comparing the index values for cache entries for values v1 and v2.
Hope this helps,
Stephan