SharedSage genom exempel / Logik.sagewsOpen in CoCalc

Logik

Sanningsvärdena sant och falskt representeras i Sage/Python med de reserverade orden True respektive False.
P = True
Q = False
Konjunktionen PQP \land Q.
P and Q
False
Disjunktionen PQP \lor Q.
P or Q
True
Negationen ¬P\neg P.
not P
False
Relation Kod
x=yx = y x == y
xyx \neq y x != y
x<yx < y x < y
xyx \leq y x <= y
x>yx > y x > y
xyx \geq y x >= y
Låt QQ beteckna sanningsvärdet hos x=yx2<yx = y \lor x^2 < y, då x=2x = 2 och y=5y = 5. Vad är QQ?
x, y  = 2, 5
Q = x == y or x^2 < y
Q
True
Prioritetsordningen är följande.
  1. Parenteser
  2. Exponenter
  3. Multiplikation/division
  4. Addition/subtraktion
  5. Relationer
  6. Negation
  7. Konjubjtion
  8. Disjunktion
Programbiblioteket propcalc implementerar fler funktioner för satslogik.
sats = propcalc.formula("A | B -> ~B & (A <-> C)")
sats
A|B->~B&(A<->C)
En något svårläst utdata, så vi sätter typeset_mode till sant och skriver ut den logiska formeln igen.
typeset_mode(True)
sats
AB¬B(AC)\displaystyle A\vee B\rightarrow \neg B\wedge (A\leftrightarrow C)
Vi kan bestämma sanningsvärdet genom att sätta sanningsvärdet på de ingående variablerna.
typeset_mode(False)
sats.evaluate({'A':False, 'B':True, 'C':True})
False
Det är enkelt att generera en sanningsvärdestabell.
sats.truthtable()
A B C value False False False True False False True True False True False False False True True False True False False False True False True True True True False False True True True False