LaThink Latin Thinking Module of the

Mens Latina Artificial Intelligence in Ancient Latin


1. Cognitive architecture Diagram of the LaThink Latin-Thinking Module


   /^^^^^^^^\   LaThink Is For Thinking In Latin   /^^^^^^^^^\
  /   EYE    \              ____________          /   EAR     \
 /            \            /            \        /             \
|              |   | |    (  MainLoop    )      |mindboot words |
|   _______    |   | |     \____________/       |in the auditory|
|  /image  \   |   | |       |      \           |memory channel |
| / percept \--|-----+    ___V___    \________  | - - - - - - - |
| \ engram  /  |  a|c|f  /       \   /        \ |old Latin words|
|  \_______/   |  b|o|i (Sensorium) ( Volition )|used in thought|
|              |  s|n|b  \_______/   \________/ |and Latin words|
|   visual     |  t|c|e   _______    /          |newly learned  |
|              |  r|e|r  /       \  /  ______   |               |
|   memory     |  a|p|s / LaThink \/  /      \  |               |
|              |  c|t|  \_________/  / LaNoun-\ |               |
|   channel    |  t| |      |        \ Phrase /-|-(ego)         |
|              |   | |   ___V______  /\______/  |               |
|              |   | |  /          \/           |               |
|              |   | | ( Indicative )           |               |
|              |   | |  \__________/\  ______   |               |
|              |   | |               \/      \  |               |
|              |   | |               / LaVerb-\ |               |
|              |   | |               \ Phrase /-|--COGITO       |
|    ______    |   | |      _______   \______/  |               |
|   /      \   |   | |     /       \            |               |
|  / reentry\  |   | |    ( ConJoin )-----------|--ERGO         |
| /  of      \ |   |_|__   \_______/            |               |
| \remembered/ |  /     \                       | (ego)         |
|  \ image  /--|--\ Psy /                       |               |
|   \______/   |   \___/                        |  SUM          |



2. Purpose of the AI4U Textbook LaThink Latin Thinking Module

The LaThink Latin-thinking module, like the EnThink English-thinking module and the RuThink Russian-thinking module, carries out the wish of the Volition module to engage in thinking with natural language. An AI Mind taking advantage of Unicode mutatis mutandis may be built to think in any human language, and the Mens Latina User Manual may be adapted and modified as the user manual for any number of AI Minds.


3. Algorithm of the AI4U Textbook LaThink Latin Thinking Module

LaThink calls the various subordinate thinking modules such as Imperative for issuing a command or Indicative for making a statement or InFerence for automated reasoning with logical inference. Teaching this algorithm may be part of a Classics Course in Latin AI.


4. Code of LaThink() from Abra035A Mens Latina in JavaScript for MSIE


