A matrix can be written in the following formats:
- (a,b)(c,d)⋯(y,z)
- ((a,b),(c,d),⋯,(y,z))
A term in Buchholz's ordinal notation can be written as follows:
- 0
- A principal term as: D_u a; D may be replaced with p, _ is optional, and the space is also optional if not immediately followed by a number.
- A sum as: (a0,⋯,ak)
- 1 as abbreviation of D_0 0, natural number n for (1,⋯,1) with n 1s, and w or ω for D_0 1
- Ω_n for positive integer n as abbreviation of D_n 0 and Ω with no number immediately following it for Ω_1; Ω may be replaced with W and _ is optional.
- ⊕ (or +) and × (or *) for the corresponding operations; × taking precedence over ⊕ and both operations break out of D_u a
- () to group a term, to write terms such as D_0 (D_1 0,D_1 0) as D_0(Ω×2)
Write
i,
j,
k,
m,
n for integers;
a=
a0;⋯;al for a sequence of integers;
M for a matrix;
Q=
Q0;⋯;Qk for a sequence of matrices;
t for a term in Buchholz's ordinal notation;
s,
c,
b for strings.
Each line in the input is written as
operation var1;var2;⋯,
operation case insensitive. Following operations are implemented:
- Parent M;i;j - Outputs the integer k such that (i,k)<NextM(i,j)
- Parent M;i;j;k - Outputs whether (i,k)<NextM(i,j)
- Ancestor M;i;j - Outputs the integers k0>k1>⋯ such that (i,kl)≤M(i,j)
- Ancestor M;i;j;k - Outputs whether (i,k)≤M(i,j)
- Pred M - Outputs Pred(M)
- Derp M - Outputs Derp(M)
- [] M;a - Outputs M[a0];⋯;[al]
- IncrFirst M - Outputs IncrFirst(M)
- Classify M - Outputs M is in which of ZTPS, PTPS, or MTPS
- P M - Outputs P(M)
- Unadmit M;j - Outputs whether M unadmits j
- Admit M;j - Outputs whether M admits j
- Admitted M - Outputs ℕM
- Adm M;j - Outputs AdmM(j)
- Marked M;m - Outputs whether (M,m)∈TPSMarked
- MarkedReduced M;m - Outputs whether (M,m)∈RTPSMarked
- IdxSum Q - Outputs IdxSum(Q)
- TrMax M - Outputs TrMax(M)
- Br M - Outputs Br(M)
- FirstNodes M - Outputs FirstNodes(M)
- Joints M - Outputs Joints(M)
- Red M - Outputs Red(M)
- Reduced M - Outputs whether M∈RTPS
- Standard M - Outputs whether M∈STPS
- Standard M;k - Outputs whether M∈SkTPS
- Descending Q - Outputs whether Q is descending
- Classify t - Outputs t is in which of {0}, PTB, or MTB
- Standard t - Outputs whether t∈OTB
- [] t;a - Outputs t[a0];⋯;[al]
- P t - Outputs P(t)
- RightNodes t - Outputs RightNodes(t)
- scb t;c - Outputs s and b such that (s,c,b) is a scb decomposition of t and if they are either type 0 scb decomposition, type 1 scb decomposition, or neither, if one exists
- scb t;s;c;b - Outputs whether (s,c,b) is the scb decomposition of t and if they are either type 0 scb decomposition, type 1 scb decomposition, or neither
- scb? t - Outputs t is either type 0 scb decomposable, type 1 scb decomposable, or neither
- scb! t - Outputs s, c, and b such that (s,c,b) is either the type 0 or the type 1 scb decomposition of t and which, if one exists
- Marked t;c - Outputs whether (t,c)∈TBMarked
- Trans M - Outputs Trans(M)
- Mark M;m - Outputs Mark(M,m)
- TransType M - Outputs M satisfies which of "M∈RTPS and j1=0", "M∈RTPS and M∈PTPS and j1>0 and condition [(I)-(VI)]", "M∈RTPS and M∈MTPS and j1>0", and "not M∈RTPS"
- NextAdm M;i;j - Outputs the integer k such that (i,k)<NextAdmM(i,j)
- NextAdm M;i;j;k - Outputs whether (i,k)<NextAdmM(i,j)
- RightAnces M - Outputs RightAnces(M)
- StronglyPrincipal M - Outputs whether M∈DTPS
- LastStep M - Outputs LastStep(M)
- Trans-1 t - Outputs Trans-1(t)
- ? M - Outputs M
- ? t - Outputs t
- ! M - Outputs Trans(M)
- ! t - Outputs Trans-1(t)