24FreelanceFreelance marketplace that never sleeps
Active

Formal verification in Coq and Gallina: machine-checked proofs

102 views#2339
CategoryHandmade
Listing period12 daysuntil 21.11.2026
Posted23.08.2026
Views1025 in 14 days

About the service

I am a proof engineer and specialize in the Coq interactive theorem proving system and its Gallina specification language. My task is to remove the phrase "probably works" from your code and replace it with a proof that the machine itself checks. Given an algorithm, protocol or mathematical statement, I write its specification in Gallina, then interactively build a proof that the implementation matches it, covering all cases without exception. Nothing is taken on faith: every lemma is derived and rechecked by the coqc compiler at every build. Usually I am contacted to formally prove invariants of data structures, justify termination and functional correctness of recursive functions, mechanize theorems from combinatorics, algebra or logic, and model finite automata for concurrency and safety properties. I am fluent in the Ltac and Ltac2 tactic languages, the SSReflect discipline along with the Mathematical Components library, dependent types, well-founded recursion and inductive predicates. When proofs converge, I use Coq's extraction mechanism to get clean executable code in OCaml that carries the proof guarantees into production; when needed, I prepare extraction to Haskell or Scheme. You receive documented Coq development that compiles without admit and unnecessary axioms, a readable specification, extracted and tested modules and a short report on what the theorems promise and where their boundaries lie. I have mechanized compiler passes, verified arithmetic and cryptographic primitives and restored proof scripts broken by library updates. If you need not just a test sample but confidence, I will give you a result that is true by construction and remains true as the code evolves.

SafeDeal Escrow Protection

Payora SafeDeal Astrina Shield Verified

Funds are locked in Payora USDT (TRC-20) escrow and released to the freelancer only after delivery approval.

Freelancer contacts
E-mailShow
24
Twenty · tip

Before you order

  • Look through the freelancer’s portfolio.
  • Describe your task and ask for a price and deadline.
  • Check reviews from other clients.
  • Or post a project and compare several offers.
Same category

Similar services

All services in the category
Good to know
How do I order this service?

Write to the freelancer using the form on this page: describe the task, the deadline and the result you need.

How do I check the freelancer?

Open the profile: rating, portfolio and reviews from other clients show experience with tasks like yours.

Olena T.Handmade
Contact

What this page answers