package bastet

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Many valued logics in general have to relax certain constraints in order to be heyting or boolean algebras, such as:

  • The reflexivity conditions of equivalence and implication (may be quasi-reflexive)
  • The law of excluded middle
module type EQ_F = functor (Ok : Interface.TYPE) -> functor (Error : Interface.TYPE) -> Interface.EQ with type t = (Ok.t, Error.t) Stdlib.result
module type ORD_F = functor (Ok : Interface.TYPE) -> functor (Error : Interface.TYPE) -> Interface.ORD with type t = (Ok.t, Error.t) Stdlib.result
module type JOIN_SEMILATTICE_F = functor (Ok : Interface.JOIN_SEMILATTICE) -> functor (Error : Interface.JOIN_SEMILATTICE) -> Interface.JOIN_SEMILATTICE with type t = (Ok.t, Error.t) Stdlib.result
module type MEET_SEMILATTICE_F = functor (Ok : Interface.MEET_SEMILATTICE) -> functor (Error : Interface.MEET_SEMILATTICE) -> Interface.MEET_SEMILATTICE with type t = (Ok.t, Error.t) Stdlib.result
module type HEYTING_ALGEBRA_F = functor (Ok : Interface.HEYTING_ALGEBRA) -> functor (Error : Interface.HEYTING_ALGEBRA) -> Interface.HEYTING_ALGEBRA with type t = (Ok.t, Error.t) Stdlib.result
module Lattice (Ok : Interface.LATTICE) (Error : Interface.LATTICE) : sig ... end