Arend icon indicating copy to clipboard operation
Arend copied to clipboard

Arend is inconsistent

Open anshwad10 opened this issue 5 months ago • 1 comments

I found a proof of Empty in Arend without any axioms:

\import Logic

\data Bad : \Prop
  | mkBad (\Pi {P : \Prop} -> P -> P)

\func bad : Bad => mkBad \lam x => x

\func noBad (b : Bad) : Empty \elim b
  | mkBad f => noBad (f bad)

\func uh-oh : Empty => noBad bad

Agda also had a similar problem with impredicativity and it was fixed by disallowing recursion in inductive types in Prop. Perhaps something similar can be implemented for Arend?

anshwad10 avatar Aug 07 '25 06:08 anshwad10

Specifically, the definition of noBad could be rejected by the termination checker.

anshwad10 avatar Aug 07 '25 06:08 anshwad10

It has been fixed in 1.11, the definition of noBad no longer typechecks

anshwad10 avatar Dec 24 '25 13:12 anshwad10