Documentation

Linglib.Fragments.German.ClauseTypes

German Clause Types #

German clause-type taxonomy: five clause types distinguished by verb position (V2 vs verb-last) and complementizer presence (dass vs not), encoded as an indexed refinement of the framework-agnostic Features.ClauseForm. Descriptive German syntax; the sentence-mood analysis built on this taxonomy ([Gut15], Ch 5: which mood operators each clause type composes) lives in Studies/Gutzmann2015.lean.

Clause typeExample
dass-VL"Dass du kommst!"
V2-declarative"Jim wohnt in Berlin."
VL-interrogative"Wann Peter kommt?"
V2-interrogative"Kommt Peter?"
Imperative"Tritt zurück!"

GermanClauseType as ClauseForm-indexed inductive #

GermanClauseType distinguishes clauses by both verb position (V2 vs VL) and complementizer presence (dass vs not), where ClauseForm only records the matrix-vs-embedded question / declarative word-order distinction. We encode the refinement structurally as an indexed inductive GermanClauseType : ClauseForm → Type:

GermanClauseTypeClauseForm
dassVLdeclarative
v2Declarativedeclarative
v2InterrogativematrixQuestion
vlInterrogativeembeddedQuestion
imperativedeclarative

Two consequences fall out of the indexing rather than requiring separate proof:

  1. No bridge function. The "projection to ClauseForm" is the type-level index — (ct : GermanClauseType f) witnesses both the refined value and its ClauseForm projection f simultaneously.
  2. (ct : GermanClauseType .matrixQuestion) is exactly the v2Interrogative case. cases ct on this type produces a single branch, capturing the structural fact that "matrix-question German clause" picks out v2Interrogative without auxiliary filtering.

German clause types distinguished by verb position and complementizer, indexed by their Features.ClauseForm projection.

Instances For
    def German.ClauseTypes.instDecidableEqGermanClauseType.decEq {a✝ : Features.ClauseForm} (x✝ x✝¹ : GermanClauseType a✝) :
    Decidable (x✝ = x✝¹)
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      Equations
      • One or more equations did not get rendered due to their size.
      Instances For

        Structural consequences of the indexing #

        A matrix-question German clause type is exactly v2Interrogative. Pattern matching on GermanClauseType .matrixQuestion produces a single constructor by the indexing.