Apostolis Xekoukoulotakis
2017-11-03 10:52:04 UTC
I made a negation that takes an instance argument. This unfortunately stops
unification from taking place.
In hole 0 , the type is â¥.
in hole 1 , the type is ¬ B .a
Is there a way to force agda to have (¬ᵢ B .a) in hole 0 so that
unification deduces a?
```
data ⥠: Set where
infix 3 ¬ᵢ_
¬ᵢ_ : â {â} â Set â â Set â
¬ᵢ P = {{p : P}} â â¥
infix 3 ¬_
¬_ : â {â} â Set â â Set â
¬ P = (p : P) â â¥
data A : Set where
a1 : A
a2 : A
data B : A â Set where
b1 : B a1
b2 : B a2
gun : â{a} â ¬ᵢ B a
gun = {!!}
fun : â{a} â ¬ᵢ B a
fun = gun
gun2 : â{a} â ¬ B a
gun2 = {!!}
fun2 : â{a} â ¬ B a
fun2 = gun2
```
unification from taking place.
In hole 0 , the type is â¥.
in hole 1 , the type is ¬ B .a
Is there a way to force agda to have (¬ᵢ B .a) in hole 0 so that
unification deduces a?
```
data ⥠: Set where
infix 3 ¬ᵢ_
¬ᵢ_ : â {â} â Set â â Set â
¬ᵢ P = {{p : P}} â â¥
infix 3 ¬_
¬_ : â {â} â Set â â Set â
¬ P = (p : P) â â¥
data A : Set where
a1 : A
a2 : A
data B : A â Set where
b1 : B a1
b2 : B a2
gun : â{a} â ¬ᵢ B a
gun = {!!}
fun : â{a} â ¬ᵢ B a
fun = gun
gun2 : â{a} â ¬ B a
gun2 = {!!}
fun2 : â{a} â ¬ B a
fun2 = gun2
```