proposition: Lemma length_firstn_skipn_app' {A} : forall (n m o : nat) (l : list A), length l = n + m + o -> length (firstn o (skipn (n + m) l)) = o.
proof: Proof. induction n; simpl. induction m; simpl; eauto. induction o; simpl. destruct l; simpl; eauto. destruct l; simpl; eauto. destruct l; simpl; eauto. intros; discriminate. intros; f_equal; eauto. destruct l; simpl. intros; discriminate. intros; f_equal; eauto. Qed.
imports: Fiat.Common.Coq__8_4__8_5__Compat Coq.Bool.Bool Coq.ZArith.ZArith Coq.Lists.List Fiat.Common.DecideableEnsembles Fiat.Common.EnumType Fiat.Common.BoundedLookup Fiat.Common Fiat.Common.ilist Fiat.Common.Tactics.CacheStringConstant Fiat.Common.IterateBoundedIndex Fiat.Computation Bedrock.Word