Preparing for a PhD

  • formal verification
  • logic
  • functional programming

Roberto Fiorino

Computer Science graduate from the University of Naples Federico II, heading towards a PhD. I work where a claim can be checked rather than believed.

Read my thesis See projects Get in touch

1 -- whoami

About

I hold a Bachelor’s degree in Computer Science from the University of Naples Federico II. I am drawn to the part of the field where mathematics and software meet: logic, formal verification, and the functional programming that makes both tractable. I like small, precise tools, and programs whose correctness you can actually reason about.

My Bachelor’s thesis came out of a research internship on the Hypatia project, supervised by Prof. Fabio Mogavero: it covers Aristarchus, a verifier written in Haskell, which I still work on.

I started programming out of curiosity and stayed for the proofs. Next, I would like to continue with a PhD, on research that combines theory with rigorous implementation.

2 -- interests

What I think about

  • Formal verification

    Model checking and proof checking: showing that a system meets its specification, instead of hoping it does.

  • Logic in computer science

    Proof systems, derivations, and the small trusted kernels that decide whether a proof is really a proof.

  • Functional programming

    Haskell, types as specifications, and programs whose correctness you can reason about on paper.

  • Languages & computation

    Theory of computation and programming languages: what can be computed, and how to say it precisely.

3 -- work

Selected work

Web Technologies course

Road2Unina

A full-stack Wikipedia race

Start from a random Wikipedia article and reach Federico II in as few clicks as possible.

  • Angular
  • TypeScript
  • Express
  • Sequelize

private repo

Software Engineering course

BugBoard

An issue tracker for small teams

Issue tracking for small teams: a REST back end, a JavaFX desktop client and a layered architecture.

  • Spring Boot
  • JavaFX
  • PostgreSQL

private repo

Operating Systems Lab

Forza 4 online

Multiplayer Connect Four over TCP

A multithreaded C server over TCP sockets, a Swing client, and a single docker compose up.

  • C
  • pthreads
  • Java Swing
  • Docker

private repo

All projects, in more detail

4 -- thesis

Bachelor’s thesis

University of Naples Federico II AristarchusDesign and Implementation of a Verifier for the Sunya Dialect of Hypatia Roberto Fiorino Academic Year 2025–2026

Bachelor's thesis in Computer Science

Aristarchus: Design and Implementation of a Verifier for the Sunya Dialect of Hypatia

University
University of Naples Federico II
Status
Defended, September 2026
Length
116 pages

Interactive theorem provers entrust the correctness of proofs to a verification kernel, which is itself a program and can itself be wrong — as a recent soundness bug in the Lean 4 kernel showed. Hypatia responds by making explicit the path from the text a user writes to the object the system actually checks, through a hierarchy of dialects linked by translations towards the level below.

The thesis covers Aristarchus, the component responsible for verification, for the Sunya dialect alone and in the Unica mode where every construct admits a single interpretation: a two-phase verifier written in Haskell that first builds a syntax tree from a source whose syntax is context-dependent, then traverses it to check the vocabulary, the phrase and schema declarations, the proof steps and the dependencies between them — cycles and conjectural results included — ending in a verdict with its diagnostics.

Read the thesis PDF · 116 pp.

5 -- path

Path & toolbox

  1. Next

    PhD

    Research that combines theory with rigorous implementation.

  2. 2026

    BSc in Computer Science

    University of Naples Federico II

    Thesis on Aristarchus, supervised by Prof. Fabio Mogavero.

  3. 2026

    Research internship

    Hypatia project, Federico II

    Design and implementation of the parser and verifier for the Sunya dialect.

toolbox :: Map Kind [Tool]

languages

  • Haskell
  • C
  • C++
  • Java
  • TypeScript
  • Python
  • PHP

frameworks

  • Angular
  • Node.js
  • Express
  • Spring Boot

data & tooling

  • PostgreSQL
  • MySQL
  • SQLite
  • Docker
  • Git
  • Linux
  • LaTeX

Mathematics is the art of giving the same name to different things.

— Henri Poincaré

In mathematics you don’t understand things. You just get used to them.

— John von Neumann

6 -- contact

Get in touch

Always happy to talk about logic, verification and functional programming — or about PhD opportunities.