universal_conlang.txt 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241
  1. WORK IN PROGRESS, BRAIN DUMP OF CONCEPTS
  2. ================================ NEW ATTEMPT ===================================
  3. === CONCEPT OF A UNIVERSAL CONLANG ===
  4. This is an attempt at coming up with a way of how to create a constructed
  5. language for communication of living beings that are possibly not only humans
  6. but perhaps aliens quite different from us, a language whose definition is
  7. firm and stays unchanged over ages -- something that's very hard or even
  8. seeming impossible due to fuzziness and only intutive/learned semantics of any
  9. traditional language. The most difficult question is how to define semantics
  10. of terms such as "though", "life", "to be", "to exist", "consider"... even
  11. relatively simple words like "dog" are hard to capture, defining the word by
  12. translation from another language will tie the definition to another language
  13. that's changing, using a picture is unclear -- a picture of a dog doesn't say
  14. if we mean just the specific dog in the picture, any animal similar to the one
  15. in the picture (and HOW similar?), dog as a species (what does species even
  16. mean) etc.
  17. This is more of a recorded thought process than an attempt at creating a real
  18. language, the purpose is to explore the WAY in which such a language could
  19. eventually be made.
  20. Let's divide the process in these phases:
  21. 1. FOUNDATIONS: Defining the underlying principles on which the language is
  22. built, such as the model of a world it considers etc. For now we may do this
  23. in our current language, English and math.
  24. 2. ABSTRACT LANGUAGE: Here we build a language based on the principles, i.e. we
  25. define specific words and their meanings so that they can already form
  26. structures usable for communcation. However we still do this in a way that's
  27. abstract, i.e. still using some intermeniate notation, for example English
  28. and math. After this step we will have meanings of words but not the actual
  29. words.
  30. 3. SPECIFIC LANGUAGE: Here we take the abstract definition and turn it to a
  31. concrete language, i.e. one with its own sounds (or similar physical ways of
  32. communication), possibly something like a writing system etc. Of course we
  33. may create several languages from the same abstract language if we want.
  34. 1. FOUNDATIONS:
  35. The basic idea:
  36. 1. We create a model of simple mathematical world -- here we choose a 3D grid
  37. of discrete values in which cells can talk (emit strings of language).
  38. 2. We create a function that takes a talking cell on its input and decides
  39. (returns true or false) if the language is used correctly or not. By this
  40. we separate instances of the model in which cells use the language
  41. correctly and those where they don't. By examining the function one can
  42. deduce the correct use of the language, meaning of each word in context of
  43. the mathematical world.
  44. 3. If we now find a correspondence between our abstract model and real world
  45. (e.g. cells = beings, Z-axis = time, ...), we can use the language in the
  46. real world too.
  47. For example: if a cell is emitting a sentence that's a question, the verifying
  48. function will check if at the time of this there is any living cell (what's
  49. living will be further defined in the language) nearby to hear the question,
  50. as asking a question without anyone around is incorrect use of the language.
  51. Similarly if a cell is emitting an answer, there must have been another cell
  52. emitting a question nearby in the previous moment, otherwise the language is
  53. used incorrectly. By this we can precisely convey what it means to ask and
  54. answer. And so on.
  55. The world: we consider a world to be an arbitrarily large three dimensional grid
  56. of discrete values (e.g. natural numbers, but without ordering etc.). We will
  57. see X and Y dimensions as spatial, Z as temporal. Furthermore each cell (any
  58. [X,Y,Z] coordinate) MAY (or may not) be emitting a string, meaning it is
  59. communicating.
  60. TODO
  61. 2. ABSTRACT LANGUAGE:
  62. is_correct(SENTENCE, X, Y, Z): // the main function
  63. if (not(is_individual(world[X,Y,Z]))) // non-individuals (e.g. walls) mustn't talk
  64. return false
  65. TODO
  66. is_individual(TYPE): // kind of "living being"
  67. TODO: continuously exists in time in exactly one instance, i.e. there is
  68. exactly only one instance of this cell at any time, except for before its
  69. birth and after its death, when there are zero
  70. TODO
  71. ================================ OLD ATTEMPT ===================================
  72. === CONCEPT OF A UNIVERSAL CONLANG ===
  73. This is an attempt at coming up with a way of how to create a constructed
  74. language for communication of living beings that are possibly not only humans
  75. but perhaps aliens quite different from us, a language whose definition is
  76. firm and stays unchanged over ages -- something that's very hard or even
  77. seeming impossible due to fuzziness and only intutive/learned semantics of any
  78. traditional language. The most difficult question is how to define semantics
  79. of terms such as "though", "life", "to be", "to exist", "consider"... even
  80. relatively simple words like "dog" are hard to capture, defining the word by
  81. translation from another language will tie the definition to another language
  82. that's changing, using a picture is unclear -- a picture of a dog doesn't say
  83. if we mean just the specific dog in the picture, any animal similar to the one
  84. in the picture (and HOW similar?), dog as a species (what does species even
  85. mean) etc.
  86. This is more of a recorded thought process than an attempt at creating a real
  87. language, the purpose is to explore the WAY in which such a language could
  88. eventually be made.
  89. Let's divide the process in these phases:
  90. 1. FOUNDATIONS: Defining the underlying principles on which the
  91. language is built, such as the model of a world it considers etc. For now we
  92. may do this in our current language, English and math.
  93. 2. ABSTRACT LANGUAGE: Here we build a language based on the
  94. principles, i.e. we define specific words and their meanings so that they
  95. can already form structures usable for communcation. However we still do this
  96. in a way that's abstract, i.e. still using some intermeniate notation, for
  97. example English and math. After this step we will have meanings of words but
  98. not the actual words.
  99. 3. SPECIFIC LANGUAGE: Here we take the abstract definition and
  100. turn it to a concrete language, i.e. one with its own sounds (or similar
  101. physical ways of communication), possibly something like a writing system
  102. etc. Of course we may create several languages from the same abstract language
  103. if we want.
  104. === 1: FOUNDATIONS
  105. The basic idea of how to create firmly defined semantics is this: create a
  106. formal mathematical model of a world -- in this case a very simple one -- then
  107. create a language for this world. If we then find correspondence between our
  108. physical reality and our abstract mathematical world, we can use the language
  109. we have created also for our physical reality. The aliens can do the same as
  110. long as they find correspondences between the "toy universe" and their universe.
  111. THE WORLD: for simplicity we will consider a world to be an infinite 3D grid,
  112. an infinite three dimensional "array" of natural numbers.
  113. Note: two dimensions (X and Y) will be seen as spatial and one (Z) being seen
  114. as temporal (representing time). The fact one dimension represents time is not
  115. inherently part of the world's definition, but we will later try to view the
  116. world as if it is, so we mention it here just to help us form the correspondence
  117. of the world model to our physical reality. Similarly the natural number 0 is
  118. seen as "void", "non presence". Other such concepts will emerge as we'll be
  119. defining actual patterns.
  120. PATTERN: pattern is a computable set (potentially infinite) of FINITE 3D grids
  121. of natural numbers, i.e. we may imagine it as a function that takes any
  122. subspace (MxNxO sized, if any M, N and/or O is zero, all sizes are taken to
  123. be zero) of the world and outputs TRUE or FALSE, saying whether
  124. the pattern is present or not. Initial, most essential patterns may be defined
  125. mathematically, e.g. in a programming language, further patterns should be
  126. defined by using already defined patterns so as to make the language as much
  127. as possible "self-hosted", "self-contained".
  128. PATTERN GENERATORS: can be seen as a way to automatically make new patterns from
  129. already existing patterns, e.g. a NOT operator automatically
  130. makes a negation of any pattern -- if we have pattern X, NOT(X) is exactly every
  131. pattern that is not X.
  132. === 2: ABSTRACT LANGUAGE
  133. TODO: show it's turing complete
  134. TODO:
  135. - patterns to make:
  136. - "void"/"empty": any subspace that's solely composed of 0s
  137. - "walk":
  138. - numbers: infinitely many patterns, each one representing a number and
  139. matching subspaces that contain that many non-zero cells
  140. - kind numbers: same as numbers but count how many distinct numbers there
  141. exist in the subspace
  142. - pattern operators:
  143. - "then": takes patterns X and Y, matches if the subspace can be split in
  144. the temporal dimension so that lower part matches X and upper part mathes Y
  145. pattern generators:
  146. NOT(P): matches exactly every pattern that doesn't match P
  147. AND(P1,P2): matches any pattern that simultaneously matches P1 and P2
  148. OR(P1,P2): matches any pattern that matches P1, P2 or both
  149. THEN(P1,P2): matches any pattern that can be split in the Z direction so that
  150. the bottom one (under this Z) matches P1 and the upper one matches P2
  151. REVERSE(P): matches any pattern that if flipped vertically (in Z direction)
  152. matches P
  153. ISOLATE_N1_N2_N3_...(P): matches any pattern that if all cells not being
  154. N1, N2, N3, ... are replaced with zero, matches P
  155. EACH_MOMENT(P): matches any pattern which if slices into individual Z
  156. "moments", each one matches P
  157. todo: more
  158. pattern definitions:
  159. NOTHING: matches only empty pattern (0x0x0)
  160. VOID: pattern that doesn't have cells > zero, i.e. even NOTHING
  161. MOMENT: any pattern that has Z size of 1
  162. NUMBER_0: VOID
  163. numbers: WIP, ideas:
  164. - maybe make patterns like COUNT_TYPES_N, COUNT_CELLS_N, COUNT_TIME_N etc.,
  165. matching patterns with N distinct type of cells, N cells total, N size
  166. in Z direction respectively etc.
  167. - then make general patterns NUMBER_N, each of which is OR of all the above,
  168. i.e. generalized the concept of a number to match any pattern where number
  169. N is present in any form (be it number of cells, numbers of cell types,
  170. size of the pattern itself etc.)?
  171. EMERGENCE: THEN(VOID,NOT(VOID))
  172. DISAPPEARANCE: REVERSE(EMERGENCE)
  173. MOVEMENT: todo, idea: there have to be cells moving over time, e.g. in
  174. 4 neighbourhood
  175. MOVEMENT8: todo, like MOVEMENT but with 8 neighbourhood?
  176. SLOW_MOVEMENT: todo, like movement but limit the speed
  177. STILLNESS: NOT(MOVEMENT)
  178. KILL: todo, idea: cell close to another makes another disappear
  179. GROWTH: todo, idea: cells create cells of same type in their neighbourhood
  180. REPRODUCTION: todo, idea: cell spawns a cell of the same type in its
  181. neighbourhood
  182. CHASE: todo
  183. CENTER: todo, has non-zero exactly on center cell?
  184. EAST, WEST, NORTH, SOUTH: todo, idea: match only if there is something in
  185. corresponding half of the pattern
  186. LIFE: todo, this will be hard :)
  187. potentially very hard:
  188. SADNESS, HAPPINESS, THOUGHT, LOVE, HATE etc.
  189. todo: more
  190. === 3: SPECIFIC LANGUAGE
  191. TODO