Tense and tense forms #
This file defines the grammatical tenses and the tense forms of a verb. A tense is past, present
or future (Tense); the cell of times it denotes is the matter of Semantics/Tense/Defs.lean. A
tense form of a verb, in the sense of the traditional grammars, is a member of the verb's tense
paradigm, such as the simple past or the present perfect. It is described here by its make-up, the
tense inflection of its finite verb and the nonfinite forms stacked under that verb. A synthetic
form has a finite lexical verb and nothing else. A periphrastic form is built from another form by
putting its verb, in a nonfinite form, under an auxiliary that takes over the tense inflection, so
that the perfect of the simple present builds is the present perfect has built, and the
perfect of that is the double perfect has had built of the South German dialects. Two languages
whose forms have the same make-up share the form, and which tense and which aspect it expresses in
each is a matter of analysis left to studies.
Main declarations #
Tense: the grammatical tenses.Tense.Form.Nonfinite: the nonfinite verb forms that build periphrastic tense forms.Tense.Form: a tense form, by the inflection of its finite verb and its nonfinite chain.Tense.Form.under,Tense.Form.perfect,Tense.Form.progressive: the periphrastic form built on a form.Tense.Form.simplePresent,Tense.Form.simplePastand the forms built on them, among themTense.Form.presentPerfect,Tense.Form.doublePerfectandTense.Form.future.Tense.Form.IsPerfect: the form is the perfect of some form.Tense.Periphrasis,Tense.Periphrasis.realize: a language's means of building tense forms over its verbs, and the words of a form of a verb.
Equations
- instDecidableEqTense x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- instReprTense = { reprPrec := instReprTense.repr }
Equations
- instReprTense.repr Tense.past prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Tense.past")).group prec✝
- instReprTense.repr Tense.present prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Tense.present")).group prec✝
- instReprTense.repr Tense.future prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Tense.future")).group prec✝
Instances For
Equations
- instInhabitedTense = { default := instInhabitedTense.default }
Equations
- instFintypeTense = { elems := { val := ↑Tense.enumList, nodup := Tense.enumList_nodup }, complete := instFintypeTense._proof_1 }
A nonfinite verb form in a periphrastic tense form.
- infinitive : Nonfinite
The infinitive, as German bauen under werden.
- presentParticiple : Nonfinite
The present participle, as English building under be.
- pastParticiple : Nonfinite
The past participle, as English built under have and German gebaut under haben.
Instances For
Equations
- Tense.Form.instDecidableEqNonfinite x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Tense.Form.instReprNonfinite = { reprPrec := Tense.Form.instReprNonfinite.repr }
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
A tense form of a verb consists of the tense inflection of its finite verb and the nonfinite forms under the finite verb, outermost first, so that the lexical verb is the last of them, or the finite verb itself when there are none.
- finite : Tense
The tense inflection of the finite verb.
- nonfinite : List Nonfinite
The nonfinite forms under the finite verb, outermost first.
Instances For
Equations
- Tense.instDecidableEqForm.decEq { finite := a, nonfinite := a_1 } { finite := b, nonfinite := b_1 } = if h : a = b then h ▸ if h : a_1 = b_1 then h ▸ isTrue ⋯ else isFalse ⋯ else isFalse ⋯
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Tense.instReprForm = { reprPrec := Tense.instReprForm.repr }
The periphrastic form built on f puts the verb of f in the nonfinite form n under an
auxiliary with the tense inflection of f.
Equations
- Tense.Form.under n f = { finite := f.finite, nonfinite := n :: f.nonfinite }
Instances For
The perfect of a form puts its verb in the past participle under an auxiliary.
Instances For
The progressive of a form puts its verb in the present participle under an auxiliary.
Instances For
The simple present is the synthetic present, as builds.
Equations
- Tense.Form.simplePresent = { finite := Tense.present }
Instances For
The simple past is the synthetic past, as built.
Equations
- Tense.Form.simplePast = { finite := Tense.past }
Instances For
The present progressive is the progressive of the simple present, as is building.
Instances For
The past progressive is the progressive of the simple past, as was building.
Instances For
The present perfect is the perfect of the simple present, as has built.
Instances For
The past perfect is the perfect of the simple past, as had built.
Equations
Instances For
The double perfect is the perfect of the present perfect.
Instances For
The future is the simple present of an auxiliary over the infinitive, as will build.
Equations
Instances For
The future perfect is the future of the perfect, as will have built.
Equations
Instances For
A form is a perfect when it is the perfect of some form.
Equations
- f.IsPerfect = ∃ (g : Tense.Form), f = g.perfect
Instances For
Equations
- x✝.instDecidablePredIsPerfect = decidable_of_iff (x✝.nonfinite.head? = some Tense.Form.Nonfinite.pastParticiple) ⋯
A periphrasis is the means by which a language builds tense forms over its verbs V. It
gives the finite form of a verb in each tense, its nonfinite forms, and the auxiliary under
which a verb stands when it is in a given nonfinite form. Each is partial, since a language may lack an inflection, as German
lacks a future inflection, or a construction, as German lacks a progressive.
- finite : V → Tense → Option String
The finite form of a verb in a tense.
- nonfinite : V → Form.Nonfinite → Option String
A nonfinite form of a verb.
- auxiliary : V → Form.Nonfinite → Option V
The auxiliary that governs a verb in a nonfinite form.
Instances For
L.chain v ns gives the nonfinite verbs of a tense form of v with nonfinite chain ns,
innermost first, and the verb left to be inflected. Each nonfinite form is taken by the verb
below it, and the auxiliary that governs it is the next verb up.
Equations
Instances For
L.realize v f gives the finite verb of the tense form f of v and its nonfinite verbs,
innermost first.
Equations
Instances For
A realized tense form has one nonfinite verb for each nonfinite form in its make-up.