Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
Booleans.
val error : t
an ill-formed term.
val var : string -> t
var s
is var Bool.t (ctxt s)
.
val unknown : unit -> t
unknown ()
is unk Bool.t
let_bit s x y
is scoped @@ fun v -> (bool x) (bool [y|s->v])
.
Note, the let_bit
rule is not mapped to the let_
term, but instead a scoped fresh variable v
is created and s
is substituted with v
in y
.
let_reg s x y
is scoped @@ fun v -> (bitv x) (bool [y|s->v])
.
Note, the let_reg
rule is not mapped to the let_
term, but instead a scoped fresh variable v
is created and s
is substituted with v
in y
.
let_mem s x y
is scoped @@ fun v -> (mem x) (bool [y|s->v])
.
Note, the let_mem
rule is not mapped to the let_
term, but instead a scoped fresh variable v
is created and s
is substituted with v
in y
.
let_float s x y
is scoped @@ fun v -> (float x) (bool [y|s->v])
.
Note, the let_float
rule is not mapped to the let_
term, but instead a scoped fresh variable v
is created and s
is substituted with v
in y
.
fle x y
is p < q \/ p = q
,
where p = float x
, and q = float y
, and p < q
if forder p q
, and r \/ s
is or_ r s
, and p = q
if (not (p < q) /\ not (q < p)), and r /\ s
is and_ r s
, and not r
is inv r
.