[Haskell-cafe] Type equality proof
David Menendez
dave at zednenem.com
Tue Mar 17 17:06:32 EDT 2009
2009/3/17 Luke Palmer <lrpalmer at gmail.com>:
>> Here are the original definition and the proofs of comm and trans.
>> Compiles
>> fine with GHC 6.10.1.
>>
>> data (a :=: a') where
>>
>> Refl :: a :=: a
>>
>> comm :: (a :=: a') -> (a' :=: a)
>> comm Refl = Refl
>>
>> trans :: (a :=: a') -> (a' :=: a'') -> (a :=: a'')
>> trans Refl Refl = Refl
>
> These two theorems should be in the package.
How about this?
instance Category (:=:) where
id = Refl
Refl . Refl = Refl
--
Dave Menendez <dave at zednenem.com>
<http://www.eyrie.org/~zednenem/>
More information about the Haskell-Cafe
mailing list