Data Analysis - Programming

Week 1

Oefeningen

  1. Schrijf een Python programma dat de waarheidstabel van de volgende expressie produceert:
    $\neg{(A \lor B)}$ (Quine's Dagger)

  2. De expressies uit opdracht 3 en 4 (in de slides) hebben een eigen naam,
    $(\neg{A}) \lor B$ wordt ook wel implicatie genoemd en genoteerd als $A \implies B$,
    $(A \lor B) \land \neg{(A \land B)}$ wordt ook wel exclusieve of (of xor) genoemd en genoteerd als $A \oplus B$.

    De operator $\Leftrightarrow$ wordt equivalentie (gelijkheid) genoemd.
    De expressie $A \Leftrightarrow B$ levert alleen True op, wanneer de waarde van $A$ gelijk is aan die van $B$.
    Bedenk een expressie in $A$ en $B$ met behulp van de operatoren or, and en not die precies het resultaat van de operator equivalentie oplevert en controleer je expressie met een Python programma.
    $A$$B$$A \Leftrightarrow B$
    FalseFalseTrue
    FalseTrueFalse
    TrueFalseFalse
    TrueTrueTrue




  3. Strikt genomen zijn de extra operatoren uit opgave 2 niet nodig, want je kunt ze namaken met or, and en not.
    Eigenlijk kun je zelfs rondkomen met alleen or en not !
    Bedenk een combinatie van or en not waarbij de waarheidstabel hetzelfde is als die van and. Controleer je expressie met een Python programma.
    $A$$B$$A \land B$
    FalseFalseFalse
    FalseTrueFalse
    TrueFalseFalse
    TrueTrueTrue



  4. Een tautologie is een expressie die altijd waar oplevert, ongeacht de invulling van de variabelen.
    De uitdrukking $A \lor \neg{A}$ is een voorbeeld van een tautologie.
    Schrijf Python programma's om te bepalen of de onderstaande uitdrukkingen tautologieën zijn.
    Let op: de implicatie $A \implies B$ kun je uitrekenen, als in opgave 2 beschreven, met $(\neg{A}) \lor B$
    1. $(A \lor B) \implies (A \lor B)$
    2. $(A \lor B) \implies (A \land B)$
    3. $(\neg{A} \implies B) \land (\neg{A} \implies \neg{B})$
    4. $((A \implies B) \land (B \implies C)) \implies (A \implies C)$

In [ ]: