A Property Kind Calculus for Measurement Metrology

9.1. The dedicated kind (Dybkær Ch. 20)🔗

Definition9.1.1
Group: A dedicated kind joins three things the spine already carries — a sort of system (the definition's "given sort of system"), a component, and a kind-of-property (Ch. 6) — into the IUPAC/IFCC System — Component ; kind designation, the System slot naming the sort. It is a Mathlib-free core module; the worked example "Soil — Water ; volume fraction" versus "… ; mass fraction" is checked in the Examples library. (5)
Group member previews
Preview
Definition 9.1.2
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1
Used by 3
Reverse dependency previews
Preview
Definition 9.1.2
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

A component (§20) is the pertinent component of the sort of system a dedicated kind is about — water in a soil sample, glucose in plasma. Specified abstractly by identity, exactly mirroring the sort carrier.

Lean code for Definition9.1.1●1 definition
  • structure(1 field)defined in PropertyKindCalculus/DedicatedKind.lean
    complete
    structure PropertyKindCalculus.Component : Type
    structure PropertyKindCalculus.Component : Type
    **§20 component** — a pertinent component of the sort of system that a dedicated
    kind-of-property is about (e.g. *water* in a *soil* sample, *glucose* in
    *plasma*). Specified abstractly by identity, mirroring `SortOfSystem`. 
    id : String
    Terminological identity of the component (mirrors the OML `id`). 
Proof for Definition 9.1.1
uses 0

A one-field structure with DecidableEq; nothing to prove.

Definition9.1.2
Group: A dedicated kind joins three things the spine already carries — a sort of system (the definition's "given sort of system"), a component, and a kind-of-property (Ch. 6) — into the IUPAC/IFCC System — Component ; kind designation, the System slot naming the sort. It is a Mathlib-free core module; the worked example "Soil — Water ; volume fraction" versus "… ; mass fraction" is checked in the Examples library. (5)
Group member previews
Preview
Definition 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 3
Statement dependency previews
Preview
Definition 6.2.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 3
Reverse dependency previews
Preview
Theorem 9.1.5
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

A dedicated kind-of-property (§20) bundles a sort of system, a component, and a kind-of-property. Its systematicTerm renders the three as System — Component ; kind, and it is a dedicated kind-of-quantity iff its underlying kind has magnitude (§13.3.1). dedicatedTo builds one from a bare kind.

Lean code for Definition9.1.2●1 definition
  • structure(3 fields)defined in PropertyKindCalculus/DedicatedKind.lean
    complete
    structure PropertyKindCalculus.DedicatedKind : Type
    structure PropertyKindCalculus.DedicatedKind : Type
    **§20 dedicated kind-of-property** — "kind-of-property with given sort of
    system and any pertinent component." Its three projections are the IUPAC/IFCC
    `System — Component ; kind-of-property` triple, the `System` slot naming the
    sort. 
    sort : PropertyKindCalculus.SortOfSystem
    The sort of system the dedicated kind is about — the definition's "given
    sort of system". The *particular* system is not stored here: it is the object
    index of the `IndividualQuantity` that instantiates this catalogue entry. 
    component : PropertyKindCalculus.Component
    The pertinent component (§20). 
    kind : PropertyKindCalculus.KindOfProperty
    The underlying generic kind-of-property (Ch. 6). 
Proof for Definition 9.1.2
uses 0

A three-field structure with DecidableEq. systematicTerm is string interpolation of the three ids; IsQuantity is the underlying kind's IsQuantity.

Definition9.1.3
Group: A dedicated kind joins three things the spine already carries — a sort of system (the definition's "given sort of system"), a component, and a kind-of-property (Ch. 6) — into the IUPAC/IFCC System — Component ; kind designation, the System slot naming the sort. It is a Mathlib-free core module; the worked example "Soil — Water ; volume fraction" versus "… ; mass fraction" is checked in the Examples library. (5)
Group member previews
Preview
Definition 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 0✓L∃∀N

Dedicating a kind through an object: the object contributes exactly its sort, via the model's Sorted claim. This is the arrow from the individual layer to the catalogue — an individual quantity carries the particular in its type, and dedicatedFor says which catalogue entry that particular's readings instantiate. In the terms of the foundations chapter's ontological square, it is Lowe's dispositional route to exemplification: up the instantiated by edge, then across the top.

Lean code for Definition9.1.3●1 definition
  • defdefined in PropertyKindCalculus/DedicatedKind.lean
    complete
    def PropertyKindCalculus.KindOfProperty.dedicatedFor.{u} {O : Type u}
      [PropertyKindCalculus.Sorted O]
      (k : PropertyKindCalculus.KindOfProperty) (o : O)
      (component : PropertyKindCalculus.Component) :
      PropertyKindCalculus.DedicatedKind
    def PropertyKindCalculus.KindOfProperty.dedicatedFor.{u}
      {O : Type u}
      [PropertyKindCalculus.Sorted O]
      (k :
        PropertyKindCalculus.KindOfProperty)
      (o : O)
      (component :
        PropertyKindCalculus.Component) :
      PropertyKindCalculus.DedicatedKind
    Dedicate a kind through an **object**: the object contributes exactly its sort.
    This is the instantiation square closing — the individual layer carries the
    particular, the dedicated kind its sort — and `Sorted` is the model's claim about
    which sort that is. In square terms, Lowe's dispositional route to exemplification:
    up the *instantiated by* edge, then across the top. 
Proof for Definition 9.1.3
uses 0

dedicatedTo applied to Sorted.sortOf o.

Theorem9.1.4
Group: A dedicated kind joins three things the spine already carries — a sort of system (the definition's "given sort of system"), a component, and a kind-of-property (Ch. 6) — into the IUPAC/IFCC System — Component ; kind designation, the System slot naming the sort. It is a Mathlib-free core module; the worked example "Soil — Water ; volume fraction" versus "… ; mass fraction" is checked in the Examples library. (5)
Group member previews
Preview
Definition 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 0used by 0✓L∃∀N

Two objects of one sort dedicate to one kind. The catalogue entry cannot tell two rovers apart, and is not supposed to: individuation is the object index's job, where combining quantities across the two is a compile-time type error. This is the load-bearing half of the corrected §20 reading — dedication to the sort, individuation by the object.

Lean code for Theorem9.1.4●1 theorem
  • theoremdefined in PropertyKindCalculus/DedicatedKind.lean
    complete
    theorem PropertyKindCalculus.KindOfProperty.dedicatedFor_congr.{u} {O : Type u}
      [PropertyKindCalculus.Sorted O]
      {k : PropertyKindCalculus.KindOfProperty} {o₁ o₂ : O}
      (h :
        PropertyKindCalculus.Sorted.sortOf o₁ =
          PropertyKindCalculus.Sorted.sortOf o₂)
      (component : PropertyKindCalculus.Component) :
      k.dedicatedFor o₁ component = k.dedicatedFor o₂ component
    theorem PropertyKindCalculus.KindOfProperty.dedicatedFor_congr.{u}
      {O : Type u}
      [PropertyKindCalculus.Sorted O]
      {k :
        PropertyKindCalculus.KindOfProperty}
      {o₁ o₂ : O}
      (h :
        PropertyKindCalculus.Sorted.sortOf
            o₁ =
          PropertyKindCalculus.Sorted.sortOf
            o₂)
      (component :
        PropertyKindCalculus.Component) :
      k.dedicatedFor o₁ component =
        k.dedicatedFor o₂ component
    **Two objects of one sort dedicate to one kind.** The catalogue entry cannot
    tell two rovers apart, and is not supposed to: individuation is the object
    index's job, where combining quantities across the two is a type error. 
Proof for Theorem 9.1.4
uses 0

Congruence: the two dedications differ only in the sort argument, and the hypothesis equates the sorts.

Theorem9.1.5
Group: A dedicated kind joins three things the spine already carries — a sort of system (the definition's "given sort of system"), a component, and a kind-of-property (Ch. 6) — into the IUPAC/IFCC System — Component ; kind designation, the System slot naming the sort. It is a Mathlib-free core module; the worked example "Soil — Water ; volume fraction" versus "… ; mass fraction" is checked in the Examples library. (5)
Group member previews
Preview
Definition 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 2
Statement dependency previews
Preview
Definition 6.2.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0✓L∃∀N

Same sort and component, a different kind-of-property: a distinct dedicated kind. This is the principled volumetric-versus-gravimetric distinctness. Both water contents are "Soil — Water", but volume fraction and mass fraction are different kinds-of-property, so the dedicated kinds differ — with the sort and component held identical, and without appeal to any hand-chosen identity string. This is exactly the discrimination an OWL2 reasoner cannot phrase.

Lean code for Theorem9.1.5●1 theorem
  • theoremdefined in PropertyKindCalculus/DedicatedKind.lean
    complete
    theorem PropertyKindCalculus.DedicatedKind.distinct_of_kind
      {d₁ d₂ : PropertyKindCalculus.DedicatedKind} (h : d₁.kind ≠ d₂.kind) :
      d₁ ≠ d₂
    theorem PropertyKindCalculus.DedicatedKind.distinct_of_kind
      {d₁ d₂ :
        PropertyKindCalculus.DedicatedKind}
      (h : d₁.kind ≠ d₂.kind) : d₁ ≠ d₂
    Two dedicated kinds that **agree on sort and component** but differ in the
    underlying kind-of-property are distinct.
    
    This is the *principled* form of the soil-moisture distinctness. Volumetric and
    gravimetric water content are the **same measurement target** — soil — water —
    examined as two different kinds-of-property (*volume fraction* vs *mass
    fraction*). They are distinct dedicated kinds **because the kinds-of-property
    differ**, not because of any hand-chosen identity string. 
Proof for Theorem 9.1.5
uses 0

Assume the two dedicated kinds are equal; then their kind projections are equal by congruence, contradicting the hypothesis (intro he; apply h; rw [he]). The companion laws distinct_of_sort and distinct_of_component are the same one-line argument on the other two projections.

Theorem9.1.6
Group: A dedicated kind joins three things the spine already carries — a sort of system (the definition's "given sort of system"), a component, and a kind-of-property (Ch. 6) — into the IUPAC/IFCC System — Component ; kind designation, the System slot naming the sort. It is a Mathlib-free core module; the worked example "Soil — Water ; volume fraction" versus "… ; mass fraction" is checked in the Examples library. (5)
Group member previews
Preview
Definition 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 4
Statement dependency previews
Preview
Definition 6.2.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 1✓L∃∀N

Same sort and kind, a different component: a distinct dedicated kind. The water content and the air content of soil share their sort of system and their kind-of-property, differing only in the component — and that alone makes them distinct dedicated kinds.

Lean code for Theorem9.1.6●1 theorem
  • theoremdefined in PropertyKindCalculus/DedicatedKind.lean
    complete
    theorem PropertyKindCalculus.DedicatedKind.distinct_of_component
      {d₁ d₂ : PropertyKindCalculus.DedicatedKind}
      (h : d₁.component ≠ d₂.component) : d₁ ≠ d₂
    theorem PropertyKindCalculus.DedicatedKind.distinct_of_component
      {d₁ d₂ :
        PropertyKindCalculus.DedicatedKind}
      (h : d₁.component ≠ d₂.component) :
      d₁ ≠ d₂
    Dedicated kinds with the same sort and kind-of-property but a different
    component are distinct (e.g. the water content vs. the air content of the same
    sort of soil sample). 
Proof for Theorem 9.1.6
uses 0

Congruence on the component projection, exactly as for distinct_of_kind.