Skip to content

Add ↔︎ with text variation selector as a notation for equivalence. - #311

Merged
proux01 merged 5 commits into
rocq-prover:masterfrom
zacharie-moughanim:master
Oct 15, 2026
Merged

proux01 merged 5 commits into
rocq-prover:masterfrom
zacharie-moughanim:master

Conversation

@zacharie-moughanim

Copy link
Copy Markdown
Contributor
  • Added changelog.
  • Added / updated documentation.
  • Opened overlay pull requests.

This PR aims at adding the ↔︎ (represented in UTF-8 by the sequence of bytes 0xE2 0x86 0x94 0xEF 0xB8 0x8E) symbol, which is the unicode codepoint for the double-sided arrow ↔ (bytes 0xE2 0x86 0x94) followed by the text variation selector (bytes 0xEF 0xB8 0x8E), forcing it to be displayed as text and not as the corresponding emoji (↔ followed by the emoji variation selector (0xEF 0xB8 0x8F) is displayed as ↔️).

Therefore, 0xE2 0x86 0x94 0xEF 0xB8 0x8E and 0xE2 0x86 0x94 are two valid way to represent ↔ in UTF-8, but only the latter is recognized by Rocq's notations, this PR adds the former too.

Comment thread theories/Unicode/Utf8_core.v Outdated
Comment thread theories/Unicode/Utf8_core.v Outdated
@SkySkimmer

Copy link
Copy Markdown
Contributor

Do we really want to do this? When is it actually a problem? Would it need doing for every symbol?

Co-authored-by: Pierre Roux <pierre.roux@onera.fr>
@zacharie-moughanim

Copy link
Copy Markdown
Contributor Author

It is a problem if a user writes the arrow with the variation selector, which is a valid representation of the symbol w.r.t. the Unicode chart, yet it is currently rejected by the parser if we keep only the first notation.
We won't have to do it for every symbol: I checked and all the other notations of the Utf8_core.v file don't have a emoji variant.

@proux01

proux01 commented Oct 15, 2026

Copy link
Copy Markdown
Contributor

Thanks for the explanation. Then let's merge this and you can open a further PR if you want to change the printing (will require an overlay in stdpp).

@proux01
proux01 merged commit c59bf6f into rocq-prover:master Oct 15, 2026
180 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants