lean2/examples/ex3.lean
Leonardo de Moura f5e0150db3 Allow notation to be associated with arbitrary expression (instead of only constants).
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-08-19 20:05:56 -07:00

12 lines
296 B
Text

Definition xor (x y : Bool) : Bool := (not x) = y
Infixr 50 ⊕ : xor
Show xor true false
Eval xor true true
Eval xor true false
Variable a : Bool
Show a ⊕ a ⊕ a
Check Subst
Theorem EM2 (a : Bool) : a \/ (not a) :=
Case (fun x : Bool, x \/ (not x)) Trivial Trivial a
Check EM2
Check EM2 a