proposition: Lemma greatest_fixpoint_of_lists_correct_2 (lsA := fst greatest_fixpoint_of_lists) (lsB := snd greatest_fixpoint_of_lists) : fold_right andb true (map (fB lsA lsB) lsB) = true.
proof: Proof. unfold lsB at 2. rewrite <- greatest_fixpoint_of_lists_fixpoint. unfold step; simpl. apply fold_right_andb_true_map_filter. Qed.
imports: Fiat.Common.Coq__8_4__8_5__Compat Coq.Arith.EqNat Coq.Arith.Compare_dec Coq.ZArith.ZArith Coq.Lists.List Fiat.Common.List.ListFacts Fiat.Common