diff --git a/package.lisp b/package.lisp index 9cb2ed6..ba2c2c9 100644 --- a/package.lisp +++ b/package.lisp @@ -1,581 +1,581 @@ -;;;; package.lisp +:;;;; package.lisp (defpackage #:cat (:use #:cl) (:export KENZO-VERSION - ;; kenzo.lisp + ;; kenzo.lisp - *BC* - *BDD* - *CMBN-CONTROL* - *DF-FD* - *DG-GD* - *FH* - *HG* - *HH* - *HOMOLOGY-VERBOSE* - *ID-FG* - *ID-GF-DH-HD* + *BC* + *BDD* + *CMBN-CONTROL* + *DF-FD* + *DG-GD* + *FH* + *HG* + *HH* + *HOMOLOGY-VERBOSE* + *ID-FG* + *ID-GF-DH-HD* *LIST-LIST* - *RESULTS-VERBOSE* - *TC* - *TDD* - *TNPR-WITH-DEGREES* - - ;; abbreviations.lisp - - +ABBREVIATIONS+ - WHAT-IS - - ;; algebras.lisp - - HOPF - - ;; bar.lisp - - +NULL-ABAR+ - ABAR - BAR - BAR-BASIS-LENGTH - BAR-BASIS - BAR-CMPR - BAR-HRZN-DFFR - BAR-INTR-HRZN-DFFR - BAR-INTR-VRTC-DFFR - HMTP-VRTC-BAR-INTR - MRPH-VRTC-BAR-INTR - NCMBN-BAR - VRTC-BAR - - ;; bicones.lisp - - BICN-CMBN-CMBNB - BICN-CMBN-CMBNC - BICN-CMBN-CMBND - BICONE - BICONE-BASIS - BICONE-CMPR - DISPATCH-BICN-CMBN - MAKE-BICN-CMBN - - ;; cartesian-products.lisp - - 2ABSM-ACRPR - CRTS-PRDC - CRTS-PRDC-BASIS - CRTS-PRDC-CMPR - CRTS-PRDC-FACE - CRTS-PRDC-FACE* - EXTRACT-COMMON-DGOP - - ;; chain-complexes.lisp - - ?2 - ?3 - +TOO-MUCH-TIME+ - ALL-OBJECTS - BUILD-CHCM - BUILD-MRPH - CAT-INIT - CHCM - CMBN-? - DO-CONTROL - GNRT-? - HOW-MANY-OBJECTS - K - KD - KD2 - MRPH - - ;; chcm-elementary-op.lisp - - ADD - CMPS - IDNT-MRPH - N-MRPH - OPPS - SBTR - Z-CHCM - ZERO-MRPH - - ;; cl-space-efhm.lisp - - CS-HAT-T-U - CS-HAT-U-T - CS-LEFT-HMEQ - CS-LEFT-HMEQ-HAT - CS-LEFT-HMEQ-LEFT-REDUCTION - CS-LEFT-HMEQ-RIGHT-REDUCTION - CS-PRE-LEFT-HMEQ-LEFT-REDUCTION - CS-PRE-LEFT-HMEQ-LEFT-REDUCTION-INTR-F - CS-PRE-LEFT-HMEQ-LEFT-REDUCTION-INTR-G - CS-PRE-LEFT-HMEQ-RIGHT-REDUCTION - CS-PRE-LEFT-HMEQ-RIGHT-REDUCTION-INTR-F - CS-PRE-LEFT-HMEQ-RIGHT-REDUCTION-INTR-G - - ;; classes.lisp - - ABSM - ABSM1 - ABSM2 - AB-SIMPLICIAL-GROUP - ALLP-LIST - APOWR - BCC - BRGN - BSGN - BSPN - CBGN - CHAIN-COMPLEX - CMBN-CMBN - CMBN-DEGR - CMBN-LIST - DEGR - DGOP - DGOP1 - DGOP2 - DFFR1 - EFHM - F - FACE - G - GBAR - GMSM - GMSM2 - H - HOMOTOPY-EQUIVALENCE - IABSM - IDNM - KAN - LOOP-LIST - LRDCT - MAKE-ABAR - MAKE-ALLP - MAKE-CMBN - MAKE-LOOP - MAKE-RESULT - MORPHISM - ORGN - REDUCTION - RRDCT - SIMPLICIAL-GROUP - SINTR - SORC - TCC - - ;; classifying-space.lisp - - +NULL-GBAR+ - CLASSIFYING-SPACE - CLASSIFYING-SPACE-BASIS - CLASSIFYING-SPACE-CMPR - CLASSIFYING-SPACE-FACE - CLASSIFYING-SPACE-GRIN-SINTR - CLASSIFYING-SPACE-GRML-SINTR - GBAR - NORMALIZE-GBAR - UNNORMALIZE-GBAR - - ;; cobar.lisp - - ALLP - COBAR - COBAR-BASIS - COBAR-BASIS-LENGTH - COBAR-CMPR - COBAR-HRZN-DFFR - COBAR-INTR-HRZN-DFFR - COBAR-INTR-VRTC-DFFR - HMTP-VRTC-COBAR-INTR - MRPH-VRTC-COBAR-INTR - NCMBN-COBAR - VRTC-COBAR - - ;; combinations.lisp - - 2CMBN-ADD - 2CMBN-SBTR - 2N-2CMBN - CHECK-CMBN - CMBN - CMBN-CMBN - CMBN-OPPS - DSTR-ADD-TERM-TO-CMBN - F-CMPR - L-CMPR - MAPLEXICO - N-CMBN - NCMBN-ADD - NTERM-ADD - S-CMPR - ZERO-CMBN - ZERO-INTR-DFFR - - ;; cones.lisp - - CMBN-CON0 - CMBN-CON1 - CONE - CONE-2CMBN-APPEND - CONE-2MRPH-DIAG - CONE-2MRPH-DIAG-IMPL - CONE-3MRPH-TRIANGLE - CONE-3MRPH-TRIANGLE-IMPL - CONE-BASIS - CONE-CMBN-SPLIT - CONE-CMPR - TERM-CON0 - TERM-CON1 - TERM-UNCON - - ;; cs-twisted-products.lisp - - SMGR-CRTS-CONTRACTION - SMGR-FIBRATION - SMGR-TNPR-CONTRACTION - - ;; delta.lisp - - DELTA - DELTA-BNDR - DELTA-DGNL - DELTA-FACE - DELTA-INFINITY - DELTA-N-BASIS - DELTAB - DELTAB2 - DELTAB2-BNDR - DELTAB2-DGNL - SOFT-DELTA - SOFT-DELTA-BNDR - SOFT-DELTA-CMPR - SOFT-DELTA-DGNL - SOFT-DELTA-FACE - SOFT-DELTA-INFINITY - SOFT-DELTA-N-BASIS - - ;; disk-pasting.lisp - - CHCM-DISK-PASTING - DISK-PASTING - DISK-PASTING-BASIS - DISK-PASTING-CMPR - DISK-PASTING-FACE - DISK-PASTING-INTR-DFFR - HMEQ-DISK-PASTING - MRPH-DISK-PASTING - MRPH-DISK-PASTING-INTR - - ;; effective-homology.lisp - - BUILD-HMEQ - BUILD-RDCT - CHECK-RDCT - CHECK-RDCT-NO-WAIT - CMPS - HMEQ - PRE-CHECK-RDCT - RDCT - TRIVIAL-HMEQ - TRIVIAL-RDCT - - ;; eilenberg-zilber.lisp - - AW - EML - EZ - INTR-AW - INTR-EML - INTR-PHI - PHI - SHUFFLE-SIGN - - ;; fibrations.lisp - - FIBRATION-TOTAL - - ;; homology-groups - - CHCM-HOMOLOGY - CHCM-HOMOLOGY-GEN - CHCM-MAT - HOMOLOGIE - - ;; k-pi-n.lisp - - CIRCLE - INTERESTING-FACES - GMSM-COCYCLE - K-Z - K-Z-1 - K-Z-1-CMPR - K-Z-1-FACE - K-Z-1-GRIN - K-Z-1-GRML - K-Z2 - K-Z2-1 - KZ1-RDCT - KZ1-RDCT-F-INTR - KZ1-RDCT-H-INTR - K-Z-FUNDAMENTAL-CLASS - K-Z2-FUNDAMENTAL-CLASS - Z-ABSM-BAR - Z-BAR-ABSM - Z-FUNDAMENTAL-GMSM - Z2-ABSM-BAR - Z2-BAR-ABSM - Z2-FUNDAMENTAL-GMSM - Z-COCYCLE-GBAR - Z-COCYCLE-GBAR-HEAD - Z2-COCYCLE-GBAR - Z2-COCYCLE-GBAR-HEAD - - ;; kan.lisp - - CHECK-HAT - CHECK-KAN - SMST-KAN - - ;; loop-spaces.lisp - - +NULL-LOOP+ - APOWR-FACE4 - APOWR-LASTFACE4 - APOWR-NILOOP - GDELTAB - LOOP3 - LOOP-PRINT - LOOP-SPACE - LOOP-SPACE-CMPR - LOOP-SPACE-FACE - LOOP-SPACE-GRIN-SINTR - LOOP-SPACE-GRML-SINTR - NORMALIZE-LOOP - UNNORMALIZE-LOOP - - ;; lp-space-efhm.lisp - - LS-HAT-T-U - LS-HAT-U-T - LS-LEFT-HMEQ - LS-LEFT-HMEQ-HAT - LS-LEFT-HMEQ-LEFT-REDUCTION - LS-LEFT-HMEQ-LEFT-REDUCTION-G-INTR - LS-LEFT-HMEQ-RIGHT-REDUCTION - LS-PRE-LEFT-HMEQ-LEFT-REDUCTION - LS-PRE-LEFT-HMEQ-LEFT-REDUCTION-H-INTR - LS-PRE-LEFT-HMEQ-LEFT-REDUCTION-INTR-F - LS-PRE-LEFT-HMEQ-RIGHT-REDUCTION - LS-PRE-LEFT-HMEQ-RIGHT-REDUCTION-INTR-F - LS-PRE-LEFT-HMEQ-RIGHT-REDUCTION-INTR-G - - ;; ls-twisted-products.lisp - - ABSM-LOOPABSM - CRTS-CONTRACTION - CRTS-CONTRACTION-INTR - DTAU-D-INTR - POP-FIRST-ABSM - SZCZARBA - TNPR-CONTRACTION - TWISTED-CRTS-PRDC - - ;; macros.lisp - - -1-EXPT-N - -1-EXPT-N+1 - -1-EXPT-N-1 - ? - 2-EXP - ABAR-LIST - APRD - BASIS - BCC - BCNB - BCNC - BCND - BINOMIAL-P-Q - BNDR - CFFC - CMBN-NON-ZERO-P - CMBN-ZERO-P - CMPR - COLUMN-MINUS-5 - COLUMN-OP-5 - COLUMN-SWAP-5 - CON0 - CON1 - CPRD - CRPR - D - DEF - F - DFFR - DGNL - G - GMSM1 - GNRT - GNRT-NAME - GRIN - GRML - H - I-ADD - I-CMPS - I-SBTR - KFLL - LEXICO - LF - LG - LINE-MINUS-5 - LINE-OP-5 - LINE-SWAP-5 - MASK - MAKE-GBAR - RBCC - RF - RG - TERM - TERM-CMBN - TCC - TNPR - WITH--TERM - WITH-ABSM - WITH-CMBN - WITh-CRPR - WITH-TERM - WITh-TNPR - - ;; searching-homology.lisp - - ECHCM - HOMOLOGY - - ;; serre.lisp - - BROWN-REDUCTION - FIBRATION-DTAU-D - FIBRATION-DTAU-D-INTR - RIGHT-SERRE-EFHM - - ;; simplicial-groups.lisp - - SMGR - - ;; simplicial-mrphs.lisp - - BUILD-SMMR - TW-A-SINTR3 - - ;; simplicial-sets.lisp - - 1DGNR - 1DGOP*DGOP - 1DLOP-DGOP - A-CMPR3 - A-FACE4 - BSPN-P - CHECK-FACES - CHECK-SMST - DGOP*DGOP - DGOP/DGOP - DGOP-EXT-INT - DGOP-INT-EXT - DLOP-EXT-INT - DLOP-INT-EXT - FACE-BNDR - FACE*-BNDR - HYPHENIZE-LIST - INTR-DIAGONAL - NDGNR - NFACE - REMOVE-BIT - SHOW-STRUCTURE - SMST - - ;; smith.lisp - - CHCM-MTRX - CHML-CLSS - CHML-CLSS-INTR - COLUMN-MINUS - COLUMN-OP - COLUMN-SWAP - COPY-MTRX - ECHCM-KILL-EPI - ECHCM-KILL-EPI-F-INTR - ECHCM-KILL-EPI-G-INTR - ECHCM-KILL-EPI-H-INTR - GNRT-NAME-BASIS - IDNT-MTRX - KILL-EPI - KILL-EPIS - LEFT-SUBMATRIX - LINE-MINUS - LINE-OP - LINE-SWAP - LIST-SMITH - MINIMAL-REST-1 - MINIMAL-REST-2 - MINIMAL-TERM - MINIMAL-TERM-TOP-LEFT - MTRX-PRDC - PIVOTT - RANDOM-MATRIX - - ;; special-smsts.lisp - - BUILD-FINITE-SS - FINITE-SS-PRE-TABLE - FINITE-SS-PRE-TABLE-TABLE - FINITE-SS-TABLE - GMSMS-SUBSMST - MOORE - R-PROJ-SPACE - R-PROJ-SPACE-BASIS - SPHERE - SPHERE-FACE - SPHERE-WEDGE - - ;; suspensions.lisp - - SUSPENSION - SUSPENSION-BASIS - SUSPENSION-CMPR - SUSPENSION-FACE - SUSPENSION-INTR - SUSPENSION-INTR-CPRD - SUSPENSION-INTR-DFFR - - ;; tensor-products.lisp - - 2CMBN-TNPR - TNSR-PRDC - TNSR-PRDC-BASIS - TNSR-PRDC-CMPR - TNSR-PRDC-INTR - TNSR-PRDC-INTR-DFFR - TNPR-PRINT - - ;; various.lisp - - +EMPTY-LIST+ - - >A-B< - >A-B> - BINOMIAL-N-P - CLOCK - DONE - SRANDOM - V - - ;; whitehead.lisp - - Z-WHITEHEAD - Z-WHITEHEAD-SINTR - Z2-WHITEHEAD - Z2-WHITEHEAD-SINTR - - )) - + *RESULTS-VERBOSE* + *TC* + *TDD* + *TNPR-WITH-DEGREES* + + ;; abbreviations.lisp + + +ABBREVIATIONS+ + WHAT-IS + + ;; algebras.lisp + + HOPF + + ;; bar.lisp + + +NULL-ABAR+ + ABAR + BAR + BAR-BASIS-LENGTH + BAR-BASIS + BAR-CMPR + BAR-HRZN-DFFR + BAR-INTR-HRZN-DFFR + BAR-INTR-VRTC-DFFR + HMTP-VRTC-BAR-INTR + MRPH-VRTC-BAR-INTR + NCMBN-BAR + VRTC-BAR + + ;; bicones.lisp + + BICN-CMBN-CMBNB + BICN-CMBN-CMBNC + BICN-CMBN-CMBND + BICONE + BICONE-BASIS + BICONE-CMPR + DISPATCH-BICN-CMBN + MAKE-BICN-CMBN + + ;; cartesian-products.lisp + + 2ABSM-ACRPR + CRTS-PRDC + CRTS-PRDC-BASIS + CRTS-PRDC-CMPR + CRTS-PRDC-FACE + CRTS-PRDC-FACE* + EXTRACT-COMMON-DGOP + + ;; chain-complexes.lisp + + ?2 + ?3 + +TOO-MUCH-TIME+ + ALL-OBJECTS + BUILD-CHCM + BUILD-MRPH + CAT-INIT + CHCM + CMBN-? + DO-CONTROL + GNRT-? + HOW-MANY-OBJECTS + K + KD + KD2 + MRPH + + ;; chcm-elementary-op.lisp + + ADD + CMPS + IDNT-MRPH + N-MRPH + OPPS + SBTR + Z-CHCM + ZERO-MRPH + + ;; cl-space-efhm.lisp + + CS-HAT-T-U + CS-HAT-U-T + CS-LEFT-HMEQ + CS-LEFT-HMEQ-HAT + CS-LEFT-HMEQ-LEFT-REDUCTION + CS-LEFT-HMEQ-RIGHT-REDUCTION + CS-PRE-LEFT-HMEQ-LEFT-REDUCTION + CS-PRE-LEFT-HMEQ-LEFT-REDUCTION-INTR-F + CS-PRE-LEFT-HMEQ-LEFT-REDUCTION-INTR-G + CS-PRE-LEFT-HMEQ-RIGHT-REDUCTION + CS-PRE-LEFT-HMEQ-RIGHT-REDUCTION-INTR-F + CS-PRE-LEFT-HMEQ-RIGHT-REDUCTION-INTR-G + + ;; classes.lisp + + ABSM + ABSM1 + ABSM2 + AB-SIMPLICIAL-GROUP + ALLP-LIST + APOWR + BCC + BRGN + BSGN + BSPN + CBGN + CHAIN-COMPLEX + CMBN-CMBN + CMBN-DEGR + CMBN-LIST + DEGR + DGOP + DGOP1 + DGOP2 + DFFR1 + EFHM + F + FACE + G + GBAR + GMSM + GMSM2 + H + HOMOTOPY-EQUIVALENCE + IABSM + IDNM + KAN + LOOP-LIST + LRDCT + MAKE-ABAR + MAKE-ALLP + MAKE-CMBN + MAKE-LOOP + MAKE-RESULT + MORPHISM + ORGN + REDUCTION + RRDCT + SIMPLICIAL-GROUP + SINTR + SORC + TCC + + ;; classifying-space.lisp + + +NULL-GBAR+ + CLASSIFYING-SPACE + CLASSIFYING-SPACE-BASIS + CLASSIFYING-SPACE-CMPR + CLASSIFYING-SPACE-FACE + CLASSIFYING-SPACE-GRIN-SINTR + CLASSIFYING-SPACE-GRML-SINTR + GBAR + NORMALIZE-GBAR + UNNORMALIZE-GBAR + + ;; cobar.lisp + + ALLP + COBAR + COBAR-BASIS + COBAR-BASIS-LENGTH + COBAR-CMPR + COBAR-HRZN-DFFR + COBAR-INTR-HRZN-DFFR + COBAR-INTR-VRTC-DFFR + HMTP-VRTC-COBAR-INTR + MRPH-VRTC-COBAR-INTR + NCMBN-COBAR + VRTC-COBAR + + ;; combinations.lisp + + 2CMBN-ADD + 2CMBN-SBTR + 2N-2CMBN + CHECK-CMBN + CMBN + CMBN-CMBN + CMBN-OPPS + DSTR-ADD-TERM-TO-CMBN + F-CMPR + L-CMPR + MAPLEXICO + N-CMBN + NCMBN-ADD + NTERM-ADD + S-CMPR + ZERO-CMBN + ZERO-INTR-DFFR + + ;; cones.lisp + + CMBN-CON0 + CMBN-CON1 + CONE + CONE-2CMBN-APPEND + CONE-2MRPH-DIAG + CONE-2MRPH-DIAG-IMPL + CONE-3MRPH-TRIANGLE + CONE-3MRPH-TRIANGLE-IMPL + CONE-BASIS + CONE-CMBN-SPLIT + CONE-CMPR + TERM-CON0 + TERM-CON1 + TERM-UNCON + + ;; cs-twisted-products.lisp + + SMGR-CRTS-CONTRACTION + SMGR-FIBRATION + SMGR-TNPR-CONTRACTION + + ;; delta.lisp + + DELTA + DELTA-BNDR + DELTA-DGNL + DELTA-FACE + DELTA-INFINITY + DELTA-N-BASIS + DELTAB + DELTAB2 + DELTAB2-BNDR + DELTAB2-DGNL + SOFT-DELTA + SOFT-DELTA-BNDR + SOFT-DELTA-CMPR + SOFT-DELTA-DGNL + SOFT-DELTA-FACE + SOFT-DELTA-INFINITY + SOFT-DELTA-N-BASIS + + ;; disk-pasting.lisp + + CHCM-DISK-PASTING + DISK-PASTING + DISK-PASTING-BASIS + DISK-PASTING-CMPR + DISK-PASTING-FACE + DISK-PASTING-INTR-DFFR + HMEQ-DISK-PASTING + MRPH-DISK-PASTING + MRPH-DISK-PASTING-INTR + + ;; effective-homology.lisp + + BUILD-HMEQ + BUILD-RDCT + CHECK-RDCT + CHECK-RDCT-NO-WAIT + CMPS + HMEQ + PRE-CHECK-RDCT + RDCT + TRIVIAL-HMEQ + TRIVIAL-RDCT + + ;; eilenberg-zilber.lisp + + AW + EML + EZ + INTR-AW + INTR-EML + INTR-PHI + PHI + SHUFFLE-SIGN + + ;; fibrations.lisp + + FIBRATION-TOTAL + + ;; homology-groups + + CHCM-HOMOLOGY + CHCM-HOMOLOGY-GEN + CHCM-MAT + HOMOLOGIE + MAT-ALEAT + + ;; k-pi-n.lisp + + CIRCLE + INTERESTING-FACES + GMSM-COCYCLE + K-Z + K-Z-1 + K-Z-1-CMPR + K-Z-1-FACE + K-Z-1-GRIN + K-Z-1-GRML + K-Z2 + K-Z2-1 + KZ1-RDCT + KZ1-RDCT-F-INTR + KZ1-RDCT-H-INTR + K-Z-FUNDAMENTAL-CLASS + K-Z2-FUNDAMENTAL-CLASS + Z-ABSM-BAR + Z-BAR-ABSM + Z-FUNDAMENTAL-GMSM + Z2-ABSM-BAR + Z2-BAR-ABSM + Z2-FUNDAMENTAL-GMSM + Z-COCYCLE-GBAR + Z-COCYCLE-GBAR-HEAD + Z2-COCYCLE-GBAR + Z2-COCYCLE-GBAR-HEAD + + ;; kan.lisp + + CHECK-HAT + CHECK-KAN + SMST-KAN + + ;; loop-spaces.lisp + + +NULL-LOOP+ + APOWR-FACE4 + APOWR-LASTFACE4 + APOWR-NILOOP + GDELTAB + LOOP3 + LOOP-PRINT + LOOP-SPACE + LOOP-SPACE-CMPR + LOOP-SPACE-FACE + LOOP-SPACE-GRIN-SINTR + LOOP-SPACE-GRML-SINTR + NORMALIZE-LOOP + UNNORMALIZE-LOOP + + ;; lp-space-efhm.lisp + + LS-HAT-T-U + LS-HAT-U-T + LS-LEFT-HMEQ + LS-LEFT-HMEQ-HAT + LS-LEFT-HMEQ-LEFT-REDUCTION + LS-LEFT-HMEQ-LEFT-REDUCTION-G-INTR + LS-LEFT-HMEQ-RIGHT-REDUCTION + LS-PRE-LEFT-HMEQ-LEFT-REDUCTION + LS-PRE-LEFT-HMEQ-LEFT-REDUCTION-H-INTR + LS-PRE-LEFT-HMEQ-LEFT-REDUCTION-INTR-F + LS-PRE-LEFT-HMEQ-RIGHT-REDUCTION + LS-PRE-LEFT-HMEQ-RIGHT-REDUCTION-INTR-F + LS-PRE-LEFT-HMEQ-RIGHT-REDUCTION-INTR-G + + ;; ls-twisted-products.lisp + + ABSM-LOOPABSM + CRTS-CONTRACTION + CRTS-CONTRACTION-INTR + DTAU-D-INTR + POP-FIRST-ABSM + SZCZARBA + TNPR-CONTRACTION + TWISTED-CRTS-PRDC + + ;; macros.lisp + + -1-EXPT-N + -1-EXPT-N+1 + -1-EXPT-N-1 + ? + 2-EXP + ABAR-LIST + APRD + BASIS + BCC + BCNB + BCNC + BCND + BINOMIAL-P-Q + BNDR + CFFC + CMBN-NON-ZERO-P + CMBN-ZERO-P + CMPR + COLUMN-MINUS-5 + COLUMN-OP-5 + COLUMN-SWAP-5 + CON0 + CON1 + CPRD + CRPR + D + DEF + F + DFFR + DGNL + G + GMSM1 + GNRT + GNRT-NAME + GRIN + GRML + H + I-ADD + I-CMPS + I-SBTR + KFLL + LEXICO + LF + LG + LINE-MINUS-5 + LINE-OP-5 + LINE-SWAP-5 + MASK + MAKE-GBAR + RBCC + RF + RG + TERM + TERM-CMBN + TCC + TNPR + WITH--TERM + WITH-ABSM + WITH-CMBN + WITh-CRPR + WITH-TERM + WITh-TNPR + + ;; searching-homology.lisp + + ECHCM + HOMOLOGY + + ;; serre.lisp + + BROWN-REDUCTION + FIBRATION-DTAU-D + FIBRATION-DTAU-D-INTR + RIGHT-SERRE-EFHM + + ;; simplicial-groups.lisp + + SMGR + + ;; simplicial-mrphs.lisp + + BUILD-SMMR + TW-A-SINTR3 + + ;; simplicial-sets.lisp + + 1DGNR + 1DGOP*DGOP + 1DLOP-DGOP + A-CMPR3 + A-FACE4 + BSPN-P + CHECK-FACES + CHECK-SMST + DGOP*DGOP + DGOP/DGOP + DGOP-EXT-INT + DGOP-INT-EXT + DLOP-EXT-INT + DLOP-INT-EXT + FACE-BNDR + FACE*-BNDR + HYPHENIZE-LIST + INTR-DIAGONAL + NDGNR + NFACE + REMOVE-BIT + SHOW-STRUCTURE + SMST + + ;; smith.lisp + + CHCM-MTRX + CHML-CLSS + CHML-CLSS-INTR + COLUMN-MINUS + COLUMN-OP + COLUMN-SWAP + COPY-MTRX + ECHCM-KILL-EPI + ECHCM-KILL-EPI-F-INTR + ECHCM-KILL-EPI-G-INTR + ECHCM-KILL-EPI-H-INTR + GNRT-NAME-BASIS + IDNT-MTRX + KILL-EPI + KILL-EPIS + LEFT-SUBMATRIX + LINE-MINUS + LINE-OP + LINE-SWAP + LIST-SMITH + MINIMAL-REST-1 + MINIMAL-REST-2 + MINIMAL-TERM + MINIMAL-TERM-TOP-LEFT + MTRX-PRDC + PIVOTT + RANDOM-MATRIX + + ;; special-smsts.lisp + + BUILD-FINITE-SS + FINITE-SS-PRE-TABLE + FINITE-SS-PRE-TABLE-TABLE + FINITE-SS-TABLE + GMSMS-SUBSMST + MOORE + R-PROJ-SPACE + R-PROJ-SPACE-BASIS + SPHERE + SPHERE-FACE + SPHERE-WEDGE + + ;; suspensions.lisp + + SUSPENSION + SUSPENSION-BASIS + SUSPENSION-CMPR + SUSPENSION-FACE + SUSPENSION-INTR + SUSPENSION-INTR-CPRD + SUSPENSION-INTR-DFFR + + ;; tensor-products.lisp + + 2CMBN-TNPR + TNSR-PRDC + TNSR-PRDC-BASIS + TNSR-PRDC-CMPR + TNSR-PRDC-INTR + TNSR-PRDC-INTR-DFFR + TNPR-PRINT + + ;; various.lisp + + +EMPTY-LIST+ + + >A-B< + >A-B> + BINOMIAL-N-P + CLOCK + DONE + SRANDOM + V + + ;; whitehead.lisp + + Z-WHITEHEAD + Z-WHITEHEAD-SINTR + Z2-WHITEHEAD + Z2-WHITEHEAD-SINTR + + )) diff --git a/src/classes.lisp b/src/classes.lisp index 2a07199..8ca3a37 100644 --- a/src/classes.lisp +++ b/src/classes.lisp @@ -45,7 +45,7 @@ internal representation of combinations. (declare (type any object)) (the boolean (and (typep object 'fixnum) - (/= 0 object)))) + (/= 0 object)))) (DEFTYPE CFFC () "------------------------------------------------------------------[type-doc] @@ -90,8 +90,8 @@ A derived type to represent comparison functions. (declare (type any object)) (the boolean (and (consp object) - (typep (car object) 'cffc) - (typep (cdr object) 'gnrt)))) + (typep (car object) 'cffc) + (typep (cdr object) 'gnrt)))) (DEFTYPE TERM () "------------------------------------------------------------------[type-doc] @@ -110,7 +110,7 @@ and whose CDR is of type GNRT. (declare (type any object)) (the boolean (and (listp object) - (every #'term-p object)))) + (every #'term-p object)))) (DEFTYPE ICMBN () '(satisfies icmbn-p)) @@ -141,8 +141,8 @@ the symbol :LOCALLY-EFFECTIVE. #+allegro (eval-when (:compile-toplevel :load-toplevel :execute) (setf redefinition-warnings-saved - excl::*redefinition-warnings* - *redefinition-warnings* nil)) + excl::*redefinition-warnings* + *redefinition-warnings* nil)) (DEFCLASS CHAIN-COMPLEX () ((cmpr :type cmprf :initarg :cmpr :reader cmpr1) @@ -178,9 +178,16 @@ Intances of this class represent chain complexes. The class has 8 slots: 4. DFFR, the differential morphism, an instance of the class MORPHISM. Its reader function is DFFR1. -5. GRMD, ??? Its reader function is GRMD. +5. GRMD, refers to some chain-complex considered as a reference for the + underlying graded module structure. Sometimes, it is better to check two + chain-complexes have the same underlying graded module. Typically if C1 is + a chain-complex and C2 is obtained from C1 by perturbing the differential, + then (eq (grmd C1) (grmd C2)) should return T. Its reader function is GRMD. -6. EFHM, ??? Its reader function is EFHM. +6. EFHM, if the effective homology of the chain complex has already been + computed, then this slot points to the HOMOTOPY-EQUIVALENCE which IS the + effective homology of this object. Otherwise the slot is unbound. Its + reader function is EFHM. 7. IDNM, an integer, a system generated identifier for this object. Its reader function is IDNM. @@ -218,8 +225,8 @@ A derived type, which represents the mapping strategy of morphisms. (?-clnm :type fixnum :initform 0 :accessor ?-clnm) ;; ReSuLTS (rslts :type simple-vector - ;; (vector (vector result)) - :reader rslts) + ;; (vector (vector result)) + :reader rslts) ;; IDentification NuMber (idnm :type fixnum :initform (incf *idnm-counter*) :reader idnm) ;; ORiGiN @@ -240,11 +247,22 @@ degree -1. The class has 10 slots: 3. DEGR, an integer, the degree of the morphism. Its reader function is DEGR. -4. INTR, a Lisp function implementing the morphism, taking account of the - strategy STRT. Its reader function is INTR. +4. INTR, a Lisp INTeRnal function implementing the morphism, taking account + of the strategy STRT. Its reader function is INTR. 5. STRT, a symbol, one of :GNRT or :CMBN. Its reader function is STRT. + If this slot is :GNRT, the implementation of INTR is a function: + (function (degr gnrt) cmbn) + and for any call of this function, the result is stored in the slot + RSLTS to avoid later a possibly long recalculation for the same + argument. + + If this slot is :CMBN, the implementation of INTR is a function: + (function (cmbn) cmbn) + and the RSLTS slot is not used. Think for example to an identity or + null function, where storing a result is wasted time. + 6. ???-CLNM, an integer updated by the system for internal statistics. Its reader function is ???-CLNM. @@ -352,12 +370,19 @@ The class has 7 slots: ;; IDentification NuMber (idnm :type fixnum :initform (incf *idnm-counter*) :reader idnm) ;; ORiGiN - (orgn :type list :initarg :orgn :reader orgn))) + (orgn :type list :initarg :orgn :reader orgn)) + (:documentation + "----------------------------------------------------------------[class-doc] +HOMOTOPY-EQUIVALENCE +A homotopy-equivalence is essentially a pair of respective reductions from an +intermediate chain complex TCC to the LBCC (left bottom) and RBCC (rigth +bottom) chain complexes. It is an equivalence between LBCC and RBCC. +-----------------------------------------------------------------------------")) #+allegro (eval-when (:compile-toplevel :load-toplevel :execute) (setf excl::*redefinition-warnings* - redefinition-warnings-saved)) + redefinition-warnings-saved)) ;;; ;;; HOMOLOGY-GROUPS @@ -365,9 +390,31 @@ The class has 7 slots: (DEFSTRUCT (matrice (:conc-name nil)) + "------------------------------------------------------------------[type-doc] +MATRICE +Slots: (leftcol uplig) +A MATRICE is made of two vectors LEFTCOL and UPLIG. LEFTCOL is a +vector of size m+1 if m is the number of rows of the matrix, UPLIG is +a vector of size n+1 if n is the number of columns. +Every element of LEFTCOL and UPLIG is a T-MAT with the value NIL +indicating it is a fake term. +------------------------------------------------------------------------------" leftcol uplig) (DEFSTRUCT (t-mat (:conc-name nil)) + "------------------------------------------------------------------[type-doc] +T-MAT +Slots: (val ilig icol left up) +A T-MAT (= Terme de Matrice) has five components: + + VAL = A value, an integer, in principle a non-null integer. + ILIG = the line (row is better) index of this term + ICOL = the column index of this term + LEFT = a pointer to the next term on the left on the same line, + or to a fake term, an element of LEFTCOL of the matrice. + UP = a pointer to the next term above on the same column, + or to a fake term, an element of UPLIG of the matrice. +------------------------------------------------------------------------------" val ilig icol left up) @@ -379,11 +426,26 @@ The class has 7 slots: (conx (:type '(member 0 1))) (icon (:type 'gnrt))) +;; Given a morphism f : C1 -> C0 between two chain complexes, +;; the cone of f is a chain complex made of C0 as such, +;; C1 suspended. +;; The differential of the C0 component is unchanged. +;; If x is an element of C1, then d_cone(x) = -dx + fx +;; with dx computed as in the original C1. +;; A CONE generator is an conx 0 (resp. 1) and +;; and an icon (= internal cone generator) being a +;; generator of C0 (resp. C1). (DEFSTRUCT (BICN (:conc-name nil) (:print-function bicn-print)) (bcnx (:type '(member :bcnb :bcnc :bcnd))) (ibicn (:type 'gnrt))) +;; Analogous with two morphisms f: B -> C and g: D -> C. + +;; Intended to become the central part of a zigzag : +;; A <- B -> C <- D -> E +;; The key structure to compose two equivalences: +;; A <- B -> C and C <- D -> E ;;; ;;; TENSOR-PRODUCTS @@ -412,8 +474,8 @@ The class has 7 slots: (declare (type any object)) (the boolean (and (consp object) - (typep (car object) 'fixnum) ;; degree *in* the cobar - (typep (cdr object) 'gnrt)))) + (typep (car object) 'fixnum) ;; degree *in* the cobar + (typep (cdr object) 'gnrt)))) (DEFTYPE CBGN () '(satisfies cbgn-p)) @@ -422,7 +484,7 @@ The class has 7 slots: (declare (type any object)) (the boolean (and (listp object) - (every #'cbgn-p object)))) + (every #'cbgn-p object)))) (DEFTYPE IALLP () '(satisfies iallp-p)) @@ -454,8 +516,8 @@ The class has 7 slots: (declare (type any object)) (the boolean (and (consp object) - (typep (car object) 'fixnum) ;; degree *in* the bar - (typep (cdr object) 'gnrt)))) + (typep (car object) 'fixnum) ;; degree *in* the bar + (typep (cdr object) 'gnrt)))) (DEFTYPE BRGN () '(satisfies brgn-p)) @@ -464,7 +526,7 @@ The class has 7 slots: (declare (type any object)) (the boolean (and (listp object) - (every #'brgn-p object)))) + (every #'brgn-p object)))) (DEFTYPE IABAR () '(satisfies iabar-p)) @@ -476,8 +538,8 @@ The class has 7 slots: (declare (type any object)) (the boolean (and (consp object) - (eq :abar (car object)) - (typep (cdr object) 'iabar)))) + (eq :abar (car object)) + (typep (cdr object) 'iabar)))) (DEFTYPE ABAR () '(satisfies abar-p)) |# @@ -508,8 +570,8 @@ The class has 7 slots: (declare (type any object)) (the boolean (and (consp object) - (typep (car object) 'dgop) - (typep (cdr object) 'gmsm)))) + (typep (car object) 'dgop) + (typep (cdr object) 'gmsm)))) (DEFTYPE IABSM () '(satisfies iabsm-p)) @@ -555,8 +617,8 @@ The class has 7 slots: (declare (type any object)) (the boolean (and (consp object) - (eq :delt (car object)) - (typep (cdr object) 'dgop)))) + (eq :delt (car object)) + (typep (cdr object) 'dgop)))) (DEFTYPE SOFT-DLOP () '(satisfies soft-dlop-p)) @@ -589,7 +651,7 @@ The class has 7 slots: (declare (type any object)) (the boolean (and (typep object 'simplicial-mrph) - (= -1 (degr object))))) + (= -1 (degr object))))) (DEFTYPE FIBRATION () '(satisfies fibration-p)) @@ -610,7 +672,7 @@ The class has 7 slots: (declare (type any object)) (the boolean (typep object '(and fixnum - (not (eql 0)))))) + (not (eql 0)))))) (DEFTYPE EXPN () '(satisfies expn-p)) @@ -619,8 +681,8 @@ The class has 7 slots: (declare (type any object)) (the boolean (and (consp object) - (typep (car object) 'gmsm) - (typep (cdr object) 'expn)))) + (typep (car object) 'gmsm) + (typep (cdr object) 'expn)))) (DEFTYPE POWR () '(satisfies powr-p)) @@ -629,8 +691,8 @@ The class has 7 slots: (declare (type any object)) (the boolean (and (consp object) - (typep (car object) 'dgop) - (typep (cdr object) 'powr)))) + (typep (car object) 'dgop) + (typep (cdr object) 'powr)))) (DEFTYPE APOWR () '(satisfies apowr-p)) @@ -639,7 +701,7 @@ The class has 7 slots: (declare (type any object)) (the boolean (and (listp object) - (every #'apowr-p object)))) + (every #'apowr-p object)))) (DEFTYPE ILOOP () '(satisfies iloop-p)) @@ -650,7 +712,7 @@ The class has 7 slots: #+clisp(eval-when (:compile-toplevel :load-toplevel :execute) (setf (ext:package-lock :common-lisp) nil)) #+sbcl(eval-when (:compile-toplevel :load-toplevel :execute) - (sb-ext:unlock-package :common-lisp)) + (sb-ext:unlock-package :common-lisp)) (DEFSTRUCT (LOOP (:print-function loop-print)) (list (:type 'iloop))) @@ -661,7 +723,7 @@ The class has 7 slots: #+clisp(eval-when (:compile-toplevel :load-toplevel :execute) (setf (ext:package-lock :common-lisp) t)) #+sbcl(eval-when (:compile-toplevel :load-toplevel :execute) - (sb-ext:lock-package :common-lisp)) + (sb-ext:lock-package :common-lisp)) #+ccl (DEFMETHOD make-load-form ((l loop) &optional env)