<!--{{{-->
<link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml' />
<!--}}}-->
Background: #fff
Foreground: #000
PrimaryPale: #8cf
PrimaryLight: #18f
PrimaryMid: #04b
PrimaryDark: #014
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
/*{{{*/
body {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}

a {color:[[ColorPalette::PrimaryMid]];}
a:hover {background-color:[[ColorPalette::PrimaryMid]]; color:[[ColorPalette::Background]];}
a img {border:0;}

h1,h2,h3,h4,h5,h6 {color:[[ColorPalette::SecondaryDark]]; background:transparent;}
h1 {border-bottom:2px solid [[ColorPalette::TertiaryLight]];}
h2,h3 {border-bottom:1px solid [[ColorPalette::TertiaryLight]];}

.button {color:[[ColorPalette::PrimaryDark]]; border:1px solid [[ColorPalette::Background]];}
.button:hover {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::SecondaryLight]]; border-color:[[ColorPalette::SecondaryMid]];}
.button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::SecondaryDark]];}

.header {background:[[ColorPalette::PrimaryMid]];}
.headerShadow {color:[[ColorPalette::Foreground]];}
.headerShadow a {font-weight:normal; color:[[ColorPalette::Foreground]];}
.headerForeground {color:[[ColorPalette::Background]];}
.headerForeground a {font-weight:normal; color:[[ColorPalette::PrimaryPale]];}

.tabSelected{color:[[ColorPalette::PrimaryDark]];
	background:[[ColorPalette::TertiaryPale]];
	border-left:1px solid [[ColorPalette::TertiaryLight]];
	border-top:1px solid [[ColorPalette::TertiaryLight]];
	border-right:1px solid [[ColorPalette::TertiaryLight]];
}
.tabUnselected {color:[[ColorPalette::Background]]; background:[[ColorPalette::TertiaryMid]];}
.tabContents {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::TertiaryPale]]; border:1px solid [[ColorPalette::TertiaryLight]];}
.tabContents .button {border:0;}

#sidebar {}
#sidebarOptions input {border:1px solid [[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel {background:[[ColorPalette::PrimaryPale]];}
#sidebarOptions .sliderPanel a {border:none;color:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:hover {color:[[ColorPalette::Background]]; background:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:active {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::Background]];}

.wizard {background:[[ColorPalette::PrimaryPale]]; border:1px solid [[ColorPalette::PrimaryMid]];}
.wizard h1 {color:[[ColorPalette::PrimaryDark]]; border:none;}
.wizard h2 {color:[[ColorPalette::Foreground]]; border:none;}
.wizardStep {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];
	border:1px solid [[ColorPalette::PrimaryMid]];}
.wizardStep.wizardStepDone {background:[[ColorPalette::TertiaryLight]];}
.wizardFooter {background:[[ColorPalette::PrimaryPale]];}
.wizardFooter .status {background:[[ColorPalette::PrimaryDark]]; color:[[ColorPalette::Background]];}
.wizard .button {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryLight]]; border: 1px solid;
	border-color:[[ColorPalette::SecondaryPale]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryPale]];}
.wizard .button:hover {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Background]];}
.wizard .button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::Foreground]]; border: 1px solid;
	border-color:[[ColorPalette::PrimaryDark]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryDark]];}

.wizard .notChanged {background:transparent;}
.wizard .changedLocally {background:#80ff80;}
.wizard .changedServer {background:#8080ff;}
.wizard .changedBoth {background:#ff8080;}
.wizard .notFound {background:#ffff80;}
.wizard .putToServer {background:#ff80ff;}
.wizard .gotFromServer {background:#80ffff;}

#messageArea {border:1px solid [[ColorPalette::SecondaryMid]]; background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]];}
#messageArea .button {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::SecondaryPale]]; border:none;}

.popupTiddler {background:[[ColorPalette::TertiaryPale]]; border:2px solid [[ColorPalette::TertiaryMid]];}

.popup {background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]]; border-left:1px solid [[ColorPalette::TertiaryMid]]; border-top:1px solid [[ColorPalette::TertiaryMid]]; border-right:2px solid [[ColorPalette::TertiaryDark]]; border-bottom:2px solid [[ColorPalette::TertiaryDark]];}
.popup hr {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::PrimaryDark]]; border-bottom:1px;}
.popup li.disabled {color:[[ColorPalette::TertiaryMid]];}
.popup li a, .popup li a:visited {color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:active {background:[[ColorPalette::SecondaryPale]]; color:[[ColorPalette::Foreground]]; border: none;}
.popupHighlight {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
.listBreak div {border-bottom:1px solid [[ColorPalette::TertiaryDark]];}

.tiddler .defaultCommand {font-weight:bold;}

.shadow .title {color:[[ColorPalette::TertiaryDark]];}

.title {color:[[ColorPalette::SecondaryDark]];}
.subtitle {color:[[ColorPalette::TertiaryDark]];}

.toolbar {color:[[ColorPalette::PrimaryMid]];}
.toolbar a {color:[[ColorPalette::TertiaryLight]];}
.selected .toolbar a {color:[[ColorPalette::TertiaryMid]];}
.selected .toolbar a:hover {color:[[ColorPalette::Foreground]];}

.tagging, .tagged {border:1px solid [[ColorPalette::TertiaryPale]]; background-color:[[ColorPalette::TertiaryPale]];}
.selected .tagging, .selected .tagged {background-color:[[ColorPalette::TertiaryLight]]; border:1px solid [[ColorPalette::TertiaryMid]];}
.tagging .listTitle, .tagged .listTitle {color:[[ColorPalette::PrimaryDark]];}
.tagging .button, .tagged .button {border:none;}

.footer {color:[[ColorPalette::TertiaryLight]];}
.selected .footer {color:[[ColorPalette::TertiaryMid]];}

.sparkline {background:[[ColorPalette::PrimaryPale]]; border:0;}
.sparktick {background:[[ColorPalette::PrimaryDark]];}

.error, .errorButton {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Error]];}
.warning {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryPale]];}
.lowlight {background:[[ColorPalette::TertiaryLight]];}

.zoomer {background:none; color:[[ColorPalette::TertiaryMid]]; border:3px solid [[ColorPalette::TertiaryMid]];}

.imageLink, #displayArea .imageLink {background:transparent;}

.annotation {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border:2px solid [[ColorPalette::SecondaryMid]];}

.viewer .listTitle {list-style-type:none; margin-left:-2em;}
.viewer .button {border:1px solid [[ColorPalette::SecondaryMid]];}
.viewer blockquote {border-left:3px solid [[ColorPalette::TertiaryDark]];}

.viewer table, table.twtable {border:2px solid [[ColorPalette::TertiaryDark]];}
.viewer th, .viewer thead td, .twtable th, .twtable thead td {background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::Background]];}
.viewer td, .viewer tr, .twtable td, .twtable tr {border:1px solid [[ColorPalette::TertiaryDark]];}

.viewer pre {border:1px solid [[ColorPalette::SecondaryLight]]; background:[[ColorPalette::SecondaryPale]];}
.viewer code {color:[[ColorPalette::SecondaryDark]];}
.viewer hr {border:0; border-top:dashed 1px [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::TertiaryDark]];}

.highlight, .marked {background:[[ColorPalette::SecondaryLight]];}

.editor input {border:1px solid [[ColorPalette::PrimaryMid]];}
.editor textarea {border:1px solid [[ColorPalette::PrimaryMid]]; width:100%;}
.editorFooter {color:[[ColorPalette::TertiaryMid]];}

#backstageArea {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::TertiaryMid]];}
#backstageArea a {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstageArea a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; }
#backstageArea a.backstageSelTab {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
#backstageButton a {background:none; color:[[ColorPalette::Background]]; border:none;}
#backstageButton a:hover {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstagePanel {background:[[ColorPalette::Background]]; border-color: [[ColorPalette::Background]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]];}
.backstagePanelFooter .button {border:none; color:[[ColorPalette::Background]];}
.backstagePanelFooter .button:hover {color:[[ColorPalette::Foreground]];}
#backstageCloak {background:[[ColorPalette::Foreground]]; opacity:0.6; filter:'alpha(opacity=60)';}
/*}}}*/
/*{{{*/
* html .tiddler {height:1%;}

body {font-size:.75em; font-family:arial,helvetica; margin:0; padding:0;}

h1,h2,h3,h4,h5,h6 {font-weight:bold; text-decoration:none;}
h1,h2,h3 {padding-bottom:1px; margin-top:1.2em;margin-bottom:0.3em;}
h4,h5,h6 {margin-top:1em;}
h1 {font-size:1.35em;}
h2 {font-size:1.25em;}
h3 {font-size:1.1em;}
h4 {font-size:1em;}
h5 {font-size:.9em;}

hr {height:1px;}

a {text-decoration:none;}

dt {font-weight:bold;}

ol {list-style-type:decimal;}
ol ol {list-style-type:lower-alpha;}
ol ol ol {list-style-type:lower-roman;}
ol ol ol ol {list-style-type:decimal;}
ol ol ol ol ol {list-style-type:lower-alpha;}
ol ol ol ol ol ol {list-style-type:lower-roman;}
ol ol ol ol ol ol ol {list-style-type:decimal;}

.txtOptionInput {width:11em;}

#contentWrapper .chkOptionInput {border:0;}

.externalLink {text-decoration:underline;}

.indent {margin-left:3em;}
.outdent {margin-left:3em; text-indent:-3em;}
code.escaped {white-space:nowrap;}

.tiddlyLinkExisting {font-weight:bold;}
.tiddlyLinkNonExisting {font-style:italic;}

/* the 'a' is required for IE, otherwise it renders the whole tiddler in bold */
a.tiddlyLinkNonExisting.shadow {font-weight:bold;}

#mainMenu .tiddlyLinkExisting,
	#mainMenu .tiddlyLinkNonExisting,
	#sidebarTabs .tiddlyLinkNonExisting {font-weight:normal; font-style:normal;}
#sidebarTabs .tiddlyLinkExisting {font-weight:bold; font-style:normal;}

.header {position:relative;}
.header a:hover {background:transparent;}
.headerShadow {position:relative; padding:4.5em 0 1em 1em; left:-1px; top:-1px;}
.headerForeground {position:absolute; padding:4.5em 0 1em 1em; left:0px; top:0px;}

.siteTitle {font-size:3em;}
.siteSubtitle {font-size:1.2em;}

#mainMenu {position:absolute; left:0; width:10em; text-align:right; line-height:1.6em; padding:1.5em 0.5em 0.5em 0.5em; font-size:1.1em;}

#sidebar {position:absolute; right:3px; width:16em; font-size:.9em;}
#sidebarOptions {padding-top:0.3em;}
#sidebarOptions a {margin:0 0.2em; padding:0.2em 0.3em; display:block;}
#sidebarOptions input {margin:0.4em 0.5em;}
#sidebarOptions .sliderPanel {margin-left:1em; padding:0.5em; font-size:.85em;}
#sidebarOptions .sliderPanel a {font-weight:bold; display:inline; padding:0;}
#sidebarOptions .sliderPanel input {margin:0 0 0.3em 0;}
#sidebarTabs .tabContents {width:15em; overflow:hidden;}

.wizard {padding:0.1em 1em 0 2em;}
.wizard h1 {font-size:2em; font-weight:bold; background:none; padding:0; margin:0.4em 0 0.2em;}
.wizard h2 {font-size:1.2em; font-weight:bold; background:none; padding:0; margin:0.4em 0 0.2em;}
.wizardStep {padding:1em 1em 1em 1em;}
.wizard .button {margin:0.5em 0 0; font-size:1.2em;}
.wizardFooter {padding:0.8em 0.4em 0.8em 0;}
.wizardFooter .status {padding:0 0.4em; margin-left:1em;}
.wizard .button {padding:0.1em 0.2em;}

#messageArea {position:fixed; top:2em; right:0; margin:0.5em; padding:0.5em; z-index:2000; _position:absolute;}
.messageToolbar {display:block; text-align:right; padding:0.2em;}
#messageArea a {text-decoration:underline;}

.tiddlerPopupButton {padding:0.2em;}
.popupTiddler {position: absolute; z-index:300; padding:1em; margin:0;}

.popup {position:absolute; z-index:300; font-size:.9em; padding:0; list-style:none; margin:0;}
.popup .popupMessage {padding:0.4em;}
.popup hr {display:block; height:1px; width:auto; padding:0; margin:0.2em 0;}
.popup li.disabled {padding:0.4em;}
.popup li a {display:block; padding:0.4em; font-weight:normal; cursor:pointer;}
.listBreak {font-size:1px; line-height:1px;}
.listBreak div {margin:2px 0;}

.tabset {padding:1em 0 0 0.5em;}
.tab {margin:0 0 0 0.25em; padding:2px;}
.tabContents {padding:0.5em;}
.tabContents ul, .tabContents ol {margin:0; padding:0;}
.txtMainTab .tabContents li {list-style:none;}
.tabContents li.listLink { margin-left:.75em;}

#contentWrapper {display:block;}
#splashScreen {display:none;}

