I believe the concept of two-pointers in a list goes back to the works of Newell and Simon at Carnegie Institute of Technology or Rand Corp. in 1957. This is probably the first time the term "lists" as a data-structure description is used. This is a bit before LISP was invented.
Newell, Allen; Simon, H.A., The logic theory machine -- A complex information processing system.
"There should be no restriction on the nature of the items in a list. These might range from a single symbol or number to an arbitrary list. Thus it should be possible to make lists, lists of lists and lists of lists of lists, etc."
"Lists are the general units of information in the memory. A list consists of an ordered set of items of information. Any item on a list may be either a list or an element, and these are fundamentally different types of units as we shall see later (the difference arises mostly from the fact that an element is contained in a single JOHNNIAC word) . Since a list is itself an ordered set of items which may themselves he lists, we obtain most of the flexibility we desire in the memory structure. There is no limit to the complexity of the structures that can be built up--provided that one knows how to use them - except the total memory space available. Also, there is no restriction to the number of lists on which an item can appear. For example, if we have a list of items, we can construct one or more indexes (lists) on each of which an arbitrary subset of the items of the original list appears.
With each item located in a given list we may associate descriptive information without disturbing the general structure of the lists. That is, each item can'have a list of description elements associated with it. As many descriptions may be put on the list as desired, and, since they are self-identifying (by means of the description names they contain) they may be put on in any order. Descriptions are associated with the item on a given list; hence, if an item is on several lists, it can have several distinct description lists."
Page -4- - IPL-V Coding Sheet
I've table-merged it with the data from the patent image.
Name | SYMB | LINK IPL-V - Instruction Structure List / Coding Sheet
L1 | 9-1 | 100
100 | S4 | 101
101 | S5 | 0
9-1 | 0 | 200
200 | A1 | 201
201 | V1 | 202
202 | A2 | 203
203 | V2 | 0
---------------------------- The following items are from the patent image.
PtrAux | Item | PtrNext Using their field names.
112 | 102 | 114
110 | 104 | 106
104 | 106 | 108
..down | 108 | 110
108 | 110 | ..down Down = downwards arrow, indicating more items.
Somehow, magically, it's the same structure.
This might constitute Prior Art for the Claim "two pointers next/aux".
The implementation has additional fields PQ next to Name, Symb, Link, but they are only used as indicators or command flags, not used as pointers. This is not applicable for the "tertiary aux pointer" claim.
The claim of "tertiary aux pointers" is not covered here.
Does something like this exist in LISP?