proposition: Lemma cause_step_in_prefix_history: forall p h l'' s l l', (step_star (init p) (h ++ [l'']) s /\ In l h /\ In l' h /\ cause_step (h ++ [l'']) l l') -> cause_step h l l'.
proof: Proof. intros. open_conjs. inversion H2. open_conjs. unfold cause_step. eauto using prec_in_prefix_history. open_conjs. unfold cause_step. eauto 10 using prec_in_prefix_history. Qed.
imports: Coq(FunctionalExtensionality Arith Lia) Coq(Arith.Peano_dec Arith.Compare_dec) Coq(Relations.Relation_Operators) Coq(List) Chapar(Predefs)