Dose Escalation Designs in Universal Context of Titration for Oncology Drug Development
  • TeX 86.3%
  • Prolog 12.4%
  • Julia 0.9%
  • Haskell 0.2%
  • Emacs Lisp 0.1%
Find a file
2026-03-07 06:24:57 -05:00
ACT2025 Set hyperref's bookmarksdepth=2 2025-07-19 09:27:56 -04:00
engines Port module(run33) 2026-01-30 06:23:04 -05:00
idiomatic Toward an idiomatic Prolog AST for JSON 2025-09-15 14:33:42 -04:00
Talks Add generated 'xotally' animation 2025-12-16 06:46:18 -05:00
vignettes Drop 'extraction' of now-unused enst operators 2025-09-17 20:24:44 -04:00
.gitattributes Try linguist-vendored to exclude tex from lang %'s 2025-01-28 07:13:08 -05:00
.gitignore Tidy up 'git status' 2025-12-30 06:52:57 -05:00
apicesD2.json Write (D=2) lamps diagram to JSON 2025-09-15 14:39:05 -04:00
assocutils.pl Drop 2 superfluous use_module/1 declarations 2025-12-28 03:28:21 -05:00
axes.pl predicates range_(width|height)_ticks_(x|y)axis/4 2025-10-04 04:43:36 -04:00
beams3D.json Tidy up 'git status' 2025-12-30 06:52:57 -05:00
beamsD2.json Write tighter beamsD2.json; dead-query removal 2025-10-20 10:34:38 -04:00
Callaway+Butler-2016-Nature.png Meetup 2024 presentation slides, initial draft 2024-10-30 19:44:57 -04:00
cascade.pl include/1 the prologue qua file, not library 2026-01-23 07:10:11 -05:00
catform.pdf Update draft monograph and checklist 2025-02-13 07:51:34 -05:00
catform.pl Expunge upper-Galois stuff now lacking motivation 2025-06-25 03:44:21 -04:00
catform.tex Correct typos in subcategory inclusion 2025-02-26 00:21:49 -05:00
catgen.pl Prological Investigations 2024-09-09 04:05:53 -04:00
CatThy.bib Carry over Kan-extension motivation 2025-02-28 05:41:44 -05:00
Clertant+O'Quigley-2017.png Meetup 2024 presentation slides, initial draft 2024-10-30 19:44:57 -04:00
combinators.pl Expand prologue; nix many lists|pairs dependencies 2025-12-29 06:56:55 -05:00
comprehension.pl Try latest include/1 implementation 2026-03-07 06:24:57 -05:00
dcgextra.pl Factor dif:dif/2 into Scryer's prologue 2025-12-31 04:41:08 -05:00
Dixon-Mood-Fig1.png Meetup 2024 presentation slides, initial draft 2024-10-30 19:44:57 -04:00
Dixon-Mood-sensitivity-def.png Meetup 2024 presentation slides, initial draft 2024-10-30 19:44:57 -04:00
DTAT.bib Add vol, no., pp. to Teddy's paper 2025-03-06 12:42:33 -05:00
enst.pl include/1 the prologue qua file, not library 2026-01-23 07:10:11 -05:00
Executable-Spec-arXiv-2024.png Meetup 2024 presentation slides, initial draft 2024-10-30 19:44:57 -04:00
fairenum.pl include/1 the prologue qua file, not library 2026-01-23 07:10:11 -05:00
Frankel20-Table1.png Meetup 2024 presentation slides, initial draft 2024-10-30 19:44:57 -04:00
freebase.pl include/1 the prologue qua file, not library 2026-01-23 07:10:11 -05:00
FSM2.dot 3+3 FSM for D=2 2025-05-14 20:41:44 -04:00
FSM2c.dot Bold FSM paths to worst/best states 2025-11-06 04:11:29 -05:00
gen_reduce.pl Toward 'less-impure' copied-solutions predicates? 2024-12-24 03:09:42 -05:00
hasse2r1.pdf Bump Hasse diagrams 2025-02-20 06:22:05 -05:00
Hasse2r1.pdf All 42 accessible tallies in D=2 Hasse diagrams 2025-02-27 01:01:00 -05:00
hasse2r2.pdf Bump Hasse diagrams 2025-02-20 06:22:05 -05:00
Hasse2r2.pdf All 42 accessible tallies in D=2 Hasse diagrams 2025-02-27 01:01:00 -05:00
hasse3.png Update Hasse diagrams, now taller and less wide 2024-12-21 06:48:59 -05:00
hasse3.ps Update Hasse diagrams, now taller and less wide 2024-12-21 06:48:59 -05:00
hasse3.svg Refresh Hasse diagrams, D=2,3 2024-10-30 19:41:22 -04:00
HasseD2.dot All 42 accessible tallies in D=2 Hasse diagrams 2025-02-27 01:01:00 -05:00
HasseD2pair.dot Exposition of fibermaxs cascade for Ran F 2025-06-20 05:05:26 -04:00
HasseD2r1.dot Tidy git status 2025-05-27 09:12:20 -04:00
HasseD2r1.svg Presentation slide deck 2025-05-26 05:08:39 -04:00
HasseD2r2.dot Tidy git status 2025-05-27 09:12:20 -04:00
HasseD2r2.svg Presentation slide deck 2025-05-26 05:08:39 -04:00
HasseD3.dot Update Hasse diagrams, now taller and less wide 2024-12-21 06:48:59 -05:00
IMG_0328.JPG Add 3 untracked images 2025-08-04 14:36:37 -04:00
improveEdgeLabels.gvpr Tidy up 'git status' 2025-12-30 06:52:57 -05:00
interpD2.json Interpolation of 2004 tallies 2026-02-26 07:24:08 -05:00
intlist.pl include/1 the prologue qua file, not library 2026-01-23 07:10:11 -05:00
jlamps.jl Interpolation of 2004 tallies 2026-02-26 07:24:08 -05:00
lamps.pl 3-D solution inspired by Justus Klann 2025-11-24 07:00:08 -05:00
lampsD2.json Add dose recs to JSON file 2025-09-20 15:00:53 -04:00
LICENSE Initial commit 2024-09-08 16:25:36 +00:00
listextra.pl Add seq//1, seqq//1 & ...//0 to Prologue 2025-12-27 04:50:21 -05:00
Makefile Add target 'modeps' to Makefile 2025-12-28 03:06:33 -05:00
matrices.pl Trim 4 basic modules pursuant to Prologue 2025-12-26 07:43:55 -05:00
Meetup24.html Discuss _rectification_ 2024-11-04 07:06:24 -05:00
Meetup24.qmd Discuss _rectification_ 2024-11-04 07:06:24 -05:00
modeps.dot Port module(run33) 2026-01-30 06:23:04 -05:00
modeps.pdf Port module(run33) 2026-01-30 06:23:04 -05:00
modeps.pl Port module(run33) 2026-01-30 06:23:04 -05:00
modignore.pl Port modules 'fairenum' and 'tally' 2026-01-09 07:10:41 -05:00
modularity.pl Update dependency graph for include/1-ed prologue 2026-01-23 07:42:53 -05:00
nodesD2.json Full JSON data needed for lamps viz 2025-09-18 21:17:36 -04:00
observable.pl Design considerations for SVG-via-Observable 2025-09-11 07:12:48 -04:00
pairutils.pl include/1 the prologue qua file, not library 2026-01-23 07:10:11 -05:00
perf.pl Tabulate perf:time/1 instrument data 2025-12-06 06:59:58 -05:00
perforated.pl Tabulate perf:time/1 instrument data 2025-12-06 06:59:58 -05:00
po.pl Factor out now-unused '≤' to a module 2024-12-27 06:13:01 -05:00
preccheck.R More realistic MTD distribution; detail results 2025-03-05 22:36:02 -05:00
probdist.pl Nix dependencies on lists & lambda libraries 2025-12-29 07:38:27 -05:00
prologue.pl include/1 the prologue qua file, not library 2026-01-23 07:10:11 -05:00
queueing.pl include/1 the prologue qua file, not library 2026-01-23 07:10:11 -05:00
rcpearl.pl Port module(rcpearl) 2026-01-24 12:38:38 -05:00
README.md Update README 2025-11-25 05:33:30 -05:00
rectify.pl Find lower-Galois IE after correcting impure =/<$ 2024-09-18 16:26:54 -04:00
run33.pl Port module(run33) 2026-01-30 06:23:04 -05:00
scatter.pl Incorporate _sorting_ into pairutils:keyed/3 2025-10-28 03:24:13 -04:00
sextants.pl A first cut at text scatterplots 2025-10-04 06:24:51 -04:00
Skolnik08-Table1.png Meetup 2024 presentation slides, initial draft 2024-10-30 19:44:57 -04:00
SM2.dot Condense arrows using set-product notation 2024-11-17 07:18:23 -05:00
statediagrams.pl 3+3 FSM for D=2 2025-05-14 20:41:44 -04:00
stringutils.pl Factor dif:dif/2 into Scryer's prologue 2025-12-31 04:41:08 -05:00
tally.pl include/1 the prologue qua file, not library 2026-01-23 07:10:11 -05:00
tallyworm.el Annotate a few sexp evaluations 2025-02-19 08:16:55 -05:00
TeGenero.png Meetup 2024 presentation slides, initial draft 2024-10-30 19:44:57 -04:00
ticks.pl range_n_ticks/3 ~~> range_ticks/2; repair exports 2025-10-04 04:03:55 -04:00
xtraD2.json Add meets bottom-up, avoiding dups 2026-02-26 05:50:16 -05:00

