Documentation

Linglib.Semantics.Degree.Aggregation

Dimensional aggregation #

A multidimensional predicate applies to an object, or ranks two objects, according to how the objects stand on several underlying dimensions. Two aggregation vocabularies share this file.

Rules, in the value-function framework of [sen-1970] as [DAH24] transposes it to dimensions: a profile assigns each object its vector of dimensional values, and a rule sends profiles to an overall relation on the objects, read x ⪰ y. Sen's informational requirements are invariance under a class of transformation vectors (strictly increasing maps, common-unit positive affine maps, similarities). Arrow's conditions ([arrow-1950]) and the strong Pareto, Pareto-indifference and anonymity conditions are predicates on rules. Four classical rules are stated with the conditions they meet or fail: majority ([may-1952]) meets every Arrow condition but weak-ordering outputs, which Condorcet's cycle refutes; the Pareto rule ([weymark-1984]) is a quasi-ordering that leaves every trade-off incomparable; the utilitarian rule meets every Arrow condition but ordinal invariance, failing even ratio-scale invariance; the Cobb–Douglas rule ([tsui-weymark-1997]) is ratio-scale invariant on non-negative profiles.

Scores for the positive form: a weighted sum of dimensional measures ([waldon-etal-2023]), its normalisation by the host's spatial extent ([tham-2025], [solt-2018-proportional]), and the multiplicative composition of [sassoon-fadlon-2017].

Implementation notes #

TODO #

References #

def AsymmRel {α : Type u_1} (r : ααProp) (a b : α) :

The asymmetric part of a relation: r a b and not r b a. Mathlib's AntisymmRel r is the symmetric part.

