The Boolean matrix problem is a well-known problem in computer science where we are given an m x n matrix of 0s and 1s, and we need to modify the matrix such that if an element in the matrix is 1, then its corresponding row and column are all set to 1. In other words, we need to transform the matrix such that for each 1 in the matrix, all the elements in the same row and column as the 1 are also set to 1.

def boolean_matrix(matrix):
    m = len(matrix)
    n = len(matrix[0])
    rows = [False] * m
    cols = [False] * n
 
    # Step 1: Mark rows and columns that need to be set to 1
    for i in range(m):
        for j in range(n):
            if matrix[i][j] == 1:
                rows[i] = True
                cols[j] = True
 
    # Step 2: Set matrix[i][j] to 1 if either row i or column j is marked
    for i in range(m):
        for j in range(n):
            if matrix[i][j] == 0 and (rows[i] or cols[j]):
                matrix[i][j] = 1
 
    # Step 3: Set rows and columns that were marked in Step 1 to 1
    for i in range(m):
        if rows[i]:
            for j in range(n):
                matrix[i][j] = 1
 
    for j in range(n):
        if cols[j]:
            for i in range(m):
                matrix[i][j] = 1
 
    return matrix
 
matrix = [[1, 0, 0],
          [0, 0, 1],
          [0, 0, 0]]
 
result = boolean_matrix(matrix)
print(result)