| #check id fun x => x -- should work | |
| #check 0 | |
| def f (x : Nat) (g : Nat → Nat) := g x | |
| #check f 1 fun x => x -- should fail | |
| #check 0 | |
| #check f 1 (fun x => x) | |
| #check id have : True := ⟨⟩; this -- should fail | |
| #check id let x := 10; x | |
| #check 1 | |
| #check id (have : True := ⟨⟩; this) | |
| #check 0 = have : Nat := 1; this | |
| #check 0 = let x := 0; x | |
| variable (p q r : Prop) | |
| macro_rules | `(¬ $p) => `(Not $p) | |
| #check p ↔ ¬ q | |
| #check True = ¬ False | |
| #check p ∧ ¬q | |
| #check ¬p ∧ q | |
| #check ¬p ↔ q | |
| #check ¬(p = q) | |
| #check ¬ p = q | |
| #check id ¬p | |
| #check Nat → ∀ (a : Nat), a = a | |
| macro "foo!" x:term : term => `($x + 1) | |
| #check id foo! 10 -- error, `foo! x` precedence is leadPrec |