  (([Bool], [Bool]),
    (IntTF, IntTF, IntTF, IntTF, IntTF, IntTF),
    (Bool, Bool, Bool, Bool, Bool, Bool, Bool))
oracle_aux_simulate l =
  run_classical_generic (\u v -> o1_ORACLE_aux l (2^((length u)-1)) (u,v))

-- | A specialized 'show' for oracle auxiliary data.
show_oracle_details :: Show a => (([Bool], [Bool]),
    (a,a,a,a,a,a),
    (Bool, Bool, Bool, Bool, Bool, Bool, Bool))
    -> String
show_oracle_details ((u,v),(uint,vint,u17,v17,u3,v3),(uF,vF,uH,vH,t_uv,t_uHvH,t_u3v3))
  = (showBits u) ++ " " ++ (showBits v) ++ " " ++
    showBits [uF,vF,uH,vH,t_uv,t_uHvH,t_u3v3] ++ " " ++
    show [uint,vint,u17,v17,u3,v3]