DEFINITION s_plus_sym()
TYPE =
       k:K.i:nat.j:nat.(eq nat (s k (plus i j)) (plus i (s k j)))
BODY =
       assume kK
          we proceed by induction on k to prove i:nat.j:nat.(eq nat (s k (plus i j)) (plus i (s k j)))
             case Bind : :B 
                the thesis becomes i:nat.j:nat.(eq nat (S (plus i j)) (plus i (S j)))
                    assume inat
                    assume jnat
                      (h1
                         by (refl_equal . .)
eq nat (plus i (S j)) (plus i (S j))
                      end of h1
                      (h2
                         by (plus_n_Sm . .)
eq nat (S (plus i j)) (plus i (S j))
                      end of h2
                      by (eq_ind_r . . . h1 . h2)
                      we proved eq nat (S (plus i j)) (plus i (S j))
                      that is equivalent to eq nat (s (Bind __3) (plus i j)) (plus i (s (Bind __3) j))
i:nat.j:nat.(eq nat (S (plus i j)) (plus i (S j)))
             case Flat : f:F 
                the thesis becomes 
                i:nat
                  .j:nat.(eq nat (plus i (s (Flat f) j)) (plus i (s (Flat f) j)))
                    assume inat
                    assume jnat
                      by (refl_equal . .)
                      we proved eq nat (plus i (s (Flat f) j)) (plus i (s (Flat f) j))
                      that is equivalent to eq nat (s (Flat f) (plus i j)) (plus i (s (Flat f) j))

                      i:nat
                        .j:nat.(eq nat (plus i (s (Flat f) j)) (plus i (s (Flat f) j)))
          we proved i:nat.j:nat.(eq nat (s k (plus i j)) (plus i (s k j)))
       we proved k:K.i:nat.j:nat.(eq nat (s k (plus i j)) (plus i (s k j)))