我试图这样做如下:
? (A : *) ->
? (B : (A -> *)) ->
? (t : (? (r : *) -> (? (x : a) -> (B x) -> r)) -> r) ->
(t (B (t A (? (x : A) -> ? (y : (B x)) -> x)))
(? (x : A) -> ? (y : (B x)) -> y))
Run Code Online (Sandbox Code Playgroud)
请注意,由于该函数返回的值取决于sigma本身内部的值,因此我需要提取该值.此代码不会检查,因为,我认为,它无法将从Sigma中提取的类型与其中的类型统一起来.
有没有解决方法?