| 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 => _ |