Skip to content

Commit

Permalink
Add animacy presuppositions
Browse files Browse the repository at this point in the history
  • Loading branch information
robintown committed Aug 8, 2023
1 parent 9eb63f9 commit a667e36
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 6 deletions.
27 changes: 21 additions & 6 deletions src/semantics/denote.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,26 @@ import {
λ,
cloneBindings,
Binding,
animate,
inanimate,
abstract,
} from './model';
import { mapBindings, reduce, rewriteContext } from './operations';

// 𝘢
const individual = v(0, ['e']);
const hoa = v(0, ['e']);

// 𝘢 | animate(𝘢)
const ho = presuppose(v(0, ['e']), app(animate(['e']), v(0, ['e'])));

// 𝘢 | inanimate(𝘢)
const maq = presuppose(v(0, ['e']), app(inanimate(['e']), v(0, ['e'])));

// 𝘢 | abstract(𝘢)
const hoq = presuppose(v(0, ['e']), app(abstract(['e']), v(0, ['e'])));

// 𝘢
const ta = hoa;

// λ𝘗. λ𝘵. λ𝘸. ∃𝘦. (τ(𝘦) ⊆ 𝘵) ∧ 𝘗(𝘦)(𝘸)
const tam = λ(['v', ['s', 't']], [], c =>
Expand Down Expand Up @@ -350,34 +365,34 @@ function denoteLeaf(leaf: Leaf): DTree {
denotation = ama([]);
break;
case 'hóa':
denotation = individual;
denotation = hoa;
break;
case 'hó':
denotation = individual;
denotation = ho;
bindings = {
variable: {},
animacy: { animate: { index: 0, subordinate: false } },
head: {},
};
break;
case 'máq':
denotation = individual;
denotation = maq;
bindings = {
variable: {},
animacy: { inanimate: { index: 0, subordinate: false } },
head: {},
};
break;
case 'hóq':
denotation = individual;
denotation = hoq;
bindings = {
variable: {},
animacy: { abstract: { index: 0, subordinate: false } },
head: {},
};
break;
case 'tá':
denotation = individual;
denotation = ta;
bindings = {
variable: {},
animacy: { descriptive: { index: 0, subordinate: false } },
Expand Down
19 changes: 19 additions & 0 deletions src/semantics/model.ts
Original file line number Diff line number Diff line change
Expand Up @@ -521,6 +521,25 @@ export function ao(context: ExprType[]): Expr {
return accessibility('ao', context);
}

function animacy(
name: (Expr & { head: 'constant'; type: ['e', 't'] })['name'],
context: ExprType[],
): Expr {
return constant(name, ['e', 't'], context);
}

export function animate(context: ExprType[]): Expr {
return animacy('animate', context);
}

export function inanimate(context: ExprType[]): Expr {
return animacy('inanimate', context);
}

export function abstract(context: ExprType[]): Expr {
return animacy('abstract', context);
}

export function realWorld(context: ExprType[]): Expr {
return constant('real_world', 's', context);
}
Expand Down

0 comments on commit a667e36

Please sign in to comment.