Documentation

Linglib.Features.Gender.Resolve

Gender resolution #

[Cor91] [WG23] [MNB15] [AA25] [BW13] [NW19]

Resolution of gender with coordinated nominals, over a language's own controller-gender carrier. Unlike Number.resolve — which derives from the join-semilattice of individuals — gender resolution has no lattice-theoretic ground: the attested mechanisms are an inventory of strategies ([NW19] for the survey), and which one applies is language- and configuration-particular data.

Main declarations #

Implementation notes #

inductive Gender.Strategy (G : Type u_2) :
Type u_2

A gender-resolution strategy ([NW19]). The res table is the language's resolution rules ([Cor91]); dvi inserts the system default; closest/highest are single-conjunct agreement.

  • res {G : Type u_2} (table : GGOption G) : Strategy G

    Resolution rules: equal contribution of both conjuncts, computed by a language-particular table; none = ineffable conflict.

  • dvi {G : Type u_2} : Strategy G

    Default value insertion: the system default regardless of conjunct values (no-peeking / percolation failure).

  • closest {G : Type u_2} : Strategy G

    Closest conjunct agreement (second argument).

  • highest {G : Type u_2} : Strategy G

    Highest conjunct agreement (first argument).

Instances For
    def Gender.Strategy.Congruent {G : Type u_1} (table : GGOption G) :

    A resolution table treats congruent conjuncts trivially: shared gender resolves to itself ([WG23]'s congruent-conjunct baseline).

    Equations
    Instances For
      def Gender.System.resolve {G : Type u_1} (S : System G) :
      Strategy GGGOption G

      Resolve the gender of two coordinated conjuncts by a strategy. none = ineffability (no grammatical output).

      Equations
      Instances For
        @[simp]
        theorem Gender.System.resolve_res {G : Type u_1} (S : System G) (t : GGOption G) (a b : G) :
        S.resolve (Strategy.res t) a b = t a b
        @[simp]
        theorem Gender.System.resolve_dvi {G : Type u_1} (S : System G) (a b : G) :
        @[simp]
        theorem Gender.System.resolve_closest {G : Type u_1} (S : System G) (a b : G) :
        S.resolve Strategy.closest a b = some b
        @[simp]
        theorem Gender.System.resolve_highest {G : Type u_1} (S : System G) (a b : G) :
        S.resolve Strategy.highest a b = some a

        Closest- and highest-conjunct agreement are order duals.

        theorem Gender.System.resolve_res_self {G : Type u_1} (S : System G) {t : GGOption G} (h : Strategy.Congruent t) (g : G) :
        S.resolve (Strategy.res t) g g = some g

        A congruent table resolves shared gender to itself.

        def Gender.System.resolveIn {G : Type u_1} (S : System G) (strats : Set (Strategy G)) (a b : G) :
        Set G

        The values produced by a set of active strategies — within-speaker and cross-configuration variation as parallel grammars ([WG23]; [BW13]).

        Equations
        Instances For
          theorem Gender.System.resolveIn_mono {G : Type u_1} (S : System G) {s₁ s₂ : Set (Strategy G)} (h : s₁ s₂) (a b : G) :
          S.resolveIn s₁ a b S.resolveIn s₂ a b

          More active strategies produce more values.

          theorem Gender.System.resolveIn_singleton {G : Type u_1} (S : System G) (st : Strategy G) (a b g : G) :
          g S.resolveIn {st} a b S.resolve st a b = some g

          A single active strategy produces exactly its output.

          inductive Gender.Locus :

          Where resolution applies ([WG23]): on the ConjP goal (early — the value is present before the probe agrees) or on the probe (late — after copying from both conjuncts). Implementable as the timing of Agree-Copy ([Smi21]); [BW13]'s syntactic vs post-syntactic split is the same axis.

          • goal : Locus

            Goal resolution: ConjP valued before probing.

          • probe : Locus

            Probe resolution: valuation on the probe after Multiple Agree.

          Instances For
            @[implicit_reducible]
            instance Gender.instDecidableEqLocus :
            DecidableEq Locus
            Equations
            @[implicit_reducible]
            Equations
            def Gender.instReprLocus.repr :
            LocusStd.Format
            Equations
            Instances For
              @[implicit_reducible]
              instance Gender.instFintypeLocus :
              Fintype Locus
              Equations