%% Copyright (C) 2017, 2019, 2020, 2021 Dennis J. Darland %% This file is part of darland's philosophy. %% darland's philosophy 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 3 of the License, or %% (at your option) any later version. %% darland's philosophy is distributed in the hope that it will be useful, %% but WITHOUT ANY WARRANTY; without even the implied warranty of %% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the %% GNU General Public License for more details. %% You should have received a copy of the GNU General Public License %% along with darland's philosophy. If not, see . %% Common Prolog & Life predicates to simulate Dennis J. Darlands philosophy. %% Started Writing 1/4/2017 %% This is a total rewrite of what I started about 10 years ago. %% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% we need to define existence, equality, and functions of %% contingently singular terms %% %% There are 7 relations of both each %% The 7 cases are: %% 1 words %% 2 ideas %% 3 objects %% 4 words_ideas %% 5 words_objects %% 6 ideas_objects %% 7 words_ideas_objects %% Modified to add Number to ideas %% - singular %% - or plural %% %% 1 %% NA %% 2 %% NA %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5 %% 3 %% Guarantees Object with Idea exists qqqq(exists_contingently_singular_object, Subject, Time, Object) :- qqqq(tttt2, Subject, Time, Idea, Object), qqqq(number_idea, Idea, plural). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% 4 %% NA %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% 5 %% guarantees word & object qqqq(exists_contingently_singular_word_object, Subject, Time, Word, Object) :- qqqq(rrrr, Subject, Time, Word, Idea), qqqq(number_idea, Idea, plural), qqqq(tttt2, Subject, Time, Idea, Object). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% 6 %% guarantees idea & object qqqq(exists_contingently_singular_idea_object, Subject, Time, Idea, Object) :- % List of Word Object Pairs. qqqq(tttt2, Subject, Time, Idea, Object), qqqq(number_idea, Idea, plural). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% 7 %% qqqq(exists_contingently_singular_word_idea_object, Subject, Time, Word, Idea, Object) :- % List of Word Idea_Object Triples. rrrr(Subject, Time, Word, Idea), number_idea(Idea, plural), tttt2(Subject, Time, Idea, Object). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% now equality -- only applies with object specified %% 1 %% NA %% 2 %% NA %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5 %% 3 %% Guarantees Object with Idea exists qqqq(equal_contingently_singular_objects, Subject, Time, Object1, Object2) :- qqqq(tttt2, Subject, Time, Idea1, Object1), qqqq(tttt2, Subject, Time, Idea2, Object2), qqqq(number_idea, Idea1, plural), qqqq(number_idea, Idea2, plural), Object1 :== Object2. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% 4 %% NA %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% 5 %% guarantees word & object qqqq(equal_contingently_singular_words_objects, Subject, Time, Word1, Word2, Object1, Object2) :- qqqq(rrrr, Subject, Time, Word1, Idea1), qqqq(rrrr, Subject, Time, Word2, Idea2), qqqq(number_idea, Idea1, plural), qqqq(number_idea, Idea2, plural), qqqq(tttt2, Subject, Time, Idea1, Object1), qqqq(tttt2, Subject, Time, Idea2, Object2), Object1 :== Object2. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% 6 %% guarantees idea & object qqqq(equal_contingently_singular_ideas_objects, Subject, Time, Idea1, Idea2, Object1, Object2) :- % List of Word Object Pairs. qqqq(tttt2, Subject, Time, Idea1, Object1), qqqq(tttt2, Subject, Time, Idea2, Object2), qqqq(number_idea, Idea1, plural), qqqq(number_idea, Idea2, plural), Object1 :== Object2. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% 7 %% qqqq(equal_contingently_singular_words_ideas_objects, Subject, Time, Word1, Word2, Idea1, Idea2, Object1, Object2) :- % List of Word Idea_Object Triples. qqqq(rrrr, Subject, Time, Word1, Idea1), qqqq(rrrr, Subject, Time, Word2, Idea2), qqqq(number_idea, Idea1, plural), qqqq(number_idea, Idea2, plural), qqqq(tttt2, Subject, Time, Idea1, Object1), qqqq(tttt2, Subject, Time, Idea2, Object2), Object1 :== Object2. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% now functions -- only applies with object specified %% 1 %% NA %% 2 %% NA %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5 %% 3 %% Guarantees Object exists qqqq(function_contingently_singular_object, Subject, Time, Function, Object) :- qqqq(tttt2, Subject, Time, Function_Idea, Function), qqqq(tttt2, Subject, Time, Idea, Object), qqqq(number_idea, Function_Idea, plural), qqqq(number_idea, Idea, plural), pos_qq([Function, Object]). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% 4 %% NA %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% 5 %% guarantees word & object qqqq(function_contingently_singular_word_object, Subject, Time, Function_Word, Word, Object) :- qqqq(rrrr, Subject, Time, Function_Word, Function_Idea), qqqq(rrrr, Subject, Time, Word, Idea), qqqq(number_idea, Function_Idea, plural), qqqq(number_idea, Idea, plural), qqqq(tttt2, Subject, Time, Function_Idea, Function), qqqq(tttt2, Subject, Time, Idea, Object), pos_qq([Function, Object]). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% 6 %% guarantees idea & object qqqq(function_contingently_singular_idea_object, Subject, Time, Function_Idea, Idea, Object) :- % List of Word Object Pairs. qqqq(tttt2, Subject, Time, Function_Idea, Function), qqqq(tttt2, Subject, Time, Idea, Object), qqqq(number_idea, Function_Idea, plural), qqqq(number_idea, Idea, plural), pos_qq([Function, Object]). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% 7 %% qqqq(function_contingently_singular_word_idea_object, Subject, Time, Function_Word, Word, Idea, Object) :- % List of Word Idea_Object Triples. qqqq(rrrr, Subject, Time, Function_Word, Function_Idea), qqqq(rrrr, Subject, Time, Word, Idea), qqqq(number_idea, Function_Idea, plural), qqqq(number_idea, Idea, plural), qqqq(tttt2, Subject, Time, Function_Idea, Function), qqqq(tttt2, Subject, Time, Idea, Object), pos_qq([Function, Object]).