301 - Topic 1 - Truth Tables

335 days ago by Professor301

John Travis

Mississippi College

Using symbolic solfware to do truth tables.

Note that "or" is a vertical bar.

Note that "and" is the ampersand.

Note that "implies" is -> and "if and only if" is <->

reset() 
       
import sage.logic.propcalc as propcalc # f = propcalc.formula("a&((b|c)^a->c)<->b") # g = propcalc.formula("boolean<->algebra") # (f&~g).ifthen(f) f = propcalc.formula("P->(Q->R)") g = propcalc.formula("(P&Q)->R") h = f.iff(g) 
       
       
(P->(Q->R))<->((P&Q)->R)
(P->(Q->R))<->((P&Q)->R)
f.truthtable() 
       
P      Q      R      value
False  False  False  True   
False  False  True   True   
False  True   False  True   
False  True   True   True   
True   False  False  True   
True   False  True   True   
True   True   False  False  
True   True   True   True   
P      Q      R      value
False  False  False  True   
False  False  True   True   
False  True   False  True   
False  True   True   True   
True   False  False  True   
True   False  True   True   
True   True   False  False  
True   True   True   True   
g.truthtable() 
       
P      Q      R      value
False  False  False  True   
False  False  True   True   
False  True   False  True   
False  True   True   True   
True   False  False  True   
True   False  True   True   
True   True   False  False  
True   True   True   True   
P      Q      R      value
False  False  False  True   
False  False  True   True   
False  True   False  True   
False  True   True   True   
True   False  False  True   
True   False  True   True   
True   True   False  False  
True   True   True   True   
h.truthtable() 
       
P      Q      R      value
False  False  False  True   
False  False  True   True   
False  True   False  True   
False  True   True   True   
True   False  False  True   
True   False  True   True   
True   True   False  True   
True   True   True   True   
P      Q      R      value
False  False  False  True   
False  False  True   True   
False  True   False  True   
False  True   True   True   
True   False  False  True   
True   False  True   True   
True   True   False  True   
True   True   True   True   
f = propcalc.formula("P->(Q->S&R)") g = propcalc.formula("(P&Q&S)->R") h = f.iff(g) 
       
h.truthtable() 
       
P      Q      S      R      value
False  False  False  False  True   
False  False  False  True   True   
False  False  True   False  True   
False  False  True   True   True   
False  True   False  False  True   
False  True   False  True   True   
False  True   True   False  True   
False  True   True   True   True   
True   False  False  False  True   
True   False  False  True   True   
True   False  True   False  True   
True   False  True   True   True   
True   True   False  False  False  
True   True   False  True   False  
True   True   True   False  True   
True   True   True   True   True   
P      Q      S      R      value
False  False  False  False  True   
False  False  False  True   True   
False  False  True   False  True   
False  False  True   True   True   
False  True   False  False  True   
False  True   False  True   True   
False  True   True   False  True   
False  True   True   True   True   
True   False  False  False  True   
True   False  False  True   True   
True   False  True   False  True   
True   False  True   True   True   
True   True   False  False  False  
True   True   False  True   False  
True   True   True   False  True   
True   True   True   True   True