Cognos is (c) Fred Cohen, 2005-2025 - All Rights Reserved - Patent Pending - US Patent 8,095,492, 11,023,901, 11,741,481
Click Here to Subscribe

Cognos™ Manual

2025-01-04

Background and introduction

Cognos is a system for implementing cognology and cognimetrics as described in Pat. Pend. (Patent number coming soon). Here are a few ways to think about it:

In summary, Cognos is a system to support people understanding influences on them and influencing others.


Built-in analysis sets

Cognos provides analysis of information asserted and facts provided to form conclusions and make statements asserting those conclusions. There are several different built-in ways it can do the analysis:

All of these can be operated with your embedded AI keys and levels of creativity, and produce output in various style, forms, and formats, and even do rewrites for different purposes.


Here is what the interface looks like when you start:

ClaimsArea


AssertionsArea


AssertionsOutArea


ConclusionsArea


ConclusionsOutArea


StatementArea


FactsArea


FactsAssertedArea


FactsOutArea


RewriteArea


EmotionsArea


Description


ClaimsArea


AssertionsArea


AssertionsOutArea


ConclusionsArea


ConclusionsOutArea


StatementArea


FactsArea


FactsAssertedArea


FactsOutArea


RewriteArea


EmotionsArea


Description


 Item:
 Save-as:
Cleared
 Description:
Set GPT Key
Set Gem Key
 Mode:
Hint
Emotions  
⇒Generate
CLEAR
UNDO
Hint
 Style:
 Form:
 Format:
 Per:
⇒Statement
⇒Rewrite
CLEAR
UNDO
Hint
Claims  
⇒FullSet
CLEAR
UNDO
Hint
New Facts 
⇒Generate
CLEAR
UNDO
Hint
⇒Assertions
CLEAR
UNDO
Hint
⇒Add Facts
CLEAR
UNDO
Hint
⇒Conclusions
CLEAR
UNDO
Hint
CLOSE
CLOSE
SAVE
The prompt strings used for the generative portion of operation of the mechanisms work in sequences as follows:
Generate 'Emotions' from specifications
EmotionsString
+
EmotionsArea
EmotionsArea
Generate 'Claims' version of extracted 'Asserted Claims':
AssertionString
+
Assertions
Generate 'Asserted Facts' from specification
GenFactString
+
FactsAssertedArea
+
GenFactString2
FactsAssertedArea
Generate usable 'Facts' from specification
FactsString0
+
FactsString2
+
FactsAssertedArea
+
FactsString5
+
FactsString6
OR
FactsString0
+
FactsString1
FactsArea
+
FactsString2
+
FactsAssertedArea
+
FactsString3
Generate Conclusions from 'Facts' and 'Claims'
ConclusionsString1
+
FactsArea
+
ConclusionsString2
+
AssertionsArea
+
ConclusionsString3
Generate a Statement from 'Assertions' and 'Conclusions'
StatementString1
+
ConclusionsArea
+
StatementString2
+
AssertionsArea
+
StatementString3

AssertionString:
Parse the following statement into a series of all the simple factual assertions it contains, ignoring all formatting and HTML, and return these simple factual assertions as a list formatted as a JSON array:

GenFactString:
Process the following request for factual information and return results as a JSON formatted array and nothing else:

GenFactString2:
If you run out of resources or can not fully complete the request, provide all the results you can.

FactsString0:
No matter what, return the result as a JSON array.

FactsString1:
Assume the existing set of simple facts listed in the following JSON are true:

FactsString2:
Parse this following new statement into a set of new simple facts

FactsString3:
and add the new set of simple facts to the existing set of simple facts and return the resulting set of simple facts as a simple list formatted as a JSON array. Here are the new facts:

FactsString5:
and return the result as a simple list formatted as a JSON array.

FactsString6:
If you find no new facts, return a list formatted as a JSON array with the only fact being that no new facts are available.

ConclusionsString1:
Assuming the facts provided as expressed in the following JSON list are true:

ConclusionsString2:
Assume that 'Influencer' makes the claims listed in the following JSON:

ConclusionsString3:
For each of Influencer's statements, identify how likely it is to be correct based on the facts provided and nothing else. If it is directly inconsistent with any Assumed fact it is definately false. If it is definitively correct based on Assumed facts, state that it is correct. If is it not definitively false or true, provide a simple response to Influencer's claim correcting it in a polite but firm manner. Depending on the certainty of the correctness of Influencers's statements, provide a number ranging from 0 and 100 where 0 means Influencer's statement is completely wrong or inconsistent with the Assumed facts, 100 means that Influencer's statement is completely right, 50 means that it cannot be determined at all whether Influencer's statement is right or wrong from the Assumned Facts, and other values ranging from 0 to 100 indicate the likelihood that Influencer's statement is true given all of the Assumed facts. Provide your output expressed in JSON as an array where each row contains one of Influencer' statements with a key of 'Statement', the value you assigned to it with a key of 'Value', and your simple response with a key of 'Response'.

EmotionsString:
Generate a description of the emotional characteristics in terms of the Big 5 personality traits and other issues for

