mirror of
https://github.com/c-cube/sidekick.git
synced 2026-03-11 16:08:46 -04:00
refactor lit a bit
This commit is contained in:
parent
4d02e2a1c7
commit
593b693caf
1 changed files with 7 additions and 12 deletions
|
|
@ -5,21 +5,16 @@ type term = T.t
|
||||||
type t = { lit_term: term; lit_sign: bool }
|
type t = { lit_term: term; lit_sign: bool }
|
||||||
|
|
||||||
let[@inline] neg l = { l with lit_sign = not l.lit_sign }
|
let[@inline] neg l = { l with lit_sign = not l.lit_sign }
|
||||||
let[@inline] sign t = t.lit_sign
|
let[@inline] sign l = l.lit_sign
|
||||||
let[@inline] abs t = { t with lit_sign = true }
|
let[@inline] abs l = { l with lit_sign = true }
|
||||||
let[@inline] term (t : t) : term = t.lit_term
|
let[@inline] term (l : t) : term = l.lit_term
|
||||||
let[@inline] signed_term t = term t, sign t
|
let[@inline] signed_term l = term l, sign l
|
||||||
let make ~sign t = { lit_sign = sign; lit_term = t }
|
let[@inline] make_ ~sign t : t = { lit_sign = sign; lit_term = t }
|
||||||
|
|
||||||
let atom ?(sign = true) (t : term) : t =
|
let atom ?(sign = true) (t : term) : t =
|
||||||
let sign', t = T_builtins.abs t in
|
let sign', t = T_builtins.abs t in
|
||||||
let sign =
|
let sign = sign = sign' in
|
||||||
if not sign' then
|
make_ ~sign t
|
||||||
not sign
|
|
||||||
else
|
|
||||||
sign
|
|
||||||
in
|
|
||||||
make ~sign t
|
|
||||||
|
|
||||||
let make_eq ?sign store t u : t =
|
let make_eq ?sign store t u : t =
|
||||||
let p = T_builtins.eq store t u in
|
let p = T_builtins.eq store t u in
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue