build open-axiom
1(DECLAIM2(FTYPE (FUNCTION (|%Thing| |%Thing| |%Shell|) |%Thing|) |ABELGRP-;-;3$;1|))34(DECLAIM5(FTYPE (FUNCTION (|%Thing| |%Thing| |%Shell|) |%Thing|)6|ABELGRP-;subtractIfCan;2$M;2|))78(DECLAIM9(FTYPE (FUNCTION ((|%IntegerSection| 0) |%Thing| |%Shell|) |%Thing|)10|ABELGRP-;*;Nni2$;3|))1112(DECLAIM13(FTYPE (FUNCTION (|%Integer| |%Thing| |%Shell|) |%Thing|) |ABELGRP-;*;I2$;4|))1415(DECLAIM16(FTYPE (FUNCTION (|%Thing| |%Thing| |%Shell|) |%Boolean|)17|ABELGRP-;opposite?;2$B;5|))1819(DEFUN |ABELGRP-;-;3$;1| (|x| |y| $)20(SPADCALL |x| (SPADCALL |y| (|shellEntry| $ 7)) (|shellEntry| $ 8)))2122(DEFUN |ABELGRP-;subtractIfCan;2$M;2| (|x| |y| $)23(SPADCALL |x| |y| (|shellEntry| $ 10)))2425(DEFUN |ABELGRP-;*;Nni2$;3| (|n| |x| $) (SPADCALL |n| |x| (|shellEntry| $ 16)))2627(DEFUN |ABELGRP-;*;I2$;4| (|n| |x| $)28(COND ((ZEROP |n|) (|spadConstant| $ 21))29((PLUSP |n|) (SPADCALL |n| |x| (|shellEntry| $ 25)))30(T31(SPADCALL (- |n|) (SPADCALL |x| (|shellEntry| $ 7))32(|shellEntry| $ 25)))))3334(DEFUN |ABELGRP-;opposite?;2$B;5| (|x| |y| $)35(SPADCALL |x| (SPADCALL |y| (|shellEntry| $ 7)) (|shellEntry| $ 28)))3637(DEFUN |AbelianGroup&| (|#1|)38(LET* ((|dv$1| (|devaluate| |#1|))39(|dv$| (LIST '|AbelianGroup&| |dv$1|))40($ (|newShell| 30))41(|pv$| (|buildPredVector| 0 0 NIL)))42(PROGN43(SETF (|shellEntry| $ 0) |dv$|)44(SETF (|shellEntry| $ 3) |pv$|)45(|stuffDomainSlots| $)46(SETF (|shellEntry| $ 6) |#1|)47(COND ((|HasCategory| |#1| '(|Ring|)))48(T (SETF (|shellEntry| $ 27) (CONS #'|ABELGRP-;*;I2$;4| $))))49$)))5051(MAKEPROP '|AbelianGroup&| '|infovec|52(LIST53'#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (0 . -) (5 . +)54|ABELGRP-;-;3$;1| (11 . -) (|Maybe| 6) (17 . |just|) (|Maybe| $)55|ABELGRP-;subtractIfCan;2$M;2| (|Integer|) (22 . *)56(|NonNegativeInteger|) |ABELGRP-;*;Nni2$;3| (|Boolean|)57(28 . |zero?|) (33 . |Zero|) (37 . |positive?|)58(|RepeatedDoubling| 6) (|PositiveInteger|) (42 . |double|)59(48 . -) (53 . *) (59 . =) |ABELGRP-;opposite?;2$B;5|)60'#(|subtractIfCan| 65 |opposite?| 71 - 77 * 83) 'NIL61(CONS (|makeByteWordVec2| 1 'NIL)62(CONS '#()63(CONS '#()64(|makeByteWordVec2| 2965'(1 6 0 0 7 2 6 0 0 0 8 2 6 0660 0 10 1 11 0 6 12 2 6 0 15670 16 1 15 19 0 20 0 6 0 21 16815 19 0 22 2 23 6 24 6 25 16915 0 0 26 2 0 0 15 0 27 2 67019 0 0 28 2 0 13 0 0 14 2 07119 0 0 29 2 0 0 0 0 9 2 0 07215 0 27 2 0 0 17 0 18)))))73'|lookupComplete|))7475(SETF (|dbTemplate| (|constructorDB| '|AbelianGroup&|))76#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (0 . -) (5 . +)77|ABELGRP-;-;3$;1| (11 . -) (|Maybe| 6) (17 . |just|) (|Maybe| $)78|ABELGRP-;subtractIfCan;2$M;2| (|Integer|) (22 . *)79(|NonNegativeInteger|) |ABELGRP-;*;Nni2$;3| (|Boolean|)80(28 . |zero?|) (33 . |Zero|) (37 . |positive?|)81(|RepeatedDoubling| 6) (|PositiveInteger|) (42 . |double|) (48 . -)82(53 . *) (59 . =) |ABELGRP-;opposite?;2$B;5|))8384(SETF (|dbLookupFunction| (|constructorDB| '|AbelianGroup&|)) '|lookupComplete|)8586(SETF (|dbConstructorForm| (|constructorDB| '|AbelianGroup&|))87'(|AbelianGroup&| S))8889(SETF (|dbConstructorKind| (|constructorDB| '|AbelianGroup&|)) '|package|)9091(SETF (|dbConstructorModemap| (|constructorDB| '|AbelianGroup&|))92'(((|AbelianGroup&| |#1|)93(CATEGORY |package| (SIGNATURE - (|#1| |#1| |#1|))94(SIGNATURE - (|#1| |#1|)) (SIGNATURE * (|#1| (|Integer|) |#1|))95(SIGNATURE |subtractIfCan| ((|Maybe| |#1|) |#1| |#1|))96(SIGNATURE |opposite?| ((|Boolean|) |#1| |#1|))97(SIGNATURE * (|#1| (|NonNegativeInteger|) |#1|))98(SIGNATURE * (|#1| (|PositiveInteger|) |#1|)))99(|AbelianGroup|))100(T |AbelianGroup&|)))101102(SETF (|dbDualSignature| (|constructorDB| '|AbelianGroup&|)) '(NIL T))103104(SETF (|dbSourceFile| (|constructorDB| '|AbelianGroup&|)) '"catdef.spad")105106(SETF (|dbOperations| (|constructorDB| '|AbelianGroup&|))107'((|subtractIfCan| (((|Maybe| $) $ $) 14 T ELT))108(|opposite?| (((|Boolean|) $ $) 29 T ELT))109(- (($ $) NIL T ELT) (($ $ $) 9 T ELT))110(* (($ (|PositiveInteger|) $) NIL T ELT)111(($ (|NonNegativeInteger|) $) 18 T ELT)112(($ (|Integer|) $) 27 T ELT))))113114(SETF (|dbOperationTable| (|constructorDB| '|AbelianGroup&|))115#(|subtractIfCan| 65 |opposite?| 71 - 77 * 83))116117(SETF (|dbCapsuleDefinitions| (|constructorDB| '|AbelianGroup&|))118'((|ABELGRP-;opposite?;2$B;5| ((|Boolean|) $ $))119(|ABELGRP-;*;I2$;4| ($ (|Integer|) $))120(|ABELGRP-;*;Nni2$;3| ($ (|NonNegativeInteger|) $))121(|ABELGRP-;subtractIfCan;2$M;2| ((|Maybe| $) $ $))122(|ABELGRP-;-;3$;1| ($ $ $))))123124(SETF (|dbAbbreviation| (|constructorDB| '|AbelianGroup&|)) 'ABELGRP-)125126127