A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/agda/agda/issues/7847 below:

Postponement of instance constraint causes occurs check failure when used with macros · Issue #7847 · agda/agda · GitHub

The following sequence of commands succeeds if Agda 2.7.0.1 is used, but fails with Agda-2.8.0-50c9f1f:

mkdir fresh && cd fresh
(git clone https://github.com/agda/agda-stdlib.git && cd agda-stdlib && git checkout b0505d661fbbfecf7ffeae20cc4b48c8ef41e078)
(git clone https://github.com/nad/equality && cd equality && git checkout f2a3158af4b11912f5cd257ed4a34f205ea644f7)
cat > libraries <<EOF
$PWD/agda-stdlib/standard-library.agda-lib
$PWD/equality/equality.agda-lib
EOF
cat > Bug.agda <<EOF
{-# OPTIONS --erasure #-}

open import Equality.Propositional
open import Prelude
open import Tactic.By.Propositional

open import Maybe equality-with-J
open import Monad equality-with-J

data D : Type where
  c : D → D

f : D → Maybe D
f (c x) = just c ⊛ f x

f-just : ∀ x → f x ≡ just x
f-just (c x) =
  just c ⊛ ⟨ f x ⟩  ≡⟨ ⟨by⟩ (f-just x) ⟩
  just c ⊛ just x   ≡⟨⟩
  just (c x)        ∎
EOF
agda --no-default-libraries --library-file=libraries -lstandard-library -lequality -i. Bug.agda

Bisection points to two commits (because one failed to build): 76b84ff ("Overwrite instance table entry when adding an alias") and 7115e00 ("Block instances on discrimination tree overlap"). @plt-amy, is this change intended?

If f-just is replaced by the following code, then the code is for some reason accepted:

postulate
  f-just′ :  x  f x ≡ just x

f-just :  x  f x ≡ just x
f-just (c x) =
  just c ⊛ ⟨ f x ⟩  ≡⟨ ⟨by⟩ (f-just′ x) ⟩
  just c ⊛ just x   ≡⟨⟩
  just (c x)        ∎

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4