Instances For
Equations
- Semantics.Composition.Tree.canApply (σ ⇒ τ) argTy = if σ = argTy then some τ else none
- Semantics.Composition.Tree.canApply funTy argTy = none
Instances For
TN: lexical lookup.
Equations
- Semantics.Composition.Tree.interpTerminal F lex word = Option.map (fun (entry : Semantics.Montague.LexEntry F) => { ty := entry.ty, val := entry.denot }) (lex word)
Instances For
NN: identity.
Equations
- Semantics.Composition.Tree.interpNonBranching daughter = daughter
Instances For
FA: ⟦β⟧(⟦γ⟧)
Equations
- Semantics.Composition.Tree.interpFA f x = f x
Instances For
Try FA in both orders.
Equations
- One or more equations did not get rendered due to their size.
Instances For
IFA: Intensional Functional Application (@cite{von-fintel-heim-2011} Step 10).
If β expects an intension ⟨s,σ⟩ as argument and γ has type σ,
then ⟦α⟧ = ⟦β⟧(^⟦γ⟧) — we wrap γ's denotation in up (rigid intension)
before applying. This lets intensional operators (modals, attitude verbs)
take the intension of their sister as argument via type-driven composition.
Tries both orders (β,γ) and (γ,β).
Equations
- One or more equations did not get rendered due to their size.
Instances For
PM: combine two ⟨e,t⟩ predicates.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Binary node: try FA, then IFA, then PM.
Equations
- Semantics.Composition.Tree.interpBinary d1 d2 = (Semantics.Composition.Tree.tryFA d1 d2 <|> Semantics.Composition.Tree.tryIFA d1 d2 <|> Semantics.Composition.Tree.tryPM d1 d2)
Instances For
Interpret a tree under an assignment.
Implements @cite{heim-kratzer-1998} Ch. 3-5 type-driven interpretation:
- TN: terminal → lexical lookup
- NN: unary node → identity
- FA/PM: binary node → try FA then PM
- Traces/Pronouns:
⟦tₙ⟧^g = g(n) - Predicate Abstraction (PA):
⟦[n β]⟧^g = λx. ⟦β⟧^{g[n↦x]}
PA is the key to quantifier scope: after QR moves a quantifier DP to a higher position, PA abstracts over the trace it leaves behind, producing a predicate that the quantifier can take as its scope argument.
The category parameter C is ignored during interpretation — composition
is type-driven, not category-driven. This means the same function works
for Tree Cat String (UD-grounded), Tree Unit String (category-free),
or any other category system.
Equations
- One or more equations did not get rendered due to their size.
- Semantics.Composition.Tree.interp F lex g (Core.Tree.Tree.terminal a w) = Semantics.Composition.Tree.interpTerminal F lex w
- Semantics.Composition.Tree.interp F lex g (Core.Tree.Tree.node a [t]) = Option.map Semantics.Composition.Tree.interpNonBranching (Semantics.Composition.Tree.interp F lex g t)
- Semantics.Composition.Tree.interp F lex g (Core.Tree.Tree.node a a_1) = none
- Semantics.Composition.Tree.interp F lex g (Core.Tree.Tree.trace n a) = some { ty := Core.Logic.Intensional.Ty.e, val := g n }
Instances For
Extract truth value from tree interpretation.
Equations
- Semantics.Composition.Tree.evalTree lex g t = match Semantics.Composition.Tree.interp F lex g t with | some { ty := Core.Logic.Intensional.Ty.t, val := b } => some (decide b) | x => none
Instances For
Extract proposition (s→t) from tree interpretation.
For intensional trees where the root denotes a proposition rather than a bare truth value — e.g., trees containing EXH or other propositional operators. Evaluate the result at a specific world to get a truth value.
Equations
- One or more equations did not get rendered due to their size.