Skip to content

Maybe avoid introducing almost undefined arguments? #2772

@mechvel

Description

@mechvel

The master branch of July 15, 2025 has

module Algebra.Properties.Semiring.Primality  {a ℓ} (R : Semiring a ℓ) where
...
private  variable    x p : A
...
Irreducible⇒≉0 : 0# ≉ 1# → Irreducible p → p ≉ 0#
...

The old version of Irreducible⇒≉0 : 0# ≉ 1# → (∀ {p } → Irreducible p → p ≉ 0#) -- (I)
looks easier to read and understand, to my mind.
Because it looks like a mathematical statement.
(and the change is backwards incompatible. Is it in CHANGELOG ? ).

I had under lib-2.2 a≉0 = Irreducible⇒≉0 0≉1 {a} irred-a
Now Agda-2.8.0+master report "implicit instead of explicit".
I remove curly braces. And it reports "unequal terms".
Then I remove a. Now it is type-checked.
Then I look into Standard library ...

It is frightening to see a variable name which has come somehow from nowhere.
I recall there are many such places in Standard library.
?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions