Êtes-vous un étudiant de l'EPFL à la recherche d'un projet de semestre?
Travaillez avec nous sur des projets en science des données et en visualisation, et déployez votre projet sous forme d'application sur Graph Search.
En logique mathématique, la logique combinatoire est une théorie logique introduite par Moses Schönfinkel en 1920 lors d'une conférence et développée dès 1929 par Haskell Brooks Curry pour supprimer le besoin de variables en mathématiques, pour formaliser rigoureusement la notion de fonction et pour minimiser le nombre d'opérateurs nécessaires pour définir le calcul des prédicats à la suite de Henry M. Sheffer. Plus récemment, elle a été utilisée en informatique comme modèle théorique de calcul et comme base pour la conception de langages de programmation fonctionnels. Le concept de base de la logique combinatoire est celui de combinateur qui est une fonction d'ordre supérieur ; elle utilise uniquement l'application de fonctions et éventuellement d'autres combinateurs pour définir de nouvelles fonctions d'ordre supérieur. Chaque combinateur simplement typable est une démonstration à la Hilbert en logique intuitionniste et vice-versa . On appelle ceci la correspondance de Curry-Howard La logique combinatoire est fondée sur deux « opérations » de base (on dit aussi deux « combinateurs ») S et K que nous définirons plus loin ; plus précisément nous en définirons le comportement ou l'« intention », car la logique combinatoire est une approche de la logique qui montre plutôt comment marchent les choses que comment les objets peuvent être décrits, on dit alors que c'est une approche intentionnelle de la logique. Si l'on veut définir la fonction que nous appellerons C et qui prend trois paramètres et rend comme résultat le premier appliqué au troisième, le tout étant appliqué au second, on pourra l'écrire : C ≡ S ((S (K S) K) (S (K S) K) S) (K K) qui, comme on le voit, ne comporte pas de variable. On pourra regretter que l'avantage de ne pas utiliser de variables se paie par la longueur des expressions et une certaine illisibilité. Aujourd'hui la logique combinatoire est surtout utilisée par les logiciens pour répondre positivement à la question « Est-il possible de se passer de variables ? » et par les informaticiens pour compiler les langages fonctionnels.
Giovanni De Micheli, Mathias Soeken, Zhufei Chu
Jian Wang, Lesya Shchutska, Olivier Schneider, Yiming Li, Yi Zhang, Aurelio Bay, Guido Haefeli, Christoph Frei, Frédéric Blanc, Tatsuya Nakada, Michel De Cian, Luca Pescatore, François Fleuret, Elena Graverini, Renato Quagliani, Maria Vieites Diaz, Federico Betti, Andrea Merli, Aravindhan Venkateswaran, Luis Miguel Garcia Martin, Vitalii Lisovskyi, Sebastian Schulte, Veronica Sølund Kirsebom, Elisabeth Maria Niel, Alexandre Brea Rodriguez, Mingkui Wang, Zhirui Xu, Lei Zhang, Ho Ling Li, Mark Tobin, Minh Tâm Tran, Niko Neufeld, Matthew Needham, Marc-Olivier Bettler, Maurizio Martinelli, Vladislav Balagura, Donal Patrick Hill, Liang Sun, Pietro Marino, Mirco Dorigo, Xiaoxue Han, Liupan An, Federico Leo Redi, Plamen Hristov Hopchev, Thibaud Humair, Maxime Schubiger, Hang Yin, Guido Andreassi, Violaine Bellée, Olivier Göran Girard, Preema Rennee Pais, Pavol Stefko, Tara Nanut, Maria Elena Stramaglia, Yao Zhou, Tommaso Colombo, Vladimir Macko, Guillaume Max Pietrzyk, Evgenii Shmanin, Simone Meloni, Xiaoqing Zhou, Surapat Ek-In, Carina Trippl, Sara Celani, Serhii Cholak, Dipanwita Dutta, Zheng Wang, Yi Wang, Hans Dijkstra, Gerhard Raven, Peter Clarke, Frédéric Teubert, Giovanni Carboni, Victor Coco, Adam Davis, Paolo Durante, Wenyu Zhang, Yu Zheng, Anton Petrov, Maxim Borisyak, Feng Jiang, Chen Chen, Zhipeng Tang, Xuan Li, Alexey Boldyrev, Almagul Kondybayeva, Hossein Afsharnia