Skip to content

[ breaking ] Flip arguments to Relation.Nullary.Negation.Core.contradiction #2784

@jamesmckinna

Description

@jamesmckinna

Workaround: You would not get this problem if contradiction had the opposite argument ordering:

contradiction : ¬ X → X → Whatever
contradiction ¬a a with () ← ¬a a

test : Whatever
test = contradiction ¬∀P ∀P

Here, the equation ¬ X = ¬ (∀ {a} → P a) is produced which solves correctly to X = ∀ {a} → P a.

Originally posted by @andreasabel in #8026

My recent woes in #2782 and my followup issue agda/agda#8026 on the main agda tracker lead me to the somewhat uncomfortable conclusion that it would be better to break the current API for contradiction by flipping its arguments, or else, perhaps more modestly, but more of a redundancy/Fairbairn threshold code smell, that we give flip contradiction a first-class name for such situations?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions