Name: Robot AI Mind 2020-05-05 13:27
: EnThink ( http://ai.neocities.org/EnThink.html )
\ CR ." EnThink: " \ 2019-10-02: next five diagnostic lines show values of variables.
\ ." becon= " becon @ . ." yncon= " yncon @ . ." ynverb= " ynverb @ . ." inft= " inft @ . CR
\ ." qusub= " qusub @ . ." qusnum= " qusnum @ . ." subjnom= " subjnom @ .
\ ." prednom= " prednom @ . ." tkbn= " tkbn @ . CR
\ ." quverb= " quverb @ . ." seqverb= " seqverb @ . ." seqtkb= " seqtkb @ . ." tkbv= " tkbv @ . CR
\ ." quobj= " quobj @ . ." dobseq= " dobseq @ . ." kbzap= " kbzap @ . ." tkbo= " tkbo @ . CR
0 catverb ! \ 2019-02-20: reset for safety.
isolation @ 60 > IF \ 2018-11-16: if no input for arbitrary duration...
Imperative \ 2018-09-23: Issue a plea for input from a human user.
0 impetus ! \ 2018-09-23: reset the trigger for calling Imperative.
0 isolation ! \ 2018-10-07: reset the trigger for calling Imperative.
EXIT \ 2018-09-23: abandon EnThink; give human user a chance to respond.
THEN \ 2018-09-23: end of test for trigger to call Imperative.
qucon @ 1 = IF \ 2018-12-18: upon a query
SpreadAct \ 2018-12-18: to activate concepts in response to a query.
THEN \ 2018-12-18: end of test for a query-condition.
wasvcon @ 1 = IF SpreadAct THEN \ 2019-02-22: set by InStantiate
whatcon @ 1 = IF SpreadAct THEN \ 2018-10-07: set by InStantiate
\ whatcon @ 1 = IF SpreadAct THEN \ 2018-12-18: handled by new code above
wherecon @ 1 = IF SpreadAct THEN \ 2018-11-15: set by InStantiate
\ wherecon @ 1 = IF SpreadAct THEN \ 2018-12-18: handled by new code above
1 inhibcon ! \ 2016sep04: prevent reentrant concepts from directly activating.
1 pov ! \ 2016aug23: thinking occurs in self or "I" mode.
kbcon @ 0 > IF \ 2018-06-22: if user answers yes-or-no question;
KbRetro \ 2018-06-22: retroactively adjust knowledge base;
0 kbcon ! \ 2018-06-22: reset for safetry.
0 kbzap ! \ 2018-06-22: reset for safety.
THEN \ 2018-06-22: User has had one chance to answer yes-or-no question.
t @ inft ! \ 2018-06-22: in case inference-time not otherwise set;
becon @ 1 = IF \ 2018-06-19: if flag set in OldCOncept;
InFerence \ 2018-06-19: call the passively reflective module;
THEN \ 2018-06-19: end of test for input of a be-verb statement.
yncon @ 1 = IF \ 2018-06-21: set in the InFerence module
AskUser \ 2018-06-21: for yes-or-no query about inferred idea;
EXIT \ 2018-06-21: skip the remainder of EnThink.
THEN \ 2018-06-21: end of test to trigger asking a question.
\ actpsi @ 0 > IF \ 2018-12-21: if set e.g. by a direct object in EnVerbPhrase
\ SpreadAct \ 2018-12-21: for a simple non-query spreading of activation
\ 0 actpsi ! \ 2018-12-21: reset to zero for safety
\ THEN \ 2018-12-21: end of test for a concept warranting spread of activation.
Indicative \ 2018-06-19: think in the indicative mood.
\ ConJoin \ 2018-07-09: Output one more idea with sufficient activation.
\ ConJoin \ 2019-02-20: now setting new conditions for calling ConJoin...
etc @ 1 > IF \ 2019-02-20: if multiple active thoughts....
ConJoin \ 2019-02-20: insert a conjunction.
Indicative \ 2019-02-20: include an idea conjoined with AND.
THEN \ 2019-02-20: end of test for presence of several activated ideas.
whatcon @ 1 = conj @ 0 > AND IF \ 2018-07-09: for a conjoined idea...
0 conj ! \ 2018-07-10: TEST
0 whatcon ! \ 2018-09-23: reset to prevent run-on thoughts.
Indicative \ 2018-07-09: think in the indicative mood.
0 qv1psi ! \ 2018-07-10: against repetition of subject;
0 qv2psi ! \ 2018-07-10: against repetition of verb;
0 whatcon ! \ 2018-07-10: so EnNounPhrase may use verblock.
THEN \ 2018-07-09: end of whatcon-test in favor of subordinate clause.
PsiDecay \ 2016aug27: Reduce activation after each thought.
0 conj ! \ 2018-07-09: prevent carry-over.
0 inhibcon ! \ 2016sep04: remove restriction of inhibcon.
0 qv2psi ! \ 2018-07-10: reset to prevent verb-repetition.
0 svo1 ! \ 2017-06-15: reset subject-verb-object values for safety.
0 svo2 ! \ 2017-06-15: reset subject-verb-object values for safety.
0 svo3 ! \ 2017-06-15: reset subject-verb-object values for safety.
0 svo4 ! \ 2017-06-15: reset subject-verb-object values for safety.
0 tdo ! \ 2016aug28: reset time-of-direct-object for safety.
0 tio ! \ 2016aug28: reset time-of-indirect-object for safety.
0 verblock ! \ 2016aug28: reset for safety.
fyi @ 0 = IF 0 CR THEN \ 2018-11-22: display one thought per line.
; \ 2019-02-20: EnThink returns to FreeWill Volition module.
\ CR ." EnThink: " \ 2019-10-02: next five diagnostic lines show values of variables.
\ ." becon= " becon @ . ." yncon= " yncon @ . ." ynverb= " ynverb @ . ." inft= " inft @ . CR
\ ." qusub= " qusub @ . ." qusnum= " qusnum @ . ." subjnom= " subjnom @ .
\ ." prednom= " prednom @ . ." tkbn= " tkbn @ . CR
\ ." quverb= " quverb @ . ." seqverb= " seqverb @ . ." seqtkb= " seqtkb @ . ." tkbv= " tkbv @ . CR
\ ." quobj= " quobj @ . ." dobseq= " dobseq @ . ." kbzap= " kbzap @ . ." tkbo= " tkbo @ . CR
0 catverb ! \ 2019-02-20: reset for safety.
isolation @ 60 > IF \ 2018-11-16: if no input for arbitrary duration...
Imperative \ 2018-09-23: Issue a plea for input from a human user.
0 impetus ! \ 2018-09-23: reset the trigger for calling Imperative.
0 isolation ! \ 2018-10-07: reset the trigger for calling Imperative.
EXIT \ 2018-09-23: abandon EnThink; give human user a chance to respond.
THEN \ 2018-09-23: end of test for trigger to call Imperative.
qucon @ 1 = IF \ 2018-12-18: upon a query
SpreadAct \ 2018-12-18: to activate concepts in response to a query.
THEN \ 2018-12-18: end of test for a query-condition.
wasvcon @ 1 = IF SpreadAct THEN \ 2019-02-22: set by InStantiate
whatcon @ 1 = IF SpreadAct THEN \ 2018-10-07: set by InStantiate
\ whatcon @ 1 = IF SpreadAct THEN \ 2018-12-18: handled by new code above
wherecon @ 1 = IF SpreadAct THEN \ 2018-11-15: set by InStantiate
\ wherecon @ 1 = IF SpreadAct THEN \ 2018-12-18: handled by new code above
1 inhibcon ! \ 2016sep04: prevent reentrant concepts from directly activating.
1 pov ! \ 2016aug23: thinking occurs in self or "I" mode.
kbcon @ 0 > IF \ 2018-06-22: if user answers yes-or-no question;
KbRetro \ 2018-06-22: retroactively adjust knowledge base;
0 kbcon ! \ 2018-06-22: reset for safetry.
0 kbzap ! \ 2018-06-22: reset for safety.
THEN \ 2018-06-22: User has had one chance to answer yes-or-no question.
t @ inft ! \ 2018-06-22: in case inference-time not otherwise set;
becon @ 1 = IF \ 2018-06-19: if flag set in OldCOncept;
InFerence \ 2018-06-19: call the passively reflective module;
THEN \ 2018-06-19: end of test for input of a be-verb statement.
yncon @ 1 = IF \ 2018-06-21: set in the InFerence module
AskUser \ 2018-06-21: for yes-or-no query about inferred idea;
EXIT \ 2018-06-21: skip the remainder of EnThink.
THEN \ 2018-06-21: end of test to trigger asking a question.
\ actpsi @ 0 > IF \ 2018-12-21: if set e.g. by a direct object in EnVerbPhrase
\ SpreadAct \ 2018-12-21: for a simple non-query spreading of activation
\ 0 actpsi ! \ 2018-12-21: reset to zero for safety
\ THEN \ 2018-12-21: end of test for a concept warranting spread of activation.
Indicative \ 2018-06-19: think in the indicative mood.
\ ConJoin \ 2018-07-09: Output one more idea with sufficient activation.
\ ConJoin \ 2019-02-20: now setting new conditions for calling ConJoin...
etc @ 1 > IF \ 2019-02-20: if multiple active thoughts....
ConJoin \ 2019-02-20: insert a conjunction.
Indicative \ 2019-02-20: include an idea conjoined with AND.
THEN \ 2019-02-20: end of test for presence of several activated ideas.
whatcon @ 1 = conj @ 0 > AND IF \ 2018-07-09: for a conjoined idea...
0 conj ! \ 2018-07-10: TEST
0 whatcon ! \ 2018-09-23: reset to prevent run-on thoughts.
Indicative \ 2018-07-09: think in the indicative mood.
0 qv1psi ! \ 2018-07-10: against repetition of subject;
0 qv2psi ! \ 2018-07-10: against repetition of verb;
0 whatcon ! \ 2018-07-10: so EnNounPhrase may use verblock.
THEN \ 2018-07-09: end of whatcon-test in favor of subordinate clause.
PsiDecay \ 2016aug27: Reduce activation after each thought.
0 conj ! \ 2018-07-09: prevent carry-over.
0 inhibcon ! \ 2016sep04: remove restriction of inhibcon.
0 qv2psi ! \ 2018-07-10: reset to prevent verb-repetition.
0 svo1 ! \ 2017-06-15: reset subject-verb-object values for safety.
0 svo2 ! \ 2017-06-15: reset subject-verb-object values for safety.
0 svo3 ! \ 2017-06-15: reset subject-verb-object values for safety.
0 svo4 ! \ 2017-06-15: reset subject-verb-object values for safety.
0 tdo ! \ 2016aug28: reset time-of-direct-object for safety.
0 tio ! \ 2016aug28: reset time-of-indirect-object for safety.
0 verblock ! \ 2016aug28: reset for safety.
fyi @ 0 = IF 0 CR THEN \ 2018-11-22: display one thought per line.
; \ 2019-02-20: EnThink returns to FreeWill Volition module.