module Main =>
enum struct Bool { True, False }
fun and(a: Bool, b: Bool) =>
if a => if b => True
else => False
else => False
fun not(self: Bool) =>
if self => False
else => True
fun rule110(a: Bool, b: Bool, c: Bool) =>
if and(a, and(b, c)) => False
elif and(a, and(b, not(c))) => True
elif and(a, and(not(b), c)) => True
elif and(a, and(not(b), not(c))) => False
elif and(not(a), and(b, c)) => True
elif and(not(a), and(b, not(c))) => True
elif and(not(a), and(not(b), c)) => True
else => False
fun main => rule110(True, True, True)