In the middle of coding ghost278.pl AI we had to go and stand in front of the television and watch Leopold Stokowski in 1969 conducting the finale of Beethoven's Symphony No. Five -- the one they sent into outer space as a message from Earth. Now back at the computer, for the first time we are trying to implement the EnVerbGen() module for English verb generation. We have gotten the InFerence() module to generate an inference when we type in "anna is a student', because the AI Mind knows that students read books. The AskUser() module seeks to verify or validate the inference by asking us, "DOES ANNA READ THE BOOKS". When we answer "no", the AI says, "THE ANNA DOES NOT READ THE BOOKS". When we answer yes, the ghost in the machine issues the faulty output of "THE ANNA READ THE BOOKS", which sounds more like an exhortation than a statement of confirmed fact with a high truth-value. We need a way to get the AI to use the third-person singular form "READS" with the singular subject. To do so, before Leopold and Ludwig interrupted us, we were embedding diagnostic messages in the EnVerbPhrase() module, trying to determine how the ghost AI was able to say "READ" as if it were the proper verb-form. The whole idea of EnVerbGen() in English or of RuVerbGen() in Russian is for the verb-phrase module to seek a particular verb-form based on parameters of person and number, and to call EnVerbGen() if the desired verb-form is not already available in auditory memory. Somehow the existing Perlmind is finding the verb "read" but not the correct form of the verb.
We discover that we can get the EnVerbPhrase() module to call EnVerbGen() when we tighten up the search-by-parameter for the correct verb form. Since EnVerbGen() is not coded yet, we get an output of "THE ANNA ERROR THE BOOKS", with "ERROR" filling in for the lacking "READS" form.
Then we need an $audbase value that we can send into EnVerbGen() as the start of the verb that needs an inflectional ending. We use a trick in the EnVerbPhrase() module to get either a second-class or a first-class (infinitive) $audbase. We test first for any form at all of the verb that has an auditory engram that can serve as a second-class $audbase, because the verb-form may be defective in some way. In the very next line of code, we test for an infinitive form of the verb having an auditory engram as a first-class $audbase, because an infinitive is easier to manipulate than some defective form of the verb.
We copied the bulk of the Russian RuVerbGen() into the English EnVerbGen() and then we did the mutatis mutandis process of making the necessary changes. At first we got "REAS" instead of "READS" because the Russian Cyrillic characters were substituting, not adding. By removing the substitution-code, we obtained the full verb "READS". At a later time we must code in the handling of verbs like "teach" or "push" which require an "-ES" ending.