proposition: Lemma one_step_list_length_eq : forall A R (l1 l2 : list A), one_step_list R l1 l2 -> length l1 = length l2.
proof: Proof. intros A R; fix one_step_list_length_eq 1. intros l1; case l1; clear l1. intros l2 H; inversion H. intros a1 l1 l2 H; inversion H as [b1 b2 l H1 | b k1 k2 Hk]; subst. apply eq_refl. simpl; rewrite (one_step_list_length_eq _ _ Hk); apply eq_refl. Qed.
imports: Coq(Setoid Relations List Wellfounded)