fact: Record Adversary_2 (efficient : EfficiencyPredicate) (D1 : nat -> Type)(R1 : DataTypeFamily)(D2 : nat -> Type)(R2 : DataTypeFamily) :={ Adversary_2_to_concrete : forall n, Adversary_2_concrete (D1 n) (R1 n) (D2 n) (R2 n); A2_A1_efficient : efficient _ _ (fun n => (Adversary_2_to_concrete n).(A2_A1)); A2_A2_efficient: efficient _ _ (fun n => @A2_A2 _ _ _ _ (Adversary_2_to_concrete n)) }.
imports: FCF CompFold Asymptotic