coqbooks/src/scs.v
Thomas Baruchel 890eccba4d Update
2023-12-02 18:08:19 +01:00

33 lines
763 B
Coq

Require Import subsequences.
Require Import Sorting.Permutation.
Require Import Nat.
Require Import PeanoNat.
Require Import List.
Import ListNotations.
Definition complete_sequence {X: Type} (u base : list X) :=
forall v, Permutation base v -> subsequence u v.
Definition shortest_complete_sequence {X: Type} (u base : list X) :=
complete_sequence u base
/\ forall v, length v < length u -> ~ complete_sequence v base.
Theorem complete_sequence_rev {X: Type} :
forall (u base : list X),
complete_sequence u base -> complete_sequence (rev u) base.
Proof.
intros u base. intro H.
intro p. intro I. apply subsequence_rev. rewrite rev_involutive.
apply H. apply Permutation_trans with (l' := p). assumption.
apply Permutation_rev.
Qed.