Skip to content

Refactor metric-spaces module #1421

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
2 tasks
malarbol opened this issue May 1, 2025 · 2 comments
Open
2 tasks

Refactor metric-spaces module #1421

malarbol opened this issue May 1, 2025 · 2 comments
Assignees

Comments

@malarbol
Copy link
Collaborator

malarbol commented May 1, 2025

Recent contributions in the metric-spaces modules raise concerns about the names of some concepts in the metric-spaces module.

  • refactor pre/pseudo/metric-spaces
  • rename indistinguishable --> indiscernible (see comment)
@malarbol malarbol self-assigned this May 1, 2025
@fredrik-bakke
Copy link
Collaborator

Here's a couple more points:

  • The divide metric space/metric structure seems a bit over the top. I suggest we factor these to be contained in the same files (and same for premetrics and pseudometrics and any other such divides in this namespace).
  • The concept of indistinguishability should be factored to separate files, called similarty-of-elements-metric-spaces and so on. This is consistent with other notions of similarity in the library.
  • The definition of indistinguishability in premetric spaces is not the correct one, it only applies to (reflexive?) symmetric premetric spaces. I propose we forget the non pseudo- case and only first define similarity for pseudometric spaces.

@fredrik-bakke
Copy link
Collaborator

fredrik-bakke commented May 5, 2025

For future reference, the correct similarity relation on premetric spaces is probably

(x ≍ y) :=
  ((ε : ℚ⁺) → (B ε x x ↔ B ε y y)) ×
  ((ε : ℚ⁺) (z : A) → (B ε x z ↔ B ε y z)) ×
  ((ε : ℚ⁺) (z : A) → (B ε z x ↔ B ε z y))

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants