Focus realization #
What a grammar overtly does to mark a focus: a Realization pairs the
focus constituent with the list of grammatical Reflexes marking it —
a displaced exponent, a dedicated morpheme, a phrase-edge, or a
metrical prominence — the demarcative vs culminative cut kept visible
in the type.
Overtness is derived (IsOvert: the reflex list is nonempty), not
flagged; strategy labels are shape classifications over reflexes; and
multi-channel marking (Hausa ex-situ focus: displacement + Relative
morphology + stabilizer) is a multi-element list. Consumed by
[HZ07] (Hausa) and [HZ04]
(Tangale), whose systems each refute EveryFocusPerceptible — the
universalist claim that every focus receives an overt reflex.
Implementation notes #
String-vacuous operations (Hausa subject fronting) contribute no
reflex: the reflex list carries only perceptible material, which is
what makes IsOvert honest. Host-vs-focus tightness relations
(and the overlap-weakening of [HZ07]'s Ex-Situ
Generalisation) are deferred until pied-piping data land; note
Mereology.Overlap is vacuous over orders with a bottom, so that
member must use ¬ Disjoint or bot-free carriers.
A single overt reflex of focus marking.
- displacement
{C : Type u_2}
(exponent : C)
: Reflex C
An exponent constituent surfaces displaced from its base position (movement that is not string-vacuous).
- morpheme
{C : Type u_2}
(host : C)
: Reflex C
A dedicated morpheme — affix, particle, or form alternation — at a host constituent.
- boundary
{C : Type u_2}
(edge : C)
: Reflex C
A demarcative prosodic event: a phrase-edge at a host constituent (the Tangale/Chadic pattern).
- prominence
{C : Type u_2}
(host : C)
: Reflex C
A culminative prosodic event: metrical prominence on a host (the English pattern).
Instances For
Equations
- Semantics.Focus.instDecidableEqReflex.decEq (Semantics.Focus.Reflex.displacement a) (Semantics.Focus.Reflex.displacement b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
- Semantics.Focus.instDecidableEqReflex.decEq (Semantics.Focus.Reflex.displacement exponent) (Semantics.Focus.Reflex.morpheme host) = isFalse ⋯
- Semantics.Focus.instDecidableEqReflex.decEq (Semantics.Focus.Reflex.displacement exponent) (Semantics.Focus.Reflex.boundary edge) = isFalse ⋯
- Semantics.Focus.instDecidableEqReflex.decEq (Semantics.Focus.Reflex.displacement exponent) (Semantics.Focus.Reflex.prominence host) = isFalse ⋯
- Semantics.Focus.instDecidableEqReflex.decEq (Semantics.Focus.Reflex.morpheme host) (Semantics.Focus.Reflex.displacement exponent) = isFalse ⋯
- Semantics.Focus.instDecidableEqReflex.decEq (Semantics.Focus.Reflex.morpheme a) (Semantics.Focus.Reflex.morpheme b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
- Semantics.Focus.instDecidableEqReflex.decEq (Semantics.Focus.Reflex.morpheme host) (Semantics.Focus.Reflex.boundary edge) = isFalse ⋯
- Semantics.Focus.instDecidableEqReflex.decEq (Semantics.Focus.Reflex.morpheme host) (Semantics.Focus.Reflex.prominence host_1) = isFalse ⋯
- Semantics.Focus.instDecidableEqReflex.decEq (Semantics.Focus.Reflex.boundary edge) (Semantics.Focus.Reflex.displacement exponent) = isFalse ⋯
- Semantics.Focus.instDecidableEqReflex.decEq (Semantics.Focus.Reflex.boundary edge) (Semantics.Focus.Reflex.morpheme host) = isFalse ⋯
- Semantics.Focus.instDecidableEqReflex.decEq (Semantics.Focus.Reflex.boundary a) (Semantics.Focus.Reflex.boundary b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
- Semantics.Focus.instDecidableEqReflex.decEq (Semantics.Focus.Reflex.boundary edge) (Semantics.Focus.Reflex.prominence host) = isFalse ⋯
- Semantics.Focus.instDecidableEqReflex.decEq (Semantics.Focus.Reflex.prominence host) (Semantics.Focus.Reflex.displacement exponent) = isFalse ⋯
- Semantics.Focus.instDecidableEqReflex.decEq (Semantics.Focus.Reflex.prominence host) (Semantics.Focus.Reflex.morpheme host_1) = isFalse ⋯
- Semantics.Focus.instDecidableEqReflex.decEq (Semantics.Focus.Reflex.prominence host) (Semantics.Focus.Reflex.boundary edge) = isFalse ⋯
- Semantics.Focus.instDecidableEqReflex.decEq (Semantics.Focus.Reflex.prominence a) (Semantics.Focus.Reflex.prominence b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
Instances For
Equations
- Semantics.Focus.instReprReflex = { reprPrec := Semantics.Focus.instReprReflex.repr }
Equations
- One or more equations did not get rendered due to their size.
Instances For
A focus realization: the focus constituent and the grammatical reflexes marking it.
- focus : C
- reflexes : List (Reflex C)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Semantics.Focus.instReprRealization = { reprPrec := Semantics.Focus.instReprRealization.repr }
Overt marking, derived: some reflex surfaces.
Instances For
Equations
- Semantics.Focus.instDecidableIsOvert r = match h : r.reflexes with | [] => isFalse ⋯ | head :: tail => isTrue ⋯
The universalist claim over a marking system realize: every focus
receives an overt reflex. Hausa and Tangale each refute their
instance.
Equations
- Semantics.Focus.EveryFocusPerceptible realize = ∀ (i : I), (realize i).IsOvert