Focus marking #
A focus indicates the presence of alternatives that are relevant to interpretation, Krifka's
definition of the notion after Rooth's alternative semantics. A constituent is F-marked or
unfeatured (Focus.Mark). An F-marked constituent keeps its ordinary value and evokes every value
of its type, and an unfeatured one evokes what its parts compose (WithAlternatives.mark), so the
two marks are ordered by the alternatives they evoke, unfeatured below F-marked. Where a language
realizes a focus is a separate matter, and one cut is whether the focused constituent stays in
its base position or is fronted (Focus.Strategy).
Main definitions #
Focus.Mark: F-marked or unfeatured, a two-element linear order.WithAlternatives.mark: the meaning of a constituent bearing a mark.Focus.Strategy: a focus realized in place or fronted.
Main results #
WithAlternatives.alternatives_mark_subset_alternatives_mark_iff: unless a constituent already evokes its whole type, its alternatives grow exactly along the order of the marks.WithAlternatives.mark_eq_bind: on a well-formed meaning a mark is a continuation.WithAlternatives.ordinary_eq_of_given_mark_focused_bind: an F-marked constituent under a continuation is Given only if the continuation's ordinary values ignore it.
References #
Equations
- Focus.instDecidableEqMark x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Focus.instReprMark = { reprPrec := Focus.instReprMark.repr }
Equations
- Focus.instReprMark.repr Focus.Mark.unfeatured prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Focus.Mark.unfeatured")).group prec✝
- Focus.instReprMark.repr Focus.Mark.focused prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Focus.Mark.focused")).group prec✝
Instances For
Equations
- Focus.instFintypeMark = { elems := { val := ↑Focus.Mark.enumList, nodup := Focus.Mark.enumList_nodup }, complete := Focus.instFintypeMark._proof_1 }
Equations
- Focus.instLinearOrderMark = LinearOrder.lift' Focus.Mark.ctorIdx Focus.instLinearOrderMark._proof_1
Equations
- Focus.instBoundedOrderMark = { top := Focus.Mark.focused, le_top := Focus.instBoundedOrderMark._proof_1, bot := Focus.Mark.unfeatured, bot_le := Focus.instBoundedOrderMark._proof_2 }
A focused constituent is realized in its base position or fronted to the left periphery of its clause.
Instances For
Equations
- Focus.instDecidableEqStrategy x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Focus.instReprStrategy.repr Focus.Strategy.inSitu prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Focus.Strategy.inSitu")).group prec✝
- Focus.instReprStrategy.repr Focus.Strategy.exSitu prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Focus.Strategy.exSitu")).group prec✝
Instances For
Equations
- Focus.instReprStrategy = { reprPrec := Focus.instReprStrategy.repr }
Equations
- Focus.instInhabitedStrategy = { default := Focus.instInhabitedStrategy.default }
The meaning of a constituent bearing a mark. F-marking keeps the ordinary value and makes the alternatives the whole type; an unfeatured constituent keeps the alternatives of its parts.
Equations
Instances For
An F-marked constituent of a type with two values evokes two alternatives.
Narrow focus on the first argument of a predication f x y evokes f x' y for every x'.
Narrow focus on the second argument of a predication f x y evokes f x y' for every
y'.
Unless a constituent already evokes its whole type, its alternatives grow exactly along the order of the marks: the order on marks is the order of the alternatives they evoke.
On a well-formed meaning a mark is a continuation: each alternative is bound into the meaning of a terminal bearing the mark, so F-marking replaces it by the whole type.
An F-marked constituent under a continuation with well-formed values is Given only if the ordinary values of the continuation ignore it.