Prelude for Interactive (Oracle) Reductions #
This file contains preliminary definitions and instances that is used in defining I(O)Rs.
⊕ᵥ is notation for Sum.rec, the dependent elimination of `Sum.
This sends (a : α) → γ (.inl a) and (b : β) → γ (.inr b) to (a : α ⊕ β) → γ a.
Instances For
@[implicit_reducible]
VCVCompabible is a type class for types that are finite, inhabited, and have decidable
equality. These instances are needed when the type is used as the range of some OracleSpec.
- default : α
- type_decidableEq' : DecidableEq α
Instances
@[implicit_reducible]
@[implicit_reducible]
@[implicit_reducible]
instance
instVCVCompatibleForallFin
{α : Type u_1}
{n : ℕ}
[VCVCompatible α]
:
VCVCompatible (Fin n → α)
@[implicit_reducible]
instance
instVCVCompatibleVector
{α : Type u_1}
{n : ℕ}
[VCVCompatible α]
:
VCVCompatible (Vector α n)
@[implicit_reducible]
@[simp]