Given the following (contrived but based on a real world) definition:
f : Bool → Bool → Bool
f true false = true
f x y = true
Id like to write a tactic that solves:
p : ∀ (x y : Bool) → f x y ≡ true
Iterated case (from Tactic.Case) doesn't cut it:
p x y = by (case x (case y (quoteTC refl >>= λ t → unifyWithGoal t)))
I suspect it is because case doesn't do real pattern-matching but instead introduces pattern lambdas. This is not enough for Agda to compute.