Library Div_poly_tes

Require Export ecuaciones_tes.

Fixpoint div_m [p:pol] : monom -> pol :=
   [m:monom]Cases p of
      vpol => vpol
    | (cpol m1 p1) => (cpol (div_mon m1 m) (div_m p1 m))
    end.

Lemma distr_div_suma: (m:monom)(p1,p2:pol)
  (div_m (suma_app p1 p2) m)=(suma_app (div_m p1 m) (div_m p2 m)).
Induction p1; Simpl; Auto.
Intros.
Rewrite H; Auto.
Save.
Hints Resolve distr_div_suma.

Lemma div_mult_inv:
  (m:monom)~(z_monom m)->(full_mon n m)
    ->(p:pol)(full_term_pol p)->(equpol (div_m (mult_m p m) m) p).
Induction 3; Simpl; Auto.
Generalize H H0.
Clear H H0.
Case m; Simpl; Intros.
Apply equpol_cpol2; Trivial.
Simpl.
Right.
Split.
Apply div_mult_mon_inv with n; Auto.

Apply eqQ_trans with (multQ unQ a).
Apply eqQ_trans with (multQ (divQ q q) a); Auto.

Apply eqQ_trans with (multQ a unQ); Auto.
Save.
Hints Resolve div_mult_inv.

Lemma div_pm_comp:(m:monom)~(z_monom m)->(f:pol)(equpol (mult_m f m) vpol)->(equpol (div_m (mult_m f m) m) (div_m vpol m)).

Induction 2; Intros; Trivial.
Auto.

Apply equpol_tran with (div_m q m); Auto.

Simpl.
Rewrite distr_div_suma.
Rewrite distr_div_suma.
Simpl; Auto.

Rewrite distr_div_suma.
Rewrite distr_div_suma; Auto.

Generalize H.
Case m; Intros.
Unfold z_monom in H1.
Simpl.
Apply equpol_tran
 with (cpol ((plusQ (divQ k q) (divQ k' q)),(div_term t t0))
        (div_m p (q,t0))); Auto.

Simpl.
Apply equpol_elim.
Generalize H H1.
Case m0; Case m; Simpl; Intros.
Apply divQ_0; Auto.
Save.
Hints Resolve div_pm_comp.

Lemma mult_nz_monom: (f:pol)(full_term_pol f)->
   (m:monom)(full_mon n m)->~(z_monom m)->
   (equpol (mult_m f m) vpol)->(equpol f vpol).
Intros.
Apply equpol_tran with (div_m (mult_m f m) m); Auto.

Replace vpol with (div_m vpol m); Auto.
Save.
Hints Resolve mult_nz_monom.

Lemma contr_mult_nz_monom: (f:pol)(full_term_pol f)->
   (~(equpol f vpol))->(c:Q)(~(eqQ c OQ))->
      (t:term)(full n t)->(~(equpol (mult_m f (c,t)) vpol)).
Red.
Intros.
Cut (equpol f vpol); Auto.
 
Apply mult_nz_monom with m:=(c,t); Auto.
Save.
Hints Resolve contr_mult_nz_monom.


Index
This page has been generated by coqdoc