/* Copyright (C) Wolfgang Menzel, Universität Hamburg, 2003-06-27 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. */ %%% a simple constraint system for english sentences %%% of the type "this man is happy" % the dictionary category(the,det). category(this,det). category(these,det). category(a,det). category(some,det). category(man,n). category(men,n). category(woman,n). category(women,n). category(fish,n). category(is,aux). category(are,aux). category(cool,adj). category(great,adj). category(happy,adj). features(the,[sg]). features(the,[pl]). features(this,[sg]). features(these,[pl]). features(a,[sg]). features(some,[pl]). features(man,[sg]). features(men,[pl]). features(woman,[sg]). features(women,[pl]). features(fish,[sg]). features(fish,[pl]). features(is,[sg]). features(are,[pl]). features(cool,[]). features(great,[]). features(happy,[]). featurepos(number,1). % the variables vars([det,noun,verb,adv]). % constraints :- op(890,xfx,'==>'). :- op(889,xfx,'#'). true ==> cat(det,det). true ==> cat(noun,n). true ==> cat(verb,aux). true ==> cat(adv,adj). true ==> lp(det,noun). true ==> lp(noun,verb). true ==> lp(verb,adv). true ==> agree(det,noun,number). true ==> agree(noun,verb,number).