function LaThink() {  // cf. http://ai.neocities.org/EnThink.html
  catsubj = 0;  // 2019-02-12: reset for safety;
  catverb = 0;  // 2019-02-12: reset for safety.
  kbdba=0;kbnum=0;kbmfn=0; // 2019-05-14: must be reset after EACH SVO input.
  prep = 0; // 2019-04-26: in case "prep" was set by LaParser()
  QED1 = 0; // 2019-05-15: reset to prevent carry-over. 
  QED2 = 0; // 2019-05-15: reset to prevent carry-over.
  QED3 = 0; // 2019-05-15: reset to prevent carry-over.
  QED4 = 0; // 2019-05-15: reset to prevent carry-over.
  seq = 0;  // 2019-05-14: prevent carry-over into LaParser()
  tdo = 0;  // 2018-07-12: reset time-of-direct-object for safety. 
  tkb = 0;  // 2018-07-12: reset for safety. 
  tsj = 0;  // 2019-04-26: reset outside of input modules to prevent carry-over. 
  ux1=0;ux2=0;ux3=0;ux4=0;ux5=0; // 2019-05-12: must be reset after EACH SVO input.
  uy1=0;uy2=0;uy3=0;uy4=0;uy5=0; // 2019-05-12: must be reset after EACH SVO input.
  uz1=0;uz2=0;uz3=0;uz4=0;uz5=0; // 2019-05-12: must be reset after EACH SVO input.
  inert = (inert + 1);  // 2018-01-20: but AudListen() resets to zero;
  lurk = (lurk + 1);    // 2018-01-20: AudListen() resets to zero; 
  if (isolation > 60) {  // 2018-11-14: if no input for arbitrary duration...
    Imperative();  // 2018-09-21: Issue a request for input from a human user.
    impetus = 0;   // 2018-09-21: reset the trigger for calling Imperative().
    isolation = 0; // 2018-10-03: reset the trigger for calling Imperative().
    return;  // 2019-04-28: abandon LaThink(); give human user a chance to respond. 
  }  // 2018-09-21: end of test for trigger to call Imperative()
  if (qucon==1 || whatcon==1 || wherecon==1) SpreadAct();  // 2018-10-28: 
  apb = "LaThink() at time = "+t+"; rejuvenations = "+rjc+"; since dob "+dob; // 2019-04-28:
  Voice();  // 2018-01-20: speak the all-points-bulletin "apb"; 
  if (kbcon > 0) {  // 2018-01-28: if user answers yes-or-no question; 
    KbRetro();  // 2018-01-28: retroactively adjust knowledge base; 
    kbcon = 0;  // 2018-01-28: reset for safety; 
    kbzap = 0;  // 2018-01-28: reset for safety. 
  }  // 2018-01-28: User has had one chance to answer yes-or-no question.
  inft = t;  // 2018-01-25: in case inference-time not otherwise set; 
  if (becon == 1) {  // 2018-01-25: if user input includes 800=BE-verb...
    InFerence(); // 2018-01-25: make a silent inference; 
  }  // 2018-01-25: end of test for incoming be-verb.
  if (yncon == 1) {  // 2018-01-25: set in the InFerence() module
    tdo = 0;  // 2018-07-12: prevent carry-over. 
    AskUser();  // 2018-01-25: for yes-or-no query; 
    return;  // 2019-04-28: abandon the rest of LaThink()
  }  // 2018-01-25: end of test to trigger asking a question.
  abort = false;  // 2018-01-20: 
  document.all.cosmos.innerHTML = ""; // 2018-01-04: blank out lower screen.
  if (nucon > 0) {  // 2018-01-23: if a new noun is encounter in NewConcept()
    SpreadAct();  // 2018-01-23: to activate concepts for a question. 
    nucon = 0;    // 2018-01-23: reset for safety.
    pov = 2;      // 2018-01-23: give human user a "pause" for input...
    return;  // 2018-01-23: after question abandon rest of function.
  }  // 2018-01-23: end of test for the condition of input of a new concept.

  if (quiet == true || quiet == false) {  // 2018-06-11: temporary laissez-faire...
    pov = "1";  // 2018-01-20: internal point-of-view for thinking. 
    output = "";  // blank out the output of the previous thought;
    outputplus = "";  // blank out the display of the previous thought.
    t = (t + 1);  // 2018-10-14: skip one time-point before edge="{"
    audMemory[t].audExam();  // 2018-10-12: ReJuvenate test;
    audMemory[t] = new audNode("{",aud1,aud2); // 2018-10-12
    Indicative();  // 2018-01-20: think in the indicative mood. 
  } // 2018-01-20: // 2018-01-20: end of test for absence of user input.

  if (tcj > 0) {  // 2019-07-28: if flag-panel includes a positive tag...
//  alert("LaThink: tcj= "+tcj);  // 2019-07-28: TEST; REMOVE
    ConJoin();  // 2019-07-28: insert a conjunction;
    tcj = 0;  // 2019-07-28: reset for safety.
    Indicative();  // 2019-07-28: think in the indicative mood.
    return;   // 2019-07-28: abandon LaThink() to avoid calling Indicative() again.
  } // 2019-07-28: end of test for a positive time-of-conjunction "tcj".

  if (etc > 1) {  // 2019-02-18: if multiple thoughts are active...
    ConJoin();  // 2019-02-12: insert a conjunction;
    Indicative();  // 2019-02-12: think in the indicative mood.
  }  // 2019-02-12: join multiple thoughts together.
  if (rsvp > -1) {  // 2018-05-20: and if there is no input...
    rsvp = (rsvp - 100);  // 2018-05-20: decrement rsvp-wait in absence of input 
    if (rsvp < 0) rsvp = 0;  // 2018-05-20: disallow negative "rsvp".
  }  // 2018-05-20: end of test for lack of input as reason to speed up thinking. 
  for (i = 1; i<(rsvp+100); i++) {  // 2018-05-20: delay for user to respond to output
   if (i > 1) { apb = "Rejuvenationes = "+rjc+ "; tempus = "+t+"; isolatio = "+isolation; Voice() }
   document.all.mouth.innerHTML = outputplus;  // 2018-12-09: show output while waiting...
  }  // 2018-05-20: end of delay to give time for user input. 

  conj = 0;  // 2018-06-03: prevent carry-over. 
  etc = 0;   // 2019-02-18: reset the flag that triggers a conjunction.
  quiet = true;  // 2018-06-11: after AI responds to input, things quiet down.
  subjnom = 0;  // 2018-06-11: prevent carry-over. 
  tdo = 0; // 2019-05-05: prevent caerry-over within Latin LaParser()
  tsj = 0; // 2019-05-05: prevent caerry-over within Latin LaParser()
  tio = 0; // 2019-05-05: prevent caerry-over within Latin LaParser()
  tvb = 0; // 2019-05-05: prevent caerry-over within Latin LaParser()
} // 2019-04-19: LaThink() returns to the FreeWill Volition() module.  


