Back to all jobs
Visible on IKONS todayNewPopular

Postdoc Category Theory, Computer Proof Assistants and Computer Algebra Systems

South HollandOn site36 hours/week>12months

Computer proof assistants and computer algebra systems have complementary strengths.

  • A proof assistant checks each step of a mathematical argument against a formal foundation, but is not designed for computation.
  • A computer algebra system computes efficiently with large and intricate algebraic structures, but its results depend on code that has not been formally verified.
  • Category theory is a good place to connect the two.
  • CAP (Categories, Algorithms, Programming) is a software system for computational category theory, implemented in GAP and part of a project.
  • Because it expresses categorical constructions directly as algorithms, it is a suitable target for formalisation.
  • The aim of the project is to bring the two kinds of system together, so that categorical computations can be carried out with the efficiency of a computer algebra system and checked with the guarantees of a proof assistant.

What you do

  • Design and build this connection between a proof assistant — Rocq, Lean or Agda, to be decided at the start of the project — and CAP.
  • The work is partly conceptual and partly practical:
  • Making the categorical doctrines underlying CAP precise enough to formalise.
  • Choosing a formal treatment that is faithful to the constructive content of CAP's algorithms.
  • Implementing the result as documented, openly available software.
  • Publish the results, present them at conferences and workshops.
  • Contribute to the open-source libraries of both projects.
  • There is room to shape the direction of the work according to your own interests and expertise, and to develop your own research agenda alongside it.
  • Contribute to the supervision of BSc and MSc students working on related projects, and possibly some classroom teaching.

Profile

  • Research experience in at least one of: interactive theorem proving/formalisation, computer algebra, or category theory — demonstrated by publications, a thesis, or a substantial software contribution.
  • Demonstrable interest in the other two, and willingness to learn them to working depth.
  • Practical programming ability and comfort working with a substantial existing codebase.
  • Ability to work independently and to collaborate across the maths/CS boundary; good written and spoken English.
  • Experience in, and willingness to contribute to, student supervision and teaching.

Practical

  • The position is based within an academic institution, in the Programming Languages group, Department of Software Technology.
  • In collaboration with another university, with regular exchange between the groups.
  • This connects the researcher to the relevant communities: formalisation and univalent foundations, and computational category theory.

How to apply

View the full assignment text and application details once your tailored application is ready.

Order a tailored application to view the full assignment and application details.

More context, less searching.

You get enough context to judge whether this job is relevant. The full brief, client details and next steps stay available inside the app.