Clause axes #
This file defines the axes of a clause by which the lexicon and the studies index their facts.
A sentence type is the grammatical kind of a clause: Sadock and Zwicky's declarative,
interrogative, imperative and exclamative, with the interrogative subtyped as polar,
alternative or constituent, and the promissive that Korean grammaticalizes beside the
imperative. A sentence type is a form; the speech act it conventionally performs is its force,
Discourse.SpeechAct.Force, read off by Clause.SentenceType.force. An embedding context is
where a clause token occurs, Bhatt and Dayal's four contexts together with Evans's
insubordination, the conventionalized root use of a subordinate form. A cell is a sentence type
in an embedding context, and a distribution records for each cell whether some element or process is
obligatory, optional or excluded there, or nothing where the source is silent; the cells where
it is possible and where it is required are the two relations a distribution determines. A
particle's licensing and a language's verb-second grammar are distributions. A selection is
the set of sentence types a complementizer types or a clausal argument position selects, so
that whether selects polar and alternative questions and wonder any question; selections
are ordered by information, a smaller set being the more specific, and two of them unify to
their intersection when it is nonempty. The subject requirement and the semantic size of a
complement clause are the remaining axes.
Main definitions #
Clause.SentenceType,Clause.SentenceType.IsInterrogative: the sentence types.Clause.EmbeddingContext,Clause.root,Clause.embedded: the embedding contexts and the cells of root and subordinated clauses.Clause.Occurrence,Clause.Distribution: the value of a cell and a table of cells.Clause.Distribution.recorded,possible,required: the relations a distribution determines.Clause.Selection: the sentence types a clause-typer types or a clausal position selects, unified by intersection.Clause.EmbeddedSubject,Clause.Size: the subject requirement and the size of a complement clause.
References #
Sentence types #
The sentence types, the grammatical kinds of clause a language distinguishes.
- declarative : SentenceType
- polar : SentenceType
The polar, or yes/no, interrogative.
- alternative : SentenceType
The alternative interrogative, p or q?.
- constituent : SentenceType
The constituent, or wh, interrogative.
- imperative : SentenceType
- exclamative : SentenceType
- promissive : SentenceType
The promissive, which Korean grammaticalizes beside the imperative.
Instances For
Equations
- Clause.instDecidableEqSentenceType x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Clause.instReprSentenceType = { reprPrec := Clause.instReprSentenceType.repr }
Equations
- One or more equations did not get rendered due to their size.
- Clause.instReprSentenceType.repr Clause.SentenceType.polar prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Clause.SentenceType.polar")).group prec✝
Instances For
Equations
- Clause.instFintypeSentenceType = { elems := { val := ↑Clause.SentenceType.enumList, nodup := Clause.SentenceType.enumList_nodup }, complete := Clause.instFintypeSentenceType._proof_1 }
A sentence type is interrogative when it is polar, alternative or constituent.
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Embedding contexts and cells #
Where a clause token occurs, the interrogative-embedding contexts of Bhatt and Dayal and of Dayal together with Evans's insubordination, a property of the token, not of the clause.
- matrix : EmbeddingContext
- subordinated : EmbeddingContext
- quasiSubordinated : EmbeddingContext
Embedded root-like clauses, as Hindi-Urdu kya: and Belfast English embedded inversion have them.
- quotation : EmbeddingContext
- insubordinated : EmbeddingContext
A formally subordinate clause used as a root utterance, as the German command Dass du nicht wieder die Schlüssel vergisst! and the deliberative question Ob er immer noch kubanische Zigarren mag?.
Instances For
Equations
- Clause.instDecidableEqEmbeddingContext x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Clause.instReprEmbeddingContext = { reprPrec := Clause.instReprEmbeddingContext.repr }
Equations
- One or more equations did not get rendered due to their size.
The cell of a root clause of sentence type t.
Equations
Instances For
The cell of a subordinated clause of sentence type t.
Equations
Instances For
Distributions #
An occurrence says whether an element or process is obligatory, optional or excluded in a cell.
- obligatory : Occurrence
- optional : Occurrence
- excluded : Occurrence
Instances For
Equations
- Clause.instDecidableEqOccurrence x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Clause.instReprOccurrence = { reprPrec := Clause.instReprOccurrence.repr }
Equations
- One or more equations did not get rendered due to their size.
- Clause.instReprOccurrence.repr Clause.Occurrence.optional prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Clause.Occurrence.optional")).group prec✝
- Clause.instReprOccurrence.repr Clause.Occurrence.excluded prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Clause.Occurrence.excluded")).group prec✝
Instances For
Equations
- Clause.instFintypeOccurrence = { elems := { val := ↑Clause.Occurrence.enumList, nodup := Clause.Occurrence.enumList_nodup }, complete := Clause.instFintypeOccurrence._proof_1 }
A distribution records the occurrence of an element or process in each cell; none means
that the source records nothing for the cell, not that it is excluded.
Equations
Instances For
The cells the source records.
Equations
- d.recorded = {c : Clause.SentenceType × Clause.EmbeddingContext | (d c.1 c.2).isSome = true}
Instances For
The cells where the element or process is possible, recorded as obligatory or optional.
Equations
- d.possible = {c : Clause.SentenceType × Clause.EmbeddingContext | d c.1 c.2 = some Clause.Occurrence.obligatory ∨ d c.1 c.2 = some Clause.Occurrence.optional}
Instances For
The cells where the element or process is required.
Equations
- d.required = {c : Clause.SentenceType × Clause.EmbeddingContext | d c.1 c.2 = some Clause.Occurrence.obligatory}
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- Clause.Distribution.instDecidableNonemptyProdSentenceTypeEmbeddingContextRecorded = { decide := decide (∃ a ∈ Finset.univ, a ∈ d.recorded), reflects_decide := ⋯ }
Selections #
A nonempty set of sentence types, the more specific selection being the smaller set.
Equations
- Clause.Selection.Types = { s : Finset Clause.SentenceType // s.Nonempty }ᵒᵈ
Instances For
The sentence types a clause-typer types or a clausal position selects: nothing recorded, the bottom, or a nonempty set of types.
Equations
- Clause.Selection = WithBot Clause.Selection.Types
Instances For
The selection of a nonempty set of types.
Equations
- Clause.Selection.of s h = ↑(OrderDual.toDual ⟨s, h⟩)
Instances For
The selection of the three interrogative types.
Equations
Instances For
The types a selection records; none when nothing is recorded.
Equations
- Clause.Selection.types none = ∅
- Clause.Selection.types (some s) = ↑(OrderDual.ofDual s)
Instances For
Equations
- Clause.Selection.instMembershipSentenceType = { mem := fun (sel : Clause.Selection) (t : Clause.SentenceType) => t ∈ sel.types }
Equations
- One or more equations did not get rendered due to their size.
Equations
- sel.instDecidableMemSentenceType t = Finset.decidableMem t sel.types
A selection records some interrogative type.
Equations
- sel.IsInterrogative = ∃ t ∈ sel, t.IsInterrogative
Instances For
Equations
- sel.instDecidableIsInterrogative = { decide := decide (∃ (a : Clause.SentenceType) (_ : a ∈ sel.types), a.IsInterrogative), reflects_decide := ⋯ }
Two nonempty sets of types unify to their intersection when it is nonempty.
Equations
- Clause.Selection.unifyTypes a b = if h : (↑(OrderDual.ofDual a) ∩ ↑(OrderDual.ofDual b)).Nonempty then ↑(OrderDual.toDual ⟨↑(OrderDual.ofDual a) ∩ ↑(OrderDual.ofDual b), h⟩) else ⊤
Instances For
Equations
- One or more equations did not get rendered due to their size.
The bottom unifies with anything, and two recorded selections unify to their intersection when it is nonempty.
Equations
- Clause.Selection.unify none x✝ = ↑x✝
- Clause.Selection.unify (some a) none = ↑↑a
- Clause.Selection.unify (some a) (some b) = WithTop.map WithBot.some (PartialUnify.unify a b)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Complement clauses #
The subject of an embedded clause is obligatorily null, as in control complements, or overt, optionally with a fixed case. Genitive marking on the subject is Noonan's criterion for the nominalization coding; Bondarenko's Buryat genitive subjects of nominalized clauses are the modern instance.
- obligatorilyNull : EmbeddedSubject
- overt (subjCase : Option Case) : EmbeddedSubject
Instances For
Equations
- Clause.instDecidableEqEmbeddedSubject.decEq Clause.EmbeddedSubject.obligatorilyNull Clause.EmbeddedSubject.obligatorilyNull = isTrue ⋯
- Clause.instDecidableEqEmbeddedSubject.decEq Clause.EmbeddedSubject.obligatorilyNull (Clause.EmbeddedSubject.overt subjCase) = isFalse ⋯
- Clause.instDecidableEqEmbeddedSubject.decEq (Clause.EmbeddedSubject.overt subjCase) Clause.EmbeddedSubject.obligatorilyNull = isFalse ⋯
- Clause.instDecidableEqEmbeddedSubject.decEq (Clause.EmbeddedSubject.overt a) (Clause.EmbeddedSubject.overt b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Clause.instReprEmbeddedSubject = { reprPrec := Clause.instReprEmbeddedSubject.repr }
The semantic sort of a complement clause, which fixes the minimal structure it needs, the implicational complementation hierarchy of Wurmbrand and Lohninger: an event needs only the thematic domain, a situation adds the tense–mood–aspect domain, a proposition adds the operator domain. Ordered by containment.
Instances For
Equations
- Clause.instDecidableEqSize x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Clause.instReprSize.repr Clause.Size.event prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Clause.Size.event")).group prec✝
- Clause.instReprSize.repr Clause.Size.situation prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Clause.Size.situation")).group prec✝
- Clause.instReprSize.repr Clause.Size.proposition prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Clause.Size.proposition")).group prec✝
Instances For
Equations
- Clause.instReprSize = { reprPrec := Clause.instReprSize.repr }
Equations
- Clause.instFintypeSize = { elems := { val := ↑Clause.Size.enumList, nodup := Clause.Size.enumList_nodup }, complete := Clause.instFintypeSize._proof_1 }
Position on the containment order.
Equations
Instances For
Equations
- Clause.instLinearOrderSize = LinearOrder.lift' Clause.Size.rank ⋯