#displayArea {margin:1em 17em 0 14em;}

.toolbar {text-align:right; font-size:.9em;}

.tiddler {padding:1em 1em 0;}

.missing .viewer,.missing .title {font-style:italic;}

.title {font-size:1.6em; font-weight:bold;}

.missing .subtitle {display:none;}
.subtitle {font-size:1.1em;}

.tiddler .button {padding:0.2em 0.4em;}

.tagging {margin:0.5em 0.5em 0.5em 0; float:left; display:none;}
.isTag .tagging {display:block;}
.tagged {margin:0.5em; float:right;}
.tagging, .tagged {font-size:0.9em; padding:0.25em;}
.tagging ul, .tagged ul {list-style:none; margin:0.25em; padding:0;}
.tagClear {clear:both;}

.footer {font-size:.9em;}
.footer li {display:inline;}

.annotation {padding:0.5em; margin:0.5em;}

* html .viewer pre {width:99%; padding:0 0 1em 0;}
.viewer {line-height:1.4em; padding-top:0.5em;}
.viewer .button {margin:0 0.25em; padding:0 0.25em;}
.viewer blockquote {line-height:1.5em; padding-left:0.8em;margin-left:2.5em;}
.viewer ul, .viewer ol {margin-left:0.5em; padding-left:1.5em;}

.viewer table, table.twtable {border-collapse:collapse; margin:0.8em 1.0em;}
.viewer th, .viewer td, .viewer tr,.viewer caption,.twtable th, .twtable td, .twtable tr,.twtable caption {padding:3px;}
table.listView {font-size:0.85em; margin:0.8em 1.0em;}
table.listView th, table.listView td, table.listView tr {padding:0px 3px 0px 3px;}

.viewer pre {padding:0.5em; margin-left:0.5em; font-size:1.2em; line-height:1.4em; overflow:auto;}
.viewer code {font-size:1.2em; line-height:1.4em;}

.editor {font-size:1.1em;}
.editor input, .editor textarea {display:block; width:100%; font:inherit;}
.editorFooter {padding:0.25em 0; font-size:.9em;}
.editorFooter .button {padding-top:0px; padding-bottom:0px;}

.fieldsetFix {border:0; padding:0; margin:1px 0px;}

.sparkline {line-height:1em;}
.sparktick {outline:0;}

.zoomer {font-size:1.1em; position:absolute; overflow:hidden;}
.zoomer div {padding:1em;}

* html #backstage {width:99%;}
* html #backstageArea {width:99%;}
#backstageArea {display:none; position:relative; overflow: hidden; z-index:150; padding:0.3em 0.5em;}
#backstageToolbar {position:relative;}
#backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.3em 0.5em;}
#backstageButton {display:none; position:absolute; z-index:175; top:0; right:0;}
#backstageButton a {padding:0.1em 0.4em; margin:0.1em;}
#backstage {position:relative; width:100%; z-index:50;}
#backstagePanel {display:none; z-index:100; position:absolute; width:90%; margin-left:3em; padding:1em;}
.backstagePanelFooter {padding-top:0.2em; float:right;}
.backstagePanelFooter a {padding:0.2em 0.4em;}
#backstageCloak {display:none; z-index:20; position:absolute; width:100%; height:100px;}

.whenBackstage {display:none;}
.backstageVisible .whenBackstage {display:block;}
/*}}}*/
/***
StyleSheet for use when a translation requires any css style changes.
This StyleSheet can be used directly by languages such as Chinese, Japanese and Korean which need larger font sizes.
***/
/*{{{*/
body {font-size:0.8em;}
#sidebarOptions {font-size:1.05em;}
#sidebarOptions a {font-style:normal;}
#sidebarOptions .sliderPanel {font-size:0.95em;}
.subtitle {font-size:0.8em;}
.viewer table.listView {font-size:0.95em;}
/*}}}*/
/*{{{*/
@media print {
#mainMenu, #sidebar, #messageArea, .toolbar, #backstageButton, #backstageArea {display: none !important;}
#displayArea {margin: 1em 1em 0em;}
noscript {display:none;} /* Fixes a feature in Firefox 1.5.0.2 where print preview displays the noscript content */
}
/*}}}*/
<!--{{{-->
<div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
</div>
<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
<div id='sidebar'>
<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
</div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::ViewToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date'></span>)</div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::EditToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='editor' macro='edit title'></div>
<div macro='annotations'></div>
<div class='editor' macro='edit text'></div>
<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser excludeLists'></span></div>
<!--}}}-->
To get started with this blank [[TiddlyWiki]], you'll need to modify the following tiddlers:
* [[SiteTitle]] & [[SiteSubtitle]]: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)
* [[MainMenu]]: The menu (usually on the left)
* [[DefaultTiddlers]]: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is opened
You'll also need to enter your username for signing your edits: <<option txtUserName>>
These [[InterfaceOptions]] for customising [[TiddlyWiki]] are saved in your browser

Your username for signing your edits. Write it as a [[WikiWord]] (eg [[JoeBloggs]])

<<option txtUserName>>
<<option chkSaveBackups>> [[SaveBackups]]
<<option chkAutoSave>> [[AutoSave]]
<<option chkRegExpSearch>> [[RegExpSearch]]
<<option chkCaseSensitiveSearch>> [[CaseSensitiveSearch]]
<<option chkAnimate>> [[EnableAnimations]]

