open Structs exception TODOException;; (* Affiche un λ-terme avec la même syntaxe qu’en entrée *) let affiche_lam (l: lam) : unit = raise TODOException ;; (* Teste si les deux λ-termes l1 et l2 sont α-convertibles *) let alpha (l1: lam) (l2: lam) : bool = raise TODOException ;; (* Fait un pas de β-réduction, et renvoie None si on a une forme normale *) let betastep (l: lam) : lam option = raise TODOException ;; (* Affiche les réductions du λ-terme l jusqu’à atteindre une forme normale, ou part en boucle infinie *) let reduce (l:lam) : unit = raise TODOException ;; (* Vérifie que le λ-terme l sous l'environnement env a bien le type t *) let typecheck (env: gam) (l: lam) (t: ty) : bool = raise TODOException ;;