DEFINITION Acc_ind()
TYPE =
       A:Set
         .R:AAProp
           .P:AProp
             .a:A.(y:A.(R y a)(Acc A R y))(a1:A.(R a1 a)(P a1))(P a)
               a:A.(Acc A R a)(P a)
BODY =
        assume ASet
        assume RAAProp
        assume PAProp
        suppose Ha:A.(y:A.(R y a)(Acc A R y))(a1:A.(R a1 a)(P a1))(P a)
          (aux) by well-founded reasoning we prove a:A.(Acc A R a)(P a)
           assume aA
           suppose H1Acc A R a
             by cases on H1 we prove P a
                case Acc_intro a1:A H2:y:A.(R y a1)(Acc A R y) 
                   the thesis becomes P a1
                    assume a2A
                    suppose H3R a2 a1
                      by (H2 . H3)
                      we proved Acc A R a2
                      by (aux . previous)
                      we proved P a2
                   we proved a2:A.(R a2 a1)(P a2)
                   by (H . H2 previous)
P a1
             we proved P a
a:A.(Acc A R a)(P a)
          done
          consider aux
          we proved a:A.(Acc A R a)(P a)
       we proved 
          A:Set
            .R:AAProp
              .P:AProp
                .a:A.(y:A.(R y a)(Acc A R y))(a1:A.(R a1 a)(P a1))(P a)
                  a:A.(Acc A R a)(P a)