fact: Record ProcedureWithOracle (D_P R_P D_O R_O : Set) := { q : nat; S_P : Set; P1 : D_P -> Comp (D_O * S_P); P2 : S_P -> R_O -> Comp (D_O * S_P); P3 : S_P -> R_O -> Comp R_P; P1_wf : forall x, well_formed_comp (P1 x); P2_wf : forall x y, well_formed_comp (P2 x y); P3_wf : forall x y, well_formed_comp (P3 x y); S_P_EqDec : EqDec S_P; D_O_EqDec : EqDec D_O; R_O_EqDec : EqDec R_O; R_P_EqDec : EqDec R_P }.
imports: FCF CompFold