-- -*- M2-comint -*- hash: 14415815316974543428

i1 : R = ZZ/101[a,b,c,d]/ideal{a^3,b^3,c^3,d^3}

o1 = R

o1 : QuotientRing

i2 : A = freeDGAlgebra(R,{{1,1},{1,1},{1,1},{1,1}})

o2 = {Ring => R                      }
      Underlying algebra => R[T ..T ]
                               1   4
      Differential => null

o2 : DGAlgebra

i3 : setDiff(A, gens R)

o3 = {Ring => R                      }
      Underlying algebra => R[T ..T ]
                               1   4
      Differential => {a, b, c, d}

o3 : DGAlgebra

i4 : B = koszulComplexDGA(R, Variable=>"S")

o4 = {Ring => R                      }
      Underlying algebra => R[S ..S ]
                               1   4
      Differential => {a, b, c, d}

o4 : DGAlgebra

i5 : HB = HH B
Finding easy relations           :  -- used 0.0190245s (cpu); 0.017766s (thread); 0s (gc)

o5 = HB

o5 : PolynomialRing, 4 skew commutative variable(s)

i6 : describe HB

      ZZ
o6 = ---[X ..X , Degrees => {4:{1}}, Heft => {1, 0}, Join => false, SkewCommutative => {0..3}]
     101  1   4                {3}

i7 : degrees HB

o7 = {{1, 3}, {1, 3}, {1, 3}, {1, 3}}

o7 : List

i8 : HB.cache.cycles

       2     2     2     2
o8 = {a S , b S , c S , d S }
         1     2     3     4

o8 : List

i9 : C = adjoinVariables(B,{first HB.cache.cycles})

o9 = {Ring => R                         }
      Underlying algebra => R[T ..T ]
                               1   5
                                    2
      Differential => {a, b, c, d, a T }
                                      1

o9 : DGAlgebra

i10 : homologyAlgebra(C,GenDegreeLimit=>4,RelDegreeLimit=>4)
Finding easy relations           :  -- used 0.0194644s (cpu); 0.0174759s (thread); 0s (gc)

       ZZ
o10 = ---[X ..X ]
      101  1   3

o10 : PolynomialRing, 3 skew commutative variable(s)

i11 : C = killCycles(B)

o11 = {Ring => R                                           }
       Underlying algebra => R[T ..T ]
                                1   8
                                     2     2     2     2
       Differential => {a, b, c, d, a T , b T , c T , d T }
                                       1     2     3     4

o11 : DGAlgebra

i12 : homologyAlgebra(C,GenDegreeLimit=>4,RelDegreeLimit=>4)

       ZZ
o12 = ---
      101

o12 : QuotientRing

i13 : D = acyclicClosure R

o13 = {Ring => R                                           }
       Underlying algebra => R[T ..T ]
                                1   8
                                     2     2     2     2
       Differential => {a, b, c, d, a T , b T , c T , d T }
                                       1     2     3     4

o13 : DGAlgebra

i14 : R' = ZZ/101[x,y,z]/ideal{x^2,y^2,z^2,x*y*z}

o14 = R'

o14 : QuotientRing

i15 : E = acyclicClosure(R',EndDegree=>5)

o15 = {Ring => R'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    }
       Underlying algebra => R'[T ..T  ]
                                 1   56
                                                                                                                                                                2                                                                                                                                                         2                     2          2          2          2
       Differential => {x, y, z, x*T , y*T , z*T , y*z*T , y*z*T , -y*z*T T , -y*z*T T , -y*z*T T , -y*z*T T , y*z*T T , y*z*T T , y*z*T T , -y*z*T T T , -y*z*T , -y*z*T T , -y*z*T T , y*z*T T T , y*z*T T T , y*z*T T T , y*z*T T T , -y*z*T T T , -y*z*T T T , -y*z*T T T , -y*z*T T , y*z*T T T , y*z*T T T , y*z*T T , y*z*T T T , y*z*T T , -y*z*T T , -y*z*T T , -y*z*T T , -y*z*T T T , -y*z*T T T , -y*z*T T T , -y*z*T T T , -y*z*T T T , -y*z*T T T , y*z*T T T T , y*z*T T T T , -y*z*T T T T , y*z*T T , -y*z*T T T , -y*z*T T T , -y*z*T T T , - y*z*T T T T  - y*z*T T T , -y*z*T T T  , y*z*T T T , y*z*T T T , -y*z*T T T , -y*z*T T T , -y*z*T T T , y*z*T T T T }
                                    1     2     3       1       4        1 3        1 2        1 5        1 6       3 4       2 4       1 4        1 2 3        4        4 5        4 6       1 3 5       1 2 5       1 3 6       1 2 6        2 3 4        1 3 4        1 2 4        4 7       1 3 7       1 2 7       1 5       1 5 6       1 6        3 4        2 4        1 4        3 4 5        2 4 5        1 4 5        3 4 6        2 4 6        1 4 6       1 2 3 5       1 2 3 6        1 2 3 4       4 8        1 3 8        1 3 9        1 2 8         1 2 3 7        1 2 9        1 2 10       1 5 7       1 6 7        3 4 7        2 4 7        1 4 7       1 2 3 7

o15 : DGAlgebra

i16 : tally degrees E.natural

o16 = Tally{{1, 1} => 3 }
            {2, 2} => 3
            {2, 3} => 1
            {3, 4} => 3
            {4, 5} => 6
            {5, 6} => 10
            {5, 7} => 3
            {6, 7} => 15
            {6, 8} => 12

o16 : Tally

i17 : deviations(R,DegreeLimit=>6)

o17 = HashTable{(1, {1}) => 4}
                (2, {3}) => 4

o17 : HashTable

i18 : deviations(R',DegreeLimit=>6)

o18 = HashTable{(1, {1}) => 3 }
                (2, {2}) => 3
                (2, {3}) => 1
                (3, {4}) => 3
                (4, {5}) => 6
                (5, {6}) => 10
                (5, {7}) => 3
                (6, {7}) => 15
                (6, {8}) => 12

o18 : HashTable

i19 : 
