Skip to content

Case split tactic by "real" pattern matching #27

@carlostome

Description

@carlostome

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions