Temporary scientific engineer / Software engineering / Algorithmics, Computer Algebra, Verification / Graduate degree or equivalent F/M
Contract type : Fixed-term contract
Level of qualifications required : Graduate degree or equivalent
Fonction : Temporary scientific engineer
About the research centre or Inria department
The Inria research centre in Lyon (previously the Lyon branch of the Inria centre in Grenoble) is the 9th Inria research centre, formally created in December 2021. It brings together approximately 270 people (including 110 Inria employees) in 15 research teams and research support services.
Its staff are distributed at this stage on 2 campuses: in Villeurbanne La Doua (Centre / INSA Lyon / UCBL) on the one hand, and Lyon Gerland (ENS de Lyon) on the other. A third site should be opened in the course of 2022. The teams are mainly hosted with our partners. The centre's teams work closely with research and higher education institutions (ENS de Lyon, UCBL, INSA Lyon, etc.), their laboratories, and other research organisations in Lyon (CNRS, INRAE, competitiveness clusters, etc.), but also with Lyon and regional economic players. Many international collaborations are also underway.
The Lyon centre is active in the fields of software, distributed and high-performance computing, embedded systems, quantum computing and privacy in the digital world, but also in digital health and computational biology.
Context
One of the long-term goals of the ERC project Fresco is to turn the Rocq proof assistant into a competitive tool for doing verified computer algebra. In particular, this requires the ability to implement and formally verify well-known libraries such as GMP or BLAS/LAPACK. A significant milestone was the design of Capla, a safe low-level imperative language suitable for implementing such algorithms, as well as the development of a formally verified compiler for this language.
It is now possible to write a library using Capla, to compile it to machine code, to verify its correctness using Rocq, and to invoke its functions from C code. But to turn the Rocq proof assistant into a usable computer algebra system, one should also be able to define such Capla functions inside a Rocq script. Moreover, the user experience should be improved by having better runtime error reporting as well as debugging features.
This position will take place at the LIP Computer Science laboratory of ÉNS Lyon, in the Inria team Pascaline, which aims at advancing the fields of computer arithmetic and computer algebra, with a strong accent on formal verification. The position will last up to 24 months or until the end of the Fresco project (currently set to end on 2026-10-31), whichever comes first. The starting date is negotiable.
Assignment
The overall objective of this engineer position is to improve the user experience of the Capla language and its compiler, especially when used in conjunction with the Rocq proof assistant, and to exercise it on several use cases.
The recruited person will work in collaboration with Guillaume Melquiond, a senior researcher at Inria.
Main activities
The first objective of this engineer position is to make it possible to write, compile, and dynamically link a Capla function, without having to leave the confines of the proof assistant. This requires to tackle several challenges:
- devise a quotation mechanism to embed some Capla code inside a Rocq proof script;
- implement some Rocq commands to invoke the Capla compiler to produce both the compiled code (which is then to be linked it into the proof system) and the Rocq term that represents the source Capla function.
The second objective is to make the use of Capla more effective, both inside and outside the proof system:
- offer some syntax highlighting and improve error reporting;
- offer some basic debugging facilities, especially inside the proof system;
- reduce the distance that might exist between the Capla code, as written by the user, and its abstract syntax tree inside the proof system, as seen by the user when doing a proof.
Finally, to exercise the language and the environment around it, the third objective is to implement some Capla libraries (but not formally prove them, unless the engineer comes with a suitable background) that would be useful in the setting of a computer algebra system. Some potential targets are
- arbitrary precision integer arithmetic,
- algebraic structures over specific finite fields,
- preconditioners/oracles for reliable numerical computations.
Skills
Knowledge of the OCaml programming language or a related language is mandatory. Knowledge of the inner workings of compilers is recommended. Knowledge of the Rocq proof assistant is not required, but it would be very valuable. Knowledge of French is not required.
Benefits package
- Subsidized meals
- Partial reimbursement of public transport costs
- Leave: 7 weeks of annual leave + 10 extra days off due to RTT (statutory reduction in working hours) + possibility of exceptional leave (sick children, moving home, etc.)
- Possibility of teleworking (90 days / year) and flexible organization of working hours
- Professional equipment available (videoconferencing, loan of computer equipment, etc.)
- Social, cultural and sports events and activities
- Access to vocational training
- Complementary health insurance under conditions
Remuneration
From 2,692 € (depending on experience and qualifications).
General Information
- Theme/Domain :
Algorithmics, Computer Algebra and Cryptology
Software engineering (BAP E) - Town/city : Lyon
- Inria Center : Centre Inria de Lyon
- Starting date : 2025-11-01
- Duration of contract : 12 months
- Deadline to apply : 2025-08-10
Warning : you must enter your e-mail address in order to save your application to Inria. Applications must be submitted online on the Inria website. Processing of applications sent from other channels is not guaranteed.
Instruction to apply
Applications must be submitted online on the Inria website.
Processing of applications sent by other channels is not guaranteed.
Defence Security :
This position is likely to be situated in a restricted area (ZRR), as defined in Decree No. 2011-1425 relating to the protection of national scientific and technical potential (PPST).Authorisation to enter an area is granted by the director of the unit, following a favourable Ministerial decision, as defined in the decree of 3 July 2012 relating to the PPST. An unfavourable Ministerial decision in respect of a position situated in a ZRR would result in the cancellation of the appointment.
Recruitment Policy :
As part of its diversity policy, all Inria positions are accessible to people with disabilities.
Contacts
- Inria Team : PASCALINE
-
Recruiter :
Melquiond Guillaume / Guillaume.Melquiond@inria.fr
The keys to success
The candidate should enjoy programming and be ready to dive into the inner workings of compilers and proof assistants.
About Inria
Inria is the French national research institute dedicated to digital science and technology. It employs 2,600 people. Its 200 agile project teams, generally run jointly with academic partners, include more than 3,500 scientists and engineers working to meet the challenges of digital technology, often at the interface with other disciplines. The Institute also employs numerous talents in over forty different professions. 900 research support staff contribute to the preparation and development of scientific and entrepreneurial projects that have a worldwide impact.