Skip to content
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

the name "equivalence operator" is misleading #258

Open
adrienrougny opened this issue Nov 22, 2024 · 0 comments
Open

the name "equivalence operator" is misleading #258

adrienrougny opened this issue Nov 22, 2024 · 0 comments
Labels
Milestone

Comments

@adrienrougny
Copy link
Collaborator

adrienrougny commented Nov 22, 2024

Target

PD

Issue type

Bug

Bug report

Level and version
Level: 1
Version: 2.0

Bug description

As is, the name "equivalence operator" is misleading.
In logic, the equivalence operator is a binary logical operator (most commonly denoted by "<->" or "<=>") that builds a new formula from two formulas (e.g., p <=> q is a new formula built from formulas p and q). It is related to, but different from, logical equivalence, which is an equivalence relation on logical formulas most commonly denoted by "≡" (but also sometimes confusingly by "<=>"). Currently, the "equivalence operator" glyph wrongfully mixes the two notions (relation and operator): on the one hand, it is used to describe some sort of identity between an entity pool and a union of other entity pools (the entity pool is "equivalent to" or "identical to" the union), relating this way to the equivalence relation; on the other hand it is represented and built as the other "logical operator" glyphs with connectors and inputs, relating this time to the notion of operator.

The "equivalence operator" actually acts as both an operator and a relation :

  • First it creates a union between entity pools (the inputs of the operator). Here, it acts as an "union" operator;
  • Then it states that some entity pool is identical to the result of this union. Here, it acts as an instance of some sort of "equivalence" relation (or more precisely of some "identity" or "equality" relation).

Proposed solution

The operator could be renamed as the "union" operator. Or the operator could be removed and replaced by a an arc for expressing "subclass of", which is what the "equivalence operator" is actually meant to express, as per the specification. This would mean having arcs from EPNs to EPNs which has been avoided since the beginning in the spirit of keeping a bipartite graph, but because of nested logical operators SBGN is actually not bipartite.

@adrienrougny adrienrougny added this to the L2+ milestone Nov 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant