| CVID | CID | CCID | Date Created | Date Edited |
|---|---|---|---|---|
| 5d549b4b13777bacbf31be8658fc2aa09413a43e47d10853546a213840092a60⧉ | 4d3125f58d83c21575c95fb3affb0fa0088718712905097806dcf17d6a780092⧉ | 73178ab148bc55dc410a3a2f5291ef5610f3fb62cd4d1a1b7959c34c7356d065⧉ | 08 Apr 2026 20:57:19 GMT | 08 Apr 2026 20:57:59 GMT |
Transclusion was posed by Ted Nelson in 1980 in his book Literary Machines. It was key to his vision of an internet but was one of the things that slipped through.
It can be demonstrated that any amount of parts of a whole bitstream, segmented anywhere, are in fact parts of this whole by combining these parts in a homeomorphic hash. Hash the whole, then hash the parts in order, and if the hash of the parts matches the hash of the whole then they are the same.
We recognize that a quote has a part of the text that precedes it and part of the text that succeeds it, and in between those is the quote itself. It is not enough that it is an inclusion, it also has to be in sequential order, or a sequential inclusion. Since we will be referring to this concept a lot for the rest of this, we will term this a sequinclusion. A sequinclusion is verified by hashing the hashes of the parts in order and comparing the result to the hash of the whole. If they are the same, then it is valid.
Proof of transclusion is predicated upon identifying source documents by their content hashes in a CAN, which is closer to Ted Nelson’s original vision of the internet. It does not work without this. Proof of Transclusion is as follows: at each document’s creation, hash the text content according to the homeomorphic hash and make it queryable by that hash. When a document wants to transclude from an older document, it will contain in metadata (data beyond the data - stored separately from the data, not as inline attributes like how HTML/XML does it) the following seven hashes, all of the same length:
Since the quote texts are expected to be identical, their hashes will be identical, so the metadata can de-dupe and just store one. (This is beneficial if data storage and transmission are expected to be more expensive than computation, which it currently is). A transclusion between two documents is a pair of sequinclusions. To verify the transclusion, verify the sequinclusion for the cited document (parts 1 vs. parts 2, 3, and 4), and the sequinclusion for the citing document (parts 5 vs. 6, 3, and 7). If both sequinclusions are valid, then the transclusion is valid. This works because if the quotes are the same, then the hashes for the quoted parts will be the same, and so using the same hash when constructing the segmented parts of the sequinclusion will work both times for a valid transclusion.
Transclusions do not have to stop at two sequinclusions, it can be more than that. This only practically works if you store the indexes of your quotes alongside your transclusion metadata, otherwise you have to scan your documents in quadratic time in its document’s length to find the quote.
Bromberg, L., Shpilrain, V. & Vdovina, A. Navigating in the Cayley graph of and applications to hashing. Semigroup Forum 94, 314–324 (2017). https://doi.org/10.1007/s00233-015-9766-5