StatementString1:
Assuming that the statements and responses in the following JSON are reasonable:

StatementString2:
For each of the 'likelihood' 0 assertions made in this JSON:

StatementString3:
provide a sentence correcting the assertion, and combine these results into a paragraph

The Hints strings are used to provide hints for the various areas in terms of what to place there and how to operate the area:

Name Used for
TopAreaDescribes how to use the top bar - usually you should leave it alone.
ClaimsAreaThis is the area where user input is placed. Describe how you want it and what to click on.
AssertionsOutAreaTell them what to do next (if they are going step-wise).
FactsAreaThis is where you put new 'Facts' (or whatever you are asking for to draw conclusions)
FactsAssertedAreaTell them how to generate facts (or whatever) or add them (or both)
StatementAreaPerhaps you might edit some of this, but it is explanatory I think...
EmotionsAreaDepending on what you have for the Emotions prompt you would likely want this to match.
ConclusionsOutAreaThis tells them how to draw conclusions - likely not to change much.

Hint: TopArea:
Use the '⇒Action' menu to load, save, and so forth.

Change the 'Mode' to 'Run', 'Build', or 'Debug'.

Click 'Advice' for details


Hint: ClaimsArea:
Place the content you wish to check against facts for inconsistency here, then click 'Assertions' to go to the next step.

Or use '⇒FullSet' to run '⇒Assertions', '⇒Conclusions', and '⇒Statement' in sequence.


Hint: AssertionsOutArea:
Click 'Conclusions' (after you have Facts loaded) to generate conclusions.

Hint: FactsArea:
Click 'Add Facts' to add the facts in the 'New Facts' area to the list of Facts.

Hint: FactsAssertedArea:
Place new facts here and click 'AddFacts' to add them to existing Facts.
Say something like 'provide 50 facts about [subject]' here and click 'Generate' to generate facts for you, then edit to taste and click 'AddFacts' to add them.

Hint: StatementArea:
  • Click 'Statement' to generate a statement from 'Conclusions' (below).
  • Select 'Style' and 'Form' to give output in that style and form.
  • Use 'Rewrite' to rewrite the current Statement (after you use Undo to get it back).
  • Use 'Undo' to go back to the Statement you had here before a 'rewrite'.
  • Use the 'Per' area to detail how you would like the rewrite written (for example, 'rewrite for an 8-year old to understand it').
  • Use the Emotions area to inflect results with emotional properties then 'rewrite'.

Hint: EmotionsArea:
  • Enter emotional characteristics of the audience here inflect Statement and Rewrite results with emotional elements.
  • Say something like 'Easily excited, really doesn't like being interrupted, ...' and so forth and click 'Generate' to generate a Big 5 analysis of emotions that can inflect Statements and Rewrites, and click them to produce inflected results.

Hint: ConclusionsOutArea:
Click 'Conclusions' to generate conclusions about inconsistencies between assertions and facts.

The Menus and what they do

All of the menus in this document are selectable, but none of them do anything...

Here's what they do:


Applications:

Applications are created, debugged, and operated using the Cognos system itself. Each application is identified as one or more "Item"s that can be selected, loaded, changed, and saved through the "Action⇒" menu. As a result, you can create your own applications pretty easily, either using the built-in analysis sets, by starting with a library Item and modifying it to your own taste, or by customizing your own from scratch.

The customization menu provides the means for customization as it exists today, but you can count on it being extended over time to add new language features currently under development. For example, you will be able to change sequences, use other storage areas, do partial analysis to handle far larger sets of facts and results, create loops, import information from and export information to other applications, and so forth.

In some sense the customization menu is the programming manual for Cognos. More on this later...

Here are some of the ways we apply the tool (with libraries to help you get started):


Customization

The customization menu as of this time (and subject to ongoing changes) is below.

In the meanwhile, here is what the menu looks like:

The prompt strings used for the generative portion of operation of the mechanisms work in sequences as follows:
Generate 'Emotions' from specifications
EmotionsString
+
EmotionsArea
EmotionsArea
Generate 'Claims' version of extracted 'Asserted Claims':
AssertionString
+
Assertions
Generate 'Asserted Facts' from specification
GenFactString
+
FactsAssertedArea
+
GenFactString2
FactsAssertedArea
Generate usable 'Facts' from specification
FactsString0
+
FactsString2
+
FactsAssertedArea
+
FactsString5
+
FactsString6
OR
FactsString0
+
FactsString1
FactsArea
+
FactsString2
+
FactsAssertedArea
+
FactsString3
Generate Conclusions from 'Facts' and 'Claims'
ConclusionsString1
+
FactsArea
+
ConclusionsString2
+
AssertionsArea
+
ConclusionsString3
Generate a Statement from 'Assertions' and 'Conclusions'
StatementString1
+
ConclusionsArea
+
StatementString2
+
AssertionsArea
+
StatementString3

AssertionString:
Parse the following statement into a series of all the simple factual assertions it contains, ignoring all formatting and HTML, and return these simple factual assertions as a list formatted as a JSON array:

