Skip to content

[Add/Refactor] New module family Relation.Binary.Rewriting — Abstract Rewriting Systems #2964

@DrPolonsky

Description

@DrPolonsky

Summary

We have formalized a substantial body of results about binary relations under the Abstract Rewriting Systems (ARS) rubric and would like to contribute this to the standard library. The existing library covers closure operators and a proof of Newman's Lemma (Relation.Binary.Construct.Closure.ReflexiveTransitive, Relation.Binary.Properties.Setoid), but there is no systematic treatment of ARS properties or their logical interdependencies. We believe this material would be a natural fit under a new Relation.Binary.Rewriting namespace.

This issue is a contribution request: we want to know whether such a contribution would be welcome, and if so, what conventions and structural requirements we should meet before submitting a PR.

Contributors

Existing Codebase

https://github.com/DrPolonsky/FPLA — the relevant modules are under ARS/.

Proposed Content

1. ARS Property Definitions (Rewriting.Properties)

A systematic catalogue of local and global ARS properties, all parametric over {A : Set} (R : Rel A _):

  • Confluence family: WCR, CR, diamond property (◆), subcommutativity, commutativity of two relations
  • Normalization family: NF, WN, SN (= Acc R), MF (minimal/recurrent form), WM
  • NF uniqueness family: NP, MP, UN (and conversion-based variants NP₌, UN₌)
  • Sequence-based: RP, BP, CP (recurrence/boundedness/cofinality properties for reduction sequences)
  • Completeness: isComplete (= CR ∧ SN), isSemicomplete (= UN₌ ∧ WN)

2. Property Hierarchy (Rewriting.Hierarchy)

Elementary implications and equivalences between the above properties, not tied to specific reference results. Examples: NF ↔ MF ∧ SN, NF ⊆ MF ⊆ MP ⊆ NP ⊆ UN, upward/downward closure of WN, SN, MF, UN under reduction.

3. TeReSe Chapter 1 (Rewriting.TeReSe.Propositions, .Implications, .Theorems, .NewmansLemma)

A formalization of Chapter 1 of TeReSe (Terese 2003), with classical and decidability hypotheses carefully identified and eliminated where possible:

  • Prop. 1.1.9–1.1.11: Reformulations of confluence notions; the ◆-sandwich theorem
  • Implications: The standard hierarchy diagram (CR→UN, SN→SM, WN→WM, etc.)
  • Thm. 1.2.2: CR ↔ WN ∧ UN
  • Thm. 1.2.3: WN ∧ WCR ∧ RP⁻ → SN (constructive hypotheses analyzed in detail)
  • Newman's Lemma: Classical formulation (SN ∧ WCR → CR); a generalized constructive variant via recurrent elements (see §4 below)

4. Recurrent Elements (Rewriting.Recurrent)

An extension of the standard ARS ontology with the concept of strongly minimal (SM) elements — an inductive generalization of MF — together with:

  • SM ⊆ SMseq and double-negation lifts SM⁻, SMseq⁻
  • A constructive local Newman's Lemma: WCR ∧ SM x → CR x (no SN hypothesis)

5. Well-Foundedness Analysis (Rewriting.WellFounded — placement TBD)

A detailed constructive analysis of SN and related notions:

  • Equivalences between Acc, WFseq (no infinite decreasing sequences), WFmin (minimal element property), under varying classical/decidability assumptions
  • WN ∧ isSM → isSN; WN ∧ WCR ∧ RP⁻ → SN (the classical proof, requiring accessibilityIsCoreductive and dec(SN))

Here is a figure from our preprint:

Image

We are unsure where this material belongs: it overlaps with Induction.WellFounded but is specifically about rewriting rather than general well-foundedness.

Questions for Maintainers

  1. Is this contribution welcome in principle? We are aware there is no existing lambda calculus or rewriting theory in the standard library; we want to confirm ARS is considered foundational rather than domain-specific before investing in full refactoring.

  2. Proposed namespace: We suggest Relation.Binary.Rewriting.*. Does this fit the existing organizational scheme, or would another location (e.g., under Induction.*) be more appropriate?

  3. Well-foundedness placement: Should the SN analysis live under Induction.WellFounded or under the new Rewriting.* namespace?

  4. Universe polymorphism: Our current codebase is fixed at Set₀. We plan to lift to {a ℓ : Level} {A : Set a} (R : Rel A ℓ) before submitting. Are there other universe-polymorphism conventions we should follow?

  5. Prior art: Are we missing any existing ASL modules that already cover some of this material?

References

  • Terese (2003). Term Rewriting Systems. Cambridge University Press. Chapter 1.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions