forth/Mind.4th

5174 lines
226 KiB
Forth
Executable File

( 24jan13A.F -- modification of 2jan13A.F MindForth )
( Released under GNU General Public License V2 )
( http://gpl-violations.org -- see NYT Sun.26.SEP.2010. )
( 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://home.planet.nl/~josv/w32for42_671.exe )
( 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://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.
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 1000 rsvp ! ( user-response delay-counter)
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 20130124 vrsn ! ( version identifier; 24jan2013 )
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 )
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
400 rsvp ! ( give more time )
THEN
I 138 = IF
rsvp @ 250 > IF 100 rsvp ! THEN
THEN
I 139 = IF
pho @ 0 = IF
rsvp @ 1 - rsvp !
rsvp @ 2 < IF 400 rsvp ! THEN
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
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 )
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 1 ! 800 pre ! 0 tqv ! 0 seq ! 571 enx ! EnVocab InNativate
( I -- innate KB-item for testing inhibition of idea-pairs )
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 ! 423 tqv ! 58 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
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
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
\ 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
subjectflag @ 0 = IF \ i.e., dir.obj or pred.nom; 15oct2011
nounlock @ 0 > IF
nounlock @ 0 psi{ @ motjuste ! \ nounlock psi; 22dec2012
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
THEN \ end of test for a noun or pronoun; 26aug2011
-1 +LOOP \ End of search for most active "motjuste"; 20dec2012
subjectflag @ 1 = IF motjuste @ subjpsi ! THEN \ 20dec2012
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
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
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
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
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 )
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
;