Add exercise excluded middle
This commit is contained in:
parent
10b8221a6e
commit
b9acdebbe9
|
|
@ -88,10 +88,10 @@ la sortie `+a(X)` vers `b` (en plus de l'affichage de `a`). Et on ajoute une
|
||||||
On utilise l'étoile `-a(X) -b(Y) c(va(X) vb(Y));`.
|
On utilise l'étoile `-a(X) -b(Y) c(va(X) vb(Y));`.
|
||||||
{{< /details >}}
|
{{< /details >}}
|
||||||
|
|
||||||
## Portes logiques
|
## Circuits booléens
|
||||||
|
|
||||||
On veut simuler des formules booléennes par des constellations. Chaque question
|
On veut simuler des formules booléennes (plus précisément des circuits) par des
|
||||||
utilise le résultat de la question précédente.
|
constellations. Chaque question utilise le résultat de la question précédente.
|
||||||
|
|
||||||
1. Ecrire une constellation calculant la négation de telle sorte à ce qu'elle
|
1. Ecrire une constellation calculant la négation de telle sorte à ce qu'elle
|
||||||
produise `1` en sortie lorsqu'ajoutée à l'étoile `@-not(0 X) X;` et `0`
|
produise `1` en sortie lorsqu'ajoutée à l'étoile `@-not(0 X) X;` et `0`
|
||||||
|
|
@ -173,3 +173,33 @@ de l'équivalence logique sachant que `X <=> Y = (X => Y) /\ (X => Y)`.
|
||||||
@-eqq2(X Y R) table_eqq2(X Y R);
|
@-eqq2(X Y R) table_eqq2(X Y R);
|
||||||
```
|
```
|
||||||
{{< /details >}}
|
{{< /details >}}
|
||||||
|
|
||||||
|
5. En utilisant l'étoile `+share(X X X);`, définir le circuit booléen pour
|
||||||
|
la formule du tiers exclu qui prend une unique entrée, la partage au travers de
|
||||||
|
deux sorties avec l'une qui passe par une porte NOT et pour rejoindre l'autre
|
||||||
|
sortie à travers une porte OR. Afficher la table de vérité correspondant à ce
|
||||||
|
circuit.
|
||||||
|
|
||||||
|
{{< details title="Solution" open=false >}}
|
||||||
|
```
|
||||||
|
+not(0 1); +not(1 0);
|
||||||
|
+and(0 0 0); +and(0 1 0); +and(1 0 0); +and(1 1 1);
|
||||||
|
+or(0 0 0); +or(0 1 1); +or(1 0 1); +or(1 1 1);
|
||||||
|
|
||||||
|
+and2(0 X 0); +and2(1 X X);
|
||||||
|
+or2(0 X X); +or2(1 X 1);
|
||||||
|
|
||||||
|
-not(X Y) -or(Y Z R) +impl(X Z R);
|
||||||
|
-not(X Y) -or2(Y Z R) +impl2(X Z R);
|
||||||
|
|
||||||
|
-impl(X Y R1) -impl(Y X R2) -and(R1 R2 R) +eqq(X Y R);
|
||||||
|
-impl2(X Y R1) -impl2(Y X R2) -and2(R1 R2 R) +eqq2(X Y R);
|
||||||
|
|
||||||
|
+share(X X X);
|
||||||
|
|
||||||
|
'excluded middle
|
||||||
|
-share(X X1 X2) -not(X1 R1) -or(R1 X2 R2) +ex(R2);
|
||||||
|
|
||||||
|
@-ex(X) table_ex(X);
|
||||||
|
```
|
||||||
|
{{< /details >}}
|
||||||
Loading…
Reference in New Issue