DEDUCTION

Dose Escalation Designs in Universal Context of Titration for Oncology Drug Development

Introduction

The category-theoretic perspective can function as a simplifying abstraction, isolating propositions that hold for formal reasons from those whose proofs require techniques particular to a given mathematical discipline.

— Emily Riehl, Preface to 'Category Theory in Context' (2016)

This project aims to formulate dose-escalation trial protocols using ideas from Applied Category Theory (ACT), carrying out the attendant computations on a 'workbench' developed using the monotonic subset of Prolog, including CLP(ℤ). In accordance with the quotation above, this categorial formulation serves to exhibit certain properties of dose-escalation designs as deducible from more basic premises than we may otherwise appreciate. Working in Prolog promotes a clarification of thought and elegance of expression that harmonize perfectly with the intellectual spirit of categorial investigations such as these. (For an extensive discussion of the advantages of Prolog in medical and other such safety-critical applications, and our rationale for selecting Scryer Prolog in particular, please see Section 2 of [1].)

Background

DEDUCTION represents the latest—and I now think, conclusive—development within the Dose Titration Algorithm Tuning (DTAT) research programme, which has been ongoing now for nearly a decade. The full bibliography found here links to 'lay explainers', short videos or online apps accompanying most of the scholarly outputs, reflecting the DTAT programme's long commitment to lay outreach. Although this outreach has been pursued with cancer patient advocates most especially in mind, these resources may prove useful even to experts in adjacent fields, since DTAT draws upon ideas from several disciplines not often brought under one roof.

