The partial ordering rules of constraints are defined as:
[temp.constr.order#1]
A constraint P subsumes a constraint Q if and only if, for every disjunctive clause Pi in the disjunctive normal form of P, Pi subsumes every conjunctive clause Qj in the conjunctive normal form of Q, where
- a disjunctive clause Pi subsumes a conjunctive clause Qj if and only if there exists an atomic constraint Pia in Pi for which there exists an atomic constraint Qjb in Qj such that Pia subsumes Qjb, and
- an atomic constraint A subsumes another atomic constraint B if and only if A and B are identical using the rules described in [temp.constr.atomic].
I don't know how to get the disjunctive and conjunctive normal forms of a given constraint. Moreover, I have some confusion about the second bullet.
Question 1:
Given a constraint named P with the form A ∧ B
and another constraint named Q with the form A
where A
and B
are both atomic constraints. For constraint P
what's the disjunctive normal form of it? Whereas, what's the conjunctive and disjunctive normal form of Q
?
Question 2:
Is that Pi and Qj is taken from the clauses of the corresponding positions of their disjunctive /conjunctive normal form? Especially, how to understand the sentence if and only if there exists an atomic constraint Pia in Pi for which there exists an atomic constraint Qjb in Qj such that Pia subsumes Qjb? How to interpret the case that Qi
has an extra atomic constraint that Pi does not have? Does that P
subsumes Q
? Could you give an exposition process to interpret why does A ∧ B
subsume A
?