Ltac uniformize_pys :=
  repeat (rewrite pyth_simpl_1);
  repeat (rewrite pyth_simpl_2);
  repeat
   match goal with
   |  |- context [(Py ?A ?B ?C)] =>
    (match goal with
       |  |- context [(Py C B A)] => rewrite (pyth_sym A B C) in *   
       end)
   |  |- context [(Py ?A ?B ?A)] =>
    (match goal with
       |  |- context [(Py B A B)] => rewrite (pyth_simpl_4 A B) in *   
       end)
   end.

(* Specifications: *)
Lemma test_uniformize_pys : forall A B C, Py A B C - Py C B A + Py A A C + Py A C C + Py A B A - Py B A B = 0.
Lemma py4_1 : forall A B C D, Py4 A B C D = - Py4 A D C B.
Lemma py4_2 : forall A B C D, Py4 A B C D = Py4 B A D C.
Lemma py4_3 : forall A B C D, Py4 A B C D = - Py4 B C D A.
Lemma py4_4 : forall A B C D, Py4 A B C D = Py4 C D A B.
Lemma py4_5 : forall A B C D, Py4 A B C D = - Py4 C B A D.
Lemma py4_6 : forall A B C D, Py4 A B C D = Py4 D C B A.
Lemma py4_7 : forall A B C D, Py4 A B C D = - Py4 D A B C.
Lemma py4_simpl_1 : forall A B C, Py4 A A B C = - Py B A C.
Lemma py4_simpl_2 : forall A B C, Py4 B A A C = Py B A C.
Lemma py4_simpl_3 : forall A B C, Py4 A B A C = 0.
Lemma py4_simpl_4 : forall A B C, Py4 B A C A = 0.
Lemma py4_simpl_5 : forall A B C, Py4 B C A A = - Py B A C.
Lemma py4_simpl_6 : forall A B C, Py4 A B C A = Py B A C.