6.4. Examination — principle, method, procedure (Dybkær Ch. 7, 14)
The examination chain has three layers — an examination principle (§7.5 / VIM4
2CD 2.4), a method based on a principle (VIM4 2CD 2.5), and a procedure based
on a method (VIM4 2CD 2.7) — gathered into one carrier ExaminationItem so that refinement
is a homogeneous relation. The forgetful projection basePrinciple sends any
item down to the principle it rests on.
Lean code for Definition6.4.1●1 definition
Associated Lean declarations
-
structuredefined in PropertyKindCalculus/Examination.leancomplete
structure PropertyKindCalculus.ExaminationPrinciple : Type
structure PropertyKindCalculus.ExaminationPrinciple : Type
**§7.5 examination principle** (VIM4 2CD 2.4) — the phenomenon serving as the basis of an examination. Carries a terminological `id` (OML-style).
Fields
id : String
Terminological identity of the examination principle (OML-style).
Three small structures with DecidableEq, united by an ExaminationItem
inductive; basePrinciple is the projection to the principle layer.
-
PropertyKindCalculus.ExaminationMethod[complete]
An examination method (Dybkær Ch. 7 / VIM4 2CD 2.5) is a generic description of an examination, based on an examination principle.
Lean code for Definition6.4.2●1 definition
Associated Lean declarations
-
PropertyKindCalculus.ExaminationMethod[complete]
-
PropertyKindCalculus.ExaminationMethod[complete]
-
structuredefined in PropertyKindCalculus/Examination.leancomplete
structure PropertyKindCalculus.ExaminationMethod : Type
structure PropertyKindCalculus.ExaminationMethod : Type
**Examination method** (Dybkær Ch. 7; VIM4 2CD 2.5) — a generic description of an examination, *based on* an `ExaminationPrinciple`.
Fields
id : String
Terminological identity of the examination method.
principle : PropertyKindCalculus.ExaminationPrinciple
The principle this method is based on.
A structure carrying an identifier and the ExaminationPrinciple it is based on.
An examination procedure (Dybkær Ch. 7 / VIM4 2CD 2.7) is a detailed description, based on an examination method; its principle is the method's principle.
Lean code for Definition6.4.3●1 definition
Associated Lean declarations
-
structuredefined in PropertyKindCalculus/Examination.leancomplete
structure PropertyKindCalculus.ExaminationProcedure : Type
structure PropertyKindCalculus.ExaminationProcedure : Type
**Examination procedure** (Dybkær Ch. 7; VIM4 2CD 2.7) — a detailed description, *based on* an `ExaminationMethod`.
Fields
id : String
Terminological identity of the examination procedure.
method : PropertyKindCalculus.ExaminationMethod
The method this procedure is based on.
A structure carrying an identifier and the ExaminationMethod it is based on.
-
PropertyKindCalculus.Refines[complete]
Refinement Refines is the reflexive–transitive closure of the "based-on"
edges (a procedure is based on its method, a method on its principle): procedure
⊑ method ⊑ principle. It mirrors specialization over
kinds — the same closure construction, one level down at the defining aspect.
Lean code for Definition6.4.4●1 definition
Associated Lean declarations
-
PropertyKindCalculus.Refines[complete]
-
PropertyKindCalculus.Refines[complete]
-
inductivedefined in PropertyKindCalculus/Examination.leancomplete
inductive PropertyKindCalculus.Refines : PropertyKindCalculus.ExaminationItem → PropertyKindCalculus.ExaminationItem → Prop
inductive PropertyKindCalculus.Refines : PropertyKindCalculus.ExaminationItem → PropertyKindCalculus.ExaminationItem → Prop
**Refinement** of examinations: the reflexive–transitive closure of `BasedOn`. A more specific examination *refines* a more generic one (procedure ⊑ method ⊑ principle). Mirrors `Specializes` over kinds.
Constructors
PropertyKindCalculus.Refines.refl (a : PropertyKindCalculus.ExaminationItem) : PropertyKindCalculus.Refines a a
Reflexivity of the closure: every examination refines itself.
PropertyKindCalculus.Refines.step {a b c : PropertyKindCalculus.ExaminationItem} : PropertyKindCalculus.BasedOn a b → PropertyKindCalculus.Refines b c → PropertyKindCalculus.Refines a c
Prepend a based-on edge `BasedOn a b` to a refinement `b ⊑ c`.
An inductive with refl and step constructors over a BasedOn edge
relation; of_basedOn lifts a single edge.
-
PropertyKindCalculus.Refines.trans[complete]
Refinement is a preorder. It is reflexive (the refl constructor) and
transitive (Refines.trans) on the examination chain — the
same algebraic law proved for specialization, which an OWL2 reasoner can neither
state nor prove.
Lean code for Theorem6.4.5●1 theorem
Associated Lean declarations
-
PropertyKindCalculus.Refines.trans[complete]
-
PropertyKindCalculus.Refines.trans[complete]
-
theoremdefined in PropertyKindCalculus/Examination.leancomplete
theorem PropertyKindCalculus.Refines.trans {a b c : PropertyKindCalculus.ExaminationItem} (h₁ : PropertyKindCalculus.Refines a b) (h₂ : PropertyKindCalculus.Refines b c) : PropertyKindCalculus.Refines a c
theorem PropertyKindCalculus.Refines.trans {a b c : PropertyKindCalculus.ExaminationItem} (h₁ : PropertyKindCalculus.Refines a b) (h₂ : PropertyKindCalculus.Refines b c) : PropertyKindCalculus.Refines a c
Refinement is transitive (a preorder, together with `refl`).
Transitivity is by induction on the first derivation, exactly as for
Specializes: refl returns the second derivation, step re-applies the
constructor under the inductive hypothesis.
Refinement preserves the principle. Every examination in one refinement chain
rests on the same base principle:
\mathrm{Refines}\ a\ b \;\Longrightarrow\; \mathrm{basePrinciple}\ a = \mathrm{basePrinciple}\ b.
The forgetful projection to the principle layer is invariant along refinement —
the examination-layer analogue of \dim being a homomorphism, and one provable
here in the Mathlib-free core without PhysLib. Builds on refinement.
Lean code for Theorem6.4.6●1 theorem
Associated Lean declarations
-
theoremdefined in PropertyKindCalculus/Examination.leancomplete
theorem PropertyKindCalculus.Refines.basePrinciple_eq {a b : PropertyKindCalculus.ExaminationItem} (h : PropertyKindCalculus.Refines a b) : a.basePrinciple = b.basePrinciple
theorem PropertyKindCalculus.Refines.basePrinciple_eq {a b : PropertyKindCalculus.ExaminationItem} (h : PropertyKindCalculus.Refines a b) : a.basePrinciple = b.basePrinciple
**Coherence — refinement preserves the principle.** Every examination in one refinement chain rests on the *same* principle: a procedure, the method it is based on, and the principle under that all share one base principle. The forgetful projection `basePrinciple` is invariant along `Refines` — the examination analogue of `dim` being a homomorphism, and a law no description logic can phrase.
By induction on the refinement derivation: each BasedOn edge preserves the base
principle (cases … <;> rfl), and the inductive step chains the resulting
equalities.
The examination principle is a defining aspect. Two kinds examined by different principles are distinct kinds — independently of scale and dimension. This is what keeps width and height distinct while both remain rational lengths, mutually comparable under their shared super-kind Length.
Lean code for Theorem6.4.7●1 theorem
Associated Lean declarations
-
theoremdefined in PropertyKindCalculus/Examination.leancomplete
theorem PropertyKindCalculus.KindOfProperty.distinct_of_examPrinciple {k₁ k₂ : PropertyKindCalculus.KindOfProperty} (h : k₁.examPrinciple ≠ k₂.examPrinciple) : k₁ ≠ k₂
theorem PropertyKindCalculus.KindOfProperty.distinct_of_examPrinciple {k₁ k₂ : PropertyKindCalculus.KindOfProperty} (h : k₁.examPrinciple ≠ k₂.examPrinciple) : k₁ ≠ k₂
**§7.5 — the examination principle is a defining aspect.** Two kinds examined by different principles are *distinct kinds* — independently of scale and (later) dimension. This is what individuates otherwise-comparable kinds such as width and height: same scale, same dimension, different examination principle, hence different kinds.
The kinds differ in their examPrinciple field, so they are unequal by
congruence: substitute the assumed kind-equality and derive a contradiction from
the field inequality.