f1==(not a or not b) and c: ((not a) and c) or ((not b) and c) f2==not ((true or a) and (not not false and b or c)): ((((not true) and (not true)) and (not a)) and (not a)) or ((((not true) and (not true)) and (not a)) and (not c)) or ((((not true) and (not true)) and (not (not (not false)))) and (not a)) or ((((not true) and (not true)) and (not (not (not false)))) and (not c)) or ((((not true) and (not true)) and (not b)) and (not a)) or ((((not true) and (not true)) and (not b)) and (not c)) or ((((not true) and (not c)) and (not a)) and (not a)) or ((((not true) and (not c)) and (not a)) and (not c)) or ((((not true) and (not c)) and (not (not (not false)))) and (not a)) or ((((not true) and (not c)) and (not (not (not false)))) and (not c)) or ((((not true) and (not c)) and (not b)) and (not a)) or ((((not true) and (not c)) and (not b)) and (not c)) or ((((not (not (not false))) and (not true)) and (not a)) and (not a)) or ((((not (not (not false))) and (not true)) and (not a)) and (not c)) or ((((not (not (not false))) and (not true)) and (not (not (not false)))) and (not a)) or ((((not (not (not false))) and (not true)) and (not (not (not false)))) and (not c)) or ((((not (not (not false))) and (not true)) and (not b)) and (not a)) or ((((not (not (not false))) and (not true)) and (not b)) and (not c)) or ((((not (not (not false))) and (not c)) and (not a)) and (not a)) or ((((not (not (not false))) and (not c)) and (not a)) and (not c)) or ((((not (not (not false))) and (not c)) and (not (not (not false)))) and (not a)) or ((((not (not (not false))) and (not c)) and (not (not (not false)))) and (not c)) or ((((not (not (not false))) and (not c)) and (not b)) and (not a)) or ((((not (not (not false))) and (not c)) and (not b)) and (not c)) or ((((not b) and (not true)) and (not a)) and (not a)) or ((((not b) and (not true)) and (not a)) and (not c)) or ((((not b) and (not true)) and (not (not (not false)))) and (not a)) or ((((not b) and (not true)) and (not (not (not false)))) and (not c)) or ((((not b) and (not true)) and (not b)) and (not a)) or ((((not b) and (not true)) and (not b)) and (not c)) or ((((not b) and (not c)) and (not a)) and (not a)) or ((((not b) and (not c)) and (not a)) and (not c)) or ((((not b) and (not c)) and (not (not (not false)))) and (not a)) or ((((not b) and (not c)) and (not (not (not false)))) and (not c)) or ((((not b) and (not c)) and (not b)) and (not a)) or ((((not b) and (not c)) and (not b)) and (not c)) f3==not (a or not a) implies false: (not (not a)) or (not (not (not a))) or false f4==true implies false: (not true) or false f5==not f4: ((not (not true)) and (not false)) f6==a and not false or b: (a and (not false)) or b f6b==a and not false or b: (a and (not false)) or b f1 = f1: true f2 = f2: true f1 = f2: false f2 = f1: false f6 = f6b: true f1["a": true, "b": false, "c": true]: true f2["a": true, "b": false, "c": true]: false f3["a": true, "b": false, "c": true]: true f4["a": true, "b": false, "c": true]: false f5["a": true, "b": false, "c": true]: true f6["a": true, "b": false, "c": true]: true f1's vars: a c b c f2's vars: a a a c a c b a b c c a a c a c c a c c c b a c b c a a a c a c b a b c c a a c a c c a c c c b a c b c b a a b a c b a b c b b a b b c b c a a b c a c b c a b c c b c b a b c b c f3's vars: a a f4's vars: f5's vars: f6's vars: a b f1 is tautology: false f2 is tautology: false f3 is tautology: true f4 is tautology: false f5 is tautology: true f6 is tautology: false