Portability | non-portable |
---|---|

Stability | experimental |

Maintainer | Edward Kmett <ekmett@gmail.com> |

Safe Haskell | None |

# Documentation

A `Bit`

provides a reference to a possibly indeterminate boolean
value that can be determined by an external SAT solver.

The normal `Bool`

operators in Haskell are not overloaded. This
provides a richer set that are.

Instances for this class for product-like types can be automatically derived
for any type that is an instance of `Generic`

Lift a `Bool`

Logical conjunction.

Logical disjunction (inclusive or).

Logical implication.

Logical negation

The logical conjunction of several values.

The logical disjunction of several values.

Exclusive-or

:: t | False branch |

-> t | True branch |

-> t | Predicate/selector branch |

-> t |

Choose between two alternatives based on a selector bit.