DEFINITION plus_sym()
TYPE =
       n:nat.m:nat.(eq nat (plus n m) (plus m n))
BODY =
        assume nnat
        assume mnat
          we proceed by induction on n to prove eq nat (plus n m) (plus m n)
             case O : 
                the thesis becomes eq nat (plus O m) (plus m O)
                   by (plus_n_O .)
                   we proved eq nat m (plus m O)
eq nat (plus O m) (plus m O)
             case S : y:nat 
                the thesis becomes eq nat (plus (S y) m) (plus m (S y))
                (H) by induction hypothesis we know eq nat (plus y m) (plus m y)
                   by (plus_n_Sm . .)
                   we proved eq nat (S (plus m y)) (plus m (S y))
                   we proceed by induction on the previous result to prove eq nat (S (plus y m)) (plus m (S y))
                      case refl_equal : 
                         the thesis becomes eq nat (S (plus y m)) (S (plus m y))
                            by (f_equal . . . . . H)
eq nat (S (plus y m)) (S (plus m y))
                   we proved eq nat (S (plus y m)) (plus m (S y))
eq nat (plus (S y) m) (plus m (S y))
          we proved eq nat (plus n m) (plus m n)
       we proved n:nat.m:nat.(eq nat (plus n m) (plus m n))