A type for VM-erased data #
This file defines a type Erased α which is classically isomorphic to α,
but erased in the VM. That is, at runtime every value of Erased α is
represented as 0, just like types and proofs.
@[macro_inline]
Erase a value.
Instances For
Extracts the erased value, noncomputably.
Instances For
@[reducible, inline]
Extracts the erased value, if it is a type.
Note: (mk a).OutType is not definitionally equal to a.
Instances For
Extracts the erased value, if it is a proof.
Equivalence between Erased α and α.
Instances For
@[implicit_reducible]
Computably produce an erased value from a proof of nonemptiness.
Instances For
@[simp]
@[implicit_reducible]
@[simp]
Collapses two levels of erasure.
Instances For
@[simp]
(<$>) operation on Erased.
This is a separate definition because α and β can live in different
universes (the universe is fixed in Functor).
Instances For
@[simp]
@[simp]
@[simp]