Process

We are 'working with the garage door open', carrying out the DEDUCTION effort in this public repository.

A Mathematical Milestone

The work was presented in a June 2 talk at the Eighth International Conference on Applied Category Theory (ACT2025), and a thoroughly revised version of the submitted conference paper is now posted on the arXiv.

The preprint demonstrates a procedure for naturally converting any given dose-escalation design (defined over a fixed set of doses determined ex ante) to achieve rolling enrollment [3], while accounting for the possibility of pending toxicity assessments [4] and allowing for discretionary dose-titration [5].

This demonstrates the real possibility of achieving the "flexible and adaptive designs" called for by the Methodology for the Development of Innovative Cancer Therapies (MDICT) Taskforce [6].

Our Emphasis Evolves

The main thrust of the effort now shifts to finding applications through outreach to oncology trialists, and to building a robust software suite for the design and analysis of dose-titration trials.

Ongoing and Pending Technical Work

  • Contribute probability distributions from Scryer fork via PR
  • Investigate useful visualizations for high-dimensional tallies
  • Visualize the dynamical operation of extended trial designs
  • Apply the technique of [2] to 'modern' dose-escalation trial designs such as BOIN and CRM
  • Accelerate dose-titration protocol simulations

References

  1. Norris DC, Triska M. An Executable Specification of Oncology Dose-Escalation Protocols with Prolog. February 13, 2024. https://arxiv.org/abs/2402.08334

  2. Norris DC. Dose-Escalation Trial Protocols that Extend Naturally to Admit Titration. July 2, 2025. https://arXiv.org/abs/2507.01370

  3. Skolnik JM, Barrett JS, Jayaraman B, Patel D, Adamson PC. Shortening the Timeline of Pediatric Phase I Trials: The Rolling Six Design. Journal of Clinical Oncology. 2008;26(2):190-195. doi:10.1200/JCO.2007.12.7712

  4. Frankel PH, Chung V, Tuscano J, et al. Model of a Queuing Approach for Patient Accrual in Phase 1 Oncology Studies. JAMA Network Open. 2020;3(5):e204787-e204787. doi:10.1001/jamanetworkopen.2020.4787

  5. Norris DC. Ethical Review and Methodologic Innovation in Phase 1 Cancer Trials. JAMA Pediatrics. 2019;173(6):609. doi:10.1001/jamapediatrics.2019.0811

  6. Araujo D, Greystoke A, Bates S, et al. Oncology phase I trial design and conduct: time for a change - MDICT Guidelines 2022. Annals of Oncology. 2023;34(1):48-60. doi:10.1016/j.annonc.2022.09.158