(sorry for probable accidental unfinished post)

These exercises are exciting. They shift my paradigm far, far away. ;)

Did I described wList correctly now?

If so, I still cannot get construction like wCons a as => Sup true
(lam p => as). Right now it's beyond my comprehension.
------------------------------------------------------------------------------
     ( a : A ;  b : Bool !        (       a : A        !
data !-------------------!  where !--------------------!
     !    So1 a b : *    )        ! oh1 a : So1 A true )
------------------------------------------------------------------------------
     ( p : So1 A false !
let  !-----------------!
     !  notSo1 p : X   )

     notSo1 p <= case p
------------------------------------------------------------------------------
     (    A : *    !
let  !-------------!
     ! wList A : * )

     wList A => W Bool (So1 A)
------------------------------------------------------------------------------
     (     A : *      !
let  !----------------!
     ! wNil : wList A )

     wNil => Sup false notSo1
------------------------------------------------------------------------------
     ( a : A ;  as : wList A !
let  !-----------------------!
     ! wCons a as : wList A  )

     wCons a as => Sup true (lam p => as)
------------------------------------------------------------------------------

Reply via email to