| version 1.31, 2000/12/10 03:12:20 |
version 1.33, 2000/12/29 07:19:40 |
|
|
| /* $OpenXM: OpenXM/src/k097/lib/minimal/minimal.k,v 1.30 2000/11/19 05:50:30 takayama Exp $ */ |
/* $OpenXM: OpenXM/src/k097/lib/minimal/minimal.k,v 1.32 2000/12/10 09:34:28 takayama Exp $ */ |
| #define DEBUG 1 |
#define DEBUG 1 |
| Sordinary = false; |
Sordinary = false; |
| /* If you run this program on openxm version 1.1.2 (FreeBSD), |
/* If you run this program on openxm version 1.1.2 (FreeBSD), |
|
|
| |
|
| /* We cannot use load command in the if statement. */ |
/* We cannot use load command in the if statement. */ |
| load("lib/minimal/cohom.k"); |
load("lib/minimal/cohom.k"); |
| |
Load_sm1(["k0-tower.sm1","lib/minimal/k0-tower.sm1"],"k0-tower.sm1.loaded"); |
| |
Load_sm1(["new.sm1","lib/minimal/new.sm1"],"new.sm1.loaded"); |
| |
sm1(" oxNoX "); |
| |
|
| def load_tower() { |
|
| local ppp; |
|
| if (Boundp("k0-tower.sm1.loaded")) { |
|
| }else{ |
|
| if (Tag(GetPathName("k0-tower.sm1")) == 0) { |
|
| ppp = GetPathName("lib/minimal/k0-tower.sm1"); |
|
| sm1(" [(parse) ppp pushfile ] extension "); |
|
| }else{ |
|
| sm1(" [(parse) (k0-tower.sm1) pushfile ] extension "); |
|
| } |
|
| if (Tag(GetPathName("new.sm1")) == 0) { |
|
| ppp = GetPathName("lib/minimal/new.sm1"); |
|
| sm1(" [(parse) ppp pushfile ] extension "); |
|
| }else{ |
|
| sm1(" [(parse) (new.sm1) pushfile ] extension "); |
|
| } |
|
| sm1(" /k0-tower.sm1.loaded 1 def "); |
|
| } |
|
| sm1(" oxNoX "); |
|
| } |
|
| load_tower(); |
|
| SonAutoReduce = true; |
SonAutoReduce = true; |
| def Factor(f) { |
def Factor(f) { |
| sm1(f, " fctr /FunctionValue set"); |
sm1(f, " fctr /FunctionValue set"); |
|
|
| HelpAdd(["Max", |
HelpAdd(["Max", |
| ["Max(v) returns the maximal element in v."]]); |
["Max(v) returns the maximal element in v."]]); |
| |
|
| def Kernel(f) { |
def Kernel(f,v) { |
| sm1(" [f] syz /FunctionValue set "); |
local ans; |
| |
/* v : string or ring */ |
| |
if (Length(Arglist) < 2) { |
| |
sm1(" [f] syz /ans set "); |
| |
}else{ |
| |
sm1(" [f v] syz /ans set "); |
| |
} |
| |
return(ans); |
| } |
} |
| def Syz(f) { |
def Syz(f) { |
| sm1(" [f] syz /FunctionValue set "); |
sm1(" [f] syz /FunctionValue set "); |