You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For the motivation see the explanation in #41. In the relational operator case in the equality check for fomulas, we start by deciding if the argument types are the same and then proceed with a homogeneous equality check of the relational operator and the terms
refine (f_equal_dec (fun n => (bvec n, bvsle)) (ninv _ _) (eq_dec n n0)).
refine (f_equal_dec (fun n => (bvec n, bvslt)) (ninv _ _) (eq_dec n n0)).
refine (f_equal_dec (fun n => (bvec n, bvule)) (ninv _ _) (eq_dec n n0)).
refine (f_equal_dec (fun n => (bvec n, bvult)) (ninv _ _) (eq_dec n n0)).
Defined.
Note that this only postpones the checking of the indices. A proper solution might require a heterogeneous equality for symbolic terms, next to the existing homogeneous one.
The text was updated successfully, but these errors were encountered:
For the motivation see the explanation in #41. In the relational operator case in the equality check for fomulas, we start by deciding if the argument types are the same and then proceed with a homogeneous equality check of the relational operator and the terms
katamaran/theories/Symbolic/Solver.v
Lines 605 to 609 in 26a30b5
katamaran/theories/Syntax/BinOps.v
Lines 130 to 143 in 26a30b5
Note that this only postpones the checking of the indices. A proper solution might require a heterogeneous equality for symbolic terms, next to the existing homogeneous one.
The text was updated successfully, but these errors were encountered: