abstract Pre = { cat S; N; Det; fun ant, dog: N ; a, the: Det ; mkS : Det -> N -> S; }