DPINS(AL,DL,A.RL,B)
$(DISTRIBUTED POLY, INSERT TERM. A IS A D.P. AL IS THE
COEFF AND DL THE DEGREE VECTOR OF THE TERM TO BE INSERTED. IF DL
DOES NOT ALREADY OCCUR IN A, B IS THE RESULT OF INSERTING THE TERM
AND RL=1. IF DL DOES ALREADY OCCUR, B=A AND RL=0. MAY 17 79 DSA.)
SAFE AP,ALP,DLP,BL.
(1) $(A EMPTY.) RL=1. IF A=() THEN (B=LIST2(AL,DL). RETURN).
B=A.
(2) $(A NONEMPTY.) AP=A. ADV2(AP.ALP,DLP,AP). BL=DVCOMP(DL,DLP).
IF BL EQ 0 THEN (RL=0. RETURN).
IF BL GT 0 THEN (B=COMP2(AL,DL,A). RETURN).
B=LIST2(DLP,ALP).
WHILE AP NE () DO
(ADV2(AP.ALP,DLP,AP). BL=DVCOMP(DL,DLP).
IF BL EQ 0 THEN (B=A. RL=0. RETURN).
IF BL GT 0 THEN
(B=COMP4(DLP,ALP,DL,AL,B). B=INV(B).
B=CONC(B,AP). RETURN).
B=COMP2(DLP,ALP,B) ).
B=COMP2(DL,AL,B). B=INV(B). RETURN..