DEFINITION iso_flats_lref_bind_false()
TYPE =
       f:F
         .b:B
           .i:nat
             .v:T
               .t:T
                 .vs:TList
                   .iso (THeads (Flat f) vs (TLRef i)) (THead (Bind b) v t)
                     P:Prop.P
BODY =
        assume fF
        assume bB
        assume inat
        assume vT
        assume tT
        assume vsTList
          we proceed by induction on vs to prove 
             iso (THeads (Flat f) vs (TLRef i)) (THead (Bind b) v t)
               P:Prop.P
             case TNil : 
                the thesis becomes 
                iso (THeads (Flat f) TNil (TLRef i)) (THead (Bind b) v t)
                  P:Prop.P
                   we must prove 
                         iso (THeads (Flat f) TNil (TLRef i)) (THead (Bind b) v t)
                           P:Prop.P
                   or equivalently (iso (TLRef i) (THead (Bind b) v t))P:Prop.P
                    suppose Hiso (TLRef i) (THead (Bind b) v t)
                    assume PProp
                      (H_x
                         by (iso_gen_lref . . H)
ex nat λn2:nat.eq T (THead (Bind b) v t) (TLRef n2)
                      end of H_x
                      (H0consider H_x
                      we proceed by induction on H0 to prove P
                         case ex_intro : x:nat H1:eq T (THead (Bind b) v t) (TLRef x) 
                            the thesis becomes P
                               (H2
                                  we proceed by induction on H1 to prove 
                                     <λ:T.Prop>
                                       CASE TLRef x OF
                                         TSort False
                                       | TLRef False
                                       | THead   True
                                     case refl_equal : 
                                        the thesis becomes 
                                        <λ:T.Prop>
                                          CASE THead (Bind b) v t OF
                                            TSort False
                                          | TLRef False
                                          | THead   True
                                           consider I
                                           we proved True

                                              <λ:T.Prop>
                                                CASE THead (Bind b) v t OF
                                                  TSort False
                                                | TLRef False
                                                | THead   True

                                     <λ:T.Prop>
                                       CASE TLRef x OF
                                         TSort False
                                       | TLRef False
                                       | THead   True
                               end of H2
                               consider H2
                               we proved 
                                  <λ:T.Prop>
                                    CASE TLRef x OF
                                      TSort False
                                    | TLRef False
                                    | THead   True
                               that is equivalent to False
                               we proceed by induction on the previous result to prove P
P
                      we proved P
                   we proved (iso (TLRef i) (THead (Bind b) v t))P:Prop.P

                      iso (THeads (Flat f) TNil (TLRef i)) (THead (Bind b) v t)
                        P:Prop.P
             case TCons : t0:T t1:TList 
                the thesis becomes 
                (iso
                    THeads (Flat f) (TCons t0 t1) (TLRef i)
                    THead (Bind b) v t)
                  P:Prop.P
                () by induction hypothesis we know 
                   iso (THeads (Flat f) t1 (TLRef i)) (THead (Bind b) v t)
                     P:Prop.P
                   we must prove 
                         (iso
                             THeads (Flat f) (TCons t0 t1) (TLRef i)
                             THead (Bind b) v t)
                           P:Prop.P
                   or equivalently 
                         (iso
                             THead (Flat f) t0 (THeads (Flat f) t1 (TLRef i))
                             THead (Bind b) v t)
                           P:Prop.P
                    suppose H0
                       iso
                         THead (Flat f) t0 (THeads (Flat f) t1 (TLRef i))
                         THead (Bind b) v t
                    assume PProp
                      (H_x
                         by (iso_gen_head . . . . H0)
ex_2 T T λv2:T.λt2:T.eq T (THead (Bind b) v t) (THead (Flat f) v2 t2)
                      end of H_x
                      (H1consider H_x
                      we proceed by induction on H1 to prove P
                         case ex_2_intro : x0:T x1:T H2:eq T (THead (Bind b) v t) (THead (Flat f) x0 x1) 
                            the thesis becomes P
                               (H3
                                  we proceed by induction on H2 to prove 
                                     <λ:T.Prop>
                                       CASE THead (Flat f) x0 x1 OF
                                         TSort False
                                       | TLRef False
                                       | THead k  <λ:K.Prop> CASE k OF Bind True | Flat False
                                     case refl_equal : 
                                        the thesis becomes 
                                        <λ:T.Prop>
                                          CASE THead (Bind b) v t OF
                                            TSort False
                                          | TLRef False
                                          | THead k  <λ:K.Prop> CASE k OF Bind True | Flat False
                                           consider I
                                           we proved True

                                              <λ:T.Prop>
                                                CASE THead (Bind b) v t OF
                                                  TSort False
                                                | TLRef False
                                                | THead k  <λ:K.Prop> CASE k OF Bind True | Flat False

                                     <λ:T.Prop>
                                       CASE THead (Flat f) x0 x1 OF
                                         TSort False
                                       | TLRef False
                                       | THead k  <λ:K.Prop> CASE k OF Bind True | Flat False
                               end of H3
                               consider H3
                               we proved 
                                  <λ:T.Prop>
                                    CASE THead (Flat f) x0 x1 OF
                                      TSort False
                                    | TLRef False
                                    | THead k  <λ:K.Prop> CASE k OF Bind True | Flat False
                               that is equivalent to False
                               we proceed by induction on the previous result to prove P
P
                      we proved P
                   we proved 
                      (iso
                          THead (Flat f) t0 (THeads (Flat f) t1 (TLRef i))
                          THead (Bind b) v t)
                        P:Prop.P

                      (iso
                          THeads (Flat f) (TCons t0 t1) (TLRef i)
                          THead (Bind b) v t)
                        P:Prop.P
          we proved 
             iso (THeads (Flat f) vs (TLRef i)) (THead (Bind b) v t)
               P:Prop.P
       we proved 
          f:F
            .b:B
              .i:nat
                .v:T
                  .t:T
                    .vs:TList
                      .iso (THeads (Flat f) vs (TLRef i)) (THead (Bind b) v t)
                        P:Prop.P