Mike, we need a function "IM2_RingElement_liftable", analogous to
IM2_RingElement_lift, as well as IM2_Matrix_liftable, analogous to
IM2_Matrix_lift.  Better names would be rawRingElementLiftable and
rawMatrixLiftable.

Mike, do we have en

> 
> You could do it this way, until we add code to do it the right way:
> 
> i1 : R = ZZ[x]
> 
> o1 = R
> 
> o1 : PolynomialRing
> 
> i2 : f = vars R
> 
> o2 = | x |
> 
> i7 : liftable(Matrix,Number) := (f,k) -> try (lift(f,k); true) else  
> false;
> 
> i8 : liftable(f,ZZ)
> 
> o8 = false
> 
> i9 : liftable(f-f,ZZ)
> 
> o9 = true
> 
> 
> On Nov 11, 2009, at 10:33 AM, René Birkner wrote:
> 
> > 
> > Hi,
> > 
> > I would really like to have the following method for liftable:
> > 
> > liftable(Matrix,ZZ) to check if a matrix is in fact a matrix over ZZ
> > 
> > Right now I use my own silly code:
> > 
> > liftable (Matrix,ZZ) := (M,R) -> all(flatten entries M, e -> liftable
> > (e,R))
> > 
> > 
> > Thanks
> > René
> > 
> 