Definition decide (P : Prop) := {P} + {~ P}.Inductive Acc3 (A B C : Set) (R : relation (A * (B * C))) :
  A -> B -> C -> Prop :=
      Acc3_intro :
        forall (x : A) (x0 : B) (x1 : C),
        (forall (y : A) (y0 : B) (y1 : C),
         R (y, (y0, y1)) (x, (x0, x1)) -> Acc3 R y y0 y1) -> 
        Acc3 R x x0 x1.Inductive Acc3 (A B C : Set) (R : relation (A * (B * C))) :
  A -> B -> C -> Prop :=
      Acc3_intro :
        forall (x : A) (x0 : B) (x1 : C),
        (forall (y : A) (y0 : B) (y1 : C),
         R (y, (y0, y1)) (x, (x0, x1)) -> Acc3 R y y0 y1) -> 
        Acc3 R x x0 x1.

(* Specifications: *)
Lemma Acc3_rec : forall (A B C : Set) (R : relation (A * (B * C))) (P : A -> B -> C -> Set), (forall (x : A) (x0 : B) (x1 : C), (forall (y : A) (y0 : B) (y1 : C), R (y, (y0, y1)) (x, (x0, x1)) -> P y y0 y1) -> P x x0 x1) -> forall (x : A) (x0 : B) (x1 : C), Acc3 R x x0 x1 -> P x x0 x1.
Lemma Acc_Acc3 : forall (A B C : Set) (R : relation (A * (B * C))) (x : A) (y : B) (z : C), Acc R (x, (y, z)) -> Acc3 R x y z.