DEFINITION csuba_gen_abbr_rev()
TYPE =
       g:G
         .d1:C
           .c:C
             .u1:T
               .csuba g c (CHead d1 (Bind Abbr) u1)
                 (or3
                      ex2 C λd2:C.eq C c (CHead d2 (Bind Abbr) u1) λd2:C.csuba g d2 d1
                      ex4_3
                        C
                        T
                        A
                        λd2:C.λu2:T.λ:A.eq C c (CHead d2 (Bind Abst) u2)
                        λd2:C.λ:T.λ:A.csuba g d2 d1
                        λd2:C.λu2:T.λa:A.arity g d2 u2 (asucc g a)
                        λ:C.λ:T.λa:A.arity g d1 u1 a
                      ex2_2 C T λd2:C.λu2:T.eq C c (CHead d2 (Bind Void) u2) λd2:C.λ:T.csuba g d2 d1)
BODY =
Show proof