This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
7. Conformance Criteria contains 3 non-list sentences, each having the flavor <defined term> is <valid|conforming> if ... conditions The question raised at the 1/22 f2f is which of those (3, currently) should be changed from "if" to "if and only if". As part of the ensuing discussion, the assertion was made that the last sentence of the section, "if any model document is not reachable, then the model validator's behavior is implementation-defined.", would likely need to be pulled out of the list.
[1] Removed the last bullet ("5. All documents in the model are available ...") from model validity conditions list and added the following sentence immediately before the model conformance list. Conformance and validity of a model can be assessed if and only if all documents in the model are available to the model validator. If any model document is not reachable, then the model validator's behavior is implementation-defined. [2] The bug description is not clear about the reference to the "if an only if" discussion during f2f. It is not clear if it was added to clarify the context or if it is another change sought by this bug. No change has been made for this.
wrt [1], if and only if, the issue is one for the logicians and/or spec lawyers. As written, following the formal rules of logic for implication, and taking the "model valid" sentence as an example, we have today: "A conforming SML model is valid if it satisfies all of the following conditions:". According to the formal definition of implication, this sentence does not assert its converse. That is, it does NOT say "A conforming SML model is INvalid if it FAILS TO satisfY ANY of the following conditions:"... it says nothing about this case. One way to phrase the question would be to say: do we want to leave the converse results unstated, or not? An assertion was made, IIRC by Sandy, that at least one of them should be changed from implication (if/then) to equivalence (if and only if) so the converse cases are covered. We did not discuss this to the point of full wg consensus however, hence there is no concrete proposal in the bug yet. The wg as a whole should feel free to make one.
I would vote for the strong "if and only if". The spec should be as logically precise in its definition of conformance.
I agree that we should be as precise as possible, but for the benefit of both the WG and entire public list I want to be sure it is clear that the "if and only if" is stating much more than the "if" version and we must be certain for each of the 3 statements (or more should they arise) that the converse is true. Taking John's example in comment #2 and restating in the positive, the "if" version states that "A conforming SML model is valid if it satisfies all of the following conditions:". Changing it to the "if and only if" version implies that if a model satisfies all of the following conditions, then it is a conforming SML model. To convince ourselves that this is the case we might ask "is there any way a model can satisfy all of these conditions and still not be a conforming model?" If not then we can feel comfortable about using the "if and only if". We need to be sure we go through this same "validation exercise" with each statement that we consider changing.
Editors to make the first pass at deciding where to use 'iff' and then come back to the group for review.
Replaced the following 3 instances of 'if' by 'if and only if' in section 8 Conformance Criteria: [1] from: A program is a conforming SML model validator if it satisfies the following conditions: to: A program is a conforming SML model validator if and only if it satisfies the following conditions: [2] from: A set of XML documents is a conforming SML model if it satisfies the following conditions: to: A set of XML documents is a conforming SML model if and only if it satisfies the following conditions: [3] from: A conforming SML model is valid if it satisfies all of the following conditions: to: A conforming SML model is valid if and only if it satisfies all of the following conditions:
+1