Sélectionner une page
Formations › Langage › Autres langages › Formation Lean : Assistant de preuve

Formation Lean : Assistant de preuve

Niveau confirmé
Catégorie Essential
Formation Lean
Prix 2 290€ HT / personne
3 jours (21 heures)
Labs : Infrastructure DaaS avec Chrome
Cafés et encas offerts en interentreprises
En intra-entreprise pour former votre équipe
Aide au financement 2500€ Bonus Atlas CPF

Présentation

Lean est un langage de programmation fonctionnel et un assistant de preuve permettant de formaliser des propriétés et de vérifier leur démonstration. Avec Lean 4, les développeurs, chercheurs et ingénieurs peuvent construire des preuves formelles dont la validité est contrôlée mécaniquement.

Notre formation Lean vous permettra de maîtriser les fondamentaux de Lean 4 et de comprendre les méthodes utilisées pour transformer un énoncé en spécification formelle puis construire une preuve vérifiable.

Vous apprendrez à manipuler la logique propositionnelle, les quantificateurs, les fonctions, l’induction et les types inductifs. Vous utiliserez également Mathlib pour rechercher et réutiliser des définitions et théorèmes existants.

La formation vous permettra de maîtriser les principales tactiques de preuve et les mécanismes d’automatisation comme simp et aesop, tout en apprenant à diagnostiquer et corriger des preuves incomplètes ou fragiles.

Grâce à un mini-projet, vous mettrez en œuvre un workflow complet de vérification formelle, depuis la formalisation d’une propriété jusqu’à la production d’une preuve robuste, lisible et maintenable.

Comme toutes nos formations, celle-ci vous présentera la dernière version stable de la technologie et ses nouveautés.

 

Objectifs

  • Comprendre le fonctionnement de Lean 4 et les principes de la preuve formelle
  • Formaliser des propositions et construire des preuves avec les principales tactiques Lean
  • Manipuler la logique, les quantificateurs, les fonctions et l’induction
  • Rechercher et réutiliser les théorèmes disponibles dans Mathlib
  • Automatiser, diagnostiquer et fiabiliser les preuves
  • Construire une spécification formelle et produire une preuve vérifiée par Lean

 

Public visé

  • Développeurs et ingénieurs logiciels
  • Ingénieurs en méthodes formelles et vérification logicielle
  • Chercheurs et ingénieurs de recherche
  • Mathématiciens et informaticiens souhaitant utiliser un assistant de preuve

 

Pré-requis

  • Connaissances en programmation et algorithmique
  • Compréhension des notions élémentaires de logique et de raisonnement mathématique
  • Une expérience en programmation fonctionnelle constitue un plus mais n’est pas obligatoire

 

Pré-requis techniques

  • Un ordinateur permettant d’installer Lean 4 et VS Code
  • Une connexion Internet pour installer les dépendances et accéder à Mathlib

Programme de notre formation Lean

 

[Jour 1 – Matin]

Prendre en main Lean 4 et le workflow de preuve

  • Installer Lean 4 et configurer l’environnement avec VS Code et Lake
  • Comprendre le rôle de Lean comme langage fonctionnel et assistant de preuve
  • Manipuler les notions fondamentales : Prop, Type, variables, termes et propositions
  • Comprendre la boucle de preuve : objectifs, hypothèses, tactiques et messages d’erreur
  • Écrire des preuves simples avec by, intro, exact et apply
  • Atelier pratique : configurer un projet Lean 4 et formaliser plusieurs implications élémentaires.

 

[Jour 1 – Après-midi]

Construire et automatiser des preuves en logique propositionnelle

  • Manipuler implications, conjonctions et disjonctions avec constructor, cases, left et right
  • Raisonner avec la négation et la contradiction grâce à by_contra, contradiction et exfalso
  • Manipuler l’égalité avec rfl et effectuer des réécritures avec rw
  • Structurer les démonstrations avec have, les sous-preuves et les lemmes intermédiaires
  • Utiliser simp, simp? et aesop pour automatiser les preuves tout en comprenant leurs limites
  • Atelier pratique : formaliser plusieurs propriétés de logique propositionnelle puis simplifier et fiabiliser leurs preuves.

 

[Jour 2 – Matin]

