uwplse / pumpkin-pi

An extension to PUMPKIN PATCH with support for proof repair across type equivalences.
MIT License
49 stars 9 forks source link

Lifting from { s : { j : I_B & B j } & projT1 s = i } to (B i) #79

Closed tlringer closed 4 years ago

tlringer commented 4 years ago

Finally, we can escape the dreaded sigma types. DEVOID is still a bit picky (mostly about dependent pattern matching), but we still get functions and proofs for an entire class of dependent types for free from proofs about non-dependent versions of those types.

This looked a bit different from other classes of lifting. The details are a bit hairy at times. I hope to clear this up much more when I finish the formalization of the generalized algorithm.