Xanadex


Proof of Transclusion

CVID CID CCID Date Created Date Edited
5d549b4b13777bacbf31be8658fc2aa09413a43e47d10853546a213840092a60 4d3125f58d83c21575c95fb3affb0fa0088718712905097806dcf17d6a780092 73178ab148bc55dc410a3a2f5291ef5610f3fb62cd4d1a1b7959c34c7356d065 08 Apr 2026 20:57:19 GMT 08 Apr 2026 20:57:59 GMT

Introduction

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.

Background

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.

Preliminaries

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.

Method

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:

  1. whole text of the cited document
  2. text preceding the quote of the cited document
  3. quote text from cited document
  4. text succeeding the quote of the cited document
  5. whole text of the citing document
  6. text preceding the quote of the citing document
  7. text succeeding the quote of the citing document

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.

Works Cited

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