DEFINITION simpl_plus_l()
TYPE =
       n:nat.m:nat.p:nat.(eq nat (plus n m) (plus n p))(eq nat m p)
BODY =
       assume nnat
          we proceed by induction on n to prove m:nat.p:nat.(eq nat (plus n m) (plus n p))(eq nat m p)
             case O : 
                the thesis becomes m:nat.p:nat.(eq nat (plus O m) (plus O p))(eq nat m p)
                    assume mnat
                    assume pnat
                      we must prove (eq nat (plus O m) (plus O p))(eq nat m p)
                      or equivalently (eq nat m p)(eq nat m p)
                      suppose Heq nat m p
                         consider H
                      we proved (eq nat m p)(eq nat m p)
                      that is equivalent to (eq nat (plus O m) (plus O p))(eq nat m p)
m:nat.p:nat.(eq nat (plus O m) (plus O p))(eq nat m p)
             case S : n0:nat 
                the thesis becomes 
                m:nat.p:nat.(eq nat (plus (S n0) m) (plus (S n0) p))(eq nat m p)
                (IHn) by induction hypothesis we know m:nat.p:nat.(eq nat (plus n0 m) (plus n0 p))(eq nat m p)
                    assume mnat
                    assume pnat
                      we must prove (eq nat (plus (S n0) m) (plus (S n0) p))(eq nat m p)
                      or equivalently (eq nat (S (plus n0 m)) (S (plus n0 p)))(eq nat m p)
                      suppose Heq nat (S (plus n0 m)) (S (plus n0 p))
                         by (eq_add_S . . H)
                         we proved eq nat (plus n0 m) (plus n0 p)
                         by (f_equal . . . . . previous)
                         we proved eq nat (plus n0 (plus n0 m)) (plus n0 (plus n0 p))
                         by (IHn . . previous)
                         we proved eq nat (plus n0 m) (plus n0 p)
                         by (IHn . . previous)
                         we proved eq nat m p
                      we proved (eq nat (S (plus n0 m)) (S (plus n0 p)))(eq nat m p)
                      that is equivalent to (eq nat (plus (S n0) m) (plus (S n0) p))(eq nat m p)

                      m:nat.p:nat.(eq nat (plus (S n0) m) (plus (S n0) p))(eq nat m p)
          we proved m:nat.p:nat.(eq nat (plus n m) (plus n p))(eq nat m p)
       we proved n:nat.m:nat.p:nat.(eq nat (plus n m) (plus n p))(eq nat m p)