Inheritance Networks #
Hudson's Word Grammar organizes all linguistic knowledge as networks of nodes connected by labeled directed links. @cite{hudson-2010}
Properties in WG are not key-value pairs attached to nodes — they ARE links
between nodes. "Bird has wing" is a link labeled front-limb from bird to
wing. IsA links form a taxonomy; properties flow down the taxonomy by default
inheritance. The Best Fit Principle (§3.5) resolves conflicts: the most
specific value (nearest ancestor in the isA chain) wins.
Hudson's five primitive relations (§3.2.5) #
- isA — taxonomic classification (bird isA animal)
- or — mutual exclusivity / choice sets (male or female)
- prop — named property/relation links (bird --front-limb--> wing)
(Hudson also lists argument and value as primitives for defining relational
concepts; these are modeled here as prop links with appropriate labels.)
Key definitions #
LinkKind— isA, or, prop (the three distinguished link types)Link— a labeled directed edge in the networkNetwork— a set of labeled directed links between nodesparents,ancestors,isA— taxonomy traversalchoiceSet— OR alternatives (mutually exclusive values)localProps,inherited— property lookup with Best Fit default inheritancePrototype— graded category membership (typicality rankings)
Distinguished link types in a WG network. @cite{hudson-2010} §3.2. IsA and or are separated from general property links because the inheritance algorithm must traverse isA links and choice-set resolution uses or links.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Equations
- Core.Inheritance.instBEqLinkKind.beq x✝ y✝ = (x✝.ctorIdx == y✝.ctorIdx)
Instances For
Equations
Equations
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
A WG inheritance network: nodes connected by labeled directed links.
Parameterized over node type α and relation-label type R.
Instances For
Direct isA parents of a node.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Ancestors: transitive closure of parents, with fuel for termination.
Equations
- One or more equations did not get rendered due to their size.
- Core.Inheritance.ancestors net node 0 = []
Instances For
Reflexive-transitive isA: does a inherit from b?
Equations
- Core.Inheritance.isA net a b fuel = (a == b || List.elem b (Core.Inheritance.ancestors net a fuel))
Instances For
OR-alternatives of a node (§3.3): mutually exclusive choices.
E.g., choiceSet net gender returns [male, female] if the network contains
male --or--> gender and female --or--> gender.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Local property values: targets of .prop links from node with label r.
A node may have multiple values for the same relation (e.g., a bird has two wings).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Inherited property values for relation r, resolved by the Best Fit Principle
(§3.5): the most specific (nearest ancestor in the isA chain) wins. Breadth-first
walk up the taxonomy; returns the first non-empty result found.
Equations
- One or more equations did not get rendered due to their size.
- Core.Inheritance.inherited net node r 0 = match Core.Inheritance.localProps net node r with | [] => [] | vs => vs
Instances For
Every node isA itself.
If a node has local properties for r, inherited returns them directly
(the Best Fit Principle: local overrides inherited).
A prototype: a category with graded typicality over instances. Higher values = more prototypical. @cite{hudson-2010} Ch 2: categories have graded membership; the prototype is the best exemplar.
- category : α
- typicality : α → Nat
Instances For
Whether a is at least as typical as b in a prototype.
Equations
- proto.atLeastAsTypical a b = decide (proto.typicality a ≥ proto.typicality b)
Instances For
Whether a is strictly more typical than b in a prototype.
Equations
- proto.moreTypical a b = decide (proto.typicality a > proto.typicality b)
Instances For
atLeastAsTypical is reflexive.
atLeastAsTypical is transitive.