Documentation

SE.Persistence.Domain.Classification

Classification #

SE.Persistence.Domain.Classification

A persistence classification over an abstract transformation domain T.

The domain is a parameter. This module does not decide which transformation vocabulary is classified, and it does not define identity regimes or regime profiles: a regime profile is a classification together with a carrier and an identity basis, and belongs downstream.

Applicability and classification are encoded together as T → Option ClassificationValue:

N/A is the absence of a value, and IGN is a value.

A persistence classification over the transformation domain T.

pattern t is the applicability-and-class pair for t. persist is the declared persistence set. Its relation to the preserving transformations is the predicate Classification.WellFormed, stated separately rather than carried as a field.

  • pattern : T → Option ClassificationValue

    Applicability and class: none is inapplicable, some v is applicable with class v.

  • persist : T → Prop

    The declared persistence set.

Instances For

    t is applicable under c.

    Equations
    Instances For

      t is applicable and identity-preserving under c.

      Equations
      Instances For

        t is applicable and identity-breaking under c.

        Equations
        Instances For

          The declared persistence set contains only identity-preserving transformations.

          Equations
          Instances For

            The total three-valued matrix obtained by sending inapplicable to ign.

            This forgets applicability. coarse_eq_prs_iff shows it preserves the preserving set.

            Equations
            Instances For
              @[implicit_reducible]

              Applicability is decidable, so finite statements can be checked with decide.

              Equations
              @[implicit_reducible]

              Preservation is decidable, so finite statements can be checked with decide.

              Equations
              @[implicit_reducible]

              Breakage is decidable, so finite statements can be checked with decide.

              Equations

              Applicable means some classification exists.

              A preserving transformation is applicable.

              A breaking transformation is applicable.

              A transformation is not both preserving and breaking.

              An inapplicable transformation has coarse value ign.

              An applicable transformation keeps its value under the coarse matrix.

              The coarse matrix preserves exactly the preserving set.

              The coarse matrix preserves exactly the breaking set.

              theorem SE.Persistence.Classification.coarse_eq_of_pattern_eq {T : Type} {c c' : Classification T} (h : ∀ (t : T), c.pattern t = c'.pattern t) (t : T) :
              c.coarse t = c'.coarse t

              Equal patterns have equal coarse values.

              Distinct coarse rows force distinct patterns.