GenFactString:
Process the following request for factual information and return results as a JSON formatted array and nothing else:

GenFactString2:
If you run out of resources or can not fully complete the request, provide all the results you can.

FactsString0:
No matter what, return the result as a JSON array.

FactsString1:
Assume the existing set of simple facts listed in the following JSON are true:

FactsString2:
Parse this following new statement into a set of new simple facts 

FactsString3:
and add the new set of simple facts to the existing set of simple facts and return the resulting set of simple facts as a simple list formatted as a JSON. Here are the new facts:

FactsString5:
and return the result as a simple list formatted as a JSON array.

FactsString6:
If you find no new facts, return a list formatted as a JSON array with the only fact being that no new facts are available.

ConclusionsString1:
Assuming the facts provided as expressed in the following JSON list are true:

ConclusionsString2:
Assume that 'Influencer' makes the claims listed in the following JSON:

ConclusionsString3:
For each of Influencer's statements, identify how likely it is to be correct based on the facts provided and nothing else. If it is directly inconsistent with any Assumed fact it is definitely false. If it is definitively correct based on Assumed facts, state that it is correct. If is it not definitively false or true, provide a simple response to Influencer's claim correcting it in a polite but firm manner. Depending on the certainty of the correctness of Influencers's statements, provide a number ranging from 0 and 100 where 0 means Influencer's statement is completely wrong or inconsistent with the Assumed facts, 100 means that Influencer's statement is completely right, 50 means that it cannot be determined at all whether Influencer's statement is right or wrong from the Assumed Facts, and other values ranging from 0 to 100 indicate the likelihood that Influencer's statement is true given all of the Assumed facts. Provide your output expressed in JSON as an array where each row contains one of Influencer' statements with a key of 'Statement', the value you assigned to it with a key of 'Value', and your simple response with a key of 'Response'.

EmotionsString:
Generate a description of the emotional characteristics in terms of the Big 5 personality traits and other issues for

StatementString1:
Assuming that the statements and responses in the following JSON are reasonable:

StatementString2:
For each of the 'likelihood' 0 assertions made in this JSON:

StatementString3:
provide a sentence correcting the assertion, and combine these results into a paragraph

The Hints strings are used to provide hints for the various areas in terms of what to place there and how to operate the area:

Name Used for
TopAreaDescribes how to use the top bar - usually you should leave it alone.
ClaimsAreaThis is the area where user input is placed. Describe how you want it and what to click on.
AssertionsOutAreaTell them what to do next (if they are going step-wise).
FactsAreaThis is where you put new 'Facts' (or whatever you are asking for to draw conclusions)
FactsAssertedAreaTell them how to generate facts (or whatever) or add them (or both)
StatementAreaPerhaps you might edit some of this, but it is explanatory I think...
EmotionsAreaDepending on what you have for the Emotions prompt you would likely want this to match.
ConclusionsOutAreaThis tells them how to draw conclusions - likely not to change much.

Hint: TopArea:
Use the '⇒Action' menu to load, save, and so forth.

Change the 'Mode' to 'Run', 'Build', or 'Debug'.

Click 'Advice' for details


Hint: ClaimsArea:
Place the content you wish to check against facts for inconsistency here, then click 'Assertions' to go to the next step.

Or use '⇒FullSet' to run '⇒Assertions', '⇒Conclusions', and '⇒Statement' in sequence.


Hint: AssertionsOutArea:
Click 'Conclusions' (after you have Facts loaded) to generate conclusions.

Hint: FactsArea:
Click 'Add Facts' to add the facts in the 'New Facts' area to the list of Facts.

Hint: FactsAssertedArea:
Place new facts here and click 'AddFacts' to add them to existing Facts.
Say something like 'provide 50 facts about [subject]' here and click 'Generate' to generate facts for you, then edit to taste and click 'AddFacts' to add them.

Hint: StatementArea:

Hint: EmotionsArea:

Hint: ConclusionsOutArea:
Click 'Conclusions' to generate conclusions about inconsistencies between assertions and facts.

Security:

Cognos works by you downloading (it's automatic and transparent) a Java script program that runs on your computer and interacts with ours.

Errors:

CANNOT SAVE!! Check Advice!!!

If you get that error message in the Status area, your system has likely exceeded available storage in the internal browser storage area. If this happens, in FireFox, you can increase the allowable local storage by putting 'about:config' in the browser URL. From there you search for 'dom.storage.default_quota' and 'dom.storage.default_site_quota' or some such thing and increase the available size. I generally add a 0 to the end and have not yet hit that limit. But you never know.

Another option is to delete some of the stored things you have in place. Remember that these limits apply to each domain you access, so all of a2e.co or manalyt.com or so forth is limited together as a group. Deleting things from one application will affect others in the same domain.

One approach to dealing with space limits for browsers that do not allow you to easily extend this storage is to use file storage using "Backup" and "Restore" from the "Action⇒ File→" menu. You do a backup, then delete a bunch of stuff, then do a "Restore" when you want to use it again. It's a pain, but then some browsers just aren't made for this sort of thing...

Click Here to Subscribe