Documentation

Linglib.Features.Person.Resolve

Person — resolution #

[Cor06] [Zwi77] [DK00]

Resolution in coordination: the person of a coordinate structure from the persons of its conjuncts (you and I → first inclusive). The canonical table returns the finest analytical value (first + second = firstInclusive); systems without the distinction coarsen via resolveIn, exactly as Number.resolve's canonical dual coarsens to plural in {sg, pl} systems.

The table is not stipulated: resolve_profile derives it from referent union. A person value constrains which discourse roles the referent includes (Profile: speaker yes/no, addressee yes/no/underdetermined — the tripartition first leaves the addressee slot open), and coordination unions referents — so resolution is pointwise disjunction on profiles, [DK00]'s set-union semantics for person resolution. The Zwicky hierarchy (1 < 2 < 3, [Zwi77]) falls out: in a tripartition system, resolution is minimum of hierarchyRank (resolveIn_tripartition_min).

zero (impersonal) does not participate in attested resolution; it is treated as an identity by convention (documented, not an empirical claim).

Canonical resolution #

theorem Person.resolve_comm (a b : Person) :
a.resolve b = b.resolve a
theorem Person.resolve_assoc (a b c : Person) :
(a.resolve b).resolve c = a.resolve (b.resolve c)
@[simp]
@[simp]

The grounding: resolution is referent union #

A person value constrains the discourse roles in the referent. The profile records speaker inclusion (determinate for every value) and addressee inclusion (none = underdetermined: the tripartition first says nothing about the addressee). Coordination unions referents, so the resolved profile is the pointwise disjunction — with none ∨ false = none: if one conjunct's addressee status is open, so is the coordination's.

structure Person.Profile :

Discourse-role inclusion profile of a (non-impersonal) person value.

  • speaker : Bool

    The referent includes the speaker.

  • addressee : Option Bool

    The referent includes the addressee; none = underdetermined.

Instances For
    def Person.instDecidableEqProfile.decEq (x✝ x✝¹ : Profile) :
    Decidable (x✝ = x✝¹)
    Equations
    • Person.instDecidableEqProfile.decEq { speaker := a, addressee := a_1 } { speaker := b, addressee := b_1 } = if h : a = b then h if h : a_1 = b_1 then h isTrue else isFalse else isFalse
    Instances For
      def Person.instReprProfile.repr :
      ProfileStd.Format
      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        @[implicit_reducible]
        Equations

        The profile of each value; zero constrains roles in a context-dependent way and has none.

        Equations
        Instances For

          Profiles of unions: pointwise disjunction (three-valued on the addressee slot).

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            theorem Person.resolve_profile (p q : Person) :
            p zeroq zero(p.resolve q).toProfile = p.toProfile.bind fun (pp : Profile) => Option.map pp.or q.toProfile

            The resolution table is referent union ([DK00]): for referential persons, the profile of the resolved value is the disjunction of the conjuncts' profiles. The table is derived, not stipulated.

            theorem Person.toProfile_injOn (p q : Person) :
            p zeroq zerop.toProfile = q.toProfilep = q

            Distinct values have distinct profiles: the referential inventory is exactly the profile space reachable from referents.

            System-relative resolution #

            def Person.coarsenTo (sys : List Person) (p : Person) :

            Coarsen a value into a system: keep it if present, else collapse clusivity.

            Equations
            Instances For
              def Person.resolveIn (sys : List Person) (a b : Person) :

              Resolution within a system: canonical resolution, coarsened.

              Equations
              Instances For
                theorem Person.resolveIn_comm (sys : List Person) (a b : Person) :
                resolveIn sys a b = resolveIn sys b a

                Resolution typed by a Person.System.

                Equations
                Instances For

                  In a clusivity system: you and I resolves to the inclusive.

                  In a tripartition system the canonical inclusive coarsens to plain first: English you and Iwe.

                  The Zwicky hierarchy as a corollary ([Zwi77]): in a tripartition system, resolution is minimum of hierarchyRank — 1 < 2 < 3 is not a primitive but the shadow of referent union.