free_op_type :: OP_TYPE -> OP_TYPE
free_op_type (Op_type _ args res r) = Op_type Total args' res' r
     where args' = map mkFreeName args
           res' = mkFreeName res

-- | generates the free representation of a PRED_SYMB
free_op_type :: OP_TYPE -> OP_TYPE
free_op_type (Op_type _ args res r) = Op_type Total args' res' r
     where args' = map mkFreeName args
           res' = mkFreeName res

-- | generates the free representation of a PRED_SYMB
free_op_type (Op_type _ args res r) = Op_type Total args' res' r
     where args' = map mkFreeName args
           res' = mkFreeName res

-- | generates the free representation of a PRED_SYMB