Bonjour à tous ,
Je suis en train de m'entrainer à la programmation en Scheme.
Mais il y a certaines choses que je n'ai pas compris sur les expressions booléennes.
Je fais des questions d'entrainement, mais comme il n'y a aucun corrigé, je suis un peu perdu, donc je ne sais pas si j'ai tort ou pas voici une des questions:

écrire un ensemble de fonctions pour manipuler les valeurs booléennes usuelles à partir des définitions suivantes:
1. a ⇒ b est égal à ((non a) ou b)
2. a ⇔ b est égal à (a ⇒ b) et (b ⇒a)

voici ce que j'ai fait:
1. ;;; implique: bool*bool → bool
;;; (implique ab) rend true lorsque a vaut false ou lorsque b vaut true
2. ;;; implique: bool*bool → bool
;;;(implique ab) rend true lorsque a vaut true ou lorsque b vaut true

Et ils ont rajouté un 3 plus difficile; écrire une fonction qui prend 2 booléens a et b en arguments et qui vérifie l'expression (a ⇒ b) ⇔ ((non b) ⇒ (non a))
là je ne sais pas faire peut-être:
;;; not implique (la fonction implique existe est-ce que j'ai le droit de faire not implique?)
donc ;;; not implique: bool*bool → bool
;;; (not implique ab) rend true lorsque a vaut false ou lorsque b vaut false

Qu'en pensez vous? auriez vous fait la même chose?

merci d'avoir lu