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