DEFINITION arity_ind()
TYPE =
       g:G
         .P:CTAProp
           .c:C.n:nat.(P c (TSort n) (ASort O n))
             (c:C
                    .c1:C
                      .t:T
                        .n:nat
                          .getl n c (CHead c1 (Bind Abbr) t)
                            a:A.(arity g c1 t a)(P c1 t a)(P c (TLRef n) a)
                  (c:C
                         .c1:C
                           .t:T
                             .n:nat
                               .getl n c (CHead c1 (Bind Abst) t)
                                 a:A
                                      .arity g c1 t (asucc g a)
                                        (P c1 t (asucc g a))(P c (TLRef n) a)
                       (b:B
                              .not (eq B b Abst)
                                c:C
                                     .t:T
                                       .a:A
                                         .arity g c t a
                                           (P c t a
                                                t1:T
                                                     .a1:A
                                                       .arity g (CHead c (Bind b) t) t1 a1
                                                         (P (CHead c (Bind b) t) t1 a1)(P c (THead (Bind b) t t1) a1))
                            (c:C
                                   .t:T
                                     .a:A
                                       .arity g c t (asucc g a)
                                         (P c t (asucc g a)
                                              t1:T
                                                   .a1:A
                                                     .arity g (CHead c (Bind Abst) t) t1 a1
                                                       (P (CHead c (Bind Abst) t) t1 a1
                                                            P c (THead (Bind Abst) t t1) (AHead a a1)))
                                 (c:C
                                        .t:T
                                          .a:A
                                            .arity g c t a
                                              (P c t a
                                                   t1:T
                                                        .a1:A
                                                          .arity g c t1 (AHead a a1)
                                                            (P c t1 (AHead a a1))(P c (THead (Flat Appl) t t1) a1))
                                      (c:C
                                             .t:T
                                               .a:A
                                                 .arity g c t (asucc g a)
                                                   (P c t (asucc g a)
                                                        t1:T.(arity g c t1 a)(P c t1 a)(P c (THead (Flat Cast) t t1) a))
                                           (c:C.t:T.a:A.(arity g c t a)(P c t a)a1:A.(leq g a a1)(P c t a1)
                                                c:C.t:T.a:A.(arity g c t a)(P c t a))))))))
BODY =
Show proof