IntersectBlist( blist1, blist2 )
IntersectBlist intersects the  boolean list  blist1 with the  boolean
list blist2,  which must have the same  length.  This is  equivalent to
assigning blist1[i]:= blist1[i] and blist2[i] for all i.
IntersectBlist returns nothing, it is only called to change blist1.
    gap> blist1 := [ true, true, false, false ];;
    gap> blist2 := [ true, false, true, false ];;
    gap> IntersectBlist( blist1, blist2 );
    gap> blist1;
    [ true, false, false, false ] 
The  function IntersectionBlist    (see  IntersectionBlist)   is  the
nondestructive counterpart to the procedure IntersectBlist.
GAP 3.4.4