Research
Here’s a list of things I’ve written for an academic audience. Papers are listed chronologically, oldest to newest.
“If you find any paper below hard to read, write to me [1], as that means the paper is poorly written, not that the result is hard.” – Boris Bukh
[MPW+24] – Cole Mathis, Devansh Patel, Westley Weimer, Stephanie Forrest, Self-organization in computation and chemistry: Return to AlChemy, 2024, Chaos 34 (9), pdf, doi
TLDR: Generate a giant set of expressions in the lambda calculus (a simple functional programming language). Take two out. Compose and reduce (evaluate) them. Return the composed expression and one parent back into the set. Repeat many (~10^8) times. What structures emerge? Are there theoretical implications for certain types of chemistries?
We show that stable structures that are robust to certain types of perturbation emerge, and we show that this system is a simulator for any chemical reaction network (CRN).
[Vim25] – Devansh Vimal, Planarity of Mycielski-like graph expansions, 2025, arXiv preprint, pdf
TLDR (non-math): Charlieplexing is a neat method of reading inputs from a lot of switches using relatively few microcontroller pins. Charlieplexed circuits are not power-efficient by default, but they can be made power-efficient by adding a few interrupt lines. The transformation of an ordinary charlieplex circuit to the power-saving circuit might make the power-saving circuit unroutable on a single-sided PCB (i.e. non-planar). Here, I characterize all charlieplex circuits for which the power-saving circuits are planar. I prove that this is the set of all bipartite cactus graphs.
I discovered this result after trying much too hard to save $1 off of a PCB order by making my PCB single-sided. The PCB was for heartstopper, a tiny mechanical keyboard.
TLDR (math): Let G be a graph, and let S(G) be a transformation of this graph such that for each vertex v of G, there is a vertex v’ connected to v and all neighbors of v. Then S(G) is planar if and only if G is a bipartite cactus.
The transformation S(G) is similar to Mycielski’s operation. Structural graph theory problems like this do not often have a clean characterization, so this is a cute result.
[VMW+25] – Devansh Vimal, Cole Mathis, Westley Weimer, Stephanie Forrest, Prebiotic Functional Programming: Endogenous Selection in an Artifical Chemistry, 2025, ALIFE pdf git
TLDR: A pseudo-follow-up to [MPW+24]. In [MPW+24], the lambda calculus expressions act sort of like organisms, and composition sort of acts like a crossover operator. This structure is all you need for evolution! So, can we add special organisms (carefully constructed combinators) into the system such that we force the evolution of desirable lambda calculus expressions? We show that you can.
[VPS+26] – Devansh Vimal, Garrett Parzych, Olivia M. Smith, Devendra Parkar and Sean Bergen, Joshua J. Daymude, Cole Mathis, assembly-theory: Open, Reproducible Calculation of Assembly Indices, 2026, Journal of Open Source Software, 11(117), 9318 pdf doi git
TLDR: There’s a graph-theoretic measure of molecular complexity called the assembly index of a molecule. It’s this index is shown to be NP-complete for general graphs. We compute it quickly using fast heuristics.
[1] in this case, “me” = me, not Boris