login  home  contents  what's new  discussion  bug reports     help  links  subscribe  changes  refresh  edit

Edit detail for SandBoxSymbolicExpressions revision 2 of 9

1 2 3 4 5 6 7 8 9
Editor: Bill Page
Time: 2017/01/26 17:37:37 GMT+0
Note: fix sort sequence

changed:
-    smaller?(x:SIN,y:SIN):Boolean ==
-      --output("smaller? ",paren [x::OutputForm,y::OutputForm])$OutputPackage
    smaller1?(x:SIN,y:SIN):Boolean ==
      --output("smaller1? ",paren [x::OutputForm,y::OutputForm])$OutputPackage

changed:
-        --output("# cdr x, # cdr y", paren [(# cdr x)::OutputForm,(# cdr y)::OutputForm])$OutputPackage
-        ( # cdr x > # cdr y or
-          # cdr x = # cdr y and
-            smaller?(cdr x,cdr y) or
-              smaller?(car x, car y))
        --output("cdr x, cdr y", paren [(cdr x)::OutputForm,(cdr y)::OutputForm])$OutputPackage
        ( smaller?(car x,car y) or
            car x = car y and (# cdr x > # cdr y or
              # cdr x = # cdr y and smaller?(cdr x, cdr y)))

removed:
-      -- commutative
-      --symbol? y and commutative?(symbol y) => null? x or list? x or integer? x or float? x
-      --  or symbol? x and commutative?(symbol x) and symbol x < symbol y
-      -- non-commutative
-      --symbol? y => null? x or list? x or integer? x or float? x
-      --    or symbol? x and (commutative?(symbol x) or symbol x < symbol y)

added:
    smaller?(x:SIN,y:SIN):Boolean ==
      if smaller1?(x,y) and smaller1?(y,x) then
        output("smaller? ",paren [x::OutputForm,y::OutputForm])$OutputPackage
        error("smaller? total order failed")
      else
        return smaller1?(x,y)

changed:
-      if smaller?(y,x)$SINFunctions then f(y,x) else "failed"
      if smaller?(y,x)$SINFunctions then
        --output("rewriteCommutative: ",paren [coerce(x)@OutputForm,coerce(y)@OutputForm])$OutputPackage
        return f(y,x)
      else
        return "failed"

added:
      --output("rewriteAssociative: ",paren [coerce(x)@OutputForm,coerce(y)@OutputForm])$OutputPackage

added:
        --output("terms: ",paren [coerce(t.left)@OutputForm,coerce(t.right)@OutputForm])$OutputPackage

changed:
-        if AxiomList has AssociativeAxiom then
-          if (t:=isTimes1(x)) case Pair SIN then
-            return times(t.left,times(t.right,y))
        --if AxiomList has AssociativeAxiom then
        --  if (t:=isTimes1(x)) case Pair SIN then
        --    return times(t.left,times(t.right,y))

changed:
---
--- Kurt
---
\end{axiom}

Kurt Examples
\begin{axiom}

changed:
-r0::InputForm
--r0::InputForm

From:

spad
-- Type safe representation
rep(x) ==> x @ % pretend Rep
per(x) ==> x @ Rep pretend %
-- Applicative-style macros
Maybe(S) ==> Union(S,"failed")
applyIf(f,x) ==> if (%r:=x) case "failed" then "failed" else f(%r)
returnIf(x) ==> if not((%r:=x) case "failed") then return %r
orReturn(x) ==> if x case "failed" then return "failed"
SIN ==> InputForm Pair SIN ==> Record(left:SIN,right:SIN)
)abbrev package SINF SINFunctions -- This should be built-in to InputForm, i.e. InputForm should satisfy Comparable SINFunctions(): with smaller? : (SIN,SIN) -> Boolean rank: (Symbol,Integer) -> SIN rank: Symbol -> SIN == add rank(x:Symbol,n:Integer):SIN == PUT(x,'rank,convert(n)@SIN)$Lisp rank(x:Symbol):SIN == GET(x,'rank)$Lisp --null < list < integer < float < symbol rank < symbol rank smaller1?(x:SIN,y:SIN):Boolean == --output("smaller1? ",paren [x::OutputForm,y::OutputForm])$OutputPackage null? y => return false list? y and null? x => return true -- depth first list? y and list? x => --output("cdr x, cdr y", paren [(cdr x)::OutputForm,(cdr y)::OutputForm])$OutputPackage ( smaller?(car x,car y) or car x = car y and (# cdr x > # cdr y or # cdr x = # cdr y and smaller?(cdr x, cdr y))) integer? y => null? x or list? x or integer? x and integer x < integer y float? y => null? x or list? x or integer? x or float? x and float x < float y symbol? y => null? x or list? x or integer? x or float? x or symbol? y and smaller?(rank symbol x, rank symbol y) or not smaller?(rank symbol y, rank symbol x) and symbol x < symbol y false smaller?(x:SIN,y:SIN):Boolean == if smaller1?(x,y) and smaller1?(y,x) then output("smaller? ",paren [x::OutputForm,y::OutputForm])$OutputPackage error("smaller? total order failed") else return smaller1?(x,y)
)abbrev category SYMCAT SymbolicCategory SymbolicCategory(R : Comparable) : Category == Exports where F ==> Expression R Exports ==> Join(FunctionSpace R, CoercibleTo OutputForm, ConvertibleTo SIN) with axioms: () -> List Equation SIN -- Do we want these even if R not a Ring, e.g. Symbol ? _+: (%,%) -> % _-: (%,%) -> % _-: % -> % _*: (%,%) -> % _*:(PositiveInteger,%) -> % _*:(NonNegativeInteger,%) -> % _/: (%,%) -> % _^: (%,%) -> % _^: (%,Integer) -> % nthRoot: (%, %) -> % nthRoot: (%, Integer) -> % if R has IntegralDomain then Ring AlgebraicallyClosedFunctionSpace R TranscendentalFunctionCategory CombinatorialOpsCategory LiouvillianFunctionCategory SpecialFunctionCategory coerce: Polynomial R -> % -- transformations expand: % -> % if % has FunctionSpace(Integer) then factor: % -> % if % has TranscendentalFunctionCategory and R has GcdDomain then simplify : % -> % -- coercions coerce: Pi -> % coerce: % -> F coerce: F -> % convert: Equation % -> Equation SIN convert: Equation SIN -> Equation % coerce: SIN -> % -- equal?: Equation % -> Boolean
)abbrev category AXIOM Axiom ++ Properties and axioms for symbolic rewrite rules Axiom(): Category == Type with axioms: () -> List Equation SIN
)abbrev category COMAX CommutativeAxiom ++ Commutative CommutativeAxiom(): Category == Axiom with rewriteCommutative: ((SIN,SIN)->SIN, SIN, SIN) -> Maybe(SIN) add rewriteCommutative(f:(SIN,SIN)->SIN, x:SIN, y:SIN): Maybe(SIN) == if smaller?(y,x)$SINFunctions then --output("rewriteCommutative: ",paren [coerce(x)@OutputForm,coerce(y)@OutputForm])$OutputPackage return f(y,x) else return "failed" )abbrev category COMAX+ CommutativeAxiom+ CommutativeAxiom_+():Category == CommutativeAxiom )abbrev category COMAX1 CommutativeAxiom* CommutativeAxiom_*():Category == CommutativeAxiom )abbrev category COMAX2 CommutativeAxiom** CommutativeAxiom_*_*():Category == CommutativeAxiom )abbrev category COMAX3 CommutativeAxiom/\ CommutativeAxiom_/_\():Category == CommutativeAxiom
)abbrev category ALTAX AntiCommutativeAxiom ++ AntiCommutative AntiCommutativeAxiom(): Category == Axiom with rewriteAntiCommutative: (SIN->SIN,(SIN,SIN)->SIN, SIN, SIN) -> Maybe(SIN) add rewriteAntiCommutative(m:SIN->SIN,f:(SIN,SIN)->SIN, x:SIN, y:SIN): Maybe(SIN) == if symbol? x and symbol? y and smaller?(0,rank symbol x)$SINFunctions and smaller?(0,rank symbol y)$SINFunctions then -- non-commutative symbols anti-commute if smaller?(y,x)$SINFunctions then return m(f(y,x)) if not smaller?(x,y) then return 0 -- everythning else commutes if smaller?(y,x)$SINFunctions then return f(y,x) "failed"
)abbrev category DISAX DistributiveAxiom ++ Distributive DistributiveAxiom(): Category == Axiom with rewriteDistributive: (SIN->Maybe Pair SIN, (SIN,SIN)->SIN, (SIN,SIN)->SIN, SIN, SIN) -> Maybe SIN add rewriteDistributive(terms:SIN->Maybe Pair SIN, f:(SIN,SIN)->SIN, g:(SIN,SIN)->SIN, x:SIN, y:SIN): Maybe(SIN) == if (t:=terms(x)) case Pair SIN then return f(g(t.left,y),g(t.right,y)) if (t:=terms(y)) case Pair SIN then return f(g(x,t.left),g(x,t.right)) "failed"
)abbrev category ASSAX AssociativeAxiom ++ Associative AssociativeAxiom(): Category == Axiom with rewriteAssociative: (SIN->Maybe Pair SIN, (SIN,SIN)->SIN, SIN, SIN) -> Maybe SIN add rewriteAssociative(terms:SIN->Maybe Pair SIN, f:(SIN,SIN)->SIN, x:SIN, y:SIN):Maybe(SIN) == --output("rewriteAssociative: ",paren [coerce(x)@OutputForm,coerce(y)@OutputForm])$OutputPackage --if (t:=terms(x)) case Pair SIN then -- return f(t.left,f(t.right,y)) if (t:=terms(y)) case Pair SIN then --output("terms: ",paren [coerce(t.left)@OutputForm,coerce(t.right)@OutputForm])$OutputPackage return f(f(x,t.left),t.right) "failed" )abbrev category ASSAX+ AssociativeAxiom+ AssociativeAxiom_+():Category == AssociativeAxiom )abbrev category ASSAXS AssociativeAxiom* AssociativeAxiom_*():Category == AssociativeAxiom
)abbrev category IDAX IdentityAxiom ++ Identities IdentityAxiom(): Category == Axiom with rewriteIdentity: (SIN,SIN,SIN)-> Maybe SIN add rewriteIdentity(u:SIN,x:SIN,y:SIN): Maybe SIN == --if x=u then return y if y=u then return x "failed"
)abbrev category INVAX InverseAxiom ++ Inverse InverseAxiom(): Category == Axiom with rewriteInverse: (SIN->SIN,SIN,SIN,SIN)-> Maybe SIN rewriteInverseInverse: (SIN->SIN,SIN) -> Maybe SIN rewriteInverseBinary: (SIN->SIN,(SIN,SIN)->SIN,SIN,SIN)-> Maybe SIN add rewriteInverse(inv:SIN->SIN,u:SIN,x:SIN,y:SIN): Maybe SIN == if inv(x) = y then return u if inv(y) = x then return u "failed" rewriteInverseInverse(inv:SIN->SIN,x:SIN) == if list? x and inv(car cdr x)=x then return car cdr x "failed" rewriteInverseBinary(inv:SIN->SIN,f:(SIN,SIN)->SIN,x:SIN,y:SIN): Maybe SIN == if list? y and y = inv(car cdr y) then return f(x,inv y) "failed"
)abbrev category DBLAX DoublesAxiom ++ Doubling DoublesAxiom(): Category == Axiom with rewriteDoubles: ((SIN,SIN)->SIN,SIN,SIN) -> Maybe SIN add rewriteDoubles(mul:(SIN,SIN)->SIN,x:SIN,y:SIN):Maybe SIN == if integer? x and integer? y then return convert(integer(x)+integer(y)) if float? x and float? y then return convert(float(x)+float(y)) if x = y then return mul(convert(2),x) "failed"
)abbrev category CANAX CancelsAxiom ++ Cancelling CancelsAxiom(): Category == Axiom with rewriteCancels: (SIN,SIN) -> Maybe SIN add rewriteCancels(x:SIN,y:SIN):Maybe SIN == if integer? x and integer? y then return convert(integer(x)-integer(y)) if float? x and float? y then return convert(float(x)-float(y)) if x = y then return 0 "failed"
)abbrev category SQAX SquaresAxiom ++ Squares SquaresAxiom(): Category == Axiom with rewriteSquares: ((SIN,SIN)->SIN,SIN, SIN) -> Maybe SIN add rewriteSquares(pow:(SIN,SIN)->SIN,x:SIN, y:SIN): Maybe SIN == --if eq(x,0) then return 0 if eq(y,0) then return 0 if integer? x and integer? y then return convert(integer(x)*integer(y)) if float? x and float? y then return convert(float(x)*float(y)) if x = y then return pow(x,convert(2)) "failed"
)abbrev category DIVAX DividesAxiom ++ Divides DividesAxiom(): Category == Axiom with rewriteDivides: (SIN, SIN) -> Maybe SIN add rewriteDivides(x:SIN, y:SIN): Maybe SIN == if eq(y,0) then return "failed" if eq(x,0) then return 0 if integer? x and integer? y then orReturn(r:=integer(x) exquo integer(y)) return convert r if float? x and float? y then return convert(float(x)/float(y)) if x = y then return 1 "failed"
)abbrev domain SYMB Symbolic ++ Unevaluated mathematical expressions ++ Author: Bill Page ++ Date Created: 4 December 2016 ++ Description: ++ Expressions involving symbolic functions that remain unevaluated and are ++ displayed as entered. Evaluation is delayed until an operation is performed ++ which requires a canonical form such as testing for equality or ++ simplification. The domain depends directly internally on the Expression ++ domain for evaluation of expressions. ++ Keywords: expression, evaluation, operator, function. Symbolic(R:Comparable, AxiomList:Type):SymbolicCategory(R) == Implementation where F ==> Expression R K ==> Kernel % KF ==> Kernel F SMP ==> SparseMultivariatePolynomial(R, K) LIFT ==> PolynomialCategoryLifting(IndexedExponents(KF),KF,R,SparseMultivariatePolynomial(R,KF),SMP) --AF ==> AlgebraicFunction(R, F) --EF ==> ElementaryFunction(R, F) CF ==> CombinatorialFunction(R, F) --LF ==> LiouvillianFunction(R, F) --AN ==> AlgebraicNumber --KAN ==> Kernel AN --ESD ==> ExpressionSpace_&(F) --FSD ==> FunctionSpace_&(F, R)
Implementation ==> add Rep := SIN --rep(x:%):Rep == x pretend Rep --per(x:Rep):% == x pretend % smaller?(x:%,y:%):Boolean == smaller?(rep x, rep y)$SINFunctions
if AxiomList has Axiom then -- It might be nice if this was displayed like Symbolic(Integer,None) -- but that would be recursive and require bootstrap mode. axioms() == axioms()$AxiomList else axioms() == [] belong? op == true if R has AbelianSemiGroup then 0:% == per 0$Rep zero? x == x = 0 if R has SemiGroup then 1:% == per 1$Rep one? x == x = 1
-- use equality from Expression(R) (x:% = y:%):Boolean == coerce(x)@F = coerce(y)@F
hash(x:%):SingleInteger == hash(rep x)$SIN -- term ordering: -- breadth first < integer (numeric) < float (numeric) < symbol (lexical)
equal?(eq:Equation %):Boolean == not smaller?(lhs eq,rhs eq) and not smaller?(lhs eq,rhs eq) -- subst(x:%,e:Equation %):% == per SUBST(rep rhs e,rep lhs e,rep x)$Lisp subst(x:%,ks:List Kernel %, vs:List %) == if #ks > 1 then return subst(subst(x,equation(first(ks)::%,first(vs))),rest ks, rest vs) else return subst(x,equation(first(ks)::%,first(vs))) subst(x:%, es:List Equation %):% == if #es > 1 then return subst(subst(x, first es),rest es) else subst(x, first es) -- eval(x:%,k:Kernel(%),s:%):% == subst(x,[k],[s]) if R has ConvertibleTo SIN then eval(x:%):% == coerce(convert(x)@SIN)@% eval(x:%,a:%,b:%):% == coerce eval(coerce(x)@F, coerce(a)@F, coerce(b)@F) eval(x:%,e:Equation %):% == eval(x,lhs e,rhs e) -- -- need to handle subscripted Symbol retractIfCan(x:%):Maybe(Kernel %) == if atom? rep x and symbol? rep x then return kernel symbol rep x if list? rep x and symbol? car rep x then if list? cdr rep x then s := symbol car rep x if not member?(s,['_+,'_-,'_*,'_/])$List(Symbol) then k:Kernel(%) := kernel(operator(s)$CommonOperators, destruct cdr rep x, #cdr(rep x)::NonNegativeInteger) return k return "failed" retract(x:%):Symbol == k:Maybe(Kernel %):=retractIfCan(x) if k case "failed" then error "not a kernel" else return name k -- isPlus1(x:SIN):Maybe(Pair SIN) == list? x and symbol? car x and symbol car x = '_+ => [car cdr x, car cdr cdr x] "failed" isTimes1(x:SIN):Maybe(Pair SIN) == list? x and symbol? car x and symbol car x = '_* => [car cdr x, car cdr cdr x] "failed" if R has IntegralDomain then kk2(k:KF):SMP == ak:List % := [coerce x for x in argument k] return coerce kernel(operator k,ak,position k)$K rr2(r:R):SMP == coerce r numer(x:%):SparseMultivariatePolynomial(R,Kernel %) == map(kk2,rr2, numer(coerce x)$F)$LIFT denom(x:%):SparseMultivariatePolynomial(R,Kernel %) == map(kk2,rr2, denom(coerce x)$F)$LIFT (x:SMP / y:SMP):% == coerce(x) / coerce(y) isPlus(x:%):Maybe(List %) == r := isPlus1 rep x if r case Pair SIN then r1:=isPlus per(r.left) r2:=isPlus per(r.right) if r1 case List % then if r2 case List % then concat(r1,r2) else concat(r1, [per(r.right)]) else if r2 case List % then concat([per(r.left)],r2) else [per(r.left),per(r.right)] else "failed"
factorials(x:%):% == coerce factorials(coerce x)$CF factorials(x:%, n:Symbol):% == coerce factorials(coerce x, n)$CF expand(x:%):% == n := isPlus numerator(coerce x)$F if n case List F then d:% := denominator(x) if d=1 then return reduce("+",[coerce(s) for s in n]) return reduce("+",[coerce(s)/d for s in n]) else return x -- if R has ConvertibleTo SIN then coerce(x:SMP):% == per convert(x)$SMP coerce(x:Polynomial R):% == per convert(x)$Polynomial(R) coerce(x:Fraction R):% == per convert(x)$Fraction(R) if R has RetractableTo Integer or R has RetractableTo Fraction Integer then retractIfCan(x:%):Maybe(Fraction Integer) == r:Maybe(R):=retractIfCan(x) if R has RetractableTo Fraction Integer then return retractIfCan(r::R)@Maybe(Fraction Integer) if R has RetractableTo Integer then r2:Maybe(Integer):=retractIfCan(r::R) if r2 case Integer then return r2::Integer::Fraction Integer return "failed"
if R has SemiGroup then isTimes(x:%):Maybe(List %) == r := isTimes1 rep x if r case Pair SIN then r1:=isTimes per(r.left) r2:=isTimes per(r.right) if r1 case List % then if r2 case List % then concat(r1,r2) else concat(r1, per(r.right)) else if r2 case List % then concat(per(r.left),r2) else [per(r.left),per(r.right)] else "failed"
if F has FunctionSpace(Integer) then factor(x:%):% == (factor(numer(coerce x)$F)::OutputForm pretend SIN / factor(denom(coerce x)$F)::OutputForm pretend SIN)$SIN
coerce(x:Pi):% == per convert(x)$Pi coerce(x:Symbol):% == per convert(x)$Symbol coerce(k:Kernel %):% == coerce name(k)
coerceOutputForm(x:Rep):OutputForm == if null? x then return empty()$OutputForm if atom? x then return (x pretend OutputForm) if list? x and symbol? car x then s := symbol car x -- scripted? if #string(s)>2 and ord string(s).1 = 42 and digit? string(s).2 then return coerce(x pretend Symbol) if s='float then return interpret(x)$InputFormFunctions1(Float)::OutputForm if s='factorial then if list? car(cdr x) then return postfix(outputForm '_!, paren coerceOutputForm car cdr x) else return postfix(outputForm '_!, coerceOutputForm car cdr x) if s='sum or s='summation then return sum(coerceOutputForm car cdr x, coerceOutputForm car cdr cdr x) if s='product then return prod(coerceOutputForm car cdr x, coerceOutputForm car cdr cdr x) if s='binomial then return binomial(coerceOutputForm car cdr x, coerceOutputForm car cdr cdr x) if s='sqrt then return root coerceOutputForm car cdr x if s='nthRoot then return root(coerceOutputForm car cdr x, coerceOutputForm car cdr cdr x) if s='exp and car(cdr x)=1 then return outputForm '%e if member?(s,['_+,'_-,'_*,'_/,'_^])$List(Symbol) and #cdr(x)>1 then if AxiomList has AssociativeAxiom then return infix(outputForm s, [coerceOutputForm(i) for i in destruct cdr x]) else return paren infix(outputForm s, [coerceOutputForm(i) for i in destruct cdr x]) else if list? car(cdr x) or s ~= '_- then return prefix(outputForm s, [coerceOutputForm(i) for i in destruct cdr x]) else return hconcat([outputForm s, hspace(1), coerceOutputForm car cdr x]) else return hconcat(message("what is:")$OutputForm,x pretend OutputForm) coerce(x:%):OutputForm == coerceOutputForm(rep x)
-- +0 is a hack to avoid premature conversion (do we need it?) hack(x:%):Rep == binary(convert('_+),[rep x,0$Rep])
coerce(x:%):F == v:List Symbol := variables x if #v = 0 then return interpret(hack x)$InputFormFunctions1(F) -- we need to substitute variables with unknown modes s:List Symbol := [new()$Symbol for vi in v] ks:List Equation % := [equation(coerce(vi)$%, coerce(si)$%) for vi in v for si in s] sk:List Equation F := [equation(coerce(si)$F, coerce(vi)$F) for vi in v for si in s] return subst(interpret(hack subst(x,ks))$InputFormFunctions1(F),sk) if R has ConvertibleTo SIN then coerce(x:F):% == per convert(x)$F coerce(x:R):% == per convert(x)$R convert(x:%):SIN == rep x coerce(x:SIN):% == per x -- interpret(hack x)$InputFormFunctions1(%) -- factorial(x:%):% == per convert([convert('factorial)@SIN,rep x]) binomial(n:%, m:%):% == binary(convert('binomial),[n::Rep,m::Rep])$SIN permutation(n:%, m:%):% == binary(convert('permutation),[n::Rep,m::Rep])$SIN -- sum(x : %, n : Symbol):% == per binary(convert('sum),[rep x,convert(n)@SIN])$SIN sum(x : %, s : SegmentBinding %):% == per binary(convert('sum),[rep x,convert(s)@SIN])$SIN summation(x : %, n : Symbol):% == per binary(convert('summation),[rep x,convert(n)@SIN])$SIN summation(x : %, s : SegmentBinding %):% == per binary(convert('summation),[rep x,convert(s)@SIN])$SIN product(x : %, n : Symbol):% == per binary(convert('product),[rep x,convert(n)@SIN])$SIN product(x : %, s : SegmentBinding %):% == per binary(convert('product),[rep x,convert(s)@SIN])$SIN
-- We don't want the InputForm auto-simplifications because we may or -- may not be doing our own simplifications. power: (Rep,Rep) -> Rep power(x:Rep,y:Rep):Rep == binary(convert('_^),[x,y])$SIN (x:% ^ y:%):% == per power(rep x,rep y) (x:% ^ y:PositiveInteger):% == expt(x, y)$RepeatedSquaring(%) (x:% ^ y:NonNegativeInteger):% == if y = 0 then x^0 else x ^ y::PositiveInteger (x:% ^ y:Integer):% == if y < 0 then 1/(x ^ (-y)::PositiveInteger) else x ^ y::NonNegativeInteger (x:% ^ y:Fraction Integer):% == nthRoot(x,denom(y))^numer(y) -- plus: (Rep,Rep) -> Rep minus: (Rep,Rep) -> Rep uminus: Rep -> Rep
times(x:Rep,y:Rep):Rep == --output("times: ",paren [coerce(x)@OutputForm,coerce(y)@OutputForm])$OutputPackage if AxiomList has IdentityAxiom then returnIf rewriteIdentity(1,x,y) if AxiomList has AssociativeAxiom_* then returnIf rewriteAssociative(isTimes1,times,x,y) if AxiomList has CommutativeAxiom_* then returnIf rewriteCommutative(times,x,y) if AxiomList has AntiCommutativeAxiom then returnIf rewriteAntiCommutative(uminus,times,x,y) if AxiomList has DistributiveAxiom then returnIf rewriteDistributive(isPlus1,plus,times,x,y) if AxiomList has SquaresAxiom then returnIf rewriteSquares(power,x,y) --if AxiomList has AssociativeAxiom then -- if (t:=isTimes1(x)) case Pair SIN then -- return times(t.left,times(t.right,y)) binary(convert('_*),[x,y])$SIN (x:% * y:%):% == per times(rep x,rep y) -- (x:PositiveInteger * y:%):% == double(x,y)$RepeatedDoubling(%) (x:NonNegativeInteger * y:%):% == if x=0 then 0*y else x::PositiveInteger * y (x:Integer * y:%):% == if x < 0 then (-x)::PositiveInteger * y else x::NonNegativeInteger * y -- plus(x:Rep,y:Rep):Rep == --output("plus: ",paren [coerce(x)@OutputForm,coerce(y)@OutputForm])$OutputPackage if AxiomList has IdentityAxiom then returnIf rewriteIdentity(0,x,y) if AxiomList has AssociativeAxiom_+ then returnIf rewriteAssociative(isPlus1,plus,x,y) if AxiomList has CommutativeAxiom_+ then returnIf rewriteCommutative(plus,x,y) if AxiomList has InverseAxiom then returnIf rewriteInverse(uminus,0,x,y) returnIf rewriteInverseBinary(uminus,minus,x,y) if AxiomList has DoublesAxiom then returnIf rewriteDoubles(times,x,y) binary(convert('_+),[x,y])$SIN (x:% + y:%):% == per plus(rep x,rep y)
minus(x:Rep,y:Rep):Rep == --output("minus: ",paren [coerce(x)@OutputForm,coerce(y)@OutputForm])$OutputPackage if AxiomList has IdentityAxiom then returnIf rewriteIdentity(0,x,y) if AxiomList has CancelsAxiom then returnIf rewriteCancels(x,y) if AxiomList has InverseAxiom then returnIf rewriteInverseBinary(uminus,plus,x,y) binary(convert('_-),[x,y])$SIN (x:% - y:%):% == per minus(rep x,rep y)
uminus(x:Rep):Rep == if AxiomList has InverseAxiom then returnIf rewriteInverseInverse(uminus,x) convert([convert('_-)@SIN,x]) _-(x:%):% == per uminus rep x
div(x:Rep,y:Rep):Rep == --output("divide: ",paren [coerce(x)@OutputForm,coerce(y)@OutputForm])$OutputPackage if AxiomList has IdentityAxiom then returnIf rewriteIdentity(1,x,y) if AxiomList has DividesAxiom then returnIf rewriteDivides(x,y) binary(convert('_/),[x,y])$SIN (x:% / y:%):% == per div(rep x,rep y)
elt(f:BasicOperator,x:List %):% == per convert(concat(convert(name f)@SIN,[rep i for i in x]))
-- Elementary Functions acos(x:%):% == per convert([convert('acos)@SIN,rep x]) acosh(x:%):% == per convert([convert('acosh)@SIN,rep x]) acot(x:%):% == per convert([convert('acot)@SIN,rep x]) acoth(x:%):% == per convert([convert('acoth)@SIN,rep x]) acsc(x:%):% == per convert([convert('acsc)@SIN,rep x]) acsch(x:%):% == per convert([convert('acsch)@SIN,rep x]) asec(x:%):% == per convert([convert('asec)@SIN,rep x]) asech(x:%):% == per convert([convert('asech)@SIN,rep x]) asin(x:%):% == per convert([convert('asin)@SIN,rep x]) asinh(x:%):% == per convert([convert('asinh)@SIN,rep x]) atan(x:%):% == per convert([convert('atan)@SIN,rep x]) atanh(x:%):% == per convert([convert('atanh)@SIN,rep x]) cos(x:%):% == per convert([convert('cos)@SIN,rep x]) cosh(x:%):% == per convert([convert('cosh)@SIN,rep x]) cot(x:%):% == per convert([convert('cot)@SIN,rep x]) coth(x:%):% == per convert([convert('coth)@SIN,rep x]) csc(x:%):% == per convert([convert('csc)@SIN,rep x]) csch(x:%):% == per convert([convert('csch)@SIN,rep x]) exp(x:%):% == per convert([convert('exp)@SIN,rep x]) log(x:%):% == per convert([convert('log)@SIN,rep x]) nthRoot(x:%, n:Integer) == binary(convert('nthRoot),[rep x,n::Rep])$SIN nthRoot(x:%, n:%) == binary(convert('nthRoot),[rep x,n::Rep])$SIN --pi():% == per convert([convert('pi)@SIN]) sec(x:%):% == per convert([convert('sec)@SIN,rep x]) sech(x:%):% == per convert([convert('sech)@SIN,rep x]) sin(x:%):% == per convert([convert('sin)@SIN,rep x]) sinh(x:%):% == per convert([convert('sinh)@SIN,rep x]) sqrt(x:%):% == per convert([convert('sqrt)@SIN,rep x]) tan(x:%):% == per convert([convert('tan)@SIN,rep x]) tanh(x:%):% == per convert([convert('tanh)@SIN,rep x]) -- retract(x:%):R == retract(coerce x)$F
variables1(x:Rep):Set Symbol == if null? x then return empty() if atom? x and symbol? x then return set [symbol x] if list? x and symbol? car x then if list? cdr x then return reduce("union", [variables1(i) for i in destruct cdr x]) else return variables1 car cdr x return empty() variables(x:%):List Symbol == members variables1(rep x)
-- still need to handle non symbols and scripted symbols kernels1(x:Rep):Set Kernel % == if null? x then return empty() if atom? x and symbol? x then return set [kernel symbol x] if list? x and symbol? car x then if list? cdr x then s := symbol car x if member?(s,['_+,'_-,'_*,'_/])$List(Symbol) then r:Set Kernel % := reduce("union", [kernels1(i) for i in destruct cdr x]) return r else k:Kernel(%) := kernel(operator(s)$CommonOperators, destruct cdr x, #cdr(x)::NonNegativeInteger) return set [k] else return kernels1 car cdr x return empty() kernels(x:%):List Kernel % == members kernels1(rep x)
if F has TranscendentalFunctionCategory and R has GcdDomain then simplify(x:%):% == coerce(simplify(coerce x)$TranscendentalManipulations(R,F)) convert(eq:Equation %): Equation SIN == equation(convert lhs eq, convert rhs eq) convert(eq:Equation SIN): Equation % == equation(convert lhs eq, convert rhs eq)
)abbrev domain COM+ Commutative+ Commutative_+():CommutativeAxiom_+ == add import Symbolic(Integer,None) axioms() == x:Symbolic(Integer,None) := coerce 'x y:Symbolic(Integer,None) := coerce 'y [ convert equation (x+y, y+x) ] )abbrev domain COMS Commutative* Commutative_*():CommutativeAxiom_* == add import Symbolic(Integer,None) axioms() == x:Symbolic(Integer,None) := coerce 'x y:Symbolic(Integer,None) := coerce 'y [ convert equation (x*y, y*x) ]
)abbrev domain ALT AntiCommutative AntiCommutative():AntiCommutativeAxiom == add import Symbolic(Integer,None) axioms() == x := coerce 'x y := coerce 'y [ convert equation (x+y, y+x), convert equation (x*y, y*x) ]
)abbrev domain DIS Distributive Distributive():DistributiveAxiom == add import Symbolic(Integer,None) axioms() == x := coerce 'x y := coerce 'y z := coerce 'z [ convert equation (x*(y+z), (x*y)+(x*z)) ]
)abbrev domain ASS+ Associative+ Associative_+():AssociativeAxiom_+ == add import Symbolic(Integer,None) x := coerce 'x y := coerce 'y z := coerce 'z axioms() == [ convert equation ((x+y)+z, x+(y+z)) ]
)abbrev domain ASSS Associative* Associative_*():AssociativeAxiom_* == add import Symbolic(Integer,None) x := coerce 'x y := coerce 'y z := coerce 'z axioms() == [ convert equation ((x*y)*z, (x*(y*z))) ]
)abbrev domain ID Identities Identities():IdentityAxiom == add import Symbolic(Integer,None) x := coerce 'x axioms() == [ convert equation (x+0, x), convert equation (x*1, x) ]
)abbrev domain INV Inverse Inverse():InverseAxiom == add import Symbolic(Integer,None) x := coerce 'x axioms() == [ convert equation (x + (-x), 0), convert equation (x * (1/x), 1) ]
)abbrev domain DBL Doubles Doubles():DoublesAxiom == add import Symbolic(Integer,None) x := coerce 'x axioms() == [ convert equation (x+x, 2*x) ]
)abbrev domain CAN Cancels Cancels():CancelsAxiom == add import Symbolic(Integer,None) x := coerce 'x axioms() == [ convert equation (x-x, 0) ]
)abbrev domain SQ Squares Squares():SquaresAxiom == add import Symbolic(Integer,None) x := coerce 'x axioms() == [ convert equation (x*x, x^2) ]
)abbrev domain DIV Divides Divides():DividesAxiom == add import Symbolic(Integer,None) x := coerce 'x axioms() == [ convert equation (x/x, 1) ]
)abbrev domain AND /\ ++ Conjunction of rules _/_\(A:Axiom,B:Axiom):Axiom with if A has CommutativeAxiom_+ then CommutativeAxiom_+ if B has CommutativeAxiom_+ then CommutativeAxiom_+ if A has CommutativeAxiom_* then CommutativeAxiom_* if B has CommutativeAxiom_* then CommutativeAxiom_* if A has AntiCommutativeAxiom then AntiCommutativeAxiom if B has AntiCommutativeAxiom then AntiCommutativeAxiom if A has DistributiveAxiom then DistributiveAxiom if B has DistributiveAxiom then DistributiveAxiom if A has AssociativeAxiom_+ then AssociativeAxiom_+ if B has AssociativeAxiom_+ then AssociativeAxiom_+ if A has AssociativeAxiom_* then AssociativeAxiom_* if B has AssociativeAxiom_* then AssociativeAxiom_* if A has IdentityAxiom then IdentityAxiom if B has IdentityAxiom then IdentityAxiom if A has InverseAxiom then InverseAxiom if B has InverseAxiom then InverseAxiom if A has DoublesAxiom then DoublesAxiom if B has DoublesAxiom then DoublesAxiom if A has CancelsAxiom then CancelsAxiom if B has CancelsAxiom then CancelsAxiom if A has SquaresAxiom then SquaresAxiom if B has SquaresAxiom then SquaresAxiom if A has DividesAxiom then DividesAxiom if B has DividesAxiom then DividesAxiom == add axioms() == concat(axioms()$A,axioms()$B)
)abbrev domain SEXPR SymbolicExpression SymbolicExpression(R:Comparable) : SymbolicCategory(R) == Symbolic(R, Commutative_+/\Commutative_*/\Distributive/\Associative_+/\Associative_*/\Identities/\Inverse/\Doubles/\Cancels/\Squares/\Divides)
)abbrev package SYMPKG1 SymbolicFunctions1 SymbolicFunctions1(R: Join(Comparable,ConvertibleTo SIN), A:SymbolicCategory R, S: Join(Comparable,ConvertibleTo SIN), B:SymbolicCategory S): with convert: B -> A == add -- +0 is a hack to avoid premature conversion hack(x:B):SIN == binary(convert('_+),[convert x,0::SIN]) convert(x:B):A == v:List Symbol := variables(x) if #v = 0 then return interpret(hack x)$InputFormFunctions1(A) -- we need to substitute variables with unknown modes s:List Symbol := [new()$Symbol for vi in v] ks:List Equation B := [equation(coerce(vi)$B, coerce(si)$B) for vi in v for si in s] sk:List Equation A := [equation(coerce(si)$A, coerce(vi)$A) for vi in v for si in s] return subst(interpret(hack subst(x,ks))$InputFormFunctions1(A),sk)
spad
   Compiling FriCAS source code from file 
      /var/lib/zope2.10/instance/axiom-wiki/var/LatexWiki/3216680067163596233-25px001.spad
      using old system compiler.
   SINF abbreviates package SINFunctions 
------------------------------------------------------------------------
   initializing NRLIB SINF for SINFunctions 
   compiling into NRLIB SINF 
   compiling exported rank : (Symbol,Integer) -> InputForm
Time: 0 SEC.
compiling exported rank : Symbol -> InputForm Time: 0 SEC.
compiling local smaller1? : (InputForm,InputForm) -> Boolean Time: 0.02 SEC.
compiling exported smaller? : (InputForm,InputForm) -> Boolean Time: 0.01 SEC.
(time taken in buildFunctor: 0)
;;; *** |SINFunctions| REDEFINED
;;; *** |SINFunctions| REDEFINED Time: 0 SEC.
Cumulative Statistics for Constructor SINFunctions Time: 0.03 seconds
finalizing NRLIB SINF Processing SINFunctions for Browser database: --->-->SINFunctions(constructor): Not documented!!!! --->-->SINFunctions((smaller? ((Boolean) (InputForm) (InputForm)))): Not documented!!!! --->-->SINFunctions((rank ((InputForm) (Symbol) (Integer)))): Not documented!!!! --->-->SINFunctions((rank ((InputForm) (Symbol)))): Not documented!!!! --->-->SINFunctions(): Missing Description ; compiling file "/var/aw/var/LatexWiki/SINF.NRLIB/SINF.lsp" (written 26 JAN 2017 05:37:21 PM):
; /var/aw/var/LatexWiki/SINF.NRLIB/SINF.fasl written ; compilation finished in 0:00:00.046 ------------------------------------------------------------------------ SINFunctions is now explicitly exposed in frame initial SINFunctions will be automatically loaded when needed from /var/aw/var/LatexWiki/SINF.NRLIB/SINF
SYMCAT abbreviates category SymbolicCategory ------------------------------------------------------------------------ initializing NRLIB SYMCAT for SymbolicCategory compiling into NRLIB SYMCAT
;;; *** |SymbolicCategory| REDEFINED Time: 0 SEC.
finalizing NRLIB SYMCAT Processing SymbolicCategory for Browser database: --->-->SymbolicCategory(constructor): Not documented!!!! --->-->SymbolicCategory((axioms ((List (Equation (InputForm)))))): Not documented!!!! --->-->SymbolicCategory((+ (% % %))): Not documented!!!! --->-->SymbolicCategory((- (% % %))): Not documented!!!! --->-->SymbolicCategory((- (% %))): Not documented!!!! --->-->SymbolicCategory((* (% % %))): Not documented!!!! --->-->SymbolicCategory((* (% (PositiveInteger) %))): Not documented!!!! --->-->SymbolicCategory((* (% (NonNegativeInteger) %))): Not documented!!!! --->-->SymbolicCategory((/ (% % %))): Not documented!!!! --->-->SymbolicCategory((^ (% % %))): Not documented!!!! --->-->SymbolicCategory((^ (% % (Integer)))): Not documented!!!! --->-->SymbolicCategory((nthRoot (% % %))): Not documented!!!! --->-->SymbolicCategory((nthRoot (% % (Integer)))): Not documented!!!! --->-->SymbolicCategory((coerce (% (Polynomial R)))): Not documented!!!! --->-->SymbolicCategory((expand (% %))): Not documented!!!! --->-->SymbolicCategory((factor (% %))): Not documented!!!! --->-->SymbolicCategory((simplify (% %))): Not documented!!!! --->-->SymbolicCategory((coerce (% (Pi)))): Not documented!!!! --->-->SymbolicCategory((coerce ((Expression R) %))): Not documented!!!! --->-->SymbolicCategory((coerce (% (Expression R)))): Not documented!!!! --->-->SymbolicCategory((convert ((Equation (InputForm)) (Equation %)))): Not documented!!!! --->-->SymbolicCategory((convert ((Equation %) (Equation (InputForm))))): Not documented!!!! --->-->SymbolicCategory((coerce (% (InputForm)))): Not documented!!!! --->-->SymbolicCategory((equal? ((Boolean) (Equation %)))): Not documented!!!! --->-->SymbolicCategory(): Missing Description ; compiling file "/var/aw/var/LatexWiki/SYMCAT.NRLIB/SYMCAT.lsp" (written 26 JAN 2017 05:37:21 PM):
; /var/aw/var/LatexWiki/SYMCAT.NRLIB/SYMCAT.fasl written ; compilation finished in 0:00:00.003 ------------------------------------------------------------------------ SymbolicCategory is now explicitly exposed in frame initial SymbolicCategory will be automatically loaded when needed from /var/aw/var/LatexWiki/SYMCAT.NRLIB/SYMCAT
AXIOM abbreviates category Axiom ------------------------------------------------------------------------ initializing NRLIB AXIOM for Axiom compiling into NRLIB AXIOM
;;; *** |Axiom| REDEFINED Time: 0 SEC.
finalizing NRLIB AXIOM Processing Axiom for Browser database: --------constructor--------- --->-->Axiom((axioms ((List (Equation (InputForm)))))): Not documented!!!! ; compiling file "/var/aw/var/LatexWiki/AXIOM.NRLIB/AXIOM.lsp" (written 26 JAN 2017 05:37:21 PM):
; /var/aw/var/LatexWiki/AXIOM.NRLIB/AXIOM.fasl written ; compilation finished in 0:00:00.003 ------------------------------------------------------------------------ Axiom is now explicitly exposed in frame initial Axiom will be automatically loaded when needed from /var/aw/var/LatexWiki/AXIOM.NRLIB/AXIOM
COMAX abbreviates category CommutativeAxiom ------------------------------------------------------------------------ initializing NRLIB COMAX for CommutativeAxiom compiling into NRLIB COMAX
;;; *** |CommutativeAxiom| REDEFINED Time: 0 SEC.
COMAX- abbreviates domain CommutativeAxiom& ------------------------------------------------------------------------ initializing NRLIB COMAX- for CommutativeAxiom& compiling into NRLIB COMAX- compiling exported rewriteCommutative : ((InputForm,InputForm) -> InputForm,InputForm,InputForm) -> Union(InputForm,failed) Time: 0 SEC.
(time taken in buildFunctor: 0)
;;; *** |CommutativeAxiom&| REDEFINED Time: 0 SEC.
Cumulative Statistics for Constructor CommutativeAxiom& Time: 0 seconds
finalizing NRLIB COMAX- Processing CommutativeAxiom& for Browser database: --------constructor--------- --->-->CommutativeAxiom&((rewriteCommutative ((Union (InputForm) failed) (Mapping (InputForm) (InputForm) (InputForm)) (InputForm) (InputForm)))): Not documented!!!! ; compiling file "/var/aw/var/LatexWiki/COMAX-.NRLIB/COMAX-.lsp" (written 26 JAN 2017 05:37:21 PM):
; /var/aw/var/LatexWiki/COMAX-.NRLIB/COMAX-.fasl written ; compilation finished in 0:00:00.006 ------------------------------------------------------------------------ CommutativeAxiom& is now explicitly exposed in frame initial CommutativeAxiom& will be automatically loaded when needed from /var/aw/var/LatexWiki/COMAX-.NRLIB/COMAX- finalizing NRLIB COMAX Processing CommutativeAxiom for Browser database: --------constructor--------- --->-->CommutativeAxiom((rewriteCommutative ((Union (InputForm) failed) (Mapping (InputForm) (InputForm) (InputForm)) (InputForm) (InputForm)))): Not documented!!!! ; compiling file "/var/aw/var/LatexWiki/COMAX.NRLIB/COMAX.lsp" (written 26 JAN 2017 05:37:21 PM):
; /var/aw/var/LatexWiki/COMAX.NRLIB/COMAX.fasl written ; compilation finished in 0:00:00.003 ------------------------------------------------------------------------ CommutativeAxiom is now explicitly exposed in frame initial CommutativeAxiom will be automatically loaded when needed from /var/aw/var/LatexWiki/COMAX.NRLIB/COMAX
COMAX+ abbreviates category CommutativeAxiom+ ------------------------------------------------------------------------ initializing NRLIB COMAX+ for CommutativeAxiom+ compiling into NRLIB COMAX+
;;; *** |CommutativeAxiom+| REDEFINED Time: 0 SEC.
finalizing NRLIB COMAX+ Processing CommutativeAxiom+ for Browser database: --->-->CommutativeAxiom+(): Missing Description ; compiling file "/var/aw/var/LatexWiki/COMAX+.NRLIB/COMAX+.lsp" (written 26 JAN 2017 05:37:21 PM):
; /var/aw/var/LatexWiki/COMAX+.NRLIB/COMAX+.fasl written ; compilation finished in 0:00:00.002 ------------------------------------------------------------------------ CommutativeAxiom+ is now explicitly exposed in frame initial CommutativeAxiom+ will be automatically loaded when needed from /var/aw/var/LatexWiki/COMAX+.NRLIB/COMAX+
COMAX1 abbreviates category CommutativeAxiom* ------------------------------------------------------------------------ initializing NRLIB COMAX1 for CommutativeAxiom* compiling into NRLIB COMAX1
;;; *** |CommutativeAxiom*| REDEFINED Time: 0 SEC.
finalizing NRLIB COMAX1 Processing CommutativeAxiom* for Browser database: --->-->CommutativeAxiom*(): Missing Description ; compiling file "/var/aw/var/LatexWiki/COMAX1.NRLIB/COMAX1.lsp" (written 26 JAN 2017 05:37:21 PM):
; /var/aw/var/LatexWiki/COMAX1.NRLIB/COMAX1.fasl written ; compilation finished in 0:00:00.002 ------------------------------------------------------------------------ CommutativeAxiom* is now explicitly exposed in frame initial CommutativeAxiom* will be automatically loaded when needed from /var/aw/var/LatexWiki/COMAX1.NRLIB/COMAX1
COMAX2 abbreviates category CommutativeAxiom** ------------------------------------------------------------------------ initializing NRLIB COMAX2 for CommutativeAxiom** compiling into NRLIB COMAX2
;;; *** |CommutativeAxiom**| REDEFINED Time: 0 SEC.
finalizing NRLIB COMAX2 Processing CommutativeAxiom** for Browser database: --->-->CommutativeAxiom**(): Missing Description ; compiling file "/var/aw/var/LatexWiki/COMAX2.NRLIB/COMAX2.lsp" (written 26 JAN 2017 05:37:21 PM):
; /var/aw/var/LatexWiki/COMAX2.NRLIB/COMAX2.fasl written ; compilation finished in 0:00:00.002 ------------------------------------------------------------------------ CommutativeAxiom** is now explicitly exposed in frame initial CommutativeAxiom** will be automatically loaded when needed from /var/aw/var/LatexWiki/COMAX2.NRLIB/COMAX2
COMAX3 abbreviates category CommutativeAxiom/\ ------------------------------------------------------------------------ initializing NRLIB COMAX3 for CommutativeAxiom/\ compiling into NRLIB COMAX3
;;; *** |CommutativeAxiom/\\| REDEFINED Time: 0 SEC.
finalizing NRLIB COMAX3 Processing CommutativeAxiom/\ for Browser database: --->-->CommutativeAxiom/\(): Missing Description ; compiling file "/var/aw/var/LatexWiki/COMAX3.NRLIB/COMAX3.lsp" (written 26 JAN 2017 05:37:21 PM):
; /var/aw/var/LatexWiki/COMAX3.NRLIB/COMAX3.fasl written ; compilation finished in 0:00:00.002 ------------------------------------------------------------------------ CommutativeAxiom/\ is now explicitly exposed in frame initial CommutativeAxiom/\ will be automatically loaded when needed from /var/aw/var/LatexWiki/COMAX3.NRLIB/COMAX3
ALTAX abbreviates category AntiCommutativeAxiom ------------------------------------------------------------------------ initializing NRLIB ALTAX for AntiCommutativeAxiom compiling into NRLIB ALTAX
;;; *** |AntiCommutativeAxiom| REDEFINED Time: 0 SEC.
ALTAX- abbreviates domain AntiCommutativeAxiom& ------------------------------------------------------------------------ initializing NRLIB ALTAX- for AntiCommutativeAxiom& compiling into NRLIB ALTAX- compiling exported rewriteAntiCommutative : (InputForm -> InputForm,(InputForm,InputForm) -> InputForm,InputForm,InputForm) -> Union(InputForm,failed) Time: 0 SEC.
(time taken in buildFunctor: 0)
;;; *** |AntiCommutativeAxiom&| REDEFINED Time: 0 SEC.
Cumulative Statistics for Constructor AntiCommutativeAxiom& Time: 0 seconds
finalizing NRLIB ALTAX- Processing AntiCommutativeAxiom& for Browser database: --------constructor--------- --->-->AntiCommutativeAxiom&((rewriteAntiCommutative ((Union (InputForm) failed) (Mapping (InputForm) (InputForm)) (Mapping (InputForm) (InputForm) (InputForm)) (InputForm) (InputForm)))): Not documented!!!! ; compiling file "/var/aw/var/LatexWiki/ALTAX-.NRLIB/ALTAX-.lsp" (written 26 JAN 2017 05:37:21 PM):
; /var/aw/var/LatexWiki/ALTAX-.NRLIB/ALTAX-.fasl written ; compilation finished in 0:00:00.013 ------------------------------------------------------------------------ AntiCommutativeAxiom& is now explicitly exposed in frame initial AntiCommutativeAxiom& will be automatically loaded when needed from /var/aw/var/LatexWiki/ALTAX-.NRLIB/ALTAX- finalizing NRLIB ALTAX Processing AntiCommutativeAxiom for Browser database: --------constructor--------- --->-->AntiCommutativeAxiom((rewriteAntiCommutative ((Union (InputForm) failed) (Mapping (InputForm) (InputForm)) (Mapping (InputForm) (InputForm) (InputForm)) (InputForm) (InputForm)))): Not documented!!!! ; compiling file "/var/aw/var/LatexWiki/ALTAX.NRLIB/ALTAX.lsp" (written 26 JAN 2017 05:37:21 PM):
; /var/aw/var/LatexWiki/ALTAX.NRLIB/ALTAX.fasl written ; compilation finished in 0:00:00.002 ------------------------------------------------------------------------ AntiCommutativeAxiom is now explicitly exposed in frame initial AntiCommutativeAxiom will be automatically loaded when needed from /var/aw/var/LatexWiki/ALTAX.NRLIB/ALTAX
DISAX abbreviates category DistributiveAxiom ------------------------------------------------------------------------ initializing NRLIB DISAX for DistributiveAxiom compiling into NRLIB DISAX
;;; *** |DistributiveAxiom| REDEFINED Time: 0 SEC.
DISAX- abbreviates domain DistributiveAxiom& ------------------------------------------------------------------------ initializing NRLIB DISAX- for DistributiveAxiom& compiling into NRLIB DISAX- compiling exported rewriteDistributive : (InputForm -> Union(Record(left: InputForm,right: InputForm),failed),(InputForm,InputForm) -> InputForm,(InputForm,InputForm) -> InputForm,InputForm,InputForm) -> Union(InputForm,failed) Time: 0 SEC.
(time taken in buildFunctor: 0)
;;; *** |DistributiveAxiom&| REDEFINED Time: 0 SEC.
Warnings: [1] rewriteDistributive: left has no value [2] rewriteDistributive: right has no value
Cumulative Statistics for Constructor DistributiveAxiom& Time: 0 seconds
finalizing NRLIB DISAX- Processing DistributiveAxiom& for Browser database: --------constructor--------- --->-->DistributiveAxiom&((rewriteDistributive ((Union (InputForm) failed) (Mapping (Union (Record (: left (InputForm)) (: right (InputForm))) failed) (InputForm)) (Mapping (InputForm) (InputForm) (InputForm)) (Mapping (InputForm) (InputForm) (InputForm)) (InputForm) (InputForm)))): Not documented!!!! ; compiling file "/var/aw/var/LatexWiki/DISAX-.NRLIB/DISAX-.lsp" (written 26 JAN 2017 05:37:21 PM):
; /var/aw/var/LatexWiki/DISAX-.NRLIB/DISAX-.fasl written ; compilation finished in 0:00:00.008 ------------------------------------------------------------------------ DistributiveAxiom& is now explicitly exposed in frame initial DistributiveAxiom& will be automatically loaded when needed from /var/aw/var/LatexWiki/DISAX-.NRLIB/DISAX- finalizing NRLIB DISAX Processing DistributiveAxiom for Browser database: --------constructor--------- --->-->DistributiveAxiom((rewriteDistributive ((Union (InputForm) failed) (Mapping (Union (Record (: left (InputForm)) (: right (InputForm))) failed) (InputForm)) (Mapping (InputForm) (InputForm) (InputForm)) (Mapping (InputForm) (InputForm) (InputForm)) (InputForm) (InputForm)))): Not documented!!!! ; compiling file "/var/aw/var/LatexWiki/DISAX.NRLIB/DISAX.lsp" (written 26 JAN 2017 05:37:21 PM):
; /var/aw/var/LatexWiki/DISAX.NRLIB/DISAX.fasl written ; compilation finished in 0:00:00.003 ------------------------------------------------------------------------ DistributiveAxiom is now explicitly exposed in frame initial DistributiveAxiom will be automatically loaded when needed from /var/aw/var/LatexWiki/DISAX.NRLIB/DISAX
ASSAX abbreviates category AssociativeAxiom ------------------------------------------------------------------------ initializing NRLIB ASSAX for AssociativeAxiom compiling into NRLIB ASSAX
;;; *** |AssociativeAxiom| REDEFINED Time: 0 SEC.
ASSAX- abbreviates domain AssociativeAxiom& ------------------------------------------------------------------------ initializing NRLIB ASSAX- for AssociativeAxiom& compiling into NRLIB ASSAX- compiling exported rewriteAssociative : (InputForm -> Union(Record(left: InputForm,right: InputForm),failed),(InputForm,InputForm) -> InputForm,InputForm,InputForm) -> Union(InputForm,failed) Time: 0 SEC.
(time taken in buildFunctor: 0)
;;; *** |AssociativeAxiom&| REDEFINED Time: 0 SEC.
Warnings: [1] rewriteAssociative: left has no value [2] rewriteAssociative: right has no value
Cumulative Statistics for Constructor AssociativeAxiom& Time: 0 seconds
finalizing NRLIB ASSAX- Processing AssociativeAxiom& for Browser database: --------constructor--------- --->-->AssociativeAxiom&((rewriteAssociative ((Union (InputForm) failed) (Mapping (Union (Record (: left (InputForm)) (: right (InputForm))) failed) (InputForm)) (Mapping (InputForm) (InputForm) (InputForm)) (InputForm) (InputForm)))): Not documented!!!! ; compiling file "/var/aw/var/LatexWiki/ASSAX-.NRLIB/ASSAX-.lsp" (written 26 JAN 2017 05:37:21 PM):
; /var/aw/var/LatexWiki/ASSAX-.NRLIB/ASSAX-.fasl written ; compilation finished in 0:00:00.007 ------------------------------------------------------------------------ AssociativeAxiom& is now explicitly exposed in frame initial AssociativeAxiom& will be automatically loaded when needed from /var/aw/var/LatexWiki/ASSAX-.NRLIB/ASSAX- finalizing NRLIB ASSAX Processing AssociativeAxiom for Browser database: --------constructor--------- --->-->AssociativeAxiom((rewriteAssociative ((Union (InputForm) failed) (Mapping (Union (Record (: left (InputForm)) (: right (InputForm))) failed) (InputForm)) (Mapping (InputForm) (InputForm) (InputForm)) (InputForm) (InputForm)))): Not documented!!!! ; compiling file "/var/aw/var/LatexWiki/ASSAX.NRLIB/ASSAX.lsp" (written 26 JAN 2017 05:37:21 PM):
; /var/aw/var/LatexWiki/ASSAX.NRLIB/ASSAX.fasl written ; compilation finished in 0:00:00.002 ------------------------------------------------------------------------ AssociativeAxiom is now explicitly exposed in frame initial AssociativeAxiom will be automatically loaded when needed from /var/aw/var/LatexWiki/ASSAX.NRLIB/ASSAX
ASSAX+ abbreviates category AssociativeAxiom+ ------------------------------------------------------------------------ initializing NRLIB ASSAX+ for AssociativeAxiom+ compiling into NRLIB ASSAX+
;;; *** |AssociativeAxiom+| REDEFINED Time: 0 SEC.
finalizing NRLIB ASSAX+ Processing AssociativeAxiom+ for Browser database: --->-->AssociativeAxiom+(): Missing Description ; compiling file "/var/aw/var/LatexWiki/ASSAX+.NRLIB/ASSAX+.lsp" (written 26 JAN 2017 05:37:21 PM):
; /var/aw/var/LatexWiki/ASSAX+.NRLIB/ASSAX+.fasl written ; compilation finished in 0:00:00.002 ------------------------------------------------------------------------ AssociativeAxiom+ is now explicitly exposed in frame initial AssociativeAxiom+ will be automatically loaded when needed from /var/aw/var/LatexWiki/ASSAX+.NRLIB/ASSAX+
ASSAXS abbreviates category AssociativeAxiom* ------------------------------------------------------------------------ initializing NRLIB ASSAXS for AssociativeAxiom* compiling into NRLIB ASSAXS
;;; *** |AssociativeAxiom*| REDEFINED Time: 0 SEC.
finalizing NRLIB ASSAXS Processing AssociativeAxiom* for Browser database: --->-->AssociativeAxiom*(): Missing Description ; compiling file "/var/aw/var/LatexWiki/ASSAXS.NRLIB/ASSAXS.lsp" (written 26 JAN 2017 05:37:21 PM):
; /var/aw/var/LatexWiki/ASSAXS.NRLIB/ASSAXS.fasl written ; compilation finished in 0:00:00.002 ------------------------------------------------------------------------ AssociativeAxiom* is now explicitly exposed in frame initial AssociativeAxiom* will be automatically loaded when needed from /var/aw/var/LatexWiki/ASSAXS.NRLIB/ASSAXS
IDAX abbreviates category IdentityAxiom ------------------------------------------------------------------------ initializing NRLIB IDAX for IdentityAxiom compiling into NRLIB IDAX
;;; *** |IdentityAxiom| REDEFINED Time: 0 SEC.
IDAX- abbreviates domain IdentityAxiom& ------------------------------------------------------------------------ initializing NRLIB IDAX- for IdentityAxiom& compiling into NRLIB IDAX- compiling exported rewriteIdentity : (InputForm,InputForm,InputForm) -> Union(InputForm,failed) Time: 0 SEC.
(time taken in buildFunctor: 0)
;;; *** |IdentityAxiom&| REDEFINED Time: 0 SEC.
Cumulative Statistics for Constructor IdentityAxiom& Time: 0 seconds
finalizing NRLIB IDAX- Processing IdentityAxiom& for Browser database: --------constructor--------- --->-->IdentityAxiom&((rewriteIdentity ((Union (InputForm) failed) (InputForm) (InputForm) (InputForm)))): Not documented!!!! ; compiling file "/var/aw/var/LatexWiki/IDAX-.NRLIB/IDAX-.lsp" (written 26 JAN 2017 05:37:21 PM):
; /var/aw/var/LatexWiki/IDAX-.NRLIB/IDAX-.fasl written ; compilation finished in 0:00:00.006 ------------------------------------------------------------------------ IdentityAxiom& is now explicitly exposed in frame initial IdentityAxiom& will be automatically loaded when needed from /var/aw/var/LatexWiki/IDAX-.NRLIB/IDAX- finalizing NRLIB IDAX Processing IdentityAxiom for Browser database: --------constructor--------- --->-->IdentityAxiom((rewriteIdentity ((Union (InputForm) failed) (InputForm) (InputForm) (InputForm)))): Not documented!!!! ; compiling file "/var/aw/var/LatexWiki/IDAX.NRLIB/IDAX.lsp" (written 26 JAN 2017 05:37:21 PM):
; /var/aw/var/LatexWiki/IDAX.NRLIB/IDAX.fasl written ; compilation finished in 0:00:00.002 ------------------------------------------------------------------------ IdentityAxiom is now explicitly exposed in frame initial IdentityAxiom will be automatically loaded when needed from /var/aw/var/LatexWiki/IDAX.NRLIB/IDAX
INVAX abbreviates category InverseAxiom ------------------------------------------------------------------------ initializing NRLIB INVAX for InverseAxiom compiling into NRLIB INVAX
;;; *** |InverseAxiom| REDEFINED Time: 0.01 SEC.
INVAX- abbreviates domain InverseAxiom& ------------------------------------------------------------------------ initializing NRLIB INVAX- for InverseAxiom& compiling into NRLIB INVAX- compiling exported rewriteInverse : (InputForm -> InputForm,InputForm,InputForm,InputForm) -> Union(InputForm,failed) Time: 0 SEC.
compiling exported rewriteInverseInverse : (InputForm -> InputForm,InputForm) -> Union(InputForm,failed) Time: 0 SEC.
compiling exported rewriteInverseBinary : (InputForm -> InputForm,(InputForm,InputForm) -> InputForm,InputForm,InputForm) -> Union(InputForm,failed) Time: 0 SEC.
(time taken in buildFunctor: 0)
;;; *** |InverseAxiom&| REDEFINED Time: 0 SEC.
Cumulative Statistics for Constructor InverseAxiom& Time: 0 seconds
finalizing NRLIB INVAX- Processing InverseAxiom& for Browser database: --------constructor--------- --->-->InverseAxiom&((rewriteInverse ((Union (InputForm) failed) (Mapping (InputForm) (InputForm)) (InputForm) (InputForm) (InputForm)))): Not documented!!!! --->-->InverseAxiom&((rewriteInverseInverse ((Union (InputForm) failed) (Mapping (InputForm) (InputForm)) (InputForm)))): Not documented!!!! --->-->InverseAxiom&((rewriteInverseBinary ((Union (InputForm) failed) (Mapping (InputForm) (InputForm)) (Mapping (InputForm) (InputForm) (InputForm)) (InputForm) (InputForm)))): Not documented!!!! ; compiling file "/var/aw/var/LatexWiki/INVAX-.NRLIB/INVAX-.lsp" (written 26 JAN 2017 05:37:21 PM):
; /var/aw/var/LatexWiki/INVAX-.NRLIB/INVAX-.fasl written ; compilation finished in 0:00:00.013 ------------------------------------------------------------------------ InverseAxiom& is now explicitly exposed in frame initial InverseAxiom& will be automatically loaded when needed from /var/aw/var/LatexWiki/INVAX-.NRLIB/INVAX- finalizing NRLIB INVAX Processing InverseAxiom for Browser database: --------constructor--------- --->-->InverseAxiom((rewriteInverse ((Union (InputForm) failed) (Mapping (InputForm) (InputForm)) (InputForm) (InputForm) (InputForm)))): Not documented!!!! --->-->InverseAxiom((rewriteInverseInverse ((Union (InputForm) failed) (Mapping (InputForm) (InputForm)) (InputForm)))): Not documented!!!! --->-->InverseAxiom((rewriteInverseBinary ((Union (InputForm) failed) (Mapping (InputForm) (InputForm)) (Mapping (InputForm) (InputForm) (InputForm)) (InputForm) (InputForm)))): Not documented!!!! ; compiling file "/var/aw/var/LatexWiki/INVAX.NRLIB/INVAX.lsp" (written 26 JAN 2017 05:37:21 PM):
; /var/aw/var/LatexWiki/INVAX.NRLIB/INVAX.fasl written ; compilation finished in 0:00:00.003 ------------------------------------------------------------------------ InverseAxiom is now explicitly exposed in frame initial InverseAxiom will be automatically loaded when needed from /var/aw/var/LatexWiki/INVAX.NRLIB/INVAX
DBLAX abbreviates category DoublesAxiom ------------------------------------------------------------------------ initializing NRLIB DBLAX for DoublesAxiom compiling into NRLIB DBLAX
;;; *** |DoublesAxiom| REDEFINED Time: 0 SEC.
DBLAX- abbreviates domain DoublesAxiom& ------------------------------------------------------------------------ initializing NRLIB DBLAX- for DoublesAxiom& compiling into NRLIB DBLAX- compiling exported rewriteDoubles : ((InputForm,InputForm) -> InputForm,InputForm,InputForm) -> Union(InputForm,failed) Time: 0.01 SEC.
(time taken in buildFunctor: 0)
;;; *** |DoublesAxiom&| REDEFINED Time: 0 SEC.
Cumulative Statistics for Constructor DoublesAxiom& Time: 0.01 seconds
finalizing NRLIB DBLAX- Processing DoublesAxiom& for Browser database: --------constructor--------- --->-->DoublesAxiom&((rewriteDoubles ((Union (InputForm) failed) (Mapping (InputForm) (InputForm) (InputForm)) (InputForm) (InputForm)))): Not documented!!!! ; compiling file "/var/aw/var/LatexWiki/DBLAX-.NRLIB/DBLAX-.lsp" (written 26 JAN 2017 05:37:21 PM):
; /var/aw/var/LatexWiki/DBLAX-.NRLIB/DBLAX-.fasl written ; compilation finished in 0:00:00.011 ------------------------------------------------------------------------ DoublesAxiom& is now explicitly exposed in frame initial DoublesAxiom& will be automatically loaded when needed from /var/aw/var/LatexWiki/DBLAX-.NRLIB/DBLAX- finalizing NRLIB DBLAX Processing DoublesAxiom for Browser database: --------constructor--------- --->-->DoublesAxiom((rewriteDoubles ((Union (InputForm) failed) (Mapping (InputForm) (InputForm) (InputForm)) (InputForm) (InputForm)))): Not documented!!!! ; compiling file "/var/aw/var/LatexWiki/DBLAX.NRLIB/DBLAX.lsp" (written 26 JAN 2017 05:37:21 PM):
; /var/aw/var/LatexWiki/DBLAX.NRLIB/DBLAX.fasl written ; compilation finished in 0:00:00.003 ------------------------------------------------------------------------ DoublesAxiom is now explicitly exposed in frame initial DoublesAxiom will be automatically loaded when needed from /var/aw/var/LatexWiki/DBLAX.NRLIB/DBLAX
CANAX abbreviates category CancelsAxiom ------------------------------------------------------------------------ initializing NRLIB CANAX for CancelsAxiom compiling into NRLIB CANAX
;;; *** |CancelsAxiom| REDEFINED Time: 0 SEC.
CANAX- abbreviates domain CancelsAxiom& ------------------------------------------------------------------------ initializing NRLIB CANAX- for CancelsAxiom& compiling into NRLIB CANAX- compiling exported rewriteCancels : (InputForm,InputForm) -> Union(InputForm,failed) Time: 0.01 SEC.
(time taken in buildFunctor: 0)
;;; *** |CancelsAxiom&| REDEFINED Time: 0 SEC.
Cumulative Statistics for Constructor CancelsAxiom& Time: 0.01 seconds
finalizing NRLIB CANAX- Processing CancelsAxiom& for Browser database: --------constructor--------- --->-->CancelsAxiom&((rewriteCancels ((Union (InputForm) failed) (InputForm) (InputForm)))): Not documented!!!! ; compiling file "/var/aw/var/LatexWiki/CANAX-.NRLIB/CANAX-.lsp" (written 26 JAN 2017 05:37:21 PM):
; /var/aw/var/LatexWiki/CANAX-.NRLIB/CANAX-.fasl written ; compilation finished in 0:00:00.011 ------------------------------------------------------------------------ CancelsAxiom& is now explicitly exposed in frame initial CancelsAxiom& will be automatically loaded when needed from /var/aw/var/LatexWiki/CANAX-.NRLIB/CANAX- finalizing NRLIB CANAX Processing CancelsAxiom for Browser database: --------constructor--------- --->-->CancelsAxiom((rewriteCancels ((Union (InputForm) failed) (InputForm) (InputForm)))): Not documented!!!! ; compiling file "/var/aw/var/LatexWiki/CANAX.NRLIB/CANAX.lsp" (written 26 JAN 2017 05:37:21 PM):
; /var/aw/var/LatexWiki/CANAX.NRLIB/CANAX.fasl written ; compilation finished in 0:00:00.002 ------------------------------------------------------------------------ CancelsAxiom is now explicitly exposed in frame initial CancelsAxiom will be automatically loaded when needed from /var/aw/var/LatexWiki/CANAX.NRLIB/CANAX
SQAX abbreviates category SquaresAxiom ------------------------------------------------------------------------ initializing NRLIB SQAX for SquaresAxiom compiling into NRLIB SQAX
;;; *** |SquaresAxiom| REDEFINED Time: 0 SEC.
SQAX- abbreviates domain SquaresAxiom& ------------------------------------------------------------------------ initializing NRLIB SQAX- for SquaresAxiom& compiling into NRLIB SQAX- compiling exported rewriteSquares : ((InputForm,InputForm) -> InputForm,InputForm,InputForm) -> Union(InputForm,failed) Time: 0.01 SEC.
(time taken in buildFunctor: 0)
;;; *** |SquaresAxiom&| REDEFINED Time: 0 SEC.
Cumulative Statistics for Constructor SquaresAxiom& Time: 0.01 seconds
finalizing NRLIB SQAX- Processing SquaresAxiom& for Browser database: --------constructor--------- --->-->SquaresAxiom&((rewriteSquares ((Union (InputForm) failed) (Mapping (InputForm) (InputForm) (InputForm)) (InputForm) (InputForm)))): Not documented!!!! ; compiling file "/var/aw/var/LatexWiki/SQAX-.NRLIB/SQAX-.lsp" (written 26 JAN 2017 05:37:21 PM):
; /var/aw/var/LatexWiki/SQAX-.NRLIB/SQAX-.fasl written ; compilation finished in 0:00:00.013 ------------------------------------------------------------------------ SquaresAxiom& is now explicitly exposed in frame initial SquaresAxiom& will be automatically loaded when needed from /var/aw/var/LatexWiki/SQAX-.NRLIB/SQAX- finalizing NRLIB SQAX Processing SquaresAxiom for Browser database: --------constructor--------- --->-->SquaresAxiom((rewriteSquares ((Union (InputForm) failed) (Mapping (InputForm) (InputForm) (InputForm)) (InputForm) (InputForm)))): Not documented!!!! ; compiling file "/var/aw/var/LatexWiki/SQAX.NRLIB/SQAX.lsp" (written 26 JAN 2017 05:37:21 PM):
; /var/aw/var/LatexWiki/SQAX.NRLIB/SQAX.fasl written ; compilation finished in 0:00:00.002 ------------------------------------------------------------------------ SquaresAxiom is now explicitly exposed in frame initial SquaresAxiom will be automatically loaded when needed from /var/aw/var/LatexWiki/SQAX.NRLIB/SQAX
DIVAX abbreviates category DividesAxiom ------------------------------------------------------------------------ initializing NRLIB DIVAX for DividesAxiom compiling into NRLIB DIVAX
;;; *** |DividesAxiom| REDEFINED Time: 0 SEC.
DIVAX- abbreviates domain DividesAxiom& ------------------------------------------------------------------------ initializing NRLIB DIVAX- for DividesAxiom& compiling into NRLIB DIVAX- compiling exported rewriteDivides : (InputForm,InputForm) -> Union(InputForm,failed) Time: 0.01 SEC.
(time taken in buildFunctor: 0)
;;; *** |DividesAxiom&| REDEFINED Time: 0 SEC.
Cumulative Statistics for Constructor DividesAxiom& Time: 0.01 seconds
finalizing NRLIB DIVAX- Processing DividesAxiom& for Browser database: --------constructor--------- --->-->DividesAxiom&((rewriteDivides ((Union (InputForm) failed) (InputForm) (InputForm)))): Not documented!!!! ; compiling file "/var/aw/var/LatexWiki/DIVAX-.NRLIB/DIVAX-.lsp" (written 26 JAN 2017 05:37:21 PM):
; /var/aw/var/LatexWiki/DIVAX-.NRLIB/DIVAX-.fasl written ; compilation finished in 0:00:00.015 ------------------------------------------------------------------------ DividesAxiom& is now explicitly exposed in frame initial DividesAxiom& will be automatically loaded when needed from /var/aw/var/LatexWiki/DIVAX-.NRLIB/DIVAX- finalizing NRLIB DIVAX Processing DividesAxiom for Browser database: --------constructor--------- --->-->DividesAxiom((rewriteDivides ((Union (InputForm) failed) (InputForm) (InputForm)))): Not documented!!!! ; compiling file "/var/aw/var/LatexWiki/DIVAX.NRLIB/DIVAX.lsp" (written 26 JAN 2017 05:37:21 PM):
; /var/aw/var/LatexWiki/DIVAX.NRLIB/DIVAX.fasl written ; compilation finished in 0:00:00.002 ------------------------------------------------------------------------ DividesAxiom is now explicitly exposed in frame initial DividesAxiom will be automatically loaded when needed from /var/aw/var/LatexWiki/DIVAX.NRLIB/DIVAX
SYMB abbreviates domain Symbolic ------------------------------------------------------------------------ initializing NRLIB SYMB for Symbolic compiling into NRLIB SYMB compiling exported smaller? : ($,$) -> Boolean Time: 0.01 SEC.
****** Domain: AxiomList already in scope augmenting AxiomList: (Axiom) compiling exported axioms : () -> List Equation InputForm Time: 0.01 SEC.
compiling exported axioms : () -> List Equation InputForm SYMB;axioms;L;3 is replaced by Time: 0 SEC.
compiling exported belong? : BasicOperator -> Boolean SYMB;belong?;BoB;4 is replaced by QUOTET Time: 0 SEC.
****** Domain: R already in scope augmenting R: (AbelianSemiGroup) compiling exported Zero : () -> $ Time: 0 SEC.
compiling exported zero? : $ -> Boolean Time: 0 SEC.
****** Domain: R already in scope augmenting R: (SemiGroup) compiling exported One : () -> $ Time: 0 SEC.
compiling exported one? : $ -> Boolean Time: 0 SEC.
compiling exported = : ($,$) -> Boolean Time: 0.01 SEC.
compiling exported hash : $ -> SingleInteger Time: 0 SEC.
compiling exported equal? : Equation $ -> Boolean Time: 0 SEC.
compiling exported subst : ($,Equation $) -> $ Time: 0 SEC.
compiling exported subst : ($,List Kernel $,List $) -> $ Time: 0.03 SEC.
compiling exported subst : ($,List Equation $) -> $ Time: 0.01 SEC.
compiling exported eval : ($,Kernel $,$) -> $ Time: 0 SEC.
****** Domain: R already in scope augmenting R: (ConvertibleTo (InputForm)) compiling exported eval : $ -> $ Time: 0 SEC.
compiling exported eval : ($,$,$) -> $ Time: 0.03 SEC.
compiling exported eval : ($,Equation $) -> $ Time: 0 SEC.
compiling exported retractIfCan : $ -> Union(Kernel $,failed) Time: 0.01 SEC.
compiling exported retract : $ -> Symbol Time: 0 SEC.
compiling local isPlus1 : InputForm -> Union(Record(left: InputForm,right: InputForm),failed) Time: 0.01 SEC.
compiling local isTimes1 : InputForm -> Union(Record(left: InputForm,right: InputForm),failed) Time: 0 SEC.
****** Domain: R already in scope augmenting R: (IntegralDomain) compiling local kk2 : Kernel Expression R -> SparseMultivariatePolynomial(R,Kernel $) Time: 0.03 SEC.
compiling local rr2 : R -> SparseMultivariatePolynomial(R,Kernel $) Time: 0.01 SEC.
compiling exported numer : $ -> SparseMultivariatePolynomial(R,Kernel $) Time: 0.01 SEC.
compiling exported denom : $ -> SparseMultivariatePolynomial(R,Kernel $) Time: 0 SEC.
compiling exported / : (SparseMultivariatePolynomial(R,Kernel $),SparseMultivariatePolynomial(R,Kernel $)) -> $ Time: 0 SEC.
compiling exported isPlus : $ -> Union(List $,failed) Time: 0.01 SEC.
compiling exported factorials : $ -> $ Time: 0 SEC.
compiling exported factorials : ($,Symbol) -> $ Time: 0.01 SEC.
compiling exported expand : $ -> $ Time: 0.01 SEC.
****** Domain: R already in scope augmenting R: (ConvertibleTo (InputForm)) compiling exported coerce : SparseMultivariatePolynomial(R,Kernel $) -> $ Time: 0 SEC.
compiling exported coerce : Polynomial R -> $ Time: 0 SEC.
compiling exported coerce : Fraction R -> $ Time: 0.01 SEC.
****** Domain: R already in scope augmenting R: (RetractableTo (Integer)) compiling exported retractIfCan : $ -> Union(Fraction Integer,failed) ****** Domain: R already in scope augmenting R: (RetractableTo (Fraction (Integer))) Time: 0 SEC.
****** Domain: R already in scope augmenting R: (RetractableTo (Fraction (Integer))) compiling exported retractIfCan : $ -> Union(Fraction Integer,failed) ****** Domain: R already in scope augmenting R: (RetractableTo (Integer)) Time: 0.01 SEC.
****** Domain: R already in scope augmenting R: (SemiGroup) compiling exported isTimes : $ -> Union(List $,failed) Time: 0 SEC.
****** Domain: (Expression R) already in scope augmenting (Expression R): (FunctionSpace (Integer)) compiling exported factor : $ -> $ Time: 0.06 SEC.
compiling exported coerce : Pi -> $ Time: 0 SEC.
compiling exported coerce : Symbol -> $ Time: 0 SEC.
compiling exported coerce : Kernel $ -> $ Time: 0 SEC.
compiling local coerceOutputForm : Rep -> OutputForm ****** Domain: AxiomList already in scope augmenting AxiomList: (AssociativeAxiom) Time: 0.07 SEC.
compiling exported coerce : $ -> OutputForm Time: 0 SEC.
compiling local hack : $ -> Rep Time: 0 SEC.
compiling exported coerce : $ -> Expression R Time: 0.02 SEC.
****** Domain: R already in scope augmenting R: (ConvertibleTo (InputForm)) compiling exported coerce : Expression R -> $ Time: 0 SEC.
compiling exported coerce : R -> $ Time: 0 SEC.
compiling exported convert : $ -> InputForm SYMB;convert;$If;48 is replaced by x Time: 0 SEC.
compiling exported coerce : InputForm -> $ SYMB;coerce;If$;49 is replaced by x Time: 0 SEC.
compiling exported factorial : $ -> $ Time: 0.02 SEC.
compiling exported binomial : ($,$) -> $ Time: 0 SEC.
compiling exported permutation : ($,$) -> $ Time: 0.01 SEC.
compiling local sum : ($,Symbol) -> $ Time: 0 SEC.
compiling local sum : ($,SegmentBinding $) -> $ Time: 0 SEC.
compiling exported summation : ($,Symbol) -> $ Time: 0 SEC.
compiling exported summation : ($,SegmentBinding $) -> $ Time: 0.02 SEC.
compiling exported product : ($,Symbol) -> $ Time: 0 SEC.
compiling exported product : ($,SegmentBinding $) -> $ Time: 0.01 SEC.
compiling local power : (Rep,Rep) -> Rep Time: 0 SEC.
compiling exported ^ : ($,$) -> $ Time: 0 SEC.
compiling exported ^ : ($,PositiveInteger) -> $ Time: 0 SEC.
compiling exported ^ : ($,NonNegativeInteger) -> $ Time: 0 SEC.
compiling exported ^ : ($,Integer) -> $ Time: 0 SEC.
compiling exported ^ : ($,Fraction Integer) -> $ Time: 0.01 SEC.
compiling local times : (Rep,Rep) -> Rep ****** Domain: AxiomList already in scope augmenting AxiomList: (IdentityAxiom) ****** Domain: AxiomList already in scope augmenting AxiomList: (AssociativeAxiom*) ****** Domain: AxiomList already in scope augmenting AxiomList: (CommutativeAxiom*) ****** Domain: AxiomList already in scope augmenting AxiomList: (AntiCommutativeAxiom) ****** Domain: AxiomList already in scope augmenting AxiomList: (DistributiveAxiom) ****** Domain: AxiomList already in scope augmenting AxiomList: (SquaresAxiom) Time: 0.02 SEC.
compiling exported * : ($,$) -> $ Time: 0 SEC.
compiling exported * : (PositiveInteger,$) -> $ Time: 0 SEC.
compiling exported * : (NonNegativeInteger,$) -> $ Time: 0 SEC.
compiling exported * : (Integer,$) -> $ Time: 0 SEC.
compiling local plus : (Rep,Rep) -> Rep ****** Domain: AxiomList already in scope augmenting AxiomList: (IdentityAxiom) ****** Domain: AxiomList already in scope augmenting AxiomList: (AssociativeAxiom+) ****** Domain: AxiomList already in scope augmenting AxiomList: (CommutativeAxiom+) ****** Domain: AxiomList already in scope augmenting AxiomList: (InverseAxiom) ****** Domain: AxiomList already in scope augmenting AxiomList: (DoublesAxiom) Time: 0.01 SEC.
compiling exported + : ($,$) -> $ Time: 0 SEC.
compiling local minus : (Rep,Rep) -> Rep ****** Domain: AxiomList already in scope augmenting AxiomList: (IdentityAxiom) ****** Domain: AxiomList already in scope augmenting AxiomList: (CancelsAxiom) ****** Domain: AxiomList already in scope augmenting AxiomList: (InverseAxiom) Time: 0.01 SEC.
compiling exported - : ($,$) -> $ Time: 0 SEC.
compiling local uminus : Rep -> Rep ****** Domain: AxiomList already in scope augmenting AxiomList: (InverseAxiom) Time: 0.02 SEC.
compiling exported - : $ -> $ Time: 0 SEC.
compiling local div : (Rep,Rep) -> Rep ****** Domain: AxiomList already in scope augmenting AxiomList: (IdentityAxiom) ****** Domain: AxiomList already in scope augmenting AxiomList: (DividesAxiom) Time: 0.01 SEC.
compiling exported / : ($,$) -> $ Time: 0 SEC.
compiling exported elt : (BasicOperator,List $) -> $ Time: 0.04 SEC.
compiling exported acos : $ -> $ Time: 0.02 SEC.
compiling exported acosh : $ -> $ Time: 0.01 SEC.
compiling exported acot : $ -> $ Time: 0.01 SEC.
compiling exported acoth : $ -> $ Time: 0.02 SEC.
compiling exported acsc : $ -> $ Time: 0.01 SEC.
compiling exported acsch : $ -> $ Time: 0.02 SEC.
compiling exported asec : $ -> $ Time: 0.01 SEC.
compiling exported asech : $ -> $ Time: 0.02 SEC.
compiling exported asin : $ -> $ Time: 0.01 SEC.
compiling exported asinh : $ -> $ Time: 0.01 SEC.
compiling exported atan : $ -> $ Time: 0.02 SEC.
compiling exported atanh : $ -> $ Time: 0.01 SEC.
compiling exported cos : $ -> $ Time: 0.02 SEC.
compiling exported cosh : $ -> $ Time: 0.01 SEC.
compiling exported cot : $ -> $ Time: 0.02 SEC.
compiling exported coth : $ -> $ Time: 0.01 SEC.
compiling exported csc : $ -> $ Time: 0.02 SEC.
compiling exported csch : $ -> $ Time: 0.01 SEC.
compiling exported exp : $ -> $ Time: 0.01 SEC.
compiling exported log : $ -> $ Time: 0.01 SEC.
compiling exported nthRoot : ($,Integer) -> $ Time: 0.01 SEC.
compiling exported nthRoot : ($,$) -> $ Time: 0.01 SEC.
compiling exported sec : $ -> $ Time: 0.02 SEC.
compiling exported sech : $ -> $ Time: 0.01 SEC.
compiling exported sin : $ -> $ Time: 0.02 SEC.
compiling exported sinh : $ -> $ Time: 0.02 SEC.
compiling exported sqrt : $ -> $ Time: 0.01 SEC.
compiling exported tan : $ -> $ Time: 0.01 SEC.
compiling exported tanh : $ -> $ Time: 0.01 SEC.
compiling exported retract : $ -> R Time: 0.01 SEC.
compiling local variables1 : Rep -> Set Symbol Time: 0.01 SEC.
compiling exported variables : $ -> List Symbol Time: 0 SEC.
compiling local kernels1 : Rep -> Set Kernel $ Time: 0.02 SEC.
compiling exported kernels : $ -> List Kernel $ Time: 0.01 SEC.
****** Domain: (Expression R) already in scope augmenting (Expression R): (TranscendentalFunctionCategory) ****** Domain: R already in scope augmenting R: (GcdDomain) compiling exported simplify : $ -> $ Time: 0.03 SEC.
compiling exported convert : Equation $ -> Equation InputForm Time: 0 SEC.
compiling exported convert : Equation InputForm -> Equation $ Time: 0.02 SEC.
****** Domain: $ already in scope augmenting $: (RetractableTo (Integer)) ****** Domain: R already in scope augmenting R: (IntegralDomain) ****** Domain: $ already in scope augmenting $: (TranscendentalFunctionCategory) ****** Domain: R already in scope augmenting R: (GcdDomain) ****** Domain: R already in scope augmenting R: (LinearlyExplicitOver (Integer)) ****** Domain: $ already in scope augmenting $: (FunctionSpace (Integer)) ****** Domain: $ already in scope augmenting $: (RetractableTo (Integer)) ****** Domain: $ already in scope augmenting $: (Ring) ****** Domain: R already in scope augmenting R: (AbelianGroup) ****** Domain: R already in scope augmenting R: (AbelianSemiGroup) ****** Domain: R already in scope augmenting R: (CharacteristicNonZero) ****** Domain: R already in scope augmenting R: (CommutativeRing) ****** Domain: R already in scope augmenting R: (ConvertibleTo (InputForm)) ****** Domain: R already in scope augmenting R: (ConvertibleTo (Pattern (Float))) ****** Domain: R already in scope augmenting R: (ConvertibleTo (Pattern (Integer))) ****** Domain: R already in scope augmenting R: (Group) ****** Domain: R already in scope augmenting R: (IntegralDomain) ****** Domain: R already in scope augmenting R: (PatternMatchable (Float)) ****** Domain: R already in scope augmenting R: (PatternMatchable (Integer)) ****** Domain: R already in scope augmenting R: (RetractableTo (Integer)) ****** Domain: R already in scope augmenting R: (Ring) ****** Domain: R already in scope augmenting R: (SemiGroup) (time taken in buildFunctor: 130)
;;; *** |Symbolic| REDEFINED
;;; *** |Symbolic| REDEFINED Time: 0.16 SEC.
Warnings: [1] smaller?: pretendRep -- should replace by @ [2] Zero: pretend$ -- should replace by @ [3] One: pretend$ -- should replace by @ [4] hash: pretendRep -- should replace by @ [5] subst: pretendRep -- should replace by @ [6] subst: pretend$ -- should replace by @ [7] subst: $$ has no value [8] retractIfCan: pretendRep -- should replace by @ [9] isPlus: pretendRep -- should replace by @ [10] isPlus: left has no value [11] isPlus: pretend$ -- should replace by @ [12] isPlus: right has no value [13] coerce: pretend$ -- should replace by @ [14] isTimes: pretendRep -- should replace by @ [15] isTimes: left has no value [16] isTimes: pretend$ -- should replace by @ [17] isTimes: right has no value [18] coerce: pretendRep -- should replace by @ [19] hack: pretendRep -- should replace by @ [20] convert: pretendRep -- should replace by @ [21] factorial: pretendRep -- should replace by @ [22] factorial: pretend$ -- should replace by @ [23] sum: pretendRep -- should replace by @ [24] sum: pretend$ -- should replace by @ [25] summation: pretendRep -- should replace by @ [26] summation: pretend$ -- should replace by @ [27] product: pretendRep -- should replace by @ [28] product: pretend$ -- should replace by @ [29] ^: pretendRep -- should replace by @ [30] ^: pretend$ -- should replace by @ [31] *: pretendRep -- should replace by @ [32] *: pretend$ -- should replace by @ [33] +: pretendRep -- should replace by @ [34] +: pretend$ -- should replace by @ [35] -: pretendRep -- should replace by @ [36] -: pretend$ -- should replace by @ [37] /: pretendRep -- should replace by @ [38] /: pretend$ -- should replace by @ [39] elt: pretendRep -- should replace by @ [40] elt: pretend$ -- should replace by @ [41] acos: pretendRep -- should replace by @ [42] acos: pretend$ -- should replace by @ [43] acosh: pretendRep -- should replace by @ [44] acosh: pretend$ -- should replace by @ [45] acot: pretendRep -- should replace by @ [46] acot: pretend$ -- should replace by @ [47] acoth: pretendRep -- should replace by @ [48] acoth: pretend$ -- should replace by @ [49] acsc: pretendRep -- should replace by @ [50] acsc: pretend$ -- should replace by @ [51] acsch: pretendRep -- should replace by @ [52] acsch: pretend$ -- should replace by @ [53] asec: pretendRep -- should replace by @ [54] asec: pretend$ -- should replace by @ [55] asech: pretendRep -- should replace by @ [56] asech: pretend$ -- should replace by @ [57] asin: pretendRep -- should replace by @ [58] asin: pretend$ -- should replace by @ [59] asinh: pretendRep -- should replace by @ [60] asinh: pretend$ -- should replace by @ [61] atan: pretendRep -- should replace by @ [62] atan: pretend$ -- should replace by @ [63] atanh: pretendRep -- should replace by @ [64] atanh: pretend$ -- should replace by @ [65] cos: pretendRep -- should replace by @ [66] cos: pretend$ -- should replace by @ [67] cosh: pretendRep -- should replace by @ [68] cosh: pretend$ -- should replace by @ [69] cot: pretendRep -- should replace by @ [70] cot: pretend$ -- should replace by @ [71] coth: pretendRep -- should replace by @ [72] coth: pretend$ -- should replace by @ [73] csc: pretendRep -- should replace by @ [74] csc: pretend$ -- should replace by @ [75] csch: pretendRep -- should replace by @ [76] csch: pretend$ -- should replace by @ [77] exp: pretendRep -- should replace by @ [78] exp: pretend$ -- should replace by @ [79] log: pretendRep -- should replace by @ [80] log: pretend$ -- should replace by @ [81] nthRoot: pretendRep -- should replace by @ [82] sec: pretendRep -- should replace by @ [83] sec: pretend$ -- should replace by @ [84] sech: pretendRep -- should replace by @ [85] sech: pretend$ -- should replace by @ [86] sin: pretendRep -- should replace by @ [87] sin: pretend$ -- should replace by @ [88] sinh: pretendRep -- should replace by @ [89] sinh: pretend$ -- should replace by @ [90] sqrt: pretendRep -- should replace by @ [91] sqrt: pretend$ -- should replace by @ [92] tan: pretendRep -- should replace by @ [93] tan: pretend$ -- should replace by @ [94] tanh: pretendRep -- should replace by @ [95] tanh: pretend$ -- should replace by @ [96] variables: pretendRep -- should replace by @ [97] kernels: pretendRep -- should replace by @ [98] simplify: not known that (TranscendentalFunctionCategory) is of mode (CATEGORY domain (IF (has R (IntegralDomain)) (PROGN (ATTRIBUTE (AlgebraicallyClosedFunctionSpace R)) (ATTRIBUTE (TranscendentalFunctionCategory)) (ATTRIBUTE (CombinatorialOpsCategory)) (ATTRIBUTE (LiouvillianFunctionCategory)) (ATTRIBUTE (SpecialFunctionCategory)) (SIGNATURE reduce ($ $)) (SIGNATURE number? ((Boolean) $)) (SIGNATURE simplifyPower ($ $ (Integer))) (IF (has R (PolynomialFactorizationExplicit)) (ATTRIBUTE (PolynomialFactorizationExplicit)) noBranch) (IF (has R (RetractableTo (Integer))) (ATTRIBUTE (RetractableTo (AlgebraicNumber))) noBranch) (SIGNATURE setSimplifyDenomsFlag ((Boolean) (Boolean))) (SIGNATURE getSimplifyDenomsFlag ((Boolean)))) noBranch))
Cumulative Statistics for Constructor Symbolic Time: 1.21 seconds
finalizing NRLIB SYMB Processing Symbolic for Browser database: --------constructor--------- ; compiling file "/var/aw/var/LatexWiki/SYMB.NRLIB/SYMB.lsp" (written 26 JAN 2017 05:37:23 PM):
; /var/aw/var/LatexWiki/SYMB.NRLIB/SYMB.fasl written ; compilation finished in 0:00:00.430 ------------------------------------------------------------------------ Symbolic is now explicitly exposed in frame initial Symbolic will be automatically loaded when needed from /var/aw/var/LatexWiki/SYMB.NRLIB/SYMB
COM+ abbreviates domain Commutative+ ------------------------------------------------------------------------ initializing NRLIB COM+ for Commutative+ compiling into NRLIB COM+ importing Symbolic(Integer,None) compiling exported axioms : () -> List Equation InputForm Time: 0.02 SEC.
(time taken in buildFunctor: 0)
;;; *** |Commutative+| REDEFINED
;;; *** |Commutative+| REDEFINED Time: 0 SEC.
Cumulative Statistics for Constructor Commutative+ Time: 0.02 seconds
finalizing NRLIB COM+ Processing Commutative+ for Browser database: --->-->Commutative+(): Missing Description ; compiling file "/var/aw/var/LatexWiki/COM+.NRLIB/COM+.lsp" (written 26 JAN 2017 05:37:23 PM):
; /var/aw/var/LatexWiki/COM+.NRLIB/COM+.fasl written ; compilation finished in 0:00:00.010 ------------------------------------------------------------------------ Commutative+ is now explicitly exposed in frame initial Commutative+ will be automatically loaded when needed from /var/aw/var/LatexWiki/COM+.NRLIB/COM+
COMS abbreviates domain Commutative* ------------------------------------------------------------------------ initializing NRLIB COMS for Commutative* compiling into NRLIB COMS importing Symbolic(Integer,None) compiling exported axioms : () -> List Equation InputForm Time: 0.02 SEC.
(time taken in buildFunctor: 0)
;;; *** |Commutative*| REDEFINED
;;; *** |Commutative*| REDEFINED Time: 0 SEC.
Cumulative Statistics for Constructor Commutative* Time: 0.02 seconds
finalizing NRLIB COMS Processing Commutative* for Browser database: --->-->Commutative*(): Missing Description ; compiling file "/var/aw/var/LatexWiki/COMS.NRLIB/COMS.lsp" (written 26 JAN 2017 05:37:23 PM):
; /var/aw/var/LatexWiki/COMS.NRLIB/COMS.fasl written ; compilation finished in 0:00:00.010 ------------------------------------------------------------------------ Commutative* is now explicitly exposed in frame initial Commutative* will be automatically loaded when needed from /var/aw/var/LatexWiki/COMS.NRLIB/COMS
ALT abbreviates domain AntiCommutative ------------------------------------------------------------------------ initializing NRLIB ALT for AntiCommutative compiling into NRLIB ALT importing Symbolic(Integer,None) compiling exported axioms : () -> List Equation InputForm Time: 0.02 SEC.
(time taken in buildFunctor: 0)
;;; *** |AntiCommutative| REDEFINED
;;; *** |AntiCommutative| REDEFINED Time: 0 SEC.
Cumulative Statistics for Constructor AntiCommutative Time: 0.02 seconds
finalizing NRLIB ALT Processing AntiCommutative for Browser database: --->-->AntiCommutative(): Missing Description ; compiling file "/var/aw/var/LatexWiki/ALT.NRLIB/ALT.lsp" (written 26 JAN 2017 05:37:23 PM):
; /var/aw/var/LatexWiki/ALT.NRLIB/ALT.fasl written ; compilation finished in 0:00:00.011 ------------------------------------------------------------------------ AntiCommutative is now explicitly exposed in frame initial AntiCommutative will be automatically loaded when needed from /var/aw/var/LatexWiki/ALT.NRLIB/ALT
DIS abbreviates domain Distributive ------------------------------------------------------------------------ initializing NRLIB DIS for Distributive compiling into NRLIB DIS importing Symbolic(Integer,None) compiling exported axioms : () -> List Equation InputForm Time: 0.02 SEC.
(time taken in buildFunctor: 0)
;;; *** |Distributive| REDEFINED
;;; *** |Distributive| REDEFINED Time: 0 SEC.
Cumulative Statistics for Constructor Distributive Time: 0.02 seconds
finalizing NRLIB DIS Processing Distributive for Browser database: --->-->Distributive(): Missing Description ; compiling file "/var/aw/var/LatexWiki/DIS.NRLIB/DIS.lsp" (written 26 JAN 2017 05:37:23 PM):
; /var/aw/var/LatexWiki/DIS.NRLIB/DIS.fasl written ; compilation finished in 0:00:00.011 ------------------------------------------------------------------------ Distributive is now explicitly exposed in frame initial Distributive will be automatically loaded when needed from /var/aw/var/LatexWiki/DIS.NRLIB/DIS
ASS+ abbreviates domain Associative+ ------------------------------------------------------------------------ initializing NRLIB ASS+ for Associative+ compiling into NRLIB ASS+ importing Symbolic(Integer,None) compiling exported axioms : () -> List Equation InputForm Time: 0.03 SEC.
(time taken in buildFunctor: 0)
;;; *** |Associative+| REDEFINED
;;; *** |Associative+| REDEFINED Time: 0 SEC.
Cumulative Statistics for Constructor Associative+ Time: 0.03 seconds
finalizing NRLIB ASS+ Processing Associative+ for Browser database: --->-->Associative+(): Missing Description ; compiling file "/var/aw/var/LatexWiki/ASS+.NRLIB/ASS+.lsp" (written 26 JAN 2017 05:37:23 PM):
; /var/aw/var/LatexWiki/ASS+.NRLIB/ASS+.fasl written ; compilation finished in 0:00:00.014 ------------------------------------------------------------------------ Associative+ is now explicitly exposed in frame initial Associative+ will be automatically loaded when needed from /var/aw/var/LatexWiki/ASS+.NRLIB/ASS+
ASSS abbreviates domain Associative* ------------------------------------------------------------------------ initializing NRLIB ASSS for Associative* compiling into NRLIB ASSS importing Symbolic(Integer,None) compiling exported axioms : () -> List Equation InputForm Time: 0.03 SEC.
(time taken in buildFunctor: 0)
;;; *** |Associative*| REDEFINED
;;; *** |Associative*| REDEFINED Time: 0 SEC.
Cumulative Statistics for Constructor Associative* Time: 0.03 seconds
finalizing NRLIB ASSS Processing Associative* for Browser database: --->-->Associative*(): Missing Description ; compiling file "/var/aw/var/LatexWiki/ASSS.NRLIB/ASSS.lsp" (written 26 JAN 2017 05:37:23 PM):
; /var/aw/var/LatexWiki/ASSS.NRLIB/ASSS.fasl written ; compilation finished in 0:00:00.015 ------------------------------------------------------------------------ Associative* is now explicitly exposed in frame initial Associative* will be automatically loaded when needed from /var/aw/var/LatexWiki/ASSS.NRLIB/ASSS
ID abbreviates domain Identities ------------------------------------------------------------------------ initializing NRLIB ID for Identities compiling into NRLIB ID importing Symbolic(Integer,None) compiling exported axioms : () -> List Equation InputForm Time: 0.02 SEC.
(time taken in buildFunctor: 0)
;;; *** |Identities| REDEFINED
;;; *** |Identities| REDEFINED Time: 0 SEC.
Cumulative Statistics for Constructor Identities Time: 0.02 seconds
finalizing NRLIB ID Processing Identities for Browser database: --->-->Identities(): Missing Description ; compiling file "/var/aw/var/LatexWiki/ID.NRLIB/ID.lsp" (written 26 JAN 2017 05:37:24 PM):
; /var/aw/var/LatexWiki/ID.NRLIB/ID.fasl written ; compilation finished in 0:00:00.011 ------------------------------------------------------------------------ Identities is now explicitly exposed in frame initial Identities will be automatically loaded when needed from /var/aw/var/LatexWiki/ID.NRLIB/ID
INV abbreviates domain Inverse ------------------------------------------------------------------------ initializing NRLIB INV for Inverse compiling into NRLIB INV importing Symbolic(Integer,None) compiling exported axioms : () -> List Equation InputForm Time: 0.02 SEC.
(time taken in buildFunctor: 0)
;;; *** |Inverse| REDEFINED
;;; *** |Inverse| REDEFINED Time: 0 SEC.
Cumulative Statistics for Constructor Inverse Time: 0.02 seconds
finalizing NRLIB INV Processing Inverse for Browser database: --->-->Inverse(): Missing Description ; compiling file "/var/aw/var/LatexWiki/INV.NRLIB/INV.lsp" (written 26 JAN 2017 05:37:24 PM):
; /var/aw/var/LatexWiki/INV.NRLIB/INV.fasl written ; compilation finished in 0:00:00.013 ------------------------------------------------------------------------ Inverse is now explicitly exposed in frame initial Inverse will be automatically loaded when needed from /var/aw/var/LatexWiki/INV.NRLIB/INV
DBL abbreviates domain Doubles ------------------------------------------------------------------------ initializing NRLIB DBL for Doubles compiling into NRLIB DBL importing Symbolic(Integer,None) compiling exported axioms : () -> List Equation InputForm Time: 0.02 SEC.
(time taken in buildFunctor: 0)
;;; *** |Doubles| REDEFINED
;;; *** |Doubles| REDEFINED Time: 0 SEC.
Cumulative Statistics for Constructor Doubles Time: 0.02 seconds
finalizing NRLIB DBL Processing Doubles for Browser database: --->-->Doubles(): Missing Description ; compiling file "/var/aw/var/LatexWiki/DBL.NRLIB/DBL.lsp" (written 26 JAN 2017 05:37:24 PM):
; /var/aw/var/LatexWiki/DBL.NRLIB/DBL.fasl written ; compilation finished in 0:00:00.010 ------------------------------------------------------------------------ Doubles is now explicitly exposed in frame initial Doubles will be automatically loaded when needed from /var/aw/var/LatexWiki/DBL.NRLIB/DBL
CAN abbreviates domain Cancels ------------------------------------------------------------------------ initializing NRLIB CAN for Cancels compiling into NRLIB CAN importing Symbolic(Integer,None) compiling exported axioms : () -> List Equation InputForm Time: 0.01 SEC.
(time taken in buildFunctor: 0)
;;; *** |Cancels| REDEFINED
;;; *** |Cancels| REDEFINED Time: 0 SEC.
Cumulative Statistics for Constructor Cancels Time: 0.01 seconds
finalizing NRLIB CAN Processing Cancels for Browser database: --->-->Cancels(): Missing Description ; compiling file "/var/aw/var/LatexWiki/CAN.NRLIB/CAN.lsp" (written 26 JAN 2017 05:37:24 PM):
; /var/aw/var/LatexWiki/CAN.NRLIB/CAN.fasl written ; compilation finished in 0:00:00.010 ------------------------------------------------------------------------ Cancels is now explicitly exposed in frame initial Cancels will be automatically loaded when needed from /var/aw/var/LatexWiki/CAN.NRLIB/CAN
SQ abbreviates domain Squares ------------------------------------------------------------------------ initializing NRLIB SQ for Squares compiling into NRLIB SQ importing Symbolic(Integer,None) compiling exported axioms : () -> List Equation InputForm Time: 0.02 SEC.
(time taken in buildFunctor: 0)
;;; *** |Squares| REDEFINED
;;; *** |Squares| REDEFINED Time: 0 SEC.
Cumulative Statistics for Constructor Squares Time: 0.02 seconds
finalizing NRLIB SQ Processing Squares for Browser database: --->-->Squares(): Missing Description ; compiling file "/var/aw/var/LatexWiki/SQ.NRLIB/SQ.lsp" (written 26 JAN 2017 05:37:24 PM):
; /var/aw/var/LatexWiki/SQ.NRLIB/SQ.fasl written ; compilation finished in 0:00:00.010 ------------------------------------------------------------------------ Squares is now explicitly exposed in frame initial Squares will be automatically loaded when needed from /var/aw/var/LatexWiki/SQ.NRLIB/SQ
DIV abbreviates domain Divides ------------------------------------------------------------------------ initializing NRLIB DIV for Divides compiling into NRLIB DIV importing Symbolic(Integer,None) compiling exported axioms : () -> List Equation InputForm Time: 0.01 SEC.
(time taken in buildFunctor: 0)
;;; *** |Divides| REDEFINED
;;; *** |Divides| REDEFINED Time: 0 SEC.
Cumulative Statistics for Constructor Divides Time: 0.01 seconds
finalizing NRLIB DIV Processing Divides for Browser database: --->-->Divides(): Missing Description ; compiling file "/var/aw/var/LatexWiki/DIV.NRLIB/DIV.lsp" (written 26 JAN 2017 05:37:24 PM):
; /var/aw/var/LatexWiki/DIV.NRLIB/DIV.fasl written ; compilation finished in 0:00:00.008 ------------------------------------------------------------------------ Divides is now explicitly exposed in frame initial Divides will be automatically loaded when needed from /var/aw/var/LatexWiki/DIV.NRLIB/DIV
AND abbreviates domain /\ ------------------------------------------------------------------------ initializing NRLIB AND for /\ compiling into NRLIB AND compiling exported axioms : () -> List Equation InputForm Time: 0 SEC.
(time taken in buildFunctor: 0)
;;; *** |/\\| REDEFINED
;;; *** |/\\| REDEFINED Time: 0 SEC.
Cumulative Statistics for Constructor /\ Time: 0 seconds
finalizing NRLIB AND Processing /\ for Browser database: --------constructor--------- ; compiling file "/var/aw/var/LatexWiki/AND.NRLIB/AND.lsp" (written 26 JAN 2017 05:37:24 PM):
; /var/aw/var/LatexWiki/AND.NRLIB/AND.fasl written ; compilation finished in 0:00:00.011 ------------------------------------------------------------------------ /\ is now explicitly exposed in frame initial /\ will be automatically loaded when needed from /var/aw/var/LatexWiki/AND.NRLIB/AND
SEXPR abbreviates domain SymbolicExpression ------------------------------------------------------------------------ initializing NRLIB SEXPR for SymbolicExpression compiling into NRLIB SEXPR ****** Domain: $ already in scope augmenting $: (RetractableTo (Integer)) ****** Domain: R already in scope augmenting R: (IntegralDomain) ****** Domain: $ already in scope augmenting $: (TranscendentalFunctionCategory) ****** Domain: R already in scope augmenting R: (GcdDomain) ****** Domain: R already in scope augmenting R: (LinearlyExplicitOver (Integer)) ****** Domain: $ already in scope augmenting $: (FunctionSpace (Integer)) ****** Domain: $ already in scope augmenting $: (RetractableTo (Integer)) ****** Domain: $ already in scope augmenting $: (Ring) ****** Domain: R already in scope augmenting R: (AbelianGroup) ****** Domain: R already in scope augmenting R: (AbelianSemiGroup) ****** Domain: R already in scope augmenting R: (CharacteristicNonZero) ****** Domain: R already in scope augmenting R: (CommutativeRing) ****** Domain: R already in scope augmenting R: (ConvertibleTo (InputForm)) ****** Domain: R already in scope augmenting R: (ConvertibleTo (Pattern (Float))) ****** Domain: R already in scope augmenting R: (ConvertibleTo (Pattern (Integer))) ****** Domain: R already in scope augmenting R: (Group) ****** Domain: R already in scope augmenting R: (IntegralDomain) ****** Domain: R already in scope augmenting R: (PatternMatchable (Float)) ****** Domain: R already in scope augmenting R: (PatternMatchable (Integer)) ****** Domain: R already in scope augmenting R: (RetractableTo (Integer)) ****** Domain: R already in scope augmenting R: (Ring) ****** Domain: R already in scope augmenting R: (SemiGroup) (time taken in buildFunctor: 120)
;;; *** |SymbolicExpression| REDEFINED
;;; *** |SymbolicExpression| REDEFINED Time: 0.15 SEC.
Cumulative Statistics for Constructor SymbolicExpression Time: 0.15 seconds
finalizing NRLIB SEXPR Processing SymbolicExpression for Browser database: --->-->SymbolicExpression(): Missing Description ; compiling file "/var/aw/var/LatexWiki/SEXPR.NRLIB/SEXPR.lsp" (written 26 JAN 2017 05:37:24 PM):
; /var/aw/var/LatexWiki/SEXPR.NRLIB/SEXPR.fasl written ; compilation finished in 0:00:00.013 ------------------------------------------------------------------------ SymbolicExpression is now explicitly exposed in frame initial SymbolicExpression will be automatically loaded when needed from /var/aw/var/LatexWiki/SEXPR.NRLIB/SEXPR
SYMPKG1 abbreviates package SymbolicFunctions1 ------------------------------------------------------------------------ initializing NRLIB SYMPKG1 for SymbolicFunctions1 compiling into NRLIB SYMPKG1 ****** Domain: R already in scope ****** Domain: S already in scope compiling local hack : B -> InputForm Time: 0.01 SEC.
compiling exported convert : B -> A Time: 0.01 SEC.
(time taken in buildFunctor: 0)
;;; *** |SymbolicFunctions1| REDEFINED
;;; *** |SymbolicFunctions1| REDEFINED Time: 0 SEC.
Cumulative Statistics for Constructor SymbolicFunctions1 Time: 0.02 seconds
finalizing NRLIB SYMPKG1 Processing SymbolicFunctions1 for Browser database: --->-->SymbolicFunctions1(constructor): Not documented!!!! --->-->SymbolicFunctions1((convert (A B))): Not documented!!!! --->-->SymbolicFunctions1(): Missing Description ; compiling file "/var/aw/var/LatexWiki/SYMPKG1.NRLIB/SYMPKG1.lsp" (written 26 JAN 2017 05:37:24 PM):
; /var/aw/var/LatexWiki/SYMPKG1.NRLIB/SYMPKG1.fasl written ; compilation finished in 0:00:00.020 ------------------------------------------------------------------------ SymbolicFunctions1 is now explicitly exposed in frame initial SymbolicFunctions1 will be automatically loaded when needed from /var/aw/var/LatexWiki/SYMPKG1.NRLIB/SYMPKG1

Some Tests

fricas
s:SymbolicExpression Integer := 1+1+1

\label{eq1}3(1)
Type: SymbolicExpression?(Integer)
fricas
eval s

\label{eq2}3(2)
Type: SymbolicExpression?(Integer)
fricas
s::Integer

\label{eq3}3(3)
Type: Integer
fricas
equal? (s=3)

\label{eq4} \mbox{\rm true} (4)
Type: Boolean
fricas
test(s=3)

\label{eq5} \mbox{\rm true} (5)
Type: Boolean
fricas
(1/5)::SEXPR INT

\label{eq6}1 \over 5(6)
Type: SymbolicExpression?(Integer)
fricas
--
(x,y,z):SymbolicExpression Integer
Type: Void
fricas
(p,q,r):Expression Integer
Type: Void
fricas
--
x::Expression Integer

\label{eq7}x(7)
Type: Expression(Integer)
fricas
x+x = 2*x

\label{eq8}{2 \  x}={2 \  x}(8)
Type: Equation(SymbolicExpression?(Integer))
fricas
test %

\label{eq9} \mbox{\rm true} (9)
Type: Boolean
fricas
x-x = 0

\label{eq10}0 = 0(10)
Type: Equation(SymbolicExpression?(Integer))
fricas
test %

\label{eq11} \mbox{\rm true} (11)
Type: Boolean
fricas
x+y = y+x

\label{eq12}{x + y}={x + y}(12)
Type: Equation(SymbolicExpression?(Integer))
fricas
test %

\label{eq13} \mbox{\rm true} (13)
Type: Boolean
fricas
x+(y+z)= (x+y)+z

\label{eq14}{x + y + z}={x + y + z}(14)
Type: Equation(SymbolicExpression?(Integer))
fricas
test %

\label{eq15} \mbox{\rm true} (15)
Type: Boolean
fricas
x*x = x^2

\label{eq16}{{x}^{2}}={{x}^{2}}(16)
Type: Equation(SymbolicExpression?(Integer))
fricas
test %

\label{eq17} \mbox{\rm true} (17)
Type: Boolean
fricas
x/x = 1

\label{eq18}1 = 1(18)
Type: Equation(SymbolicExpression?(Integer))
fricas
test %

\label{eq19} \mbox{\rm true} (19)
Type: Boolean
fricas
x*y = y*x

\label{eq20}{x \  y}={x \  y}(20)
Type: Equation(SymbolicExpression?(Integer))
fricas
test %

\label{eq21} \mbox{\rm true} (21)
Type: Boolean
fricas
x*(y*z)= (x*y)*z

\label{eq22}{x \  y \  z}={x \  y \  z}(22)
Type: Equation(SymbolicExpression?(Integer))
fricas
test %

\label{eq23} \mbox{\rm true} (23)
Type: Boolean
fricas
x*(y+z) = x*y + x*z

\label{eq24}{{x \  y}+{x \  z}}={{x \  y}+{x \  z}}(24)
Type: Equation(SymbolicExpression?(Integer))
fricas
test %

\label{eq25} \mbox{\rm true} (25)
Type: Boolean
fricas
--
sin(x)+cos(x)+tan(x)

\label{eq26}{\cos \left({x}\right)}+{\sin \left({x}\right)}+{\tan \left({x}\right)}(26)
Type: SymbolicExpression?(Integer)
fricas
asin(x)+acos(x)+atan(x)

\label{eq27}{\arccos \left({x}\right)}+{\arcsin \left({x}\right)}+{\arctan \left({x}\right)}(27)
Type: SymbolicExpression?(Integer)
fricas
sin(x)^2 + cos(x)^2 = 1

\label{eq28}{{{\cos \left({x}\right)}^{2}}+{{\sin \left({x}\right)}^{2}}}= 1(28)
Type: Equation(SymbolicExpression?(Integer))
fricas
test map(simplify,%)

\label{eq29} \mbox{\rm true} (29)
Type: Boolean
fricas
--
exp(x+1) = %e*exp(x)

\label{eq30}{exp \left({1 + x}\right)}={e \ {exp \left({x}\right)}}(30)
Type: Equation(SymbolicExpression?(Integer))
fricas
test map(simplify, %)

\label{eq31} \mbox{\rm true} (31)
Type: Boolean
fricas
--
nthRoot(x, y)

\label{eq32}\root{y}\of{x}(32)
Type: SymbolicExpression?(Integer)
fricas
nthRoot(x,2)

\label{eq33}\root{2}\of{x}(33)
Type: SymbolicExpression?(Integer)
fricas
sqrt(x)

\label{eq34}\sqrt{x}(34)
Type: SymbolicExpression?(Integer)
fricas
test(sqrt(x)=nthRoot(x,2))

\label{eq35} \mbox{\rm true} (35)
Type: Boolean
fricas
test(nthRoot(x,2)=sqrt(x))

\label{eq36} \mbox{\rm true} (36)
Type: Boolean
fricas
(nthRoot(x,2)=sqrt(x))@Boolean

\label{eq37} \mbox{\rm true} (37)
Type: Boolean
fricas
--
variables(sin(x*y)+2*z)

\label{eq38}\left[ x , \: y , \: z \right](38)
Type: List(Symbol)
fricas
kernels(sin(x*y)+2*z)

\label{eq39}\left[ z , \:{\sin \left({x \  y}\right)}\right](39)
Type: List(Kernel(SymbolicExpression?(Integer)))
fricas
--
x+1/y

\label{eq40}{1 \over y}+ x(40)
Type: SymbolicExpression?(Integer)
fricas
simplify %

\label{eq41}{{x \  y}+ 1}\over y(41)
Type: SymbolicExpression?(Integer)
fricas
simplify p

\label{eq42}p(42)
Type: Expression(Integer)
fricas
factor(x^2+2*x*y+y^2)

\label{eq43}{\left(y + x \right)}^{2}(43)
Type: SymbolicExpression?(Integer)
fricas
expand((x+y)/z)

\label{eq44}{x \over z}+{y \over z}(44)
Type: SymbolicExpression?(Integer)
fricas
expand(x*(y+z))

\label{eq45}{x \  y}+{x \  z}(45)
Type: SymbolicExpression?(Integer)

Kurt Examples

fricas
SEI==>SymbolicExpression INT
Type: Void
fricas
(x,y):SEI
Type: Void
fricas
(x+y)^2

\label{eq46}{2 \  x \  y}+{{x}^{2}}+{{y}^{2}}(46)
Type: SymbolicExpression?(Integer)
fricas
r0:=(x+y)^2

\label{eq47}{2 \  x \  y}+{{x}^{2}}+{{y}^{2}}(47)
Type: SymbolicExpression?(Integer)
fricas
--r0::InputForm
rs := simplify r0

\label{eq48}{{y}^{2}}+{2 \  x \  y}+{{x}^{2}}(48)
Type: SymbolicExpression?(Integer)
fricas
factor rs

\label{eq49}{\left(y + x \right)}^{2}(49)
Type: SymbolicExpression?(Integer)
fricas
convert(r)$SEI

\label{eq50}r(50)
Type: InputForm?
fricas
coerce(r)$SEI

\label{eq51}r(51)
Type: SymbolicExpression?(Integer)
fricas
sum(x,'x=1..10)

\label{eq52}{{\left({11}- 1 \right)}^{2}}-{{\left(1 - 1 \right)}^{2}}(52)
Type: SymbolicExpression?(Integer)
fricas
reduce(+,[n::SEXPR INT for n in 1..10])

\label{eq53}55(53)
Type: SymbolicExpression?(Integer)
fricas
x - x

\label{eq54}0(54)
Type: SymbolicExpression?(Integer)
fricas
(x+y)^x

\label{eq55}{\left(x + y \right)}^{x}(55)
Type: SymbolicExpression?(Integer)
fricas
exp(-x)

\label{eq56}exp \left({-{\ }x}\right)(56)
Type: SymbolicExpression?(Integer)
fricas
-x

\label{eq57}-{\ }x(57)
Type: SymbolicExpression?(Integer)
fricas
exp(-x)::InputForm

\label{eq58}\left(exp \ {\left(- \  x \right)}\right)(58)
Type: InputForm?
fricas
f:=operator 'f

\label{eq59}f(59)
Type: BasicOperator?
fricas
f(x)

\label{eq60}f \left({x}\right)(60)
Type: SymbolicExpression?(Integer)
fricas
f(0$SEXPR INT)

\label{eq61}f \left({0}\right)(61)
Type: SymbolicExpression?(Integer)
fricas
f(0$EXPR INT)

\label{eq62}f \left({0}\right)(62)
Type: Expression(Integer)
fricas
D(x^2,'x)

\label{eq63}2 \  x(63)
Type: SymbolicExpression?(Integer)
fricas
simplify %

\label{eq64}2 \  x(64)
Type: SymbolicExpression?(Integer)
fricas
x^n

\label{eq65}{x}^{n}(65)
Type: SymbolicExpression?(Integer)
fricas
D(x^n,'x)
>> System error: The value |n| is not of type CONS.