( 24jul14A.F -- modification of 24jan13A.F MindForth ) ( Please host on your network as 24jul4A.txt free AI. ) ( May be ported to new language and app store marketed. ) ( May be named "Mind.F" or any "Filename.F" you choose. ) ( Rename any Mind.F.txt as simply Mind.F for Win32Forth. ) ( http://prdownloads.sourceforge.net/win32forth/W32FOR42_671.zip?download ) ( http://code.google.com/p/mindforth/wiki/IntelForth ) ( http://store.kagi.com/cgi-bin/store.cgi?storeID=AMP_Live ) ( http://www.winzip.com/aboutzip.htm tells about WinZip. ) ( Download and unzip W32FOR42_671.zip to run MindForth. ) ( Run the AI with Win32Forth by issuing three commands: ) ( win32for.exe [ENTER] ) ( fload Mind.f [ENTER] ) ( MainLoop [ENTER]. ) ( To halt the AI Mind, press the ESCAPE key at any time. ) ( Ask or answer questions about MindForth AI on Usenet. ) ( AI codebase below fills blank space with Usenet links ) ( http://groups.google.com/group/comp.lang.forth/topics ) ( http://ai.neocities.org/mindforth.txt for Windows XP ) ( http://www.scn.org/~mentifex/DeKi.txt German Wotan AI ) ( http://www.scn.org/~mentifex/DeKiUser.html AI Manual ) ( http://www.scn.org/~mentifex/mindforth.txt Win32Forth ) ( http://www.scn.org/~mentifex/AiMind.html in JavaScript ) ( http://www.scn.org/~mentifex/Dushka.html is Russian AI ) ( http://www.scn.org/~mentifex/RuAiUser.html AI Manual ) ( http://bookstore.iuniverse.com/Products/SKU-000540906/AI4U.aspx ) ( http://www.amazon.com/The-Art-Meme-ebook/dp/B007ZI66FS ) ( http://code.google.com/p/mindforth/wiki/UserManual ) ( Please make a copy of this AI and host it on your website. ) ( http://code.google.com/p/mindforth/wiki/ChangeLog data ) \ 12nov12A.F moves input words through AudBuffer and OutBuffer. \ 15nov12A.F stubs in the VerbGen module for generating verbs. \ 20dec12A.F introduces InFerence module for machine reasoning. \ 21dec12A.F troubleshoots InFerence with diagnostic messages. \ 22dec12A.F finds alternate auditory engrams for inferences. \ 25dec12A.F achieves inferences about new input not held in KB. \ 27dec12A.F feeds inference into AskUser for a yes-or-no query. \ 28dec12A.F displays internal mental time and ReJuvenate count. \ 29dec12A.F asks user to confirm or deny inference; adjusts KB. \ 2jan13A.F prevents inference about a subject lacking a verb. \ 23jan13A.F troubleshoots the comprehension of objectless verbs. \ 24jan13A.F comprehends quasi-intransitive verbs without objects. \ 24jul14A.F solves defective seach-loop in NounPhrase module. ( http://cyborg.blogspot.com/2014/07/mfpj0724.html ) DECIMAL ( use decimal numbers ) variable abc ( AudBuffer transfer character; 8nov2012 ) variable act 0 act ! ( activation level ) variable actbase ( AudRecog discrimination activation base) variable actran ( PsiDecay holder of act-levels; 16may2011 ) variable adverbact 0 adverbact ! ( 29aug2008 adverb test ) variable adjcon ( insert-adjective condition-flag; 16sep2011 ) variable aftjux ( after-jux for negation of verb of being ) variable anset ( Before vowel set article AN insertion ) variable atcd ( 30dec2009 "antecedent" for EnPronoun ) variable aud ( auditory recall-tag for activating engrams) variable audbase ( recall-vector for VerbGen; 8nov2012 ) variable audjuste ( NounPhrase motjuste aud to SpeechAct ) variable audme ( tag to find "ME" in auditory memory ) variable audnum ( de-globalizing the "num" variable; 8nov2012 ) variable audpsi ( de-globalizing the "psi" variable ) variable audrec ( 6may2009 replacing "psi" in AudRecog ) variable audrun 1 audrun ! ( counter of loops through AudRecog ) variable audstop ( flag to stop SpeechAct after one word ) variable audverb ( psi number of an input verb; 27dec2012 ) variable b01 ( buffer character 01 in OutBuffer; 12nov2012 ) variable b02 ( buffer character 02 in OutBuffer; 12nov2012 ) variable b03 ( buffer character 03 in OutBuffer; 12nov2012 ) variable b04 ( buffer character 04 in OutBuffer; 12nov2012 ) variable b05 ( buffer character 05 in OutBuffer; 12nov2012 ) variable b06 ( buffer character 06 in OutBuffer; 12nov2012 ) variable b07 ( buffer character 07 in OutBuffer; 12nov2012 ) variable b08 ( buffer character 08 in OutBuffer; 12nov2012 ) variable b09 ( buffer character 09 in OutBuffer; 12nov2012 ) variable b10 ( buffer character 10 in OutBuffer; 12nov2012 ) variable b11 ( buffer character 11 in OutBuffer; 12nov2012 ) variable b12 ( buffer character 12 in OutBuffer; 12nov2012 ) variable b13 ( buffer character 13 in OutBuffer; 12nov2012 ) variable b14 ( buffer character 14 in OutBuffer; 12nov2012 ) variable b15 ( buffer character 15 in OutBuffer; 12nov2012 ) variable b16 ( buffer character 16 in OutBuffer; 12nov2012 ) variable bday ( day of birth reveals oldest living AI Mind) variable becon 0 becon ! ( detect be-verb for InFerence 18dec2012 ) variable beflag 0 beflag ! ( 23apr2009 for InStantiate ) variable beg 1 beg ! ( "beginning" flag for word engrams ) variable bhour ( hour of birth for user interface display ) variable bias 5 bias ! ( Parser; newConcept: expected POS ) variable binc ( OutBuffer "b" increment for VerbGen 12nov2012 ) variable bminute ( minute of birth: user interface display) variable bmonth ( month of birth: user interface display ) variable bsec ( second of birth: user interface display) variable byear ( MainLoop; TuringTest HCI -- year of birth) variable c01 ( character in AudBuffer; 12nov2012 ) variable c02 ( character in AudBuffer; 12nov2012 ) variable c03 ( character in AudBuffer; 12nov2012 ) variable c04 ( character in AudBuffer; 12nov2012 ) variable c05 ( character in AudBuffer; 12nov2012 ) variable c06 ( character in AudBuffer; 12nov2012 ) variable c07 ( character in AudBuffer; 12nov2012 ) variable c08 ( character in AudBuffer; 12nov2012 ) variable c09 ( character in AudBuffer; 12nov2012 ) variable c10 ( character in AudBuffer; 12nov2012 ) variable c11 ( character in AudBuffer; 12nov2012 ) variable c12 ( character in AudBuffer; 12nov2012 ) variable c13 ( character in AudBuffer; 12nov2012 ) variable c14 ( character in AudBuffer; 12nov2012 ) variable c15 ( character in AudBuffer; 12nov2012 ) variable c16 ( character in AudBuffer; 12nov2012 ) variable caller ( debug-identifier of calling module ) variable cns 2048 cns ! ( MindGrid size; doubled 3aug2012 ) variable coda 128 coda ! ( memory recycled in ReJuvenate) variable cognum ( grammatical number of cogpsi; 22oct2011 ) variable cogpsi ( new noun being learned; 17oct2011 ) variable conj ( OldConcept; ConJoin: conjunction ) variable ctu ( continuation-flag for "Aud" array phonemes ) variable dba ( case for nouns; person for verbs; 8nov2012 ) variable defact ( default activation for NounPhrase; 9oct2011 ) variable defartcon ( set definite article condition ) variable dirobj ( indicates seeking for a direct object ) variable dobseq ( for transfer within InFerence; 22dec2012 ) variable dopsi ( direct-object-psi to calculate "thotnum") variable edge 0 edge ! ( Rejuvenate: edge-of-thought flag) variable en8 ( EnVocab recall-vector "aud" in Rejuvenate ) variable enx ( holds concept-number in transfer to English) variable eot ( end-of-text for use in AudInput ) variable fex ( holds fiber-out concept up from Psi memory ) variable fin ( holds fiber-in concept for Psi array access) variable firstword ( for identifying input of a query 19aug2011 ) variable flex1 ( "I" or "S" element of SpeechAct inflection ) variable flex2 ( "N" as part of "ING" SpeechAct inflection ) variable flex3 ( "G" as part of "ING" SpeechAct inflection ) variable fyi 0 fyi ! ( rotates through display modalities ) variable fyipsi ( psi source-node in SpreadAct; 17oct2011 ) variable gencon ( VerbGen status flag from Wotan; 22dec2012 ) variable ghost 0 ghost ! ( to switch from "a" to "the" ) variable glot 1 glot ! ( flag for which language to think in ) variable greet 640 greet ! ( greeting-trigger; 16oct2010 ) variable guspsi ( concept-tag attached to taste-memories ) variable gusrec ( for external recognition by GusRecog ) variable hipsi ( "high-psi" tag on wavecrest concept ) variable hl ( possible standard instead of "glot"; 20aug2011 ) variable holdnum ( transfer from subject to verb; 8nov2012 ) ( I = Index in loops; does not require a fetch "@" ) variable img ( visRecog: for future use as "image" ) variable indefartcon ( set indefinite article condition ) variable indefmust ( force saying of "A" or "AN"; 20oct2011 ) variable inert 0 inert ! ( marker of no recent interaction ) variable inft ( inference-time for AskUser 27dec2012 ) variable instnum ( instantiation number for WhatBe questions ) variable IQ 1 IQ ! ( an invitation to code an IQ algorithm) variable jrt ( ReJuvenate "junior time" for memories moved) variable jux 0 jux ! ( holds Psi # of a JUXtaposed word ) variable kbcon ( flag for awaiting a yes-or-no answer 2jul2011 ) variable kbpsi ( 20jan2008 an interim knowledge-base psi ) variable kbquiz 0 kbquiz ! ( flag to call kbSearch ) variable kbtv 0 kbtv ! ( KbTraversal trigger; 7aug2010 ) variable kbtqv ( time of seq-concept found in KB; 7oct0211 ) variable kbyn ( holds kbtv values for asking Y/N 24jun2011 ) variable kibosh ( suppresses concepts failing to win selection ) variable krt ( Knowledge Representation time "t" for later) variable lastpho ( 24may2009 to avoid extra "S" on verbs ) variable lastword 0 lastword ! ( for zeroing "seq" tags.) variable len ( length, for avoiding non-words in AudInput) variable lexact ( testing a lexical "act" for EnReify ) variable lopsi ( "low-psi" tag on just-crested concept ) variable lurk ( counter to activate initial thinking; 19sep2010 ) variable match ( end-of-word flag for control ) variable memoire ( instead of "motjuste" in kbSearch ) variable mfn ( "masculine feminine neuter" gender flag ) variable mfnflag ( gender flag to cause a who-query; 17aug2010 ) variable midway 1 midway ! ( limit for searching backwards) variable monopsi ( 26jul2002 For use in audRecog module ) variable moot ( flag to prevent associations in DO-queries ) variable morphpsi ( for audRecog recognition of morphemes ) variable motjuste ( best word for inclusion in a thought ) variable nacpsi ( 9may2009 de-globalized psi for NounAct) variable negjux ( flag for 12=NOT juxtaposed to a verb; 9oct2011 ) variable nen 0 nen ! ( English lexical concept number ) variable newpsi ( for singular-nounstem assignments ) variable nlt 0 nlt ! ( not-later-than among time-points ) variable nounlock ( for a verb to lock onto a seq-nounl 8oct2011 ) variable nounval 0 nounval ! ( from NounPhrase to MounAct ) variable nphrnum 0 nphrnum ! ( NounPhrase number ) variable nphrpos 0 nphrpos ! ( for testing in EnCog ) variable num 0 num ! ( number-flag for the psi array ) variable numflag ( 4dec2009 for selection of verb-forms ) variable numsubj ( 13apr2010 for number of subject ) variable nwc ( new-word-count for noun-stem recog ) variable objold ( a test for optimizing slosh-over; 12oct2010 ) variable obstat ( Lets AudInput psi-damp a reentrant word.) variable ocn ( old-concept-number for EnVocab; 14oct2011 ) variable oldact ( show the source of spreading activations) variable oldpos ( old part-of-speech for use with verbs ) variable oldpsi ( used in OldConcept to de-globalize "psi") variable olfpsi ( concept-tag attached to smells in memory) variable olfrec ( for external recognition by OlfRecog ) variable onset 0 onset ! ( of an auditory memory engram ) variable opt ( option, for flushing out a part of speech ) variable ordo 0 ordo ! ( from JSAI; AudInput word-order ) variable pcn ( predicate concept number; 17jul2012 ) variable penultpho ( 17may2009 next-to-last phoneme ) variable pho ( phoneme of input/output & internal reentry ) variable phodex 0 phodex ! ( pho-index for AudBuffer 14nov2012 ) variable pos ( old- & newConcept; enVocab: part-of-speech) variable pov ( point-of-view: #35 internal; *42 external ) variable prc ( provisional recognition in AudRecog; 27dec2012 ) variable pre ( previous concept associated with a concept ) variable precand ( inviolate "pre" candidate from JSAI ) variable predflag ( indicates predicate nominative 11sep2010 ) variable prednom ( predicate nominative for InFerence; 18dec2012 ) variable predpos 0 predpos ! ( Predicate part of speech ) variable prejux ( previous jux to carry NOT to verb 21jul2011 ) variable prepho ( 17may2009 previous phoneme ) variable prepsi ( synaptic deglobalized "pre" in SpreadAct) variable preset 0 preset ! ( for setting InStantiate "pre") variable prevtag ( from JSAI; for use in InStantiate ) variable prox1 ( first proximate concept of input cluster ) variable prox2 ( for determining association among engrams ) variable prox3 ( for ReActivate to impose unequal activation ) variable proxcon ( flag to indicate usage of prox variables ) variable prsn 0 prsn ! ( 1st, 2nd, 3rd person ) variable psi ( identifier of a psi concept in Psi mindcore) variable psi1 ( activation-level at each node of verb ) variable psi3 0 psi3 ! ( for VerbPhrase to find negation 25jun2011 ) variable psi8 ( tutorial enx in tutorial or diagnostics; 12oct2011 ) variable psibase ( winning psibase with winning actbase ) variable putdbav ( putative dba for verbs; 27dec2012 ) variable putnum ( putative number for subj-verb agreement ) variable questype ( oldConcept; Conjoin: "question-type" ) variable quiet 1 quiet ! ( status flag for auditory input ) variable quo ( 27dec2009 query-object for EnCog response ) variable quobj ( query-object for yes-or-no questions 24jun2011 ) variable qup ( 28dec2009 query-predicate if verb not given ) variable qusub ( internal provisional query-subject; 3oct2010 ) variable quverb ( query-verb for yes-or-no questions 24jun2011 ) variable recnum ( recognized number of a recognized word 19jul2011 ) variable retropsi ( for AudInput and Audmem noun-stems ) variable residuum 0 residuum ! ( activation after PsiDamp ) variable rjc 0 rjc ! ( rejuvenation counter for tracking ) variable rsvp 2000 rsvp ! ( user-response delay-counter; 24jul2014) variable rv ( "recall-vector" for diagnostic display ) variable scn ( subject concept number; 17jul2012 ) variable seq ( subSEQuent concept associated with another) variable seqneed ( noun/pronoun or verb needed as a "seq" ) variable seqpos ( "seq" concept part-of-sppeech 1oct2011 ) variable seqpsi ( synaptic deglobalized "seq" in SpreadAct) variable seqtqv ( for transfer during InFerence; 18dec2012 ) variable seqverb ( interstitial carrier for InFerence; 18dec2012 ) variable singflag ( singularity flag for singular nouns ) variable snu ( subj# as parameter for verb-selection 21dec2012 ) variable spacegap ( to add gap of one space in SpeechAct ) variable spike ( 1aug2005: for potential use in SpreadAct) variable spt ( AudMem; AudInput: blank space time ) variable stemgap ( for avoiding false audRecog stems ) variable stempsi ( for singular noun-stem recognition ) variable subj ( flag to supercharge subject-nouns ) variable subjectflag ( 3dec2009 a default for NounPhrase ) variable subjnom ( subject-nominative for InFerence; 18dec2012 ) variable subjnum ( for agreement with predicate nominative ) variable subjold ( old subject as default candidate 28sep2010 ) variable subjpsi ( parameter to govern person of verb-forms ) variable sublen ( length of audRecog subpsi word-stem ) variable subpsi ( for AudRecog of sub-component wordstems ) variable supsi ( subject-psi for calculating "thotnum" ) variable svo2 ( second item among subj-verb-obj; 3sep2011 ) variable svo3 ( third item among subj-verb-obj; 28aug2011 ) variable t 0 t ! ( time incremented during AudMem storage) variable t2s ( auditory text-to-speech index for SpeechAct) variable tacpsi ( concept-tag attached to tactile engrams) variable tacrec ( for external recognition by TacRecog ) variable tbev ( time of be-verb for use with aftjux 27jul2011 ) variable tkbn ( time of KbRetro noun adjustment; 2jul2011 ) variable tkbv ( time of KbRetro verb adjustment; 2jul2011 ) variable topic ( topic for a question to be asked ) variable topicnum ( grammatical number of question "topic" ) variable tov 1 tov ! ( time-of-voice for keeping track ) variable tpeg ( pegging the time-slice of a subject-noun ) variable tqv ( tempus quod vide for specific psi instance ) variable transcon 1 transcon ! ( transitive verb? 24jan2013 ) variable trc ( 20dec2009 tabula-rasa-counter like rjc ) variable tsday ( for AudListen transcript-mode headers ) variable tseln ( time of selection of noun; 8may2011 ) variable tselo ( time of selection of object 30jul2011 ) variable tsels ( time of selection of subj. 28jul2011 ) variable tselv ( time of selection of verb; 8may2011 ) variable tshour ( AudListen ) variable tsminute ( AudListen ) variable tsmonth ( AudListen ) variable tsn ( time of seqneed for InStantiate; 1jul2012 ) variable tssecond ( AudListen ) variable tsyear ( AudListen ) variable tult ( t penultimate, or time-minus-one ) variable unk ( "unknown" variable for general use ) variable upnext ( Flag lets new input de-crest previous. ) variable urpre ( original pre during call to other module ) variable urpsi ( original psi for use in psiDamp, etc. ) variable vacpsi ( de-globalized psi for VerbAct; 27sep2010 ) variable vault 611 vault ! ( size of EnBoot; 8nov2012 ) variable vbpsi ( verb-psi for calculating "thotnum" ) variable verblock ( for subject-noun to lock onto seq-verb; 8oct2011 ) variable verbpsi ( for transit into WhatAuxSVerb 13jun2011 ) variable verbval ( transfer from VerbPhrase to VerbAct ) variable vispsi ( concept-tag attached to images in memory) variable visrec ( for external recognition by VisRecog ) variable vphract ( verb phrase activation level 19jun2011 ) variable vphraud ( holds aud-fetch for SpeechAct; 25jun2011 ) variable vpos ( verb part of speech for inflections ) variable vrsn 20140724 vrsn ! ( version identifier; 24jul2014 ) variable whoflag 0 whoflag ! ( for InStantiate ) variable wordend ( for singular noun-stem assignments ) variable yesorno 0 yesorno ! ( in conjunction w. KbSearch ) variable yncon ( statuscon to trigger yes-or-no query 2jul2011 ) variable ynverb ( yes-or-no verb for AskUser; 24jun2011 ) variable zone ( time-zone for "pre" and "seq" searches ) : CHANNEL ( size num -< name >- ) CREATE ( Returns address of newly named channel. ) OVER ( #r #c -- #r #c #r ) , ( Stores number of rows from stack to array.) * CELLS ( Feeds product of columns * rows to ALLOT.) ALLOT ( Reserves given quantity of cells for array.) DOES> ( member; row col -- a-addr ) DUP @ ( row col pfa #rows ) ROT * ( row pfa col-index ) ROT + ( pfa index ) 1 + ( because first cell has the number of rows.) CELLS + ( from number of items to # of bytes in offset ) ; cns @ 9 CHANNEL psi{ ( Mindcore concept array "psi" ) cns @ 9 CHANNEL en{ ( English lexicon array "en" ) cns @ 6 CHANNEL aud{ ( Auditory memory channel "aud" ) : PsiClear ( set Psi activations to zero; 26sep2010 ) 1 t @ 1 + DO 0 I 1 psi{ ! -1 +LOOP ; ( End of PsiClear ) : TabulaRasa 0 trc ! ( 20dec2009 tabula-rasa-counter like jrc ) 1 tov ! BEGIN cns @ 1 DO 0 I trc @ psi{ ! LOOP 1 trc +! trc @ 9 < WHILE \ Cover 9 columns 0-8; 29sep2011 REPEAT 0 trc ! 1 tov ! BEGIN cns @ 1 DO 0 I trc @ en{ ! LOOP 1 trc +! trc @ 9 < WHILE \ Cover #0 to #8, i.e. 9; 10nov2012 REPEAT 0 trc ! 1 tov ! BEGIN cns @ 1 DO 0 I trc @ aud{ ! LOOP 1 trc +! trc @ 6 < WHILE REPEAT cns @ 1 DO 32 I 0 aud{ ! LOOP ; ( End of TabulaRasa ) \ NounClear is a mechanism called by NounPhrase to set \ activation on nouns and pronouns to zero just before \ a pair of old and new noun-engrams is reduced even \ further into negative activation by neural inhibition. \ The purpose is to prevent the build-up of stray activations. : NounClear ( remove activation from all nouns ) \ 20dec2009 midway @ cns @ DO \ Loop backwards over time. I 5 psi{ @ 5 = I 5 psi{ @ 7 = OR IF \ pro(noun) 18aug2011 I 1 psi{ @ 0 > IF \ avoid inhibited engrams; 26aug2011 0 I 1 psi{ ! \ 20dec2009 Set noun to zero activation. THEN \ end of test for positive activation; 26aug2011 THEN \ 20dec2009 End of test for pos=5 nouns. -1 +LOOP \ End of backwards loop looking for pos=5 nouns. ; ( End of NounClear; return to NounPhrase; 18aug2011 ) : VerbClear ( remove activation from all verbs ) midway @ t @ DO I 5 psi{ @ 8 = IF I 1 psi{ @ 0 > IF \ avoid inhibited engrams; 26aug2011 0 I 1 psi{ ! THEN \ end of test for positive activation; 26aug2011 THEN -1 +LOOP ; ( End of VerbClear ) : VerbClip ( lower activation on all verbs ) midway @ t @ DO I 5 psi{ @ 8 = IF I 1 psi{ @ 12 > IF \ test; REMOVE? 25aug2010 6 I 1 psi{ +! \ test; 25aug2010 THEN THEN -1 +LOOP ; ( End of VerbClip; return to AudInput ) : PsiDecay ( let conceptual activations dwindle ) fyi @ 2 > IF CR ." PsiDecay called to reduce all " ." conceptual activations." CR THEN midway @ t @ DO I 1 psi{ @ 0 > IF \ avoid inhibited nodes; 9sep2010 I 1 psi{ @ 40 > IF 34 actran ! THEN \ 4aug2011 I 1 psi{ @ 50 > IF 35 actran ! THEN \ 4aug2011 I 1 psi{ @ 60 > IF 36 actran ! THEN \ 4aug2011 I 1 psi{ @ 70 > IF 37 actran ! THEN \ 4aug2011 I 1 psi{ @ 80 > IF 38 actran ! THEN \ 4aug2011 I 1 psi{ @ 90 > IF 39 actran ! THEN \ 4aug2011 actran @ 0 > IF actran @ I 1 psi{ ! THEN \ 16may2011 0 actran ! \ Reset to zero for safety; 16may2011 I 1 psi{ @ 1 - I 1 psi{ ! THEN \ end of test to skip inhibited nodes; 9sep2010 I 1 psi{ @ 0 < IF 1 I 1 psi{ +! THEN \ 6sep2010 I 0 psi{ @ 830 = IF 0 I 1 psi{ ! THEN \ 830=DO I 0 psi{ @ 781 = IF 0 I 1 psi{ ! THEN \ 781=WHAT I 0 psi{ @ 117 = IF 0 I 1 psi{ ! THEN \ 117=THE -1 +LOOP ; ( http://code.google.com/p/mindforth/wiki/PsiDecay ) : PsiDamp ( reduce activation of a concept ) ( 33-48 = consciousness tier where concepts win selection. ) ( 17-32 = subconscious where concepts remain available. ) ( 1-16 = noise tier below logical association threshold. ) 16 residuum ! fyi @ 2 > IF CR ." PsiDamp called for urpsi = " urpsi @ . ." by module ID #" caller @ . caller @ 42 = IF ." WhatAuxSDo " THEN caller @ 51 = IF ." AuxVerb " THEN caller @ 62 = IF ." VerbPhrase " THEN caller @ 66 = IF ." NounPhrase " THEN caller @ 104 = IF ." AudInput " THEN caller @ 148 = IF ." Activate " THEN caller @ 3535 = IF ." AudInput " THEN caller @ 6967 = IF ." EnCog " THEN \ test; 26sep2010 caller @ 8766 = IF ." WhoBe " THEN \ test; 26sep2010 caller @ 8773 = IF ." WhatBe " THEN \ changed; 25feb2011 0 caller ! THEN urpsi @ 791 = IF \ if urpsi is 791=WHO; 10nov2012 1 residuum ! \ deemphasize WHO; test; 25jul2010 THEN \ test; 25jul2010 ( code to prevent psi-damping inhibited concepts; 6sep2010 ) midway @ t @ DO I 0 psi{ @ urpsi @ = IF \ concept found; 6sep2010 I 1 psi{ @ -1 > IF \ positive act.? 16aug2011 residuum @ I 1 psi{ ! \ psi-damp only high activations THEN \ end of test for only positive act.; 6sep2010 THEN \ end of test for particular concept; 6sep2010 -1 +LOOP 0 residuum ! ; ( http://code.google.com/p/mindforth/wiki/PsiDamp ) : EnDamp ( deactivate English lexicon concepts ) midway @ t @ DO 0 I 1 en{ ! -1 +LOOP ; ( End of EnDamp ) : AudDamp ( deactivate auditory engrams ) midway @ t @ DO 0 I 1 aud{ ! -1 +LOOP ; ( End of AudDamp ) : .psi ( show concepts in the Psi array ) CR ." Psi mindcore concepts" CR ." time: psi act num jux pre pos seq enx " t @ 1+ midway @ DO I 0 psi{ @ 0 > IF CR I . ." : " I 0 psi{ @ . ." " I 1 psi{ @ . ." " I 2 psi{ @ . ." " I 3 psi{ @ . ." " I 4 psi{ @ . ." " I 5 psi{ @ . ." " I 6 psi{ @ . ." " \ Show tqv-point; 12oct2011 I 7 psi{ @ . ." " \ new "seq" position 12oct2011 I 8 psi{ @ enx ! enx @ . \ new "enx"; 12oct2011 enx @ 0 > IF ." to " I unk ! 0 aud ! midway @ unk @ DO I 0 en{ @ enx @ = IF I 8 en{ @ aud ! \ with dba; 10nov2012 aud @ 0= NOT IF BEGIN aud @ 0 aud{ @ EMIT 1 aud +! aud @ 0 aud{ @ 32 = UNTIL ." " THEN 0 aud ! LEAVE ( One engrammed word is enough. ) THEN -1 +LOOP THEN THEN LOOP CR ." time: psi act num jux pre pos tqv seq enx " 0 unk ! CR ." You may enter .psi or .en or .aud to view memory " ." engrams or " CR ." MainLoop [ENTER] to erase all memories " ." and restart the Mind." CR ; ( End of .psi post-Escape report ) : .en ( show vocabulary in the English lexicon array ) CR ." English lexical fibers" CR ." t nen act num mfn dba fex pos fin aud:" \ 18dec2012 t @ 1+ midway @ DO I 0 en{ @ unk ! unk @ 0 > IF ( display positive data ) CR I . unk @ . ." " I 1 en{ @ . ." " I 2 en{ @ . ." " I 3 en{ @ . ." " I 4 en{ @ . ." " I 5 en{ @ . ." " \ dba; 10nov2012 I 6 en{ @ . ." " I 7 en{ @ . ." " I 8 en{ @ aud ! aud @ . ." to " BEGIN aud @ 0 aud{ @ EMIT 1 aud +! aud @ 0 aud{ @ 32 = UNTIL ." " 0 aud ! THEN LOOP 0 unk ! CR ." t nen act num mfn dba fex pos fin aud" CR CR ." You may enter .psi or .en or .aud to view memory " ." engrams or " CR ." MainLoop [ENTER] to erase all memories " ." and restart the Mind." CR ; ( End of .en post-Escape report ) : .aud ( show engrams in the auditory memory array ) CR ." Auditory memory nodes" CR ." t pho act pov beg ctu audpsi" t @ 1+ 1 DO ( Show the entire Aud channel.) CR I . ." " I 2 aud{ @ 123 = IF ." { " THEN I 0 aud{ @ 33 < IF ." " ( show a blank ) ELSE I 0 aud{ @ EMIT ." " I 1 aud{ @ . ." " I 2 aud{ @ EMIT ." " I 3 aud{ @ . ." " I 4 aud{ @ . ." " I 5 aud{ @ . THEN I 2 aud{ @ 125 = IF ." } " THEN I cns @ > IF QUIT THEN \ safety measure; 26jul2010 LOOP CR ." You may enter .psi or .en or .aud to view memory " ." engrams or " CR ." MainLoop [ENTER] to erase all memories " ." and restart the Mind." CR ; ( End of .aud post-Escape report ) : .out ( show characters in the OutBuffer; 12nov2012 ) CR ." AudBuffer word = " CR \ 15nov2012 c01 @ EMIT c02 @ EMIT c03 @ EMIT c04 @ EMIT c05 @ EMIT c06 @ EMIT c07 @ EMIT c08 @ EMIT c09 @ EMIT c10 @ EMIT c11 @ EMIT c12 @ EMIT c13 @ EMIT c14 @ EMIT c15 @ EMIT c16 @ EMIT CR ." OutBuffer word = " CR \ 14nov2012 b01 @ EMIT b02 @ EMIT b03 @ EMIT b04 @ EMIT b05 @ EMIT b06 @ EMIT b07 @ EMIT b08 @ EMIT b09 @ EMIT b10 @ EMIT b11 @ EMIT b12 @ EMIT b13 @ EMIT b14 @ EMIT b15 @ EMIT b16 @ EMIT CR ." 1234567890123456 " \ show right-justification CR \ Return to left margin for Forth ok prompt. ; ( End of OutBuffer report; 12nov2012 ) : .echo ( show what the robot just said ) ( As on Usenet, user responds _below_ the AI output. ) fyi @ 2 = IF CR ." Tutorial mode is now in effect. " ." Enter input or wait for output." THEN CR ." Robot: " tov @ t @ = IF \ 12jan2010 Test for equality. tov @ 1 - tov ! \ 12jan2010 Prevent infinite loops. THEN \ 12jan2010 End of test for tov @ t equality. t @ tov @ DO I 0 aud{ @ 0 = IF ." " ELSE I 2 aud{ @ 42 = NOT IF I 0 aud{ @ EMIT THEN THEN LOOP ; ( End of .echo ) : SpreadAct ( spreading activation ) PsiDecay \ to differentiate among activations; 10aug2012 prepsi @ 0 > IF \ From NounAct or VerbAct; 30jun2012 zone @ 7 - zone @ DO I 0 psi{ @ prepsi @ = IF \ now prepsi; 15sep2010 \ CR ." SprAct: augmenting activation at time " \ 10aug2012 \ I . ." of prepsi " prepsi @ . \ test; 10aug2012 \ 1 I 1 psi{ +! \ C-ing outl 10aug2012 8 I 1 psi{ +! \ for queries; 10aug2012 I zone @ 6 - > IF LEAVE THEN THEN -1 +LOOP THEN seqpsi @ 0 > IF \ replacing seqsyn; 15sep2010 fyi @ 3 = IF CR ." SprA seqpsi & spike = " seqpsi @ . spike @ . CR THEN zone @ 32 + zone @ DO \ Search past non-seq psi. I 0 psi{ @ seqpsi @ = IF \ replacement 15sep2010 fyi @ 3 = IF CR ." SprA matching seqpsi w. spike = " \ 24sep2010 seqpsi @ . spike @ . CR \ non-global 24sep2010 THEN fyi @ 1 > IF pov @ 35 = IF 0 psi8 ! \ new flag-panel location of "enx"; 12oct2011 fyi @ 3 = IF CR ." sprdAct: seqpsi = " seqpsi @ . CR \ 24sep2010 THEN midway @ t @ DO I 0 psi{ @ fyipsi @ = IF \ 17oct2011 I 8 psi{ @ psi8 ! \ new "enx"; 12oct2011 LEAVE THEN -1 +LOOP midway @ t @ DO I 0 en{ @ psi8 @ = IF \ new "enx"; 12oct2011 I 7 en{ @ rv ! LEAVE THEN -1 +LOOP 0 rv ! midway @ t @ DO I 0 psi{ @ seqpsi @ = IF \ 15sep2010 I 8 psi{ @ psi8 ! \ new "enx"; 12oct2011 LEAVE THEN -1 +LOOP midway @ t @ DO I 0 en{ @ psi8 @ = IF \ "enx"; 12oct2011 I 7 en{ @ rv ! LEAVE THEN -1 +LOOP rv @ 0 > IF BEGIN rv @ 0 aud{ @ EMIT 1 rv +! rv @ 0 aud{ @ 32 = UNTIL THEN 0 rv ! ." " THEN THEN \ end of FYI=1; 2aug2011 fyi @ 2 > IF pov @ 35 = IF CR 0 psi8 ! \ new "enx"; 12oct2011 midway @ t @ DO I 0 psi{ @ fyipsi @ = IF \ 17oct2011 I 8 psi{ @ psi8 ! \ "enx"; 12oct2011 LEAVE THEN -1 +LOOP midway @ t @ DO I 0 en{ @ psi8 @ = IF \ "enx"; 12oct2011 I 8 en{ @ rv ! \ with dba; 10nov2012 LEAVE THEN -1 +LOOP rv @ 0 > IF BEGIN rv @ 0 aud{ @ EMIT 1 rv +! rv @ 0 aud{ @ 32 = UNTIL THEN 0 rv ! ." #" fyipsi @ . ." act " oldact @ . \ 17oct2011 ." at i " I . ." sprA spike " spike @ . ." to seqpsi #" seqpsi @ . \ 20sep2010 midway @ t @ DO I 0 psi{ @ seqpsi @ = IF \ 15sep2010 I 8 psi{ @ psi8 ! \ "enx"; 12oct2011 LEAVE THEN -1 +LOOP midway @ t @ DO I 0 en{ @ psi8 @ = IF \ "enx"; 12oct2011 I 8 en{ @ rv ! \ with dba; 10nov2012 LEAVE THEN -1 +LOOP rv @ 0 > IF BEGIN rv @ 0 aud{ @ EMIT 1 rv +! rv @ 0 aud{ @ 32 = UNTIL THEN 0 rv ! CR ." at act " I 1 psi{ @ . ." yields " THEN THEN \ end of FYI=2+ 2aug2011 fyi @ 3 = IF ." SprA: spiking seqpsi " spike @ . seqpsi @ . THEN subjectflag @ 1 = IF \ onto verb-nodes; 18oct2010 ( insert diagnostic code here to troubleshoot 5aug2011 ) spike @ I 1 psi{ +! ( add spike to seqpsi 15sep2010 ) ELSE \ in all other cases, e.g. dirobj; 25jun2011 ( insert diagnostic code here to troubleshoot 5aug2011 ) spike @ I 1 psi{ ! ( Xfer absolute act; 25jun2011 ) THEN \ end of test for subject-nodes; 18oct2010 fyi @ 2 > IF pov @ 35 = IF I 1 psi{ @ . fyi @ 2 > IF ." and zone = " zone @ . THEN THEN THEN fyi @ 3 = IF I 1 psi{ @ . ." (lim = 63) for t=" I rv ! BEGIN -1 rv +! rv @ 3 aud{ @ 1 = UNTIL rv @ . BEGIN rv @ 0 aud{ @ EMIT 1 rv +! rv @ 0 aud{ @ 32 = UNTIL ." engram; in sprA spike = " spike @ . 0 rv ! THEN I zone @ 6 + > IF fyi @ 2 > IF CR ." executing LEAVE at zone = " zone @ . THEN LEAVE THEN LEAVE \ After finding one seqpsi; 13oct2010 THEN \ end of test for matching Psi#; 8aug2011 LOOP THEN ; ( http://code.google.com/p/mindforth/wiki/SpreadAct ) : NounAct ( re-activate all recent nodes of a concept ) 0 unk ! \ reset before using in NounAct; 8aug2011 28 nounval ! \ test; 1sep2011 fyi @ 2 > IF CR \ 5jan2010 Altering the next line: ." Calling NounAct (not in AI4U). nacpsi = " nacpsi @ . CR THEN nacpsi @ 0 > IF fyi @ 2 > IF CR ." NounAct calls SpreadAct to transfer " CR ." proportionate activation from each node of " CR ." concept #" psi @ . THEN midway @ t @ DO I 0 psi{ @ nacpsi @ = IF -3 unk +! \ for decrementing spike over time; 8aug2011 ( insert diagnostic code here; 7sep2011 ) I 1 psi{ @ -1 > IF \ avoid inhibition; 3sep2011 nounval @ I 1 psi{ ! \ 3sep2011 THEN ( http://greenarraychips.com ) I 0 psi{ @ 781 = IF \ 781=WHAT; 10nov2012 0 I 1 psi{ ! THEN ( http://www.calcentral.com/~forth/forth ) 12 spike ! ( Aim for ample spikes.) I 4 psi{ @ prepsi ! ( for SpreadAct 15sep2010 ) I 7 psi{ @ seqpsi ! ( for SpreadAct 12oct2011 ) I zone ! ( for use in SpreadAct ) I 1 psi{ @ 0 = IF 0 spike ! THEN I 1 psi{ @ 5 > IF 12 spike ! THEN I 1 psi{ @ 10 > IF 24 spike ! THEN \ 3nov2010 I 1 psi{ @ 15 > IF 26 spike ! THEN \ 3nov2010 I 1 psi{ @ 20 > IF 28 spike ! THEN \ 3nov2010 I 1 psi{ @ 25 > IF 30 spike ! THEN \ 4jun2011 I 1 psi{ @ 30 > IF 32 spike ! THEN \ 4jun2011 I 1 psi{ @ 35 > IF 34 spike ! THEN \ 4jun2011 I 1 psi{ @ 40 > IF 36 spike ! THEN \ 4jun2011 I 1 psi{ @ 45 > IF 38 spike ! THEN \ 4jun2011 I 1 psi{ @ 50 > IF 40 spike ! THEN \ 4jun2011 I 1 psi{ @ 55 > IF 42 spike ! THEN \ 4jun2011 I 1 psi{ @ 60 > IF 44 spike ! THEN \ 4jun2011 nacpsi @ fyipsi ! \ 17oct2011 I 1 psi{ @ oldact ! I 5 psi{ @ oldpos ! seqpsi @ 0 > IF \ replacement; 15sep2010 seqpsi @ 791 = IF \ 791=WHO; 10nov2012 1 spike ! \ not 24 act; 11aug2010 THEN \ end of experiment; 11aug2010 ( insert diagnostic code here; 8aug2011 ) unk @ -10 < IF -10 unk ! THEN \ limit decrement 8aug2011 unk @ spike +! \ decrement spike; 8aug2011 7865 caller ! SpreadAct ( for spreading activation ) 0 caller ! 0 prepsi ! \ replacing presyn; 15sep2010 0 seqpsi ! \ replacing seqsyn; 15sep2010 THEN precand @ pre ! 0 oldpos ! 0 fyipsi ! \ 17oct2011 0 oldact ! 0 pre ! THEN 0 spike ! \ reset for each new loop; 14oct2010 -1 +LOOP THEN 0 spike ! ; ( http://code.google.com/p/mindforth/wiki/NounAct ) : VerbAct ( re-activate all recent nodes of a verb ) 17 verbval ! \ lowering to promote warranted assoc; 27aug2011 fyi @ 2 > IF CR ." Calling verbAct (not in AI4U). psi = " psi @ . CR THEN vacpsi @ 0 > IF \ if a vacpsi exists; 9nov2010 fyi @ 2 > IF CR ." VerbAct calls SpreadAct to transfer " CR ." proportionate activation from each node of " CR ." concept #" psi @ . THEN vacpsi @ fyipsi ! \ a replacement variable; 17oct2011 midway @ t @ DO I 0 psi{ @ vacpsi @ = IF \ deglobalized psi; 8oct2010 fyi @ 2 > IF I 1 psi{ @ 8 > IF ." +" THEN THEN I 1 psi{ @ psi1 ! I 1 psi{ @ -1 > IF \ avoid inhibited nodes; 9sep2010 ( insert diagnostic code here; 27aug2011 ) moot @ 0 = IF \ deprive queries of tags; 20aug2011 verbval @ I 1 psi{ +! \ CUMULATIVE for slosh-over. THEN \ end of test for a moot query input; 20aug2011 THEN \ end of test to skip inhibited nodes; 9sep2010 I 0 psi{ @ 781 = IF \ 781=WHAT; 11nov2012 0 I 1 psi{ ! THEN I 4 psi{ @ prepsi ! ( for SpreadAct 15sep2010 ) I 7 psi{ @ seqpsi ! ( for SpreadAct 12oct2011 ) I zone ! ( for use in SpreadAct ) I 1 psi{ @ 0 = IF 0 spike ! THEN I 1 psi{ @ 0 > IF 1 spike ! THEN I 1 psi{ @ 5 > IF 3 spike ! THEN I 1 psi{ @ 10 > IF 6 spike ! THEN I 1 psi{ @ 15 > IF 9 spike ! THEN I 1 psi{ @ 20 > IF 12 spike ! THEN I 1 psi{ @ 25 > IF 15 spike ! THEN I 1 psi{ @ 30 > IF 16 spike ! THEN I 1 psi{ @ 35 > IF 17 spike ! THEN I 1 psi{ @ 40 > IF 18 spike ! THEN I 1 psi{ @ 45 > IF 19 spike ! THEN I 1 psi{ @ 50 > IF 30 spike ! THEN I 1 psi{ @ 55 > IF 33 spike ! THEN I 1 psi{ @ 60 > IF 36 spike ! THEN I 1 psi{ @ 65 > IF 39 spike ! THEN I 1 psi{ @ 70 > IF 42 spike ! THEN I 1 psi{ @ 75 > IF 45 spike ! THEN I 1 psi{ @ 80 > IF 48 spike ! THEN I 1 psi{ @ 85 > IF 50 spike ! THEN I 1 psi{ @ 90 > IF 52 spike ! THEN I 1 psi{ @ 95 > IF 54 spike ! THEN vacpsi @ fyipsi ! \ a replacement variable; 17oct2011 I 1 psi{ @ oldact ! I 5 psi{ @ oldpos ! fyi @ 2 = IF \ In Tutorial mode show slosh-over; 17oct2010 CR ." VerbAct calls SpreadAct with activation " spike @ . ." for Psi #" seqpsi @ . \ 18oct2010 THEN \ End of test for Tutorial mode; 17oct2010 seqpsi @ 0 > IF \ replacement; 15sep2010 ( insert diagnostic code here; 6aug2011 ) 5 spike +! \ for sake of direct objects; 3sep2011 8665 caller ! SpreadAct ( for spreading activation ) 0 caller ! 0 prepsi ! \ replacing presyn; 15sep2010 0 seqpsi ! \ replacing seqsyn; 15sep2010 THEN 0 oldpos ! 0 fyipsi ! \ 17oct2011 0 oldact ! 0 pre ! 0 seq ! THEN ( perhaps reset spike to zero for each loop? 14oct2010 ) 0 spike ! \ reset to start each loop again; 14oct2010 -1 +LOOP THEN ; ( http://code.google.com/p/mindforth/wiki/VerbAct ) : ReActivate ( re-activate recent nodes of a concept ) fyi @ 2 > IF CR ." Calling ReActivate. psi = " psi @ . CR THEN 0 spike ! psi @ 0 > IF fyi @ 2 > IF CR ." ReActivate calls SpreadAct to transfer " CR ." proportionate activation from each node of " CR ." concept #" psi @ . THEN midway @ tov @ DO \ Omitting current input; 29may2011 I 0 psi{ @ psi @ = IF pov @ 42 = IF \ Only during "*" external POV; 7may2011 moot @ 0 = IF \ deprive queries of tags; 20aug2011 I 1 psi{ @ 0 < IF \ if inhibited; 29aug2011 1 I 1 psi{ +! \ reactivate only slightly; 29aug2011 proxcon @ 1 = IF \ if clustering input; 7sep2011 prox3 @ psi @ = IF \ 7sep2011 I 7 psi{ @ prox2 @ = IF \ seq; 12oct2011 40 I 1 psi{ ! \ extra act; 7sep2011 THEN \ 7sep2011 THEN \ 7sep2011 THEN \ end of proxcon test; 7sep2011 ELSE \ otherwise impose full reactivation; 29aug2011 I 1 psi{ @ -1 > IF \ avoid inhibition; 3sep2011 35 I 1 psi{ +! \ Relative not absolute 12aug2011 I 5 psi{ 8 = IF \ Test for a verb; 28jun2012 16 I 1 psi{ +! \ Accentuate verbs; 28jun2012 THEN \ End of test for verbs; 28jun2012 proxcon @ 1 = IF \ if clustering input; 7sep2011 prox2 @ psi @ = IF \ 7sep2011 THEN \ 7sep2011 prox3 @ psi @ = IF \ 7sep2011 I 7 psi{ @ prox2 @ = IF \ seq; 12oct2011 10 I 1 psi{ +! \ extra act; 7sep2011 THEN \ 7sep2011 THEN \ 7sep2011 THEN \ end of proxcon test; 7sep2011 THEN ( http://www.ez-robot.com ) THEN \ end of test for inhibited concept; 29aug2011 THEN \ end of test for a moot query input; 20aug2011 THEN \ End of new test for external POV; 7may2011 I 0 psi{ @ 781 = IF \ 781=WHAT; 10nov2012 0 I 1 psi{ ! THEN I 0 psi{ @ 791 = IF \ 791=WHO; 10nov2012 0 I 1 psi{ ! \ As in InStantiate; 3may2011 THEN \ end of test for 791=WHO 10nov2012 I 0 psi{ @ 830 = IF \ 830=DO; 10nov2012 0 I 1 psi{ ! \ 12jan2010 For what-do queries. THEN \ End of 830=DO test; 10nov2012 1 spike ! \ 30jun2012 I 1 psi{ @ 0 = IF 0 spike ! THEN I 1 psi{ @ 5 > IF 7 spike ! THEN I 1 psi{ @ 10 > IF 8 spike ! THEN I 1 psi{ @ 15 > IF 9 spike ! THEN I 1 psi{ @ 20 > IF 10 spike ! THEN I 1 psi{ @ 25 > IF 11 spike ! THEN I 1 psi{ @ 30 > IF 12 spike ! THEN I 1 psi{ @ 35 > IF 13 spike ! THEN I 1 psi{ @ 40 > IF 14 spike ! THEN I 1 psi{ @ 45 > IF 15 spike ! THEN I 1 psi{ @ 50 > IF 16 spike ! THEN I 1 psi{ @ 55 > IF 17 spike ! THEN I 1 psi{ @ 60 > IF 18 spike ! THEN I 4 psi{ @ prepsi ! ( for SpreadAct 30jun2012 ) I 7 psi{ @ seqpsi ! ( for SpreadAct 30jun2012 ) I zone ! ( for SpreadAct 30jun2012 ) 148 caller ! SpreadAct ( for spreading activation 30jun2012 ) 0 oldpos ! 0 fyipsi ! \ 17oct2011 0 oldact ! 0 pre ! 0 prepsi ! 0 seq ! 0 seqpsi ! 0 psi1 ! 1 spike ! THEN -1 +LOOP 0 caller ! 0 urpsi ! THEN ; ( http://code.google.com/p/mindforth/wiki/ReActivate ) : InNativate ( quasi-instantiate the EnBoot sequence ) ( concept fiber psi ) psi @ t @ 0 psi{ ! ( Set "num" number flag ) num @ t @ 2 psi{ ! ( Store PREvious associand. ) pre @ t @ 4 psi{ ! ( Store functional pos code. ) pos @ t @ 5 psi{ ! ( Store the "tqv" time-point. ) tqv @ t @ 6 psi{ ! ( Store the subSEQuent tag. ) seq @ t @ 7 psi{ ! ( Store the EN-transfer tag. ) enx @ t @ 8 psi{ ! ; ( http://code.google.com/p/mindforth ) : OutBuffer ( right-justifies a word in memory ) 32 b01 ! 32 b02 ! 32 b03 ! 32 b04 ! 32 b05 ! 32 b06 ! 32 b07 ! 32 b08 ! 32 b09 ! 32 b10 ! 32 b11 ! 32 b12 ! 32 b13 ! 32 b14 ! 32 b15 ! 32 b16 ! c16 @ 32 > IF \ if the AudBuffer is full; 14nov2012 c16 @ b16 ! c15 @ b15 ! c14 @ b14 ! c13 @ b14 ! c12 @ b12 ! c11 @ b11 ! c10 @ b10 @ c09 @ b09 ! c08 @ b08 ! c07 @ b07 ! c06 @ c06 ! c05 ! b05 ! c04 @ b04 ! c03 @ c03 ! c02 @ b02 ! c01 @ c01 ! EXIT \ abandon remainder of function; 13nov2012 THEN \ end of transfer of 16-character word; 13nov2012 c15 @ 32 > IF \ word only 15 chars long? 14nov2012 c15 @ b16 ! c14 @ b15 ! c13 @ b14 ! c12 @ b13 ! c11 @ b12 ! c10 @ b11 ! c09 @ b10 ! c08 @ b09 ! c07 @ b08 ! c06 @ b07 ! c05 @ b06 ! c04 @ b05 ! c03 @ b04 ! c02 @ b03 ! c01 @ b02 ! EXIT THEN \ transfer of a 15-character word; 13nov2012 c14 @ 32 > IF c14 @ b16 ! c13 @ b15 ! c12 @ b14 ! c11 @ b13 ! c10 @ b12 ! c09 @ b11 ! c08 @ b10 ! c07 @ b09 ! c06 @ b08 ! c05 @ b07 ! c04 @ b06 ! c03 @ b05 ! c02 @ b04 ! c01 @ b03 ! EXIT THEN c13 @ 32 > IF c13 @ b16 ! c12 @ b15 ! c11 @ b14 ! c10 @ b13 ! c09 @ b12 ! c08 @ b11 ! c07 @ b10 ! c06 @ b09 ! c05 @ b08 ! c04 @ b07 ! c03 @ b06 ! c02 @ b05 ! c01 @ b04 ! EXIT THEN c12 @ 32 > IF c12 @ b16 ! c11 @ b15 ! c10 @ b14 ! c09 @ b13 ! c08 @ b12 ! c07 @ b11 ! c06 @ b10 ! c05 @ b09 ! c04 @ b08 ! c03 @ b07 ! c02 @ b06 ! c01 @ b05 ! EXIT THEN c11 @ 32 > IF c11 @ b16 ! c10 @ b15 ! c09 @ b14 ! c08 @ b13 ! c07 @ b12 ! c06 @ b11 ! c05 @ b10 ! c04 @ b09 ! c03 @ b08 ! c02 @ b07 ! c01 @ b06 ! EXIT THEN c10 @ 32 > IF c10 @ b16 ! c09 @ b15 ! c08 @ b14 ! c07 @ b13 ! c06 @ b12 ! c05 @ b11 ! c04 @ b10 ! c03 @ b09 ! c02 @ b08 ! c01 @ b07 ! EXIT THEN c09 @ 32 > IF c09 @ b16 ! c08 @ b15 ! c07 @ b14 ! c06 @ b13 ! c05 @ b12 ! c04 @ b11 ! c03 @ b10 ! c02 @ b09 ! c01 @ b08 ! EXIT THEN c08 @ 32 > IF c08 @ b16 ! c07 @ b15 ! c06 @ b14 ! c05 @ b13 ! c04 @ b12 ! c03 @ b11 ! c02 @ b10 ! c01 @ b09 ! EXIT THEN c07 @ 32 > IF c07 @ b16 ! c06 @ b15 ! c05 @ b14 ! c04 @ b13 ! c03 @ b12 ! c02 @ b11 ! c01 @ b10 ! EXIT THEN c06 @ 32 > IF c06 @ b16 ! c05 @ b15 ! c04 @ b14 ! c03 @ b13 ! c02 @ b12 ! c01 @ b11 ! EXIT THEN c05 @ 32 > IF c05 @ b16 ! c04 @ b15 ! c03 @ b14 ! c02 @ b13 ! c01 @ b12 ! EXIT THEN c04 @ 32 > IF c04 @ b16 ! c03 @ b15 ! c02 @ b14 ! c01 @ b13 ! EXIT THEN c03 @ 32 > IF c03 @ b16 ! c02 @ b15 ! c01 @ b14 ! EXIT THEN c02 @ 32 > IF c02 @ b16 ! c01 @ b15 ! EXIT THEN c01 @ 32 > IF c01 @ b16 ! EXIT THEN ; \ end of OutBuffer; return to AudBuffer or VerbGen. : AudBuffer ( for transfer of words to OutBuffer; 12nov2012 ) 1 phodex +! \ increment; 12nov2012 phodex @ 1 = IF \ Erase any left-over old data; abc @ c01 ! \ fill in first item of new data. 32 c02 ! 32 c03 ! 32 c04 ! 32 c05 ! 32 c06 ! 32 c07 ! 32 c08 ! 32 c09 ! 32 c10 ! 32 c11 ! 32 c12 ! 32 c13 ! 32 c14 ! 32 c15 ! 32 c16 ! THEN \ end of blanking out with 32=SPACE phodex @ 2 = IF abc @ c02 ! THEN \ 12nov2012 phodex @ 3 = IF abc @ c03 ! THEN \ 12nov2012 phodex @ 4 = IF abc @ c04 ! THEN \ 12nov2012 phodex @ 5 = IF abc @ c05 ! THEN \ 12nov2012 phodex @ 6 = IF abc @ c06 ! THEN \ 12nov2012 phodex @ 7 = IF abc @ c07 ! THEN \ 12nov2012 phodex @ 8 = IF abc @ c08 ! THEN \ 12nov2012 phodex @ 9 = IF abc @ c09 ! THEN \ 12nov2012 phodex @ 10 = IF abc @ c10 ! THEN \ 12nov2012 phodex @ 11 = IF abc @ c11 ! THEN \ 12nov2012 phodex @ 12 = IF abc @ c12 ! THEN \ 12nov2012 phodex @ 13 = IF abc @ c13 ! THEN \ 12nov2012 phodex @ 14 = IF abc @ c14 ! THEN \ 12nov2012 phodex @ 15 = IF abc @ c15 ! THEN \ 12nov2012 phodex @ 16 = IF abc @ c16 ! THEN \ 12nov2012 OutBuffer \ right-justify each input word; 15nov2012 0 abc ! \ reset for non-persistence; 14nov2012 ; \ end of AudBuffer; return to AudInput or VerbGen : InStantiate ( create a concept-fiber node ) seqneed @ 0 = IF 5 seqneed ! THEN \ test; 27jul2012 precand @ 0 > IF precand @ pre ! THEN ordo @ 1 = IF 0 prevtag ! THEN firstword @ 830 = IF \ DO or DOES; 10nov2012 1 moot ! \ deprive queries of pre and seq tags; 19aug2011 THEN \ end of test for a DO-query; 19aug2011 firstword @ 781 = firstword @ 791 = OR IF \ 10nov2012 1 proxcon ! \ set for 781=WHAT or 791=WHO; 10nov2012 THEN lastword @ 1 = IF 0 seq ! THEN ( http://home.iae.nl/users/mhx/i4faq.html ) t @ 610 > IF \ Avoid the EnBoot vault; 11nov2012 whoflag @ 1 = IF psi @ 800 = IF 800 beflag ! THEN \ 10nov2012 pos @ 5 = pos @ 7 = OR IF beflag @ seq ! 0 beflag ! THEN THEN psi @ 781 = IF \ Special handling of 781=WHAT; 10nov2012 1 indefartcon ! \ indefinite article condition 16apr2011 0 act ! \ To suppress "WHAT" during answer. THEN \ End of test for input of "WHAT" psi @ 791 = IF \ Special handling of 791=WHO; 10nov2012 1 defartcon ! \ Set definite article condition 16apr2011 1 whoflag ! 0 act ! \ To suppress "WHO" during answer. THEN singflag @ 1 = IF pos @ 5 = IF 1 num ! 0 singflag ! THEN THEN psi @ 1 = psi @ 83 = OR IF \ "A" or "AN"; 6aug2011 1 singflag ! 0 act ! THEN THEN \ end of InStantiate t-test clause; 14jul2012 pos @ 5 = IF \ noun either external or internal; 6aug2011 recnum @ 0 > IF \ If positive recog-num; 6aug2022 recnum @ num ! \ Override num(ber); 6aug2011 \ 0 recnum ! \ reset for safety; 6aug2011; 14jul2012 THEN \ End of test for positive recog-num; 6aug2011 THEN \ End of test for a 5=pos noun; 6aug2011 pov @ 42 = IF \ If POV is external; 24jun2011 num @ 0 = IF \ if no num(ber) is assigned; 24jun2011 putnum @ 0 > IF \ if putative number is positive putnum @ num ! \ replace zero with putative num THEN \ end of test for positive putnum; 24jun2011 THEN \ end of test for missing num-value; 24jun2011 pos @ 8 = IF putnum @ num ! THEN \ test; 24jun2011 pos @ 5 = IF psi @ quobj ! THEN \ for AskUser; 6aug2011 THEN \ End of test for "*" external POV; 20aug2011 pov @ 35 = IF \ If POV is pound-sign internal; 3may2011 num @ 0 = IF \ if no num(ber) is assigned; 24jun2011 putnum @ 0 > IF \ if putative number is positive putnum @ num ! \ replace zero with putative num 0 putnum ! \ zero for safety; test; 5aug2011 THEN \ end of test for positive putnum; 24jun2011 THEN \ end of test for missing num-value; 24jun2011 pos @ 8 = IF putnum @ num ! THEN \ test; 24jun2011 0 act ! \ 0 activation for ReEntry concepts; 26apr2011 THEN \ End of test for #internal POV; 7may2011 prevtag @ pre ! t @ vault @ < IF 0 pre ! THEN \ for safety; 22sep2011 ( concept fiber psi ) psi @ t @ 0 psi{ ! moot @ 0 = IF \ deprive queries of tags; 20aug2011 ( Set "act" activation level. ) act @ t @ 1 psi{ +! pos @ 8 = IF \ Re-using code; test for a verb; 28jun2012 16 t @ 1 psi{ +! \ Accentuate verbs; 28jun2012 THEN \ End of test for verbs; 28jun2012 THEN \ end of test for a moot query input; 20aug2011 ( Set "num" number flag ) num @ t @ 2 psi{ ! ( Store JUXtaposition tags. ) jux @ t @ 3 psi{ ! moot @ 0 = IF \ deprive queries of tags; 19aug2011 ( Store PREvious associand. ) pre @ t @ 4 psi{ ! THEN \ end of test for a moot query input; 19aug2011 ( Store functional pos code. ) pos @ t @ 5 psi{ ! seq @ 0 > IF \ avoid spurious carry-over tqv; 1aug2012 ( Store the "tqv" time-point. ) tqv @ t @ 6 psi{ ! THEN \ only store "tqv" if there is a "seq"; 1aug2012 moot @ 0 = IF \ deprive queries of tags; 19aug2011 ( Store the subSEQuent tag. ) seq @ t @ 7 psi{ ! THEN \ end of test for a moot query input; 19aug2011 ( Store the EN-transfer tag. ) enx @ t @ 8 psi{ ! t @ vault @ < IF \ store only during EnBoot; 29sep2011 \ ( Store the "tqv" time-point. ) tqv @ t @ 8 psi{ ! THEN \ otherwise store "tqv" retroactively; 29sep2011 num @ instnum ! pos @ 5 = IF num @ putnum ! THEN \ noun to verb; 24jun2011 0 num ! jux @ 250 = IF 0 jux ! THEN \ reset after use; 10nov2012 prejux @ 250 = IF \ 250=NOT from OldConcept; 10nov2012 250 jux ! \ set jux for next instantiand; 10nov2012 0 prejux ! \ reset for safety; 21jul2011 THEN \ end of post-instantiation test; 21jul2011 mfn @ 1 = mfn @ 2 = OR IF \ masc or fem; 17aug2010 mfn @ mfnflag ! \ 17aug2010 THEN \ 17aug2010 mfn @ 0 = IF 0 mfnflag ! THEN \ test; 25aug2010 0 mfn ! \ Test code applies only to En array. 0 preset ! pos @ 5 = pos @ 7 = OR IF psi @ prevtag ! THEN psi @ 830 = NOT IF \ DO? DOES? 10nov2012 psi @ 830 = NOT IF \ 830=DO/DOES; 10nov2012 seqneed @ 8 = IF \ if looking for a verb; 2oct2011 pos @ 8 = IF \ if part-of-speech is verb; 2oct2011 psi @ seq ! \ verb has arrived; 2oct2011 0 seqneed ! \ zero out after use; 2oct2011 1 transcon ! \ until noun fails to come in; 24jan2013 pos @ seqpos ! \ possibly for tqv; 2oct2011 THEN \ end of test for 8=pos verb; 2oct2011 tsn @ t @ 2 - DO \ look for noun needing seq; 1jul2012 I 5 psi{ @ 5 = I 5 psi{ @ 7 = OR IF \ (pro)noun 2oct2011 moot @ 0 = IF \ deprive queries of tags; 5oct2011 seq @ I 7 psi{ ! \ insert the seq; 12oct2011 seqpos @ 8 = IF \ a verb? 2oct2011 t @ I 6 psi{ ! \ insert "tqv" value; 12oct2011 t @ tqv ! \ assign "tqv" value; 2oct2011 THEN \ end of seqpos=verb test; 2oct2011 THEN \ end of test for a moot query input; 5oct2011 LEAVE \ insert only one seq; 2oct2011 THEN \ end of test for subject noun or pronoun 2oct2011 -1 +LOOP \ end of backwards loop; 2oct2011 THEN \ end of test for needing a verb; 2oct2011 THEN \ end of skipping auxiliary DOES; 6oct2011 THEN \ end of skipping auxiliary verb DO; 6oct2011 seqneed @ 5 = IF \ if looking for a noun; 5oct2011 pos @ 5 = pos @ 7 = OR IF \ if noun or pronoun; 5oct2011 4 dba ! \ from DeKi: assuming acc. dir. obj.; 27dec2012 psi @ seq ! \ because a (pro)noun has arrived; 5oct2011 0 seqneed ! \ zero out after use; 5oct2011 pos @ seqpos ! \ possibly for tqv; 5oct2011 ELSE \ if no direct object is found; 24jan2012 0 transcon ! \ declare intransitive verb; 24jan2013 THEN \ end of test for 5=pos noun or 7=pos pronoun; 5oct2011 tsn @ t @ 2 - DO \ look for verb needing "seq"; 1jul2012 I 5 psi{ @ 8 = IF \ verb? 5oct2011 moot @ 0 = IF \ deprive queries of tags; 5oct2011 transcon @ 1 = IF \ verb transitive? 24jan2012 seq @ I 7 psi{ ! \ insert the seq; 12oct2011 seqpos @ 5 = seqpos @ 7 = OR IF \ (pro)noun? 5oct2011 t @ I 6 psi{ ! \ insert "tqv" value; 12oct2011 t @ tqv ! \ assign "tqv" value; 5oct2011 THEN \ end of seqpos=(pro)noun test; 5oct2011 THEN \ end of test for positive "transcon"; 24jan2013 THEN \ end of test for a moot query input; 5oct2011 LEAVE \ insert only one seq; 5oct2011 THEN \ end of test for a verb; 5oct2011 -1 +LOOP \ end of backwards loop; 5oct2011 THEN \ end of test for needing a noun; 5oct2011 ordo @ 2 = IF \ 7sep2011 psi @ prox2 ! \ 7sep2011 THEN \ 7sep2011 ordo @ 3 = IF \ 7sep2011 psi @ prox3 ! \ 7sep2011 THEN \ 7sep2011 pos @ 5 = pos @ 7 = OR IF \ (pro)noun? 2oct2011 8 seqneed ! \ need "8=verb" seq; 2oct2011 THEN \ end of test for a noun or a pronoun; 2oct2011 pos @ 6 = IF \ if preposition; 2oct2011 5 seqneed ! \ need noun or pronoun; 2oct2011 THEN ( http://home.hccnet.nl/a.w.m.van.der.horst/ciforth.html ) psi @ 830 = NOT IF \ skip auxiliary verb "830=DO"; 10nov2012 psi @ 830 = NOT IF \ skip auxiliary "830=DOES"; 10nov2012 pos @ 8 = IF \ if verb then need noun as "seq"; 5oct2011 5 seqneed ! \ seek noun or pronoun as "seq"; 5oct2011 THEN \ end of test for 8=verb; 5oct2011 THEN \ end of test to skip auxiliary DOES; 6oct2011 THEN \ end of test to skip auxiliary DO; 6oct2011 lastword @ 1 = IF 0 lastword ! THEN \ for seqneed; 30jun2012 0 dba ! \ from DeKi: reset for safety; 27dec2012 0 recnum ! \ lest carry-over to other words; 19jul2011 0 seq ! ; ( http://code.google.com/p/mindforth/wiki/InStantiate ) : EnVocab ( English Vocabulary node creation; 8jul2012 ) ( Number "nen" of English ) nen @ t @ 0 en{ ! ( Do not store the activation level; it is a transient.) ( Store "num" number tag. ) num @ t @ 2 en{ ! ( Store "mfn" gender tag. ) mfn @ t @ 3 en{ ! ( Store case or person tag. ) dba @ t @ 4 en{ ! ( Store mindcore EXit tag. ) fex @ t @ 5 en{ ! ( Store part of speech "pos".) pos @ t @ 6 en{ ! ( Store mindcore IN tag. ) fin @ t @ 7 en{ ! ( Store the auditory "aud" tag. ) aud @ t @ 8 en{ ! 0 dba ! \ reset for safety; 27dec2012 ; ( http://code.google.com/p/mindforth/wiki/EnVocab ) : EnParser ( determine the part of speech ) 5 bias ! 35 act ! \ Activate lower than ReActivate; 29may2011 pov @ 42 = IF \ only during external input; 9oct2010 act @ ordo @ - act ! \ reduce S-V-O act's; 9oct2010 THEN \ end of test for external POV; 9oct2010 InStantiate \ create a Psi concept node; 6nov2010 pos @ 5 = IF 8 bias ! THEN pos @ 7 = IF 8 bias ! THEN pos @ 8 = IF 5 bias ! 0 singflag ! THEN \ 4nov2011 ; ( http://code.google.com/p/mindforth/wiki/EnParser ) : EnReify ( express abstract concepts as real words ) 0 act ! midway @ t @ DO I 1 psi{ @ 0 > IF I 1 psi{ @ lexact ! I 2 psi{ @ num ! lexact @ I 1 en{ ! num @ I 2 en{ ! 0 lexact ! THEN ( http://home.vrweb.de/~stephan.becher/forth ) 0 enx ! 0 act ! 0 lexact ! -1 +LOOP 0 act ! ; ( http://code.google.com/p/mindforth/wiki/EnReify ) : KbSearch ( knowledge base search ) ordo @ 2 = IF NounAct ( may need a "nacpsi" value ) EnReify THEN ( http://www.ccreweb.org/software/kforth ) ordo @ 3 = IF 0 act ! midway @ t @ DO I 5 en{ @ 8 = IF \ Test part-of-speech. I 1 en{ @ act @ > IF ( if en1 is higher ) I 0 en{ @ memoire ! ( store psi-tag of word ) I 1 en{ @ act ! ( to test for a higher en1 ) THEN THEN -1 +LOOP yesorno @ 0 > IF memoire @ psi @ = IF 1 yesorno +! ELSE 0 yesorno ! THEN THEN psi @ vacpsi ! \ deglobalizing; 27sep2010 VerbAct 0 vacpsi ! \ reset for safety; 27sep2010 EnReify THEN ordo @ 4 = IF 0 act ! 0 memoire ! midway @ t @ DO I 5 en{ @ 5 = I 5 en{ @ 7 = OR IF I 1 en{ @ act @ > IF ( if en1 is higher ) I 0 en{ @ memoire ! ( store psi-tag of word ) I 1 en{ @ act ! ( to test for a higher en1 ) THEN THEN -1 +LOOP yesorno @ 0 > IF memoire @ psi @ = IF 1 yesorno +! ELSE 0 yesorno ! THEN THEN ( http://www.lifeai.com ) THEN 0 kbquiz ! ordo @ 4 = IF 0 ordo ! THEN ; ( http://code.google.com/p/mindforth/wiki/KbSearch ) : KbRetro ( retroactive adjustment of knowledge base ) oldpsi @ 432 = oldpsi @ 404 = OR IF \ yes or no 10nov2012 oldpsi @ 404 = IF \ 404=NO; 10nov2012 64 tkbn @ 1 psi{ ! \ high noun activation 21jul2011 64 tkbv @ 1 psi{ ! \ set high activation? 2jul2011 250 tkbv @ 3 psi{ ! \ set 250=NOT jux flag 27dec2012 \ CR ." KbRetro: answer is No " \ 29dec2012 THEN \ End of test for "No" answer; 2jul2011 oldpsi @ 432 = IF \ 432=YES; 10nov2012 64 tkbv @ 1 psi{ ! \ set high activation? 2jul2011 \ CR ." KbRetro: answer is Yes " \ 29dec2012 THEN \ End of test for "Yes" answer; 2jul2011 ELSE \ if neither; 2jul2011 0 tkbn @ 4 psi{ ! \ delete pre-tag for noun; 2jul2011 0 tkbn @ 7 psi{ ! \ delete seq-tag for noun; 12oct2011 0 tkbv @ 4 psi{ ! \ delete pre-tag for verb; 2jul2011 0 tkbv @ 7 psi{ ! \ delete seq-tag for verb; 12oct2011 \ CR ." KbRetro: answer is neither Yes nor No " \ 29dec2012 THEN ( http://retroforth.org ) 0 kbcon ! \ temporarily here turn off kbcon; 2jul2011 0 tkbn ! \ reset for safety; 2jul2011 0 tkbv ! \ reset for safety; 2jul2011 ; ( http://code.google.com/p/mindforth/wiki/KbRetro ) : OldConcept ( recognize a known word ) 28 act ! \ A value subject to optimization; 28sep2010 midway @ t @ DO \ I 0 en{ @ oldpsi @ = IF I 0 en{ @ oldpsi @ = I 8 en{ @ 0 > AND IF \ 29dec2012 I 2 en{ @ 0 > IF I 2 en{ @ ocn ! THEN \ "unk" is too global; 14jul2012 I 3 en{ @ 0 > IF I 3 en{ @ mfn ! THEN ( I 4 en{ @ dba ! is not trustworthy for verbs 28dec2012 ) I 5 en{ @ 0 > IF \ adding dba; 10nov2012 I 5 en{ @ fex ! THEN \ adding dba; 10nov2012 I 6 en{ @ 0 > IF \ adding dba; 10nov2012 I 6 en{ @ pos ! THEN \ adding dba; 10nov2012 I 7 en{ @ 0 > IF \ adding dba; 10nov2012 I 7 en{ @ fin ! THEN \ adding dba; 10nov2012 LEAVE THEN ( http://home.iae.nl/users/mhx/eforth.html ) -1 +LOOP pos @ 8 = IF \ verb? for WhatAuxSVerb 13jun2011 numsubj @ unk ! \ assume agreement; 19jun2011 3 dba ! \ 3rd person default before changes; 27dec2012 putdbav @ 0 > IF \ positive putdbav? 27dec2012 putdbav @ dba ! \ transfer; 27dec2012 0 putdbav ! \ reset after use; 27dec2012 THEN \ end of test for putative dba; 27dec2012 THEN \ end of test for verb \ 13jun2011 oldpsi @ 800 = IF t @ tbev ! THEN \ 800=BE; 10nov2012 pos @ 5 = pos @ 7 = OR IF \ noun or pron.? 27dec2012 1 dba ! \ default before changes; 27dec2012 audverb @ 0 > IF \ preceded by a verb? 27dec2012 audverb @ 800 = NOT IF \ except be-verbs; 27dec2012 4 dba ! \ accusative direct object; 27dec2012 THEN \ code snippet taken from Wotan DeKi; 27dec2012 0 audverb ! \ reset after use; 27dec2012 THEN \ end of test for positive audverb; 27dec2012 THEN \ end of test for noun or pronoun; 27dec2012 oldpsi @ 701 = oldpsi @ 731 = OR IF 1 putdbav ! THEN oldpsi @ 707 = oldpsi @ 737 = OR IF 2 putdbav ! THEN subjectflag @ 1 = IF 1 dba ! THEN \ nom. subj. 27dec2012 dirobj @ 1 = IF 4 dba ! THEN \ acc. dir. obj. 27dec20122012 pov @ 42 = IF \ external POV during input; 18dec2012 oldpsi @ 800 = IF 1 becon ! THEN \ InFerence; 18dec2012 THEN \ only set becon during external input; 18dec2012 ( oldpsi found by AudRecog ) oldpsi @ t @ 0 en{ ! ( Add zero activation 28jul2011 ) 0 t @ 1 en{ +! ocn @ 0 > IF \ from AudInput for old nouns; 14oct2011 ( Store old-concept-number tag ) ocn @ t @ 2 en{ ! 0 ocn ! \ reset to zero after use; 14oct2011 THEN \ leaving only one space in "2 en{" etc 8jul2012 pcn @ 0 > IF \ from NounPhrase predicate selection; 17jul2012 ( Store pred-concept-number tag ) pcn @ t @ 2 en{ ! \ 0 pcn ! \ reset to zero after use; 17jul2012 THEN \ leaving one search-space in "2 en{" etc 17jul2012 ( Store "mfn" gender tag. ) mfn @ t @ 3 en{ ! ( Store "dba" tag; 10nov2012 ) dba @ t @ 4 en{ ! ( Store mindcore EXit tag. ) fex @ t @ 5 en{ ! ( Store part of speech "pos".) pos @ t @ 6 en{ ! ( Store mindcore IN tag. ) fin @ t @ 7 en{ ! ( Store the auditory "aud" tag. ) aud @ t @ 8 en{ ! pov @ 35 = IF fex @ oldpsi ! THEN ( internal pov ) pov @ 42 = IF fin @ oldpsi ! THEN ( external pov ) oldpsi @ enx ! oldpsi @ 250 = IF \ 250=NOT; 10nov2012 tbev @ 0 > IF \ if positive be-verb time; 27jul2011 250 tbev @ 3 psi{ ! \ set verb "jux" to NOT 10nov2012 0 tbev ! \ reset for safety; 27jul2011 THEN \ end of test for a positive tbev; 27jul2011 THEN \ end of test for input of 250=NOT; 10nov2012 oldpsi @ 781 = IF 8 act ! THEN ( 781=WHAT; 10nov2012 ) oldpsi @ 791 = IF 8 act ! THEN ( 791=WHO; 10nov2012 ) ordo @ 1 = IF oldpsi @ 830 = IF ( 830=DO; 10nov2012 ) 1 kbquiz ! THEN THEN oldpsi @ 830 = IF 0 act ! THEN ( 830=DO; 10nov2012 ) oldpsi @ 117 = IF 1 act ! THEN ( 117=THE; 10nov2012 ) kbcon @ 0 > IF \ if awaiting answer; 2jul2011 KbRetro \ retroactively adjust knowledge base; 2jul2011 THEN \ 2jul2011 oldpsi @ 250 = IF \ 250=NOT; 10nov2012 250 prejux ! \ set flag for verb; 10nov2012 250 aftjux ! \ set flag for a be-verb; 10nov2012 THEN \ end of test for 250=NOT negation; 10nov2012 oldpsi @ psi ! EnParser fyi @ 2 > IF CR ." from OldConcept " THEN pov @ 42 = IF \ external POV during input; 18dec2012 pos @ 5 = IF \ nouns only, not pronouns; 27dec2012 subjnom @ 0 > IF \ already subjnom? 27dec2012 oldpsi @ prednom ! \ 27dec2012 THEN \ end of test for pre-existing subjnom; 27dec2012 prednom @ 0 = IF \ 27dec2012 oldpsi @ subjnom ! \ grab for InFerence; 27dec2012 THEN \ alternate between subjnon and prednom; 27dec2012 THEN \ end of test for a noun; 27dec2012 pos @ 8 = IF \ verb part-of-speech? 27dec2012 oldpsi @ 800 = NOT IF \ other than be-verb? 27dec2012 0 subjnom ! \ cancel out any subjnom; 27dec2012 THEN \ end of test for a be-verb; 27dec2012 THEN \ end of test for a verb; 27dec2012 \ subjnom @ 0 = IF \ not yet declared? 18dec2012 \ pos @ 5 = IF \ nouns only, not pronouns; 18dec2012 \ oldpsi @ subjnom ! \ grab for InFerence; 18dec2012 \ THEN \ end of test for a noun; 18dec2012 \ THEN \ end of test for no subjnom yet; 18dec2012 \ subjnom @ 0 > IF \ already declared? 18dec2012 \ becon @ 1 = IF \ be-verb in use? 18dec2012 \ pos @ 5 = IF \ nouns only, not pronouns; 18dec2012 \ oldpsi @ prednom ! \ grab for InFerence; 18dec2012 \ THEN \ end of test for a noun; 18dec2012 \ THEN \ end of test for be-verb input; 18dec2012 \ THEN \ end of test for positive subjnom; 18dec2012 THEN \ end of test for external-input POV; 18dec2012 pov @ 42 = IF ( external pov ) ReActivate THEN 0 act ! pov @ 35 = IF ( internal pov ) 1 match ! THEN \ pos @ 8 = IF psi @ quverb ! THEN \ for yes-or-no; 24jun2011 \ pos @ 8 = IF psi @ quverb ! THEN \ Commenting out 29dec2012 pos @ 8 = IF oldpsi @ audverb ! THEN \ for "dba"; 27dec2012 kbquiz @ 0 > IF 1 yesorno ! KbSearch THEN yesorno @ 0 > IF KbSearch THEN 0 pos ! \ Reset no longer above but down here. ; ( http://code.google.com/p/mindforth/wiki/OldConcept ) : NewConcept ( machine learning of new concepts ) 0 newpsi ! 1 nen +! 1 nwc +! nen @ newpsi ! nen @ stempsi ! nen @ psi ! nen @ fex ! nen @ fin ! bias @ pos ! bias @ 8 = IF \ 4nov2011 putnum @ num ! \ 4nov2011 0 putnum ! \ 4nov2011 0 singflag ! \ prevent carry-over; 4nov2011 3 dba ! \ default dba=3 third person; 26dec2012 putdbav @ 0 > IF \ positive putdbav? 27dec20122012 putdbav @ dba ! \ transfer; 27dec20122012 0 putdbav ! \ reset after use; 27dec2012 THEN \ 27dec2012 THEN \ 4nov2011 bias @ 5 = IF \ expecting a noun? 27dec2012 1 dba ! \ default before changes; 27dec2012 audverb @ 0 > IF \ preceded by a verb? 27dec2012 audverb @ 800 = NOT IF \ except be-verbs; 27dec2012 4 dba ! \ accusative direct object; 27dec2012 THEN \ part of code snippet from Wotan DeKi 27dec2012 0 audverb ! \ reset after use; 27dec2012 THEN \ end of test for positive audverb; 27dec2012 THEN \ end of test for expecting a noun; 27dec2012 EnVocab ( to create an English vocabulary node ) 0 fex ! 0 fin ! nen @ enx ! EnParser pos @ 8 = IF nen @ quverb ! THEN \ for yes-or-no; 24jun2011 pos @ 5 = IF \ if a new noun is encountered; 22oct2011 nen @ cogpsi ! \ hold onto new noun for WhatBe; 22oct2011 instnum @ cognum ! \ keep track of the num(ber); 22oct2011 THEN \ end of test of "pos" part-of-speech; 22oct2011 pov @ 42 = IF \ external POV during input? 18dec2012 pos @ 5 = IF \ nouns only, not pronouns; 27dec2012 subjnom @ 0 > IF \ already subjnom? 27dec2012 newpsi @ prednom ! \ 27dec2012 THEN \ end of test for pre-existing subjnom; 27dec2012 prednom @ 0 = IF \ 27dec2012 newpsi @ subjnom ! \ grab for InFerence; 27dec2012 THEN \ alternate between subjnon and prednom; 27dec2012 THEN \ end of test for a noun; 27dec2012 \ pos @ 8 = IF \ verb part-of-speech? 27dec2012 \ newpsi @ 800 = NOT IF \ other than be-verb? 27dec2012 \ 0 subjnom ! \ cancel out any subjnom; 27dec2012 \ THEN \ end of test for a be-verb; 27dec2012 \ THEN \ end of test for a verb; 27dec2012 \ subjnom @ 0 = IF \ not yet declared? 18dec2012 \ pos @ 5 = IF \ nouns only, not pronouns; 18dec2012 \ newpsi @ subjnom ! \ grab for InFerence; 18dec2012 \ THEN \ end of test for a noun; 18dec2012 \ THEN \ end of test for no subjnom yet; 18dec2012 \ subjnom @ 0 > IF \ already declared? 18dec2012 \ becon @ 1 = IF \ be-verb in use? 18dec2012 \ pos @ 5 = IF \ nouns only, not pronouns; 18dec2012 \ newpsi @ prednom ! \ grab for InFerence; 18dec2012 \ THEN \ end of test for a noun; 18dec2012 \ THEN \ end of test for be-verb input; 18dec2012 \ THEN \ end of test for positive subjnom; 18dec2012 THEN \ end of test for external-input POV; 18dec2012 kbcon @ 0 > IF \ if awaiting answer; 2jul2011 KbRetro \ retroactively adjust knowledge base; 2jul2011 THEN ( http://www.gnu.org/software/gforth ) 0 pos ! 0 act ! ; ( http://code.google.com/p/mindforth/wiki/NewConcept ) \ The visual recognition module of MindForth AI for robots \ when fully implemented will serve the purpose of letting \ AI Minds dynamically describe what they see in real time \ instead of fetching knowledge from the AI knowledge base. : VisRecog ( identification of objects seen by a robot ) svo3 @ 0 = IF \ if no direct object is available; midway @ t @ DO \ search for an automatic default I 0 en{ @ 760 = IF \ 760=NOTHING; 10nov2012 I 8 en{ @ aud ! \ hold address for SpeechAct LEAVE ( http://aimind-i.com ) THEN ( http://www.vicariousinc.com ) ) -1 +LOOP \ end of looping through English lexical array THEN ( http://opencv.willowgarage.com ) ; ( http://code.google.com/p/mindforth/wiki/VisRecog ) : AudRecog ( auditory recognition ) 0 audrec ! 0 psi ! 8 act ! 0 actbase ! midway @ spt @ DO I 0 aud{ @ pho @ = IF \ If incoming pho matches stored aud0; I 1 aud{ @ 0 = IF \ if matching engram has no activation; I 3 aud{ @ 1 = IF \ if beg=1 on matching no-act aud engram; \ audrun @ 1 = IF \ if comparing start of a word; 8may2010 audrun @ 2 < IF \ if comparing start of a word; 8may2010 I 4 aud{ @ 1 = IF \ If beg-aud has ctu=1 continuing, 8 I 1+ 1 aud{ ! \ activate the N-I-L character, 0 audrec ! I 5 aud{ @ 0 > IF \ audpsi available? 27dec2012 I 5 aud{ @ prc ! \ provisional recognition 27dec2012 THEN \ end of test for an early audpsi; 27dec2012 ELSE len @ 1 = IF I 5 aud{ @ monopsi ! THEN \ End of test for one char length. THEN \ end of test for continuation of beg-aud THEN \ end of test for audrun=1 start of word. THEN \ end of test for a beg(inning) non-active aud0 THEN \ end of test for matching aud0 with no activation I 1 aud{ @ 0 > IF \ If matching aud0 has activation, 0 audrec ! \ Zero out any previous audrec. I 4 aud{ @ 1 = IF \ If act-match aud0 has ctu=1 continuing, 2 act +! \ Increment act for discrimination. 0 audrec ! \ because match-up is not complete. act @ I 1+ 1 aud{ ! \ Increment for discrimination. THEN \ end of test for active-match aud0 continuation I 4 aud{ @ 0 = IF \ If ctu=0 indicates end of word len @ 2 = IF \ If len(gth) is only two characters. I 1 aud{ @ 7 > IF \ testing for eight (8). I 5 aud{ @ psibase ! \ Assume a match. THEN \ End of test for act=8 or positive. THEN \ End of test for two-letter words. THEN \ End of test in AudRecog for end of word. I 1 aud{ @ 8 > IF \ If activation higher than initial 8 actbase ! \ Since act is > 8 anyway; 8may2010 I 4 aud{ @ 0 = IF \ If matching word-engram now ends, I 1 aud{ @ actbase @ > IF \ Testing for high act. I 5 aud{ @ audrec ! \ Fetch the potential tag I 5 aud{ @ subpsi ! \ Seize a potential stem. len @ sublen ! \ Hold length of word-stem. I 5 aud{ @ psibase ! \ Hold onto winner. I 2 psi{ @ recnum ! \ recognized number 19jul2011 I 4 en{ @ 0 > IF \ from German AI; 27dec2012 I 4 en{ @ dba ! \ verb-recognition; 27dec2012 THEN \ end of test for dba; 27nov20122012 I 1 aud{ @ actbase ! \ Winner is new actbase. THEN \ End of test for act higher than actbase. ELSE \ part of AudRecog code; 14jul2012 0 audrec ! monopsi @ 0 > IF monopsi @ audrec ! 0 monopsi ! THEN ( http://code.google.com/p/reda4 ) THEN \ End of test for final char that has a psi-tag. THEN \ End of test for engram-activation above eight. THEN \ End of test for matching aud0 with activation. THEN \ End of test for a character matching "pho". I midway @ = IF \ If a loop reaches midway; 8may2010 1 audrun +! \ Increment audrun beyond unity; 8may2010 THEN \ End of test for loop reaching midway; 8may2010 -1 +LOOP 0 act ! 0 actbase ! psibase @ 0 > IF psibase @ audrec ! THEN audrec @ 0 = IF monopsi @ 0 > IF len @ 2 < IF monopsi @ audrec ! THEN 0 monopsi ! audrec @ 0 = IF psibase @ 0 > IF psibase @ audrec ! THEN THEN THEN THEN audrec @ 0 = IF morphpsi @ audrec ! sublen @ 0 > IF len @ sublen @ - stemgap ! THEN stemgap @ 0 < IF 0 stemgap ! THEN stemgap @ 1 > IF 0 subpsi ! THEN stemgap @ 1 > IF 0 morphpsi ! THEN stemgap @ 1 > IF 0 audrec ! THEN THEN subpsi @ morphpsi ! 0 psibase ! 0 subpsi ! audrec @ 0 > IF stemgap @ 2 > IF 0 audrec ! THEN THEN audrec @ audpsi ! 0 stemgap ! \ safety measure; 22sep2011 ; ( http://code.google.com/p/mindforth/wiki/AudRecog ) : AudMem ( auditory memory channel ) t @ vault @ > IF pho @ 32 > IF AudRecog THEN ( ASCII 32 = SPACE-bar ) THEN ( http://pygmy.utoh.org/pygmyforth.html ) t @ 1- 0 aud{ @ 0 = IF 1 beg ! THEN t @ 1- 0 aud{ @ 32 = IF 1 beg ! THEN pho @ t @ 0 aud{ ! pov @ t @ 2 aud{ ! beg @ t @ 3 aud{ ! ctu @ t @ 4 aud{ ! ctu @ 0 = IF audpsi @ 0 > IF audpsi @ t @ 5 aud{ ! THEN 0 audpsi ! THEN ( http://home.earthlink.net/~gmayhak/M5_htm.htm ) pov @ 42 = IF pho @ 83 = IF 0 stempsi ! wordend @ 1 = IF 0 t @ 1- 4 aud{ ! THEN 0 newpsi ! THEN THEN pho @ 32 = IF t @ spt ! THEN ; ( http://code.google.com/p/mindforth/wiki/AudMem ) : AudListen ( preparation for AudInput ) t @ 2 + tsn ! \ time when awaiting input; test; 1jul2012 rsvp @ 1 DO KEY? IF KEY pho ! 0 inert ! \ User input cancels "inert" status; 16oct2011 0 quiet ! pho @ 8 = IF 7 EMIT THEN pho @ 9 = IF \ 400 rsvp ! ( 23dec2009 From Supercomputer mind.frt ) 2000 rsvp ! ( 24jul2014 Slow down for sake of user input. ) pho @ 13 = IF 1 lastword ! THEN fyi @ 0 = IF CR CR TIME&DATE tsyear ! tsmonth ! tsday ! tshour ! tsminute ! tssecond ! ." Transcript of Forthmind " vrsn @ . ." interview at " \ declare version; 3aug2012 tshour @ . tsminute @ . tssecond @ . ." o'clock on " tsday @ . tsmonth @ 1 = IF ." January " THEN tsmonth @ 2 = IF ." February " THEN tsmonth @ 3 = IF ." March " THEN tsmonth @ 4 = IF ." April " THEN tsmonth @ 5 = IF ." May " THEN tsmonth @ 6 = IF ." June " THEN tsmonth @ 7 = IF ." July " THEN tsmonth @ 8 = IF ." August " THEN tsmonth @ 9 = IF ." September " THEN tsmonth @ 10 = IF ." October " THEN tsmonth @ 11 = IF ." November " THEN tsmonth @ 12 = IF ." December " THEN tsyear @ . 8 EMIT 46 EMIT CR THEN 1 fyi +! fyi @ 3 > IF 0 fyi ! THEN fyi @ 0 = IF CR ." Normal display mode. Tab 1 = " ." Transcript; 2 = Tutorial; 3 = Diagnostic." CR THEN fyi @ 2 = IF CR ." Tutorial mode reveals the internal " ." thinking of the AI Mind." CR CR THEN fyi @ 3 = IF CR ." Diagnostic messages - ignore during input " ." until you press ENTER." CR THEN 0 pho ! THEN pho @ 27 = IF 0 nounval ! 0 lopsi ! 0 hipsi ! CR CR ." User Command: halt" 0 pho ! 0 rjc ! 0 fyi ! CR ." You may enter .psi or .en or .aud to view " ." memory engrams, or " CR ." MainLoop [ENTER] " ." to erase memories and restart the Mind." CR ." Type 'bye' to quit Forth, EXIT to quit DOS." CR 0 audpsi ! 0 newpsi ! 0 oldpsi ! 0 stempsi ! 1 audrun ! \ 26jul2010 In case AI is run again. 0 defartcon ! \ 16apr2011 In case AI is run again. 0 indefartcon ! \ 16apr2011 In case AI is run again. 0 kbtv ! \ 28sep2010 In case AI is run again. 0 mfn ! \ 25aug2010 In case AI is run again. 0 mfnflag ! \ 23aug2010 In case AI is run again. 0 motjuste ! \ 29aug2010 In case AI is run again. 0 objold ! \ 12oct2010 In case AI is run again. 0 ordo ! \ 21dec2009 In case AI is run again. 0 prsn ! \ 29aug2010 In case AI is run again. 0 psi1 ! \ 25aug2010 In case AI is run again. 0 quo ! \ 27dec2009 In case AI is run again. 0 qup ! \ 28dec2009 In case AI is run again. 0 subjold ! \ 9oct2010 In case AI is run again. 0 subjpsi ! \ 1jan2010 In case AI is run again. 0 vphract ! \ 21jun2011 In case AI is run again. 0 whoflag ! \ 23jul2010 In case AI is run again. QUIT THEN pho @ 0 > IF pho @ EMIT THEN pho @ DUP 96 > IF \ convert input to UPPERCASE DUP 123 < IF 32 - THEN THEN pho ! \ save UPPERCASE as pho(neme) again. pho @ abc ! \ for transfer to AudBuffer; 12nov2012 LEAVE ELSE ." " THEN 8 EMIT LOOP pho @ 0 > IF \ if user enters data; 19sep2010 0 lurk ! \ reset; 19sep2010 THEN \ end of test for user entry; 19sep2010 1 lurk +! \ test; remove; 19sep2010 ; ( http://code.google.com/p/mindforth/wiki/AudListen ) : AudInput ( accept auditory input ) 0 match ! 0 upnext ! 0 urpsi ! t @ nlt ! pov @ 42 = IF fyi @ 2 = IF ." AudInput calls AudListen " ." (Tab key will slow the AI down)." CR THEN t @ spt ! t @ 8 > IF .echo THEN ( show output of AI ) CR ." Human: " THEN 140 0 DO ( Accept a tweet of 140 characters from Twitter) pov @ 35 = IF ( during internal re-entry ) pho @ 13 = IF \ if a CR is declared; 8may2010 1 audrun ! \ Reset to one at CR end of input. THEN \ end of test for a declared CR; 8may2010 1 upnext +! upnext @ 1 = IF obstat @ 0 = IF kbpsi @ lopsi ! 0 kbpsi ! lopsi @ urpsi ! 3535 caller ! pho @ 64 > IF urpsi @ qup @ = IF urpsi @ vacpsi ! \ prep to deglobalize; 27sep2010 urpsi @ psi ! VerbAct 0 vacpsi ! \ reset for safety; 27sep2010 THEN THEN hipsi @ lopsi ! 0 caller ! 0 urpsi ! 1 obstat ! THEN THEN \ AudInput; 14jul2012 bias @ 5 = IF \ If EnParser expects a noun; 6aug2011 pho @ 83 = IF \ If "83=S"; 6aug2011 2 num ! \ Assign plural number; 6aug2011 2 ocn ! \ Dislodgeable old-concept number; 14oct2011 THEN \ Only terminating "S" governs "num" 6aug2011 pho @ 0 > IF \ Disregard empty pho; 6aug2011 pho @ 32 = NOT IF \ Disregard SPACE; 6aug2011 pho @ 13 = NOT IF \ Disregard CR; 6aug2011 pho @ 83 = NOT IF \ If other than "S"; 6aug2011 recnum @ 0 > IF \ if recognized; 4nov2011 recnum @ num ! \ transfer value; 14jul2012 recnum @ ocn ! \ transfer value; 14jul2012 ELSE \ for non-S words w. no recnum; 16jul2012 0 num ! \ default non-plural; 14jul2011 0 ocn ! \ default non-plural; 14jul2012 THEN \ end of recognition-test; 4nov2011 ELSE \ if there is a recnum; 16jul2012 recnum @ num ! \ transfer value; 16jul2012 recnum @ ocn ! \ transfer value; 16jul2012 THEN \ If last letter is not "S"; 6aug2011 THEN \ End of test for carriage-return 6aug2011 THEN \ End of test for SPACE; 6aug2011 THEN \ End of test for empty pho; 6aug2011 THEN \ End of test for noun-expected; 6aug2011 THEN \ end of test for pov "35=#" internal reentry pov @ 42 = IF ( during external input ) AudListen pho @ 0 > IF \ If a character comes in; 14nov2012 AudBuffer \ For external input; 14nov2012 THEN \ end of test for a positive "pho"; 14mov2012 pho @ 0 > IF 0 kbtv ! 1 upnext +! upnext @ 1 = IF hipsi @ urpsi ! \ What-do queries require hipsi @ lopsi ! \ Preventing a residuum lets 0 caller ! \ SelfRef answer I DO NOT KNOW 0 urpsi ! \ if no direct object is active. THEN 2000 rsvp ! ( give more time; 24jul2014 ) THEN I 138 = IF rsvp @ 250 > IF 100 rsvp ! THEN THEN I 139 = IF pho @ 0 = IF rsvp @ 1 - rsvp ! rsvp @ 2 < IF 2000 rsvp ! THEN \ 24jul2014 THEN THEN pho @ 32 = pho @ 13 = OR IF 0 phodex ! \ Reset for AudBuffer; 14nov2012 pho @ 13 = IF 10 EMIT THEN prepho @ 83 = IF 0 t @ 1 - 4 aud{ ! 0 prepho ! THEN THEN bias @ 5 = IF \ If EnParser expects a noun 26may2011 pho @ 83 = IF \ If "S" 2 num ! \ Assign plural number; 26may2011 THEN \ Only terminating "S" governs "num" 26may2011 pho @ 0 > IF \ Disregard empty pho; 26may2011 pho @ 32 = NOT IF \ Disregard SPACE; 26may2011 pho @ 13 = NOT IF \ Disregard CR; 26may2011 pho @ 83 = NOT IF \ If other than "S" 26may2011 0 num ! \ Let "0" be default singular; 4nov2011 singflag @ 1 = IF \ article "a"? 4nov2011 1 num ! \ Assume singular number; 26may2011 THEN \ end of test to override default; 4nov2011 THEN \ If last letter is not "S"; 26may2011 THEN \ End of test for carriage-return 26may2011 THEN \ End of test for SPACE; 26may2011 THEN \ End of test for empty pho; 26may2011 THEN \ End of test for noun-expected; 26may2011 THEN \ End of test for external input pho @ 0 > IF 1 t +! THEN I 139 = IF \ near end of input loop? 16oct2011 1 inert +! \ increment inert-flag by one; 16oct2011 THEN \ end of test for near-end of wait; 16oct2011 pho @ 13 = IF ( carriage-return; 24jan2013 ) 1 audrun ! \ Reset to one at CR end of input. 1 beg ! 13 eot ! 1 lastword ! 32 pho ! 10 EMIT CR \ 7sep2011 0 proxcon ! \ reset at end of input; 7sep2011 1 quiet ! \ 0 seqneed ! \ test; 30jun2012 \ 0 seqneed ! \ C-ing out for object-less verbs 24jan2013 THEN ( http://www.inventio.co.uk ) pho @ 27 = IF CR ." AudInput: halt" 0 pho ! 0 fyi ! 0 nounval ! CR ." You may enter .psi .en .aud to view memory " ." engrams, or " CR ." MainLoop [ENTER] to erase " ." memories and run the AI again." 0 lopsi ! 0 hipsi ! 0 audpsi ! 0 newpsi ! 0 oldpsi ! 0 stempsi ! QUIT THEN pho @ 32 = IF ( space-bar; 24jan2013 ) prepho @ penultpho ! 1 audrun ! \ Reset to unity at end of a word. 1 ordo +! audpsi @ urpsi ! ordo @ 1 = IF audpsi @ firstword ! THEN \ 19aug2011 0 upnext ! t @ spt ! t @ 1 - tult ! 0 tult @ 4 aud{ ! audpsi @ 0 > IF 0 sublen ! onset @ aud ! 0 onset ! audpsi @ tult @ 5 aud{ ! pov @ 42 = IF tult @ 0 aud{ @ 83 = IF tult @ 1- 5 aud{ @ audpsi @ = NOT IF 0 tult @ 1- 4 aud{ ! THEN audpsi @ tult @ 1- 5 aud{ ! THEN THEN audpsi @ hipsi ! audpsi @ oldpsi ! OldConcept eot @ 13 = IF 35 pov ! THEN 0 psi ! 0 audpsi ! 0 aud ! ELSE len @ 0 > IF onset @ aud ! hipsi @ lopsi ! 1 wordend ! NewConcept psi @ hipsi ! nen @ tult @ 5 aud{ ! nen @ tult @ 1- 5 aud{ ! nen @ retropsi ! THEN THEN AudDamp 0 len ! 0 aud ! eot @ 13 = IF 5 bias ! THEN 0 psi ! THEN \ end of test for 13=SPACE; 24jan2013 1 beg ! 1 ctu ! spt @ 1 + onset ! t @ onset @ = IF 1 beg ! ELSE 0 beg ! THEN pho @ 32 > IF 1 len +! AudMem THEN eot @ 13 = IF 5 bias ! 1 quiet ! THEN eot @ 0 > IF eot @ 14 = IF 1 quiet ! 0 eot ! 0 pho ! LEAVE THEN 14 eot ! THEN pho @ 0 > IF pho @ prepho ! THEN 0 pho ! LOOP hipsi @ kbpsi ! 0 newpsi ! 0 wordend ! ; ( http://code.google.com/p/mindforth/wiki/AudInput ) : SensoryInput ( sensory input channels ) ( SMELL -- normal sensory stub for later implementation ) ( VISION -- normal sensory stub for seed AI expansion ) ( TOUCH -- normal haptics stub for cybernetic organisms ) ( TASTE -- normal sensory stub for cyborg alife ) ( SYNAESTHESIA -- an option in a multisensory AI ) fyi @ 2 = IF ." SensoryInput calls AudInput." CR THEN AudInput ( for entry or reentry of phonemic ASCII ) ( COMPASS -- exotic sensory stub for use in robots ) ( GEIGER -- exotic: Geiger counter ) ( GPS -- exotic: Global Positioning System ) ( INFRARED -- exotic ) ( RADAR -- exotic: RAdio Detection And Ranging ) ( SONAR -- exotic: SOund Navigation And Ranging ) ( VSA -- exotic: Voice Stress Analyzer lie detector ) ( Wi-Fi -- exotic: 802.11 wireless fidelity ) ; ( http://code.google.com/p/mindforth/wiki/SensoryInput ) : EnBoot ( English bootstrap of initial concepts ) 0 act ! 0 jux ! 35 pov ! 0 t ! t @ spt ! ." clearing memory" CR ." There is no warranty for what this software does." ( ERROR -- first word so any bug will announce itself ) 1 t ! 69 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ E 2 t ! 82 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ R 3 t ! 82 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ R 4 t ! 79 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ O 5 t ! 82 pho ! 0 beg ! 0 ctu ! 586 audpsi ! AudMem \ R 586 nen ! 3 mfn ! 0 dba ! 586 fex ! 5 pos ! 586 fin ! 1 aud ! 586 psi ! 1 num ! 0 pre ! 0 seq ! 586 enx ! EnVocab InNativate ( A -- English article for EnArticle module; 8 nov2012 ) 7 t ! 65 pho ! 1 beg ! 0 ctu ! 101 audpsi ! AudMem \ A 101 nen ! 0 mfn ! 0 dba ! 101 fex ! 1 pos ! 101 fin ! 7 aud ! 101 psi ! 1 num ! 0 pre ! 0 seq ! 101 enx ! EnVocab InNativate ( ALL -- for machine reasoning logic; 8nov2012 ) 9 t ! 65 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ A 10 t ! 76 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ L 11 t ! 76 pho ! 0 beg ! 0 ctu ! 123 audpsi ! AudMem \ L 123 nen ! 0 mfn ! 0 dba ! 123 fex ! 1 pos ! 123 fin ! 9 aud ! 123 psi ! 0 num ! 0 pre ! 0 seq ! 123 enx ! EnVocab InNativate ( AN -- to be selected instead of "A" before a vowel ) 13 t ! 65 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ A 14 t ! 78 pho ! 0 beg ! 0 ctu ! 102 audpsi ! AudMem \ N 102 nen ! 0 mfn ! 0 dba ! 102 fex ! 1 pos ! 102 fin ! 13 aud ! 102 psi ! 0 num ! 0 pre ! 0 seq ! 102 enx ! EnVocab InNativate ( AND -- for machine reasoning logic; 8nov2012 ) 16 t ! 65 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ A 17 t ! 78 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ N 18 t ! 68 pho ! 0 beg ! 0 ctu ! 302 audpsi ! AudMem \ D 302 nen ! 0 mfn ! 0 dba ! 302 fex ! 3 pos ! 302 fin ! 16 aud ! 302 psi ! 0 num ! 0 pre ! 0 seq ! 302 enx ! EnVocab InNativate ( ANY -- for machine reasoning logic; 8nov2012 ) 20 t ! 65 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ A 21 t ! 78 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ N 22 t ! 89 pho ! 0 beg ! 0 ctu ! 111 audpsi ! AudMem \ Y 111 nen ! 0 mfn ! 0 dba ! 111 fex ! 1 pos ! 111 fin ! 20 aud ! 111 psi ! 0 num ! 0 pre ! 0 seq ! 111 enx ! EnVocab InNativate ( ANYTHING -- a default direct object for AskUser; 8nov2012 ) 24 t ! 65 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ A 25 t ! 78 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ N 26 t ! 89 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ Y 27 t ! 84 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ T 28 t ! 72 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ H 29 t ! 73 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ I 30 t ! 78 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ N 31 t ! 71 pho ! 0 beg ! 0 ctu ! 711 audpsi ! AudMem \ G 711 nen ! 0 mfn ! 4 dba ! 711 fex ! 7 pos ! 711 fin ! 24 aud ! 711 psi ! 0 num ! 0 pre ! 0 seq ! 711 enx ! EnVocab InNativate ( BAD -- adjective for EnAdjective module; 8nov2012 ) 33 t ! 66 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ B 34 t ! 65 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ A 35 t ! 68 pho ! 0 beg ! 0 ctu ! 186 audpsi ! AudMem \ D 186 nen ! 0 mfn ! 0 dba ! 186 fex ! 1 pos ! 186 fin ! 33 aud ! 186 psi ! 0 num ! 0 pre ! 0 seq ! 186 enx ! EnVocab InNativate ( BE -- infinitive impersonal form of 800=BE; 8nov2012 ) 37 t ! 66 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ B 38 t ! 69 pho ! 0 beg ! 0 ctu ! 800 audpsi ! AudMem \ E 800 nen ! 0 mfn ! 0 dba ! 800 fex ! 8 pos ! 800 fin ! 37 aud ! 800 psi ! 0 num ! 0 pre ! 0 seq ! 800 enx ! EnVocab InNativate ( AM -- 1st person singular I-form of 800=BE; 8nov2012 ) 40 t ! 65 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ A 41 t ! 77 pho ! 0 beg ! 0 ctu ! 800 audpsi ! AudMem \ M 800 nen ! 0 mfn ! 1 dba ! 800 fex ! 8 pos ! 800 fin ! 40 aud ! 800 psi ! 1 num ! 0 pre ! 0 seq ! 800 enx ! EnVocab InNativate ( ARE -- 2nd person singular YOU-form of 800=BE; 8nov2012 ) 43 t ! 65 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ A 44 t ! 82 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ R 45 t ! 69 pho ! 0 beg ! 0 ctu ! 800 audpsi ! AudMem \ E 800 nen ! 0 mfn ! 2 dba ! 800 fex ! 8 pos ! 800 fin ! 43 aud ! 800 psi ! 1 num ! 0 pre ! 0 seq ! 800 enx ! EnVocab InNativate ( IS -- 3rd person singular HE-SHE-IT-form of 800=BE; 8nov2102 ) 47 t ! 73 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ I 48 t ! 83 pho ! 0 beg ! 0 ctu ! 800 audpsi ! AudMem \ S 800 nen ! 0 mfn ! 3 dba ! 800 fex ! 8 pos ! 800 fin ! 47 aud ! 800 psi ! 1 num ! 0 pre ! 0 seq ! 800 enx ! EnVocab InNativate ( ARE -- 1st person plural WE-form of 800=BE; 8nov2012 ) 50 t ! 65 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ A 51 t ! 82 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ R 52 t ! 69 pho ! 0 beg ! 0 ctu ! 800 audpsi ! AudMem \ E 800 nen ! 0 mfn ! 1 dba ! 800 fex ! 8 pos ! 800 fin ! 50 aud ! 800 psi ! 2 num ! 0 pre ! 0 seq ! 800 enx ! EnVocab InNativate ( ARE -- 2nd person plural YOU-form of 800=BE; 4nov2012 ) 54 t ! 65 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ A 55 t ! 82 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ R 56 t ! 69 pho ! 0 beg ! 0 ctu ! 800 audpsi ! AudMem \ E 800 nen ! 0 mfn ! 2 dba ! 800 fex ! 8 pos ! 800 fin ! 54 aud ! 800 psi ! 2 num ! 0 pre ! 0 seq ! 800 enx ! EnVocab InNativate ( ARE -- 3rd person plural THEY-form of 800=BE; 8nov2012 ) 58 t ! 65 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ A 59 t ! 82 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ R 60 t ! 69 pho ! 0 beg ! 0 ctu ! 800 audpsi ! AudMem \ E 800 nen ! 0 mfn ! 3 dba ! 800 fex ! 8 pos ! 800 fin ! 58 aud ! 800 psi ! 2 num ! 0 pre ! 0 seq ! 800 enx ! EnVocab InNativate ( BECAUSE -- for machine reasoning logic; 9nov2012 ) 62 t ! 66 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ B 63 t ! 69 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ E 64 t ! 67 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ C 65 t ! 65 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ A 66 t ! 85 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ U 67 t ! 83 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ S 68 t ! 69 pho ! 0 beg ! 0 ctu ! 344 audpsi ! AudMem \ E 344 nen ! 0 mfn ! 0 dba ! 344 fex ! 3 pos ! 344 fin ! 62 aud ! 344 psi ! 0 num ! 0 pre ! 0 seq ! 344 enx ! EnVocab InNativate ( BECOME -- essential intransitive verb; 9nov2012 ) 70 t ! 66 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ B 71 t ! 69 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ E 72 t ! 67 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ C 73 t ! 79 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ O 74 t ! 77 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ M 75 t ! 69 pho ! 0 beg ! 0 ctu ! 808 audpsi ! AudMem \ E 808 nen ! 0 mfn ! 0 dba ! 808 fex ! 8 pos ! 808 fin ! 70 aud ! 808 psi ! 0 num ! 0 pre ! 0 seq ! 808 enx ! EnVocab InNativate ( BOY -- always masculine noun for use with gender flags ) 77 t ! 66 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ B 78 t ! 79 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ O 79 t ! 89 pho ! 0 beg ! 0 ctu ! 589 audpsi ! AudMem \ Y 589 nen ! 1 mfn ! 0 dba ! 589 fex ! 5 pos ! 589 fin ! 77 aud ! 589 psi ! 1 num ! 0 pre ! 0 seq ! 589 enx ! EnVocab InNativate ( BUT -- conjunction for ConJoin module; 9nov2012 ) 81 t ! 66 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ B 82 t ! 85 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ U 83 t ! 84 pho ! 0 beg ! 0 ctu ! 305 audpsi ! AudMem \ T 305 nen ! 0 mfn ! 0 dba ! 305 fex ! 3 pos ! 305 fin ! 81 aud ! 305 psi ! 0 num ! 0 pre ! 0 seq ! 305 enx ! EnVocab InNativate ( CHESS -- important singular AI noun ending in "S"; 9nov2012 ) 85 t ! 67 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ C 86 t ! 72 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ H 87 t ! 69 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ E 88 t ! 83 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ S 89 t ! 83 pho ! 0 beg ! 0 ctu ! 564 audpsi ! AudMem \ S 564 nen ! 0 mfn ! 0 dba ! 564 fex ! 5 pos ! 564 fin ! 85 aud ! 564 psi ! 1 num ! 0 pre ! 0 seq ! 564 enx ! EnVocab InNativate ( CHILD -- example of irregular noun for a polyglot AI Mind ) 91 t ! 67 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ C 92 t ! 72 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ H 93 t ! 73 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ I 94 t ! 76 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ L 95 t ! 68 pho ! 0 beg ! 0 ctu ! 525 audpsi ! AudMem \ D 525 nen ! 0 mfn ! 0 dba ! 525 fex ! 5 pos ! 525 fin ! 91 aud ! 525 psi ! 1 num ! 0 pre ! 0 seq ! 525 enx ! EnVocab InNativate ( CHILDREN -- irregular plural for retrieval by parameters ) 97 t ! 67 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ C 98 t ! 72 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ H 99 t ! 73 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ I 100 t ! 76 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ L 101 t ! 68 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ D 102 t ! 82 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ R 103 t ! 69 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ E 104 t ! 78 pho ! 0 beg ! 0 ctu ! 526 audpsi ! AudMem \ N 526 nen ! 0 mfn ! 0 dba ! 526 fex ! 5 pos ! 526 fin ! 97 aud ! 526 psi ! 2 num ! 0 pre ! 0 seq ! 526 enx ! EnVocab InNativate ( DATA -- always plural noun in correction of modern usage ) 106 t ! 68 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ D 107 t ! 65 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ A 108 t ! 84 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ T 109 t ! 65 pho ! 0 beg ! 0 ctu ! 599 audpsi ! AudMem \ A 599 nen ! 0 mfn ! 0 dba ! 599 fex ! 5 pos ! 599 fin ! 106 aud ! 599 psi ! 2 num ! 0 pre ! 0 seq ! 599 enx ! EnVocab InNativate ( DO -- infinitive form of verb essential for AuxVerb module ) 111 t ! 68 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ D 112 t ! 79 pho ! 0 beg ! 0 ctu ! 830 audpsi ! AudMem \ O 830 nen ! 0 mfn ! 0 dba ! 830 fex ! 8 pos ! 830 fin ! 111 aud ! 830 psi ! 0 num ! 0 pre ! 0 seq ! 830 enx ! EnVocab InNativate ( DO -- 1st person singular I-form of auxiliary verb; 9nov2012 ) 114 t ! 68 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ D 115 t ! 79 pho ! 0 beg ! 0 ctu ! 830 audpsi ! AudMem \ O 830 nen ! 0 mfn ! 1 dba ! 830 fex ! 8 pos ! 830 fin ! 114 aud ! 830 psi ! 1 num ! 0 pre ! 0 seq ! 830 enx ! EnVocab InNativate ( DO -- 2nd person sing. YOU-form of auxiliary verb; 9nov2012 ) 117 t ! 68 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ D 118 t ! 79 pho ! 0 beg ! 0 ctu ! 830 audpsi ! AudMem \ O 830 nen ! 0 mfn ! 2 dba ! 830 fex ! 8 pos ! 830 fin ! 117 aud ! 830 psi ! 1 num ! 0 pre ! 0 seq ! 830 enx ! EnVocab InNativate ( DOES -- 3rd person sing. HE-SHE-IT-form of auxiliary verb ) 120 t ! 68 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ D 121 t ! 79 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ O 122 t ! 69 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ E 123 t ! 83 pho ! 0 beg ! 0 ctu ! 830 audpsi ! AudMem \ S 830 nen ! 0 mfn ! 3 dba ! 830 fex ! 8 pos ! 830 fin ! 120 aud ! 830 psi ! 1 num ! 0 pre ! 0 seq ! 830 enx ! EnVocab InNativate ( DO -- 1st person plural WE-form of auxiliary verb; 9nov2012 ) 125 t ! 68 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ D 126 t ! 79 pho ! 0 beg ! 0 ctu ! 830 audpsi ! AudMem \ O 830 nen ! 0 mfn ! 1 dba ! 830 fex ! 8 pos ! 830 fin ! 125 aud ! 830 psi ! 2 num ! 0 pre ! 0 seq ! 830 enx ! EnVocab InNativate ( DO -- 2nd person plural YOU-form of auxiliary verb; 9nov2012 ) 128 t ! 68 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ D 129 t ! 79 pho ! 0 beg ! 0 ctu ! 830 audpsi ! AudMem \ O 830 nen ! 0 mfn ! 2 dba ! 830 fex ! 8 pos ! 830 fin ! 128 aud ! 830 psi ! 2 num ! 0 pre ! 0 seq ! 830 enx ! EnVocab InNativate ( DO -- 3rd person plural THEY-form of auxiliary verb; 9nov2012 ) 131 t ! 68 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ D 132 t ! 79 pho ! 0 beg ! 0 ctu ! 830 audpsi ! AudMem \ O 830 nen ! 0 mfn ! 3 dba ! 830 fex ! 8 pos ! 830 fin ! 131 aud ! 830 psi ! 2 num ! 0 pre ! 0 seq ! 830 enx ! EnVocab InNativate ( DOING -- high word-frequency verb participle; 9nov2102 ) 134 t ! 68 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ D 135 t ! 79 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ O 136 t ! 73 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ I 137 t ! 78 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ N 138 t ! 71 pho ! 0 beg ! 0 ctu ! 183 audpsi ! AudMem \ G 183 nen ! 0 mfn ! 0 dba ! 183 fex ! 1 pos ! 183 fin ! 134 aud ! 183 psi ! 0 num ! 0 pre ! 0 seq ! 183 enx ! EnVocab InNativate ( ELSE -- adverb for machine reasoning logic; 9nov2012 ) 140 t ! 69 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ E 141 t ! 76 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ L 142 t ! 83 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ S 143 t ! 69 pho ! 0 beg ! 0 ctu ! 266 audpsi ! AudMem \ E 266 nen ! 0 mfn ! 0 dba ! 266 fex ! 2 pos ! 266 fin ! 140 aud ! 266 psi ! 0 num ! 0 pre ! 0 seq ! 266 enx ! EnVocab InNativate ( FOR -- preposition for EnPrep module; 9nov2012 ) 145 t ! 70 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ F 146 t ! 79 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ O 147 t ! 82 pho ! 0 beg ! 0 ctu ! 640 audpsi ! AudMem \ R 640 nen ! 0 mfn ! 0 dba ! 640 fex ! 6 pos ! 640 fin ! 145 aud ! 640 psi ! 0 num ! 0 pre ! 0 seq ! 640 enx ! EnVocab InNativate ( FRIEND -- for coding assignment of ad-hoc gender tags ) 149 t ! 70 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ F 150 t ! 82 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ R 151 t ! 73 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ I 152 t ! 69 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ E 153 t ! 78 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ N 154 t ! 68 pho ! 0 beg ! 0 ctu ! 517 audpsi ! AudMem \ D 517 nen ! 0 mfn ! 0 dba ! 517 fex ! 5 pos ! 517 fin ! 149 aud ! 517 psi ! 1 num ! 0 pre ! 0 seq ! 517 enx ! EnVocab InNativate ( GIRL -- always feminine noun for use with gender flags ) 156 t ! 71 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ G 157 t ! 73 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ I 158 t ! 82 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ R 159 t ! 76 pho ! 0 beg ! 0 ctu ! 510 audpsi ! AudMem \ L 510 nen ! 2 mfn ! 0 dba ! 510 fex ! 5 pos ! 510 fin ! 156 aud ! 510 psi ! 1 num ! 0 pre ! 0 seq ! 510 enx ! EnVocab InNativate ( GOD -- masculine noun important for philosophy of AI ) 161 t ! 71 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ G 162 t ! 79 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ O 163 t ! 68 pho ! 0 beg ! 0 ctu ! 533 audpsi ! AudMem \ D 533 nen ! 1 mfn ! 0 dba ! 533 fex ! 5 pos ! 533 fin ! 161 aud ! 533 psi ! 1 num ! 0 pre ! 0 seq ! 533 enx ! EnVocab InNativate ( GOOD -- adjective for EnAdjective module; 9nov2012 ) 165 t ! 71 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ G 166 t ! 79 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ O 167 t ! 79 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ O 168 t ! 68 pho ! 0 beg ! 0 ctu ! 140 audpsi ! AudMem \ D 140 nen ! 0 mfn ! 0 dba ! 140 fex ! 1 pos ! 140 fin ! 165 aud ! 140 psi ! 0 num ! 0 pre ! 0 seq ! 140 enx ! EnVocab InNativate ( HAVE -- irregular high-word-frequency verb; 9nov2012 ) 170 t ! 72 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ H 171 t ! 65 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ A 172 t ! 86 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ V 173 t ! 69 pho ! 0 beg ! 0 ctu ! 810 audpsi ! AudMem \ E 810 nen ! 0 mfn ! 0 dba ! 810 fex ! 8 pos ! 810 fin ! 170 aud ! 810 psi ! 0 num ! 0 pre ! 0 seq ! 810 enx ! EnVocab InNativate ( HAS -- high-word-frequency irregular verb form; 9nov2012 ) 175 t ! 72 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ H 176 t ! 65 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ A 177 t ! 83 pho ! 0 beg ! 0 ctu ! 810 audpsi ! AudMem \ S 810 nen ! 0 mfn ! 3 dba ! 810 fex ! 8 pos ! 810 fin ! 175 aud ! 810 psi ! 1 num ! 0 pre ! 0 seq ! 810 enx ! EnVocab InNativate ( HE -- nominative form of high-word-frequency pronoun; 9nov2012 ) 179 t ! 72 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ H 180 t ! 69 pho ! 0 beg ! 0 ctu ! 713 audpsi ! AudMem \ E 713 nen ! 1 mfn ! 1 dba ! 713 fex ! 7 pos ! 713 fin ! 179 aud ! 713 psi ! 1 num ! 0 pre ! 0 seq ! 713 enx ! EnVocab InNativate ( HIS -- genitive form of personal pronoun; 9nov2012 ) 182 t ! 72 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ H 183 t ! 73 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ I 184 t ! 83 pho ! 0 beg ! 0 ctu ! 113 audpsi ! AudMem \ S 113 nen ! 1 mfn ! 2 dba ! 113 fex ! 1 pos ! 113 fin ! 182 aud ! 113 psi ! 1 num ! 0 pre ! 0 seq ! 113 enx ! EnVocab InNativate ( HIM -- dative indirect-object form of personal pronoun ) 186 t ! 72 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ H 187 t ! 73 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ I 188 t ! 77 pho ! 0 beg ! 0 ctu ! 713 audpsi ! AudMem \ M 713 nen ! 1 mfn ! 3 dba ! 713 fex ! 7 pos ! 713 fin ! 186 aud ! 713 psi ! 1 num ! 0 pre ! 0 seq ! 713 enx ! EnVocab InNativate ( HIM -- accusative direct-object form of personal pronoun ) 190 t ! 72 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ H 191 t ! 73 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ I 192 t ! 77 pho ! 0 beg ! 0 ctu ! 713 audpsi ! AudMem \ M 713 nen ! 1 mfn ! 4 dba ! 713 fex ! 7 pos ! 713 fin ! 190 aud ! 713 psi ! 1 num ! 0 pre ! 0 seq ! 713 enx ! EnVocab InNativate ( HELLO -- interjection for human-computer interaction; 9nov2012 ) 194 t ! 72 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ H 195 t ! 69 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ E 196 t ! 76 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ L 197 t ! 76 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ L 198 t ! 79 pho ! 0 beg ! 0 ctu ! 450 audpsi ! AudMem \ O 450 nen ! 0 mfn ! 0 dba ! 450 fex ! 4 pos ! 450 fin ! 194 aud ! 450 psi ! 0 num ! 0 pre ! 0 seq ! 450 enx ! EnVocab InNativate ( HERE -- adverb for discussion of physical location; 9nov2012 ) 200 t ! 72 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ H 201 t ! 69 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ E 202 t ! 82 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ R 203 t ! 69 pho ! 0 beg ! 0 ctu ! 201 audpsi ! AudMem \ E 201 nen ! 0 mfn ! 0 dba ! 201 fex ! 2 pos ! 201 fin ! 200 aud ! 201 psi ! 0 num ! 0 pre ! 0 seq ! 201 enx ! EnVocab InNativate ( HOW -- adverb for EnAdverb module; 10nov2012 ) 205 t ! 72 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ H 206 t ! 79 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ O 207 t ! 87 pho ! 0 beg ! 0 ctu ! 209 audpsi ! AudMem \ W 209 nen ! 0 mfn ! 0 dba ! 209 fex ! 2 pos ! 209 fin ! 205 aud ! 209 psi ! 0 num ! 0 pre ! 0 seq ! 209 enx ! EnVocab InNativate ( I -- nominative subject-form of personal pronoun; 10nov2012 ) 209 t ! 73 pho ! 1 beg ! 0 ctu ! 701 audpsi ! AudMem \ I 701 nen ! 0 mfn ! 1 dba ! 701 fex ! 7 pos ! 707 fin ! 209 aud ! 701 psi ! 1 num ! 0 pre ! 0 seq ! 701 enx ! EnVocab InNativate ( MINE -- genitive form of personal pronoun; 10nov2012 ) 211 t ! 77 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ M 212 t ! 73 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ I 213 t ! 78 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ N 214 t ! 69 pho ! 0 beg ! 0 ctu ! 701 audpsi ! AudMem \ E 701 nen ! 0 mfn ! 2 dba ! 701 fex ! 7 pos ! 707 fin ! 211 aud ! 701 psi ! 1 num ! 0 pre ! 0 seq ! 701 enx ! EnVocab InNativate ( ME -- dative indirect-object form of pers. pronoun; 10nov2012 ) 216 t ! 77 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ M 217 t ! 69 pho ! 0 beg ! 0 ctu ! 701 audpsi ! AudMem \ E 701 nen ! 0 mfn ! 3 dba ! 701 fex ! 7 pos ! 707 fin ! 216 aud ! 701 psi ! 1 num ! 0 pre ! 0 seq ! 701 enx ! EnVocab InNativate ( ME -- accusative direct-obj. form of pers. pronoun; 10nov2012 ) 219 t ! 77 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ M 220 t ! 69 pho ! 0 beg ! 0 ctu ! 701 audpsi ! AudMem \ E 701 nen ! 0 mfn ! 4 dba ! 701 fex ! 7 pos ! 707 fin ! 219 aud ! 701 psi ! 1 num ! 0 pre ! 0 seq ! 701 enx ! EnVocab InNativate ( IF -- for machine reasoning logic; 10nov2012 ) 222 t ! 73 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ I 223 t ! 70 pho ! 0 beg ! 0 ctu ! 390 audpsi ! AudMem \ F 390 nen ! 0 mfn ! 0 dba ! 390 fex ! 3 pos ! 390 fin ! 222 aud ! 390 psi ! 0 num ! 0 pre ! 0 seq ! 390 enx ! EnVocab InNativate ( IN -- preposition for EnPrep module; 10nov2012 ) 225 t ! 73 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ I 226 t ! 78 pho ! 0 beg ! 0 ctu ! 639 audpsi ! AudMem \ N 639 nen ! 0 mfn ! 0 dba ! 639 fex ! 6 pos ! 639 fin ! 225 aud ! 639 psi ! 0 num ! 0 pre ! 0 seq ! 639 enx ! EnVocab InNativate ( IT -- nominative subject-form of personal pronoun; 10nov2012 ) 228 t ! 73 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ I 229 t ! 84 pho ! 0 beg ! 0 ctu ! 725 audpsi ! AudMem \ T 725 nen ! 3 mfn ! 1 dba ! 725 fex ! 7 pos ! 725 fin ! 228 aud ! 725 psi ! 1 num ! 0 pre ! 0 seq ! 725 enx ! EnVocab InNativate ( ITS -- genitive form of personal pronoun; 10nov2012; 2016aug15 ) 231 t ! 73 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ I 232 t ! 84 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ T 233 t ! 83 pho ! 0 beg ! 0 ctu ! 725 audpsi ! AudMem \ S 725 nen ! 3 mfn ! 2 dba ! 725 fex ! 7 pos ! 725 fin ! 231 aud ! 725 psi ! 1 num ! 0 pre ! 0 seq ! 725 enx ! EnVocab InNativate ( IT -- dative indirect-object form of pers. pronoun; 10nov2012 ) 235 t ! 73 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ I 236 t ! 84 pho ! 0 beg ! 0 ctu ! 725 audpsi ! AudMem \ T 725 nen ! 3 mfn ! 3 dba ! 725 fex ! 7 pos ! 725 fin ! 235 aud ! 725 psi ! 1 num ! 0 pre ! 0 seq ! 725 enx ! EnVocab InNativate ( IT -- accusative direct-obj. form of pers. pronoun; 10nov2012 ) 238 t ! 73 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ I 239 t ! 84 pho ! 0 beg ! 0 ctu ! 725 audpsi ! AudMem \ T 725 nen ! 3 mfn ! 4 dba ! 725 fex ! 7 pos ! 725 fin ! 238 aud ! 725 psi ! 1 num ! 0 pre ! 0 seq ! 725 enx ! EnVocab InNativate ( KNOW -- germane to artificial intelligence; 10nov2012 ) 241 t ! 75 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ K 242 t ! 78 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ N 243 t ! 79 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ O 244 t ! 87 pho ! 0 beg ! 0 ctu ! 850 audpsi ! AudMem \ W 850 nen ! 0 mfn ! 0 dba ! 850 fex ! 8 pos ! 850 fin ! 241 aud ! 850 psi ! 0 num ! 0 pre ! 0 seq ! 850 enx ! EnVocab InNativate ( MAN -- always masculine noun for use with gender flags ) 246 t ! 77 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ M 247 t ! 65 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ A 248 t ! 78 pho ! 0 beg ! 0 ctu ! 543 audpsi ! AudMem \ N 543 nen ! 1 mfn ! 1 dba ! 543 fex ! 5 pos ! 543 fin ! 246 aud ! 543 psi ! 1 num ! 0 pre ! 0 seq ! 543 enx ! EnVocab InNativate ( MEN -- irregular plural for retrieval by parameters 10nov2012 ) 250 t ! 77 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ M 251 t ! 69 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ E 252 t ! 78 pho ! 0 beg ! 0 ctu ! 543 audpsi ! AudMem \ N 543 nen ! 1 mfn ! 1 dba ! 543 fex ! 5 pos ! 543 fin ! 250 aud ! 543 psi ! 2 num ! 0 pre ! 0 seq ! 543 enx ! EnVocab InNativate ( MAYBE -- adverb response alternative to YES or NO; 10nov2012 ) 254 t ! 77 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ M 255 t ! 65 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ A 256 t ! 89 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ Y 257 t ! 66 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ B 258 t ! 69 pho ! 0 beg ! 0 ctu ! 270 audpsi ! AudMem \ E 270 nen ! 0 mfn ! 0 dba ! 270 fex ! 2 pos ! 270 fin ! 254 aud ! 270 psi ! 0 num ! 0 pre ! 0 seq ! 270 enx ! EnVocab InNativate ( MEDIA -- always plural noun in correction of modern usage ) 260 t ! 77 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ M 261 t ! 69 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ E 262 t ! 68 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ D 263 t ! 73 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ I 264 t ! 65 pho ! 0 beg ! 0 ctu ! 584 audpsi ! AudMem \ A 584 nen ! 0 mfn ! 0 dba ! 584 fex ! 5 pos ! 584 fin ! 260 aud ! 584 psi ! 2 num ! 0 pre ! 0 seq ! 584 enx ! EnVocab InNativate ( MY -- adjective for personal pronoun "I"; 10nov2012 ) 266 t ! 77 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ M 267 t ! 89 pho ! 0 beg ! 0 ctu ! 181 audpsi ! AudMem \ Y 181 nen ! 0 mfn ! 0 dba ! 181 fex ! 1 pos ! 182 fin ! 266 aud ! 181 psi ! 0 num ! 0 pre ! 0 seq ! 181 enx ! EnVocab InNativate ( NO -- interjection for human-computer interaction; 10nov2012 ) 269 t ! 78 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ N 270 t ! 79 pho ! 0 beg ! 0 ctu ! 404 audpsi ! AudMem \ O 404 nen ! 0 mfn ! 0 dba ! 404 fex ! 4 pos ! 404 fin ! 269 aud ! 404 psi ! 0 num ! 0 pre ! 0 seq ! 404 enx ! EnVocab InNativate ( NOT -- adverb for machine reasoning logic; 10nov2012 ) 272 t ! 78 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ N 273 t ! 79 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ O 274 t ! 84 pho ! 0 beg ! 0 ctu ! 250 audpsi ! AudMem \ T 250 nen ! 0 mfn ! 0 dba ! 250 fex ! 2 pos ! 250 fin ! 272 aud ! 250 psi ! 0 num ! 0 pre ! 0 seq ! 250 enx ! EnVocab InNativate ( NOTHING -- VisRecog default for what the AI Mind sees ) 276 t ! 78 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ N 277 t ! 79 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ O 278 t ! 84 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ T 279 t ! 72 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ H 280 t ! 73 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ I 281 t ! 78 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ N 282 t ! 71 pho ! 0 beg ! 0 ctu ! 760 audpsi ! AudMem \ G 760 nen ! 0 mfn ! 0 dba ! 760 fex ! 7 pos ! 760 fin ! 276 aud ! 760 psi ! 1 num ! 0 pre ! 0 seq ! 760 enx ! EnVocab InNativate ( OF -- preposition for EnPrep module ) 284 t ! 79 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ O 285 t ! 70 pho ! 0 beg ! 0 ctu ! 604 audpsi ! AudMem \ F 604 nen ! 0 mfn ! 0 dba ! 604 fex ! 6 pos ! 604 fin ! 284 aud ! 604 psi ! 0 num ! 0 pre ! 0 seq ! 604 enx ! EnVocab InNativate ( OR -- conjunction for machine reasoning logic; 10nov2012 ) 287 t ! 79 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ O 288 t ! 82 pho ! 0 beg ! 0 ctu ! 324 audpsi ! AudMem \ R 324 nen ! 0 mfn ! 0 dba ! 324 fex ! 3 pos ! 324 fin ! 287 aud ! 324 psi ! 0 num ! 0 pre ! 0 seq ! 324 enx ! EnVocab InNativate ( OUR -- adjective for personal pronoun "WE"; 10nov2012 ) 290 t ! 79 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ O 291 t ! 85 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ U 292 t ! 82 pho ! 0 beg ! 0 ctu ! 186 audpsi ! AudMem \ R 186 nen ! 0 mfn ! 0 dba ! 186 fex ! 1 pos ! 182 fin ! 290 aud ! 186 psi ! 0 num ! 0 pre ! 0 seq ! 186 enx ! EnVocab InNativate ( PEOPLE -- establish as plural for EnParser ) 294 t ! 80 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ P 295 t ! 69 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ E 296 t ! 79 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ O 297 t ! 80 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ P 298 t ! 76 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ L 299 t ! 69 pho ! 0 beg ! 0 ctu ! 587 audpsi ! AudMem \ E 587 nen ! 0 mfn ! 0 dba ! 587 fex ! 5 pos ! 587 fin ! 294 aud ! 587 psi ! 2 num ! 0 pre ! 0 seq ! 587 enx ! EnVocab InNativate ( PERSON -- for ad-hoc gender tags and robot philosophy ) 301 t ! 80 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ P 302 t ! 69 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ E 303 t ! 82 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ R 304 t ! 83 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ S 305 t ! 79 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ O 306 t ! 78 pho ! 0 beg ! 0 ctu ! 537 audpsi ! AudMem \ N 537 nen ! 0 mfn ! 0 dba ! 537 fex ! 5 pos ! 537 fin ! 301 aud ! 537 psi ! 1 num ! 0 pre ! 0 seq ! 537 enx ! EnVocab InNativate ( PLEASE -- interjection for human-computer interaction ) 308 t ! 80 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ P 309 t ! 76 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ L 310 t ! 69 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ E 311 t ! 65 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ A 312 t ! 83 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ S 313 t ! 69 pho ! 0 beg ! 0 ctu ! 410 audpsi ! AudMem \ E 410 nen ! 0 mfn ! 0 dba ! 410 fex ! 4 pos ! 410 fin ! 308 aud ! 410 psi ! 0 num ! 0 pre ! 0 seq ! 410 enx ! EnVocab InNativate ( SEE -- lets VisRecog dynamically report non-KB direct objects ) 315 t ! 83 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ S 316 t ! 69 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ E 317 t ! 69 pho ! 0 beg ! 0 ctu ! 820 audpsi ! AudMem \ E 820 nen ! 0 mfn ! 0 dba ! 820 fex ! 8 pos ! 820 fin ! 315 aud ! 820 psi ! 0 num ! 0 pre ! 0 seq ! 820 enx ! EnVocab InNativate ( SHE -- nominative subject-form of personal pronoun; 10nov2012 ) 319 t ! 83 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ S 320 t ! 72 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ H 321 t ! 69 pho ! 0 beg ! 0 ctu ! 719 audpsi ! AudMem \ E 719 nen ! 2 mfn ! 1 dba ! 719 fex ! 7 pos ! 719 fin ! 319 aud ! 719 psi ! 1 num ! 0 pre ! 0 seq ! 719 enx ! EnVocab InNativate ( HERS -- genitive form of personal pronoun; 10nov2012 ) 323 t ! 72 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ H 324 t ! 69 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ E 325 t ! 82 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ R 326 t ! 83 pho ! 0 beg ! 0 ctu ! 719 audpsi ! AudMem \ S 719 nen ! 2 mfn ! 2 dba ! 719 fex ! 7 pos ! 719 fin ! 323 aud ! 719 psi ! 1 num ! 0 pre ! 0 seq ! 719 enx ! EnVocab InNativate ( HER -- dative indirect-object form of pers. pron. 9nov2012 ) 328 t ! 72 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ H 329 t ! 69 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ E 330 t ! 82 pho ! 0 beg ! 0 ctu ! 719 audpsi ! AudMem \ R 719 nen ! 2 mfn ! 3 dba ! 719 fex ! 7 pos ! 719 fin ! 328 aud ! 719 psi ! 1 num ! 0 pre ! 0 seq ! 719 enx ! EnVocab InNativate ( HER -- accusative direct-object form of pers. pron. 9nov2012 ) 332 t ! 72 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ H 333 t ! 69 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ E 334 t ! 82 pho ! 0 beg ! 0 ctu ! 719 audpsi ! AudMem \ R 719 nen ! 2 mfn ! 4 dba ! 719 fex ! 7 pos ! 719 fin ! 332 aud ! 719 psi ! 1 num ! 0 pre ! 0 seq ! 719 enx ! EnVocab InNativate ( SOME -- adjective for machine reasoning logic; 10nov2012 ) 336 t ! 83 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ S 337 t ! 79 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ O 338 t ! 77 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ M 339 t ! 69 pho ! 0 beg ! 0 ctu ! 123 audpsi ! AudMem \ E 123 nen ! 0 mfn ! 0 dba ! 123 fex ! 1 pos ! 123 fin ! 336 aud ! 123 psi ! 0 num ! 0 pre ! 0 seq ! 123 enx ! EnVocab InNativate ( THAT -- high word-frequency pronoun; 10nov2012 ) 341 t ! 84 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ T 342 t ! 72 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ H 343 t ! 65 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ A 344 t ! 84 pho ! 0 beg ! 0 ctu ! 745 audpsi ! AudMem \ T 745 nen ! 0 mfn ! 0 dba ! 745 fex ! 7 pos ! 745 fin ! 341 aud ! 745 psi ! 1 num ! 0 pre ! 0 seq ! 745 enx ! EnVocab InNativate ( THE -- EnArticle highest-frequency English word; 10nov2012 ) 346 t ! 84 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ T 347 t ! 72 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ H 348 t ! 69 pho ! 0 beg ! 0 ctu ! 117 audpsi ! AudMem \ E 117 nen ! 0 mfn ! 0 dba ! 117 fex ! 1 pos ! 117 fin ! 346 aud ! 117 psi ! 0 num ! 0 pre ! 0 seq ! 117 enx ! EnVocab InNativate ( THEIR -- adjective for personal pronoun "THEY"; 10nov2012 ) 350 t ! 84 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ T 351 t ! 72 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ H 352 t ! 69 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ E 353 t ! 73 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ I 354 t ! 82 pho ! 0 beg ! 0 ctu ! 188 audpsi ! AudMem \ R 188 nen ! 0 mfn ! 0 dba ! 188 fex ! 1 pos ! 188 fin ! 350 aud ! 188 psi ! 0 num ! 0 pre ! 0 seq ! 188 enx ! EnVocab InNativate ( THEN -- adverb for machine reasoning logic; 10nov2012 ) 356 t ! 84 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ T 357 t ! 72 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ H 358 t ! 69 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ E 359 t ! 78 pho ! 0 beg ! 0 ctu ! 213 audpsi ! AudMem \ N 213 nen ! 0 mfn ! 0 dba ! 213 fex ! 2 pos ! 213 fin ! 356 aud ! 213 psi ! 0 num ! 0 pre ! 0 seq ! 213 enx ! EnVocab InNativate ( THERE -- adv. for discussion of physical location; 10nov2012 ) 361 t ! 84 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ T 362 t ! 72 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ H 363 t ! 69 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ E 364 t ! 82 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ R 365 t ! 69 pho ! 0 beg ! 0 ctu ! 205 audpsi ! AudMem \ E 205 nen ! 0 mfn ! 0 dba ! 205 fex ! 2 pos ! 205 fin ! 361 aud ! 205 psi ! 0 num ! 0 pre ! 0 seq ! 205 enx ! EnVocab InNativate ( THEY -- nominative subject-form of pers. pronoun; 10nov2012 ) 367 t ! 84 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ T 368 t ! 72 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ H 369 t ! 69 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ E 370 t ! 89 pho ! 0 beg ! 0 ctu ! 743 audpsi ! AudMem \ Y 743 nen ! 0 mfn ! 1 dba ! 743 fex ! 7 pos ! 743 fin ! 367 aud ! 743 psi ! 2 num ! 0 pre ! 0 seq ! 743 enx ! EnVocab InNativate ( THEIRS -- genitive form of personal pronoun; 10nov2012 ) 372 t ! 84 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ T 373 t ! 72 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ H 374 t ! 69 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ E 375 t ! 73 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ I 376 t ! 82 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ R 377 t ! 83 pho ! 0 beg ! 0 ctu ! 743 audpsi ! AudMem \ S 743 nen ! 0 mfn ! 2 dba ! 743 fex ! 7 pos ! 743 fin ! 372 aud ! 743 psi ! 2 num ! 0 pre ! 0 seq ! 743 enx ! EnVocab InNativate ( THEM -- dative indirect-object form of pers. pron. 10nov2012 ) 379 t ! 84 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ T 380 t ! 72 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ H 381 t ! 69 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ E 382 t ! 77 pho ! 0 beg ! 0 ctu ! 743 audpsi ! AudMem \ M 743 nen ! 0 mfn ! 3 dba ! 743 fex ! 7 pos ! 743 fin ! 379 aud ! 743 psi ! 2 num ! 0 pre ! 0 seq ! 743 enx ! EnVocab InNativate ( THEM -- acc. direct-object form of pers. pron. 10nov2012 ) 384 t ! 84 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ T 385 t ! 72 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ H 386 t ! 69 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ E 387 t ! 77 pho ! 0 beg ! 0 ctu ! 743 audpsi ! AudMem \ M 743 nen ! 0 mfn ! 4 dba ! 743 fex ! 7 pos ! 743 fin ! 384 aud ! 743 psi ! 2 num ! 0 pre ! 0 seq ! 743 enx ! EnVocab InNativate ( THINK -- germane to artificial intelligence ) 389 t ! 84 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ T 390 t ! 72 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ H 391 t ! 73 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ I 392 t ! 78 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ N 393 t ! 75 pho ! 0 beg ! 0 ctu ! 840 audpsi ! AudMem \ K 840 nen ! 0 mfn ! 0 dba ! 840 fex ! 8 pos ! 840 fin ! 389 aud ! 840 psi ! 0 num ! 0 pre ! 0 seq ! 840 enx ! EnVocab InNativate ( WE -- nominative subject-form of personal pronoun; 10nov2012 ) 395 t ! 87 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ W 396 t ! 69 pho ! 0 beg ! 0 ctu ! 731 audpsi ! AudMem \ E 731 nen ! 0 mfn ! 1 dba ! 731 fex ! 7 pos ! 737 fin ! 395 aud ! 731 psi ! 2 num ! 0 pre ! 0 seq ! 731 enx ! EnVocab InNativate ( OURS -- genitive form of personal pronoun; 10nov2012 ) 398 t ! 79 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ O 399 t ! 85 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ U 400 t ! 82 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ R 401 t ! 83 pho ! 0 beg ! 0 ctu ! 731 audpsi ! AudMem \ S 731 nen ! 0 mfn ! 2 dba ! 731 fex ! 7 pos ! 737 fin ! 398 aud ! 731 psi ! 2 num ! 0 pre ! 0 seq ! 731 enx ! EnVocab InNativate ( US -- dative indirect-object form of pers. pron. 10nov2012 ) 403 t ! 85 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ U 404 t ! 83 pho ! 0 beg ! 0 ctu ! 731 audpsi ! AudMem \ S 731 nen ! 0 mfn ! 3 dba ! 731 fex ! 7 pos ! 737 fin ! 403 aud ! 731 psi ! 2 num ! 0 pre ! 0 seq ! 731 enx ! EnVocab InNativate ( US -- accusative direct-object form of pers. pron. 10nov2012 ) 406 t ! 85 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ U 407 t ! 83 pho ! 0 beg ! 0 ctu ! 731 audpsi ! AudMem \ S 731 nen ! 0 mfn ! 4 dba ! 731 fex ! 7 pos ! 737 fin ! 406 aud ! 731 psi ! 2 num ! 0 pre ! 0 seq ! 731 enx ! EnVocab InNativate ( WHAT -- nominative pronoun for SelfReferentialThought ) 409 t ! 87 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ W 410 t ! 72 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ H 411 t ! 65 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ A 412 t ! 84 pho ! 0 beg ! 0 ctu ! 781 audpsi ! AudMem \ T 781 nen ! 3 mfn ! 1 dba ! 781 fex ! 7 pos ! 781 fin ! 409 aud ! 781 psi ! 1 num ! 0 pre ! 0 seq ! 781 enx ! EnVocab InNativate ( WHAT -- accusative pronoun for SelfReferentialThought ) 414 t ! 87 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ W 415 t ! 72 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ H 416 t ! 65 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ A 417 t ! 84 pho ! 0 beg ! 0 ctu ! 781 audpsi ! AudMem \ T 781 nen ! 3 mfn ! 4 dba ! 781 fex ! 7 pos ! 781 fin ! 414 aud ! 781 psi ! 1 num ! 0 pre ! 0 seq ! 781 enx ! EnVocab InNativate ( WHEN -- adverb for SelfReferentialThought; 10nov2012 ) 419 t ! 87 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ W 420 t ! 72 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ H 421 t ! 69 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ E 422 t ! 78 pho ! 0 beg ! 0 ctu ! 263 audpsi ! AudMem \ N 263 nen ! 0 mfn ! 0 dba ! 263 fex ! 2 pos ! 263 fin ! 419 aud ! 263 psi ! 0 num ! 0 pre ! 0 seq ! 263 enx ! EnVocab InNativate ( WHERE -- adverb for SelfReferentialThought; 10nov2012 ) 424 t ! 87 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ W 425 t ! 72 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ H 426 t ! 69 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ E 427 t ! 82 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ R 428 t ! 69 pho ! 0 beg ! 0 ctu ! 245 audpsi ! AudMem \ E 245 nen ! 0 mfn ! 0 dba ! 245 fex ! 2 pos ! 245 fin ! 424 aud ! 245 psi ! 0 num ! 0 pre ! 0 seq ! 245 enx ! EnVocab InNativate ( WHO -- nominative subject-form of interrogative pronoun ) 430 t ! 87 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ W 431 t ! 72 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ H 432 t ! 79 pho ! 0 beg ! 0 ctu ! 791 audpsi ! AudMem \ O 791 nen ! 0 mfn ! 1 dba ! 791 fex ! 7 pos ! 791 fin ! 430 aud ! 791 psi ! 1 num ! 0 pre ! 0 seq ! 791 enx ! EnVocab InNativate ( WHOSE -- genitive form of interrogative pronoun; 11nov2012 ) 434 t ! 87 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ W 435 t ! 72 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ H 436 t ! 83 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ O 437 t ! 83 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ S 438 t ! 69 pho ! 0 beg ! 0 ctu ! 794 audpsi ! AudMem \ E 794 nen ! 0 mfn ! 2 dba ! 794 fex ! 7 pos ! 794 fin ! 434 aud ! 794 psi ! 1 num ! 0 pre ! 0 seq ! 794 enx ! EnVocab InNativate ( WHOM -- dative indirect-object form of interrogative pronoun ) 440 t ! 87 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ W 441 t ! 72 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ H 442 t ! 79 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ O 443 t ! 77 pho ! 0 beg ! 0 ctu ! 794 audpsi ! AudMem \ M 794 nen ! 0 mfn ! 3 dba ! 794 fex ! 7 pos ! 794 fin ! 440 aud ! 794 psi ! 1 num ! 0 pre ! 0 seq ! 794 enx ! EnVocab InNativate ( WHOM -- accusative direct-obj. form of interrogative pronoun ) 445 t ! 87 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ W 446 t ! 72 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ H 447 t ! 79 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ O 448 t ! 77 pho ! 0 beg ! 0 ctu ! 794 audpsi ! AudMem \ M 794 nen ! 0 mfn ! 4 dba ! 794 fex ! 7 pos ! 794 fin ! 445 aud ! 794 psi ! 1 num ! 0 pre ! 0 seq ! 794 enx ! EnVocab InNativate ( WHY -- conjunction or adverb for machine reasoning logic ) 450 t ! 87 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ W 451 t ! 72 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ H 452 t ! 89 pho ! 0 beg ! 0 ctu ! 370 audpsi ! AudMem \ Y 370 nen ! 0 mfn ! 0 dba ! 370 fex ! 3 pos ! 370 fin ! 450 aud ! 370 psi ! 0 num ! 0 pre ! 0 seq ! 370 enx ! EnVocab InNativate ( WITH -- preposition for use with EnPrep module; 10nov2012 ) 454 t ! 87 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ W 455 t ! 73 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ I 456 t ! 84 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ T 457 t ! 72 pho ! 0 beg ! 0 ctu ! 680 audpsi ! AudMem \ H 680 nen ! 0 mfn ! 0 dba ! 680 fex ! 6 pos ! 680 fin ! 454 aud ! 680 psi ! 0 num ! 0 pre ! 0 seq ! 680 enx ! EnVocab InNativate ( WOMAN -- always feminine noun for use with gender flags ) 459 t ! 87 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ W 460 t ! 79 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ O 461 t ! 77 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ M 462 t ! 65 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ A 463 t ! 78 pho ! 0 beg ! 0 ctu ! 515 audpsi ! AudMem \ N 515 nen ! 2 mfn ! 0 dba ! 515 fex ! 5 pos ! 515 fin ! 459 aud ! 515 psi ! 1 num ! 0 pre ! 0 seq ! 515 enx ! EnVocab InNativate ( WOMEN -- irregular plural for retrieval by parameters 10nov2012 ) 465 t ! 87 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ W 466 t ! 79 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ O 467 t ! 77 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ M 468 t ! 69 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ E 469 t ! 78 pho ! 0 beg ! 0 ctu ! 515 audpsi ! AudMem \ N 515 nen ! 2 mfn ! 0 dba ! 515 fex ! 5 pos ! 515 fin ! 465 aud ! 515 psi ! 2 num ! 0 pre ! 0 seq ! 515 enx ! EnVocab InNativate ( YES -- interjection for human-computer interaction; 10nov2012 ) 471 t ! 89 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ Y 472 t ! 69 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ E 473 t ! 83 pho ! 0 beg ! 0 ctu ! 432 audpsi ! AudMem \ S 432 nen ! 0 mfn ! 0 dba ! 432 fex ! 4 pos ! 432 fin ! 471 aud ! 432 psi ! 0 num ! 0 pre ! 0 seq ! 432 enx ! EnVocab InNativate ( YOU -- nominative singular of personal pronoun; 10nov2012 ) 475 t ! 89 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ Y 476 t ! 79 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ O 477 t ! 85 pho ! 0 beg ! 0 ctu ! 707 audpsi ! AudMem \ U 707 nen ! 0 mfn ! 1 dba ! 707 fex ! 7 pos ! 701 fin ! 475 aud ! 707 psi ! 1 num ! 0 pre ! 0 seq ! 707 enx ! EnVocab InNativate ( YOURS -- genitive singular of personal pronoun; 10nov2012 ) 479 t ! 89 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ Y 480 t ! 79 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ O 481 t ! 85 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ U 482 t ! 82 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ R 483 t ! 83 pho ! 0 beg ! 0 ctu ! 707 audpsi ! AudMem \ S 707 nen ! 0 mfn ! 2 dba ! 707 fex ! 5 pos ! 701 fin ! 479 aud ! 707 psi ! 1 num ! 0 pre ! 0 seq ! 707 enx ! EnVocab InNativate ( YOU -- dative singular of personal pronoun; 10nov2012 ) 485 t ! 89 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ Y 486 t ! 79 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ O 487 t ! 85 pho ! 0 beg ! 0 ctu ! 707 audpsi ! AudMem \ U 707 nen ! 0 mfn ! 3 dba ! 707 fex ! 7 pos ! 701 fin ! 485 aud ! 707 psi ! 1 num ! 0 pre ! 0 seq ! 707 enx ! EnVocab InNativate ( YOU -- accusatie singular of personal pronoun; 10nov2012 ) 489 t ! 89 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ Y 490 t ! 79 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ O 491 t ! 85 pho ! 0 beg ! 0 ctu ! 707 audpsi ! AudMem \ U 707 nen ! 0 mfn ! 4 dba ! 707 fex ! 7 pos ! 701 fin ! 489 aud ! 707 psi ! 1 num ! 0 pre ! 0 seq ! 707 enx ! EnVocab InNativate ( YOU -- nominative plural of personal pronoun; 10nov2012 ) 493 t ! 89 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ Y 494 t ! 79 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ O 495 t ! 85 pho ! 0 beg ! 0 ctu ! 737 audpsi ! AudMem \ U 737 nen ! 0 mfn ! 1 dba ! 737 fex ! 7 pos ! 731 fin ! 493 aud ! 737 psi ! 2 num ! 0 pre ! 0 seq ! 737 enx ! EnVocab InNativate ( YOURS -- genitive plural of personal pronoun; 10nov2012 ) 497 t ! 89 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ Y 498 t ! 79 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ O 499 t ! 85 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ U 500 t ! 82 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ R 501 t ! 83 pho ! 0 beg ! 0 ctu ! 737 audpsi ! AudMem \ S 737 nen ! 0 mfn ! 2 dba ! 737 fex ! 5 pos ! 731 fin ! 497 aud ! 737 psi ! 2 num ! 0 pre ! 0 seq ! 737 enx ! EnVocab InNativate ( YOU -- dative plural of personal pronoun; 10nov2012 ) 503 t ! 89 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ Y 504 t ! 79 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ O 505 t ! 85 pho ! 0 beg ! 0 ctu ! 737 audpsi ! AudMem \ U 737 nen ! 0 mfn ! 3 dba ! 737 fex ! 7 pos ! 731 fin ! 503 aud ! 737 psi ! 2 num ! 0 pre ! 0 seq ! 737 enx ! EnVocab InNativate ( YOU -- accusatie plural of personal pronoun; 10nov2012 ) 507 t ! 89 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ Y 508 t ! 79 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ O 509 t ! 85 pho ! 0 beg ! 0 ctu ! 737 audpsi ! AudMem \ U 737 nen ! 0 mfn ! 4 dba ! 737 fex ! 7 pos ! 731 fin ! 507 aud ! 737 psi ! 2 num ! 0 pre ! 0 seq ! 737 enx ! EnVocab InNativate ( YOUR -- adjective for personal pronoun "YOU"; 10nov2012 ) 511 t ! 89 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ Y 512 t ! 79 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ O 513 t ! 85 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ U 514 t ! 82 pho ! 0 beg ! 0 ctu ! 182 audpsi ! AudMem \ R 182 nen ! 0 mfn ! 0 dba ! 182 fex ! 1 pos ! 181 fin ! 511 aud ! 182 psi ! 0 num ! 0 pre ! 0 seq ! 182 enx ! EnVocab InNativate ( YOU -- innate response to who-am-i query; 10nov2012 ) 516 t ! 89 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ Y 517 t ! 79 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ O 518 t ! 85 pho ! 0 beg ! 0 ctu ! 707 audpsi ! AudMem \ U 707 nen ! 0 mfn ! 1 dba ! 707 fex ! 7 pos ! 701 fin ! 516 aud ! 707 psi ! 1 num ! 0 pre ! 388 tqv ! 800 seq ! 707 enx ! EnVocab InNativate ( ARE -- essential intransitive verb -- 800 with parameters ) 520 t ! 65 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ A 521 t ! 82 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ R 522 t ! 69 pho ! 0 beg ! 0 ctu ! 800 audpsi ! AudMem \ E 800 nen ! 0 mfn ! 2 dba ! 800 fex ! 8 pos ! 800 fin ! 520 aud ! 800 psi ! 1 num ! 707 pre ! 528 tqv ! 588 seq ! 800 enx ! EnVocab InNativate ( MAGIC -- all-purpose noun not preceded by article; 10nov2012 ) 524 t ! 77 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ M 525 t ! 65 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ A 526 t ! 71 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ G 527 t ! 73 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ I 528 t ! 67 pho ! 0 beg ! 0 ctu ! 588 audpsi ! AudMem \ C 588 nen ! 0 mfn ! 1 dba ! 588 fex ! 5 pos ! 588 fin ! 524 aud ! 588 psi ! 1 num ! 800 pre ! 0 tqv ! 0 seq ! 588 enx ! EnVocab InNativate ( I -- for SelfReferentialThought ) 530 t ! 73 pho ! 1 beg ! 0 ctu ! 701 audpsi ! AudMem \ I 701 nen ! 0 mfn ! 1 dba ! 701 fex ! 7 pos ! 707 fin ! 530 aud ! 701 psi ! 1 num ! 0 pre ! 533 tqv ! 800 seq ! 701 enx ! EnVocab InNativate ( AM -- for SelfReferentialThought ) 532 t ! 65 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ A 533 t ! 77 pho ! 0 beg ! 0 ctu ! 800 audpsi ! AudMem \ M 800 nen ! 1 num ! 1 dba ! 0 mfn ! 800 fex ! 8 pos ! 800 fin ! 532 aud ! 800 psi ! 701 pre ! 539 tqv ! 501 seq ! 800 enx ! EnVocab InNativate ( ANDRU -- for SelfReferentialThought ) 535 t ! 65 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ A 536 t ! 78 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ N 537 t ! 68 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ D 538 t ! 82 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ R 539 t ! 85 pho ! 0 beg ! 0 ctu ! 501 audpsi ! AudMem \ U 501 nen ! 1 mfn ! 1 dba ! 501 fex ! 5 pos ! 501 fin ! 535 aud ! 501 psi ! 1 num ! 800 pre ! 0 tqv ! 0 seq ! 501 enx ! EnVocab InNativate ( I -- innate KB-item for testing inhibition of idea-pairs ) 541 t ! 73 pho ! 1 beg ! 0 ctu ! 701 audpsi ! AudMem \ I 701 nen ! 0 mfn ! 1 dba ! 701 fex ! 7 pos ! 707 fin ! 541 aud ! 701 psi ! 1 num ! 0 pre ! 544 tqv ! 800 seq ! 701 enx ! EnVocab InNativate ( AM -- for SelfReferentialThought ) 543 t ! 65 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ A 544 t ! 77 pho ! 0 beg ! 0 ctu ! 800 audpsi ! AudMem \ M 800 nen ! 0 mfn ! 1 dba ! 800 fex ! 8 pos ! 800 fin ! 543 aud ! 800 psi ! 1 num ! 701 pre ! 552 tqv ! 571 seq ! 800 enx ! EnVocab InNativate ( A -- for EnArticle module ) 546 t ! 65 pho ! 1 beg ! 0 ctu ! 101 audpsi ! AudMem \ A 101 nen ! 0 mfn ! 0 dba ! 101 fex ! 1 pos ! 101 fin ! 546 aud ! 101 psi ! 1 num ! 0 pre ! 571 seq ! 101 enx ! EnVocab InNativate ( ROBOT -- important for target user base; debugged 24jul2014 ) 548 t ! 82 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ R 549 t ! 79 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ O 550 t ! 66 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ B 551 t ! 79 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ O 552 t ! 84 pho ! 0 beg ! 0 ctu ! 571 audpsi ! AudMem \ T 571 nen ! 3 mfn ! 1 dba ! 571 fex ! 5 pos ! 571 fin ! 548 aud ! 571 psi ! 1 num ! 800 pre ! 0 tqv ! 0 seq ! 571 enx ! EnVocab InNativate ( I -- innate KB-item for testing inhibition of idea-pairs 24jul2014 ) 554 t ! 73 pho ! 1 beg ! 0 ctu ! 701 audpsi ! AudMem \ I 701 nen ! 0 mfn ! 1 dba ! 701 fex ! 7 pos ! 707 fin ! 554 aud ! 701 psi ! 1 num ! 0 pre ! 557 tqv ! 800 seq ! 701 enx ! EnVocab InNativate ( AM -- for SelfReferentialThought; 10nov2012 ) 556 t ! 65 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ A 557 t ! 77 pho ! 0 beg ! 0 ctu ! 800 audpsi ! AudMem \ M 800 nen ! 0 mfn ! 1 dba ! 800 fex ! 8 pos ! 800 fin ! 556 aud ! 800 psi ! 1 num ! 701 pre ! 566 tqv ! 537 seq ! 800 enx ! EnVocab InNativate ( A -- for EnArticle module ) 559 t ! 65 pho ! 1 beg ! 0 ctu ! 101 audpsi ! AudMem \ A 101 nen ! 0 mfn ! 0 dba ! 101 fex ! 1 pos ! 101 fin ! 559 aud ! 101 psi ! 1 num ! 0 pre ! 537 seq ! 101 enx ! EnVocab InNativate ( PERSON -- for ad-hoc gender tags and robot philosophy ) 561 t ! 80 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ P 562 t ! 69 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ E 563 t ! 82 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ R 564 t ! 83 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ S 565 t ! 79 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ O 566 t ! 78 pho ! 0 beg ! 0 ctu ! 537 audpsi ! AudMem \ N 537 nen ! 0 mfn ! 1 dba ! 537 fex ! 5 pos ! 537 fin ! 561 aud ! 537 psi ! 1 num ! 800 pre ! 0 tqv ! 0 seq ! 537 enx ! EnVocab InNativate ( I -- for SelfReferentialThought ) 568 t ! 73 pho ! 1 beg ! 0 ctu ! 701 audpsi ! AudMem \ I 701 nen ! 0 mfn ! 1 dba ! 701 fex ! 7 pos ! 707 fin ! 568 aud ! 701 psi ! 1 num 1 0 pre ! 573 tqv ! 895 seq ! 701 enx ! EnVocab InNativate ( HELP -- socially significant common verb ) 570 t ! 72 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ H 571 t ! 69 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ E 572 t ! 76 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ L 573 t ! 80 pho ! 0 beg ! 0 ctu ! 895 audpsi ! AudMem \ P 895 nen ! 0 mfn ! 1 dba ! 895 fex ! 8 pos ! 895 fin ! 570 aud ! 895 psi ! 1 num ! 701 pre ! 578 tqv ! 528 seq ! 895 enx ! EnVocab InNativate ( KIDS -- noun lends itself to educational purposes ) 575 t ! 75 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ K 576 t ! 73 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ I 577 t ! 68 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ D 578 t ! 83 pho ! 0 beg ! 0 ctu ! 528 audpsi ! AudMem \ S 528 nen ! 2 num ! 4 dba ! 0 mfn ! 528 fex ! 5 pos ! 528 fin ! 575 aud ! 528 psi ! 895 pre ! 0 tqv ! 0 seq ! 528 enx ! EnVocab InNativate ( KIDS -- noun lends itself to educational purposes ) 580 t ! 75 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ K 581 t ! 73 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ I 582 t ! 68 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ D 583 t ! 83 pho ! 0 beg ! 0 ctu ! 528 audpsi ! AudMem \ S 528 nen ! 0 mfn ! 1 dba ! 528 fex ! 5 pos ! 528 fin ! 580 aud ! 528 psi ! 2 num ! 0 pre ! 588 tqv ! 835 seq ! 528 enx ! EnVocab InStantiate ( MAKE -- common verb of high word-frequency ) 585 t ! 77 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ M 586 t ! 65 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ A 587 t ! 75 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ K 588 t ! 69 pho ! 0 beg ! 0 ctu ! 835 audpsi ! AudMem \ E 835 nen ! 2 num ! 0 mfn ! 835 fex ! 8 pos ! 835 fin ! 585 aud ! 835 psi ! 72 pre ! 595 tqv ! 571 seq ! 835 enx ! EnVocab InNativate ( ROBOTS -- important for target user base ) 590 t ! 82 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ R 591 t ! 79 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ O 592 t ! 66 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ B 593 t ! 79 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ O 594 t ! 84 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ T 595 t ! 83 pho ! 0 beg ! 0 ctu ! 571 audpsi ! AudMem \ S 571 nen ! 3 mfn ! 4 dba ! 571 fex ! 5 pos ! 571 fin ! 590 aud ! 571 psi ! 2 num ! 835 pre ! 0 tqv ! 0 seq ! 571 enx ! EnVocab InNativate ( ROBOTS -- important for target user base ) 597 t ! 82 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ R 598 t ! 79 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ O 599 t ! 66 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ B 600 t ! 79 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ O 601 t ! 84 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ T 602 t ! 83 pho ! 0 beg ! 0 ctu ! 571 audpsi ! AudMem \ S 571 nen ! 3 mfn ! 1 dba ! 571 fex ! 5 pos ! 571 fin ! 597 aud ! 571 psi ! 2 num ! 0 pre ! 473 tqv ! 849 seq ! 571 enx ! EnVocab InNativate ( NEED -- common verb used for describing goals ) 604 t ! 78 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ N 605 t ! 69 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ E 606 t ! 69 pho ! 0 beg ! 1 ctu ! 0 audpsi ! AudMem \ E 607 t ! 68 pho ! 0 beg ! 0 ctu ! 849 audpsi ! AudMem \ D 849 nen ! 2 num ! 0 mfn ! 849 fex ! 8 pos ! 849 fin ! 604 aud ! 849 psi ! 571 pre ! 610 tqv ! 701 seq ! 849 enx ! EnVocab InNativate ( ME -- for SelfReferentialThought ) 609 t ! 77 pho ! 1 beg ! 1 ctu ! 0 audpsi ! AudMem \ M 610 t ! 69 pho ! 0 beg ! 0 ctu ! 701 audpsi ! AudMem \ E 701 nen ! 0 mfn ! 4 dba ! 701 fex ! 7 pos ! 707 fin ! 609 aud ! 701 psi ! 1 num ! 849 pre ! 0 tqv ! 0 seq ! 701 enx ! EnVocab InNativate ( Declaration of "vault" must reflect final EnBoot "t".) 1 t +! t @ vault ! t @ tov ! 1 t +! t @ nlt ! ( nlt may be basis for DAMP functions ) 528 urpsi ! \ As if "KIDS" were the cresting concept. 900 nen ! \ segregate parts of speech by century; 9nov2012 5 bias ! 0 lurk ! \ prepare to auto-start thinking; 19sep2010 0 num ! 0 mfn ! \ Prevent carry-over. 0 mfnflag ! \ Prevent carry-over; 23aug2010 0 nwc ! 0 pho ! 0 pre ! 0 seq ! 0 putnum ! \ prevent carry-over; 4nov2011 ; ( http://code.google.com/p/mindforth/wiki/EnBoot ) : KbTraversal ( reactivate KB concepts ) 35 pov ! kbtv @ 4 > IF 1 kbtv ! THEN \ CR ." Knowledge base traversal with kbtv at " kbtv @ . CR ." Time = " t @ . 8 EMIT \ as in Wotan AI; 28dec2012 ." ; ReJuvenate count = " rjc @ . 8 EMIT \ 28dec2012 ." ; activating " \ as in Wotan German AI 28dec2012 \ ." KbTraversal activates " \ 28dec2012 kbtv @ 1 = IF 1 kbyn ! \ for AskUser Y/N query subject; 24jun2011 707 nacpsi ! \ 707=YOU noun-activation psi; 10nov2012 707 qusub ! \ in case a query will be made; 10nov2012 707 subjpsi ! \ a test to help WhoBe; 10nov2012 1 subjnum ! \ for correct be-verb; 12oct2011 2 prsn ! \ for correct be-verb; 12oct2011 \ ." activating concept of YOU" CR \ for who-query; 7aug2010 34 EMIT ." YOU" 34 EMIT ." as a concept." CR \ 28dec2012 62 nounval ! NounAct 0 nacpsi ! THEN kbtv @ 2 = IF \ for use in ThInk module; 14oct2011 2 kbyn ! \ for AskUser Y/N query subject; 24jun2011 \ ." activating concept of ROBOTS" CR ( 7aug2010 ) 34 EMIT ." ROBOTS" 34 EMIT ." as a concept." CR \ 28dec2012 571 subjpsi ! \ external tagging as subject; 14oct2011 571 qusub ! \ in case a query will be made; 10nov2012 0 nacpsi ! THEN kbtv @ 3 = IF 3 kbyn ! \ for AskUser Y/N query subject; 24jun2011 701 nacpsi ! \ 701=I noun-activation psi; 10nov2012 \ ." activating concept of I" CR ( 7aug2010 ) 34 EMIT ." I" 34 EMIT ." as a concept." CR \ 28dec2012 701 qusub ! \ in case a query will be made; 10nov2012 701 subjpsi ! \ external tagging as subject; 10nov2012 NounAct 0 nacpsi ! THEN kbtv @ 4 = IF 4 kbyn ! \ for AskUser Y/N query subject; 24jun2011 533 nacpsi ! \ 533=GOD noun-activation psi; 10nov2012 \ ." activating concept of GOD" CR ( 7aug2010 ) 34 EMIT ." GOD" 34 EMIT ." as a concept." CR \ 28dec2012 533 qusub ! \ in case a query will be made; 10nov2012 533 subjpsi ! \ external tagging as subject; 10nov2012 62 nounval ! NounAct 0 nacpsi ! THEN ( http://www.quartus.net ) 42 pov ! ; ( http://code.google.com/p/mindforth/wiki/KbTraversal ) : ReJuvenate ( recycle oldest memory spaces ) fyi @ 2 = IF CLS THEN 0 edge ! CR 1 rjc +! ." Please wait as memories migrate in ReJuvenate cycle #" rjc @ . CR t @ 2 + coda @ vault @ + DO I jrt ! jrt @ coda @ - jrt ! edge @ 1 = IF I 0 psi{ @ jrt @ 0 psi{ ! 0 I 0 psi{ ! I 1 psi{ @ jrt @ 1 psi{ ! 0 I 1 psi{ ! I 2 psi{ @ jrt @ 2 psi{ ! 0 I 2 psi{ ! I 3 psi{ @ jrt @ 3 psi{ ! 0 I 3 psi{ ! I 4 psi{ @ jrt @ 4 psi{ ! 0 I 4 psi{ ! I 5 psi{ @ jrt @ 5 psi{ ! 0 I 5 psi{ ! \ Next line adjusts tqv by minus-coda; 14aug2012 I 6 psi{ @ coda @ - jrt @ 6 psi{ ! 0 I 6 psi{ ! I 7 psi{ @ jrt @ 7 psi{ ! 0 I 7 psi{ ! I 8 psi{ @ jrt @ 8 psi{ ! 0 I 8 psi{ ! THEN edge @ 1 = IF en8 @ 1 < IF 0 en8 ! THEN \ 10nov2012 I 0 en{ @ jrt @ 0 en{ ! 0 I 0 en{ ! I 1 en{ @ jrt @ 1 en{ ! 0 I 1 en{ ! I 2 en{ @ jrt @ 2 en{ ! 0 I 2 en{ ! I 3 en{ @ jrt @ 3 en{ ! 0 I 3 en{ ! I 4 en{ @ jrt @ 4 en{ ! 0 I 4 en{ ! I 5 en{ @ jrt @ 5 en{ ! 0 I 5 en{ ! I 6 en{ @ jrt @ 6 en{ ! 0 I 6 en{ ! I 7 en{ @ jrt @ 7 en{ ! 0 I 7 en{ ! \ 29dec2012 I 8 en{ @ en8 ! \ 10nov2012 en8 @ vault @ < IF en8 @ jrt @ 8 en{ ! 0 I 8 en{ ! THEN en8 @ coda @ vault @ + > IF \ 10nov2012 en8 @ coda @ - jrt @ 8 en{ ! \ 10nov2012 THEN 0 I 8 en{ ! \ 10nov2012 THEN edge @ 1 = IF I 0 aud{ @ jrt @ 0 aud{ ! I 1 aud{ @ jrt @ 1 aud{ ! I 2 aud{ @ jrt @ 2 aud{ ! I 3 aud{ @ jrt @ 3 aud{ ! I 4 aud{ @ jrt @ 4 aud{ ! I 5 aud{ @ jrt @ 5 aud{ ! fyi @ 1 > IF jrt @ 0 aud{ @ EMIT THEN THEN edge @ 0 = IF 32 jrt @ 0 aud{ ! 0 jrt @ 1 aud{ ! I 2 aud{ @ 123 = IF 1 edge ! THEN 0 jrt @ 2 aud{ ! 0 jrt @ 3 aud{ ! 0 jrt @ 4 aud{ ! 0 jrt @ 5 aud{ ! 0 jrt @ 0 en{ ! 0 jrt @ 1 en{ ! 0 jrt @ 2 en{ ! 0 jrt @ 3 en{ ! 0 jrt @ 4 en{ ! 0 jrt @ 5 en{ ! 0 jrt @ 6 en{ ! 0 jrt @ 7 en{ ! 0 jrt @ 8 en{ ! \ with dba; 10nov2012 0 jrt @ 0 psi{ ! 0 jrt @ 1 psi{ ! 0 jrt @ 2 psi{ ! 0 jrt @ 3 psi{ ! 0 jrt @ 4 psi{ ! 0 jrt @ 5 psi{ ! 0 jrt @ 6 psi{ ! 0 jrt @ 7 psi{ ! 0 jrt @ 8 psi{ ! \ for "tqv"; 12oct2011 THEN LOOP jrt @ t ! cns @ t @ DO 32 I 0 aud{ ! 0 I 1 aud{ ! 0 I 2 aud{ ! 0 I 3 aud{ ! 0 I 4 aud{ ! 0 I 5 aud{ ! 0 I 0 en{ ! 0 I 1 en{ ! 0 I 2 en{ ! 0 I 3 en{ ! 0 I 4 en{ ! 0 I 5 en{ ! 0 I 6 en{ ! 0 I 7 en{ ! 0 I 8 en{ ! \ with "dba"; 10nov2012 0 I 0 psi{ ! 0 I 1 psi{ ! 0 I 2 psi{ ! 0 I 3 psi{ ! 0 I 4 psi{ ! 0 I 5 psi{ ! 0 I 6 psi{ ! 0 I 7 psi{ ! 0 I 8 psi{ ! \ with new "enx"; 12oct2011 LOOP t @ 32 - tov ! \ 12jan2010 Avoid truncating thoughts. CR CR ." End of ReJuvenate #" rjc @ . ." in the AI Mind display for science museum exhibits." CR ." Tab key cycles through Normal, Transcript, " ." Tutorial, Diagnostic display-modes. " CR 1 kbtv +! kbtv @ 0 > IF CR ." For lack of human input, " ." ReJuvenate calls KbTraversal" CR KbTraversal THEN ( http://ronware.org/reva ) rsvp @ rjc @ - rsvp ! rsvp @ 2 < IF 2 rsvp ! THEN \ 23dec2009 Maintain speed. ; ( http://code.google.com/p/mindforth/wiki/ReJuvenate ) : SpeechAct ( output of a word as text or sound ) aud @ 0 = IF 1 aud ! THEN \ default to ERROR; 21jul2011 fyi @ 2 = IF CR THEN 0 audstop ! ( Initially false value of flag ) 0 pho ! ( Lest pho already be at 32 ) aud @ onset ! ( onset of a word is its recall-vector ) aud @ t2s ! 40 1 DO t2s @ 0 aud{ @ pho ! pho @ 32 = NOT IF pho @ EMIT ( say or display "pho" ) pho @ lastpho ! THEN \ End of test for pho=32 space-bar; 30aug2010 pho @ 32 = IF \ but instead of a blank space; 30aug2010 lastpho @ 83 = NOT IF \ not after "S"; 30aug2010 flex1 @ 0 > IF \ using shorter variable; 11sep2011 flex1 @ pho ! \ append inflection; 11sep2011 0 flex1 ! \ reset for safety; 11sep2011 THEN ( http://aimind-i.com ) 1 spacegap ! 0 vpos ! THEN \ End of test for previous "S"; 30aug2010 pho @ EMIT ( say or display "pho" ) 1 audstop ! THEN \ end of test for 32=space; 30aug2010 35 pov ! ( internal point-of-view "#" like mindgrid ) AudInput ( for reentry of thought back into a mind ) audstop @ 1 = IF spacegap @ 1 = IF 32 pho ! 1 audrun ! \ resetting at end of internal word. AudInput 0 spacegap ! THEN ( http://www.speechapi.com ) LEAVE THEN ( http://aigroup.narod.ru ) t2s @ 1+ t2s ! t2s @ 4 aud{ @ 0 = IF 32 pho ! THEN ( If end of word ) match @ 1 = IF 0 match ! LEAVE THEN LOOP 0 aud ! \ Avoid unwarranted carry-over of value; 11sep2011 0 match ! 0 obstat ! ; ( http://code.google.com/p/mindforth/wiki/SpeechAct ) : SayYes ( to utter "YES" in response ) midway @ t @ DO I 0 en{ @ 432 = IF \ 3-digit; 10nov2012 I 8 en{ @ aud ! \ with dba; 10nov2012 LEAVE THEN ( http://aimind-i.com ) -1 +LOOP SpeechAct 0 kbquiz ! 0 yesorno ! ; ( http://code.google.com/p/mindforth ) : EnArticle ( select "a" or "the" before a noun ) indefmust @ 1 = IF \ if required to say "A(N)"; 20oct2011 midway @ t @ DO \ search backwards in time; 20oct2011 I 0 en{ @ 101 = IF \ 101=A found? 8nov2012 I 8 en{ @ aud ! \ save auditory recall-vector LEAVE \ one instance is enough; 20oct2011 THEN \ end of test for "101=A" engram; 8nov2012 -1 +LOOP \ end of backwards loop; 20oct2011 SpeechAct \ pronounce the requred article; 20oct2011 0 indefmust ! \ reset for safety; 20oct2011 EXIT \ abandon rest of EnArticle; 20oct2011 THEN \ end of test for a required "A(N); 20oct2011 nphrpos @ 7 = NOT IF nphrnum @ 1 = IF motjuste @ ghost @ = IF \ 0 indefartcon ! \ do not say "A"; 15oct2011 1 defartcon ! \ say "THE"; 15oct2011 THEN \ motjuste @ ghost @ = NOT IF subjnum @ 1 = IF \ if singular subject; 13sep2011 verbpsi @ 800 = IF \ AM or IS; 10nov0212 1 indefartcon ! \ indefinite article; 13sep2011 THEN \ end of test for "AM" or "IS"; 13sep2011 THEN \ 13sep2011 indefartcon @ 1 = IF \ from WHAT-query; 16apr2011 0 defartcon ! \ avoid "A THE"; 6oct2011 anset @ 0 = IF ( If no vowel is next ) midway @ t @ DO I 0 en{ @ 101 = IF \ 101=A? 8nov2012 I 8 en{ @ aud ! \ 10nov2012 LEAVE THEN -1 +LOOP THEN ( End of test for absence of a vowel ) anset @ 0 > IF ( If anset-flag is positive ) midway @ t @ DO I 0 en{ @ 102 = IF \ 102=AN? 8nov2012 I 8 en{ @ aud ! \ 10nov2012 LEAVE THEN -1 +LOOP THEN ( End of test for a vowel coming next ) 1 numflag ! \ With "A" assume singular number. SpeechAct 0 indefartcon ! \ Reset; 16apr2011 THEN \ End of test for positive indefartcon; 16apr2011 0 indefartcon ! \ Reset for safety; 6oct2011 THEN motjuste @ ghost @ = IF defartcon @ 1 = IF \ from WH0-query; 16apr2011 midway @ t @ DO I 0 en{ @ 117 = IF \ If 117=THE found; 10nov2012 I 8 en{ @ aud ! \ with dba; 10nov2012 LEAVE THEN -1 +LOOP SpeechAct 0 defartcon ! \ Reset; 16apr2011 THEN \ End of test for positive defartcon; 16apr2011 THEN THEN THEN dirobj @ 1 = IF motjuste @ ghost ! THEN ( http://thebeez.home.xs4all.nl/4tH ) 0 whoflag ! \ call EnArticle only once; 15oct2011 ; ( http://code.google.com/p/mindforth/wiki/EnArticle ) : EnAdjective ( insert an adjective into a sentence ) adjcon @ 1 = IF \ activation spreads to an adjective? ( find and speak the most active adjective; 16sep2011 ) THEN ( http://www.colorforth.com ) ; ( http://code.google.com/p/mindforth ) : AuxVerb ( auxiliary Verb ) \ CR ." AuxV: subjnum prsn = " \ 29dec2012 \ subjnum @ . prsn @ . \ 29dec2012 subjnum @ 1 = prsn @ 3 = AND IF \ 19jul211 midway @ t @ DO I 0 en{ @ 830 = IF \ 830=DO; 10nov2012 I 2 en{ @ 1 = IF \ singular? 10nov2012 I 4 en{ @ 3 = IF \ 3rd person? 10nov2012 I 8 en{ @ aud ! \ 10nov2012 LEAVE THEN \ end of test for third person; 10nov2012 THEN \ end ofbtest for num=1 singular; 10nov2012 THEN \ end of test for 830=DO; 10nov2012 -1 +LOOP SpeechAct \ Say word starting at "aud" value; 20jul2011 830 urpsi ! \ 10nov2012 51 caller ! PsiDamp 0 urpsi ! \ reset for safety; 29dec2012 0 caller ! ELSE \ all other cases except 3rd prsn sing; 25jun2011 midway @ t @ DO \ may need parameters! 10nov2012 I 0 en{ @ 830 = IF \ 830=DO; 10nov2012 I 4 en{ @ 0 = IF \ 0=dba infinitive 29dec2012 I 8 en{ @ 0 > IF \ non-zer? 29dec2012 I 8 en{ @ aud ! \ 10nov2012 LEAVE THEN \ end of test for non-zero aud; 29dec2012 THEN \ end of test to accept infinitive; 29dec2012 THEN -1 +LOOP SpeechAct fyi @ 2 > IF CR ." from AuxVerb after speaking of DO, " ." psiDamping concept #830 DO" THEN 830 urpsi ! \ 830=DO; 10nov2012 51 caller ! PsiDamp 0 urpsi ! \ reset for safety; 29dec2012 0 caller ! THEN \ end of test for both sing & 3rd prsn; 25jun2011 ; ( http://code.google.com/p/mindforth/wiki/AuxVerb ) : WhatAuxSVerb ( What DO Subjects Verb; 13jun2011 ) midway @ t @ DO I 0 en{ @ 781 = IF \ 781=WHAT 10nov2012 I 8 en{ @ aud ! \ 10nov2012 LEAVE THEN -1 +LOOP SpeechAct \ Say word starting at "aud" value; 20jul2011 781 urpsi ! \ 781=WHAT; 10nov2012 PsiDamp AuxVerb \ Say DOES or DO depending on num(ber) 20jul2011 0 motjuste ! midway @ t @ DO I 0 en{ @ topic @ = IF \ 13jun2011 I 8 en{ @ aud ! \ 10nov2012 LEAVE THEN ( http://sourceforge.net/projects/calforth ) -1 +LOOP topic @ urpsi ! \ 14aug2011 PsiDamp SpeechAct verbpsi @ 0 = IF 830 verbpsi ! THEN \ 830=DO DeFault 10nov2012 verbpsi @ unk ! \ use a short "unk"; 28aug2011 verbpsi @ 800 = IF \ 800 cover AM IS ARE BE; 10nov2012 830 verbpsi ! \ replace be-verbs with 830=DO; 10nov2012 THEN \ end of default switching be-verb to 830=DO; 10nov2012 midway @ t @ DO I 0 en{ @ verbpsi @ = IF \ 13jun2011 I 2 en{ @ 2 = IF \ as if infinitive; 13jun2011 I 8 en{ @ aud ! \ 10nov2012 LEAVE THEN \ End of test for plural as if infinitive THEN -1 +LOOP aud @ 0 = IF \ if no plural accept singular 14aug2011 midway @ t @ DO \ search English vocab; 14aug2011 I 0 en{ @ verbpsi @ = IF \ 14aug2011 I 8 en{ @ aud ! \ for SpeechAct; 10nov2012 LEAVE \ one engram is enough; 14aug2011 THEN \ end of test for verbpsi; 14aug2011 -1 +LOOP \ end of backwards search loop; 14aug2011 THEN \ end of test for no engram found; 14aug2011 ( http://www.intelligent-systems.com.ar/intsyst/proposedBrain.htm ) SpeechAct verbpsi @ urpsi ! \ 13jun2011 PsiDamp ; ( http://code.google.com/p/mindforth ) : WhatAuxSDo ( What DO Subjects DO ) midway @ t @ DO I 0 en{ @ 781 = IF \ 781=WHAT; 10nov2012 I 8 en{ @ aud ! \ 10nov2012 LEAVE THEN -1 +LOOP SpeechAct 781 urpsi ! \ 781=WHAT for PsiDamp; 10nov2012 42 caller ! PsiDamp 0 caller ! AuxVerb \ to include DO or DOES; 14aug2011 subjnum @ 1 = IF \ for singular subject; 14oct2011 topic @ motjuste ! \ test; 14oct2011 0 ghost ! \ test; 14oct2011 1 nphrnum ! \ required for "A"' 14oct2011 1 indefartcon ! \ to say "A"; 14oct2011 EnArticle \ 14oct2011 THEN \ end of test for singular subject; 14oct2011 midway @ t @ DO I 0 en{ @ topic @ = IF I 2 en{ @ subjnum @ = IF \ agreement? 14oct2011 I 8 en{ @ aud ! \ 10nov2012 LEAVE \ only after finding match; 14oct2011 THEN \ end of grammatical-number test; 14oct2011 THEN -1 +LOOP topic @ urpsi ! \ 14aug2011 42 caller ! PsiDamp SpeechAct midway @ t @ DO I 0 en{ @ 830 = IF \ 830=DO; 10nov2012 I 4 en{ @ 0 = IF \ dba=0 infinitive; 25dec2012 I 8 en{ @ aud ! \ 10nov2012 LEAVE THEN \ end of tist for infinitive dba=0; 25dec2012 THEN -1 +LOOP SpeechAct fyi @ 2 > IF CR ." from whatAuxSDo after speaking of DO, " ." psiDamping concept #59 DO" THEN 830 urpsi ! \ 830=DO for PsiDamp; 10nov2012 42 caller ! PsiDamp 0 caller ! ; ( http://code.google.com/p/mindforth/wiki/WhatAuxSDo ) : WhoBe ( for asking WHO IS-AM-ARE; 9aug2010 ) 1 moot ! \ prevent associative tagging inside query; 24oct2011 0 tqv ! \ prevent spurious carry-over values; 1aug2012 topic @ 0 > IF topic @ qusub ! THEN \ review; 30jul2011 midway @ t @ DO \ Say the word "WHO"; 19aug2010 I 0 en{ @ 791 = IF ( 791=WHO; 10nov2012 ) I 8 en{ @ aud ! \ 10nov2012 LEAVE THEN -1 +LOOP SpeechAct 8766 caller ! \ ASCII 87=W 66=B; test; 26sep2010 55 urpsi ! \ Designate concept to be psi-damped; 19aug2010 PsiDamp 0 caller ! \ reset after use; 26sep2010 qusub @ 701 = IF 1 prsn ! THEN \ 1st person "I" 10nov2012 qusub @ 731 = IF 1 prsn ! THEN \ 1st person WE 10nov2012 qusub @ 707 = IF 2 prsn ! THEN \ 2nd person YOU 10nov2012 qusub @ 737 = IF 2 prsn ! THEN \ 2nd person YOU 10nov2012 qusub @ 713 = IF 3 prsn ! THEN \ 3rd person HE 10nov2012 qusub @ 719 = IF 3 prsn ! THEN \ 3rd person SHE 10nov2012 qusub @ 725 = IF 3 prsn ! THEN \ 3rd person IT 10nov2012 qusub @ 743 = IF 3 prsn ! THEN \ 3rd person THEY 10nov2012 prsn @ 3 = IF \ only for 3rd person; 1sep2010 midway @ t @ DO \ Say "IS" after "WHO"; 19aug2010 I 0 en{ @ 800 = IF ( 800=BE; 10nov2012 ) I 2 en{ @ 1 = IF ( singular? 10nov2012 ) I 4 en{ @ 3 = IF ( 3rd person? 10nov2012 ) I 8 en{ @ aud ! \ 10nov2012 LEAVE THEN \ end of test for 3rd person "IS" 10nov2012 THEN \ end of test for singular; 10nov2012 THEN \ end of test for be-verb; 10nov2012 -1 +LOOP SpeechAct \ to say "IS"; 17aug2010 0 mfn ! \ test; remove; 25aug2010 0 mfnflag ! \ Reset after use; 19aug2010 THEN \ end of test for prsn=1; 1sep2010 qusub @ 701 = IF ( I; 10nov2012 ) 1 prsn ! \ first person; 1sep2010 1 nphrnum ! \ singular; 1sep2010 midway @ t @ DO I 0 en{ @ 800 = IF ( 800=BE; 10nov2012 ) I 2 en{ @ 1 = IF ( singular? 10nov2012 ) I 4 en{ @ 1 = IF ( 1st person? 10nov2012 ) I 8 en{ @ aud ! \ 10nov2012 LEAVE THEN \ end ofb test for first person; 10nov2012 THEN \ end of test for singular 800=BE; 10nov2012 THEN \ end of test for be-verb; 10nov2012 -1 +LOOP SpeechAct \ to say "AM"; 17oct2011 THEN \ 9aug2010 qusub @ 701 = IF \ treat ME like 701=I; 10nov2012 midway @ t @ DO I 0 en{ @ 800 = IF ( 800=BE; 10nov2012 ) I 2 en{ @ 1 = IF ( singular? 10nov2012 ) I 4 en{ @ 1 = IF ( 1st person? 10nov2012 ) I 8 en{ @ aud ! \ 10nov2012 LEAVE THEN \ end of test for first person; 10nov2012 THEN \ end of test for singular; 10nov2012 THEN \ end of test for be-verb; 10nov2012 -1 +LOOP SpeechAct \ moved inside the IF-clause; 10aug2010 THEN \ 9aug2010 qusub @ 707 = IF ( 707=YOU; 10nov2012 ) 2 prsn ! \ second person; 1sep2010 midway @ t @ DO I 0 en{ @ 800 = IF ( 800=BE; 10nov2012 ) I 2 en{ @ 1 = IF ( singular? 10nov2012 ) I 4 en{ @ 2 = IF ( 2nd person? 10nov2012 ) I 8 en{ @ aud ! \ 10nov2012 LEAVE THEN \ end of test for 2nd person; 10nov2012 THEN \ end of test for singular; 10nov2012 THEN \ end of test for be-verb; 10nov2012 -1 +LOOP SpeechAct \ to say "ARE"; 10aug2010 THEN \ 9aug2010 qusub @ 713 = IF ( 713=HE; 10nov2012 ) 3 prsn ! \ third person; 1sep2010 1 nphrnum ! \ singular; 1sep2010 midway @ t @ DO I 0 en{ @ 800 = IF ( 800=BE; 10nov2012 ) I 2 en{ @ 1 = IF ( singular? 10nov2012 ) I 4 en{ @ 3 = IF ( 3rd person? 10nov2012 ) I 8 en{ @ aud ! \ 10nov2012 LEAVE THEN \ enmd of test for 3rd person; 10nov2012 THEN \ end of test for singular; 10nov2012 THEN \ end of test for be-verb; 10nov2012 -1 +LOOP THEN ( http://minforth.net.ms ) midway @ t @ DO \ search for who-query subject; 23aug2010 I 0 en{ @ qusub @ = IF \ if qusub found; 3oct2010 I 8 en{ @ aud ! \ recall-tag; 10nov2012 LEAVE \ one exemplar is enough; 23aug2010 THEN \ end of test for subject; 23aug2010 -1 +LOOP \ end of search-loop; 23aug2010 SpeechAct \ speak (WHO IS) qusub query-subject; 3oct2010 0 moot ! \ end of not tagging query-concepts; 24oct2011 ; ( http://code.google.com/p/mindforth ) : WhatBe ( what AM/IS/ARE Subjects ) \ 10oct2011 1 moot ! \ prevent storage of spurious ideas; 24oct2011 0 tqv ! \ prevent spurious carry-over values; 1aug2012 qusub @ 0 = IF \ for a new word like "energy"; 8aug2012 subjnum @ 0 = IF \ in absence of num(ber) data; 8aug2012 3 prsn ! \ to say "IS"; 8aug2012 THEN \ end of test for "qusub"; 8aug2012 THEN \ end of test for "subjnum"; 8aug2012 topic @ qusub ! \ THEN \ 2nd choice; 10oct2011 qusub @ 701 = IF 1 prsn ! THEN \ 1st person "I"; 10nov2012 qusub @ 707 = IF 2 prsn ! THEN \ 2nd person YOU; 10nov2012 midway @ t @ DO I 0 en{ @ 781 = IF \ 781=WHAT; 10nov2012 I 8 en{ @ aud ! \ 10nov2012 LEAVE THEN -1 +LOOP SpeechAct fyi @ 2 > IF CR ." from WhatBe after speaking of WHAT, " \ 25feb2011 ." psiDamping concept #781" THEN 8773 caller ! \ ASCII 87=W 73=I; test; 26sep2010 781 urpsi ! \ 781=WHAT for PsiDamp; 10nov2012 PsiDamp 0 caller ! subjnum @ 2 < topicnum @ 2 < OR IF \ not plural? 4nov2011 prsn @ 1 = IF \ 1st person singular; 21aug2011 midway @ t @ DO \ 21aug2011 I 0 en{ @ 800 = IF \ 800=BE; 10nov2012 I 2 en{ @ 1 = IF \ singular?; 10nov2012 I 4 en{ @ 1 = IF \ 1st person?; 10nov2012 I 8 en{ @ aud ! \ 10nov2012 1 topicnum ! \ If "AM" prevent "ARE"; 26jul2012 LEAVE \ 21aug2011 THEN \ end of test for first person; 10nov2012 THEN \ end of test for singular; 10nov2012 THEN \ 21aug2011 -1 +LOOP \ 21aug2011 SpeechAct \ 21aug2011 THEN \ end of test for first person singular; 21aug2011 prsn @ 3 = IF \ 3rd person singular; 19sep2010 midway @ t @ DO I 0 en{ @ 800 = IF \ 800=BE; 10nov2012 I 2 en{ @ 1 = IF \ singular? 10nov2012 I 4 en{ @ 3 = IF \ 3rd pers? 26dec2012 I 8 en{ @ aud ! \ 10nov2012 1 topicnum ! \ If "IS" prevent "ARE" 21jul2012 1 indefmust ! \ to say "IS A"; 20oct2011 LEAVE THEN \ end of test for 3rd person; 10nov2012 THEN \ end of test for singualr; 10nov2012 THEN ( http://isforth.com ) -1 +LOOP SpeechAct fyi @ 2 > IF CR ." from WhatBe after speaking of IS, " \ 25feb2011 ." psiDamping concept #800" THEN 8773 caller ! \ ASCII 87=W 73=I; test; 26sep2010 800 urpsi ! \ 10nov2012 PsiDamp 0 caller ! 0 motjuste ! THEN \ end of test for 3rd person singular; 19sep2010 THEN topicnum @ 2 = prsn @ 2 = OR IF \ test; 19sep2010 midway @ t @ DO I 0 en{ @ 800 = IF \ 800=BE; 10nov2012 I 2 en{ @ 2 = IF \ plural? 10nov2012 I 8 en{ @ aud ! \ 10nov2012 LEAVE THEN \ end of test for plural "ARE"; 10nov2012 THEN \ end of test for be-verb -1 +LOOP SpeechAct fyi @ 2 > IF CR ." from WhatBe after speaking of ARE, " \ 25feb2011 ." psiDamping concept #800" THEN 8773 caller ! \ ASCII 87=W 73=I; test; 26sep2010 800 urpsi ! \ 10nov2012 PsiDamp 0 caller ! \ test; 26sep2010 0 motjuste ! 0 subjpsi ! \ reset for safety' 17oct2011 0 topicnum ! THEN topicnum @ 2 = NOT IF \ if singular; 21jun2011 prsn @ 3 = IF \ 3rd person singular; 21jun2011 topicnum @ 1 = IF \ not zero; 4nov2011 EnArticle \ chance for "A" or "THE"; 21jun2011 THEN \ end of test for 1=singular; 4nov2011 THEN \ end of test for 3rd person; 21jun2011 THEN \ end of test for singular; 21jun2011 midway @ t @ DO I 0 en{ @ qusub @ = IF \ 10oct2011 I 4 en{ @ 1 = IF \ nominative? 1jan2013 I 8 en{ @ aud ! \ 10nov2012 LEAVE THEN \ end of test for dba=1 nominative; 1jan2013 THEN -1 +LOOP motjuste @ urpsi ! 8773 caller ! \ ASCII 87=W 73=I; test; 26sep2010 PsiDamp 0 caller ! \ test; 26sep2010 aud @ 0 > IF \ avoid #zero ERROR; \ 19sep2010 SpeechAct THEN \ end of test to avoid ERROR; 19sep2010 0 cogpsi ! \ let another new word call WhatBe; 17oct2011 0 indefmust ! \ reset for safety; 20oct2011 0 moot ! \ resume associative tagging; 24oct2011 0 qusub ! \ zero out for safety; 10oct2011 0 subjpsi ! \ reset for safety; 17oct2011 0 topic ! \ reset for safety; 18oct2011 0 whoflag ! \ Prevent EnArticle; 6oct2011 ; ( http://code.google.com/p/mindforth ) : AskUser ( outputs questions of a speculative nature ) 35 pov ! \ #35=internal; *42=external; 29dec2012 ynverb @ 0 = IF \ only ask y/n question once; 24jun2011 quverb @ ynverb ! \ isolate at start; 24jun2022 \ nphrnum @ 2 = IF \ if plural trigger; test; 24jun2011 \ nphrnum @ 2 = IF \ Commenting out for InFerence; 1jan2013 AuxVerb \ to say DO or DOES; 24jun2011 \ midway @ t @ DO \ search English vocab; 24jun2011 midway @ inft @ DO \ skip silent inference; 27dec2012 I 0 en{ @ qusub @ = IF ( kbtv ) I 8 en{ @ aud ! \ 10nov2012 LEAVE THEN -1 +LOOP tkbv @ tqv ! \ qusub needs a tqv to quverb 29dec2012 SpeechAct \ to say the subject; 24jun2011 t @ tkbn ! \ if engram is to be changed; 2jul2011 quverb @ t @ 7 psi{ ! \ insert as seq; 29dec2012 qusub @ nacpsi ! \ transfer activand; 25jun2011 62 nounval ! \ prime NounAct; 24jun2011 NounAct \ activate the query subject; 24jun2011 midway @ t @ DO \ search English vocab; 24jun2011 I 0 en{ @ ynverb @ = IF ( yes-or-no verb ) I 2 en{ @ 2 = IF \ as if infinitive; 24jun2011 I 8 en{ @ aud ! \ fetch recall-vector 10nov2012 LEAVE \ one engram is enough; 24jun2011 THEN \ end of test for plural as if infinitive THEN -1 +LOOP aud @ 0 = IF \ if no plural accept singular 24jun2011 midway @ t @ DO \ search English vocab; 24jun2011 I 0 en{ @ ynverb @ = IF ( yes-or-no verb ) I 2 en{ @ 1 = IF \ second choice; 24jun2011 I 8 en{ @ aud ! \ fetch recall-vector LEAVE \ one engram is enough; 24jun2011 THEN \ end of test for plural as if infinitive THEN -1 +LOOP THEN \ end of test for no engram found; 24jun2011 aud @ 0 = IF \ if neither plural nor singular; 25aug2011 midway @ t @ DO \ search English vocab; 25aug2011 I 0 en{ @ ynverb @ = IF ( yes-or-no verb ) I 8 en{ @ aud ! \ fetch recall-vector LEAVE \ one engram is enough; 25aug2011 THEN \ end of test for any form at all; 25aug2011 -1 +LOOP THEN \ end of third test for no engram found; 25aug2011 ynverb @ nacpsi ! \ transfer activand; 25jun2011 62 verbval ! \ prime VerbAct; 2jul2011 VerbAct \ activate the query verb; 25jun2011 SpeechAct \ to say yes-or-no verb; 24jun2011 t @ 1 - tkbv ! \ if engram is to be changed; 2jul2011 tkbv @ tkbn @ 6 psi{ ! \ noun's tqv; 29dec2012 quverb @ tkbn @ 7 psi{ ! \ noun's seq; 29dec2012 quobj @ tkbv @ 7 psi{ ! \ verb's seq; 29dec2012 quobj @ 0 = quobj @ 586 = OR IF \ nothing or ERROR 711 quobj ! \ 711=ANYTHING by default; 10nov2012 THEN \ end of test for a query-object; 20jul2011 \ midway @ t @ DO \ search English vocab; 24jun2011 midway @ inft @ DO \ skip silent inference; 27dec2012 I 0 en{ @ quobj @ = IF ( query-object? ) I 8 en{ @ aud ! \ 10nov2012 LEAVE THEN -1 +LOOP aud @ 2 < IF \ if zero or ERROR; 25aug2011 midway @ t @ DO \ search English vocab; 25aug2011 I 0 en{ @ 711 @ = IF \ 711=ANYTHING; 10nov2012 I 8 en{ @ aud ! \ 10nov2012 LEAVE \ 25aug2011 THEN \ 25aug2011 -1 +LOOP \ 25aug2011 THEN \ 25aug2011 SpeechAct \ to say query-object; 24jun2011 t @ tkbv @ 6 psi{ ! \ insert quverb's tqv; 29dec2012 \ THEN \ end of test for a plural nphrnum; 24jun2011 \ THEN \ Commenting out; soon remove as obsolete; 1jan2013 0 yncon ! \ because question has been asked; 2jul2011 1 kbcon ! \ because waiting for answer; 2jul2011 0 ynverb ! \ zero out; prevent repeat of query 24jun2011 THEN \ end of test for a positive ynverb; 24jun2011 5 bias ! \ Restore expectation of noun; 24jun2011 ; ( http://code.google.com/p/mindforth/wiki/AskUser ) : EnPronoun \ For use with what-do-X-do queries. num @ 1 = IF \ If antecedent num(ber) is singular. mfn @ 1 = IF \ if masculine singular; 13apr2010 midway @ t @ DO \ Look backwards for 49=HE. I 0 en{ @ 713 = IF \ If 713=HE is found, 713 motjuste ! \ "nen" concept #713 for "he". I 8 en{ @ aud ! \ Recall-vector for "he". LEAVE \ Use the most recent engram of "he". THEN \ End of search for 713=HE; 10-nov2012. -1 +LOOP \ End of loop finding pronoun "he". SpeechAct \ Speak or display the pronoun "he". THEN \ end of test for masculine gender-flag. mfn @ 2 = IF \ if feminine singular. midway @ t @ DO \ Look backwards for 80=SHE I 0 en{ @ 719 = IF \ If 719=SHE is found, 719 motjuste ! \ "nen" concept #719 for "she". I 8 en{ @ aud ! \ Recall-vector for "she". LEAVE \ Use the most recent engram of "she". THEN \ End of search for #719 "she". -1 +LOOP \ End of loop finding pronoun "she" SpeechAct \ Speak or display the pronoun "she" THEN \ end of test for feminine gender-flag. mfn @ 3 = IF \ if neuter singular; 13apr2010 midway @ t @ DO \ Look backwards for 725=IT. I 0 en{ @ 725 = IF \ If 725=IT is found, 725 motjuste ! \ "nen" concept #725 for "it". I 8 en{ @ aud ! \ Recall-vector for "it". LEAVE \ Use the most recent engram of "it". THEN \ End of search for 725=IT; 10nov2012 -1 +LOOP \ End of loop finding pronoun "it". SpeechAct \ Speak or display the pronoun "it". THEN \ end of test for neuter gender-flag. 0 numsubj ! \ safety measure; 13apr2010 THEN \ End of test for singular num(ber) num @ 2 = IF \ 30dec2009 If num(ber) of antecedent is plural ( code further conditions for "WE" or "YOU" ) midway @ t @ DO \ Look backwards for 743=THEY. I 0 en{ @ 743 = IF \ If 743=THEY is found, 743 motjuste ! \ "nen" concept #743 for "they". I 8 en{ @ aud ! \ Recall-vector for "they". LEAVE \ Use the most recent engram of "they". THEN \ End of search for 743=THEY; 10nov2012. -1 +LOOP \ End of loop finding pronoun "they". SpeechAct \ Speak or display the pronoun "they". THEN \ 30dec2009 End of test for plural num(ber) ; ( http://code.google.com/p/mindforth/wiki/EnPronoun ) : NounPhrase ( select part of a thought ) 0 audjuste ! \ prevent carry-over; 20oct2011 verblock @ 0 > IF \ positive verblock? 20oct2011 verblock @ 6 psi{ @ nounlock ! \ test; 20oct2011 THEN \ end of test for a positive verblock; 20oct2011 66 caller ! \ here and further down; 12oct2010 objold @ urpsi ! \ here and further down; 12oct2010 \ CR ." NounPhraseA: verblock urpsi = " \ test; 14jul2014 \ verblock @ . urpsi @ . CR \ test; 14jul2014 0 caller ! \ reset after use; 12oct2010 0 urpsi ! \ reset for safety; 12oct2010 EnReify ( move abstract Psi concepts to EnVocab reality ) 0 act ! 0 aud ! -64 defact ! \ for default comparisons with "50=I"; 9oct2011 0 kibosh ! \ for de-activating non-selectees; 17aug2011 0 motjuste ! 0 nphrnum ! \ prevent carry-overs; 11oct2011 0 num ! \ without prejudice; 29aug2010 0 prsn ! \ without prejudice; 29aug2010 0 putnum ! \ prevent carry-over from previous; 4nov2011 0 recnum ! \ prevent carry-over from previous; 4nov2011 0 tpeg ! \ reset for safety; 28sep2011 nounlock @ 0 > IF \ already a nounlock? 19oct2011 nounlock @ 2 en{ @ scn ! \ subject-concept-number 17jul2012 nounlock @ 8 en{ @ audjuste ! \ tentatively; 10nov2012 THEN \ end of test for a positive nounlock; 19oct2011 5 opt ! 35 pov ! 1 subjectflag ! ( 3dec2009 A default until countermanded ) dirobj @ 1 = IF 0 subjectflag ! THEN ( 3dec2009 anti-default ) predflag @ 1 = IF 0 subjectflag ! THEN ( anti-default 8oct2010 ) 0 psi ! midway @ t @ DO I 5 psi{ @ 5 = I 5 psi{ @ 7 = OR IF \ POS; 12aug2011 \ I 0 en{ @ 65 = IF I 8 en{ @ audme ! THEN \ 10nov2012 \ I 0 en{ @ 65 = IF I 8 en{ @ audme ! THEN \ obsolete 14jul2014 subjectflag @ 1 = IF \ test; change; 26aug2011 I 1 psi{ @ act @ > I 6 psi{ 0 > AND IF \ 6oct2011 I 7 psi{ @ 0 > IF \ Testing for seq-concept; 12oct2011 I tsels ! \ retain time of subject; 11sep2011 I tseln ! \ retain time of motjuste; 11sep2011 I 0 psi{ @ motjuste ! \ 12aug2011 I 2 psi{ @ nphrnum ! \ NounPhrase num(ber); 6oct2011 I 2 psi{ @ subjnum ! \ 11oct2011 I 2 psi{ @ snu ! ! \ verb-select parameter 21dec2012 THEN \ reinstating for subjects; 3oct2011 ( insert NPhr diagnostic code here; 11sep2011 ) I 2 psi{ @ subjnum ! \ verbs in general; 12aug2011 motjuste @ subjold ! \ keep oldsubject ready; 8oct I 2 psi{ @ putnum ! \ putative num for verb; 12aug2011 I 5 psi{ @ nphrpos ! \ NounPhrase part-of-speech I 1 psi{ @ act @ > I 7 psi{ @ 0 > AND IF \ 12oct2011 I tpeg ! \ peg the time-slice; 28sep2011 I 7 psi{ @ svo2 ! \ hold seq; test; 12oct2011 I 6 psi{ @ verblock ! \ tqv of seq-concept; 12oct2011 midway @ t @ DO \ from Wotan German AI; 21dec2012 I 0 en{ @ motjuste @ = IF \ same concept? I 8 en{ @ 0 > IF \ skip non-rv; 21dec2012 \ I 2 en{ @ snu @ = IF \ same subj. number? \ I 4 en{ @ 1 = IF \ nom. for subj? 21dec2012 I 8 en{ @ audjuste ! \ avoid spurious \ CR ." NounPhrase-deepest: verblock audjuste = " \ test; 14jul2014 \ verblock @ . audjuste @ . CR \ test; 14jul2014 \ I 8 en{ @ 0 > IF \ positive recall-vector? \ 1 8 en{ @ audjuste ! \ recall-vector 21dec \ THEN \ end of test for positive rv 21dec2012 \ THEN \ end of dba-test for nominative \ THEN \ end of subject-number test; 21dec2012 THEN \ end of skipping InFerence non-rb 21dec2012 THEN \ end of search of English lexicon 21dec2012 -1 +LOOP \ end of English lexicon search 21dec2012 \ I 8 en{ @ audjuste ! \ avoid the spurious; 10nov2012 motjuste @ 701 = IF \ guarantee "I"; 10nov2012 midway @ t @ DO \ search backwards; 25oct2011 I 0 en{ @ 701 = IF \ "701=I" 20dec2012 I 8 en{ @ audjuste ! \ recall-vector LEAVE \ one I-engram is enough; 25oct2011 THEN \ end of test for "701=I"; 10nov2012 -1 +LOOP \ end of "701=I" search loop; 10nov2012 THEN \ end of test for "701=I"; 10nov2012 motjuste @ 707 = IF \ guarantee "YOU"; 10nov2012 midway @ t @ DO \ search backwards; 25oct2011 I 0 en{ @ 707 = IF \ "707=YOU"; 10nov2012 I 8 en{ @ audjuste ! \ recall-vector LEAVE \ one YOU-engram is enough; 20dec2012 THEN \ end of test for "707=YOU"; 10nov2012 -1 +LOOP \ end of 707=YOU search loop; 10nov2012 THEN \ end of test for "707=YOU"; 10nov2012 I 1 psi{ @ act ! \ after passing seq-check; 28aug2011 THEN \ reinstating to prevent false motjuste; 6oct2011 THEN \ end of test for a higher activation; 26aug2011 THEN \ end of test for 1=subjectflag; test; 26aug2011 \ CR ." NounPhrase-post-flagtest: verblock subjectflag = " \ test; 14jul2014 \ verblock @ . subjectflag @ . CR \ test; 14jul2014 subjectflag @ 0 = IF \ i.e., dir.obj or pred.nom; 15oct2011 nounlock @ 0 > IF nounlock @ 0 psi{ @ motjuste ! \ nounlock psi; 22dec2012 \ CR ." NounPhrase-pre-ELSE: verblock nounlock = " \ test; 14jul2014 \ verblock @ . nounlock @ . CR \ test; 14jul2014 ELSE I 1 psi{ @ act @ > IF \ if higher; 12aug2011 I tseln ! \ retain time of motjuste; 8may2011 I 0 psi{ @ motjuste ! \ 26aug2011 ( insert NPhr diagnostic code here; 9sep2011 ) nounlock @ 0 > IF \ if positive nounlock exists; 8oct2011 I nounlock @ = IF \ upon reaching engram; 8oct2011 I 0 psi{ @ motjuste ! \ grab nounlock psi; 8oct2011 I 2 psi{ @ nphrnum ! \ NounPhrase num(ber) 11oct2011 I 2 en{ @ pcn ! \ predicate concept number 16jul2012 \ I 8 en{ @ audjuste ! \ 10nov2012 midway @ t @ DO \ look for recall-vector; 22dec2012 I 0 en{ @ motjuste @ = IF \ same concept? 22dec2012 I 8 en{ @ 0 > IF \ positive rv? 22dec2012 I 8 en{ @ audjuste ! \ 22dec2012 THEN \ end of test for recall-vector; 22dec2012 THEN \ end of test for concept; 22dec2012 -1 +LOOP \ end of English lexicon search; 22dec2012 LEAVE \ prevent usurpation of pre-ordained seq 8oct2011 THEN \ end of test for Index = nounlock; 8oct2011 THEN \ end of test for positive nounlock; 8oct2011 \ I 0 psi{ @ subjpsi ! \ Commenting out; 20dec2012 I 2 psi{ @ nphrnum ! \ NounPhrase num(ber); 12aug2011 I 2 psi{ @ putnum ! \ putative num for verb; 12aug2011 I 5 psi{ @ nphrpos ! \ NounPhrase part-of-speech dirobj @ 1 = IF motjuste @ objold ! \ a test ICW slosh-over; 12oct2010 THEN ( http://christophe.lavarenne.free.fr/ff ) I 1 psi{ @ act @ > IF \ 26aug2011 I 1 psi{ @ act ! \ 12aug2011 THEN \ 26aug2011 THEN \ end of test for a higher activation; 26aug2011 THEN \ end of test for positive nounlock; 22dec2012 THEN \ end of test for 0=subjectflag; test; 26aug2011 \ CR ." NounPhrase-during-test: motjuste audme = " \ test; 14jul2014 \ motjuste @ . audme @ . CR \ test; 14jul2014 ELSE LEAVE \ if no noun or pron. TEST 24jul2014 THEN \ end of test for a noun or pronoun; 26aug2011 \ CR ." NounPhrase-after-test: motjuste midway I = " \ test; 14jul2014 \ motjuste @ . midway @ . I . CR \ test; 14jul2014 \ motjuste @ 528 = IF 701 motjuste ! THEN \ "I" test; remove; 24jul2014 \ motjuste @ 528 = IF \ test; 24jul2014 \ CR ." 1234567890 @ Index = " I . \ test; 24jul2014 \ THEN \ "I" test; remove; 24jul2014 \ I 615 = IF \ test; remove 24jul2014 \ CR ." I index = 615 act = " act @ . \ test; remove; 24jul2014 \ THEN \ "I" test; 24jul2014 \ I 500 = IF CR ." I index = 500 " THEN \ "I" test; 24jul2014 \ I 100 = IF CR ." I index = 100 " THEN \ "I" test; 24jul2014 \ I 3 = IF CR ." I index = 3 " THEN \ "I" test; 24jul2014 \ I 2 = IF CR ." I index = 2 " THEN \ "I" test; 24jul2014 \ I 1 = IF CR ." I index = 1 " THEN \ "I" test; 24jul2014 \ I 0 = IF CR ." I index = 0 " THEN \ "I" test; 24jul2014 -1 +LOOP \ End of search for most active "motjuste"; 20dec2012 \ motjuste @ 528 = IF ." mj=528 KIDS " THEN \ "I" test; remove; 24jul2014 \ CR ." NounPhrase-after-motjuste: motjuste act audjuste = " \ test; 14jul2014 \ motjuste @ . act @ . audjuste @ . CR \ test; 14jul2014 subjectflag @ 1 = IF motjuste @ subjpsi ! THEN \ 20dec2012 \ subjectflag @ 1 = IF motjuste @ subjpsi ! THEN \ c'ing out TEST 24jul2014 \ CR ." NounPhrase-after-subjflagtest: motjuste audjuste = " \ test 14jul2014 \ motjuste @ . audjuste @ . CR \ test; 14jul2014 nounlock @ 0 > IF \ 22dec2012 midway @ t @ DO \ from Wotan German AI; 22dec2012 I 0 en{ @ motjuste @ = IF \ same concept? I 8 en{ @ 0 > IF \ skip non-rv; 22dec2012 I 8 en{ @ audjuste ! \ 22dec2012 LEAVE \ if correct parameters; 22dec2012 THEN \ emd of test for positive en8; 22dec2012 THEN \ end of test for match with motjuste; 22dec2102 -1 +LOOP \ end of English lexicon search 22dec2012 THEN \ end of test for positive nounlock; 22dec2012 \ CR ." NounPhrase before En-search = " \ test; 14jul2014 \ motjuste @ . audjuste @ . CR \ test; 14jul2014 midway @ t @ DO \ search backwards; 12aug2011; 12sep2011 I 0 en{ @ motjuste @ = IF \ 12aug2011 predflag @ 1 = IF \ only for predicate nominatives; nounlock @ 0 = IF \ in absence of nounlock; 19oct2011 I 2 en{ @ subjnum @ = IF \ agreement? 19sep2011 I 8 en{ @ audjuste ! \ recall-vector; 10nov2012 LEAVE \ one auditory engram is enough; 12aug2011 THEN ( http://practicalai.org ) THEN \ end of test for absence of nounlock; 19oct2011 ELSE \ for normal direct objects; 19sep2011 verblock @ 0 = IF \ if no verblock; test; 19oct2011 I 8 en{ @ audjuste ! \ direct object; 10nov2012 LEAVE \ one auditory engram is enough; 19sep2011 THEN \ end of test for absence of nounlock; 19oct2011 THEN \ end of test for predicate nominative; 19sep2011 THEN \ end of test for match with motjuste; 12aug2011 -1 +LOOP \ end of backwards search loop; 12aug2011 nounlock @ 0 = IF \ if no nounlock override; 8oct2011 act @ 20 < IF \ if no subject of thought is found; 21aug2011 subjectflag @ 1 = IF \ default to "I" only as subject 17oct2011 701 motjuste ! \ 701=I default concept of AI Mind; 10nov2012 midway @ t @ DO \ I 0 psi{ @ 701 = I 7 psi{ @ 0 > AND IF \ 10nov2012 I 1 psi{ @ defact @ > IF \ if higher act found; 9oct2011 I tsels ! \ retain time of subject; 9oct2011 I tseln ! \ retain time of motjuste; 9oct2011 I 6 psi{ @ verblock ! \ lock onto valid verb; 12oct2011 I 1 psi{ @ defact ! \ dynamic metric; 9oct2011 THEN \ end of test for higher-act ego-concept; 9oct2011 THEN \ end of search for least-inhibited "50=I"; 9oct2011 -1 +LOOP \ End of loop finding "50=I"; 9oct2011 701 subjpsi ! \ for use elsewhere; 10nov2012 701 topic ! \ for question-asking modules; 10nov2012 1 nphrnum ! \ for EnArticle and VerbPhrase; 6oct2011 7 nphrpos ! \ prevent article "A" with "I"; 6oct2011 1 subjnum ! \ for use elsewhere; 16aug2011 1 prsn ! \ for use elsewhere; 16aug2011 midway @ t @ DO \ Use parameters to find "I"; 11nov2012 I 0 en{ @ 701 = IF \ If 701=I is found; 10nov2012 I 4 en{ @ 1 = IF \ parameter dba=1? 11nov2012 I 8 en{ @ audjuste ! \ recall-vector; 10nov2012 LEAVE \ Use the most recent engram of "I"; 16aug2011 THEN \ end of search for nominative "I"; 11nov2012 THEN \ End of search for 701=I; 10nov2012 -1 +LOOP \ End of parameter-based search-loop; 11nov2012 THEN \ end of test for "I" to become subj. not obj. 17oct2011 THEN \ end of test for low activation warranting a default THEN \ end of test for absence of pre-ordained nounlock; 8oct2011 nounlock @ 0 > IF \ if positive; test; 16aug2012 motjuste @ 701 = IF \ if 701=I is indicated; 10nov2012 midway @ t @ DO \ Look backwards for 65=ME; 16aug2012 I 0 en{ @ 65 = IF \ If #65 "ME" found; 16aug2012 I 8 en{ @ audjuste ! \ "ME" engram 10nov2012 LEAVE \ Use most recent engram of "ME"; 16aug2012 THEN \ End of search for #65 "ME"; 16aug2012 -1 +LOOP \ End of loop finding word "ME"; 16aug2012 THEN \ end of special override for 65=ME; 16aug2012 motjuste @ 707 = IF \ if 707=YOU is needed; 10nov2012 midway @ t @ DO \ Look backwards for 56=YOU; 16aug2012 I 0 en{ @ 56 = IF \ If #56 "YOU" found; 16aug2012 I 8 en{ @ audjuste ! \ "YOU" engram 10nov2012 LEAVE \ Use most recent engram of "YOU"; 16aug2012 THEN \ End of search for #56 "YOU"; 16aug2012 -1 +LOOP \ End of loop finding word "YOU"; 16aug2012 THEN \ end of special override for 56=YOU; 16aug2012 THEN \ end of test for a positive nounlock; 16aug2012 dirobj @ 1 = IF \ When seeking direct object; 13jun2011 nounlock @ 0 = IF \ if no nounlock override; 8oct2011 act @ 20 < IF \ If activation too low; 13jun2011 WhatAuxSVerb \ ask question for lack of dirobj 30jul2011 EXIT \ Abandon rest of NounPhrase; 13jun2011 THEN \ End of test for sufficient activation; 13jun2011 THEN \ end of test for a nounlock in play; 8oct2011 THEN \ End of test for direct object; 13jun2011 \ The following code for the irregular English noun "child" \ serves as example code for the many German or Russian \ irregular nouns that a "DeKi" or "PyYm" AI must deal with. motjuste @ 112 = IF \ irregular "112=CHILD"; 10nov2011 nphrnum @ 2 < IF \ if singular is needed; 10nov2011 midway @ t @ DO \ search backwards; 10nov2011 I 0 en{ @ 525 = IF \ 525=CHILD; 11nov2012 I 8 en{ @ audjuste ! \ for SpeechAct; 10nov2011 LEAVE \ one engram is enough; 10nov2011 THEN \ end of test for CHILD-engram; 10nov2011 -1 +LOOP \ end of search of En(glish) lexicon THEN \ end of test for singular 525=CHILD; 11nov2012 nphrnum @ 2 = IF \ 10nov2011 midway @ t @ DO \ search backwards; 10nov2011 I 0 en{ @ 526 = IF \ 526=CHILDREN; 11nov2012 I 8 en{ @ audjuste ! \ for SpeechAct; 10nov2011 LEAVE \ one engram is enough; 10nov2011 THEN \ end of test for CHILDREN-engram; 10nov2011 -1 +LOOP \ end of search of En(glish) lexicon THEN \ end of test for plural 526=CHILDREN; 11nov2012 THEN \ end of special handling of irregular 525=CHILD; motjuste @ 701 = IF \ if 701=I selected; 10nov2012 1 prsn ! \ first person; 29aug2010 1 num ! \ singular; 29aug2010 1 nphrnum ! \ singular; 30aug2010 THEN \ end of test for 50=I; 29aug2010 EnDamp motjuste @ hipsi ! 0 anset ! ( Insert "AN" article before vowels. ) \ MindForth may start treating "AN" as inflected "A"; 13sep2011 aud @ 0 aud{ @ 65 = IF 65 anset ! THEN ( if vowel A ) aud @ 0 aud{ @ 69 = IF 69 anset ! THEN ( if vowel E ) aud @ 0 aud{ @ 73 = IF 73 anset ! THEN ( if vowel I ) aud @ 0 aud{ @ 79 = IF 79 anset ! THEN ( if vowel O ) aud @ 0 aud{ @ 85 = IF 85 anset ! THEN ( if vowel U ) \ Following code covers also "audjuste"; 21oct2011 audjuste @ 0 aud{ @ 65 = IF 65 anset ! THEN ( if A ) audjuste @ 0 aud{ @ 69 = IF 69 anset ! THEN ( if E ) audjuste @ 0 aud{ @ 73 = IF 73 anset ! THEN ( if I ) audjuste @ 0 aud{ @ 79 = IF 79 anset ! THEN ( if O ) audjuste @ 0 aud{ @ 85 = IF 85 anset ! THEN ( if U ) whoflag @ 0 = IF \ If not answering a who-is query; 23jul2010 \ EnArticle \ Give a chance, not an order; 23jul2010 nphrnum @ 1 = IF \ not default zero; 4nov2011 \ EnArticle \ for true singular; 4nov2011 THEN \ end of test for 1=singular; 4nov2011 0 whoflag ! \ Here instead of at InStantiate; 23jul2010 THEN \ End of test for zero whoflag; 23jul2010 whoflag @ 1 = IF \ If answering a who-is query; 26aug2011 EnArticle \ answer with Is-a etc.; 26aug2011 0 whoflag \ zero out after use; 26aug2011 THEN \ end of whoflag test; 26aug2011 num @ 1 = IF \ If num(ber is singular; 10ap2010 EnPronoun \ Prepare to substitute he she it; 10apr2010 THEN \ End of test of num(ber); 10apr2010 motjuste @ 701 = NOT IF \ if not 701=I; 10nov2012 motjuste @ 707 = NOT IF \ not 707=you; 10nov2012 motjuste @ 731 = NOT IF \ 731=WE; 10nov2012 3 prsn ! \ not I YOU WE; 29aug2010 THEN \ end of test for 731=WE; 10nov2012 THEN \ end of test for 707=YOU; 10nov2012 THEN \ end of test for "not I" 29aug2010 motjuste @ nacpsi ! ( could use "subjectflag" for test below; 18oct2010 ) dirobj @ 0 = IF \ only let subjects call NounAct; 17oct2010 NounAct THEN \ end of test originating in JavaScript AI; 17oct2010 0 nacpsi ! 0 nounval ! 66 caller ! \ test; 26sep2010 motjuste @ urpsi ! \ test; 17oct2010 PsiDamp \ to prevent interference; 17oct2010 0 caller ! \ reset after use; 26sep2010 0 urpsi ! \ reset for safety; 24sep2010 66 caller ! \ test; 12oct2010 objold @ urpsi ! \ test; 12oct2010 0 caller ! \ reset after use; 12oct2010 0 urpsi ! \ reset for safety; 12oct2010 -8 tsels @ 1 psi{ ! \ Let subjects re-surface; 12oct2011 predflag @ 1 = dirobj @ 1 = OR IF \ test; 29may2011 -16 tseln @ 1 psi{ ! \ test; 12oct2011 THEN \ only inhibit predicate nominatives; 11sep2010 predflag @ 1 = IF \ helps for Is-a; 15sep2010 EnArticle \ say "A" or "THE"; 15sep2010 THEN \ end of test; 15sep2010 audjuste @ aud ! aud @ 0 > IF \ avoid ERROR; 19sep2010 SpeechAct \ Display or speak the selected noun-phrase. 0 anset ! \ Reset for safety; 21oct2011 THEN \ end of test for 0=aud ERROR; 19sep2010 predflag @ 1 = dirobj @ 1 = OR IF \ both; 23jun2011 -32 t @ 1 - 1 psi{ ! \ inhibit new noun-node; 27sep2010 -32 t @ 1 psi{ ! \ AI is now robust enough; 5aug2011 THEN \ only inhibit predicate nominatives; 12sep2010 -16 t @ 1 - 1 psi{ ! \ Even shallower; 12oct2011 -16 t @ 1 psi{ ! \ Even shallower; 12oct2011 32 EMIT fyi @ 2 > IF CR ." from NounPhrase " THEN motjuste @ topic ! instnum @ topicnum ! dirobj @ 1 = predflag @ 1 = OR IF \ if set; 24sep2010 66 caller ! \ test; 26seo2010 motjuste @ urpsi ! \ prepare to psi-damp motjuste; 24sep PsiDamp \ knock down activation of non-subject; 24sep2010 0 caller ! \ test; 26sep2010 0 urpsi ! \ reset for safety; 24sep2010 THEN \ end of test for a non-subject (pro)noun; 24sep2010 \ CR ." NounPhraseZ: verblock urpsi = " \ test; 14jul2014 \ verblock @ . urpsi @ . CR \ test; 14jul2014 0 act ! 0 aftjux ! \ reset for safety; 27jul2011 0 anset ! \ reset for safety; 21oct2011 0 jux ! \ reset for safety; 27jul2011 0 nounlock ! \ after causing selection of VPhr seq-noun 8oct2011 0 prejux ! \ reset for safety; 27jul2011 0 psi ! 0 psi3 ! \ reset for safety 27jul2011 ; ( http://code.google.com/p/mindforth/wiki/NounPhrase ) : ConJoin questype @ 370 = IF \ 370=WHY; 10nov2012 344 conj ! \ 344=BECAUSE; 10nov2012 ELSE 302 conj ! \ 302=AND; 10nov2012 THEN ( http://www.taygeta.com/forth.html ) midway @ t @ DO I 0 en{ @ conj @ = IF conj @ motjuste ! I 8 en{ @ aud ! \ 10nov2012 LEAVE THEN -1 +LOOP SpeechAct 0 questype ! ; ( http://code.google.com/p/mindforth/wiki/ConJoin ) : VerbGen ( stub of verb-generation module; 15nov2012 ) \ VerbGen uses "audbase" as a starting point in auditory \ memory for the transfer of a left-justified verb first \ into AudBuffer and then as a right-justified word into \ OutBuffer so that inflectional endings ("-S": "-ING") \ may be added to or subtracted from the word in memory. \ http://www.scn.org/~mentifex/Dushka.html is Russian AI \ with major use of VerbGen, which will also be used in \ http://www.scn.org/~mentifex/DeKi.txt German Wotan AI. ; \ End of stub of VerbGen module for verb-generation. \ The VerbPhrase module aims for the following entelechy goals. \ [ ] If no predicate nominative is known, detour into a question. \ [ ] If no transitive verb is most active, default to verb of being. \ [ ] If no direct object is found, detour into asking a question. \ 7dec2009 If no verb is found for a noun, defer to SelfRef NOT-KNOW. \ [ ] If a transitive verb is most active, try to find direct object. \ [X] Find whatever verb is most active after a noun-phrase. \ Verb-selection shifts from en{ array to psi{ array on 12aug2011. : VerbPhrase ( supervise verb syntax ) verblock @ 0 > IF \ positive verbloc? 20oct2011 verblock @ 6 psi{ @ nounlock ! \ test; 20oct2011 THEN \ end of test for a positive verblock; 20oct2011 \ CR ." VerbPhrase: verblock subjectflag = " \ test; 14jul2014 \ verblock @ . subjectflag @ . CR \ test; 14jul2014 0 subjectflag ! \ for only absolute SpreadAct; test; 4aug2011 EnReify 0 act ! 0 aud ! 0 kibosh ! \ for de-activating non-selectees; 17aug2011 0 motjuste ! verblock @ 0 > IF \ already a verblock? 20oct2011 verblock @ 0 en{ @ verbpsi ! \ lexical verbpsi 13nov2012 verblock @ 8 en{ @ audbase ! \ VerbGen parameter 13nov2012 subjpsi @ 701 = subjpsi @ 731 = OR IF 1 prsn ! THEN \ I or WE subjpsi @ 707 = subjpsi @ 737 = OR IF 2 prsn ! THEN \ YOU subjpsi @ 713 = subjpsi @ 719 = OR IF 3 prsn ! THEN \ HE; SHE subjpsi @ 725 = subjpsi @ 743 = OR IF 3 prsn ! THEN \ IT THEY prsn @ dba ! \ from DeKi; parameter for VerbGen; 21dec2012 \ verblock @ 8 en{ @ vphraud ! \ tentatively; 10nov2012 0 vphraud ! \ until a known verb is found; 22dec2012 midway @ t @ DO \ from Wotan AI; search lexicon; 22dec2012 I 0 en{ @ verbpsi @ = IF \ 1: same psi? 22dec2012 I 8 en{ @ 0 > IF \ skip InF lacking aud; 22dec2012 I 8 en{ @ vphraud ! \ tentatively; 22dec2012 THEN \ end of check for positive rv; 22dec2012 THEN \ end of parameter test; 22dec2012 -1 +LOOP \ end of loop searching lexicon; 22dec2012 THEN \ end of test for a positive verblock; 20oct2011 8 opt ! 0 psi ! 0 vphract ! \ for validity of threshold-tests; 15aug2011 \ 0 vphraud ! \ prevent spurious carry-overs; 3oct2011 \ 0 vphraud ! \ commenting out as a test; 22dec2012 adverbact 32 > IF ( EnAdverb ) THEN ( http://theforthsource.com ) fyi @ 1 > IF CR ." VerbPhrase preview with slosh-over indicated by + --" CR ." Disparate verb-node activations slosh " \ 7nov2010 ." over onto candidate objects." CR ." " \ 7nov2010 THEN verblock @ 0 = IF \ prevent false negations; 20oct2011 midway @ t @ DO \ Search backwards through psi concepts. I 5 psi{ @ 8 = IF \ if 8=pos verb; 12aug2011 I 1 psi{ @ act @ > IF ( if psi1 is higher 12aug2011 ) I tselv ! \ retain time of winning verb; 8may2011 tselv @ kibosh @ < IF \ if different 17aug2011 \ ." KIBOSH = " kibosh @ . \ 17aug2011 0 kibosh @ 1 psi{ ! \ deactivate also-ran; 17aug2011 THEN \ end of comparison; 17aug2011 I kibosh ! \ time of predecessor cand 17aug2011 I 0 psi{ @ motjuste ! ( store psi-tag of verb 12aug2011 ) I 3 psi{ @ negjux ! ( record any 250=NOT; 21dec2012 ) ( insert diagnostic code here; 7sep2011 ) verblock @ 0 > IF \ if positive verblock exists; 8oct2011 I verblock @ = IF \ upon reaching engram; 8oct2011 I tselv ! \ time of sel. of verb; 30jul2012 I 0 psi{ @ motjuste ! \ grab verblock psi; 8oct2011 64 act ! \ to pass threshold-test; 20oct2011 I 3 psi{ @ negjux ! \ for negation of verb; 9oct2011 I 8 en{ @ vphraud ! \ for SpeechAct; 10nov2012 I 6 psi{ @ nounlock ! \ after verb grab seq; 12oct2011 LEAVE \ prevent usurpation of pre-ordained seq; 7oct2011 THEN \ end of test for Index = verblock; 8oct2011 THEN \ end of test for positive verblock; 8oct2011 I 1 psi{ @ 0 > IF \ positive activation; 12aug2011 I 3 psi{ @ psi3 ! ( Check for negation; 25jun2011 ) verblock @ 0 = IF \ test; 20oct2011 I 3 psi{ @ negjux ! ( be-verb negation; 9oct2011 ) THEN \ end of avoidance of false negation; 20oct2011 I 6 psi{ @ tqv ! \ underailable qtv; 12oct2011 THEN \ end of test for positive activation; 27jul2011 I 5 psi{ @ predpos ! ( Grab winning part of speech 12aug2011 ) I 8 en{ @ vphraud ! ( auditory recall-vector 10nov2012 ) I 1 psi{ @ act ! ( to test for a higher psi1 12aug2011 ) THEN ( http://win32forth.sourceforge.net ) THEN \ end of test for opt=8 verbs; 8sep2011 -1 +LOOP \ end of loop cycling back through psi concepts THEN \ end of verblock-test to prevent false negations; 20oct2011 verblock @ 0 > IF \ if positive verblock exists; 20oct2011 verblock @ 0 psi{ @ motjuste ! \ verblock override; 21oct2011 verblock @ 3 psi{ @ negjux ! \ capture any 250=NOT; 21dec2012 vphraud @ 0 = IF \ prevent override of selection 22dec2012 verblock @ 8 en{ @ vphraud ! \ auditory recall-v; 10nov2012 THEN \ end of test to prevenmt override; 22dec2012 64 act ! \ prevent rejection of selection; 20oct2011 THEN \ end of test for positive verblock; 20oct2011 tqv @ 0 psi{ @ svo3 ! \ test; 29sep2011 \ 128 tqv @ 1 psi{ ! \ accentuate tqv-seq; 29sep2011 tqv @ 0 > IF 128 tqv @ 1 psi{ ! THEN \ test; 24jan2012 act @ vphract ! \ for threshold comparisons; 21jun2011 act @ verbval ! 0 psi ! fyi @ 2 > IF CR ." VerbPhrase: motjuste = " motjuste @ . ." going into SPEECH." CR ." VerbPhrase: aud = " aud @ . ." going into SPEECH." THEN motjuste @ 0 = IF nphrnum @ 1 = IF \ 21jun2011 mfnflag @ 0 > IF \ if masc. or fem.; 30jul2011 fyi @ 2 = IF ." VPhr calls WhoBe" THEN \ 4jul2012 WhoBe \ ask WHO not WHAT; 30jul2011 0 mfnflag ! \ reset after use; 30jul2011 EXIT \ abandon rest of VerbPhrase THEN \ end of test for positive mfnflag; 30jul2011 fyi @ 2 = IF ." VPhr calls WhatBe" THEN \ 6jul2012 WhatBe \ for a what-is question; test; 21jun2011 EXIT \ abandon rest of VerbPhrase; 2jul2011 THEN \ 21jun2011 nphrnum @ 2 = IF \ 2jul2011 fyi @ 2 = IF ." VPhr calls WhatAuxSDo" THEN \ 6jul2012 WhatAuxSDo \ what do Subjects do? 2jul2011 1 yncon ! \ after input ask yes-or-no question EXIT \ abandon rest of VerbPhrase; 2jul2011 THEN \ end of test for plural noun; 2jul2011 THEN motjuste @ 0 > IF vphract @ 20 < IF \ a test ICW WhoBe; 21jun2011 nphrnum @ 1 = IF \ 21jun2011 mfnflag @ 0 > IF \ if masc. or fem.; 30jul2011 fyi @ 2 = IF ." VerbPhr calls WhoBe" THEN \ 4jul2012 WhoBe \ ask WHO not WHAT; 30jul2011 0 mfnflag ! \ reset after use; 30jul2011 EXIT \ abandon rest of VerbPhrase THEN \ end of test for positive mfnflag; 30jul2011 fyi @ 2 = IF ." VerbPhr calls WhatBe" THEN \ 6jul2012 WhatBe \ for a what-is question; test; 21jun2011 EXIT \ abandon rest of VerbPhrase; 30jul2011 THEN \ 21jun2011 nphrnum @ 2 = IF \ 2jul2011 fyi @ 2 = IF ." VPhr calls WASD" THEN \ 6jul2012 WhatAuxSDo \ what do Subjects do? 2jul2011 1 yncon ! \ after input ask yes-or-no question EXIT \ abandon rest of VerbPhrase; 2jul2011 ELSE \ if "nphrnum" neither 1 nor 2; 15aug2011 EXIT \ to avoid a spurious thought; 15aug2011 THEN \ end of test for plural noun; 2jul2011 THEN \ End of test of vphract; 21jun2011 psi3 @ 250 = negjux @ 250 = OR IF \ 10nov2012 motjuste @ 800 = NOT IF \ 10nov2012 AuxVerb \ to say "DO" or "DOES" 25jun2011 midway @ t @ DO \ Search En(glish) array; 25jun2011 \ I 0 en{ @ 12 = IF \ Look for "NOT"; 25jun2011 I 0 en{ @ 250 = IF \ Look for "NOT"; 29dec2012 I 8 en{ @ aud ! \ Auditory start-tag 10nov2012 LEAVE \ One instance of NOT suffices; 25jun2011 THEN \ End of lexical test for 250=NOT; 19dec2012 -1 +LOOP \ End of loop searching for 250=NOT; 29dec2012 SpeechAct \ Say the word "NOT"; 25jun2011 0 psi3 ! \ reset for safety; 27jul2011 THEN \ end of test to not say do w. be-verbs; 28jul2011 THEN \ end of test for psi3 jux negation; 25jun2011 motjuste @ 800 = NOT IF \ if not a be-verb; 10nov2012 nphrnum @ 1 = IF \ 14aug2011 prsn @ 3 = IF \ Only for third person; 8may2011 83 flex1 ! \ for flex1,2,3 (-S; -ING); 11sep2011 1 vpos ! \ 14aug2011 THEN \ End of test for 3rd person (sing) 8may2011 THEN \ end of test fof singular; 14aug2011 THEN \ end of test for not a be-verb; 14aug2011 motjuste @ hipsi ! motjuste @ 830 = IF \ irregular 830=DO; 10nov2012 subjnum @ 1 = prsn @ 3 = AND IF \ 5oct2011 midway @ t @ DO \ search backwards; 5oct2011 I 0 en{ @ 830 = IF \ 830=DO; 10nov2012 I 2 en{ @ 1 = IF \ singular? 10nov2012 I 4 en{ @ 3 = IF \ 3rd pers? 10nov2012 I 8 en{ @ vphraud ! \ 10nov2012 LEAVE \ one engram is enough; 5oct2011 THEN \ end of test for third person 10nov2012 THEN \ end of test for singular; 10nov2012 THEN \ end of test for 830=DO; 10nov2012 -1 +LOOP \ end of search of En(glish) lexicon THEN \ end of test for 3rd person singular; 5oct2011 THEN \ end of special handling of 59=DO; 5oct2011 \ The following code for the irregular English verb \ "to have" serves as example code for the many German \ irregular verbs that a polyglot AI must deal with. motjuste @ 810 = IF \ irregular 810=HAVE; 10nov2012 subjnum @ 1 = prsn @ 3 = AND IF \ 13aug2011 midway @ t @ DO \ search backwards; 13aug2011 I 0 en{ @ 810 = IF \ 810=HAVE 10nov2012 I 2 en{ @ 1 = IF \ singular? 10nov2012 I 4 en{ @ 3 = IF \ 3rd pers? 10nov2012 I 8 en{ @ vphraud ! \ 10nov2012 LEAVE \ one engram is enough; 13aug2011 THEN \ end of test for 3rd person; 10nov2012 THEN \ end of test for singular; 10nov2012 THEN \ end of test for HAS-engram; 13aug2011 -1 +LOOP \ end of search of En(glish) lexicon THEN \ end of test for 3rd person singular; 13aug2011 THEN \ end of special handling of 70=HAVE; 13aug2011 motjuste @ 800 = IF \ present-tense be-verb? 10nov2012 1 predflag ! \ for sake of NounPhrase; 26aug2011 subjnum @ 1 = IF \ singular subject number; 16aug2011 prsn @ 1 = IF \ first person; 16aug2011 midway @ t @ DO \ search En-lexicon; 16aug2011 I 0 en{ @ 57 = IF \ 57=AM; 16aug2011 I 8 en{ @ vphraud ! \ engram; 10nov2012 LEAVE \ one engram is enough; 16aug2011 THEN \ end of test for 57=AM; 16aug2011 -1 +LOOP \ end of loop; 16aug2011 THEN \ end of test for first person; 16aug2011 prsn @ 2 = IF \ singular or plural; 16aug2011 midway @ t @ DO \ search En-lexicon; 16aug2011 I 0 en{ @ 67 = IF \ 67=ARE; 16aug2011 I 8 en{ @ vphraud ! \ engram; 10nov2012 LEAVE \ one engram is enough; 16aug2011 THEN \ end of test for 67=ARE; 16aug2011 -1 +LOOP \ end of loop; 16aug2011 THEN \ end of test for second person; 16aug2011 prsn @ 3 = IF \ third person; 16aug2011 midway @ t @ DO \ search En-lexicon; 16aug2011 I 0 en{ @ 66 = IF \ 66=IS; 16aug2011 I 8 en{ @ vphraud ! \ engram; 10nov2012 LEAVE \ one engram is enough; 16aug2011 THEN \ end of test for 66=IS; 16aug2011 -1 +LOOP \ end of loop; 16aug2011 THEN \ end of test for third person; 16aug2011 THEN \ end of test for singular; 16aug2011 subjnum @ 2 = IF \ if plural subject; 16aug2011 midway @ t @ DO \ search En-lexicon; 16aug2011 I 0 en{ @ 67 = IF \ 67=ARE; 16aug2011 I 8 en{ @ vphraud ! \ engram; 10nov2012 LEAVE \ one engram is enough; 16aug2011 THEN \ end of test for 67=ARE; 16aug2011 -1 +LOOP \ end of loop; 16aug2011 THEN \ end of test for plural number; 16aug2011 THEN \ end of two-step be-verb substitution; 16aug2011 motjuste @ 800 = IF \ 800=BE; 10nov2012 subjpsi @ 701 = IF \ 701=I; 10nov2012 midway @ t @ DO \ search En(glish) array; 21aug2011 I 0 en{ @ 800 = IF \ 800=BE; 10nov2012 800 motjuste ! ( Set verbform to "BE" 10nov2012 ) 800 urpsi ! ( parameter for PsiDamp 10nov2012 ) I 2 en{ @ 1 = IF \ singular? 10nov2012 I 4 en{ @ 1 = IF \ 1st pers? 10nov2012 I 8 en{ @ vphraud ! \ SpeechAct 10nov2012 LEAVE \ recent "AM" is enough 12aug2011 THEN \ end of test for first person; 10nov2012 THEN \ end of test for singular; 10nov2012 THEN \ end of two-step test to say "AM"; 12aug2011 -1 +LOOP \ end of backwards loop; 12aug2011 THEN \ end of test for "50=I" subject-psi; 12aug2011 subjpsi @ 707 = IF ( 707=YOU; 10nov2012 ) midway @ t @ DO \ 8aug2011 I 0 en{ @ 800 = IF \ 800=BE 10nov2012 I 2 en{ @ 1 = IF \ singular? 10nov2012 I 4 en{ @ 2 = IF \ 2nd pers? 10nov2012 I 8 en{ @ vphraud ! \ 10nov2012 LEAVE \ 8aug2011 THEN \ end of test for 2nd person; 10nov2012 THEN \ end of test for singular; 10nov2012 THEN \ end of test for 800=BE: 10nov2012 -1 +LOOP \ 8aug2011 THEN \ 8aug2011 THEN \ end of test for 58=BE; 13aug2011 motjuste @ 800 = IF \ 800=BE; 10nov2012 subjpsi @ 701 = IF \ 701=I; 10nov2012 midway @ t @ DO \ search En(glish) array; 11aug2011 I 0 en{ @ 800 = IF \ 800=BE; 10nov2012 800 motjuste ! ( Set verbform to "BE" 10nov2012 ) I 2 en{ @ 1 = IF \ singular? 10nov2012 I 4 en{ @ 1 = IF \ 1st pers? 10nov2012 I 8 en{ @ vphraud ! \ SpeechAct 10nov2012 LEAVE \ finding recent "AM" is enough 11aug2011 THEN \ end of test for first person; 10nov2012 THEN \ end of test for singular; 10nov2012 THEN \ end of test for be-verb; 10nov2012 -1 +LOOP \ end of backwards loop; 11aug2011 THEN \ end of test for "50=I" subject-psi; 11aug2011 THEN \ end of test for be-verb 67=ARE; 11aug2011 motjuste @ 58 = IF \ shift from BE; 27aug2010 num @ 1 = IF \ singular; 27aug2010 prsn @ 1 = IF \ if first person; 29aug2010 midway @ t @ DO \ search backwards in time I 0 en{ @ 57 = IF \ recent 57=AM; 12sep2010 I 8 en{ @ aud ! \ get recall-vector LEAVE \ after finding recent "AM"; 29aug2010 THEN \ end of test for 67=AM; 29aug2010 -1 +LOOP \ end of retrieval loop for "AM"; 29aug2010 0 prsn ! \ reset after use; 29aug2010 THEN \ end of test for 1st person sing; 29aug2010 prsn @ 3 = IF \ if third person; 12sep2010 midway @ t @ DO \ search backwards in time I 0 en{ @ 66 = IF \ most recent instance 66 motjuste ! ( 66=IS; 27aug2010 ) I 8 en{ @ aud ! \ get recall-vector LEAVE \ after finding recent "IS"; 28aug2010 THEN \ end of test for 66=IS; 27aug2010 -1 +LOOP \ end of retrieval loop for "IS"; 27aug2010 THEN \ end of test for 3rd person sing; 12sep2010 THEN \ end of test for singular; 27aug2010 ( following code covers undeclared plurals; 27aug2010 ) num @ 1 = NOT IF \ other than singular; 27aug2010 midway @ t @ DO \ search backwards in time I 0 en{ @ 67 = IF \ most recent instance 67 motjuste ! ( 67=ARE; 27aug2010 ) I 8 en{ @ aud ! \ get recall-vector LEAVE \ after finding recent "ARE"; 27aug2010 THEN \ end of test for 67=ARE; 27aug2010 -1 +LOOP \ end of retrieval loop for "ARE"; 27aug2010 THEN \ end of test for not singular; 27aug2010 THEN \ end of test for 58=BE; 27aug2010 0 subjectflag ! \ for SpreadAct slosh-over; 18oct2010 motjuste @ vacpsi ! \ prepare to deglobalize; 27sep2010 motjuste @ verbpsi ! \ for WhatAuxSVerb; 13jun2011 VerbAct 0 vacpsi ! \ reset for safety; 27sep2010 nphrnum @ 2 = NOT IF \ if not plural; test; 30aug2010 1 nphrnum ! \ default to singular; test; 30aug2010 THEN \ end of test for plural nphrnum; 30aug2010 motjuste @ 800 = NOT IF \ 10nov2012 prsn @ 3 = IF \ 3rd person? 29aug2010 nphrnum @ 1 = IF \ test; 30aug2010 \ 83 flex1 ! \ xfer "S" to SpeechAct; 11sep2011 \ 83 flex1 ! \ VerbGen should be used instead 29dec2012 THEN \ end of test for singular nphrnum; 30aug2010 THEN \ end of test for 3rd person; 29aug2010 THEN \ end of test for not a be-verb; 29jul2012 vphraud @ aud ! \ transfer just before call; 25jun2011 SpeechAct ( main call from VerbPhrase to SpeechAct ) VerbClear \ deactivate before inhibiting; 17aug2011 -32 t @ 1 - 1 psi{ ! \ inhibit new verb-node; 3sep2011 -32 t @ 1 psi{ ! \ inhibit new verb-node; 3sep2011 0 flex1 ! \ reset for safety; 11sep2011 0 vphraud ! \ reset for safety; 25jun2011 0 vpos ! motjuste @ 800 = IF \ 10nov2012 negjux @ 250 = IF \ 250=NOT; 10nov2012 midway @ t @ DO \ Search En(glish) array; 27jul2011 I 0 en{ @ 250 = IF \ Look for "NOT 10nov2012 I 8 en{ @ aud ! \ Auditory start-tag 10nov2012 LEAVE \ One instance of NOT suffices; 27jul2011 THEN \ End of lexical test for 12=NOT; 27jul2011 -1 +LOOP \ End of loop searching for 250=NOT 10nov2012 \ 7 EMIT \ audible report of saying NOT; test; 28aug2011 SpeechAct \ Say the word "NOT"; 27jul2011 0 aftjux ! \ reset for safety; 27jul2011 0 negjux ! \ reset for safety; 9oct2011 0 prejux ! \ reset for safety; 27jul2011 0 jux ! \ reset for safety; 27jul2011 0 psi3 ! \ reset for safety; 27jul2011 THEN \ end of test for negated be-verb; 27jul2011 THEN \ end of test for be-verb; 27jul2011 THEN \ end of test for positive motjuste; 29aug2010 10 act ! motjuste @ urpsi ! 62 caller ! PsiDamp \ Necessary for chain of thought; 24oct2010 0 caller ! EnDamp \ Following lines inhibit old KB verb-node; 13jun2011 -32 tselv @ 1 psi{ ! \ Shallow inhibition; 3sep2011 0 tselv ! \ Reset tselv after use; 13jun2011 32 EMIT 1 dirobj ! subjpsi @ 701 = IF \ only for subject 701=I; 10nov2012 motjuste @ 820 = IF \ only for verb 820=SEE; 10nov2012 svo3 @ 0 = IF \ if SEE has no direct object; 22sep2011 VisRecog \ a challenge for robot AI coders 22sep2011 SpeechAct \ say default from VisRecog; 22sep2011 EXIT \ abandon rest of VerbPhrase; 22sep2011 THEN \ end of test for direct object; 22sep2011 THEN \ end of test for "820=SEE"; 10nov2012 THEN ( http://code.google.com/p/robotbridgeware ) motjuste @ 800 = IF 1 predflag ! THEN \ 800=BE; 10nov2012 ( EnAdjective -- a possibility here; 24aug2011 ) NounPhrase 0 predflag ! \ reset for safety; 12sep2010 motjuste @ 0 > IF motjuste @ dopsi ! THEN 0 dirobj ! 0 negjux ! \ reset for safety; 9oct2011 0 numflag ! \ 3dec2009 Whether used here or in BeVerb. 0 predflag ! \ Reset for safety; 26aug2011 0 psi3 ! \ reset for safety; 27jul2011 0 svo3 ! \ use once per thought; 9sep2011 0 tqv ! \ reset for safety; 29sep2011 0 verblock ! \ after causing selection of NPhr seq-verb; 8oct2011 ; ( http://code.google.com/p/mindforth/wiki/VerbPhrase ) : InFerence ( create silent triples for machine reasoning ) 1 moot ! \ prevent interference; test; 20dec2012 \ CR ." InFer: subjnom prednom = " \ test; 1jan2012 \ subjnom @ . prednom @ . CR \ test; 1jan2013 midway @ t @ DO \ search IdeaPlex to infer facts; 18dec2012 prednom @ 0 > IF \ positive predicate nominative? 1jan2012 I 0 psi{ @ prednom @ = IF \ KB data? 18dec2012 I 4 en{ @ 1 = IF \ nominative? 18dec2012 seqverb @ 0 = IF \ only once; 18dec2012 I 6 psi{ @ seqtqv ! \ transfer; 18dec2012 I 7 psi{ @ seqverb ! \ transfer; 18dec2012 I 7 psi{ @ quverb ! \ for AskUser; 27dec2012 0 ynverb ! \ for one AskUser question; 27dec2012 \ 2 nphrnum ! \ test; remove; 27dec2012 \ 2 nphrnum ! \ Commenting out as obsolete; 1jan2013 seqverb @ seq ! \ test; 18dec2012 THEN \ end of test for not-yet-declared; 18dec2012 \ CR ." InFer: t psi seqverb = " \ test; 27dec2012 \ I . prednom @ . seqverb @ . \ 18dec2012; 27dec2012 \ LEAVE \ at first make only one inference; 18dec2012 ELSE \ no nominative prednom? 1jan2012 CR ." No inference can be made." \ test; 1jan2013 THEN \ end of test for nominative; 18dec2012 THEN \ end of test for finding prednom facts; 18dec2012 THEN \ end of test for positive predicate nominative 1jan2012 -1 +LOOP \ end of backwards loop; 18dec2012 \ CR ." InFer: subjnom prednom seqverb = " \ test; 2jan2012 \ subjnom @ . prednom @ . seqverb @ . \ test; 2jan2013 seqverb @ 0 > IF \ verb available for inference? 2jan2013 t @ inft ! \ for AskUser to find auditory engrams 25dec2012 1 t +! \ increment time "t" by one for a gap; 18dec2012 1 t +! \ increment time to create an inference; 18dec2012 subjnom @ t @ 0 psi{ ! \ subj of inference; 18dec2012 48 t @ 1 psi{ ! \ activation of inf. 20dec2012 2 t @ 2 psi{ ! \ num(ber) test; replace; 20dec2012 5 t @ 5 psi{ ! \ pos=5 noun; 18dec2012 t @ 1 + t @ 6 psi{ ! \ psi6=tqv; 18dec2012 seqverb @ seq ! \ prevent override? test 20dec2012 seqverb @ t @ 7 psi{ ! \ seq is the verb; 18dec2012 subjnom @ t @ 8 psi{ ! \ enx; 18dec2012 subjnom @ t @ 0 en{ ! \ for .en report; 21dec2012 2 t @ 2 en{ ! \ default num(ber) 21dec2012 1 t @ 4 en{ ! \ default nominative; 20dec2012 \ 5 t @ 6 en{ ! \ default 5=pos noun; 20dec2012 0 t @ 8 en{ ! \ pseudo-recall-tag; 21dec2012 1 t +! \ increment t for storage of verb; 18dec2012 seqverb @ t @ 0 psi{ ! \ verb of inference; 18dec2012 seqverb @ t @ 1 - 7 psi{ ! \ retroactive seq? 20dec2012 subjnom @ t @ 4 psi{ ! \ pre of verb; 18dec2012 8 t @ 5 psi{ ! \ pos=8 verb; 18dec2012 t @ 1 + t @ 6 psi{ ! \ psi6=tqv; 20dec2012 seqtqv @ 7 psi{ @ t @ 7 psi{ ! \ seq 18dec2012 seqtqv @ 7 psi{ @ dobseq ! \ test; 22dec2012 seqverb @ t @ 8 psi{ ! \ enx; 18dec2012 seqverb @ t @ 0 en{ ! \ so verb can be found; 22dec2012 1 t +! \ increment t to store direct object; 18dec2012 seqtqv @ 7 psi{ @ t @ 0 psi{ ! \ dir. obj 18dec2012 40 t @ 1 psi{ ! \ activation of direct object 22dec2012 seqtqv @ 7 psi{ @ t @ 8 psi{ ! \ enx 18dec2012 dobseq @ t @ 0 en{ ! \ so noun can be found; 22dec2012 dobseq @ quobj ! \ for AskUser; 27dec2012 1 t +! \ increment time "t" for an ending gap; 18dec2012 1 yncon ! \ for AskUser to ask yes-or-no question 26dec2012 subjnom @ qusub ! \ transfer to AskUser; 26dec2012 THEN \ end of test for a verb to be part of inference 2jan2013 0 becon ! \ reset after use; 18dec2012 0 dobseq ! \ reset after use; 22dec2012 0 moot ! \ reset after use; 20dec2012 0 prednom ! \ reset after use; 18dec2012 0 seqtqv ! \ reset after use; 18dec2012 0 seqverb ! \ reset after use; 18dec2012 0 subjnom ! \ reset after use; 18dec2012 \ QUIT \ test; remove; 18dec2012 \ Task: Make InFerence work also with pronouns and antecedents; \ Task: Make InFerence work with ideas negated by "NOT". ; ( http://code.google.com/p/mindforth/wiki/InFerence ) : DeCog ( Deutsch Cognition -- thinking in DeKi German AI ) CR ." Achtung! German input flips thinking into German." ( HauptWort \ Call a German NounPhrase module; 20jul2011 ) ( ZeitWort \ Call a German VerbPhrase module; 20jul2011 ) ; ( http://code.google.com/p/mindforth ) : EnCog ( English Cognition -- thinking in English ) 0 moot ! \ may have been set in previous thought; 24oct2011 0 morphpsi ! 0 psi ! 0 sublen ! t @ tov ! becon @ 1 = IF \ if flag set in OldCOncept; 18dec2012 InFerence \ call the passively reflective module; 18dec2012 THEN \ end of test for input of a be-verb statement; 18dec2012 yncon @ 1 = IF \ if flag set in VerbPhrase; 2jul2011 AskUser \ for a yes-or-no question; 2jul2011 EXIT \ abandon rest of EnCog; 2jul2011 THEN ( http://www.mpeforth.com ) yesorno @ 0 > IF SayYes CR EXIT THEN \ 400 rsvp ! \ Give user time to respond. 23aug2010 2000 rsvp ! \ Give user time to respond. 24jul2014 inert @ 10 > IF \ if no input start thinking; 17oct2011 cogpsi @ 0 > IF \ 17oct2011 cogpsi @ topic ! \ for query-subject; 17oct2011 cognum @ topicnum ! \ to select "IS" or "ARE"; 22oct2011 fyi @ 2 = IF ." EnCog calls WhatBe" THEN \ 6jul2012 CR WhatBe \ Ascribe output only to robot; 26jul2012 0 cognum ! \ reset for safety; 22oct2011 0 cogpsi ! \ reset for safety; 17oct2011 EXIT \ abandon the rest of EnCog; 17oct2011 THEN \ 17oct2011 kbtv @ 1 = IF \ in cycle of KbTraversal; 17oct2011 707 topic ! \ 707=YOU as topic of question; 10nov2012 7 nphrpos ! \ pronoun "YOU" part-of-speech; 21oct2011 2 prsn ! \ parameter second-person YOU; 17oct2011 1 subjnum ! \ singular YOU as a parameter; 17oct2011 IQ @ 1 = IF \ borrowing IQ as a control; 17oct2011 fyi @ 2 = IF ." EnCog calls WhoBe" THEN \ 4jul2012 CR WhoBe \ Ascribe output only to robot; 26jul2012 0 inert ! \ reset to resume counting; 17oct2011 2 IQ ! \ to ask a different question; 17oct2011 1000 rsvp ! \ AI waits for an answer; 19oct2011 EXIT \ only output one thought per cycle; 17oct2011 THEN \ end of re-purposed IQ-test; 17oct2011 IQ @ 2 = IF \ to ask a different question; 17oct2011 fyi @ 2 = IF ." EnC calls WhatBe" THEN \ 6jul2012 CR WhatBe \ Ascribe output only to robot; 26jul2012 0 inert ! \ reset to resume counting; 17oct2011 3 IQ ! \ to ask a different question; 17oct2011 1000 rsvp ! \ AI waits for an answer; 19oct2011 EXIT \ only output one thought per cycle; 17oct2011 THEN \ end of IQ-test; 17oct2011 IQ @ 3 = IF \ to ask a different question; 17oct2011 fyi @ 2 = IF ." EnC-kbtv1 calls WASD" THEN \ 6jul2012 CR WhatAuxSDo \ Ascribe output only to robot; 26jul2012 0 inert ! \ reset to resume counting; 17oct2011 1 IQ ! \ to ask a different question; 17oct2011 1000 rsvp ! \ AI waits for an answer; 19oct2011 EXIT \ only output one thought per cycle; 17oct2011 THEN \ end of IQ-test; 17oct2011 THEN \ end of #1 test of rotating "kbtv"; 17oct2011 kbtv @ 2 = IF \ in rotation of KbTraversal; 17oct2011 571 topic ! \ let 571=ROBOT be subject; 10nov2012 5 nphrpos ! \ noun part-of-speech; 17oct2011 3 prsn ! \ parameter needed for AuxVerb; 17oct2011 IQ @ 1 = IF \ borrowing IQ as a control; 17oct2011 1 indefmust ! \ for "A ROBOT"; 20oct2011 1 subjnum ! \ for singular "ROBOT"; 17oct2011 fyi @ 2 = IF ." EnCog calls WhatBe" THEN \ 6jul2012 CR WhatBe \ Ascribe output only to robot; 26jul2012 0 indefmust ! \ reset for safety; 20oct2011 0 inert ! \ reset to resume counting; 17oct2011 2 IQ ! \ to ask a different question; 17oct2011 1000 rsvp ! \ AI waits for an answer; 19oct2011 EXIT \ only output one thought per cycle; 17oct2011 THEN \ end of re-purposed IQ-test; 17oct2011 IQ @ 2 = IF \ borrowing IQ as a control; 17oct2011 1 subjnum ! \ for singular "ROBOT"; 17oct2011 fyi @ 2 = IF ." EnC-kbtv2 calls WASD" THEN \ 6jul2012 CR WhatAuxSDo \ Ascribe output only to robot; 26jul2012 0 inert ! \ reset to resume counting; 17oct2011 3 IQ ! \ to ask a different question; 17oct2011 1000 rsvp ! \ AI waits for an answer; 19oct2011 EXIT \ only output one thought per cycle; 17oct2011 THEN \ end of re-purposed IQ-test; 17oct2011 IQ @ 3 = IF \ borrowing IQ as a control; 17oct2011 2 subjnum ! \ for plural "ROBOTS"; 17oct2011 fyi @ 2 = IF ." EnCog-kbtv2 calls WASD" THEN \ 6jul2012 CR WhatAuxSDo \ Ascribe output only to robot; 26jul2012 0 inert ! \ reset to resume counting; 17oct2011 1 IQ ! \ to ask a different question; 17oct2011 1000 rsvp ! \ AI waits for an answer; 19oct2011 EXIT \ only output one thought per cycle; 17oct2011 THEN \ end of re-purposed IQ-test; 17oct2011 THEN \ end of #2 test of rotating "kbtv"; 17oct2011 kbtv @ 3 = IF \ in rotation of KbTraversal; 17oct2011 701 topic ! \ 701=I; 10nov2012 7 nphrpos ! \ pronoun "I" part-of-speech; 21oct2011 1 prsn ! \ parameter first-person I; 17oct2011 1 subjnum ! \ singular I as a parameter; 17oct2011 IQ @ 1 = IF \ borrowing IQ as a control; 17oct2011 fyi @ 2 = IF ." EnCog calls WhoBe" THEN \ 4jul2012 CR WhoBe \ Ascribe output only to robot; 26jul2012 0 inert ! \ reset to resume counting; 17oct2011 2 IQ ! \ to ask a different question; 17oct2011 1000 rsvp ! \ AI waits for an answer; 19oct2011 EXIT \ only output one thought per cycle; 17oct2011 THEN \ end of re-purposed IQ-test; 17oct2011 IQ @ 2 = IF \ to ask a different question; 17oct2011 fyi @ 2 = IF ." EnC-kbtv3 calls WhatBe" THEN \ 6jul2012 CR WhatBe \ Ascribe output only to robot; 26jul2012 0 inert ! \ reset to resume counting; 17oct2011 3 IQ ! \ to ask a different question; 17oct2011 1000 rsvp ! \ AI waits for an answer; 19oct2011 EXIT \ only output one thought per cycle; 17oct2011 THEN \ end of IQ-test; 17oct2011 IQ @ 3 = IF \ to ask a different question; 17oct2011 fyi @ 2 = IF ." EnCog-kbtv3 calls WASD" THEN \ 6jul2012 CR WhatAuxSDo \ Ascribe output only to robot; 26jul2012 0 inert ! \ reset to resume counting; 17oct2011 1 IQ ! \ to ask a different question; 17oct2011 1000 rsvp ! \ AI waits for an answer; 19oct2011 EXIT \ only output one thought per cycle; 17oct2011 THEN \ end of IQ-test; 17oct2011 THEN \ end of #3 test of rotating "kbtv"; 17oct2011 kbtv @ 4 = IF \ in rotation of KbTraversal; 17oct2011 533 topic ! \ 533=GOD for AI theology discussion; 10nov2012 3 prsn ! \ parameter third-person GOD; 17oct2011 1 subjnum ! \ singular GOD as a parameter; 17oct2011 IQ @ 1 = IF \ borrowing IQ as a control; 17oct2011 fyi @ 2 = IF ." EnCog calls WhoBe" THEN \ 4jul2012 CR WhoBe \ Ascribe output only to robot; 26jul2012 0 inert ! \ reset to resume counting; 17oct2011 2 IQ ! \ to ask a different question; 17oct2011 1000 rsvp ! \ AI waits for an answer; 19oct2011 EXIT \ only output one thought per cycle; 17oct2011 THEN \ end of re-purposed IQ-test; 17oct2011 IQ @ 2 = IF \ to ask a different question; 17oct2011 fyi @ 2 = IF ." EnC-kbtv4 calls WhatBe" THEN \ 6jul2012 CR WhatBe \ Ascribe output only to robot; 26jul2012 0 inert ! \ reset to resume counting; 17oct2011 3 IQ ! \ to ask a different question; 17oct2011 1000 rsvp ! \ AI waits for an answer; 19oct2011 EXIT \ only output one thought per cycle; 17oct2011 THEN \ end of IQ-test; 17oct2011 IQ @ 3 = IF \ to ask a different question; 17oct2011 fyi @ 2 = IF ." EnC-kbtv4 calls WASD" THEN \ 6jul2012 CR WhatAuxSDo \ Ascribe output only to robot; 26jul2012 0 inert ! \ reset to resume counting; 17oct2011 1 IQ ! \ to ask a different question; 17oct2011 1000 rsvp ! \ AI waits for an answer; 19oct2011 EXIT \ only output one thought per cycle; 17oct2011 THEN \ end of IQ-test; 17oct2011 THEN \ end of #4 test of rotating "kbtv"; 17oct2011 THEN \ end of arbitrary delay before initiating thought ( exceptional think was above; normal thinking below here ) CR ." Robot: " 123 t @ 2 aud{ ! t @ tov ! \ 12jan2010 "{" marks start of thought. NounPhrase \ First of two Chomskyan bifurcations. VerbPhrase \ Second of two Chomskyan bifurcations. 0 nphrnum ! \ Reset intersyntactic variable; 11oct2011 0 pcn ! \ Reset for safety; 17jul2012 0 prednom ! \ reset for InFerence; 27dec2012 0 prox2 ! \ Reset after use; 7sep2011 0 prox3 ! \ Reset after use; 7sep2011 0 proxcon ! \ Reset after use; 7sep2011 0 putnum ! \ reset for safety; 4nov2011 0 quo ! \ 5jan2010 Reset after use. 0 subjnom ! \ reset for InFerence; 27dec2012 5 bias ! 0 qup ! \ 10jan2010 Must be at zero to be used again. PsiDecay \ Reduce activation after each thought; 4aug2011 ; ( http://code.google.com/p/mindforth/wiki/EnCog ) : ThInk ( calls EnCog to think in English; 20sep2010 ) 0 ordo ! 35 pov ! \ internal ASCII 35=# point-of-view; 16oct2011 glot @ 1 = IF \ flag for polyglot AI; 20jul2011 EnCog ( think in English; 20jul2011 ) THEN ( http://www.aicore.co.uk ) \ CR ." ThInk: glot pov = " \ test; 14jul2014 \ glot @ . pov @ . CR \ test; 14jul2014 glot @ 2 = IF \ upon input of multiple German words; DeCog ( think in Deutsch -- German; 20jul2011 ) THEN \ end of test for language-choice in polyglot AI fyi @ 1 = IF CR THEN 0 ordo ! rjc @ 1 < IF \ if AI on but not yet ReJuvenated; 19sep2010 lurk @ greet @ > IF \ if limit exceeded; 19sep2010 100 rsvp ! \ slow down the display; 19sep2010 -1 lurk ! \ reset for safety; 19sep2010 kbtv @ 4 > IF 1 kbtv ! THEN \ test; 19sep2010 1 kbtv +! \ cycle through values; 19sep2010 KbTraversal \ if no input, begin thinking; 19sep2010 THEN ( http://www.forth.com ) THEN \ end of test of ReJuvenation-count (rjc); 19sep2010 ; ( http://code.google.com/p/mindforth/wiki/ThInk ) : MotorOutput ( stub for autonomous control of robots ) 7 EMIT ( MOVE_FORWARD ) ( MOVE_BACKWARDS ) ( STOP_MOTION ) ( TURN_LEFT ) ( TURN_RIGHT ) ; ( http://code.google.com/p/mindforth/wiki/MotorOutput ) : TuringTest ( Human-Computer Interaction ) fyi @ 0 = IF CLS CR CR CR CR CR CR CR t @ 476 < IF CR \ "vault" after SEE and NOTHING; 22sep2011 ." There is no warranty for MindForth AI for robots." ELSE CR THEN THEN fyi @ 1 = NOT IF CR THEN ." " fyi @ 1 = NOT IF CR THEN fyi @ 0 = IF CR ." Artificial intelligence alive and thinking since " bday @ . bmonth @ 1 = IF ." January " THEN bmonth @ 2 = IF ." February " THEN bmonth @ 3 = IF ." March " THEN bmonth @ 4 = IF ." April " THEN bmonth @ 5 = IF ." May " THEN bmonth @ 6 = IF ." June " THEN bmonth @ 7 = IF ." July " THEN bmonth @ 8 = IF ." August " THEN bmonth @ 9 = IF ." September " THEN bmonth @ 10 = IF ." October " THEN bmonth @ 11 = IF ." November " THEN bmonth @ 12 = IF ." December " THEN byear @ . 8 EMIT 46 EMIT CR THEN fyi @ 1 = NOT IF ." Time = " t @ . 8 EMIT 46 EMIT ." KB-Traversal ID = " kbtv @ . 8 EMIT 46 EMIT ." IQ = " IQ @ . 8 EMIT 46 EMIT ." Cyc = " rjc @ . ." delay = " rsvp @ . 8 EMIT 46 EMIT CR ." ENTER a positive or negative Subj-Verb-Obj " ." unpunctuated sentence." CR THEN fyi @ 0 = IF CR ." Display-mode is normal. Press Tab for other modes; " ." ESC to exit." CR THEN fyi @ 3 = IF CR ." Diagnostic messages - ignore during input " ." before pressing ENTER." THEN 42 pov ! ; ( http://code.google.com/p/mindforth/wiki/TuringTest ) : SeCurity ( new wiki-page name for SECURITY module ) fyi @ 2 = IF CR ." SeCurity calls HCI TuringTest module." THEN TuringTest t @ cns @ 64 - > IF fyi @ 2 = IF CR ." SeCurity module calls ReJuvenate." THEN ReJuvenate THEN t @ cns @ > IF \ Use midway only for larger Minds 13aug2012 t @ cns @ - midway ! ( for limit on searches; 13aug2012 ) ELSE \ If the CNS memory has a small capacity 13aug2012 1 midway ! \ Avoid any "array boundary problem"; 13aug2012 THEN \ Future code may let an AI itself set midway 13aug2012 0 quiet ! ; ( http://code.google.com/p/mindforth/wiki/SeCurity ) : MainLoop ( changed from ALIFE for wiki doc page ) TIME&DATE byear ! bmonth ! bday ! bhour ! bminute ! bsec ! TabulaRasa EnBoot BEGIN SeCurity fyi @ 2 = IF CR ." MainLoop calls the SensoryInput module." CR THEN SensoryInput ( EmotiOn ) fyi @ 2 = IF CR CR \ create gap; 6jul2012 ." MainLoop calls the ThInk mind-module." CR THEN ThInk ( FreeWill ) ( MotorOutput ) AGAIN ; ( http://code.google.com/p/mindforth/wiki/MainLoop ) : ALIFE ( Call MainLoop if not called by user. ) MainLoop ;