Documentation

Linglib.Semantics.Verb.Root.Closure

Entailment Closure on Roots #

[BKG20] treat roots as networks of entailments, where some atoms entail others, and state two collocational restrictions as definitional: +result entails +state, and +cause entails +result.

Two levels of closure, each a mathlib ClosureOperator:

Main declarations #

Atom-level rules and closure #

The documented B&K-G atom-level entailment rule: becomesState s ⇒ hasState s (a change of state to s entails the resulting state attribution s, label preserved). The cause→result restriction is not expressible at atom level (hasCause carries no label) and is handled by Root.Kinds.close.

Equations
Instances For
    theorem Verb.bkgRules_kind {a b : LexEntailment} (h : a bkgRules b) :
    a.kind = some LexKind.state b.kind = some LexKind.result

    Every atom produced by bkgRules is a state atom, produced from a result atom.

    theorem Verb.bkgRules_output_inert {a b : LexEntailment} (h : a bkgRules b) :
    bkgRules a =

    Rule outputs trigger no further rules: the closure stabilizes in one step.

    def Verb.bkgClose (atoms : Finset LexEntailment) :

    Close an atom set under bkgRules: adjoin everything the rules fire from a member.

    Equations
    Instances For
      theorem Verb.le_bkgClose (atoms : Finset LexEntailment) :
      atoms bkgClose atoms
      theorem Verb.bkgClose_mono {s t : Finset LexEntailment} (h : s t) :
      def Verb.bkgCloseOp :
      ClosureOperator (Finset LexEntailment)

      The atom-level closure as a mathlib ClosureOperator.

      Equations
      Instances For

        The B&K-G closure of the root's base entailments.

        Equations
        Instances For

          Kind-level closure #

          The closed kind signature: the collocational closure of the derived signature. Captures both book restrictions (result→state and cause→result).

          Equations
          Instances For

            The closed signature satisfies the collocational constraints by construction — what RootEntailments.WellFormed used to stipulate is a theorem of closure.

            Both theses are insensitive to the closure edges: a root violates Bifurcation iff its closed signature does.

            The atom/kind bridge #

            theorem Verb.Root.mem_kind_closedEntailments {r : Root} {k : LexKind} :
            (∃ ar.closedEntailments, a.kind = some k) k r.kinds k = LexKind.state r.HasResult

            Kinds realized by the atom-level closure: the base kinds plus a state kind whenever a result atom is present.

            theorem Verb.Root.kind_closedEntailments_le (r : Root) {k : LexKind} (h : ar.closedEntailments, a.kind = some k) :
            k r.closedKinds

            The atom-level closure realizes at most the kinds of the kind-level closure (strictly fewer when a root carries cause without a result atom — the cause→result edge is kind-level only).