fact: Fixpoint split_BitString (l : BitString) : (list char) * {n : nat & word n} := match l return (list char) * {n : nat & word n} with | b0 :: b1 :: b2 :: b3 :: b4 :: b5 :: b6 :: b7 :: l' => let (l'', back) := split_BitString l' in (WS b7 (WS b6 (WS b5 (WS b4 (WS b3 (WS b2 (WS b1 (WS b0 WO))))))) :: l'', back) | [b0; b1; b2; b3; b4; b5; b6] => ([], existT _ _ (WS b6 (WS b5 (WS b4 (WS b3 (WS b2 (WS b1 (WS b0 WO)))))))) | [b0; b1; b2; b3; b4; b5] => ([], existT _ _ (WS b5 (WS b4 (WS b3 (WS b2 (WS b1 (WS b0 WO))))))) | [b0; b1; b2; b3; b4] => ([], existT _ _ (WS b4 (WS b3 (WS b2 (WS b1 (WS b0 WO)))))) | [b0; b1; b2; b3] => ([], existT _ _ (WS b3 (WS b2 (WS b1 (WS b0 WO))))) | [b0; b1; b2] => ([], existT _ _ (WS b2 (WS b1 (WS b0 WO)))) | [b0; b1] => ([], existT _ _ (WS b1 (WS b0 WO))) | [b0] => ([], existT _ _ (WS b0 WO)) | _ => ([], existT _ _ WO) end.
imports: Fiat.Common.Coq__8_4__8_5__Compat Bedrock.Word Coq.ZArith.ZArith Coq.NArith.NArith Coq.Arith.Arith Coq.Numbers.Natural.Peano.NPeano Coq.Logic.Eqdep_dec Fiat.Narcissus.Common.Specs