Skip to content

Commit

Permalink
Remove unused symbols Reach and Fixed (#960)
Browse files Browse the repository at this point in the history
These symboles are never produced by both legacy and Dolmen parsers.
This commit removes them completely.
  • Loading branch information
Halbaroth authored Nov 21, 2023
1 parent cb9c90c commit 7ee15af
Show file tree
Hide file tree
Showing 4 changed files with 5 additions and 13 deletions.
6 changes: 1 addition & 5 deletions src/lib/reasoners/arith.ml
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ module Shostak
match sy with
| Int _ | Real _ -> true
| Op (Plus | Minus | Mult | Div | Modulo
| Float | Fixed | Abs_int | Abs_real | Sqrt_real
| Float | Abs_int | Abs_real | Sqrt_real
| Sqrt_real_default | Sqrt_real_excess
| Real_of_int | Int_floor | Int_ceil
| Max_int | Max_real | Min_int | Min_real
Expand Down Expand Up @@ -354,10 +354,6 @@ module Shostak
mk_partial_interpretation_2
(fun x y -> calc_power x y ty) coef p ty t x y, ctx

| Sy.Op Sy.Fixed, _ ->
(* Fixed-Point arithmetic currently not implemented *)
assert false

(*** <end>: partial handling of some arith/FPA operators **)

| _ ->
Expand Down
2 changes: 1 addition & 1 deletion src/lib/structures/modelMap.ml
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ let is_suspicious_name hs =
(* The model generation is known to be imcomplete for FPA and Bitvector
theories. *)
let is_suspicious_symbol = function
| Sy.Op (Float | Fixed | Abs_int | Abs_real | Sqrt_real
| Sy.Op (Float | Abs_int | Abs_real | Sqrt_real
| Sqrt_real_default | Sqrt_real_excess
| Real_of_int | Int_floor | Int_ceil
| Max_int | Max_real | Min_int | Min_real
Expand Down
7 changes: 2 additions & 5 deletions src/lib/structures/symbols.ml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ type operator =
| Tite
(* Arithmetic *)
| Plus | Minus | Mult | Div | Modulo | Pow
| Reach
(* ADTs *)
| Access of Hstring.t | Record
| Constr of Hstring.t (* enums, adts *)
Expand All @@ -49,7 +48,7 @@ type operator =
| BVnot | BVand | BVor | Int2BV of int | BV2Nat
(* FP *)
| Float
| Integer_round | Fixed
| Integer_round
| Sqrt_real | Sqrt_real_default | Sqrt_real_excess
| Abs_int | Abs_real | Real_of_int | Real_is_int
| Int_floor | Int_ceil | Integer_log2
Expand Down Expand Up @@ -165,7 +164,7 @@ let compare_operators op1 op2 =
if c <> 0 then c
else Stdlib.compare b1 b2
| _ , (Plus | Minus | Mult | Div | Modulo | Real_is_int
| Concat | Extract _ | Get | Set | Fixed | Float | Reach
| Concat | Extract _ | Get | Set | Float
| Access _ | Record | Sqrt_real | Abs_int | Abs_real
| Real_of_int | Int_floor | Int_ceil | Sqrt_real_default
| Sqrt_real_excess | Min_real | Min_int | Max_real | Max_int
Expand Down Expand Up @@ -344,7 +343,6 @@ let to_string ?(show_vars=true) x = match x with
| Op Get -> "get"
| Op Set -> "set"
| Op Float -> "float"
| Op Fixed -> "fixed"
| Op Abs_int -> "abs_int"
| Op Abs_real -> "abs_real"
| Op Sqrt_real -> "sqrt_real"
Expand Down Expand Up @@ -372,7 +370,6 @@ let to_string ?(show_vars=true) x = match x with
| Op Int2BV n -> Format.sprintf "int2bv[%d]" n
| Op BV2Nat -> "bv2nat"
| Op Tite -> "ite"
| Op Reach -> assert false
| True -> "true"
| False -> "false"
| Void -> "void"
Expand Down
3 changes: 1 addition & 2 deletions src/lib/structures/symbols.mli
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ type operator =
| Tite
(* Arithmetic *)
| Plus | Minus | Mult | Div | Modulo | Pow
| Reach
(* ADTs *)
| Access of Hstring.t | Record
| Constr of Hstring.t (* enums, adts *)
Expand All @@ -49,7 +48,7 @@ type operator =
| BVnot | BVand | BVor | Int2BV of int | BV2Nat
(* FP *)
| Float
| Integer_round | Fixed
| Integer_round
| Sqrt_real | Sqrt_real_default | Sqrt_real_excess
| Abs_int | Abs_real | Real_of_int | Real_is_int
| Int_floor | Int_ceil | Integer_log2
Expand Down

0 comments on commit 7ee15af

Please sign in to comment.