The specification of a general purpose New Testament data type is based on an abstraction from the following concrete example:
A New Testament is a data structure designed to be concatenated to a preexisting Old Testament, the latter of which must contain an initial segment of data type Torah.
Following that, the general NT data structure is designed to be an abstraction of the following concrete collection:
---
Gospel According to Matthew
Gospel According to Mark
Gospel According to Luke
Gospel According to John
Acts of the Apostles
Letter of Paul to the Romans
Letters of Paul to the Corinthians
I Corinthians
II Corinthians
Letter of Paul to the Galatians
Letter of Paul to the Ephesians
Letter of Paul to the Philippians
Letter of Paul to the Colossians
Letters of Paul to the Thessalonians
I Thessalonians
II Thessalonians
Letters of Paul to Timothy
I Timothy
II Timothy
Letter of Paul to Titus
Letter of Paul to Philemon
Letter to the Hebrews
Letter of James
Letters of Peter
I Peter
II Peter
Letters of John
I John
II John
III John
Letter of Jude
Revelation to John
---
The general structure of the above is clearly the following:
```
NT = (G+)(A)(L+)(R)
```
where
G = Gospels, different tellings of the same story.
A = Acts of the people who were originally there.
L = Letters written to various people and groups.
R = Revelation or apocalypse narrative.
Some implementations define the NT data structure using a slightly different regex, such as:
```
NT = (G{4})(A)(L+)(R)
```
In which exactly 4 Gospels are required, or:
```
NT = (G+)(A)(L1+)(L2+)(R)
```
In which the "Letters" section is separated into:
L1 = Letters written by people who weren't there. (The generalized Pauline epistles.)
L2 = Letters written by people who may have been there, or who claim to be people who were there.