Exclusive disjunction with e (xor).

Note: it is transformed with conjunctions and disjunctions.

var a = new LVar("a")
var b = new LVar("b")
assert (a^b).to_s == "((a & ~b) | (~a & b))"

Property definitions

logic $ LExpr :: ^
	# Exclusive disjunction with `e` (xor).
	#
	# Note: it is transformed with conjunctions and disjunctions.
	#
	# ~~~
	# var a = new LVar("a")
	# var b = new LVar("b")
	# assert (a^b).to_s == "((a & ~b) | (~a & b))"
	# ~~~
	fun ^(e: LExpr): LExpr
	do
		return (self & ~e) | (~self & e)
	end
lib/logic/lexpr.nit:139,2--151,4