Documentation

Linglib.Syntax.Category.Verb.Complement.Basic

Complement frames — typed complement positions #

A predicate's complement frame as a list of typed Complement.Positions: nominal, adpositional, or clausal, the clausal case carrying the axes the predicate selects for. The flat ComplementType enum survives as a round-trip view (ComplementType.toFrame / Frame.toComplementType).

Main definitions #

Implementation notes #

Complement-taking is cross-categorial ([Noo07]'s CTPs include adjectives and nouns), so the position record lives in the Complement namespace beside Complement.Coding, not under Verb; Adposition.Complement is the P-specific counterpart of the position categories. Frame-conditioned readings (attitude, opacity, control) are not per-position data — they live on Verb.Reading (Syntax/Category/Verb/Defs.lean), keyed to the verb's frames. The selection relation between verb frames and clause-typers (Verb.takes) lives in Syntax/Category/Verb/Complement/Takes.lean. [Dea26]'s CP-external shell inventory lives with its consumer in Studies/Deal2026.lean.

One complement position of a predicate's frame: nominal, adpositional, or clausal with the axes the predicate selects for — [Noo07] coding, illocutionary force, and subject requirement, none = unselective. Non-clausal positions carry no clausal axes by construction.

Instances For
    def Complement.instReprPosition.repr :
    PositionStd.Format
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For

      The position's recorded [Noo07] coding, if clausal.

      Equations
      Instances For

        The position's recorded force, if clausal.

        Equations
        Instances For

          The position's recorded subject requirement, if clausal.

          Equations
          Instances For
            @[reducible, inline]
            abbrev Frame :

            A complement frame: the predicate's selected complement positions in order. Intransitive = []; double object = two positions. The external argument is not a frame position — it lives on Verb.voiceType.

            Equations
            Instances For

              The [Noo07] codings recorded across the frame's positions.

              Equations
              Instances For

                Some position of the frame records force f.

                Equations
                Instances For
                  @[instance_reducible]
                  instance Frame.instDecidableHasForce (fr : Frame) (f : Mood.Illocutionary) :
                  Decidable (fr.hasForce f)
                  Equations

                  Smart constructors — the flat ComplementType cells #

                  Transitive: one nominal position.

                  Equations
                  Instances For

                    Double object: two nominal positions.

                    Equations
                    Instances For

                      NP + PP: a nominal plus an adpositional position.

                      Equations
                      Instances For

                        Infinitival clause. The embedded-subject requirement varies by verb (equi-deletion, raising, or adposition-marked overt subjects, [Noo07] §1.3.4), so it lives on the verb's reading, not here.

                        Equations
                        Instances For

                          Gerund / nominalized clause.

                          Equations
                          Instances For

                            Small clause (consider X happy; causative make X leave). Outside [Noo07]'s coding inventory, which classifies complements by the part of speech of their predicate, so the position records nothing.

                            Equations
                            Instances For

                              Embedded question. Interrogativity is a force distinction orthogonal to [Noo07] coding, so coding stays none.

                              Equations
                              Instances For

                                The flat enum view #

                                inductive ComplementType :

                                Complement type that the verb selects — the flat view over the typed Frame.

                                • Finite: "that" clauses ("John knows that Mary left")
                                • Infinitival: "to" complements ("John managed to leave")
                                • Gerund: "-ing" complements ("John stopped smoking")
                                • NP: Direct object ("John kicked the ball")
                                • None: Intransitive ("John slept")
                                Instances For
                                  @[instance_reducible]
                                  Equations
                                  def instReprComplementType.repr :
                                  ComplementTypeStd.Format
                                  Equations
                                  Instances For
                                    @[instance_reducible]
                                    Equations

                                    Is this complement type finite (i.e., does it contain a tense head)?

                                    Finite complements (.finiteClause,.question) have independent tense morphology; non-finite complements (.infinitival,.gerund,.smallClause) do not.

                                    Equations
                                    Instances For

                                      Is this complement type a nominal (DP) argument?

                                      Nominal complements project DP: the verb selects a noun phrase in object position. Relevant to c-selection in coordination: a verb that only selects nominal complements cannot independently license a CP conjunct ([Sch26]).

                                      Equations
                                      Instances For

                                        Is this complement type a clausal (CP) argument?

                                        Clausal complements project CP or reduced clausal structure. This covers finite clauses (dass-clauses), infinitivals, gerunds, small clauses, and embedded questions.

                                        Equations
                                        Instances For

                                          Partial inverse of ComplementType.toFrame: the flat enum cell a frame instantiates, none on frames richer than any cell.

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

                                            The enum view round-trips over the smart-constructor cells.

                                            The [Noo07] coding of a complement frame: none for non-clausal frames, for small clauses (outside the coding inventory), and for embedded questions (interrogativity is a clause-form axis, not a coding).

                                            Equations
                                            Instances For

                                              The enum view and the typed frames record the same coding: a cell's frame carries exactly the codings toCoding assigns it.