proofs about the connection between exprD and typ_cast

- some of these things closely leverage the fact
  that typ_cast_typ is essentially syntactic
  syntactic equality. Avoiding this is ideal, but
  for the time being it simplifies a lot of things.