Chen and van Deemter (2023): Varieties of Specification #
This file formalizes the set-theoretic account of over- and under-specification in [CvD23]. A description is a bag of attribute–value pairs over the knowledge base of [DR95], and it is distinguishing when it holds of the referent and of no distractor. An over-specification is a distinguishing description that is not minimal, and it is real, numerical, nominal or duplicate-attribute according to which of its occurrences are superfluous; an under-specification, whose extension in the setting properly contains the referent, is mixed when some occurrence can be dropped without changing the extension and pure otherwise; a wrong description has a property false of the referent. The paper's four theorems hold for any knowledge base and nonempty set of distractors, and the worked examples of its running scene are classified.
Implementation notes #
- Descriptions are multisets so that a property can occur twice. On a
FinsetdescriptionDistinguishingis Dale and Reiter's (distinguishing_val_iff). - A superfluous occurrence is one of a distinguishing description, as the paper defines it. The remark under its nominal over-specification that distinguishing need not be required separately holds only for properties true of the referent, so the definitions here carry it.
- Minimality counts property occurrences, as
MinimalForon the multiset's cardinality among distinguishing descriptions. - The theorem that a duplicate-attribute over-specification is real or nominal uses that a knowledge base assigns one value per attribute, so a distinguishing description has one type.
- The scenes carry the objects and colours of the paper's two figures. Sizes and orientations, which the figures do not label, are as the text's classifications require: only the target of the first scene is large, and in the second every small object is green and the target and one other desk face front.
References #
A description, a bag of attribute–value pairs.
Equations
- ChenVanDeemter2023.Description A V = Multiset (A × V)
Instances For
Every pair of the description holds of the entity.
Equations
- ChenVanDeemter2023.extension kb D x = ∀ p ∈ D, DaleReiter1995.Applies kb x p
Instances For
Equations
- ChenVanDeemter2023.instDecidableExtensionOfDecidableEq kb D x = id inferInstance
The description holds of the referent and of no distractor.
Equations
- ChenVanDeemter2023.Distinguishing kb r C D = Reference.Distinguishes (ChenVanDeemter2023.extension kb) C r D
Instances For
A distinguishing description with the fewest property occurrences.
Equations
- ChenVanDeemter2023.IsMinimal kb r C D = MinimalFor (ChenVanDeemter2023.Distinguishing kb r C) Multiset.card D
Instances For
A distinguishing description that is not minimal.
Equations
- ChenVanDeemter2023.OverSpecified kb r C D = (ChenVanDeemter2023.Distinguishing kb r C D ∧ ¬ChenVanDeemter2023.IsMinimal kb r C D)
Instances For
The description holds of the referent and of some distractor.
Equations
- ChenVanDeemter2023.UnderSpecified kb r C D = (ChenVanDeemter2023.extension kb D r ∧ ∃ c ∈ C, ChenVanDeemter2023.extension kb D c)
Instances For
Equations
- ChenVanDeemter2023.instDecidableUnderSpecifiedOfDecidableEq kb r C D = id inferInstance
Some property is false of the referent.
Equations
- ChenVanDeemter2023.Wrong kb r D = ∃ p ∈ D, ¬DaleReiter1995.Applies kb r p
Instances For
Equations
- ChenVanDeemter2023.instDecidableWrongOfDecidableEq kb r D = id Multiset.decidableExistsMultiset
On a set of pairs the notion is Dale and Reiter's.
A distinguishing description with one occurrence is minimal.
A knowledge base assigns one value per attribute.
An occurrence of a distinguishing description whose removal leaves it distinguishing.
Equations
- ChenVanDeemter2023.Superfluous kb r C D p = (ChenVanDeemter2023.Distinguishing kb r C D ∧ p ∈ D ∧ ChenVanDeemter2023.Distinguishing kb r C (Multiset.erase D p))
Instances For
Equations
- ChenVanDeemter2023.instDecidableSuperfluous kb r C D p = id inferInstance
Some property other than the type is superfluous.
Equations
- ChenVanDeemter2023.RealOverSpecified kb t r C D = ∃ p ∈ D, p.1 ≠ t ∧ ChenVanDeemter2023.Superfluous kb r C D p
Instances For
A distinguishing description with no superfluous occurrence that is not minimal.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The type is superfluous and no other property is.
Equations
- ChenVanDeemter2023.NominallyOverSpecified kb t r C D = ∃ p ∈ D, p.1 = t ∧ ChenVanDeemter2023.Superfluous kb r C D p ∧ ∀ q ∈ D, q ≠ p → ¬ChenVanDeemter2023.Superfluous kb r C D q
Instances For
A property occurs twice and is superfluous.
Equations
- ChenVanDeemter2023.DuplicateOverSpecified kb r C D = ∃ p ∈ D, 2 ≤ Multiset.count p D ∧ ChenVanDeemter2023.Superfluous kb r C D p
Instances For
An under-specification with an occurrence whose removal leaves its extension on the setting unchanged; the referent stays in the extension by under-specification, so only the distractors are checked.
Equations
- ChenVanDeemter2023.Mixed kb r C D = (ChenVanDeemter2023.UnderSpecified kb r C D ∧ ∃ p ∈ D, ∀ c ∈ C, ChenVanDeemter2023.extension kb (Multiset.erase D p) c → ChenVanDeemter2023.extension kb D c)
Instances For
An under-specification that is not mixed.
Equations
- ChenVanDeemter2023.PurelyUnderSpecified kb r C D = (ChenVanDeemter2023.UnderSpecified kb r C D ∧ ¬ChenVanDeemter2023.Mixed kb r C D)
Instances For
Equations
- ChenVanDeemter2023.instDecidableRealOverSpecified kb t r C D = id Multiset.decidableExistsMultiset
Equations
- ChenVanDeemter2023.instDecidableNominallyOverSpecified kb t r C D = id Multiset.decidableExistsMultiset
Equations
- ChenVanDeemter2023.instDecidableDuplicateOverSpecified kb r C D = id Multiset.decidableExistsMultiset
Equations
- ChenVanDeemter2023.instDecidableMixed kb r C D = id instDecidableAnd
Equations
- ChenVanDeemter2023.instDecidablePurelyUnderSpecified kb r C D = id inferInstance
Every kind of over-specification is distinguishing.
A distinguishing description is neither mixed, purely under-specified nor wrong.
The seven kinds of description exclude one another.
A duplicate-attribute over-specification is real or nominal, since the type occurrences of a distinguishing description are one pair.
The scenes of the examples #
Equations
- ChenVanDeemter2023.instDecidableEqObj x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- ChenVanDeemter2023.instReprObj = { reprPrec := ChenVanDeemter2023.instReprObj.repr }
Equations
- ChenVanDeemter2023.instDecidableEqAttr x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- ChenVanDeemter2023.instReprAttr = { reprPrec := ChenVanDeemter2023.instReprAttr.repr }
Equations
- ChenVanDeemter2023.instDecidableEqValue x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- ChenVanDeemter2023.instReprValue = { reprPrec := ChenVanDeemter2023.instReprValue.repr }
The first scene, a large green chair among a grey desk, a red sofa, a green sofa, a blue chair, a green fan and a green desk.
Equations
- ChenVanDeemter2023.scene₁ ChenVanDeemter2023.Obj.greenChair ChenVanDeemter2023.Attr.type = some ChenVanDeemter2023.Value.chair
- ChenVanDeemter2023.scene₁ ChenVanDeemter2023.Obj.greenChair ChenVanDeemter2023.Attr.size = some ChenVanDeemter2023.Value.large
- ChenVanDeemter2023.scene₁ ChenVanDeemter2023.Obj.greenChair ChenVanDeemter2023.Attr.colour = some ChenVanDeemter2023.Value.green
- ChenVanDeemter2023.scene₁ ChenVanDeemter2023.Obj.greyDesk ChenVanDeemter2023.Attr.type = some ChenVanDeemter2023.Value.desk
- ChenVanDeemter2023.scene₁ ChenVanDeemter2023.Obj.greyDesk ChenVanDeemter2023.Attr.size = some ChenVanDeemter2023.Value.small
- ChenVanDeemter2023.scene₁ ChenVanDeemter2023.Obj.greyDesk ChenVanDeemter2023.Attr.colour = some ChenVanDeemter2023.Value.grey
- ChenVanDeemter2023.scene₁ ChenVanDeemter2023.Obj.redSofa ChenVanDeemter2023.Attr.type = some ChenVanDeemter2023.Value.sofa
- ChenVanDeemter2023.scene₁ ChenVanDeemter2023.Obj.redSofa ChenVanDeemter2023.Attr.size = some ChenVanDeemter2023.Value.small
- ChenVanDeemter2023.scene₁ ChenVanDeemter2023.Obj.redSofa ChenVanDeemter2023.Attr.colour = some ChenVanDeemter2023.Value.red
- ChenVanDeemter2023.scene₁ ChenVanDeemter2023.Obj.greenSofa ChenVanDeemter2023.Attr.type = some ChenVanDeemter2023.Value.sofa
- ChenVanDeemter2023.scene₁ ChenVanDeemter2023.Obj.greenSofa ChenVanDeemter2023.Attr.size = some ChenVanDeemter2023.Value.small
- ChenVanDeemter2023.scene₁ ChenVanDeemter2023.Obj.greenSofa ChenVanDeemter2023.Attr.colour = some ChenVanDeemter2023.Value.green
- ChenVanDeemter2023.scene₁ ChenVanDeemter2023.Obj.blueChair ChenVanDeemter2023.Attr.type = some ChenVanDeemter2023.Value.chair
- ChenVanDeemter2023.scene₁ ChenVanDeemter2023.Obj.blueChair ChenVanDeemter2023.Attr.size = some ChenVanDeemter2023.Value.small
- ChenVanDeemter2023.scene₁ ChenVanDeemter2023.Obj.blueChair ChenVanDeemter2023.Attr.colour = some ChenVanDeemter2023.Value.blue
- ChenVanDeemter2023.scene₁ ChenVanDeemter2023.Obj.greenFan ChenVanDeemter2023.Attr.type = some ChenVanDeemter2023.Value.fan
- ChenVanDeemter2023.scene₁ ChenVanDeemter2023.Obj.greenFan ChenVanDeemter2023.Attr.size = some ChenVanDeemter2023.Value.small
- ChenVanDeemter2023.scene₁ ChenVanDeemter2023.Obj.greenFan ChenVanDeemter2023.Attr.colour = some ChenVanDeemter2023.Value.green
- ChenVanDeemter2023.scene₁ ChenVanDeemter2023.Obj.greenDesk ChenVanDeemter2023.Attr.type = some ChenVanDeemter2023.Value.desk
- ChenVanDeemter2023.scene₁ ChenVanDeemter2023.Obj.greenDesk ChenVanDeemter2023.Attr.size = some ChenVanDeemter2023.Value.small
- ChenVanDeemter2023.scene₁ ChenVanDeemter2023.Obj.greenDesk ChenVanDeemter2023.Attr.colour = some ChenVanDeemter2023.Value.green
- ChenVanDeemter2023.scene₁ x✝¹ x✝ = none
Instances For
The distractors of the first scene.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The large one is minimal, the large green one a real over-specification, the green chair a numerical one, the large chair a nominal one, and the green chair that has the same colour as the fan, which expresses the colour twice, a duplicate-attribute and real one.
The chair is purely under-specified, and a description calling the green chair blue, as the paper's the large blue chair in the middle does, is wrong.
The second scene, a small green front-facing desk among a grey chair, a large and a small green chair, a large green front-facing desk, a small green side-facing desk and a grey desk.
Equations
- ChenVanDeemter2023.scene₂ ChenVanDeemter2023.Obj.targetDesk ChenVanDeemter2023.Attr.type = some ChenVanDeemter2023.Value.desk
- ChenVanDeemter2023.scene₂ ChenVanDeemter2023.Obj.targetDesk ChenVanDeemter2023.Attr.size = some ChenVanDeemter2023.Value.small
- ChenVanDeemter2023.scene₂ ChenVanDeemter2023.Obj.targetDesk ChenVanDeemter2023.Attr.colour = some ChenVanDeemter2023.Value.green
- ChenVanDeemter2023.scene₂ ChenVanDeemter2023.Obj.targetDesk ChenVanDeemter2023.Attr.orientation = some ChenVanDeemter2023.Value.front
- ChenVanDeemter2023.scene₂ ChenVanDeemter2023.Obj.greyChair ChenVanDeemter2023.Attr.type = some ChenVanDeemter2023.Value.chair
- ChenVanDeemter2023.scene₂ ChenVanDeemter2023.Obj.greyChair ChenVanDeemter2023.Attr.size = some ChenVanDeemter2023.Value.large
- ChenVanDeemter2023.scene₂ ChenVanDeemter2023.Obj.greyChair ChenVanDeemter2023.Attr.colour = some ChenVanDeemter2023.Value.grey
- ChenVanDeemter2023.scene₂ ChenVanDeemter2023.Obj.greyChair ChenVanDeemter2023.Attr.orientation = some ChenVanDeemter2023.Value.front
- ChenVanDeemter2023.scene₂ ChenVanDeemter2023.Obj.largeGreenChair ChenVanDeemter2023.Attr.type = some ChenVanDeemter2023.Value.chair
- ChenVanDeemter2023.scene₂ ChenVanDeemter2023.Obj.largeGreenChair ChenVanDeemter2023.Attr.size = some ChenVanDeemter2023.Value.large
- ChenVanDeemter2023.scene₂ ChenVanDeemter2023.Obj.largeGreenChair ChenVanDeemter2023.Attr.colour = some ChenVanDeemter2023.Value.green
- ChenVanDeemter2023.scene₂ ChenVanDeemter2023.Obj.largeGreenChair ChenVanDeemter2023.Attr.orientation = some ChenVanDeemter2023.Value.front
- ChenVanDeemter2023.scene₂ ChenVanDeemter2023.Obj.smallGreenChair ChenVanDeemter2023.Attr.type = some ChenVanDeemter2023.Value.chair
- ChenVanDeemter2023.scene₂ ChenVanDeemter2023.Obj.smallGreenChair ChenVanDeemter2023.Attr.size = some ChenVanDeemter2023.Value.small
- ChenVanDeemter2023.scene₂ ChenVanDeemter2023.Obj.smallGreenChair ChenVanDeemter2023.Attr.colour = some ChenVanDeemter2023.Value.green
- ChenVanDeemter2023.scene₂ ChenVanDeemter2023.Obj.smallGreenChair ChenVanDeemter2023.Attr.orientation = some ChenVanDeemter2023.Value.front
- ChenVanDeemter2023.scene₂ ChenVanDeemter2023.Obj.largeGreenDesk ChenVanDeemter2023.Attr.type = some ChenVanDeemter2023.Value.desk
- ChenVanDeemter2023.scene₂ ChenVanDeemter2023.Obj.largeGreenDesk ChenVanDeemter2023.Attr.size = some ChenVanDeemter2023.Value.large
- ChenVanDeemter2023.scene₂ ChenVanDeemter2023.Obj.largeGreenDesk ChenVanDeemter2023.Attr.colour = some ChenVanDeemter2023.Value.green
- ChenVanDeemter2023.scene₂ ChenVanDeemter2023.Obj.largeGreenDesk ChenVanDeemter2023.Attr.orientation = some ChenVanDeemter2023.Value.front
- ChenVanDeemter2023.scene₂ ChenVanDeemter2023.Obj.smallGreenDesk ChenVanDeemter2023.Attr.type = some ChenVanDeemter2023.Value.desk
- ChenVanDeemter2023.scene₂ ChenVanDeemter2023.Obj.smallGreenDesk ChenVanDeemter2023.Attr.size = some ChenVanDeemter2023.Value.small
- ChenVanDeemter2023.scene₂ ChenVanDeemter2023.Obj.smallGreenDesk ChenVanDeemter2023.Attr.colour = some ChenVanDeemter2023.Value.green
- ChenVanDeemter2023.scene₂ ChenVanDeemter2023.Obj.smallGreenDesk ChenVanDeemter2023.Attr.orientation = some ChenVanDeemter2023.Value.side
- ChenVanDeemter2023.scene₂ ChenVanDeemter2023.Obj.greyDesk' ChenVanDeemter2023.Attr.type = some ChenVanDeemter2023.Value.desk
- ChenVanDeemter2023.scene₂ ChenVanDeemter2023.Obj.greyDesk' ChenVanDeemter2023.Attr.size = some ChenVanDeemter2023.Value.large
- ChenVanDeemter2023.scene₂ ChenVanDeemter2023.Obj.greyDesk' ChenVanDeemter2023.Attr.colour = some ChenVanDeemter2023.Value.grey
- ChenVanDeemter2023.scene₂ ChenVanDeemter2023.Obj.greyDesk' ChenVanDeemter2023.Attr.orientation = some ChenVanDeemter2023.Value.side
- ChenVanDeemter2023.scene₂ x✝¹ x✝ = none
Instances For
The distractors of the second scene.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The green small desk is mixed, since every small object is green, and the front-facing desk is purely under-specified.