module Stdlib.Data.Bool.Base;
import Juvix.Builtin.V1.Bool open public;
import Stdlib.Data.Fixity open;
--- Logical negation.
not : Bool → Bool
| true := false
| false := true;
syntax operator || logical;
--- Logical disjunction. Evaluated lazily. Cannot be partially applied
builtin bool-or
|| : Bool → Bool → Bool
| true _ := true
| false a := a;
syntax operator && logical;
--- Logical conjunction. Evaluated lazily. Cannot be partially applied.
builtin bool-and
&& : Bool → Bool → Bool
| true a := a
| false _ := false;
--- Returns the first argument if ;true;, otherwise it returns the second argument. Evaluated lazily. Cannot be partially applied.
builtin bool-if
ite : {A : Type} → Bool → A → A → A
| true a _ := a
| false _ b := b;
--- Logical disjunction.
or (a b : Bool) : Bool := a || b;
--- Logical conjunction.
and (a b : Bool) : Bool := a && b;
Last modified on 2024-07-11 16:35 UTC