Documentation

Linglib.Syntax.Minimalist.Case.Dependent

Dependent case by phase #

The configurational rules of Syntax/Case/Dependent.lean run domain by domain: each phase head's spell-out domain has its own high, low and elsewhere cases, the domains spell out innermost first, and a case valued in an inner domain — or by a lexical head — is never overwritten, so a dative valued in the verb phrase survives the clause. Functional heads may also value case under Agree, each probing the highest caseless NP of the domain it agrees into. A grammar is the table of domain rules together with the Agree cases, so a purely configurational grammar, a purely Agree-based one, and the hybrids are points in one space. Which functional heads a derivation contains is a fact about it, so assignment takes the probes present with the domain each agrees into.

Main definitions #

Main results #

References #

structure Minimalist.PhasedNPextends Case.NP :

An NP with its position: the phase head whose spell-out domain merges it, and whether it has shifted to the clause edge, where C's domain spells it out.

Instances For
    def Minimalist.instDecidableEqPhasedNP.decEq (x✝ x✝¹ : PhasedNP) :
    Decidable (x✝ = x✝¹)
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      def Minimalist.instReprPhasedNP.repr :
      PhasedNPStd.Format
      Equations
      • One or more equations did not get rendered due to their size.
      Instances For

        Whether the NP is in the domain of c when it spells out.

        Equations
        Instances For

          The phase head whose elsewhere case the NP falls back on.

          Equations
          Instances For

            A grammar of structural case: the phase heads in spell-out order with the rules of their domains, and the case each functional head values under Agree.

            Instances For
              def Minimalist.instDecidableEqCaseGrammar.decEq (x✝ x✝¹ : CaseGrammar) :
              Decidable (x✝ = x✝¹)
              Equations
              Instances For
                Equations
                • One or more equations did not get rendered due to their size.
                Instances For

                  The rules of the domain of c.

                  Equations
                  Instances For

                    The case h values under Agree, if any.

                    Equations
                    Instances For

                      The cases the grammar can value a caseless NP with.

                      Equations
                      Instances For

                        The alignment the clausal rules show.

                        Equations
                        Instances For
                          def Minimalist.agreePass (c : Case) (P : PhasedNPBool) (states : List (PhasedNP × Case.Valuation)) :

                          A head valuing c under Agree in the domain P selects values its highest unvalued NP.

                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            def Minimalist.probePass (g : CaseGrammar) (c h : Cat) (states : List (PhasedNP × Case.Valuation)) :

                            The head h probing the domain of c: it values what the grammar lets it.

                            Equations
                            Instances For
                              def Minimalist.domainPass (g : CaseGrammar) (probes : List (Cat × Cat)) (c : Cat) (states : List (PhasedNP × Case.Valuation)) :

                              One spell-out domain: its dependent rules, then its probes in order, then its elsewhere case.

                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                def Minimalist.CaseGrammar.assign (g : CaseGrammar) (probes : List (Cat × Cat)) (nps : List PhasedNP) :

                                Case for every NP, the domains spelling out in the grammar's order. probes lists the functional heads present with the phase head whose domain each agrees into.

                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For

                                  Totality #

                                  @[simp]
                                  theorem Minimalist.agreePass_length (c : Case) (P : PhasedNPBool) (states : List (PhasedNP × Case.Valuation)) :
                                  (agreePass c P states).length = states.length
                                  @[simp]
                                  theorem Minimalist.probePass_length (g : CaseGrammar) (c h : Cat) (states : List (PhasedNP × Case.Valuation)) :
                                  (probePass g c h states).length = states.length
                                  @[simp]
                                  theorem Minimalist.domainPass_length (g : CaseGrammar) (probes : List (Cat × Cat)) (c : Cat) (states : List (PhasedNP × Case.Valuation)) :
                                  (domainPass g probes c states).length = states.length
                                  @[simp]
                                  theorem Minimalist.CaseGrammar.assign_length (g : CaseGrammar) (probes : List (Cat × Cat)) (nps : List PhasedNP) :
                                  (g.assign probes nps).length = nps.length

                                  Assignment is total: one valuation per NP.

                                  Valued NPs persist #

                                  theorem Minimalist.agreePass_getElem?_of_some (c : Case) (P : PhasedNPBool) {states : List (PhasedNP × Case.Valuation)} {i : } {np : PhasedNP} {v : Case × Case.Mechanism} (h : states[i]? = some (np, some v)) :
                                  (agreePass c P states)[i]? = some (np, some v)
                                  theorem Minimalist.probePass_getElem?_of_some (g : CaseGrammar) (c hd : Cat) {states : List (PhasedNP × Case.Valuation)} {i : } {np : PhasedNP} {v : Case × Case.Mechanism} (h : states[i]? = some (np, some v)) :
                                  (probePass g c hd states)[i]? = some (np, some v)
                                  theorem Minimalist.domainPass_getElem?_of_some (g : CaseGrammar) (probes : List (Cat × Cat)) (c : Cat) {states : List (PhasedNP × Case.Valuation)} {i : } {np : PhasedNP} {v : Case × Case.Mechanism} (h : states[i]? = some (np, some v)) :
                                  (domainPass g probes c states)[i]? = some (np, some v)
                                  theorem Minimalist.CaseGrammar.assign_getElem?_of_some (g : CaseGrammar) (probes : List (Cat × Cat)) {nps : List PhasedNP} {i : } {np : PhasedNP} {c : Case} (hnp : nps[i]? = some np) (hc : np.lexicalCase = some c) :
                                  (g.assign probes nps)[i]? = some (np.toNP, some (c, Case.Mechanism.lexical))

                                  Lexical case is kept through every domain.

                                  The cases a grammar values #

                                  theorem Minimalist.CaseGrammar.agreeCase_mem_cases {g : CaseGrammar} {h : Cat} {c : Case} (hc : g.agreeCase h = some c) :
                                  c g.cases
                                  theorem Minimalist.CaseGrammar.case_mem_cases (g : CaseGrammar) (probes : List (Cat × Cat)) {nps : List PhasedNP} {i : } {np : Case.NP} {c : Case} {m : Case.Mechanism} (hlex : np.lexicalCase = none) (h : (g.assign probes nps)[i]? = some (np, some (c, m))) :
                                  c g.cases

                                  A caseless NP is valued only with a case the grammar mentions.

                                  A grammar without an elsewhere case #

                                  theorem Minimalist.CaseGrammar.rules_unmarked_of (g : CaseGrammar) (hg : dg.domains, d.2.unmarked = none) (c : Cat) :
                                  (g.rules c).unmarked = none
                                  theorem Minimalist.CaseGrammar.mechanism_ne_unmarked (g : CaseGrammar) (probes : List (Cat × Cat)) (hg : dg.domains, d.2.unmarked = none) {nps : List PhasedNP} {i : } {np : Case.NP} {c : Case} {m : Case.Mechanism} (h : (g.assign probes nps)[i]? = some (np, some (c, m))) :

                                  A grammar with no elsewhere case in any domain never values an NP as unmarked: an NP that no rule and no head reaches stays caseless.