5. Variables for the LaThink Latin Thinking Module

  • abort -- for orchestration of sentence-generation.

  • apb -- variable to hold a message.

  • becon -- be-conditional -- carries a flag from the OldConcept() recognition module indicating that new input includes a verb of being which may permit the InFerence() module to make a general inference about the subject of the input so that the InFerence() module can look for prior knowledge as the basis of an inference.

  • catsubj -- conCATenated (chained) SUBJect flag for syncopating sentences.

  • catverb -- conCATenated (chained) verb flag for syncopating sentences.

  • conj -- a dual-purpose variable serving both as an identifier of which particular conjunction is under consideration for use by the ConJoin module, and a control-flag for the decision of whether to call the Indicative module more than once.

  • dunnocon -- is a flag used in SpreadAct() to permit an AI Mind to respond to a who+verb+object query with "I DO NOT KNOW" if no correct answer is found.

  • etc -- from the abbreviation "etc." from the Latin phrase et cetera, meaning "and other things" -- a counting variable that is incremented in the EnNounPhrase() module when more than one fetchable idea is active in conceptual memory. The $etc count is used in the EnThink() module as a trigger for calling the ConJoin() module to insert a conjunction like "and" between two ideas in the generation of a sentence of thought.

  • gapcon -- status-con flag for AudInput() to count down gaps of no input, so that internal thinking may accelerate during periods of no input from external sources.

  • ictus -- testable activation-level to trigger use of a conjunction by the ConJoin() module in expressing a compound thought composed of two or more strongly activated ideas, each generated by a single calling of the Indicative() module.

  • impetus -- a level of curiosity and a trigger.

  • inert -- for quick asking of a cogpsi question.

  • inft -- inference-time for AskUser;.

  • isolation -- counter of thought-cycles spent in "isolation" with no human input, as an arbitrary trigger for output by the AI Mind, or as a threshold for the AI to take certain actions if input suddenly appears.

  • kbcon -- knowledge-base-condition flag for KbRetro to wait for a yes-or-no answer.

  • kbdba (knowledge-base doing-business-as) -- for fetching flag-panel function-value from a recognized word.

  • kbmfn (knowledge-base masculine-feminine-neuter) -- for fetching flag-panel gender value from a recognized word.

  • kbnum (knowledge-base number) -- for fetching flag-panel number value from a recognized word.

  • kbzap -- ZAP the knowledge base -- is a variable that holds the oldpsi word "YES" or "NO" when the InFerence() module has caused the AskUser() module to seek confirmation or denial of a silent inference from a human user engaged in a conceptual conversation with the AI Mind. KbRetro() uses the YES-value kbzap to confirm an inference, or the NO-value of kbzap to negate an inference.

  • lurk -- counter to activate initial thinking.

  • nucon -- new-condition – segregates SpreadAct() code to respond to the input of an unknown word by asking the user a question about the new concept being learned by the AI Mind.

  • output -- output string as in JavaScript FirstWorkingAGI.html

  • pov -- point-of-view: 1=self; 2=dual; 3=alien. When pov=1, the word "you" is somebody in the external word. When pov=2, the word "you" refers to the self-concept "I" in the AI. When pov=3, the word "you" is interpreted as part of a conversation by a third-party or as a word in a text, not referring to the self-concept of either the AI or of someone talking to the AI.

  • prep -- preposition identifier for LaPrep().

  • QED1 -- subject -- item #1 for retroactive tagging.

  • QED2 -- verb -- item #2 for retroactive tagging.

  • QED3 -- indir. obj. -- item #3 for retroactive tagging.

  • QED4 -- dir. obj. -- item #4 for retroactive tagging.

  • qucon -- query-condition – segregates SpreadAct() code to respond to the input of who-queries.

  • quiet -- a status variable set briefly to false upon user-input, so that the AI may output one thought responding to input and not following an internal chain of thought as conducted by the SpreadAct() module. As long as user input continues, the AI continues to think up responses. If user-input stops or even pauses, the AI returns to thinking its own thoughts.

  • rsvp -- delay in milliseconds before next loop.

  • seq -- subSEQuent Psy concept in an idea.

  • subjnom -- subject nominative – is a concept identified in the OldConcept() recognition module as the subject of an input causing the AI to make an inference.

  • tcj -- conceptual flag-panel time-of-conjunction.

  • tdo -- time-of-direct-object for LaParser() module.

  • tkb -- time-in-knowledge-base of an idea.

  • tsj -- time-of-subject for parsing.

  • ux1 -- unknown upshot placeholder for Latin nominative case.

  • ux2 -- unknown upshot placeholder for Latin genitive case.

  • ux3 -- unknown upshot placeholder for Latin dative case.

  • ux4 -- unknown upshot placeholder for Latin accusative case.

  • ux5 -- unknown upshot placeholder for Latin ablative case.

  • uy1 -- unknown upshot placeholder for Latin nominative case.

  • uy2 -- unknown upshot placeholder for Latin genitive case.

  • uy3 -- unknown upshot placeholder for Latin dative case.

  • uy4 -- unknown upshot placeholder for Latin accusative case.

  • uy5 -- unknown upshot placeholder for Latin ablative case.

  • uz1 -- unknown upshot placeholder for Latin nominative case.

  • uz2 -- unknown upshot placeholder for Latin genitive case.

  • uz3 -- unknown upshot placeholder for Latin dative case.

  • uz4 -- unknown upshot placeholder for Latin accusative case.

  • uz5 -- unknown upshot placeholder for Latin ablative case.

  • whatcon (what-condition) -- SpreadAct() flag for condition of answering a what-query

  • wherecon (where-condition) -- flag for condition of answering a where-query.


    6. Troubleshooting and Debugging for AI Mind Maintainers

    6.1.a. Symptom: (Something goes wrong.)
    6.1.b. Solution: (AI Mind Maintainer devises solution.)


    7. Future Development

  • Roadmap to Artificial Intelligence


    8. Resources for LaThink AI Mind-Module


    9. Spread the News on TikTok and Other Venues

    Are you on TikTok? Are you eager to be a ThoughtLeader and Influencer?
    Create a TikTok video in the following easy steps.

    I. Capture a screenshot of https://ai.neocities.org/LaThink.html
    for the background of your viral TikTok video.

    II. In a corner of the screenshot show yourself talking about the LaThink module.

    III. Upload the video to TikTok with a caption including all-important hash-tags which will force governments and corporations to evaluate your work because of FOMO -- Fear Of Missing Out:
    #AI #ИИ #brain #мозг #ArtificialIntelligence #ИскусственныйИнтеллект #consciousness #сознание #Dushka #Душка #psychology #психология #subconscious #подсознание
    #AGI #AiMind #Alexa #ChatAGI #chatbot #ChatGPT #cognition #cyborg #Eureka #evolution #FOMO #FreeWill #futurism #GOFAI #HAL #immortality #JAIC #JavaScript #linguistics #metempsychosis #Mentifex #mindmaker #mindgrid #ML #neuroscience #NLP #NLU #OpenAI #OpenCog #philosophy #robotics #Singularity #Siri #Skynet #StrongAI #transhumanism #Turing #TuringTest #volition

    A sample video is at
    https://www.tiktok.com/@sullenjoy/video/7234543580705049898


    10. AiTree of Mind-Modules for Natural Language Understanding


    Nota Bene: This webpage is subject to change without notice. Any Netizen may copy, host or monetize this webpage to earn a stream of income by means of an affiliate program where the links to Amazon or other booksellers have code embedded which generates a payment to the person whose link brings a paying customer to the website of the bookseller.

    This page was created by an independent scholar in artificial intelligence who created the following True AI Minds with sentience and with limited consciousness.

  • http://ai.neocities.org/mindforth.txt -- MindForth Robot AI in English.

  • http://ai.neocities.org/DeKi.txt -- Forth Robot AI in German.

  • http://ai.neocities.org/perlmind.txt -- ghost.pl Robot AI thinks in English and in Russian.

  • http://ai.neocities.org/Ghost.html -- JavaScript Robot AI Mind thinks in English.

  • http://ai.neocities.org/mens.html -- JavaScript Robot AI Mind thinks in Latin.

  • http://ai.neocities.org/Dushka.html -- JavaScript Robot AI Mind thinks in Russian.

    The following books describe the free, open-source True AI Minds.

    AI4U -- https://www.iuniverse.com/BookStore/BookDetails/137162-AI4U

    AI4U (paperback) -- http://www.amazon.com/dp/0595259227

    AI4U (hardbound) -- http://www.amazon.com/dp/0595654371

    The Art of the Meme (Kindle eBook) -- http://www.amazon.com/dp/B007ZI66FS

    Artificial Intelligence in Ancient Latin (paperback) -- https://www.amazon.com/dp/B08NRQ3HVW

    Artificial Intelligence in Ancient Latin (Kindle eBook) -- https://www.amazon.com/dp/B08NGMK3PN

  • https://redditfavorites.com/products/artificial-intelligence-in-ancient-latin

    Artificial Intelligence in German (Kindle eBook) -- http://www.amazon.com/dp/B00GX2B8F0

    InFerence at Amazon USA (Kindle eBook) -- http://www.amazon.com/dp/B00FKJY1WY

    563 Mentifex Autograph Postcards were mailed in 2022 primarily to autograph collector customers at used bookstores to press the issue of whether or not the Mentifex oeuvre and therefore the autograph is valuable. These artwork-postcards with collectible stamps may be bought and sold at various on-line venues.

  • https://www.ebay.com
  • https://galaxycon.com/search?q=Mentifex

    See AI 101 AI 102 AI 103 year-long community college course curriculum for AI in English.
    See Classics Course in Latin AI for Community Colleges or Universities.
    See College Course in Russian AI for Community Colleges or Universities.
    Collect one signed Mentifex Autograph Postcard from 563 in circulation.
    See Attn: Autograph Collectors about collecting Mentifex Autograph Postcards.

    Return to top; or to
    Image of AI4U found at a book store
    The collectible AI4U book belongs in every AI Library as an early main publication of Mentifex AI.


    Website Counter