AlgebraicJulia / AlgebraicJulia/GATlab.jl

Make renaming not generate as many new scopetags

Open
#148 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Julia
Stars
43
Forks
4
PR merge metrics
No merged PRs in 30d

Description

There are new features for renaming in the pipeline (https://github.com/AlgebraicJulia/GATlab.jl/pull/147 and https://github.com/AlgebraicJulia/GATlab.jl/pull/146) which suffer from a common problem of generating completely fresh ScopeTags for the renamed theory. Consider the following scenario:

![Screenshot 2024-03-20 at 10 49 45 AM](https://github.com/AlgebraicJulia/GATlab.jl/assets/27834499/b8550463-e060-48de-824e-6a3df864b722)

We rename `*` to `+` in both `ThGrp` and `ThAbGrp` (which extends `ThGrp` with a commutativity axiom). With the present setup, it will **not** be the case that `ThAddGrp` will be a proper inclusion of `ThAddAbGrp`.

One way to address this is to make the data to rename `ThGrp` (resp. `ThAbGrp`) be the renaming morphism (as generated by the existing tooling) from `ThMon` to `ThAddMon` as well as an inclusion from `ThMon` into `ThGrp` (resp `ThAbGrp`). This fancier renaming function will make sure to use the fresh scopetags from `ThAddMon` in both `ThAddGrp` and `ThAddAbGrp`.

![Screenshot 2024-03-20 at 10 50 59 AM](https://github.com/AlgebraicJulia/GATlab.jl/assets/27834499/7a18abb3-db5a-4fdf-adb2-2d58c0e2772b)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.