%% Copyright (C) 2017, 2019, 2020, 2021, 2022 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 . %% 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. %% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% First some illustrations of WildLIFE % "%" starts comments - rest of line %% Note Variables start with uppercase letters, constants with lower case. %% There are also integers. %% predicate1(Arg1, Arg2, Arg3) :- predicate2(Arg1, Arg2), %% predicate3(Arg1, Arg3).' %% means if predicate2(Arg1, Arg2) and predicate3(Arg1, Arg3) %% then predicate1(Arg1, Arg2, Arg3). %% ":-" means "if" %% "," separates Arguments in predicates and means "and" between clauses. %% %% Two rules can be used for "or" %% if we add %% predicate1(Arg1, Arg2, Arg3) :- predicate4(Arg1, Arg2), %% predicate5(Arg1, Arg3). %% then we have: %% if (predicate3(Arg1, Arg2) and predicate3(Arg1, Arg3)) %% or (predicate4(Arg1, Arg2) and predicate5(Arg1, Arg3)) %% then predicate1(Arg1, Arg2, Arg3). %% "\+" is negation by "failure" %% (if it cannot prove that something is true is says that it is false) %% I also use qqqq4 to state positive facts in the database. %% and qqqq5 to state negative facts in the database. %% End of WildLIFE Illustrations %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% I have made the propositional attitude relatons support arbitrary arity. %% %% %% some universals are rrrr, ssss, tttt, rrss, and rrtt. %% rrss is defined in terms of rrrr and ssss. %% rrtt is defined in terms of rrrr and tttt. %% rrrr and ssss are undefined here %% - but not necessarily ontologically primitive %% rrrr is relation between word and idea. %% ssss is relation between idea and one object. %% tttt is relation between idea and one or more objects. %% rrss is relative product of rrrr and ssss. %% rrtt is relative product of rrrr and tttt. %% definition of rrss in terms of rrrr and ssss. rrss(Subject, Time, Word, Object) :- rrrr(Subject, Time, Word, Idea), ssss2(Subject, Time, Idea, Object). %% ssss2 is used to ensure uniquness - defined further on. %% theoretically unnecessary. A check on database of facts. %% definition of rrtt in terms of rrrr and tttt. rrtt(Subject, Time, Word, Object) :- rrrr(Subject, Time, Word, Idea), tttt(Subject, Time, Idea, Object). %% Although I believe that there is not "really" %% any relation of cause and effect. %% I believe at least most causal relations are described %% by differential equations. %% It is often helpful to simplify some more complex %% relations to "cause" and "effect". %% I am going to start with simple cases - and then generalize. %% Certain sounds and visual impressions have the effects of words %% on a human observer knowing a language. %% Also a human, knowing a language, can produce those sounds or visual %% impressions in others. %% Likewise non-verbal events or objects can have effects on a human observer, %% who knowing a language, may be stimulated to produce such words of %% a language. %% Thus, for a given language, there is a relation of words and objects for %% a given person. %% This is mostly learned. In a different language there will be a different %% relation between words and objects (or relations). I am considering %% a simplified language - like predicate logic. %% For a given language people generally agree on the relation of words and %% objects (or relations). %% For different languages this agreement does not hold. %% Also, something happens in the person. The words do not have such %% effects on other inanimate (or even other living creatures). Something %% more happens in people using language. %% I hypothesize that there are what I call "ideas" that the people have. %% I do not analyze ideas here. %% Wittgensten ojected that ideas did not play this role, because two %% people need not have the same ideas for the same words. %% But if rrrr(Subject, Time, Word, Idea) is the relation between Word and Idea %% for a person: Subject %% at time: Time %% %% And if ssss(Subject, Time, Idea, Object) is the relation %% between Idea and Object %% for a person: Subject %% at time: Time %% %% Then %% If rrrr(Subject2, Time2, Word, Idea2) is the relation between Word and Idea2 %% for a person: Subject2 %% at time: Time2 %% %% And if ssss(Subject2, Time2, Idea2, Object) is the relation %% between Idea2 and Object %% for a person: Subject2 %% at time: Time2 %% %% Then rrss(Subject, Time, Word, Object) (relative product of rrrr and ssss %% as defined below) %% and %% rrss(Subject2, Time2, Word, Object) %% Even though Idea and Idea2 are different. %% but if a Subject3 speaks a different language, the rrrr will be different %% so rrrr, and rrss will not hold. %% there is also tttt for plural objects. %% also there are ssss2 and tttt2 %% ssss2 and tttt2 check for uniqueness - if the database is correct %% ssss2 should not be needed. ssss2(Subject, Time, Idea, Object) :- ssss(Subject, Time, Idea, Object), \+ non_unique(Subject, Time, Idea, Object). non_unique(Subject, Time, Idea, Object1) :- ssss(Subject, Time, Idea, Object2), Object1 :\== Object2. %% :\== means not equal %% tttt2 also requires uniqueness %% this uniqueness is for contingently singular ideas tttt2(Subject, Time, Idea, Object) :- tttt(Subject, Time, Idea, Object), \+ non_unique_t(Subject, Time, Idea, Object). non_unique_t(Subject, Time, Idea, Object1) :- tttt(Subject, Time, Idea, Object2), Object1 :\== Object2. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% My view of meaning is mostly influenced by the later Wittgenstein. %% Although my rrss and rrtt relations for a particular person %% at a particular time, is, at least, very close to a disposition, %% for my philosophy the meaning of a word in a language is set by %% the society of language users. Wittgenstein's objection was that %% if meaning were considered a disposition, then a person could not %% make a mistake. They always do what they are disposed to do. %% For my philosophy, the meaning is something like a consensus of %% the rrss or rrtt relations for a linguistic group. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% There are 7 relations of understanding. %% Those of understanding are defined in terms of rrrr and ssss %% The 7 cases are: %% 1 words %% 2 ideas %% 3 objects %% 4 words_ideas %% 5 words_objects %% 6 ideas_objects %% 7 words_ideas_objects %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% understands_words is defined. %% It applies to an intelligent Subject at some Time. %% There is a list of words. %% The arity_idea must match the number of words following the relation word. %% (Or an arity_relation of -999 matches any number of words.) %% The type ideas corresponding to the words must be one less thasn the type %% idea corresponding to the relation idea. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% ONE EXAMPLE EXPLAINED CAREFULLY - I HOPE!! %% 1 %% I am going to comment on one sample carefully and thoroughly I hope. %% I hope any reader can learn enough to apply principles in other cases. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Begining Of Philosophy Sample %% match_word below is recursive. Each call removes a Word. %% It also subtracts one from the Arity of the Relation_Idea. %% The list is finite in WildLIFE, so eventually there will be %% an empty list and the Arity can be checked. (or be -999) %% It also checks if the Ideas are one less in type than the Relation Idea. %% rrrr sees if the Subject has that relation between the Word and the Idea. understands_words(Subject, Time, [[Relation_Word] | List]) :- %% Get Relation_Idea that matches other arguments. rrrr(Subject, Time, Relation_Word, Relation_Idea), %% Get Arity of Relation_Idea arity_idea(Relation_Idea, Arity), %% Get Type of Relation_Idea type_idea(Relation_Idea, Type), % List of Words. % Object Ideas should be Type one less than Type of Relation Idea match_word(Subject, Time, List, Arity, Type - 1). %% The following are auxilary predicates - they have no ontological %% Significance. %% Match Empty List - Recursion Ends And Arity has counted down to 0. match_word(Subject, Time, [], 0, Type). %% Match Empty List - -999 indicates arbitrary arity. match_word(Subject, Time, [], -999, Type). %% Tackle Words Recursively one at a Time. match_word(Subject, Time, [[Word] | List], Arity, Type) :- % List of Word Object Pairs. %% Get Idea that Matches Word rrrr(Subject, Time, Word, Idea), %% Get Type of Idea type_idea(Idea, Type), %% Recurse - with remaider of List and subtract one from Arity unless -999 match_word(Subject, Time, List, % if Arity is not Arbitrary sub 1 cond(Arity =\= -999, Arity - 1, -999), %% =\= is not equals Type). %% cond returns the 2nd argument if true otherwise 3rd %% Russell considered a view like this in CPBR Volume 5, %% on pages 185-186. But did not adopt it. (His representation was different.) %% As I am using quantification and negation as provided in WildLIFE, %% I do not analyze them here. %% I think, perhaps quantification and variables would best be handled %% as Quine did in "Variables Explained Away", Proceedings of the American %% Philosophical Society 104: 343-347. %% Gregory Landini uses that in his _Repairing Bertrand Russell's 1913 Theory %% of Knowledge_. %% I find Landini's book difficult in other respects, and have not finished %% it - (As of 8/26/2022). %% I use qqqq4 for positive [base] facts. %% I use qqqq5 for negative [base] facts. %% This is for convenience. %% These are to deal with negation by failure, and are otherwise convenient. %% That is, to provide a way for negative facts other than failure. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Define sense (related to Frege's Sinn) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% idea_sense_of_relation(Relation) :- ssss(Subject, Time, Idea, Relation). idea_sense_of_object(Object) :- ssss(Subject, Time, Idea, Object). word_sense_of_relation_word(Relation) :- rrss(Subject, Time, Word, Relation). word_sense_of_object_word(Object) :- rrss(Subject, Time, Word, Object). %% I'm thinking about senses of propositions. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% conventions. %% tom, quine, cicero etc stand for people (instances of Subjects or Objects.) %% There could also be non-animate objects such as a table. %% there (some would argue) might also be non-human Subjects - such as a dog. %% tom might have an idea of cicero. This would be represented tom_cicero_idea. %% The 1st tom indicates that it is tom's idea. cicero indicates that it is an %% idea of cicero. The final idea indicates that it is an idea. %% tom might have an word in a shared language for cicero. This is indicated by %% cicero_word. %% quine might also an idea quine_cicero_idea of cicero. (note his idea is %% different). quine might share, however the word cicero_word with tom. %% words are related to ideas. %% The words being shared through learning. %% relates words to ideas. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% I'm going to give one example of each relation. %% These are mostly taken as primitive here, %% though not necessarily ontologically. %% Any, they can be extended with rules in WildLIFE. %% rrrr(Subject, Time, A_word, A_idea) rrrr( tom, now, russell_word, tom_russell_idea). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% ssss(Subject, Time, A_idea, A_object) %% %% there are two ideas for the same person - cicero (tully) %% but prolog & wild life cannot let two atoms be identical %% so the object must be the same for both (cicero) %% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ssss(tom, now, tom_russell_idea, russell). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% tttt is for ideas thay might apply to several objects. tttt( tom, now, tom_flipper_class_idea, flipper). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% There are several understands relations symbols defined in terms of the %% words and ideas. %% This solve a problem that some philosophers have if a sentence was never %% uttered. I only require that there was an relation_idea and %% ideas of objects. They never even need to be related or believed. %% Only ideas have arities, types, and number. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% arity_idea(tom_denounced_idea, 2). arity_idea(tom_roman_idea, 1). type_idea(tom_mortal_idea, 2). type_idea(tom_american_idea, 1). number_idea(tom_cicero_idea, singular). number_idea(tom_dolphin_class_idea, plural). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %% believes_in_ideas is a primitive belief relation %% There are 6 other belief relations defined using it %% and the other relations above. %% 1 words %% [2 ideas = believes_in_ideas] %% 3 objects %% 4 words_ideas %% 5 words_objects %% 6 ideas_objects %% 7 words_ideas_objects %% there is also disbelieves_in_ideas %% there could also be relations such as doubt and desire. %% there would be one in terms of ideas in which the others %% would be defined. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% believes_in_ideas(tom, now, [tom_denounced_idea, tom_cicero_idea, tom_catiline_idea]). believes_in_ideas(tom, now, [tom_roman_idea, tom_catiline_idea]). disbelieves_in_ideas(tom, now, [tom_denounced_idea, tom_tully_idea, tom_catiline_idea]). disbelieves_in_ideas(tom, now, [tom_denounced_idea, tom_russell_idea, tom_catiline_idea]). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% A fact -- indicated by qqqq4 %% Negative facts -- indicated by qqqq5 %% These are used to determine the truth of beliefs or disbeliefs. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% qqqq4([denounced, cicero, catiline]). qqqq4([roman, cicero]). qqqq5([denounced, russell, catiline]). qqqq5([american, russell]).