blob: c4028786fe89256f0b9d7c2e7700e18918add1b2 [file] [edit]
def f : (xs : List Nat) → Nat → xs ≠ [] → Nat
| [], _, _ => _
| [a,b], _, _ => _
| _, _, _ => _
set_option pp.inaccessibleNames true in
def f' : (xs : List Nat) → Nat → xs ≠ [] → Nat
| [], _, _ => _ -- TODO: figure out why hyp `Ne (α := List Nat) x✝² []` needs α
| [a,b], _, _ => _
| _, _, _ => _
theorem ex1 : p ∨ q → q ∨ p := by
intro h
cases h
trace_state
apply Or.inr
assumption
apply Or.inl
assumption
done
theorem ex2 : {p : Prop} → [Decidable p] → p → decide p = true
| _, isTrue _, _ => _
| _, isFalse h₁, h₂ => absurd h₂ h₁
theorem ex3 : ∀ {c d : Char}, c = d → c.val = d.val
| _, _, rfl => _