mirror of
https://github.com/c-cube/sidekick.git
synced 2025-12-07 19:55:41 -05:00
fix(smtlib): handle "xor"
This commit is contained in:
parent
3d46986161
commit
35e5e30e93
2 changed files with 5 additions and 0 deletions
|
|
@ -134,6 +134,7 @@ let imply_l st xs y = match xs with
|
|||
| _ -> T.app_fun st Funs.imply (IArray.of_list @@ y :: xs)
|
||||
|
||||
let imply st a b = imply_a st (IArray.singleton a) b
|
||||
let xor st a b = not_ st (equiv st a b)
|
||||
|
||||
let distinct_l tst l =
|
||||
match l with
|
||||
|
|
|
|||
|
|
@ -144,6 +144,10 @@ let rec conv_term (ctx:Ctx.t) (t:PA.term) : T.t =
|
|||
errorf_ctx ctx "expected term, not type; got `%s`" f
|
||||
end
|
||||
end
|
||||
| PA.App ("xor", [a;b]) ->
|
||||
let a = conv_term ctx a in
|
||||
let b = conv_term ctx b in
|
||||
Form.xor ctx.tst a b
|
||||
| PA.App (f, args) ->
|
||||
let args = List.map (conv_term ctx) args in
|
||||
begin match find_id_ ctx f with
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue