diff options
Diffstat (limited to 'src/algebra/opalg.spad.pamphlet')
-rw-r--r-- | src/algebra/opalg.spad.pamphlet | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/src/algebra/opalg.spad.pamphlet b/src/algebra/opalg.spad.pamphlet index a03c8cec..dc5b5e3f 100644 --- a/src/algebra/opalg.spad.pamphlet +++ b/src/algebra/opalg.spad.pamphlet @@ -114,8 +114,7 @@ ModuleOperator(R: Ring, M:LeftModule(R)): Exports == Implementation where reduce(_+, [trm2O(t.exp, t.gen) for t in terms x])$List(O) trm2O(c, t) == --- one? c => term2O t - (c = 1) => term2O t + one? c => term2O t c = -1 => - term2O t c::O * term2O t @@ -123,10 +122,8 @@ ModuleOperator(R: Ring, M:LeftModule(R)): Exports == Implementation where reduce(_*, [rm2O(rm.coef, rm.monom) for rm in t])$List(O) rm2O(c, m) == --- one? c => m::O - (c = 1) => m::O --- one? m => c::O - (m = 1) => c::O + one? c => m::O + one? m => c::O c::O * m::O x:$ * y:$ == @@ -141,12 +138,10 @@ ModuleOperator(R: Ring, M:LeftModule(R)): Exports == Implementation where lc := first(xx := termcopy x) lc.coef := n * lc.coef rm := last xx --- one?(first(y).coef) => - ((first(y).coef) = 1) => + one?(first(y).coef) => rm.monom := rm.monom * first(y).monom concat_!(xx, termcopy rest y) --- one?(rm.monom) => - ((rm.monom) = 1) => + one?(rm.monom) => rm.coef := rm.coef * first(y).coef rm.monom := first(y).monom concat_!(xx, termcopy rest y) @@ -192,8 +187,7 @@ ModuleOperator(R: Ring, M:LeftModule(R)): Exports == Implementation where empty?(t := r::TERM) => 0$R empty? rest t => rm := first t --- one?(rm.monom) => rm.coef - (rm.monom = 1) => rm.coef + one?(rm.monom) => rm.coef "failed" "failed" @@ -202,8 +196,7 @@ ModuleOperator(R: Ring, M:LeftModule(R)): Exports == Implementation where empty?(t := r::TERM) => "failed" empty? rest t => rm := first t --- one?(rm.coef) => retractIfCan(rm.monom) - (rm.coef = 1) => retractIfCan(rm.monom) + one?(rm.coef) => retractIfCan(rm.monom) "failed" "failed" |