proposition: Theorem flatten_valid_A_2: forall (t t' : bin) (l : list A), bin_A l (flatten t) = bin_A l (flatten t') -> bin_A l t = bin_A l t'.
proof: Proof. intros t t' l Heq. rewrite (flatten_valid_A l t); now rewrite (flatten_valid_A l t'). Qed.
imports: ZArith List Arith Zwf Relations Inverse_Image Transitive_Closure Zdiv