(* Najprostsze przykłady znanych wartości logicznych *)

?TautologyQ

Przypominam, że 
||     oznacza logiczne “lub”
&& oznacza logiczne “i”
!p  oznacza zaprzeczenie p

(* Poniższa instrukcja sprawdza, czy dla dowolnej wartości logicznej p zdanie 
(!p)||p jest prawdziwe *)

TautologyQ[(!p)||p,{p}]

(* Poniższa instrukcja sprawdza, czy dla dowolnej wartości logicznej p zdanie 
(!p)&& p jest prawdziwe *)

TautologyQ[(!p)&&p,{p}]

(* zaprzeczenie koniunkcji *)

(* Esc equiv Esc *)

TautologyQ[!(p&&q) ⧦ (!p)||(!q),{p,q}]

(* zaprzeczenie alternatywy *)

TautologyQ[!(p||q) ⧦ (!p)&&(!q),{p,q}]

(* zaprzeczenie implikacji (wynikania) *)

(* Esc => Esc *)

TautologyQ[!(p\[Implies]q) ⧦ p&&(!q),{p,q}]

(* podwójne zaprzeczenie implikacji *)

TautologyQ[!(!(p\[Implies]q)) ⧦ (!p)||q,{p,q}]

TautologyQ[!(!(p\[Implies]q)) ⧦ (p\[Implies]q),{p,q}]

(* zaprzeczenie równoważności *)

TautologyQ[!(p⧦q) ⧦ (!(p\[Implies]q))||(!(q\[Implies]p)),{p,q}]

(* zaprzeczenie równoważności raz jeszcze *)

TautologyQ[!(p⧦q) ⧦ (  p&&(!q) )||(  q&&(!p) ),{p,q}]

(* podwójne zaprzeczenie równoważności *)

TautologyQ[!(!(p⧦q)) ⧦ ( (!p)||q )&&( (!q)||p ),{p,q}]

TautologyQ[(p⧦q) ⧦ ( (!p)||q )&&( (!q)||p ),{p,q}]

(* Przykład do dalszego wykorzystania: buduję zdania z1 i z2 i sprawdzam ich równoważność *)

z1=!(p||q);

z2=(!p)&&(!q);

TautologyQ[ z1⧦z2,{p,q}]