/** * Boolean algebras are Heyting algebras with the additional constraint that the law of the excluded middle is true * (equivalently, double-negation is true). * * Instances should satisfy the following laws in addition to the `HeytingAlgebra` laws: * * - Excluded middle: `a ∨ ¬a <-> 1` * * Boolean algebras generalize classical logic: one is equivalent to "true" and zero is equivalent to "false". * * @since 2.0.0 */ import { HeytingAlgebra } from './HeytingAlgebra' /** * @category model * @since 2.0.0 */ export interface BooleanAlgebra extends HeytingAlgebra {} /** * Every boolean algebras has a dual algebra, which involves reversing one/zero as well as join/meet. * * @since 2.10.0 */ export declare const reverse: (B: BooleanAlgebra) => BooleanAlgebra /** * @category instances * @since 2.0.0 */ export declare const booleanAlgebraVoid: BooleanAlgebra /** * Use [`reverse`](#reverse) instead. * * @category zone of death * @since 2.0.0 * @deprecated */ export declare const getDualBooleanAlgebra: (B: BooleanAlgebra) => BooleanAlgebra /** * Use [`BooleanAlgebra`](./boolean.ts.html#booleanalgebra) instead. * * @category zone of death * @since 2.0.0 * @deprecated */ export declare const booleanAlgebraBoolean: BooleanAlgebra /** * Use [`getBooleanAlgebra`](./function.ts.html#getbooleanalgebra) instead. * * @category zone of death * @since 2.0.0 * @deprecated */ export declare const getFunctionBooleanAlgebra: ( B: BooleanAlgebra ) => () => BooleanAlgebra<(a: A) => B>