Documentation

Mathlib.Logic.Relation.NormalForm

Normal forms for relations #

This file develops basic normal form notions for abstract reduction relations.

We represent finite reduction sequences by Relation.ReflTransGen r. The assumption WellFounded (flip r) expresses termination of forward reductions.

The main results are:

def Relation.IsNormalForm {α : Type u_1} (r : ααProp) (a : α) :

An element is in normal form if it admits no one-step reduction.

Equations
Instances For
    def Relation.IsNormalFormOf {α : Type u_1} (r : ααProp) (a b : α) :

    An element b is a normal form of a with respect to r.

    Equations
    Instances For
      def Relation.UniqueNormalForms {α : Type u_1} (r : ααProp) :

      A relation has unique normal forms if any two normal forms reachable from the same element by finite reductions are equal.

      Equations
      Instances For
        def Relation.LocallyConfluent {α : Type u_1} (r : ααProp) :

        A relation is locally confluent if any two one-step reductions starting from the same element can be joined by finite reductions.

        Equations
        Instances For
          theorem Relation.exists_normalFormOf_of_wellFounded_flip {α : Type u_1} {r : ααProp} (hrwf : WellFounded (flip r)) (a : α) :

          If forward reductions are terminating, then every element has at least one normal form.

          theorem Relation.ReflTransGen.eq_of_isNormalForm {α : Type u_1} {r : ααProp} {a b : α} (hnf : IsNormalForm r a) (h : ReflTransGen r a b) :
          b = a

          If a is in normal form and a reduces finitely to b, then b = a.

          theorem Relation.Confluent.locallyConfluent {α : Type u_1} {r : ααProp} (hc : Confluent r) :

          Confluence implies local confluence.

          theorem Relation.locallyConfluent_of_confluent {α : Type u_1} {r : ααProp} (hc : Confluent r) :

          Confluence implies local confluence.

          theorem Relation.ChurchRosser.locallyConfluent {α : Type u_1} {r : ααProp} (hcr : ChurchRosser r) :

          The Church-Rosser property implies local confluence.

          Newman's lemma, main direction. If flip r is well-founded and r is locally confluent, then r is confluent.

          theorem Relation.Confluent.uniqueNormalForms {α : Type u_1} {r : ααProp} (hc : Confluent r) :

          Confluence implies unique normal forms.

          theorem Relation.uniqueNormalForms_of_confluent {α : Type u_1} {r : ααProp} (hc : Confluent r) :

          Confluence implies unique normal forms.

          Under well-foundedness of flip r, unique normal forms imply confluence.