Skip to content

Make the redundancy check part of the database tests - #437

Merged
ScriptRaccoon merged 6 commits into
mainfrom
redundancy-check-mandatory
Oct 26, 2026
Merged

ScriptRaccoon merged 6 commits into
mainfrom
redundancy-check-mandatory

Conversation

@ScriptRaccoon

@ScriptRaccoon ScriptRaccoon commented Oct 26, 2026 •

Copy link
Copy Markdown
Owner

This PR makes the redundancy check mandatory: redundant property assignments now make pnpm db:test fail, so they are caught by pnpm db:update and in CI. Previously, they were only reported by the separate script pnpm db:redundancies, which had to be run manually, so after adding new results, the assignments that became redundant were often not removed (as for Unif after #373).

Changes

  • Redundancy check: pnpm db:test now runs the redundancy check as its last test. It lists all redundancies, at most one per structure and kind (satisfied or unsatisfied), and fails if there are any. An assignment that is redundant but deliberately kept must be marked with check_redundancy: false.
  • Removed script: pnpm db:redundancies no longer exists.
  • Inherited properties: the check now also takes into account the properties inherited from parent structures. An assignment is redundant if it is inherited from a parent structure, or if it can be deduced from the other assignments together with the inherited ones. This revealed redundant assignments in Ab, CRing, Vect, and Ab_tensor, which are now marked with check_redundancy: false.
  • Redundant assignment removed: the unsatisfied property "pullback-stable regular epimorphisms" of Unif was redundant and has been removed. It is now deduced from the implication "extensive + regular + quotients of congruences ⟹ effective cocongruences".
  • Incorrect markers removed: some assignments were marked with check_redundancy: false but were not redundant. The marker has been removed from them: "coequalizers of kernel pairs" for FreeAb and Quiv_fc, "finite products" for Man, and "thin" for N.
  • Documentation: CONTRIBUTING.md, DATABASE.md, and CLAUDE.md now describe the new test. Redundant assignments must be removed unless there is a good reason to keep them.

this is now handled by the implication "extensive + regular + quotients of congruences => effective cocongruences" added in the PR #373
@ScriptRaccoon ScriptRaccoon added feature features of the application visible to users as well as features for maintainers infra infrastructure changes, such as hosting, pipelines, packages labels Oct 26, 2026
@ScriptRaccoon
ScriptRaccoon force-pushed the redundancy-check-mandatory branch from 579ca41 to 2fcf173 Compare October 26, 2026 22:58
@ScriptRaccoon
ScriptRaccoon merged commit bc8a957 into main Oct 26, 2026
4 checks passed
@ScriptRaccoon
ScriptRaccoon deleted the redundancy-check-mandatory branch October 26, 2026 23:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature features of the application visible to users as well as features for maintainers infra infrastructure changes, such as hosting, pipelines, packages

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant