(** ** BPCP reduces to iBPCP *)
Definition card_eq : forall x y : card bool, {x = y} + {x <> y}.

(* Specifications: *)
Lemma itau_tau2 P A : A <<= P -> itau2 P (f P A) = tau2 A.
Definition g (P : BSRS) (A : list nat) := map (fun n => nth n P ( [] / [] )) A.
Lemma tau_itau1 P A : (forall a : nat, a el A -> a < | P |) -> tau1 (g P A) = itau1 P A.
Lemma tau_itau2 P A : (forall a : nat, a el A -> a < | P |) -> tau2 (g P A) = itau2 P A.
Lemma BPCP_iBPCP : BPCP ⪯ iBPCP.