"ytype" "xtype" varType nil cons cons nil cons "y" "xtype" varType var "z" "xtype" varType var varTerm nil cons cons nil cons nil cons cons "y" "ytype" varType var "c" const "bool" typeOp nil opType 1 def constTerm absTerm "a" const 1 remove constTerm appTerm assume subst