message: [move-prover] Fixing dep calculation to use canonical paths.
  There were still issues with detecting whether the over-approximation of deps lead to cycles. This PR canonicalizes paths to detect this.
  Closes:
  Approved by: sblackshear
diff: @@ -217,13 +217,24 @@ fn calculate_deps(sources: &[String], input_deps: &[String]) -> anyhow::Result<V
  // Remove input sources from deps. They can end here because our dep analysis is an
  // over-approximation and for example cannot distinguish between references inside
  // and outside comments.
  + let canonical_sources = sources
  + .iter()
  + .map(|s| canonicalize(s))
  + .collect::<BTreeSet<_>>();
  let deps = deps
  .into_iter()
  - .filter(|d| !sources.contains(d))
  + .filter(|d| !canonical_sources.contains(&canonicalize(d)))
  .collect_vec();
  Ok(deps)
  }
  +fn canonicalize(s: &str) -> String {
  + match fs::canonicalize(s) {
  + Ok(p) => p.to_string_lossy().to_string(),
  + Err(_) => s.to_string(),
  + }
  +}
  +
  /// Recursively calculate dependencies.
  fn calculate_deps_recursively(
  path: &Path,
  