UTSA Mathematics · 18 September 2026

What we can compute,
what we cannot

— and the wisdom to know the difference.

Eduardo Dueñez · Mathematics, UTSA

Slides, notebooks and papers live at this link — it is the same page you are looking at.
supernumero.us/files/talks/2026-utsa-what-we-can-compute/

Tap anywhere to move forward.

The question

Two ways for an answer to be out of reach

Too tangled

The object is so complex that no finite description pins it down. In the combinatorial form: every pattern of answers is realized — the independence property, infinite VC dimension.

Then no procedure learns it, and none ever will, at any sample size.

Irreducibly random

Nothing is tangled at all — the answer simply is not determined. The next coin flip. When this atom decays. Thursday's weather.

Here the concept can be perfectly learnable while each instance stays unpredictable.

My work is about where that line falls — and it turns out the line is not a line. It is a ladder.

Joint with J. Iovino (UTSA) and collaborators in Toronto; and, on the applied side, with the research team at Gibran.AI in London.

Too tangled · what is being computed

Tie the weights, and let the depth run

A deep network is a finite stack of layers. Make every layer the same map — tie the weights — and you can ask what happens as the stack grows without end.

The limit, when it exists, is a deep equilibrium: a function of the input alone, with no layer count left in it. That phantom layer on the right is not computed by any finite network. It is the asymptotic output state.

Theorem (Alva, Dueñez, Iovino, Walton.
Deep equilibria: existence and computability.)

If the layer states space L of a neural network and a weight-tied layer map T : L → L both satisfy suitable compactness hypotheses (L is realcompact and T is confined), then the successively iterated deep computations (T, T², T³, …, Tⁿ, …) admit an idempotent deep equilibrium (DEq) T̃ : L → L.

Proof: Via the Ellis–Numakura lemma.

The ability to explicitly compute the DEq is the focus of the paper.

2

Push it right and watch the stack run off the edge toward the limit.

Visualizing an “infinitely deep” neural network.

Too tangled · the picture

A computation of infinite depth

Newton's method on f(z) = z³ − 1. Colour each starting point by where it stands after n = 1 steps.

polynomial g

Drag the white dot: its orbit is drawn step by step.

Scroll to zoom anywhere in the picture; 0 returns to this view.

Too tangled · on the real line

Building a function too wild to be a limit

Take fk,m(x) = cos2k(m! πx). Every one of these is continuous.

Raise the power k: the curve collapses onto spikes. What survives is gm, equal to 1 exactly where m!x is an integer. Each gm is a pointwise limit of continuous functions — Baire class 1.

Now raise m. Since m! eventually clears any denominator, the spikes fill in every rational, and the limit is Dirichlet's function — 1 on the rationals, 0 elsewhere. Nowhere continuous, so by Baire's theorem it is not Baire-1.

6
2

The wisdom to know the difference

Tameness as a visual patten: the NIP property and finiteness of VC-dimension

Fix five test points x₁ < x₂ < … < x₅ on a line. A class of yes / no questions about a point gives, for each question, a column of five answers —yes (green), no (red). The whole of tameness is about which bit-patterns the class can produce.

The class of intervals: each question is “is x inside [a, b]?” —one interval, one column. Since an interval that holds x₁ and x₃ must also hold everything between them, is impossible. Every column is one solid block. VC dimension 2.

The class of all possible patterns of five yes / no answers —every one of the 2⁵ columns, so nothing is forbidden, including . Any finite set of points is shattered: VC dimension infinite, and nothing here is learnable at any sample size.

One class is missing a column; the other is missing nothing. That is the entire difference between what you can learn and what you cannot.

The wisdom to know the difference

Tameness comes in degrees

tame = Baire-1 = NIP = finite VC = PAC-learnable

Topology, model theory and statistical learning drew the same line independently. But above that line there is structure.

Definition & Theorem
2 (Dueñez, Iovino, Matos-Wiederhold, Salvetti, Tall)
Complexity of Deep Computations via Topology of Function Spaces.)

For a countable family Δ of deep computations satisfying NIP, say Δ is NIP1, NIP2 or NIP3 according as the closure of Δ̃ is first countable, hereditarily separable, or metrizable. Then

NIP3 ⟹ NIP2 ⟹ NIP1 ⟹ NIP,

and every implication is strict — each level is separated by an explicit finite-precision computation.

The levels are so far purely topological; whether a combinatorial characterization exists is open. Underneath sits Todorčević's trichotomy for Rosenthal compacta — forcing and infinite Ramsey theory, still no elementary proof; Argyros–Dodos–Kanellopoulos refine it to seven minimal prototypes. Complexity of deep computations via topology of function spaces, arXiv:2601.00528.

Irreducibly random

Learnable, and still unpredictable

A biased coin, p unknown. Two different questions: what is p, and what is the next flip.

The first is learnable to any precision you like. On the second you will be wrong min(p, 1−p) of the time — and no quantity of data moves that, ever.

