"""Create logic_validator
Generated by Phi-Octopus Eden
2025-11-07 17:30:02.935221
"""

```python
def create_logic_validator(logic: str) -> callable:
    """
    Creates a logic validator function based on provided logical expressions.

    Args:
        logic (str): A string representing a logical expression to be validated.
                     Supported operators are 'and', 'or', and 'not'.

    Returns:
        callable: A function that takes two boolean arguments and returns True
                  if the provided logic evaluates to True, False otherwise.

    Raises:
        ValueError: If the input logic is not properly formatted or contains unsupported operations.

    Example Usage:
        validator = create_logic_validator("a and b")
        print(validator(True, True))  # Output: True
        print(validator(True, False))  # Output: False

        validator = create_logic_validator("not a or b")
        print(validator(False, True))  # Output: True
    """
    import ast
    import operator

    operators = {
        'and': operator.and_,
        'or': operator.or_,
        'not': operator.not_
    }

    class LogicNode(ast.NodeVisitor):
        def visit_BoolOp(self, node: ast.BoolOp) -> bool:
            op = operators[node.op.__class__.__name__]
            return op(*[self.visit(value) for value in node.values])

        def visit_Name(self, node: ast.Name) -> bool:
            return locals()[node.id]

        def generic_visit(self, node):
            raise ValueError(f"Unsupported operation {type(node)}")

    def logic_validator(a: bool, b: bool) -> bool:
        tree = ast.parse(logic, mode='eval')
        visitor = LogicNode()
        try:
            result = visitor.visit(tree.body)
        except Exception as e:
            raise ValueError("Invalid logic expression") from e
        return result

    return logic_validator


# Example usage
validator_and = create_logic_validator("a and b")
print(validator_and(True, True))  # Output: True
print(validator_and(True, False))  # Output: False

validator_not_or = create_logic_validator("not a or b")
print(validator_not_or(False, True))  # Output: True
```