Equations
Instances For
    @[instance_reducible]
    instance instDecidableAsymmRelOfDecidableRel {α : Type u_1} (r : ααProp) [DecidableRel r] (a b : α) :
    Decidable (AsymmRel r a b)
    Equations
    theorem AsymmRel.trans_le {α : Type u_1} {r : ααProp} [IsTrans α r] {a b c : α} (h : AsymmRel r a b) (h' : r b c) :
    AsymmRel r a c
    theorem AsymmRel.le_trans {α : Type u_1} {r : ααProp} [IsTrans α r] {a b c : α} (h : r a b) (h' : AsymmRel r b c) :
    AsymmRel r a c
    @[reducible, inline]
    abbrev Degree.Aggregation.Profile (ι : Type u_4) (α : Type u_5) (K : Type u_6) :
    Type (max (max u_4 u_5) u_6)

    A profile: each object's vector of values, one per dimension.

    Equations
    Instances For
      @[reducible, inline]
      abbrev Degree.Aggregation.Rule (ι : Type u_4) (α : Type u_5) (K : Type u_6) :
      Type (max (max u_5 u_6) u_4)

      An aggregation rule: a relation on the objects, read x ⪰ y, for each profile.

      Equations
      Instances For
        def Degree.Aggregation.Profile.transform {ι : Type u_1} {α : Type u_2} {K : Type u_3} (f : ιKK) (v : Profile ι α K) :
        Profile ι α K

        Apply a vector of transformations, one per dimension, to a profile.

        Equations
        Instances For

          Informational invariance #

          def Degree.Aggregation.Invariant {ι : Type u_1} {α : Type u_2} {K : Type u_3} (T : Set (ιKK)) (a : Rule ι α K) :

          Invariance of a rule under a class of transformation vectors.

          Equations
          Instances For
            theorem Degree.Aggregation.Invariant.mono {ι : Type u_1} {α : Type u_2} {K : Type u_3} {S T : Set (ιKK)} (h : ST) {a : Rule ι α K} (ha : Invariant T a) :
            def Degree.Aggregation.ordinal {ι : Type u_1} {K : Type u_3} [Preorder K] :
            Set (ιKK)

            Vectors of strictly increasing transformations; invariance under them is ordinal non-comparability.

            Equations
            Instances For
              def Degree.Aggregation.cardinalUnit {ι : Type u_1} {K : Type u_3} [Semiring K] [PartialOrder K] :
              Set (ιKK)

              Common-unit positive affine transformation vectors; invariance under them is cardinal unit comparability.

              Equations
              Instances For
                def Degree.Aggregation.ratio {ι : Type u_1} {K : Type u_3} [Semiring K] [PartialOrder K] :
                Set (ιKK)

                Similarity transformation vectors; invariance under them is ratio-scale non-comparability.

                Equations
                • Degree.Aggregation.ratio = {f : ιKK | ∃ (a : ιK), (∀ (i : ι), 0 < a i) ∀ (i : ι) (t : K), f i t = a i * t}
                Instances For
                  theorem Degree.Aggregation.cardinalUnit_subset_ordinal {ι : Type u_1} {K : Type u_3} [Semiring K] [PartialOrder K] [IsStrictOrderedRing K] :
                  theorem Degree.Aggregation.ratio_subset_ordinal {ι : Type u_1} {K : Type u_3} [Semiring K] [PartialOrder K] [IsStrictOrderedRing K] :

                  Conditions on rules #

                  def Degree.Aggregation.ParetoIndifferent {ι : Type u_1} {α : Type u_2} {K : Type u_3} (a : Rule ι α K) :

                  Pareto indifference: objects with the same vector of values are indifferent.

                  Equations
                  Instances For
                    def Degree.Aggregation.Independent {ι : Type u_1} {α : Type u_2} {K : Type u_3} (a : Rule ι α K) :

                    Independence of irrelevant alternatives: the verdict on a pair depends only on the vectors of that pair.

                    Equations
                    Instances For
                      def Degree.Aggregation.Transitive {ι : Type u_1} {α : Type u_2} {K : Type u_3} (a : Rule ι α K) :

                      Every output is transitive.

                      Equations
                      Instances For
                        def Degree.Aggregation.Complete {ι : Type u_1} {α : Type u_2} {K : Type u_3} (a : Rule ι α K) :

                        Every output is complete.

                        Equations
                        Instances For
                          def Degree.Aggregation.WeakOrderValued {ι : Type u_1} {α : Type u_2} {K : Type u_3} (a : Rule ι α K) :

                          Every output is a weak ordering, a complete preorder.

                          Equations
                          Instances For
                            def Degree.Aggregation.QuasiOrderValued {ι : Type u_1} {α : Type u_2} {K : Type u_3} (a : Rule ι α K) :

                            Every output is a quasi-ordering, a preorder.

                            Equations
                            Instances For
                              def Degree.Aggregation.Anonymous {ι : Type u_1} {α : Type u_2} {K : Type u_3} (a : Rule ι α K) :

                              Anonymity: permuting the dimensions leaves the output unchanged.

                              Equations
                              Instances For
                                def Degree.Aggregation.WeakOrderValued.toTotalPreorder {ι : Type u_1} {α : Type u_2} {K : Type u_3} {a : Rule ι α K} (h : WeakOrderValued a) (v : Profile ι α K) :

                                The output of a weak-ordering-valued rule at a profile, as a bundled total preorder.

                                Equations
                                Instances For
                                  theorem Degree.Aggregation.WeakOrderValued.lt_toTotalPreorder {ι : Type u_1} {α : Type u_2} {K : Type u_3} {a : Rule ι α K} (h : WeakOrderValued a) (v : Profile ι α K) :
                                  theorem Degree.Aggregation.WeakOrderValued.quasiOrderValued {ι : Type u_1} {α : Type u_2} {K : Type u_3} {a : Rule ι α K} (h : WeakOrderValued a) :
                                  def Degree.Aggregation.WeakPareto {ι : Type u_1} {α : Type u_2} {K : Type u_3} (a : Rule ι α K) [Preorder K] :

                                  Weak Pareto: an object ranked strictly above another on every dimension is strictly preferred.

                                  Equations
                                  Instances For
                                    def Degree.Aggregation.StrongPareto {ι : Type u_1} {α : Type u_2} {K : Type u_3} (a : Rule ι α K) [Preorder K] :

                                    Strong Pareto: an object ranked weakly above another on every dimension is weakly preferred, and strictly so if some dimension ranks it strictly above.

                                    Equations
                                    Instances For
                                      def Degree.Aggregation.IsDictator {ι : Type u_1} {α : Type u_2} {K : Type u_3} (a : Rule ι α K) [Preorder K] (i : ι) :

                                      Dimension i is a dictator: its strict rankings are the strict overall rankings.

                                      Equations
                                      Instances For
                                        def Degree.Aggregation.NonDictatorial {ι : Type u_1} {α : Type u_2} {K : Type u_3} (a : Rule ι α K) [Preorder K] :

                                        No dimension is a dictator.

                                        Equations
                                        Instances For

                                          Majority rule #

                                          def Degree.Aggregation.majority {ι : Type u_1} {α : Type u_2} {K : Type u_3} [Fintype ι] [LinearOrder K] :
                                          Rule ι α K

                                          Majority rule: x ⪰ y iff at least as many dimensions rank x weakly above y as rank y weakly above x.

                                          Equations
                                          Instances For
                                            @[instance_reducible]
                                            instance Degree.Aggregation.instDecidableRelMajority {ι : Type u_1} {α : Type u_2} {K : Type u_3} [Fintype ι] [LinearOrder K] (v : Profile ι α K) :
                                            DecidableRel (majority v)
                                            Equations
                                            theorem Degree.Aggregation.majority_weakPareto {ι : Type u_1} {α : Type u_2} {K : Type u_3} [Fintype ι] [LinearOrder K] [Nonempty ι] :
                                            theorem Degree.Aggregation.majority_independent {ι : Type u_1} {α : Type u_2} {K : Type u_3} [Fintype ι] [LinearOrder K] :
                                            theorem Degree.Aggregation.majority_ordinalInvariant {ι : Type u_1} {α : Type u_2} {K : Type u_3} [Fintype ι] [LinearOrder K] :
                                            theorem Degree.Aggregation.majority_anonymous {ι : Type u_1} {α : Type u_2} {K : Type u_3} [Fintype ι] [LinearOrder K] :
                                            theorem Degree.Aggregation.majority_paretoIndifferent {ι : Type u_1} {α : Type u_2} {K : Type u_3} [Fintype ι] [LinearOrder K] :
                                            theorem Degree.Aggregation.majority_nonDictatorial {ι : Type u_1} {α : Type u_2} {K : Type u_3} [Fintype ι] [LinearOrder K] [Nontrivial ι] [Nontrivial α] [Nontrivial K] :
                                            def Degree.Aggregation.condorcet :
                                            Profile (Fin 3) (Fin 3)

                                            Condorcet's profile: three dimensions ranking three objects cyclically.

                                            Equations
                                            Instances For

                                              Condorcet's paradox: majority rule ranks the three objects in a strict cycle.

                                              Majority rule does not output transitive relations.

                                              The Pareto rule #

                                              def Degree.Aggregation.paretoRule {ι : Type u_1} {α : Type u_2} {K : Type u_3} [Preorder K] :
                                              Rule ι α K

                                              The Pareto rule: x ⪰ y iff every dimension ranks x weakly above y.

                                              Equations
                                              Instances For
                                                theorem Degree.Aggregation.paretoRule_strongPareto {ι : Type u_1} {α : Type u_2} {K : Type u_3} [Preorder K] :
                                                theorem Degree.Aggregation.paretoRule_independent {ι : Type u_1} {α : Type u_2} {K : Type u_3} [Preorder K] :
                                                theorem Degree.Aggregation.paretoRule_anonymous {ι : Type u_1} {α : Type u_2} {K : Type u_3} [Preorder K] :
                                                theorem Degree.Aggregation.paretoRule_incomparable {ι : Type u_1} {α : Type u_2} {K : Type u_3} [Preorder K] {v : Profile ι α K} {x y : α} {i j : ι} (hi : v y i < v x i) (hj : v x j < v y j) :
                                                ¬paretoRule v x y ¬paretoRule v y x

                                                A trade-off, one dimension ranking x strictly above y and another y above x, is incomparable under the Pareto rule.

                                                theorem Degree.Aggregation.paretoRule_ordinalInvariant {ι : Type u_1} {α : Type u_2} {K : Type u_3} [LinearOrder K] :

                                                The utilitarian rule #

                                                def Degree.Aggregation.utilitarian {ι : Type u_1} {α : Type u_2} {K : Type u_3} [Fintype ι] [Field K] [LinearOrder K] (c : ιK) :
                                                Rule ι α K

                                                The utilitarian rule with weights c: x ⪰ y iff the weighted sum of values favours x.

                                                Equations
                                                Instances For
                                                  theorem Degree.Aggregation.utilitarian_weakOrderValued {ι : Type u_1} {α : Type u_2} {K : Type u_3} [Fintype ι] [Field K] [LinearOrder K] (c : ιK) :
                                                  theorem Degree.Aggregation.utilitarian_paretoIndifferent {ι : Type u_1} {α : Type u_2} {K : Type u_3} [Fintype ι] [Field K] [LinearOrder K] (c : ιK) :
                                                  theorem Degree.Aggregation.utilitarian_independent {ι : Type u_1} {α : Type u_2} {K : Type u_3} [Fintype ι] [Field K] [LinearOrder K] (c : ιK) :
                                                  theorem Degree.Aggregation.utilitarian_weakPareto {ι : Type u_1} {α : Type u_2} {K : Type u_3} [Fintype ι] [Field K] [LinearOrder K] (c : ιK) [IsStrictOrderedRing K] (hc : ∀ (i : ι), 0 c i) (hpos : ∃ (i : ι), 0 < c i) :
                                                  theorem Degree.Aggregation.utilitarian_cardinalUnitInvariant {ι : Type u_1} {α : Type u_2} {K : Type u_3} [Fintype ι] [Field K] [LinearOrder K] (c : ιK) [IsStrictOrderedRing K] :
                                                  theorem Degree.Aggregation.utilitarian_nonDictatorial {ι : Type u_1} {α : Type u_2} {K : Type u_3} [Fintype ι] [Field K] [LinearOrder K] (c : ιK) [IsStrictOrderedRing K] [Nontrivial α] (h₂ : ∀ (i : ι), ∃ (j : ι), j i 0 < c j) :
                                                  theorem Degree.Aggregation.not_ratioInvariant_utilitarian {ι : Type u_1} {α : Type u_2} {K : Type u_3} [Fintype ι] [Field K] [LinearOrder K] (c : ιK) [IsStrictOrderedRing K] [Nontrivial α] {i j : ι} (hij : i j) (hi : 0 < c i) (hj : 0 < c j) :

                                                  With two positive weights the utilitarian rule is not even ratio-scale invariant: rescaling one dimension breaks a tie.

                                                  theorem Degree.Aggregation.not_ordinalInvariant_utilitarian {ι : Type u_1} {α : Type u_2} {K : Type u_3} [Fintype ι] [Field K] [LinearOrder K] (c : ιK) [IsStrictOrderedRing K] [Nontrivial α] {i j : ι} (hij : i j) (hi : 0 < c i) (hj : 0 < c j) :

                                                  The Cobb–Douglas rule #

                                                  def Degree.Aggregation.cobbDouglas {ι : Type u_1} {α : Type u_2} [Fintype ι] (c : ι) :
                                                  Rule ι α

                                                  The Cobb–Douglas rule with exponents c: x ⪰ y iff the weighted geometric product of values favours x.

                                                  Equations
                                                  Instances For
                                                    theorem Degree.Aggregation.cobbDouglas_weakOrderValued {ι : Type u_1} {α : Type u_2} [Fintype ι] (c : ι) :
                                                    theorem Degree.Aggregation.cobbDouglas_paretoIndifferent {ι : Type u_1} {α : Type u_2} [Fintype ι] (c : ι) :
                                                    theorem Degree.Aggregation.cobbDouglas_independent {ι : Type u_1} {α : Type u_2} [Fintype ι] (c : ι) :
                                                    theorem Degree.Aggregation.cobbDouglas_transform_of_nonneg {ι : Type u_1} {α : Type u_2} [Fintype ι] (c : ι) {f : ι} (hf : f ratio) {v : Profile ι α } (hv : ∀ (x : α) (i : ι), 0 v x i) :

                                                    On non-negative profiles the Cobb–Douglas rule is ratio-scale invariant.

                                                    Arrow's theorem #

                                                    def Degree.Aggregation.Decisive {ι : Type u_1} {α : Type u_2} {K : Type u_3} [LinearOrder K] (a : Rule ι α K) (G : Finset ι) :

                                                    G is decisive: whenever every dimension in G ranks x strictly above y, the rule ranks x strictly above y.

                                                    Equations
                                                    Instances For
                                                      def Degree.Aggregation.DecisiveOn {ι : Type u_1} {α : Type u_2} {K : Type u_3} [LinearOrder K] (a : Rule ι α K) (G : Finset ι) (x y : α) :

                                                      G is decisive for the pair x, y.

                                                      Equations
                                                      Instances For
                                                        def Degree.Aggregation.AlmostDecisiveOn {ι : Type u_1} {α : Type u_2} {K : Type u_3} [LinearOrder K] (a : Rule ι α K) (G : Finset ι) (x y : α) :

                                                        G is almost decisive for the pair x, y: it prevails when every dimension outside G ranks y strictly above x.

                                                        Equations
                                                        Instances For
                                                          theorem Degree.Aggregation.DecisiveOn.almost {ι : Type u_1} {α : Type u_2} {K : Type u_3} [LinearOrder K] {a : Rule ι α K} {G : Finset ι} {x y : α} (h : DecisiveOn a G x y) :
                                                          theorem Degree.Aggregation.decisive_of_decisiveOn {ι : Type u_1} {α : Type u_2} {K : Type u_3} [LinearOrder K] {a : Rule ι α K} {G : Finset ι} (hne : G.Nonempty) (h : ∀ (x y : α), x yDecisiveOn a G x y) :
                                                          theorem Degree.Aggregation.iff_of_pattern {ι : Type u_1} {α : Type u_2} {K : Type u_3} [LinearOrder K] {a : Rule ι α K} [Field K] [IsStrictOrderedRing K] (hO : Invariant ordinal a) (hI : Independent a) {v w : Profile ι α K} {x y : α} (h : ∀ (i : ι), (v x i < v y i w x i < w y i) (v y i < v x i w y i < w x i)) :
                                                          a v x y a w x y

                                                          Under ordinal invariance and independence, the verdict on a pair depends only on how each dimension orders the pair.

                                                          theorem Degree.Aggregation.decisiveOn_of_almost {ι : Type u_1} {α : Type u_2} {K : Type u_3} [LinearOrder K] {a : Rule ι α K} [Field K] [IsStrictOrderedRing K] (hW : WeakOrderValued a) (hP : WeakPareto a) (hI : Independent a) {G : Finset ι} {x y : α} (hxy : x y) (h : AlmostDecisiveOn a G x y) {z : α} (hzy : z y) :
                                                          DecisiveOn a G x z

                                                          Field expansion, first half: a group almost decisive for x, y is decisive for x, z.

                                                          theorem Degree.Aggregation.decisiveOn_of_almost' {ι : Type u_1} {α : Type u_2} {K : Type u_3} [LinearOrder K] {a : Rule ι α K} [Field K] [IsStrictOrderedRing K] (hW : WeakOrderValued a) (hP : WeakPareto a) (hI : Independent a) {G : Finset ι} {x y : α} (hxy : x y) (h : AlmostDecisiveOn a G x y) {z : α} (hzx : z x) :
                                                          DecisiveOn a G z y

                                                          Field expansion, second half: a group almost decisive for x, y is decisive for z, y.

                                                          theorem Degree.Aggregation.decisiveOn_of_almost_of_ne {ι : Type u_1} {α : Type u_2} {K : Type u_3} [LinearOrder K] {a : Rule ι α K} [Field K] [IsStrictOrderedRing K] [Fintype α] (hW : WeakOrderValued a) (hP : WeakPareto a) (hI : Independent a) (h₃ : 3 Fintype.card α) {G : Finset ι} {x y : α} (hxy : x y) (h : AlmostDecisiveOn a G x y) {u w : α} (huw : u w) :
                                                          DecisiveOn a G u w

                                                          Field expansion: with three or more objects, a group almost decisive for one pair is decisive for every pair.

                                                          theorem Degree.Aggregation.exists_decisive_ssubset {ι : Type u_1} {α : Type u_2} {K : Type u_3} [LinearOrder K] {a : Rule ι α K} [Field K] [IsStrictOrderedRing K] [Fintype α] (hO : Invariant ordinal a) (hW : WeakOrderValued a) (hP : WeakPareto a) (hI : Independent a) (h₃ : 3 Fintype.card α) {G : Finset ι} (hG : Decisive a G) (h₂ : 2 G.card) :
                                                          G'G, Decisive a G'

                                                          Group contraction: a decisive group with two or more dimensions has a decisive proper subgroup.

                                                          theorem Degree.Aggregation.exists_isDictator {ι : Type u_1} {α : Type u_2} {K : Type u_3} [LinearOrder K] {a : Rule ι α K} [Field K] [IsStrictOrderedRing K] [Fintype α] [Fintype ι] (hO : Invariant ordinal a) (hW : WeakOrderValued a) (hP : WeakPareto a) (hI : Independent a) (h₃ : 3 Fintype.card α) :
                                                          ∃ (i : ι), IsDictator a i

                                                          Arrow's theorem: with three or more objects, a rule that is ordinally invariant, outputs weak orderings, respects weak Pareto and is independent has a dictator.

                                                          theorem Degree.Aggregation.arrow {ι : Type u_1} {α : Type u_2} {K : Type u_3} [LinearOrder K] [Field K] [IsStrictOrderedRing K] [Fintype α] [Fintype ι] (h₃ : 3 Fintype.card α) (a : Rule ι α K) :

                                                          Arrow's theorem as an impossibility: no rule meets all of Arrow's conditions.

                                                          Scores for the positive form #

                                                          def Degree.Aggregation.boolMeasures {α : Type u_2} {K : Type u_3} [Field K] (dims : List (αBool)) :
                                                          List (αK)

                                                          Lift Bool dimension predicates to K-valued measure functions. Each d : α → Bool becomes λ x => if d x then 1 else 0.

                                                          Equations
                                                          Instances For
                                                            def Degree.Aggregation.weightedScore {α : Type u_2} {K : Type u_3} [Field K] (weights : List K) (measures : List (αK)) (x : α) :
                                                            K

                                                            Weighted score: Σᵢ wᵢ · fᵢ(x), where each fᵢ : α → K is a measure function along one dimension ([waldon-etal-2023]'s eq. (8)).

                                                            Equations
                                                            • Degree.Aggregation.weightedScore weights measures x = List.foldl (fun (acc : K) (x_1 : K × (αK)) => match x_1 with | (w, f) => acc + w * f x) 0 (weights.zip measures)
                                                            Instances For
                                                              def Degree.Aggregation.spatialNormalizedScore {α : Type u_2} {K : Type u_3} [Field K] [LinearOrder K] (weights : List K) (measures : List (αK)) (spatial : αK) (x : α) :
                                                              K

                                                              Spatially-normalized weighted score: (Σᵢ wᵢ·fᵢ(x)) / s(x).

                                                              [tham-2025] eq. 47b for physical disturbance adjectives. The measures track per-dimension EXTENT of disturbance (e.g., total crack length, depth-weighted area); the spatial measure tracks the host entity's SPATIAL EXTENT. A small disturbance on a small host can score the same as a large disturbance on a large host — boundedness of the scale comes from the denominator, not from any single dimension. Returns 0 when spatial x = 0 (avoiding division by zero); callers should ensure spatial x ≠ 0 for meaningful results.

                                                              Equations
                                                              Instances For
                                                                def Degree.Aggregation.spatialNormalizedBinding {α : Type u_2} {K : Type u_3} [Field K] [LinearOrder K] (weights : List K) (θ : K) (dims : List (αBool)) (spatial : αK) (x : α) :
                                                                Bool

                                                                Spatially-normalized weighted binding (Bool dimensions): x is F iff its spatially-normalized weighted score over Bool-lifted measures exceeds threshold θ.

                                                                Equations
                                                                Instances For
                                                                  @[simp]
                                                                  theorem Degree.Aggregation.spatialNormalizedScore_unit {α : Type u_2} {K : Type u_3} [Field K] [LinearOrder K] [IsStrictOrderedRing K] (weights : List K) (measures : List (αK)) (x : α) :
                                                                  spatialNormalizedScore weights measures (fun (x : α) => 1) x = weightedScore weights measures x

                                                                  The spatial-normalization reduces to plain weighted score when spatial x = 1 (constant unit host extent).

                                                                  @[simp]
                                                                  theorem Degree.Aggregation.spatialNormalizedScore_zero {α : Type u_2} {K : Type u_3} [Field K] [LinearOrder K] (weights : List K) (measures : List (αK)) (spatial : αK) (x : α) (h : spatial x = 0) :
                                                                  spatialNormalizedScore weights measures spatial x = 0

                                                                  Spatial normalisation at a zero-extent host returns 0: a host with no spatial extent exhibits no disturbance.

                                                                  theorem Degree.Aggregation.spatialNormalizedScore_le_one {α : Type u_2} {K : Type u_3} [Field K] [LinearOrder K] [IsStrictOrderedRing K] (weights : List K) (measures : List (αK)) (spatial : αK) (x : α) (hsum : weightedScore weights measures x spatial x) (hpos : 0 < spatial x) :
                                                                  spatialNormalizedScore weights measures spatial x 1

                                                                  A weighted score bounded by the host's spatial extent normalises to at most 1: [tham-2025]'s boundedness from spatial extent.

                                                                  theorem Degree.Aggregation.spatialNormalizedScore_nonneg {α : Type u_2} {K : Type u_3} [Field K] [LinearOrder K] [IsStrictOrderedRing K] (weights : List K) (measures : List (αK)) (spatial : αK) (x : α) (hnum : 0 weightedScore weights measures x) (hspatial : 0 spatial x) :
                                                                  0 spatialNormalizedScore weights measures spatial x

                                                                  A nonnegative weighted score over a nonnegative extent normalises to a nonnegative score; with spatialNormalizedScore_le_one it lies in [0, 1], the fraction of the totality of [tham-2025] and [solt-2018-proportional].

                                                                  def Degree.Aggregation.multiplicativeScore {α : Type u_2} {K : Type u_3} [Field K] (measures : List (αK)) (x : α) :
                                                                  K

                                                                  Multiplicative (Cobb-Douglas) score: Πᵢ fᵢ(x). [sassoon-fadlon-2017] argue natural kind nouns compose multiplicatively: failure on ANY single dimension kills membership. Contrast with additive weightedScore for artifact nouns.

                                                                  Equations
                                                                  Instances For