So "not computable" and "not predictable" are different failures. The theory extends: if the family is NIP, every deep computation is universally Monte Carlo computable — measurable against every reasonable measure. Whether the converse holds is open.

0.70

Quantum computation is, loosely, statistical classical computation — which is where this theory is headed next. (That framing is mine; it is not yet in the papers.)

Both plotted as error. Cyan: how far the estimate of p is from the truth — it goes to zero. Magenta: how often the next flip is called wrong — it stops at min(p, 1−p) and stays there forever.

The applied thread

We wrote the language; the search wrote the algorithm

Thirteen published decoders for quantum error correction, each hand-designed by an expert over a paper's worth of work. We expressed the primitives they share as 38 typed operations — then evolved new programs in that language. Mutation and crossover. No language model anywhere.

Written by the search


    

Written by hand — BP + Ambiguity Clustering


    

The applied thread

And it reached the published frontier

R5-E058 — more accurate than BP+OSD-CS at 1/22 of its cost.

R5-E059 — grown from random initialization, no expert seeds: more accurate than the strongest decoder on the panel, at indistinguishable cost, while enumerating zero candidate corrections.

12 hours of wall-clock on a 185-node cloud CPU cluster — about 6×10⁷ decoder evaluations. Twelve of sixteen finalists cleared a pre-registered bar on a 200,000-shot hold-out set. Submitted to EQTC 2026; work with Gibran.AI.

Selected rows from the EQTC 2026 abstract. Cost is a machine-independent work proxy, internal to this panel — the margins over BP+AC are inside its resolution.

References

The papers behind the pictures

Theoretical results

Deep equilibria: existence and computability
Alva, Dueñez, Iovino, Walton · arXiv:2409.06064 · to appear in Mathematical Structures in Computer Science
Complexity of deep computations via topology of function spaces
Dueñez, Iovino, Matos-Wiederhold, Salvetti, Tall · arXiv:2601.00528 · preprint

Applied results

Evolving qLDPC decoders
Dueñez, Hernandez Sanchez, Dueñez-Guzmán, Sadedin (Gibran.AI) · Conference papers (EQTC 2026 & NeurIPS 2026 workshops · submitted.)

Talk slides, animations, code —available

supernumero.us/files/talks/2026-utsa-what-we-can-compute/

Appendix — for questions

What a straight line cannot do

Four points, sixteen sign patterns; a line realizes . The ones it misses are what VC dimension measures. Drag the points.

Thomae vs Dirichlet

Thomae's function (1/q at p/q in lowest terms, 0 at irrationals) is Baire-1: continuous at every irrational, discontinuous exactly on a countable — hence meager — set. Dirichlet's indicator of ℚ is nowhere continuous, so by Baire's theorem it cannot be Baire-1. That pair is the tame/wild boundary on the real line.

Where the evolved decoder stops

R5-E059's advantage does not scale indefinitely: past n = 144 its logical error rate per round turns upward, 2.2 → 3.8 × 10⁻⁴, while the Ambiguity-Clustering family keeps descending. Transfer results are labelled preliminary.

Honest status

Deep Equilibria — accepted, to appear in Math. Structures in Computer Science. Complexity of Deep ComputationsarXiv:2601.00528, in preparation. EQTC and the two NeurIPS workshop papers — submitted, non-archival.

Press esc to go back.

What is actually in flight

Deep Equilibria: Existence and Computability accepted
Alva, Dueñez, Iovino, Walton · Mathematical Structures in Computer Science · arXiv:2409.06064
Complexity of Deep Computations via Topology of Function Spaces in preparation
Dueñez, Iovino, Matos-Wiederhold, Salvetti, Tall · arXiv:2601.00528
The No Free Lunch theorem revisited M.S. thesis, in progress
with Kimberly Roe (UTSA) — which structural features permit a partial free lunch
Evolving qLDPC decoders submitted, non-archival
Dueñez, Hernandez Sanchez, Dueñez-Guzmán, Sadedin (Gibran.AI) · EQTC 2026 · two NeurIPS 2026 workshops
Nondefinability of the Spaces of Tsirelson and Schlumprecht in press
Casazza, Dueñez, Iovino · October 2026
Analysis: The Study of Real-Valued and Random-Valued Structures under contract
with Iovino · CRC Press
Teaching that feeds this
MAT 4353/6973 Mathematical Foundations of A.I. — supernumero.us/MathAIspring2026UTSA

Press esc to go back.

Keys

space next · back · 19 jump to a slide

f flip the fractal 100↔101 · 0 reset the fractal view · t elapsed-time HUD

[ ] shrink / grow all type · \ back to 100%

Set this from the back of the room during setup — it is remembered per browser. Do not use the browser's own zoom: below 150% it changes nothing here.

On slide 2: drag the white dot to move z₀, scroll to zoom on the cursor.

a appendix · p projects · ? this · esc close

Console: talk.goto(3), talk.setN(101), talk.flip(true), talk.poly("z3m1"), talk.state

0:00