2014-01-05 20:05:08 +00:00
|
|
|
definition xor (x y : Bool) : Bool := (not x) = y
|
|
|
|
infixr 50 ⊕ : xor
|
2014-01-05 19:03:35 +00:00
|
|
|
print xor true false
|
2014-01-05 20:05:08 +00:00
|
|
|
eval xor true true
|
|
|
|
eval xor true false
|
|
|
|
variable a : Bool
|
2014-01-05 19:03:35 +00:00
|
|
|
print a ⊕ a ⊕ a
|
2014-01-05 20:05:08 +00:00
|
|
|
check @Subst
|
|
|
|
theorem EM2 (a : Bool) : a \/ (not a) :=
|
2013-08-18 19:48:02 +00:00
|
|
|
Case (fun x : Bool, x \/ (not x)) Trivial Trivial a
|
2014-01-05 20:05:08 +00:00
|
|
|
check EM2
|
|
|
|
check EM2 a
|