Documentation

SE.Transformation.Invariants

Invariants #

SE.Transformation.Invariants

Finite regression guards for the transformation taxonomy.

operatorFamily and familyKind are total functions, so "every operator has exactly one family" holds by construction and is not restated here. The statements below can fail when the taxonomy is edited:

referenceOperators has no duplicates.

referenceFamilies has no duplicates.

referenceKinds has no duplicates.

Every operator code occurs in referenceOperators.

Every transformation family occurs in referenceFamilies.

Every transformation kind occurs in referenceKinds.

Membership in operatorsInFamily is exactly family membership.

Membership in operatorsInKind is exactly kind membership.

Membership in familiesInKind is exactly the familyKind assignment.

Every family has at least one operator.

Every kind has at least one family.

Every kind has at least one operator.