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:
noneis inapplicable; no classification exists;some vis applicable with classv.
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:
noneis inapplicable,some vis applicable with classv. - persist : T → Prop
The declared persistence set.
Instances For
t is applicable and identity-preserving under c.
Instances For
t is applicable and identity-breaking under c.
Instances For
The declared persistence set contains only identity-preserving transformations.
Equations
- c.WellFormed = ∀ (t : T), c.persist t → c.IsPrs t
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
- c.coarse t = (c.pattern t).getD SE.Persistence.ClassificationValue.ign
Instances For
Applicability is decidable, so finite statements can be checked with decide.
Preservation is decidable, so finite statements can be checked with decide.
Equations
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.
Equal patterns have equal coarse values.