Skip to content

Commit e099af5

Browse files
authored
Merge pull request #1853 from GaloisInc/bb/veceq-refl
Add reflexivity axiom for `vecEq` to SAWCore prelude
2 parents ab51c9b + 861dcc1 commit e099af5

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

saw-core/prelude/Prelude.sawcore

+5
Original file line numberDiff line numberDiff line change
@@ -1192,6 +1192,11 @@ vecEq : (n : Nat) -> (a : isort 0) -> (a -> a -> Bool)
11921192
vecEq n a eqFn x y =
11931193
foldr Bool Bool n and True (zipWith a a Bool eqFn n x y);
11941194

1195+
-- | Reflexivity axiom for 'vecEq'.
1196+
axiom vecEq_refl : (n : Nat) -> (a : isort 0) -> (eqFn : a -> a -> Bool) ->
1197+
((x : a) -> Eq Bool (eqFn x x) True) -> (x : Vec n a) ->
1198+
Eq Bool (vecEq n a eqFn x x) True;
1199+
11951200
-- | Take a prefix of a vector.
11961201
take : (a : isort 0) -> (m n : Nat) -> Vec (addNat m n) a -> Vec m a;
11971202
take a m n v = gen m a (\ (i : Nat) -> at (addNat m n) a v i);

0 commit comments

Comments
 (0)