Additions to VCV-io's OracleComp.Coercions.SubSpec #
theorem
OracleComp.mem_support_of_mem_support_liftComp
{ι τ α : Type}
{spec : OracleSpec ι}
{superSpec : OracleSpec τ}
[MonadLiftT (OracleQuery spec) (OracleQuery superSpec)]
(oa : OracleComp spec α)
(x : α)
:
theorem
OracleComp.liftComp_bind_pure
{ι τ α β : Type}
{spec : OracleSpec ι}
{superSpec : OracleSpec τ}
[MonadLiftT (OracleQuery spec) (OracleQuery superSpec)]
(oa : OracleComp spec α)
(f : α → β)
:
theorem
OracleComp.bind_liftComp_map
{ι τ α β γ : Type}
{spec : OracleSpec ι}
{superSpec : OracleSpec τ}
[MonadLiftT (OracleQuery spec) (OracleQuery superSpec)]
(oa : OracleComp spec α)
(f : α → β)
(body : β → OracleComp superSpec γ)
: