Documentation

Linglib.Core.SocialChoice.Basic

Social welfare functionals #

In Sen's framework for social choice with interpersonal comparisons, each individual assigns each alternative a value, and a rule sends every profile of values to an overall relation on the alternatives, read x ⪰ y. Here a profile assigns each alternative its vector of values, one per individual; the individuals may equally be voters, criteria or dimensions.

The informational requirements on a rule are invariance under a class of transformation vectors: strictly increasing maps, common-unit positive affine maps, similarities, and the comparability classes that apply one map to every individual. Arrow's conditions and the strong Pareto, Pareto-indifference and anonymity conditions are predicates on rules.

Main definitions #

Implementation notes #

References #

@[reducible, inline]
abbrev SocialChoice.Profile (ι : Type u_4) (α : Type u_5) (K : Type u_6) :
Type (max (max u_4 u_5) u_6)

A profile assigns each alternative its vector of values, one per individual.

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

    An aggregation rule assigns to each profile a relation on the alternatives, read x ⪰ y.

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

      A vector of transformations, one per individual, applied to a profile.

      Equations
      Instances For

        Informational invariance #

        def SocialChoice.Invariant {ι : Type u_1} {α : Type u_2} {K : Type u_3} {β : Type u_4} (T : Set (ι → K → K)) (a : Profile ι α K → β) :

        Invariance of a function of profiles, such as a rule or a statement about values, under a class of transformation vectors.

        Equations
        Instances For
          theorem SocialChoice.Invariant.mono {ι : Type u_1} {α : Type u_2} {K : Type u_3} {β : Type u_4} {S T : Set (ι → K → K)} (h : S ⊆ T) {a : Profile ι α K → β} (ha : Invariant T a) :
          def SocialChoice.ordinal {ι : Type u_1} {K : Type u_3} [Preorder K] :
          Set (ι → K → K)

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

          Equations
          Instances For
            def SocialChoice.ordinalLevel {ι : Type u_1} {K : Type u_3} [Preorder K] :
            Set (ι → K → K)

            Vectors applying one strictly increasing transformation to every individual; invariance under them is ordinal level comparability.

            Equations
            Instances For
              theorem SocialChoice.ordinalLevel_subset_ordinal {ι : Type u_1} {K : Type u_3} [Preorder K] :
              def SocialChoice.cardinalUnit {ι : Type u_1} {K : Type u_3} [Semiring K] [PartialOrder K] :
              Set (ι → K → K)

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

              Equations
              • SocialChoice.cardinalUnit = {f : ι → K → K | ∃ (a : K), 0 < a ∧ ∃ (b : ι → K), ∀ (i : ι) (t : K), f i t = a * t + b i}
              Instances For
                def SocialChoice.ratio {ι : Type u_1} {K : Type u_3} [Semiring K] [PartialOrder K] :
                Set (ι → K → K)

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

                Equations
                • SocialChoice.ratio = {f : ι → K → K | ∃ (a : ι → K), (∀ (i : ι), 0 < a i) ∧ ∀ (i : ι) (t : K), f i t = a i * t}
                Instances For
                  def SocialChoice.cardinalFull {ι : Type u_1} {K : Type u_3} [Semiring K] [PartialOrder K] :
                  Set (ι → K → K)

                  Vectors applying one positive affine transformation to every individual; invariance under them is cardinal full comparability.

                  Equations
                  • SocialChoice.cardinalFull = {f : ι → K → K | ∃ (a : K), 0 < a ∧ ∃ (b : K), ∀ (i : ι) (t : K), f i t = a * t + b}
                  Instances For
                    def SocialChoice.ratioFull {ι : Type u_1} {K : Type u_3} [Semiring K] [PartialOrder K] :
                    Set (ι → K → K)

                    Vectors applying one similarity transformation to every individual; invariance under them is ratio-scale full comparability.

                    Equations
                    Instances For
                      theorem SocialChoice.cardinalFull_subset_cardinalUnit {ι : Type u_1} {K : Type u_3} [Semiring K] [PartialOrder K] :
                      theorem SocialChoice.ratioFull_subset_cardinalFull {ι : Type u_1} {K : Type u_3} [Semiring K] [PartialOrder K] :
                      theorem SocialChoice.ratioFull_subset_ratio {ι : Type u_1} {K : Type u_3} [Semiring K] [PartialOrder K] :
                      theorem SocialChoice.cardinalFull_subset_ordinalLevel {ι : Type u_1} {K : Type u_3} [Semiring K] [PartialOrder K] [IsStrictOrderedRing K] :
                      theorem SocialChoice.cardinalUnit_subset_ordinal {ι : Type u_1} {K : Type u_3} [Semiring K] [PartialOrder K] [IsStrictOrderedRing K] :
                      theorem SocialChoice.ratio_subset_ordinal {ι : Type u_1} {K : Type u_3} [Semiring K] [PartialOrder K] [IsStrictOrderedRing K] :

                      Conditions on rules #

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

                      Pareto indifference says that alternatives with the same vector of values are indifferent.

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

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

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

                          Every output is transitive.

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

                            Every output is complete.

                            Equations
                            Instances For
                              def SocialChoice.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 SocialChoice.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 SocialChoice.Anonymous {ι : Type u_1} {α : Type u_2} {K : Type u_3} (a : Rule ι α K) :

                                  Anonymity says that permuting the individuals leaves the output unchanged.

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

                                    Weak Pareto says that an alternative every individual ranks strictly above another is strictly preferred.

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

                                      Strong Pareto says that an alternative every individual ranks weakly above another is weakly preferred, and strictly so if some individual ranks it strictly above.

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

                                        Individual i is a dictator when its strict rankings are the strict overall rankings.

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

                                          No individual is a dictator.

                                          Equations
                                          Instances For