Unary decomposition for H&K's Non-Branching Nodes rule.
- getUnaryChild : S → Option S
Get single child if this is a unary node
Instances
Access to semantic types, parameterized over the type system T.
- getType : S → Option T
Get the semantic type of this node
Instances
class
Semantics.Montague.Composition.SemanticStructure
(S T : Type)
extends Semantics.Montague.Composition.HasTerminals S, Semantics.Montague.Composition.HasBinaryComposition S, Semantics.Montague.Composition.HasUnaryProjection S, Semantics.Montague.Composition.HasBinding S, Semantics.Montague.Composition.HasSemanticType S T :
Full semantic structure for H&K-style interpretation.
- getTerminal : S → Option String
- getBinaryChildren : S → Option (S × S)
- getUnaryChild : S → Option S
Instances
def
Semantics.Montague.Composition.interpTerminal
(m : Model)
(lex : Lexicon m)
(word : String)
:
Option (TypedDenot m)
TN: lexical lookup.
Equations
- Semantics.Montague.Composition.interpTerminal m lex word = Option.map (fun (entry : Semantics.Montague.LexEntry m) => { ty := entry.ty, val := entry.denot }) (lex word)
Instances For
NN: identity.
Equations
- Semantics.Montague.Composition.interpNonBranching daughter = daughter
Instances For
Try FA in both orders.
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
def
Semantics.Montague.Composition.interpBinary
{m : Model}
(d1 d2 : TypedDenot m)
:
Option (TypedDenot m)
Binary node: try FA, then PM.
Equations
Instances For
def
Semantics.Montague.Composition.interpret
{S : Type}
[HasTerminals S]
[HasBinaryComposition S]
[HasUnaryProjection S]
(m : Model)
(lex : Lexicon m)
(interp : S → Option (TypedDenot m))
(s : S)
:
Option (TypedDenot m)
Generic recursive interpretation for any syntax via SemanticStructure.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- Semantics.Montague.Composition.instHasBindingSynTree = { getBinder := fun (x : Semantics.Montague.Composition.SynTree) => none }
Equations
- Semantics.Montague.Composition.instHasSemanticTypeSynTreeTy = { getType := fun (x : Semantics.Montague.Composition.SynTree) => none }
Equations
- One or more equations did not get rendered due to their size.
def
Semantics.Montague.Composition.interpTree
(m : Model)
(lex : Lexicon m)
:
SynTree → Option (TypedDenot m)
Equations
- One or more equations did not get rendered due to their size.
- Semantics.Montague.Composition.interpTree m lex (Semantics.Montague.Composition.SynTree.terminal a) = Semantics.Montague.Composition.interpTerminal m lex a
- Semantics.Montague.Composition.interpTree m lex a.unary = Option.map Semantics.Montague.Composition.interpNonBranching (Semantics.Montague.Composition.interpTree m lex a)
Instances For
def
Semantics.Montague.Composition.isInterpretableWith
{S : Type}
{m : Model}
(interp : S → Option (TypedDenot m))
(s : S)
:
Equations
- Semantics.Montague.Composition.isInterpretableWith interp s = (interp s).isSome
Instances For
def
Semantics.Montague.Composition.satisfiesInterpretabilityWith
{S : Type}
{m : Model}
(interp : S → Option (TypedDenot m))
(s : S)
:
Equations
Instances For
Equations
Instances For
def
Semantics.Montague.Composition.satisfiesInterpretability
(m : Model)
(lex : Lexicon m)
(t : SynTree)
: