De base, si vous donnez toutes les valeurs à l'intérieur de vos règles, vous aurez comme résultat `true` ou `false`, en fonction de la réussite ou non de l'exécution.
Si vous tentez de mettre une variable, vous obtiendrez les résultats qui satisfont la règle si cela fonctionne.
**Tips Prolog:** De base Prolog affiche seulement la première solution, si vous voulez en voir d'autres il vous suffit d'appuyer sur la barre espace. Pour debugger votre programme, activer le mode trace avec `trace.`. Pour désactiver: `nodebug.`
**Tips Prolog:** De base Prolog affiche seulement la première solution, si vous voulez en voir d'autres il vous suffit d'appuyer sur la barre espace. Pour debugger votre programme, activer le mode trace avec `trace.`. Pour désactiver: `nodebug.` Quand il est inutile de renseigner un terme, vous pouvez utiliser underscore (`_`).
**Tips LogicKit:** Pour debug, quand vous faites une requête comme celle-ci:
`var contains0 = kb.ask(.fact("contains", list0, n(3)))`, il vous suffit d'ajouter un second paramètre comme ceci:
@@ -132,6 +132,8 @@ Vous pouvez cependant discuter de vos approches entre vous.
***Ne modifier en aucun cas** les fichiers à l'intérieur sauf si cela est explicitement mentionné !
* Lisez les consignes de manière complète et attentive avant de débuter un TP.
* Suivez bien les instructions qui vous sont données pour faire vos TPs.
***Aucun rapport manuscrit n'est accepté** ! Vous devez écrire votre rapport à l'aide d'un éditeur de texte. La qualité de celui-ci sera pris en compte pour la note finale. Vous pouvez utiliser [LaTeX](https://www.latex-project.org/) pour écrire celui-ci. De plus, si vous ne voulez pas vous embêter à tout installer, il est très fortement recommandé d'utiliser [Overleaf](https://www.overleaf.com/), une plate-forme en ligne pour écrire du LateX.
Le package [semantic](http://mirror.its.dal.ca/ctan/macros/latex/contrib/semantic/semantic.pdf)(`\usepackage{semantic}`) est très pratique pour écrire de belles règles d'inférences.
* Pour les TPs avec du code, il ne faut **aucune erreur de compilation ou de warning**. Si un code ne compile pas c'est **0**. Le compilateur de swift vous avertira s'il y a le moindre soucis de compilation ou de warning. (`swift build` pour compiler)
<!-- * For testing, we use [XCTest](https://developer.apple.com/documentation/xctest).