1234567891011121314151617181920212223242526272829303132333435363738 |
- -- The bug appeared since I forgot to keep the constraint when trying to unify
- -- a blocked term (I just didn't instantiate).
- module LostConstraint where
- infixr 10 _=>_
- data Setoid : Set1 where
- setoid : Set -> Setoid
- El : Setoid -> Set
- El (setoid A) = A
- eq : (A : Setoid) -> El A -> El A -> Set
- eq (setoid A) = e
- where
- postulate e : (x, y : A) -> Set
- data _=>_ (A B : Setoid) : Set where
- lam : (f : El A -> El B)
- -> ((x : El A) -> eq A x x
- -> eq B (f x) (f x)
- )
- -> A => B
- app : {A B : Setoid} -> (A => B) -> El A -> El B
- app (lam f _) = f
- postulate EqFun : {A B : Setoid}(f, g : A => B) -> Set
- lam2 : {A B C : Setoid} ->
- (f : El A -> El B -> El C) ->
- (x : El A) -> B => C
- lam2 {A}{B}{C} f x = lam (f x) (lem _)
- where
- postulate
- lem : (x : El A)(y : El B) -> eq B y y -> eq C (f x y) (f x y)
|