"Transitive closure" is basically saying which states are reachable from other states in your data model.
For example, if you have a soft-deleted field "is_deleted" in your data model, then the transitive closure from "is_deleted" is the empty set, because nothing can ever change once an object is deleted(unless you support un-delete).
Maybe this is dumb, but when I wrote this I also took it to mean the "transitive closure" of different fields of your data. So if you had a object "a" with fields "b" and "c", you'd consider "a" and "a.b" and "a.c".
There's also an interesting relation here between reaching some state "S" and having some field "s_reached". I haven't been able to fully understand that relationship, though.
I tried to do a quick job of explaining this, but the example that motivated this strategy was pretty work-specific and I'm not comfortable using that, and I can't come up with another offhand. Lemme tinker and see if I can come up with a good one!
Can someone explain this?
> List the transitive closure of fields in a data model. Regroup them to make the most sense for your application. Do you have the same data model?