aboutsummaryrefslogtreecommitdiff
path: root/src/algebra/strap/EUCDOM.lsp
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2008-08-16 06:00:35 +0000
committerdos-reis <gdr@axiomatics.org>2008-08-16 06:00:35 +0000
commit84db9d8c5349cb8b3e7e2d102867e53e610d7ef2 (patch)
tree0a2689194fd9e75ce8925550a4e177f3e5520684 /src/algebra/strap/EUCDOM.lsp
parent3372c377eded97a0094f63cddd2e039af7066431 (diff)
downloadopen-axiom-84db9d8c5349cb8b3e7e2d102867e53e610d7ef2.tar.gz
* algebra/strap: New. Sequester cached Lisp translation of
algebra bootstrap domains here.
Diffstat (limited to 'src/algebra/strap/EUCDOM.lsp')
-rw-r--r--src/algebra/strap/EUCDOM.lsp53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/algebra/strap/EUCDOM.lsp b/src/algebra/strap/EUCDOM.lsp
new file mode 100644
index 00000000..c58fa54c
--- /dev/null
+++ b/src/algebra/strap/EUCDOM.lsp
@@ -0,0 +1,53 @@
+(|/VERSIONCHECK| 2)
+
+(DEFPARAMETER |EuclideanDomain;AL| (QUOTE NIL))
+
+(DEFUN |EuclideanDomain| NIL
+ (LET (#:G83585)
+ (COND
+ (|EuclideanDomain;AL|)
+ (T (SETQ |EuclideanDomain;AL| (|EuclideanDomain;|))))))
+
+(DEFUN |EuclideanDomain;| NIL
+ (PROG (#1=#:G83583)
+ (RETURN
+ (PROG1
+ (LETT #1#
+ (|Join|
+ (|PrincipalIdealDomain|)
+ (|mkCategory|
+ (QUOTE |domain|)
+ (QUOTE (
+ ((|sizeLess?| ((|Boolean|) |$| |$|)) T)
+ ((|euclideanSize| ((|NonNegativeInteger|) |$|)) T)
+ ((|divide|
+ ((|Record|
+ (|:| |quotient| |$|)
+ (|:| |remainder| |$|))
+ |$| |$|)) T)
+ ((|quo| (|$| |$| |$|)) T)
+ ((|rem| (|$| |$| |$|)) T)
+ ((|extendedEuclidean|
+ ((|Record|
+ (|:| |coef1| |$|)
+ (|:| |coef2| |$|)
+ (|:| |generator| |$|))
+ |$| |$|)) T)
+ ((|extendedEuclidean|
+ ((|Union|
+ (|Record| (|:| |coef1| |$|) (|:| |coef2| |$|))
+ "failed")
+ |$| |$| |$|)) T)
+ ((|multiEuclidean|
+ ((|Union|
+ (|List| |$|)
+ "failed")
+ (|List| |$|) |$|)) T)))
+ NIL
+ (QUOTE ((|List| |$|) (|NonNegativeInteger|) (|Boolean|)))
+ NIL))
+ |EuclideanDomain|)
+ (SETELT #1# 0 (QUOTE (|EuclideanDomain|)))))))
+
+(MAKEPROP (QUOTE |EuclideanDomain|) (QUOTE NILADIC) T)
+