Substituable Values (SV Semantics)
Definitions
The relation x≅P_y is called Substitutable Values or SV relation iff the following three propositions hold:
- Indifference:
Consider a preference P:=(A,<_P) and two values x,y∈dom(A) with x≠y . If none of them is better than the other, they are indifferent, x ∼ P_y
¬(x < P_y ∨ y < P_x) ⇔ x ∼ P_y - Substitution of Equivalently Better Tuples:
x ≅ P_y ∧ ∃z : z <_P x ⇒ z <_P y - Substitution of Equivalently Worse Tuples:
x ≅ P_y ∧ ∃z : x <_P z ⇒ y <_P z
Remarks
Equivalence Relation
Any SV relation is reflexive, symmetric and transitive thus being an equivalence relation.
REGULAR SV Semantics
Having a weak order preference as equivalence relation this prerequisite yields the so-called REGULAR SV semantics.
Preference SQL uses REGULAR SV semantics by default.
TRIVIAL SV Semantics
If the identy relation as smallest equivalence relation is chosen the identity yields the so-called TRIVIAL SV semantics.
Since only x = x is valid the propositions (1)-(3) get trivial.
User-defined SV Semantics
User-defined SV semantics is enabled by clauses of the kind like SV((value_i, ... , value_j), ... ,(value_x, ... , value_y)) by postponing this clause at the end of any preference clause. The ANTICHAIN preference constructor in combination with complex preference constructors offers the easiest way to demonstrate the effects of user-defined SV semantics.
GROUPING Clause with User-defined SV Semantics
The GROUPING clause behaves as the GROUP BY clause. This means all null values, which are not equal, are grouped by one NULL equivalence class whereas all other values are treated by TRIVIAL SV semantics. Having no null values or explicitly excluding null values, GROUPING may be expressed by the ANTICHAIN preference constructor in the first position of a priorization. GROUPING with user-defined SV semantics is enabled by clauses of the kind like
SV((value_i, ... , value_j) [AS 'Class_1'] , ... , (value_x, ... , value_y) [AS 'Class_n'] ) AS newGroupingAttribute |
by attaching this clause behind any grouping attribute. Also each newGroupingAttribute must have a unique attribute name. Obviously, aggregation functions in conjunction with newGroupingAttribute take care of the user-defined SV semantics.
Multi-Level BMO (ML-BMO) induced SV Semantics
By using the REGULARIZED keyword behind any complex preference in brackets, the outcome of the complex preference is inherenty transformed to a layered preference. Each layer corresponds to a BMOi which is generated by a muli-level BMO evaluation ( EP15 for the special case of a Pareto preference) where BMO_0 is the standard BMO set. Obviously, the level function of each layer is defined by f(x) = i. For simplicity, the REGULARIZED keyword is at present restricted to just the combintation of (p_1) REGULARIZED PRIOR TO (p_2) ... REGULARIZED PRIOR TO (p_n). Thus, this special case of regularization is implemented as a LAYERED_1 preference, because the generation of BMO_0 is sufficient and correct with respect to prioritization.
Alternative Values
Indifferent values, which are not substitutable values, are called Alternative Values.