[Agda] Termination not being proven
Nils Anders Danielsson
nad at chalmers.se
Thu Mar 3 12:05:42 CET 2011
On 2011-03-02 14:16, Will Sonnex wrote:
> Is there a way in Agda to define an arbitrary subset of Set, say
> "Hask" for Haskell types. One could use this to accept potentially
> non-terminating values and then even if one could define "inhabited :
> {A : Hask} →A", it could only ever be applied to other Hask types. As
> long as we did not take inhabitance of a Hask type to be a sound proof
> I think (tentatively) that the overall system would be sound.
You cannot define "subsets" of this kind, but you can define something
similar:
mutual
data Hask : Set where
⋮
El : Hask → Set
⋮
In this case it seems as if you would want to encode some notion of
pointed CPOs, which are always inhabited:
⊥ : {A : Hask} → El A
--
/NAD
More information about the Agda
mailing list