J'essaie de comprendre xor en contexte de lambda-calcul. Je comprends xor (Exclusive ou) comme opération logique booléenne dans https://en.wikipedia.org/wiki/Exclusive_or et la table de vérité de xor.lambda calculus xor expression par vrai faux
Mais comment pourquoi est-il vrai comme XOR b = (a) ((b) (false) (true)) (b) de http://safalra.com/lambda-calculus/boolean-logic/ il est en effet ce que vous attendez dans le calcul lambda. Quand j'ai vu true = λab.a false = λab.b J'ai un peu besoin de voir le vrai et le faux comme un lambda calc vrai et faux car il retourne le premier élément en cas de vrai. Mais est-ce correct de comprendre que le xor ici est aussi un nom mais pas le même que xor dans la logique booléenne?
par la voie, je suppose vrai = λab.a false = λab.b est la même chose que true = (λa.b.) un faux = (λa.b.) b ce dernier est plus de style de livre de texte – echo
La logique de calcul lambda est la même que dans la logique booléenne. dans le calcul de lamba, il n'y a pas de valeurs, seulement des symboles (noms). TRUE n'est pas seulement fonction, mais aussi un nom qui le décrit. et quand le résultat de l'évaluation est λab.a, ce n'est pas important c'est une fonction, plus important c'est une fonction décrite par le symbole TRUE. – rsm
voir aussi: [* Church Encoding *] (https://fr.wikipedia.org/wiki/Church_encoding) - toutes les valeurs sont des fonctions, des nombres pairs 'zero: = λf.λx.x',' one: = λf. λx.fx', 'deux: = λf.λx.f (fx)', etc – naomik