op(400, infix, ^). op(400, infix, v). set(print_models_portable). assign(max_models, -1). % This means there is no limit. clauses(theory). x v y = y v x. (x v y) v z = x v (y v z). x v (x ^ y) = x. x ^ y = y ^ x. (x ^ y) ^ z = x ^ (y ^ z). x ^ (x v y) = x. % Add the following pair for complemented lattice x v c(x) = 1. x ^ c(x) = 0. % Add the following for ortholattice c(x ^ y) = c(x) v c(y). c(x v y) = c(x) ^ c(y). c(c(x)) = x. % definition of Sheffer Stroke f(x,y) = c(x) v c(y). end_of_list.