Manipuler les quantificateurs, fonctions et théorèmes de Mathlib

  • Formaliser des propositions utilisant les quantificateurs ∀ et ∃
  • Construire et extraire des preuves existentielles avec les tactiques adaptées
  • Raisonner sur les fonctions et utiliser l’extensionalité avec funext
  • Formaliser des propriétés simples sur les nombres naturels et autres types fondamentaux
  • Rechercher et réutiliser les définitions et théorèmes disponibles dans Mathlib
  • Atelier pratique : formaliser des énoncés quantifiés et construire leurs preuves en réutilisant les résultats disponibles dans Mathlib.

 

[Jour 2 – Après-midi]

Maîtriser l’induction et construire des preuves robustes

  • Comprendre le principe de l’induction et construire une preuve par induction sur Nat
  • Définir des fonctions récursives et démontrer leurs propriétés
  • Structurer les calculs et transformations successives avec calc
  • Utiliser les tactiques de simplification et de normalisation adaptées au problème
  • Diagnostiquer les preuves incomplètes ou fragiles à partir des objectifs et messages de Lean
  • Atelier pratique : démontrer plusieurs propriétés par induction puis refactorer les preuves afin d’améliorer leur lisibilité et leur robustesse.

 

[Jour 3 – Matin]

Travailler avec les types inductifs, structures et listes

  • Définir et manipuler des types inductifs, leurs constructeurs et leurs différents cas
  • Raisonner par cas et par induction sur des structures de données
  • Manipuler les listes et leurs opérations fondamentales avec List
  • Définir des structures, champs et projections et raisonner sur leurs propriétés
  • Construire des lemmes réutilisables et les intégrer aux mécanismes de simplification
  • Atelier pratique : définir une fonction sur des listes et démontrer plusieurs propriétés concernant son comportement.

 

[Jour 3 – Après-midi]

Mini-projet de vérification formelle avec Lean

  • Transformer une propriété informelle en spécification formelle exploitable par Lean
  • Décomposer le problème en définitions, propositions et lemmes intermédiaires
  • Organiser les fichiers, namespaces, sections et dépendances du projet
  • Choisir entre preuve explicite, réécriture, simplification et automatisation selon le contexte
  • Refactorer et documenter les preuves pour améliorer leur lisibilité, robustesse et maintenabilité
  • Atelier pratique : réaliser un mini-projet complet, de la spécification formelle à la preuve finale vérifiée par Lean.

 

Pour aller plus loin

Formation JavaScript : Fondamentaux

Formation React

Formation Node.js

Langues et Lieux disponibles

Langues

  • Français
  • Anglais / English

Lieux

  • France entière
    • Paris
    • Lille
    • Reims
    • Lyon
    • Toulouse
    • Bordeaux
    • Montpellier
    • Nice
    • Sophia Antipolis
    • Marseille
    • Aix-en-Provence
    • Nantes
    • Rennes
    • Strasbourg
    • Grenoble
    • Dijon
    • Tours
    • Saint-Étienne
    • Toulon
    • Angers
  • Belgique
    • Bruxelles
    • Liège
  • Suisse
    • Genève
    • Zurich
    • Lausanne
  • Luxembourg

Témoignages

⭐⭐⭐⭐⭐ 4,8/5 sur Google My Business. Vous aussi, partagez votre expérience !

Afficher tous les témoignages

⭐⭐⭐⭐⭐ 4,8/5 sur Google My Business. Vous aussi, partagez votre expérience !

Noter la formation

Prix 2 290€ HT / personne
3 jours (21 heures)
Labs : Infrastructure DaaS avec Chrome
Cafés et encas offerts en interentreprises
En intra-entreprise pour former votre équipe
Aide au financement 2500€ Bonus Atlas CPF

UNE QUESTION ? UN PROJET ? UN AUDIT DE CODE / D'INFRASTRUCTURE ?

Pour vos besoins d’expertise que vous ne trouvez nulle part ailleurs, n’hésitez pas à nous contacter.

ILS SE SONT FORMÉS CHEZ NOUS

partenaire sncf
partenaire hp
partenaire allianz
partenaire sfr
partenaire engie
partenaire boursorama
partenaire invivo
partenaire orange
partenaire psa
partenaire bnp
partenaire sncf
partenaire hp
partenaire allianz
partenaire sfr
partenaire engie
partenaire boursorama
partenaire invivo
partenaire orange
partenaire psa
partenaire bnp