----
Also see [[AdvancedOptions]]
<<importTiddlers>>
[[Andrew Henderson]]
[[Akinity]] is the name of a system conceived by [[Andrew Henderson]]. It is owned and published as an [[open specification|http://akinity.org/policies.html]] by [[akinity.org]].

[[Home Page|http://www.akinity.org]]
The phases of [[Akinity]] and a comparison with non-Akinity data exchange and biological systems  are shown in the Life Cycle [[diagram |http://akinity.info/life_cycle.html]]. 
Activities of [[Akinity]] are thus characterised:
*[[intercourse]] is the process of manipulating [[cTags|cTag]] using either of [[Akinity's|Akinity]] two principle functions: [[akin]] or [[conception]]. 

;Principles
Akinity is a digital system that facilitates fungible information exchange. 
The premise of [[Akinity]] is that in any system conveying meaning, signs:
# to a greater or lesser degree are all inter-related ([[semantic distance|generational_distance]]) and they are likewise inter-related with all signs from all other semiotic systems
#acquire meaning only through interpretation; which is a [[subjective|subject]] process having dependency on :
##information available to a [[subject]]
##significance attached by the [[subject]] to [[semantic distance|generational_distance]].
##some [[common information|coherence]] between different [[subjects|subject]]

Akinity provides the means for semantic inter-operation within and between hetergeneous information domains.

;Properties
The [[Akinity]] system has a [[calculus|properties]].
(initials: [[AH]]  a.k.a. henchan)

Andrew Henderson is the person who discovered the [[Akinity]] algorithms in 2006-7 and who first published their [[specification|http://akinity.org/specification]] in 2009.

He currently [[heads|http:akinity.info/organisation]] [[akinity.org]], the organisation that developed and maintains the specification of [[Akinity]].
 
[[Akinity]]
/***
|''Name:''|DeprecatedFunctionsPlugin|
|''Description:''|Support for deprecated functions removed from core|
***/
//{{{
if(!version.extensions.DeprecatedFunctionsPlugin) {
version.extensions.DeprecatedFunctionsPlugin = {installed:true};

//--
//-- Deprecated code
//--

// @Deprecated: Use createElementAndWikify and this.termRegExp instead
config.formatterHelpers.charFormatHelper = function(w)
{
	w.subWikify(createTiddlyElement(w.output,this.element),this.terminator);
};

// @Deprecated: Use enclosedTextHelper and this.lookaheadRegExp instead
config.formatterHelpers.monospacedByLineHelper = function(w)
{
	var lookaheadRegExp = new RegExp(this.lookahead,"mg");
	lookaheadRegExp.lastIndex = w.matchStart;
	var lookaheadMatch = lookaheadRegExp.exec(w.source);
	if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
		var text = lookaheadMatch[1];
		if(config.browser.isIE)
			text = text.replace(/\n/g,"\r");
		createTiddlyElement(w.output,"pre",null,null,text);
		w.nextMatch = lookaheadRegExp.lastIndex;
	}
};

// @Deprecated: Use <br> or <br /> instead of <<br>>
config.macros.br = {};
config.macros.br.handler = function(place)
{
	createTiddlyElement(place,"br");
};

// Find an entry in an array. Returns the array index or null
// @Deprecated: Use indexOf instead
Array.prototype.find = function(item)
{
	var i = this.indexOf(item);
	return i == -1 ? null : i;
};

// Load a tiddler from an HTML DIV. The caller should make sure to later call Tiddler.changed()
// @Deprecated: Use store.getLoader().internalizeTiddler instead
Tiddler.prototype.loadFromDiv = function(divRef,title)
{
	return store.getLoader().internalizeTiddler(store,this,title,divRef);
};

// Format the text for storage in an HTML DIV
// @Deprecated Use store.getSaver().externalizeTiddler instead.
Tiddler.prototype.saveToDiv = function()
{
	return store.getSaver().externalizeTiddler(store,this);
};

// @Deprecated: Use store.allTiddlersAsHtml() instead
function allTiddlersAsHtml()
{
	return store.allTiddlersAsHtml();
}

// @Deprecated: Use refreshPageTemplate instead
function applyPageTemplate(title)
{
	refreshPageTemplate(title);
}

// @Deprecated: Use story.displayTiddlers instead
function displayTiddlers(srcElement,titles,template,unused1,unused2,animate,unused3)
{
	story.displayTiddlers(srcElement,titles,template,animate);
}

// @Deprecated: Use story.displayTiddler instead
function displayTiddler(srcElement,title,template,unused1,unused2,animate,unused3)
{
	story.displayTiddler(srcElement,title,template,animate);
}

// @Deprecated: Use functions on right hand side directly instead
var createTiddlerPopup = Popup.create;
var scrollToTiddlerPopup = Popup.show;
var hideTiddlerPopup = Popup.remove;

// @Deprecated: Use right hand side directly instead
var regexpBackSlashEn = new RegExp("\\\\n","mg");
var regexpBackSlash = new RegExp("\\\\","mg");
var regexpBackSlashEss = new RegExp("\\\\s","mg");
var regexpNewLine = new RegExp("\n","mg");
var regexpCarriageReturn = new RegExp("\r","mg");

}
//}}}
/***
|''Name''|LegacyStrikeThroughPlugin|
|''Description''|Provides support for legacy (pre-v2.1) strikethrough formatting|
|''Author''|MartinBudden (mjbudden (at) gmail (dot) com)|
|''Version''|1.0.3|
|''Date''|2008-04-07|
|''Status''|stable|
|''Source''|http://www.tiddlywiki.com/#LegacyStrikeThroughPlugin |
|''~CodeRepository:''|http://svn.tiddlywiki.org/Trunk/association/plugins/LegacyStrikeThroughPlugin/LegacyStrikeThroughPlugin.js |
|''License''|[[BSD open source license]]|
|''~CoreVersion''|2.1.0|
|''Keywords''|legacySupport|
!Code
***/
//{{{
// Ensure that the LegacyStrikeThrough Plugin is only installed once.
if(!version.extensions.LegacyStrikeThroughPlugin) {
version.extensions.LegacyStrikeThroughPlugin = {installed:true};

config.formatters.push(
{
	name: "legacyStrikeByChar",
	match: "==",
	termRegExp: /(==)/mg,
	element: "strike",
	handler: config.formatterHelpers.createElementAndWikify
});

} //# end of "install only once"
//}}}
[[◭ cTag|cTag]]
[[❊ synthesis|synthesis]]
[[♥ meiosis|meiosis]]
[[☯ akin|akin]]
<!--{{{-->
<link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml' />
<link rel="shortcut icon" href="./favicon.ico" type="image/x-icon">
<!--}}}-->
<div id='header' class='header' macro='gradient vert   #555555       #3b3b3b '>
        <div class='siteTitle' refresh='content' tiddler='SiteTitle'></div>
        <span id='topMenu' refresh='content' tiddler='MainMenu'></span>
</div>

<div id='sidebar'>
<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
</div>
<!--}}}-->
a glossary
[img[Akinity Home page|./logo.gif][http://akinity.info]] [[Akinity]]
http://akinity.info/
/***
|''Name:''|SparklinePlugin|
|''Description:''|Sparklines macro|
***/
//{{{
if(!version.extensions.SparklinePlugin) {
version.extensions.SparklinePlugin = {installed:true};

//--
//-- Sparklines
//--

config.macros.sparkline = {};
config.macros.sparkline.handler = function(place,macroName,params)
{
	var data = [];
	var min = 0;
	var max = 0;
	var v;
	for(var t=0; t<params.length; t++) {
		v = parseInt(params[t]);
		if(v < min)
			min = v;
		if(v > max)
			max = v;
		data.push(v);
	}
	if(data.length < 1)
		return;
	var box = createTiddlyElement(place,"span",null,"sparkline",String.fromCharCode(160));
	box.title = data.join(",");
	var w = box.offsetWidth;
	var h = box.offsetHeight;
	box.style.paddingRight = (data.length * 2 - w) + "px";
	box.style.position = "relative";
	for(var d=0; d<data.length; d++) {
		var tick = document.createElement("img");
		tick.border = 0;
		tick.className = "sparktick";
		tick.style.position = "absolute";
		tick.src = "data:image/gif,GIF89a%01%00%01%00%91%FF%00%FF%FF%FF%00%00%00%C0%C0%C0%00%00%00!%F9%04%01%00%00%02%00%2C%00%00%00%00%01%00%01%00%40%02%02T%01%00%3B";
		tick.style.left = d*2 + "px";
		tick.style.width = "2px";
		v = Math.floor(((data[d] - min)/(max-min)) * h);
		tick.style.top = (h-v) + "px";
		tick.style.height = v + "px";
		box.appendChild(tick);
	}
};


}
//}}}
/*{{{*/
/*Monochrome Theme for TiddlyWiki*/
/*Design and CSS by Saq Imtiaz*/
/*Version 1.0*/
/*}}}*/
/*{{{*/

body {background:#3B3B3B; color:#C3C3C3; font:12px Verdana, Helvetica, sans-serif;
	}

#header {padding: 0em 0em 0em 0em; background:transparent;	font-family: arial,helvetica; font-size:12px;
 }

.siteTitle {
padding-top:5px;
float:left;
font-family: 'Trebuchet MS' sans-serif;
font-weight: bold;
font-size: 32px;
color: #ccc; margin-right:2em;margin-left:0.5em;
}

#topMenu br {display:none;}
#topMenu a, #topMenu .tiddlyLink, #topMenu .button {margin:0em; color:#666; padding:15px 15px 10px 15px;padding-top:1.6em;border:none; border-right: 1px solid #666;float:left;}
#topMenu {border-left: 1px solid #666;  float:left;margin:0;}
#topMenu a:hover {color:#ccc; background:#3b3b3b;}

#displayArea {margin-left:1.35em; margin-right:17.65em; margin-top:0.5em; padding-top:1em; padding-bottom:10px;}

.tiddler {background:#454545; margin-bottom:20px; padding:1em 2em 1em 2em;}

a, a:hover{
color:#fff;
text-decoration: none; background:transparent;
}

.viewer a, .viewer a:hover{border-bottom:1px dotted #fff; font-weight:normal;}

.viewer .button, .editorFooter .button{
color: #fff;
border: 1px solid #fff;
}

.viewer .button:hover,
.editorFooter .button:hover, .viewer .button:active, .viewer .highlight,.editorFooter .button:active, .editorFooter .highlight{
color: #fff;
background: #3B3B3B;
border-color: #3B3B3B;
}

.title {color:#ccc; font-family:'Lucida Grande', Verdana, Sans-Serif; font-size:1.5em;
}

.subtitle, .subtitle a { color: #777; font-size: 0.95em;margin:0.2em;}
.shadow .title{color:#777;}

.toolbar {font-size:90%;}
.selected .toolbar a {color:#666;border:0;}
.selected .toolbar a:hover {color:#999; background:transparent;border:0;}

.toolbar .button:hover, .toolbar .highlight, .toolbar .marked, .toolbar a.button:active{color:#666;border:0; background:transparent;border:0;}

.tagging, .tagged {
border: 1px solid #555;
background-color: 	#444;
}

.selected .tagging, .selected .tagged {
background-color: 	#3B3B3B;
border: 1px solid #666;
}

.tagging .listTitle, .tagged .listTitle {
color: #666;
}

.selected .tagging .listTitle, .selected .tagged .listTitle {
color: #aaa;
}

.tagging .button, .tagged .button {
color:		#838383;
}
.selected .tagging .button, .selected .tagged .button {
color:#c3c3c3;
}

.highlight, .marked {background:transparent; color:#111; border:none; text-decoration:underline;}

.tagging .button:hover, .tagged .button:hover, .tagging .button:active, .tagged .button:active {
border: none; background:transparent; text-decoration:underline; color:#333;
}

#sidebarOptions {margin-top:1em;}
#sidebar {margin-right:1.35em;}

#sidebarTabs .tabContents {	
	font-family: arial,helvetica;}

#sidebarOptions a, #sidebarOptions a:hover{border:none;color:#666;}
#sidebarOptions a:hover, #sidebarOptions a:active {background:#454545; color:#ccc;}
#sidebarTabs .tabContents {background:#454545;border:0px solid #666; border-right:1px solid #454545;}
#sidebarOptions input {background:#ccc; border:1px solid #666;}

#sidebarTabs .tabContents .tiddlyLink, #sidebarTabs .tabContents .button{color:#666;font-weight:normal;}
#sidebarTabs .tabContents .tiddlyLink:hover, #sidebarTabs .tabContents .button:hover {color:#ccc; background:transparent;}
.listTitle {color:#777;}

#sidebarTabs .tabSelected,#sidebarTabs .tabSelected:hover{background:#454545;border:none;color:#ccc; border:1px solid #454545;}
#sidebarTabs .tabUnselected{background:#3B3B3B; border:1px solid #454545; color:#666;}

   #sidebarTabs .txtMoreTab .tabSelected,
   #sidebarTabs .txtMoreTab .tab:hover,
   #sidebarTabs .txtMoreTab .tabContents{
color: #ccc;
background: #3B3B3B; border:1px solid #3B3B3B;
}

   #sidebarTabs .txtMoreTab .tabUnselected {

color: #777; border:1px solid #3B3B3B;
background: #454545;
}


#sidebarTabs .tabContents .button:hover, #sidebarTabs .tabContents .highlight, #sidebarTabs .tabContents .marked, #sidebarTabs .tabContents a.button:active{color:#ccc; background:transparent;}

   #sidebarOptions .sliderPanel {
background: #454545; font-size: .9em;
}

#sidebarOptions .sliderPanel input {border:1px solid #666; background:#ccc;}
#sidebarOptions .sliderPanel .txtOptionInput {border:1px solid #666;width:9em;}

#sidebarOptions .sliderPanel a {font-weight:normal; color:#666;background-color: #454545; border-bottom:1px dotted #333;}

#sidebarOptions .sliderPanel a:hover {
color:#ccc;
background-color: #454545;
border:none;
border-bottom:1px dotted #111;
}

.popup {
background: #3B3B3B;
border: 1px solid #454545;
}

.popup li.disabled {
color: #000;
}

.popup li a, .popup li a:visited {
color: #777;
border: none;
}

.popup li a:hover {
background: #3b3b3b;
color: #c3c3c3;
border: none;
}
.popup hr {
	color: #777;
	background: #777;
	border-bottom: 1px;
}

.listBreak div{
	border-bottom: 1px solid #777;
}

#messageArea {
border: 4px dotted #ccc;
background: #454545;
color: #777;
font-size:90%;
}

#messageArea .button{

color: #3B3B3B;
background:#ccc;
border: 1px solid #ccc;
}

#messageArea .button:hover {

color: #ccc;
background: #3B3B3B;
border-color: #3B3B3B;
}

.viewer blockquote {
border-left: 5px solid 		#3B3B3B; background:#3B3B3B
}

.viewer table, .viewer td {
border: 1px solid 	#2E2E2E;
}

.viewer th, thead td {
background: #3B3B3B;
border: 1px solid #3B3B3B;
color: #ccc;
}
.viewer pre {
border: 1px solid #3b3b3b;
background: #5F5F5F;
}

.viewer code {
color: #c3c3c3; background:#5f5f5f;
}

.viewer hr {
border-top: dashed 1px #222; margin:0 1em;
}

.editor input {
border: 1px solid #ccc; margin-top:5px;
}

.editor textarea {
border: 1px solid #ccc;
}

h1,h2,h3,h4,h5 { color: 		#9c9c9c; background: transparent; padding-bottom:2px; font-family: Arial, Helvetica, sans-serif; }
h1 {font-size:18px;}
h2 {font-size:16px;}
h3 {font-size: 14px;}
!title
*Bullet
:indent
::double indent
>>bars
|box|
|box|
#number level1
##number level2
###number level3
__underline
;bold
==strikethrough==	--strikethrough--
@@highlight@@
~~subscript~~	normal ^^superscript^^ 

<<gradient vert #ffffff #ffdddd #ff8888>>Colour>>

Assuming the existence of a [[TPV|total_perspective_vortex]], [[X-ancestry]] is the exhaustive set of all [[cTags|cTag]] comprising the [[X-parent]] and (recursively) its [[X-parent]]. In other words, it is the subset of [[ancestry]] that ascends only the X line.

[[X-ancestry]] has significance because it underpins the definition of [[familiarity]], which in turn informs the definition of [[culture]].
[[X-parent]] is the [[parent]] of the [[child]] [[cTag]] which was assigned the parameter X in the function [[meiosis]].
[[Y-parent]] is the [[parent]] of the [[child]] [[cTag]] which was assigned the parameter Y in the function [[meiosis]].
An [[agent]] is an operational process of an [[application]] which has implemented [[Akinity]], such that the process is capable of participating in [[intercourse]].
Whilst participating in [[intercourse]] an [[agent]] becomes a [[subject]] of [[Akinity]]. .

An [[agent]] may, but //need not//, be directly controlled by a person.
Symbol : ☯  [[U+262F|http://unicode.org/charts/PDF/U2600.pdf]] (resembles a Yin/Yang)

[[Akin|akin]] is formally specified [[here|http://akinity.org/specification#akin]].

[[akin]] is the function that provides the principal utility of the [[Akinity]] system to [[applications|application]].

[[Akinity]] lacks the [[property|properties]] of [[total_perspective]]. This generally makes it not possible to know [[definitively|definitive]] how closely a pair of [[cTags|cTag]] share common [[ancestry]] or [[descent]]. The [[akin]] function facilitates such knowledge, with the important caveat that it gives results which, at the lower bound, are [[probablistic|uncertainty]].  

;Upper / Lower bounds of Distance
[[Akin|akin]] gives two measures of minimum [[distance|generational_distance]] between one [[cTag]] and another. The upper bound of minimum distance is given with [[certainty]], while the lower bound of minimum distance is given with a quantified [[probability of error|uncertainty]]. 

;Observed Similarity
[[Akin|akin]] starts by noting bit-wise [[similarity]] between the two input [[cTags|cTag]].
For instance, consider a [[cTag]] pair having miniscule [[breadth|~cTag.breadth]] of 4 as below. We observe twelve bits of [[similarity]] between the two [[cTags|cTag]] A and B :
|[[position|pos]]#|0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|
|A|0|1|0|1|0|1|0|1|0|1|0|1|0|1|0|1|
|B|0|0|1|1|1|0|1|0|1|0|0|0|1|0|1|1|
Four bits in common (at [[position|pos]]#  0;3;10;15) and twelve bits of difference. Through [[reversal]], this becomes 16 - 4 = 12 bits of [[similarity]] from 16 [[positions|pos]].

;Base case  / Alternate case
The base case assumption for this example is that twelve bits of [[similarity]] between A and B could be expected to have occurred in the absence of [[meiosis]] i.e. by random chance. 
The alternate case is that [[meiosis]] is the explanation for the observed amount of [[similarity]] between these two [[cTags|cTag]]. 

;Error
Error is the [[probability|uncertainty]] that, in making a positive inference (about lower bound of minimum distance), the alternate case assumption is actually incorrect (given the existence of a [[TPV|total_perspective_vortex]]).

;Overloaded function
[[Akin|akin]] is an overloaded function which, depending on input, produces different outputs. [[Akin|akin]] takes as input [[contents|cTag.contents]] of two [[cTags|cTag]] and at most one of either [[probability|uncertainty]] or minimum [[generational_distance]].

For negative inferences, [[akin]] produces [[certain|certainty]] results.
* Under the assumption that the alternate case is true ([[conception]] is present), output the minimum generational_distance between A and B.
:mindist = A [[☯|akin]] B
* Under the assumption that the alternate case is true, indicate whether [[cTags|cTag]] A and B are at least a minimum distance apart. A proximity filter would reject pairs returning TRUE.
:boolean = mindist.(A [[☯|akin]] B) 

For positive inferences, [[akin]] produces [[uncertain|uncertainty]] results. It outputs either a [[probability|uncertainty]] or a [[generational_distance]] (whichever was not provided as input).
*Under the assumption that the alternate case is true ([[conception]] is present) and given an acceptable probability of error (that a [[TPV|total_perspective_vortex]] would reveal the base case to be true), output the minimum [[generational_distance]] responsible for the observed [[similarity]] between cTag.contents.A and cTag.contents.B.
:mindist = A [[☯|akin]] B.(error)
* Under the assumption that the alternate case is true and given a desired minimum distance, output the probability of error. 
:errorprob =  mindist.(A [[☯|akin]] B) 

;Computation
Relative to [[conception]], [[akin]] is inexpensive to compute. It can therefore be repeated multiple times at lower cost. For instance in the computation of [[akin]] of a source [[cTag]] to all [[cTags|cTag]] in a [[culture]]. 

;Different Approaches
[[akin]] may use different approaches. An absolute approach measures [[distance|generational_distance]] of two [[cTags|cTag]] under an assumption of ideal meiosis, such that [[signal decay|signal_decay]] approaches the theoretical optimum. A heuristic approach might combine theory with some expectation of actual performance of [[meiosis]] under natural conditions, for instance to inform a Bayesian prior.
[[akinity.org|http://akinity.org]] is the organisation responsible for specifying and promoting the [[Akinity]] system.

A not-for-profit, non-governmental organisation, [[akinity.org]] exists to achieve its stated objectives by facilitating collaboration amongst stakeholders in order that the whole [[system|Akinity]] will remain, greater than the sum of its parts. 

akinity.org's guiding principle shall be that less is best. It shall constantly adjust the scope of its activities to the minimum required to achieve the core mission; which primarily concerns specifying [[cTag]], [[akin]], [[meiosis]] and [[synthesis]]. 

[[akinity.org]] owns all the Intellectual Property of the [[Akinity]] system. Its founding [[charter|http://akinity.org/charter.html]] establishes that akinity.org may not sell, lease, give away or otherwise dispose of this IP.

[[akinity.org]] provides a [[reference implementation|reference_implementation]] in support of the published specification.
[[Ancestry|ancestry]] of a [[cTag]] is the set of both its [[parents|parent]] and (recursively) all their [[ancestry]], exhaustively. 
It is a notional concept which, absent [[total perspective|total_perspective]], cannot be realised for any [[meiotic cTag]].

[[Descent|descent]] is the inverse of [[ancestry]].
An [[application]] is any system that has implemented [[Akinity]] in order to participate in [[intercourse]].
An application's process which participates in [[intercourse]] is known as an [[agent]].

[[agents|agent]] may want [[akin]] to tell them to what extent their [[application's|application]] data can reasonably be considered to be related to other data. For instance high utility output from [[akin]] can help agents to make informed judgments about data integration.

The utility of akin's output depends upon the degree of [[coherence]] between [[cultures|culture]] from which the [[cTag]] pair originated. Which in turn depends upon the quantity and applicability of [[intercourse]] that has (directly or indirectly) informed those cultures. Such judgments are [[subjective|subject]], hence they should be taken by the [[agent]] rather than included in the specification of [[Akinity]].

An [[agent]] of an [[application]] may opt to take the result of [[akin]] for a pair of [[cTags|cTag]] in two [[bindings|binding]] as proxy for the distance between the two [[cTagged items|cTagged_item]] present in that pair of bindings. This is an especially desirable feature when the relative proximity of those data would otherwise not be apparent; such as for a pair of data whose respective host systems exhibit a high degree of heterogeneity, but the [[coherence]] of (relevant parts of) their [[cultures|culture]] is nevertheless high.

Akin's value to some applications might be in comparing a single source [[cTag]] to the [[subject's|subject]] entire target [[culture]]. If the source [[cTag]] originated in a [[culture]] having high coherence to the target [[culture]] then there is good reason to anticipate rich and subtle information from such a one-to-many [[akin]] comparison.

Some applications might run [[Akinity]] in "read-only" mode: participating in [[intercourse]] and thereby improving information in the overall [[Akinity]] system; benefiting from [[akin]] directly themselves yet (perhaps to reduce cost) not permitting their own [[agent]](s) to improve a [[culture]] by [[conception]].
A [[binding]] is a unit of information of typical interest to an [[application]]. It is a pair of data elements comprising :
* [[cTag]] (exactly one instance)
* [[cTagged item|cTagged_item]] (zero or one instance).
;null binding
A null binding, having no [[cTagged item|cTagged_item]] in it, is effectively the same as a cTag. 
[[applications|application]] expecting a binding as input, should be able to handle a null binding.

;Uniqueness
If it happens that a [[cTag]] in a binding is a [[duplicate]], [[Akinity]] places no additional constraint on the cTagged item, which may be unique or non-unique.
If it happens that the [[cTagged item|cTagged_item]] in a binding is replicated in another binding, [[Akinity]] places no additional constraint on the cTag, which may be different or identical in each binding.
The specified mechanisms by which [[conception]] must resolve [[cTag.breadth]] variants. 
Comprising: [[step-in]], [[step-out]], [[step-along]].
Pron. tag 

Symbol: ◭   [[U+25ED|http://unicode.org/charts/PDF/U2500.pdf]] (resembles a triangle with two halves).


[[cTag]] is a kind of [[tag]] having specific properties which make it amenable to functions of [[Akinity]]: [[akin]] and [[conception]].
The cTag's data structure is formally included in Akinity's [[specification|http://akinity.info/specification/#cTag]].

;Readability
Unlike tags, which are generally human readable, [[cTags|cTag]] are designed to be read directly only by [[applications|application]].

;Universality
Notwithstanding technical restrictions, a [[cTag]] can supplement or take the place of an ID, name or some other sign or symbol used to denote information in a computer system. For instance a [[cTag]] may be used on the web, wherever a tag can be used. 

Due to its universality, [[cTag]] provides integration possibilities across computer systems, which potentially have heterogeneity in any conceivable dimension(s).

;Specification
cTag has a formal specification which defines [[cTag structure]] 

;Uniqueness
a [[cTag]] is not required to be unique and [[Akinity]] does not validate uniqueness. 
Nevertheless, [[conception]] statistically tends not to produce duplicated cTags. Likewise a good [[synthetic_cTag]] method should be unlikely to create repetitive [[cTags|cTag]] no matter how or how many times used.
A [[cTag]] would cease to be unique when, for instance, it is [[duplicate|duplicate]].

;Plurality
Many [[cTags|cTag]] may be [[bound|binding]] to the same underlying [[cTagged item|cTagged_item]]. In this case, [[Akinity]] will treat it as multiple information elements. To avoid this, applications can consolidate plural [[cTags|cTag]] into one. 
[[Akinity]], as the system underlying a global, public [[forum|the_Intercourse]] of communication, needs to inter-operate across many information domains and their supporting [[applications|application]]. Therefore [[cTag structure]] must be fully specified and easy to implement.
Below is a table representing some of the key elements of a cTag. The full specification is [[here|http://akinity.org/specification#cTag]].

|Component (v64)|Manda tory?|Comp ress?|Fixed Length bits|Minimum Value|Maximum Value|Comment|
|[[system_identifier]]|Yes|No|64|||(unicode Aki)|
|[[version|~cTag.version]]|Yes|Yes|8|64|current version (cv)|Reserved: [0-63], [(cv+1) - 256]. Versions 64 - cv specified at www.akinity.org/cTag/version/cTag_version_#.xml|
|[[synthetic_flag|~cTag.synthetic_flag]]|Yes|No|1|0|1|1 = [[synthetic_cTag]]|
|[[breadth|~cTag.breadth]] (b)|Yes|Yes|8|8|15|Reserved: [0-7], [16-255]|
|[[contents|~cTag.breadth.contents]]|Yes|Yes|2^^b^^||||
|[[depth|~cTag.depth]] (d)|Yes|Yes|8|0|b||
|[[offset|~cTag.offset]]|Yes|Yes|2^^d^^.b|||should [[compress|cost_of_depth]] well|
|checksum|No||csl|000000|2^^csl^^ -1|checksum method and length (csl) is given by [[Akinity]] version|
[[Breadth|~cTag.breadth]] is a component of [[cTag structure]]. An important attribute of [[cTag structure]] is the number of bits in a [[cTag]]. [[Akinity]] allows the number if bits to vary but only accepts specific [[breadth|cTag.breadth]] settings. 
;Trade Off
There is a trade-off between on the one hand cost of storage, transmission and processing and  on the other hand the power of [[akin]]; specifically with respect to [[signal decay|signal_decay]]. 
This trade-off may play out differently for different [[applications|application]], different items being cTagged or at different stages in the system's life-time. Therefore [[cTag]] variants may be specified using [[breadth|~cTag.breadth]] as a parameter. 
;Breadth Variants
cTag [[breadth|cTag.breadth]] settings variants must have 2^^n^^ bits. Where n is initially specified (in [[version|~cTag.version]] 0.1) as between 8 and 15. 
For instance, [[breadth|~cTag.breadth]] = 15 is the maximum allowable [[breadth|cTag.breadth]] for a [[cTag]] in [[Akinity]]. Such a [[cTag]] has 32,768 bits.

|Breadth|# of bits|
|8|256|
|9|512|
|10|1K|
|11|2K|
|12|4K|
|13|8K|
|14|16K|
|15|32K|

;Interoperability of conception
Since [[Akinity]] permits [[cTags|cTag]] of different breadths, it must specify the mechanism for [[conception]] to operate with [[cTags|cTag]] of different breadths. This is provided by [[breadth-steps]].
[[contents|cTag.contents]] is the primary payload of a [[cTag]]. It is a boolean value.
The [[depth|cTag.depth]] component of [[cTag structure]] constrains the length of [[offset|~cTag.offset]]. 
The [[offset|cTag.offset]] component of [[cTag structure]] is designed to allow [[meiosis]] to achieve its secondary objective of optimising [[similarity]] to all [[ancestry]]. 

[[Meiosis|meiosis]] allows each [[parent]] to maximise the [[child's|child]] [[similarity]] to its own [[ancestry]] in exactly half of the [[positions|pos]] at which the two [[parents|parent]] do not agree. 
During [[meiosis]], each [[parent]] is represented by a process which uses complete knowledge of both [[parents'|parent]] [[contents|cTag.contents]] and their [[offset|cTag.offset]] values, over the full [[breadth|cTag.breadth]] of both [[parents'|parent]] [[cTags|cTag]]. This data is used by each [[parent's|parent]] representative to rank its own preferences for those [[position|pos]] which will deliver maximum utility ([[similarity]]) to its own [[ancestors|ancestry]]. Like a pair of high school football captains, the two [[parents|parent]] consecutively apply their next highest ranking to the still available [[positions|pos]] in alternation, until a complete team has been picked. Since [[meiosis]] is not a competitive sport, each [[parent's|parent]] process will also strive to maximise utility for the [[ancestors|ancestry]] of the [[co-parent]], if it has no preference of its own. 

Values in [[offset|cTag.offset]] are not the absolute number of occurrences of the boolean value in [[contents|cTag.contents]] for all [[ancestors|ancestry]]. Rather, the [[offset|cTag.offset]] value is the net of all [[ancestors'|ancestry]] 'votes' for and against the [[contents|cTag.contents]] value at this [[position|pos]]. At each generation of [[meiosis]], the new net [[offset|cTag.offset]] value takes account of both [[parents'|parent]] [[offsets|cTag.offset]] as well as incrementing by either one or two for the two new [[ancestors|ancestry]] - the [[parents|parent]] themselves. 
Thus [[meiosis]] sets the new [[offset|cTag.offset]] for the [[Z-child|child]] at each [[position|pos]], based on aggregated [[offsets|cTag.offset]] and also on the quantity of [[similarity]] to the two [[parents|parent]]. 

Examples of [[meiosis]] setting new [[offset|cTag.offset]] values:
|[[X|X-parent]].[[value|cTag.contents]]|[[X|X-parent]].[[offset|cTag.offset]]|[[Y|Y-parent]].[[value|cTag.contents]]|[[Y|Y-parent]].[[offset|cTag.offset]]|[[Z|child]].[[value|cTag.contents]]|[[Z|child]].[[offset|cTag.offset]]|
|0|5|0|10|0| 5 + 10 + 2 = 17|
|1|14|1|12|1|14 + 12 + 2 = 28|
|0|5|1|10|1| 10 - 5 + 1 = 6|
|1|14|0|12|1| 14 - 12 + 1 = 3|
|0|0|1|0|1| 0 - 0 + 1 = 1|
|1|0|0|3|1| 0 - 3 + 1 = -2|
|1|5|0|-1|1| 5 - 1 + 1 = 5|
Note: negative [[offset|cTag.offset]] values are unusual, but not impossible.

A caveat to the 'votes' paradigm above is that [[reversal]] applies to [[offsets|cTag.offset]]. This means that the [[offset|cTag.offset]] value is applicable, whether the value of [[contents|cTag.contents]] at this [[position|pos]] is zero say or is one, perhaps because of alternate [[polarity]] by [[reversal]]. For this reason it is more useful to think of [[offsets|cTag.offset]] as the [[ancestors'|ancestry]] collective 'weighting' for the [[position|pos]] (in either [[polarity]]), relative to their weighting for all other [[position|pos]] in that [[cTag]], rather than as a vote for a particular boolean value for the [[contents|cTag.contents]] at that [[position|pos]].

[[Offsets|cTag.offset]] values are constrained by the [[cTag's|cTag]] [[depth|cTag.depth]] parameter. This means that in principle some [[offsets|cTag.offset]] infomation may be lost when the number of generations of [[meiosis]] exceeds the [[depth|cTag.depth]] value. In practice, netting [[offsets|cTag.offset]] tends to keep [[outbred]] [[cTags'|cTag]] [[offsets|cTag.offset]] values within the [[depth|cTag.depth]] parameter at most [[positions|pos]], even after the number of actual generations has exceeded [[depth|cTag.depth]].
Flag on a [[cTag]] to indicate whether the [[cTag]] was created using [[meiosis]] or [[synthesis]].
0 = [[meiosis]]
1 = [[synthesis]]
[[Version|cTag.version]] specifies the version of the [[Akinity]] specification that a system component such as [[cTag]] or a function conforms to.

Version numbers are not necessarily sequential.

[[Applications|application]] are to maintain a list of versions that they implement.

[[akinity.org]] maintains a public list of versions that are supported across all [[Akinity]].
As with any system that implements tags, in [[applications|application]] of [[Akinity]] there is an explicit or implicit relationship between a [[cTag]] and the item that it cTags. 
Any [[cTag]] is in most cases just a means to an end, which is much more likely to be concerned with the cTagged item than with the cTag. After all, users are generally not interested in tags per se. 

In [[Akinity]], the relationship between a [[cTag]] and a cTagged item is a [[binding]]. 
Applications need to be aware of the context of a [[cTag]] in order to correctly infer the item of a binding's reference. [[Akinity]] does not provide guidance on how they should do that.
Certainty is the condition under which an [[application]] process may infer something without having to make allowance for [[error|uncertainty]].

Negative inferences, take the following form. Assuming that at least one occurrence of [[meiosis]] is present in the joint [[ancestry]] of [[akin's|akin]] input pair, the occurrence of [[meiosis]] could not have been less than the specified minimum [[distance|generational_distance]]. Negative inferences can be held or rejected with [[certainty]]. 

Positive inference also assumes the alternate hypothesis. [[Meiotic conception|meiosis]], being the cause of the observed [[similarity]] between two cTags, implies a specified maximum [[distance|generational_distance]] between them. Positive inferences from [[akin]] are always [[uncertain|uncertainty]]. No matter how improbable may be the absence of [[meiosis]] within the specified [[generational_distance]], it remains a possibility. This is best illustrated by a [[duplicate]] pair of [[cTags|cTag]] indicating the presence of [[conception]] within an arbitrarily large but finite [[generational_distance]]. Since we cannot rule out the possibility of pure chance having made these [[cTags|cTag]] identical, the result is (infinitesimally) [[uncertain|uncertainty]].

[[Akinity]] can therefore place a lower bound on the [[generational_distance]] of two [[cTags|cTag]] with [[certainty]], but it can only place an upper bound with [[uncertainty]].

Certainty is different from [[total_perspective]] as the latter is a hypothetical condition involving the state of an entire system. Whereas total_perspective is not achievable in a non-trivial system, certainty is possible for some local conditions where the scope is constrained.
A [[child]] is the immediate, first generation [[descendant|descent]] of one or both of the [[parents|parent]] of the child. A child is the outcome of [[conception]] involving the parent(s). 
Depending on circumstances, correct usage of the term may rely upon [[total_perspective]].
Co-parent is the 'other' [[parent]] of a [[child]] for a particular instance of [[meiosis]]. 

Of the three participants in [[meiosis]]: x, y, z such that:
:  x [[♥|meiosis]] y = z
x.co-parent.y = true
y.co-parent.x = true
z.co-parent.x = false
x.co-parent.z = false
z.co-parent.y = false
y.co-parent.z = false

[[co-parent]] is not a [[kin]] relation. It is known as an affinity relation.
[[co-parents|co-parent]] may be constrained by an [[application]] to have a [[minimum distance|inbred]] from each other.
Whereas [[akin]] measures the [[semantic distance|generational_distance]] between a pair of [[cTags|cTag]], [[coherence]] is the notional semantic distance between [[cultures|culture]]. 

Coherence is a factor of both quantity (# of cTags) and quality (amount of semantic distance) of cultural congruence. It can be an absolute measure of mutual congruence or relative to other culture(s) known to the [[subjects|subject]].
Because there is no standard way to measure coherence, it is only loosely defined.

The higher the rate of coherence between cultures involved in discourse, the more subtle can be their [[discourse|intercourse]]. 

[[Discourse|intercourse]] resulting in [[meiotic conception|meiosis]] is likely to increase coherence between the [[subjects'|subject]] cultures. 
Alternatively, coherence may increase through common references to identical information elements (such as an English word) in a [[synthetic_cTag]]. Here, [[intercourse]] is not a prerequisite of coherence, though some non-Akinity information domain must be in common.

The significance of coherence is in its relationship to [[natural selection|natural_selection]]. 
[[Akinity]] will be successful only if coherence has the following effects (as defined [[subjectively|subjective]] by [[agents|agent]] participating in discourse):
a) tends to increase as a result of [[natural selection|natural_selection]] and does so in sufficient quantity to make a difference
b) is sufficiently discriminatory of signal (vs noise) between cultures 
c) becomes sufficiently localised to only [[subjects|subject]] for whom coherence matters 
d) becomes sufficiently specific within a subset of a (superset of) culture(s) to only include information whose coherence matters
So that it actually does improve the quality of [[discourse]] between [[subjects|subject]] to the satisfaction of those subjects.

Etym. : conception (biology)  / concept (knowledge engineering)

[[Conception|conception]] is the engine of [[Akinity]]. It produces information artifacts called [[cTags|cTag]], which [[akin]] may subsequently use to make judgments concerning [[generational_distance]]. 


;Forms
Conception is an overloaded function. Corresponding respectively to disjoint functions [[meiosis]] and [[synthesis]], [[conception]] can take as input either:
*two [[cTag]] [[parents|parent]]  
:cTag.Z = (cTag.X [[♥|meiosis]] cTag.Y)
In this case, conception produces one [[meiotic cTag]] [[child]] as output. 


or 
* a single [[organelle]]
:cTag.Z = organelle.[[♡|synthesis]]
In this case, [[conception]] produces one [[synthetic_cTag]] [[child]] as output. 
;cost of storage
The [[depth|cTag.depth]] component requires that a fixed length of 2^^depth^^ bits at each [[position|pos]] be reserved in the [[cTag structure]]. Although high depth can improve the performance of [[akin]] with respect to distant [[ancestry]], storage, transmission and processing of high depth [[cTags|cTag]] can be [[expensive|cost_of_depth]].

;compression
In many cases, the actual [[offset|cTag.offset]] will be far less than the space reserved for it by [[depth|cTag.depth]], so offset will be padded with many leading zeros. In this case, a [[cTag]] with a high [[depth|cTag.depth]] value may compress efficiently leading to lower cost of storage and transmission. ([[Akinity]] does not specify a compression method).
In general, [[outbred]][[ cTags|cTag]] compress smaller than [[inbred]] ones because their offset values are relatively lower.

;unconstrained meiosis
In [[meiosis]], by default the [[depth|cTag.depth]] of the [[child]] increases to ~DefDepth.

For any positive integer values of a and b:
|X-parent|Depth|Y-parent|Depth|depth.constraint|Child|~DefDepth|
|X~~1~~|a|Y~~1~~|a+b||Z~~1~~|a+b+1|
|X~~2~~|a|Y~~2~~|a-b||Z~~2~~|a+1|

;constrained meiosis
If an [[agent]] determines that the additional [[cost|cost_of_depth]] of processing and storage of the resulting [[cTag]] will outweigh the benefit of [[lossless|lossy]] [[meiosis]] then it may constrain [[meiosis]] to any Z.cTag.depth value between 0 and ~DefDepth. 
Constraint of meiotic depth to a value less than ~DefDepth gives [[lossy]] result.  

|X-parent|Depth|Y-parent|Depth|depth.constraint|Child|Z.Depth|
|X~~1~~|a|Y~~1~~|a+b|c|Z~~1~~|c|
(0 <= c <= ~DefDepth)

[[Culture|culture]] is intended to be a descriptive word whose meaning in [[Akinity]] comes close to its common use in the English language. Because it is defined de-facto, [[culture]] is not intended to be useful for dynamically specifying information scope in a [[discourse]] between [[subjects|subject]]. Rather, it is intended to represent the [[perspective]] of an individual [[process|agent]], which may often be unique.

[[culture]] is defined as a set of one or more [[bound|binding]] [[cTags|cTag]], all of which have [[familiarity]] to the culture's [[founder]]. Maintenance of familiarity is the responsibility of an [[application]]. [[Akinity]] is not directly concerned with maintenance of [[cultures|culture]]. 

The pattern of [[cTag]] linking in a [[culture]] is minimally a linked list of [[X-parent]] to [[child]]. 
Applications can use the presence of familiarity in a culture to facilitate efficient [[indexed searches|culture search]] to generate a map of [[akin]] from a [[cTag]] to all [[cTags|cTag]] within a culture

A [[cTag]] whose familiarity to a [[culture]] is compromised, by definition, is excluded from that [[culture]]. A search through a culture, therefore, should not be expected to locate [[cTags|cTag]] whose familiarity is compromised.

A [[cTag]] can be in more than one [[culture]]. Whether through [[duplicate]] copies of itself or as a single copy, giving [[perspectives|perspective]] to different [[subjects|subject]]. It is not inconsistent for a [[subject]] to perceive a [[cTag]] in one [[culture]] and another [[subject]] to [[perceive|perspective]] it in a [[culture]] which is a super-set or a set that intersects with the former.

Every [[cTag]] can be [[perceived|perspective]] as the [[founder]] of a [[culture]] whose membership is itself only. Every [[cTag]] can be [[perceived|perspective]] as native to the [[culture]] whose membership is itself and its [[X-parent]] only. 

Akinity does not specify how an implementation should perform an indexed search from one [[cTag]] to another within a [[culture]].

It is easy to see how the [[X-parent]] linked list provides a directed bread-crumb trail, leading to the [[founder]]. Directed by [[akin]], the search process can be optimised.

If a Last Common Parent earlier than founder should exist, it can be identified this way.
Information that is known [[definitively|definitive]] is known without recourse to [[akin]] inference. 

For instance, an [[application]] process which, through [[meiotic conception|meiosis]], creates a [[child]] has [[definitive]] knowledge that the child belongs to the [[culture]] of its X-parent. This example is knowledge rather than inference because no deductive reasoning by [[akin]] was involved.

Definitive knowledge is not equivalent to [[certainty]]. The latter is the condition by which an [[application]] process using [[akin]] can infer something without having to make an allowance for [[error|uncertainty]]. 
[[Descent|descent]] of a [[cTag]] is the set of its [[children|child]] and all their children, exhaustively.
It is a notional concept which, absent [[total perspective|total_perspective]], cannot normally be verified [[definitively|definitive]] for any given cTag.

[[Ancestry|ancestry]] is the inverse of descent.
The same input to the same function always produces the same output. Regardless of time, [[application]] or any other consideration. 

[[Akinity]] is specified as a deterministic system.
[[Différance|différance]] is the implied semantic distance between two [[cTagged items|cTagged_item]] or between one cTagged item and a [[Synthetic cTag|synthetic_cTag]]. 
Whereas [[distance|generational_distance]] is quantitiative, différance is qualtitative, having the quantitative basis given by interpretation of cTags.

The term [[différance|http://en.wikipedia.org/wiki/Differance]] is borrowed from Derrida. This term is intended to imply a similar meaning in Akinity as in Deconstructionist philosophy.
[[discourse]] is a special case of [[intercourse]], in which the identity of the [[subjects|subject]] is evident.
:“The information was disseminated from [[subject]] A to [[subject]] B through Intercourse” 
interchangeably 
:“The information was disseminated from [[subject]] A to [[subject]] B through Discourse”
or 
:“The information was disseminated through Intercourse” 
but not 
:“The information was disseminated through Discourse” 
A [[duplicate]] is a [[cTag]] created by making an identical copy of it. Alternatively, by the principle of [[reversal]], by copying its two's complement.

A duplicate may be in the [[subject's|subject]] [[culture]] or any in any other [[culture]] (assuming the existence of a [[TPV|total_perspective_vortex]]). 

Since [[conception]] has a strong tendency not to generate [[duplicates|duplicate]], they can generally be presumed not to have been caused by [[conception]],  However, [[conception]] does not actually guarantee unique [[cTags|cTag]] and should not be relied upon to do so.

[[conception]] is a deterministic function. The same inputs will produce duplicated output.
[[Equity|equity]] is a [[property|properties]] of [[Akinity]] by which [[similarity]], for any given [[meiotic cTag]] to each of its two [[parents|parent]], is approximately equal. For instance:
:z = x [[♥|meiosis]] y → 
::z [[☯|akin]] x ≈ z [[☯|akin]] y

Due to the algorithm's design, equity is a necessary outcome of [[meiotic conception|meiosis]]. Regardless of any disparity in [[breadth|cTag.breadth]] and/or [[depth|cTag.depth]] between [[X-parent]] and [[Y-parent]]. 

Equity is slightly inexact due to variation inherent in [[cTags|cTag]] input to [[meiosis]]. Nevertheless, any discrepancy is negligible (one bit or less) and can therefore be considered as rounding error. 

[[Euclidianness|euclidianness]] is a [[properties] of [[Akinity]] which permits [[akin]] to have power through generations of [[meiosis]] in spite of there not being a direct [[ancestral|ancestry]] relation ([[lineage]]). 
The amount of [[signal|signal_decay]] is approximately equal, whether a [[lineage]] or a non-lineage relation pertains. For instance
:b = a [[♥|meiosis]] p ;  c = b ♥ q;  d = a ♥ r
::implies b [[☯|akin]] d ≈  a ☯ c
To the extent that a,p,q,r do not enjoy maximum mutual entropy, euclideanness is affected by statistical variation of inputs.

This is analagous to a person's having roughly same degree of genetic correspondance with one parent's sibling as to that parent's parent.

A practical import of equity is that it frees the system from depending heavily on super-network connectors.
The state of a [[cTag]] in relation to a [[culture]], such that [[familiarity]] does not exist between them. Its opposite is [[indigenous]].

By convention, [[co-parents|co-parent]] in [[meiosis]] are
: [[X-parent]] : [[indigenous]]
: [[Y-parent]] : [[exogenous]]
The principle by which all [[cTags|cTag]] in a given [[culture]] are [[known|certainty]] by a [[subject]] to have common [[ancestry]], through their [[X-parent]] to that [[culture's|culture]] [[founding ancestor|founder]]. 

A sole [[founding ancestor|founder]] in a [[culture]] shall have an X-parent such that that X-parent is not included in the [[culture]]. Alternatively, founder's X-parent may be unspecified.
By definition, all other [[cTags|cTag]] in a [[culture]] have [[X-ancestry]] as far as the culture's founder.

[[Applications|application]] may enforce familiarity at the point of [[cTag]] creation or insertion into a target [[culture]]. This can easily achieved through the practice of storing a [[child]] in the [[culture]] of its X-parent.
It is not defined how a [[cTag]] should be stored in a [[culture]] as this is application-specific. For instance, a database driven [[application]] might specify a view with a connect by X-parent clause and define that view's content as a [[culture]].

Since [[culture]] is defined de-facto rather than de-jure, it is not necessary for any [[application]] to maintain familiarity of [[culture]] through implementation of an integrity constraint. Simply, [[cTags|cTag]] which have familiarity can be deemed [[indigenous]] to that [[culture]] by a [[subject]] whose [[perspective]] provides familiarity. And those [[cTags|cTag]] which either do not have familiarity (or if familiarity to the [[founder]] cannot be determined practically) are deemed [[exogenous]].

The significance of familiarity is to facilitate complete navigation of a [[culture]] using conventional indexing techniques such as ~B-Tree.

Thus familiarity makes it eminently practical to exhaustively determine the [[generational distance|generational_distance]] from some [[exogenous]] [[cTag]] to every [[indigenous]] [[cTag]] a [[culture]].
Unlike for some other systems, such as genetic algorithms, a fitness function is not objectively defined in [[Akinity]]. Rather, fitness is a [[subjective]] judgment.

Whether chosen manually or automatically, [[natural selection|natural_selection]] describes why some [[cTag]] is chosen by a [[subject]] as a [[fit|fitness]] [[parent]] for [[conception]], in preference to other cTag(s) from the same [[culture]].
A [[founder]] is the unique [[cTag]] in a [[culture]], such that a [[subject]] is unable to identify an [[X-parent]] of the founder in that [[culture]].
[[generational distance|generational_distance]] is a measure of the minimum number of generations of [[conception]] that, for a given [[probability|uncertainty]], would be expected to produce the observed [[similarity]] in a (source/target) pair of [[cTags|cTag]], under the assumption of maximum entropy within the source / target pair's [[ancestry]].

By definition a [[parent]] / [[child]] is actually a single generation apart. So the generational_distance between such a pair should be expected to be around 1.00. However, if the entropy between [[X-parent]] and [[Y-parent]] of [[child]] Z was actually less than 1.00 then we would expect the generational distance between Z and either of its parents to be less than 1.00. 
This outcome is somewhat counter-intuitive because it is not possible for a child to be less than one actual generation apart from its parents. 

A [[culture]] in which generational_distance is significantly less than the actual number of generations (given [[total_perspective]]) can be described as [[inbred]]. 
[[outbred]] describes (parts of) a [[culture]] where the maximum entropy amongst [[co-parents| co-parent]] in [[ancestry]] assumption holds and, assuming the existence of a [[TPV|total_perspective_vortex]], generational_distance is an accurate measure of actual generations distance.

Since the [[Akinity]] system is [[probabilistic|uncertainty]] and lacks the [[properties] of [[total_perspective]], we have generational_distance and not actual generations as our measure of relatedness for cTags.

For accuracy, generational_distance can be calculated dynamically. For speed it can be looked up in a table.
In a transaction involving information exchange through [[intercourse]], the [[getter]] receives a [[cTag]] from the [[giver]].
In a transaction involving information exchange through [[intercourse]], the [[giver]] transmits a [[cTag]] to the [[getter]].
Identity is the equality operator denoted bythe equals sign (=) and used in many logical and mathematical constructs.

Identity does not apply to the [[calculus|properties]] of [[Akinity]].
It is incorrect to hold that A = A because, there is a chance, no matter how [[improbable|uncertainty]], that the two instances of A arrived at the same value by chance, or through [[inbreeding|inbred]].
[[inbred]] describes the state of a (partial) [[culture]] where it is the case that [[parents|parent]] entropy with respect to each other is significantly less than 1.00 .

[[Applications|application]] may place an upper limit on the level of inbreeding permitted by [[inputs|co-parent]] to the [[conceptional function|meiosis]].

The opposite of inbred is [[outbred]].
The state of a [[cTag]] in relation to a [[culture]], such that [[familiarity]] exists between them. Its opposite is [[exogenous]].
[[Ingendex.com|http://ingendex.com]] is the name of an [[application]] designed by [[Andrew Henderson]]. 
Written mainly in Javascript and distributed under an open source license, its purpose is to demonstrate some of the capabilities of the [[Akinity]] system.
[[etym|http://en.wiktionary.org/wiki/intercourse]] 

[[discourse]] is a near synonym for [[intercourse]]. The former being more specific; involving just two [[agents|agent]] - usually [[getter]] and [[giver]].

[[intercourse]] is concerned with the social nature of information exchange involving [[akin]] or [[conception]]. 
[[Intercourse|intercourse]] is responsible for dissemination by [[giver]] of published [[cTags|cTag]], and for [[selection|selection]] by [[getter]] through subscription to published information. 
[[subjects|subject]] to [[intercourse]] are controlled by [[agents|agent]], each of which has associated [[culture(s)|culture]]. 

Intercourse can be thought of as a :
*__process__ of exchanging [[cTag]] information between parties using [[akin]] or [[conception]]. 
:“they frequently engaged in deep, mutually enriching [[intercourse]] / [[discourse]].”
*__forum__ of information exchange
:“The new information spread rapidly through [[the Intercourse|the_Intercourse]].”

;Exclusion
By definition an exchange of information which does not involve [[akin]] or [[conception]] is not [[intercourse]]. 
For instance if a [[cTag]] is published, subscribed and [[duplicated|duplicate]], but the [[cTag]] is neither compared (akin) nor re-combined (conception) with a [[getter's|getter]] [[culture]] then [[intercourse]] has not taken place.

;Transaction Flow
It is not specified which transactions are required for [[intercourse]].
*Minimally, [[intercourse]] could be one [[binding]] passed in one direction and [[compared|akin]] to one [[cTag]] in the getter's [[culture]].
*Maximally, [[intercourse]] could be mutual [[conceptional|conception]] replication of each subject's entire [[culture]].
A suggested practice is for [[intercourse]] to take the form of a series of two-way exchanges; each comprising several [[cTag]] transactions. In the course of an exchange, getter may make an informative return transaction as a [[cTag]] to [[giver]]. Such an Ack is to acknowledge receipt and also to extend (for giver's immediate benefit) the information previously given. Such mutually enriching exchange is likely both to increase the [[fitness]] of each subject's [[culture]] and to improve the [[effectiveness|coherence]] of [[the Intercourse|the_Intercourse]] as a whole.
There are no 'sexes' in [[Akinity]]. 
Any [[cTag]] is apt to perform [[meiosis]] with any other.
Kin is a relation between [[cTags|cTag]] through which [[akin]] can work. Of the three participants in [[meiosis]]: x, y, z such that:
:  x [[♥|meiosis]] y = z
z.kin.x = true
x.kin.z = true
z.kin.y = true
y.kin.z = true
x.kin.y = [[false|co-parent]]
y.kin.x = [[false|co-parent]]

It also applies to more distant relations than solely to  participants in a single instance of [[meiosis]]. 
Kin is the set-wise union of [[ancestry]] and [[descent]], both of which are defined with the use of a [[TPV|total_perspective_vortex]].

A [[cTag]] is not kin with itself.

[[Lineage|lineage]] is the set of all target [[cTags|cTag]] for which, assuming the existence of a [[TPV|total_perspective_vortex]], a direct [[ancestral|ancestry]] or [[descent]] relation can be traced to the source cTag. Lineage excludes [[kin]] relations that are indirect, such as half-sibling.
A process in [[Akinity]] is lossy if information is destroyed between input and output.
Loss-less processes do not destroy information.
Symbol: ♥   [[U+2665|http://unicode.org/charts/PDF/U2600.pdf]] (resembles a filled heart).

[[Meiosis|meiosis]] is the special case of [[conception]] which is not [[synthesis]].
This function is included in the formal [[specification|http://akinity.info/specification#meiosis]] of [[Akinity]]. It is the principle means of generating low entropy in the system and therefore its most significant algorithm.

Meiosis takes [[contents|~cTag.contents]] and [[offset|~cTag.offset]] of two [[cTag]] [[parents|parent]] as its input and produces one [[meiotic cTag]] [[child]] as its output. 
Conventially [[X-parent]] is shown to the left of the [[Y-parent]], separated by a heart symbol.
:[[Z|child]] = [[X|X-parent]]  [[♥|meiosis]] [[Y|Y-parent]] 

;Initialisation
After performing any required [[breadth-steps]] and [[depth-steps]], [[meiosis]] selects a [[polarity]] of [[Y-parent]] in order to maximise the number of bits in common between both [[parents|parent]]. 

;Primary Objective 
The primary objective of [[meiosis]] is to maximise [[akin]] from the [[child]] to each of its two [[parents|parent]] [[equally|equity]].
||[[position|pos]]#|''0''|''1''|''2''|''3''|
|X Parent|''X''|0|0|1|1|
|Y Parent|''Y''|0|1|0|1|
|Child|''Z''|0|0|0|1|

In this example, the four possible permutations of two bits are shown at four sequential [[positions|pos]] in a tiny [[cTag]] fragment starting at [[position|pos]]#0. Although this fragment is tiny and has virtually no statistical significance, it is nonetheless logically representative of a much larger sample where statistical significance would apply in force.

X and Y are [[outbred]] since their [[similarity]] to each other is exactly 2/4 and their [[entropy|akin]] is 1.
Disregarding [[reversal]], Z has [[similarity]] 3/4 to each of X and Y. 
The primary objective can generally be satisfied at around 75% [[similarity]] to each of its [[outbred]] [[parents|parent]]. If parents are [[inbred]] then greater than 75% [[similarity]] can be achieved. 

;Secondary Objective
The secondary objective of [[meiosis]] is to minimise [[decay|signal_decay]] of [[similarity]] to entire non-parental [[ancestry]]. 
If it weren't for the Secondary Objective, [[meiosis]] would be a simple function. It could 
* assign Z = (X=Y). As in the example pos# 0; pos# 3, to achieve 100% [[similarity]] for 50% of the sample. 
* for the remaining 50% of the sample, spread the remaining [[similarity]] [[equally|equity]] between each [[parent]]. As in the example [[position|pos]]# 1; [[position|pos]]# 2. To achieve 50% [[similarity]] score for 50% of the sample.
Thus giving 75% [[similarity]] score over both halves of the sample. 

If it weren't for lack of [[total perspective|total_perspective]] the Secondary Objective would be straightforward. The [[meiosis]] algorithm would be able to look up the entire [[ancestry]] of each [[parent]]and spread the remaining [[similarity]] using a pro rata formula. Given lack of [[total perspective|total_perspective]], however, the Secondary Objective is a bit more problematic. 
[[Meiosis|meiosis]] [[definitively|definitive]] knows the following. It is able make acceptable inferences about [[ancestors|ancestry]] from this knowledge alone : 
# all [[contents|cTag.contents]] and [[offsets|cTag.offset]] of both [[parental|parent]] [[cTags|cTag]] is avaiable to [[meiosis]].
# the fact that [[meiosis]] alone was used to get from every [[actual|total_perspective]] [[ancestor|ancestry]] down to the two [[parents|parent]] is definitively known.
# the [[meiosis]] algorithm is fully specified and deterministic. This allows inferences to be drawn about assumed [[meiotic activity|meiosis]] in the past.

;Signal Decay
If [[meiosis]] is to minimise [[loss|signal_decay]] of [[similarity]] through successive generations (and thereby preserve the power of [[akin]]), then it needs to do its best to minimise [[signal decay|signal_decay]] by avoiding excess signal loss situations like the one highlighted at pos#173 in the following example. 
||pos#|''172''|''173''|||''172''|''173''|||''172''|''173''|
|X Parent|''XX''|0|@@1@@||''XY''|0|@@1@@||''X''|0|0|
|Y Parent|''YX''|0|@@0@@||''YY''|0|@@1@@||''Y''|0|1|
|Child|''X''|0|0||''Y''|0|1||''Z''|0|<<gradient vert #ffffff #ffdddd #ff8888>>0>>|
Three separate [[meiosis]] events are tabulated horizontally. Crucially the third, current, instance of [[meiosis]] does not have access to data for [[ancestors|ancestry]] involved in the previous two.
XX represents a past generation of  Z's [[ancestor|ancestry]] (two generations, in this case exclusively down the [[X-parent]] line). 
The current instance of [[meiosis]], which is required to [[conceive|conception]] [[child]] Z from [[parents|parent]] [[X|X-parent]] and [[Y|Y-parent]], is presumed to not have access to data of XX, nor to any of the other second generation [[ancestors|ancestry]].

Despite that 3/4 of its [[non-parental|parent]] [[ancestry]] values for [[position|pos]]#173  = one (yellow), for the current instance of [[meiosis]] Z=X♥Y, there was no apparent preference for zero or one, given only the known [[X-parent]] and [[Y-parent]] data. An arbitrary and, in this case, sub-optimal decision was made to set [[position|pos]]#173 = 0 (red). Having the [[total perspective|total_perspective]] of a sample document, we realise this was a poor choice, since [[position|pos]]173 yields only 2/6 for all [[ancestor's|ancestry]] [[similarity]] to Z.
If not addressed, this excess signal loss problem would in a few generations greatly reduce [[similarity]] and thereby render [[akin]] ineffective. 

;Offset
The [[offset|cTag.offset]] component of [[cTag structure]] is designed to address the excess signal loss problem. Using Offsets, [[signal_decay]] can approach the theoretical minimum, thereby bestowing [[akin]] with optimum power. 

;Finalisation
The final stage of [[meiosis]] is to select the [[polarity]] of [[child]] to minimise the number of bits in common between child and both parents (as were originally given as input).
[[meiotic cTag]] is a [[cTag]] which, assuming the existence of a [[TPV|total_perspective_vortex]], was produced by [[meiosis]] and is therefore not a [[synthetic_cTag]].

The [[synthetic flag|cTag.synthetic_flag]] is indicative of whether a [[cTag]] was generated by [[meiosis]] or [[synthesis]], however it is not definitive.

[[Method of Synthesis (MoS)|method_of_synthesis]] is the part of the specification of [[Akinity]] that specifies how to [[synthesise|synthesis]] a target [[synthetic_cTag]] from a [[organelle]]. 

In principle ~MoS could be reversible or one-way. If not one-way then an [[agent]] would need to maintain a set of [[organelles|organelle]] (say a natural language word list) as [[synthetic cTags|synthetic_cTag]] in its own [[culture]]. The [[agent]] could then benefit from [[akin]] in the normal way, by de-referencing the [[organelle]] from the [[synthetic_cTag]], by looking-up the [[binding]] in its [[culture]].

The [[version|~cTag.version]] of target [[cTag]] governs which algorithm is applicable to [[~MoS|method_of_synthesis]] for a particular instance of [[synthesis]].
For instance, the [[Akinity]] version 0.1 specifies ~MoS to be [[SHA-256|https://datatracker.ietf.org/ipr/858/]], a one-way hashing algorithm.





[[Selection|selection]] is the action of a [[subject]] to judiciously improve the [[fitness]] of a [[culture]]. 
In toto, [[natural selection|natural_selection]] is the means for all [[subjects|subject]] to improve information throughout [[the Intercourse|the_Intercourse]] by their individual use of [[selection]].
[[organelle]] is required  input to [[synthesis]]. 

Organelle would usually be atomic data having some meaning to the relevant [[applications|application]]. 
Examples might include a natural language tag; person's name; URI; ~MD5 hash of a document; IP address; GUID.

Organelle data may optionally be maintained in a [[cTag]] using either a descriptive name or a URI field. 

In [[meiosis]] [[organelle]] data from two [[parents|parent]] cannot both be preserved into the same field of the child. Typically, one parent is selected to preserve its [[organelle]] data into the [[next generation|child]]. By convention, this would be the [[Y-parent]]. Unless the default would be over-ridden in the [[application]], in which case [[X-parent]]'s [[organelle]], nothing or a user specified value might be used instead.

There is no requirement in the [[specification|Akinity]] that a value purporting to be [[organelle]] should actually have been used to [[synthesise|synthesis]] the [[cTag]] or any of its [[ancestors|ancestry]].
[[outbred]] describes a set of two or more [[cTags|cTag]], where it is not the case that their [[similarity]]  to each other is large enough to indicate a [[subjectively defined|subjective]] likelihood of a [[meiotic|meiosis]] coherence between some of them.

Except where otherwise stated, calculations such as [[generational_distance]] assume parents to be outbred.

The opposite of outbred is [[inbred]].
A [[parent]] is the immediate, first generation [[conceptional|conception]] [[antescedant|ancestry]] of a [[child]]. Depending on circumstances, correct usage of the term may rely upon the existence of a [[TPV|total_perspective_vortex]].

A parent must be either [[X-parent]] or [[Y-parent]].
[[perspective]] is the totality of inferred information, whether [[certain|certainty]] or [[uncertain|uncertainty]], that is available to a [[subject]].
The principle of [[reversal]] specifies that every [[cTag.contents]] has exactly two [[polarities|polarity]], which are each others'  two's complement

|''[[position|pos]]#''|''0''|''1''|''2''|''3''|
||''0''|0|1|1|
||''1''|1|0|0|

In this example, of a microscopic [[cTag]] ([[cTag.breadth]] = 2), both [[polarities|polarity]] of a [[cTag|cTag.contents]] are shown. They may be labeled [[polarity]].0 and [[polarity]].1. according their respective value at the first [[position|pos]].

[[Applications|application]] of [[Akinity]] maintain high entropy at all [[position|pos]] in a [[culture]] by means of [[meiosis]]'s use of [[reversal]] to control the polarity of the resulting [[child]].
Each [[cTag]] comprises 2^^[[breadth|cTag.breadth]]^^ separate objects, which can be referenced individually by means of a sequential index. [[Pos|pos]] is essentially the index of an array of objects. Each object having two components:
:[[contents|cTag.contents]] - a boolean value
:[[offset|cTag.offset]] - an integer value
Although [[position|pos]] are indexed sequentially, each[[position|pos]]is independent from its neighbours. In just the same way as a [[Bernoulli process|http://en.wikipedia.org/wiki/Bernoulli_process]] comprises many independent [[trials|http://en.wikipedia.org/wiki/Bernoulli_trial]]. There is nothing special about any particular pos, including those at the head and tail of the index. Nor is there any systematic significance to any particular combination of [[position|pos]] or sequence of values, including the sequence in which the index arbitrarily assigns them. Though the [[position|pos]] sequence is arbitrary, it is arbitrary in a consistent way across the whole of [[the Intercourse|the_Intercourse]]. 
Every [[position|pos]] in a [[cTag]] is independent from every other[[position|pos]]in that cTag. But every [[position|pos]] #273, for example, has a (potential) [[kin]] relation with every other [[cTag]] at [[position|pos]] #273. Therefore, a [[cTag]] must preserve its [[position|pos]] sequence.
The following properties pertain to the calculus of [[Akinity]] :
*[[symmetry]]
*[[equity]]
*[[reflexivity]]
*[[transitivity]]
*[[euclidianness]]
*[[uncertainty]]

The following properties do not pertain to the calculus of [[Akinity]] :
*[[total_perspective]]
*[[certainty]]
*[[identity]]
[[akinity.org]] provides a [[reference implementation|reference_implementation]] in support of the published specification [[here|ingendex.com]]. The reference [[application]] is open source.

[[akinity.org]] also provides a comprehensive set of samples of reference test results for [[akin]], [[meiosis]] and [[synthesis]]. 
[[Reflexivity|reflexivity]] is a principle of [[Akinity]] such that [[akin]] of a [[cTag]] to itself = 0 [[conceptional generations|generational_distance]].
:A [[☯|akin]] A  = 0
Note: reflexivity is not equivalent to [[certainty]]. Though [[generational_distance]] is infinitessimal, there is a statistical possibility that a pair of [[cTags|cTag]] having the same contents yet are not [[conception]] related.
[[Relatedness|relatedness]] is the condition of two [[cTags|cTag]] such that, given [[total_perspective]], they have a [[definitively|definitive]] measurable amount of common [[ancestry]]. 

In the absence of [[total_perspective]], [[akin]] can provide a [[probabilistic|uncertainty]]  approximation of relatedness for any arbitrary pair of [[cTags|cTag]] system-wide. 
[[Reversal|reversal]] is the principle of [[Akinity]] which requires that every [[cTag]] implicitly has exactly two [[polarities|polarity]] which may be used interchangeably during [[intercourse]]. 

The purpose of [[reversal]] is to preserve approximately maximum entropy for values of zero and one at each [[position|pos]] for all [[cTags|cTag]] in a [[culture]]. By extrapolation and because of [[coherence]], maximum [[position|pos]] entropy across the whole [[Akinity]] system is promoted by [[reversal]]. 
This is important because, to take an extreme example, all [[cTags|cTag]] having the same value at a given [[position|pos]] would provide no extra information and effectively would remove that [[position|pos]] from any value that [[akin]] may bring. Without [[reversal]] there would be a tendency for values at a [[position|pos]] to become the same.

For any [[cTag]], take the two's compliment of the [[content|cTag.contents]] value at every [[position|pos]] to get that cTag's alternate-[[polarity]]. [[offset|cTag.offset]] values are not affected by reversal.

[[akin]] must take [[reversal]] into account when calculating the [[probability|uncertainty]] of [[generational_distance]]. There are exactly twice as many opportunities for [[similarity]], therefore [[akin]] should be more [[uncertain|uncertainty]] (than if no reversal) when it reports the [[probability|uncertainty]] of a particular [[distance|generational_distance]].

Essentially, [[reversal]] indicates that we are working on only one side of the Binomial distribution curve, which has been folded in the centre, hence doubling the value along the chart's X axis.
Although reversal somewhat diminishes the discriminatory power of [[akin]], it does so to a degree that is tolerable. The cost of [[reversal]] is one bit. 
[[Selection|selection]] is the process by which an [[agent]] identifies suitable input(s) to [[conception]].
Selection may be an automatic or manual process.
An example of selection is the [[Mate Select|http://akinity.info/MateSelect.html]] algorithm.
[[signal decay|signal_decay]] is the theoretical rate at which information is destroyed between generations of [[descent]] where all [[ancestors|ancestry]] have maximum entropy to each other.

[[Akin|akin]] uses this rate as the basis for its calculation for the [[probability|uncertainty]] of a given [[generational_distance]] between an arbitrary pair of [[cTags|cTag]].

[img[Signal Decay |img/signaldecay.jpg]]
The chart shows the theoretical rate of signal decay against expected variance for three different variants of [[cTag.breadth]]. 
At Akinity(8) bit length = 256, we expect random variance 8 / 256 or less with probability = 0.5. Thus [[akin]] can report with slightly greater than 0.5 confidence, that under Akinity(8) [[conception]] at 6.0 generations [[generational_distance]] is more predictive of the observed [[similarity]] than is the base case (random variance). Conversely, with exactly 0.5 confidence, [[akin]] could report slightly more than 6.0 generations of [[generational_distance]].

The above calculations exclude the supplemental decay due to [[reversal]].
[[Similarity|similarity]] is the observed number of bits in common or different (whichever is greater) between a source / target pair of [[cTags|cTag]], after aligning the cTags' respective [[breadths|~cTag.breadth]] using a [[breadth-step|breadth-steps]] where appropriate.

Because of the principle of [[reversal]], [[similarity]] is always greater or equal to (adjusted) [[breadth|cTag.breadth]] / 2.
Step-in is a [[lossy]] transformation which is used to prepare input to [[conception]] under the following circumstances:
Required [[breadth|~cTag.breadth]] of [[child]] is less than :
:[[X-parent]] [[breadth|cTag.breadth]] or 
:[[Y-parent]] [[breadth|cTag.breadth]] or
: both [[X-parent]] [[breadth|cTag.breadth]] and [[Y-parent]] [[breadth|cTag.breadth]].
Optionally, a [[breadth|cTag.breadth]] for the child may be given as a parameter to [[conception]] so as to require [[step-in]].

Each [[Parent|parent]] whose [[breadth|cTag.breadth]] is greater than the required [[breadth|cTag.breadth]] of [[child]] must be transformed according to the rule:
: - Calculate the number of [[breadth|cTag.breadth]] steps in, according to the reduction in [[breadth|cTag.breadth]] between parent and child.  
:: Z.breadth(9) = [[♥|conception]](X.breadth(12), Y.breadth(8))
:: In this example, Step-in is required only between X to Z. The quantity of Step-in p = 12 - 9 = 3.
: - For each [[position|pos]]# in Z.contents, aggregate 2^^p^^ bits from the appropriate parent, starting from 2^^z.pos#^^ 
: - Aggregation is done according to the difference of the sums of [[cTag.offset]] for each binary value (one or zero). Taking the previous example, we aggregate 8 bits of X into one bit of Z.
|X offset pos#|bit value|depth value|
|0|0|4|
|1|1|5|
|2|0|5|
|3|0|0|
|4|1|5|
|5|1|9|
|6|0|1|
|7|0|3|

|bit value|aggregate|depth value|
|0|4+5+0+1+3|13|
|1|5+5+9|19|
Despite having fewer occurences, Bit Value one has greater depth than zero. So the aggregated X-parent Bit Value for this Position is one and its depth value is 6.
|bit value|aggregate|depth value|
|1|19-13|6|
This is the value that will be used by conception.
Step-out is a [[loss-less|lossy]] transformation which is used to prepare input to [[conception]] under the following circumstances:
Required [[breadth|~cTag.breadth]] of [[child]] is greater than :
:[[X-parent]] [[breadth|cTag.breadth]] or 
:[[Y-parent]] [[breadth|cTag.breadth]] or
: both [[X-parent]] [[breadth|cTag.breadth]] and [[Y-parent]] breadth
Optionally, a [[breadth|cTag.breadth]] for the child may be given as a parameter to [[conception]] so as to require [[step-out]].

Each [[parent]] whose [[breadth|cTag.breadth]] is less than the required [[breadth|cTag.breadth]] of [[child]] must be transformed according to the rule:
: - Calculate the number of [[breadth|cTag.breadth]] steps in, according to the increase in [[breadth|cTag.breadth]] between parent and child.  
:: Z.breadth(12) = [[♥|conception]](X.breadth(9), Y.breadth(14))
:: In this example, Step-out is required only between X to Z. The quantity of Step-out p = 12 - 9 = 3.
: - For each [[position|pos]] in X-parent, project 2^^p^^ bits in the child, starting from 2^^x.pos#^^ 
: - Projection is done 


according to the difference of the sums of [[cTag.offset]] for each binary value (one or zero). Taking the previous example, we aggregate 8 bits of X into one bit of Z.
|X offset pos#|bit value|depth.offset|
|0|0|4|
|1|1|5|
|2|0|5|
|3|0|0|
|4|1|5|
|5|1|9|
|6|0|1|
|7|0|3|

|bit value|aggregate|depth value|
|0|4+5+0+1+3|13|
|1|5+5+9|19|
Despite having fewer occurences, Bit Value one has greater depth than zero. So the aggregated X-parent Bit Value for this Position is one and its depth value is 6.
|bit value|aggregate|depth value|
|1|19-13|6|
This is the value that will be used by conception.
A [[subject]] (of [[Akinity]]) is a participant in [[intercourse]]. 
An [[agent]] is an [[application]] process which, while participating in [[intercourse]] becomes a [[subject]] of [[Akinity]]. 

The definition of [[subject]] is like that of an agent. The difference is that [[subject]] is fully defined by its participation in [[intercourse]] whereas [[agent]] is the operational process of an [[application]] which might be capable of several things, one of which must be [[intercourse]]. 
Every [[subject]] is an [[agent]] of some [[application]]. 
An [[agent]] is a [[subject]] only at the moment of its participation in [[intercourse]]. 

Judgments made by a [[subject]] are termed [[subjective]].

Functions of [[Akinity]] produce [[deterministic]] results. However, two [[subjects|subject]] can reasonably be expected to sometimes make different judgments over the same [[probabilistic|uncertainty]] results. (Operational objectives of agents' applications not always being identical). 
Therefore [[agents|agent]] of [[applications|application]] are said to make [[subjective]] judgments over the results that [[Akinity]] presents them with.

Furthermore, because [[cultures|culture]] tend not to be identical, it is usually not the case that inputs to functions of [[Akinity]] would be repeated consistently by a pair of [[agents|agent]]. Even though they may be working with very consistent data. Thus input provided to [[akin]] and [[conception]] is [[subjective]].

In respect of Akinity's lack of [[total_perspective]], there is no single [[perspective]] which could be said to be objective. Rather, any perspectives must be [[subjective]].

Finally, the lack of standardised signs (at least for [[meiotic cTags|meiotic cTag]]) is one of Akinity's defining characteristics and it is another reason why the system is said to be [[subjective]].
[[Symmetry|symmetry]] is a [[property|properties]] of [[Akinity]] which permits [[akin]] to have exactly the same power for a pair of [[cTags|cTag]], regardless of the order in which they are presented. For instance
:a [[☯|akin]] b = b [[☯|akin]] a
Symmetry is not affected by statistical variation. 

A practical import of symmetry is that it renders insignificant the direction of parent-child relations. Hence the sequence in which [[conception]] occurs is immaterial. 
Therefore [[akin]] graphs are undirected. 
Symbol:  ❊  [[U+274A|http://unicode.org/charts/PDF/U2700.pdf]] (resembles an asterisk).

Synthesis is formally specified [[here|http://akinity.org/specification#synthesis]].

[[Synthesis|synthesis]] is the special case of [[conception]] which is not [[meiosis]]. This function produces output of a [[synthetic cTag|synthetic_cTag]] from a input of single [[organelle]], using the specified [[method of synthesis|method_of_synthesis]].

;Interoperability
Synthesis is a tightly specified function. To assure the properties of [[Akinity]], implementations of [[synthesis]] must follow the specification exactly. 
[[synthetic_cTag]] is a type of [[cTag]]. Any [[cTag]] which is not a [[meiotic cTag]] is a [[synthetic cTag|synthetic_cTag]].

Data available to an [[application]] may have already been [[bound|binding]] to a [[cTag]] or not. [[Synthetic cTags|synthetic_cTag]] are to facilitate [[intercourse]] in the latter case. 

Since it has no [[X-parent]] a [[synthetic cTag|synthetic_cTag]] can only be part of a [[culture]] as [[founder]]. 
It is not necessarily stored by an [[application]] as it can be readily [[synthesised|synthesis]] from [[organelle]].

;Boot-strap
The purpose of [[synthetic cTags|synthetic_cTag]] is to allow data, lacking a [[binding]] to a [[meiotic cTag]], to nevertheless benefit from [[intercourse]]. As such, we can consider [[synthesis]] as a boot-strapping function. For instance, if two [[subjects|subject]] each created a [[synthetic cTag|synthetic_cTag]] from the same [[organelle]] (say a word in English), they could each use [[akin]] to that [[cTagged item's|cTagged_item]] [[synthetic cTag|synthetic_cTag]], despite absence of any [[meiotic cTag]] or any previous [[intercourse]] involving the [[organelle]]. These two subjects might also use [[conception]] to expand the [[depth|cTag.depth]] of the resulting [[children|child]] in their respective [[cultures|culture]] so that eventual [[intercourse]] involving a [[descendant|descent]] of one [[synthetic cTag|synthetic_cTag]], should allow [akin] to produce a signal to its counterpart [[synthetic cTag|synthetic_cTag]].

;Uses
There might be many reasons for some [[application]] data to lack a [[meiotic cTag]]. For instance :
* the [[application]] may not technically support creation of meiotic cTagging.
* the owner of the data might not have agreed to allow meiotic cTagging.
* [[Agent|agent]] trying to tag it does not have authority to update the data.
* a [[meiotic cTag]] had previously existed, but has since been deleted
* [[Akinity]] is running in read-only mode ([[akin]] only)

;Drawbacks
Synthetic cTags are relatively easy to get established, but their drawbacks are:
*cannot be updated, so no opportunity to improve the [[cTag]] through [[conception]].
*in some cases, there is a risk of the introduction of a disconnect between [[synthetic cTag|synthetic_cTag]] and the [[data it cTags|cTagged_item]]. 
;Ancestry
Lacking [[ancestry]], a [[synthetic cTag|synthetic_cTag]] can be [[akin]] only to its [[descendants|descent]].
;cTag Structure
Excepting structural components relating to its [[parents|parent]], a [[synthetic cTag|synthetic_cTag]] has the same components as a [[meiotic cTag]] in its [[cTag's structure|cTag structure]]. 
;Production
It differs from a [[meiotic cTag]] only in that [[synthetic cTag|synthetic_cTag]] was not produced using [[meiosis]]. Rather, an alternative [[method_of_synthesis]] such as a hash-function was used. 

If the relationship between a [[cTagged item|cTagged_item]] and [[synthetic cTag|synthetic_cTag]] becomes corrupted somehow due to a change to the information (e.g. update ~URIs by [[application's|application]] site administrator) then this is to be treated as though a new piece of information had been created. Akin will unfortunately be broken between cTags created against old and new [[synthetic cTag|synthetic_cTag]]. Parties who aware of this change may update their meiotic cTags accordingly.



A means of classifyng data by applying one or more items of [[mark-up|http://en.wikipedia.org/wiki/Tag_(metadata)]].
[[cTags|cTag]] are tags, but tags are not necessarily cTags.
[[the Intercourse|the_Intercourse]] (proper noun) is a [[notional|total_perspective]] entity, which maximally describes all [[cultures|culture]] and all [[intercourse]] between them.

c.f. the Internet, the Web, the grapevine.
[[Total perspective|total_perspective]] (syn: objectivity) is the [[property|properties]] of a system which allows the (hypothetical) possibility of an [[agent]] to have a complete view over all information currently held therein, as well as historical state and any other information which may be pertinent. 

[[Total perspective|total_perspective]] is therefore both exhaustive and [[definitive]]. Encompassing all possible [[perspectives|perspective]], it is neither [[subjective]] nor [[uncertain|uncertainty]].

Excluding the trivial case of a single [[culture]] system, [[Akinity]] explicitly lacks the [[property|properties]] of total perspective. [[Akinity]] is an open system: each [[agent]]'s [[culture]] will contain information which is, in general, [[partly over-lapping and partly exclusive|coherence]] vis-a-vis information in other agents' cultures. The extent to which cultures share common information is their [[coherence]].

In certain circumstances, such as during system specification and validation, [[Akinity]] may be notionally constrained in such a way as to become a system having the [[property|properties]] of [[total perspective|total_perspective]]. 
In such circumstances, an [[agent]] is conjectured to have omniscience through the existence of a [[total perspective vortex|total_perspective_vortex]]. For instance, this glossary makes use such a device.
A notional device for conferring [[objectivity|total_perspective]] upon an [[agent]].

This phrase was chosen (in preference to the original omniscience) in the hope that Douglas Adams's wit might highlight the apparent absurdity of trying to create an open, massive, universal information system which does not explicitly deal with the (non)existence of a [[TPV|total_perspective_vortex]]. 
[[Transitivity|transitivity]] is a [[property|properties]] of [[Akinity]] which permits [[akin]] to have power through successive generations of [[conception]]. 

Although [[signal decay|signal_decay]] determines that the power of [[akin]] declines through successive generations, transitivity determines that approximately the expected amount of signal is carried from one generation to a subsequent generation through the intermediate generation(s).
For instance :
:b = a [[♥|conception]] p and c = (b[[♥|conception]]q) 
::implies a [[☯|akin]]c ≈ (a☯b) + (b☯c)

Transitivity is affected by statistical variation in the input [[cTags|cTag]]. 
[[uncertainty]] is a relative quantity, while [[certainty]] is absolute. They are not therefore not inverse concepts.
[[total_perspective|total_perspective]] is the [[property|properties]] which, through its absence, produces uncertainty in [[Akinity]].

Below, a glossary describing decreasing [[uncertainty]]; tending toward the infinitesimal, though never achieving absolute [[certainty]].

||from|to|
|possible|1|10|
|plausible|10|100|
|not unlikely|100|1,000|
|likely|1,000|10,000|
|highly likely|10,000|100,000|
|most likely|100,000|1,000,000|
|probable|1,000,000|10,000,000|
|highly probable|1.00E+007|1.00E+008|
|most probable|1.00E+008|1.00E+009|
|pretty certain|1.00E+010|1.00E+021|
|almost certain|1.00E+021|1.00E+052|
|indubitable|1.00E+052|1.00E+100|
|astronomical|1.00E+100| |
|infinitesimally small|[[duplicate]] [[cTag]] of any valid [[breadth|~cTag.breadth]]| |
(inverse scale)

;Example
Statement:    "It is most likely that cTag.A has at most [[generational_distance]] D to cTag.B".
Translation:   There is less than 0.00001probability that the observed [[similarity]] between cTag.A and cTag.B indicating [[generational_distance]] D or less between the two ctags is due to chance (rather than to [[meiosis]]). 
A version of [[Akinity]] is the version of the [[Akinity]] specification.