Library Bitset.ops.get
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 get {n}(bs: BITS n)(k: 'I_n): bool
:= (andB (shrBn bs k) #1) == #1.
Lemma get_repr: forall n (k: 'I_n.+1)(bs: BITS n.+1) E, repr bs E ->
get bs k = (k \in E).
Proof.
move=> n k bs E HE.
rewrite /get andB_mask1 getBit_shrBn addn0=> //.
rewrite HE in_set.
case: (getBit bs k).
+
by rewrite eq_refl.
+
by case H: (#0 == #1)=> //.
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 get {n}(bs: BITS n)(k: 'I_n): bool
:= (andB (shrBn bs k) #1) == #1.
Lemma get_repr: forall n (k: 'I_n.+1)(bs: BITS n.+1) E, repr bs E ->
get bs k = (k \in E).
Proof.
move=> n k bs E HE.
rewrite /get andB_mask1 getBit_shrBn addn0=> //.
rewrite HE in_set.
case: (getBit bs k).
+
by rewrite eq_refl.
+
by case H: (#0 == #1)=> //.
Qed.
This page has been generated by coqdoc