Library Bitset.ops.insert
From Ssreflect
Require Import ssreflect ssrbool eqtype ssrnat seq fintype ssrfun.
From MathComp
Require Import tuple finset.
From Bits
Require Import bits.
Require Import spec.
Definition insert {n}(bs: BITS n) k: BITS n := orB bs (shlBn #1 k).
Lemma insert_repr: forall n (bs: BITS n) (k: 'I_n) E, repr bs E ->
repr (insert bs k) (k |: E).
Proof.
move=> n bs k E HE.
rewrite /repr -setP /eq_mem=> x.
rewrite in_set getBit_set_true=> //.
rewrite fun_if.
case H: (x == k).
+
move/eqP: H ->.
by rewrite eq_refl setU11.
+
rewrite ifF=> //.
by rewrite in_setU1 H HE in_set.
Qed.
Require Import ssreflect ssrbool eqtype ssrnat seq fintype ssrfun.
From MathComp
Require Import tuple finset.
From Bits
Require Import bits.
Require Import spec.
Definition insert {n}(bs: BITS n) k: BITS n := orB bs (shlBn #1 k).
Lemma insert_repr: forall n (bs: BITS n) (k: 'I_n) E, repr bs E ->
repr (insert bs k) (k |: E).
Proof.
move=> n bs k E HE.
rewrite /repr -setP /eq_mem=> x.
rewrite in_set getBit_set_true=> //.
rewrite fun_if.
case H: (x == k).
+
move/eqP: H ->.
by rewrite eq_refl setU11.
+
rewrite ifF=> //.
by rewrite in_setU1 H HE in_set.
Qed.
This page has been generated by coqdoc