fmod MULTFIRST is sorts MyItem MyList InVec . *** DT definitions (constructors) op [] : -> MyList [ctor] . op cons : MyItem MyList -> MyList [ctor] . *** defined function names (to be induced, preds, bk) op multfirst : MyList -> MyList [metadata "induce"] . *** input encapsulation op in : MyList -> InVec [ctor] . vars U V W X Y Z : MyItem . eq multfirst([]) = [] . eq multfirst(cons(Y,[])) = cons(Y,[]) . eq multfirst(cons(Y,cons(X,[]))) = cons(Y,cons(Y,[])) . eq multfirst(cons(Y,cons(X,cons(Z,[])))) = cons(Y,cons(Y,cons(Y,[]))) . endfm