haskell-te: 2186b7f736d1edf8329573417286835e79d012ac

     1: ;; USING Z, S, plus, times, exp
     2: 
     3: ;; (a * m) + m = (a + (S 0)) * m
     4: (assert-not (forall ((a Nat) (m Nat))
     5:   (= (plus (times a m) m)
     6:      (times (plus a (constructorS constructorZ)) m))))
     7: 
     8: ;; m + (a * m) = (a + (S 0)) * m
     9: (assert-not (forall ((a Nat) (m Nat))
    10:   (= (plus m (times a m))
    11:      (times (plus a (constructorS constructorZ)) m))))
    12: 
    13: ;; m+m=((S0)+(S0))*m
    14: (assert-not (forall ((m Nat))
    15:   (= (plus m m)
    16:      (times (plus (constructorS constructorZ) (constructorS constructorZ)) m))))
    17: 
    18: ;; (lx*ly)*(rx*ry)=lx*(ly*(rx*ry))
    19: (assert-not (forall ((lx Nat) (ly Nat) (rx Nat) (ry Nat))
    20:   (= (times (times lx ly) (times rx ry))
    21:      (times lx (times ly (times rx ry))))))
    22: 
    23: ;; lx*(rx*ry)=(lx*rx)*ry
    24: (assert-not (forall ((lx Nat) (rx Nat) (ry Nat))
    25:   (= (times lx (times rx ry))
    26:      (times (times lx rx) ry))))
    27: 
    28: ;; (lx*ly)*rx=(lx*rx)*ly
    29: (assert-not (forall ((lx Nat) (ly Nat) (rx Nat))
    30:   (= (times (times lx ly) rx)
    31:      (times (times lx rx) ly))))
    32: 
    33: ;; x^((S(S0)) * n) = (x^n)*(x^n)
    34: (assert-not (forall ((x Nat) (n Nat))
    35:   (= (exp x (times (constructorS (constructorS constructorZ)) n))
    36:      (times (exp x n) (exp x n)))))
    37: 
    38: ;; x^((S(S(S0)))*n)=x*((x^n)*(x^n))
    39: (assert-not (forall ((x Nat) (n Nat))
    40:   (= (exp x (times (constructorS (constructorS (constructorS constructorZ))) n))
    41:      (times x (times (exp x n) (exp x n))))))
    42: 
    43: ;; (lx*ly)*(rx*ry)=(lx*rx)+(ly*ry)
    44: (assert-not (forall ((lx Nat) (ly Nat) (rx Nat) (ry Nat))
    45:   (= (times (times lx ly) (times rx ry))
    46:      (plus (times lx rx) (times ly ry)))))
    47: 
    48: ;; (a+b)+(c+d)=(a+c)+(b+d)
    49: (assert-not (forall ((a Nat) (b Nat) (c Nat) (d Nat))
    50:   (= (plus (plus a b) (plus c d))
    51:      (plus (plus a c) (plus b d)))))
    52: 
    53: ;; a+(c+d)=(a+c)+d
    54: (assert-not (forall ((a Nat) (c Nat) (d Nat))
    55:   (= (plus a (plus c d))
    56:      (plus (plus a c) d))))
    57: 
    58: ;; (a+b)+c=(a+c)+b
    59: (assert-not (forall ((a Nat) (b Nat) (c Nat))
    60:   (= (plus (plus a b) c)
    61:      (plus (plus a c) b))))
    62: 
    63: ;; a*(S0)=a
    64: (assert-not (forall ((a Nat))
    65:   (= (times a (constructorS constructorZ))
    66:      a)))
    67: 
    68: ;; (S0)*a=a
    69: (assert-not (forall ((a Nat))
    70:   (= (times (constructorS constructorZ) a)
    71:      a)))
    72: 
    73: ;; (x^q)*x=x^(Sq)
    74: (assert-not (forall ((x Nat) (q Nat))
    75:   (= (times (exp x q) x)
    76:      (exp x (constructorS q)))))
    77: 
    78: ;; x*(x^q)=x^(Sq)
    79: (assert-not (forall ((x Nat) (q Nat))
    80:   (= (times x (exp x q))
    81:      (exp x (constructorS q)))))
    82: 
    83: ;; x*x=x^(S(S0))
    84: (assert-not (forall ((x Nat))
    85:   (= (times x x)
    86:      (exp x (constructorS (constructorS constructorZ))))))
    87: 
    88: ;; x^(S0)=x
    89: (assert-not (forall ((x Nat))
    90:   (= (exp x (constructorS constructorZ))
    91:      x)))
    92: 
    93: ;; (lx*ly)*(rx*ry)=rx*((lx*ly)*ry)
    94: (assert-not (forall ((lx Nat) (ly Nat) (rx Nat) (ry Nat))
    95:   (= (times (times lx ly) (times rx ry))
    96:      (times rx (times (times lx ly) ry)))))
    97: 
    98: ;; x+0=x
    99: (assert-not (forall ((x Nat))
   100:   (= (plus x constructorZ)
   101:      x)))
   102: 
   103: ;; x*0=0
   104: (assert-not (forall ((x Nat))
   105:   (= (times x constructorZ)
   106:      constructorZ)))
   107: 
   108: ;; (S0)^x=S0
   109: (assert-not (forall ((x Nat))
   110:   (= (exp (constructorS constructorZ) x)
   111:      (constructorS constructorZ))))
   112: 
   113: ;; y+(Sz)=S(y+z)
   114: (assert-not (forall ((z Nat))
   115:   (= (plus y (constructorS z))
   116:      (constructorS (plus y z)))))
   117: 
   118: ;; y+x=x+y
   119: (assert-not (forall ((y Nat) (y Nat))
   120:   (= (plus y x)
   121:      (plus x y))))
   122: 
   123: ;; (x+y)+z=x+(y+z)
   124: (assert-not (forall ((x Nat) (y Nat) (z Nat))
   125:   (= (plus (plus x y) z)
   126:      (plus x (plus y z)))))
   127: 
   128: ;; y+(x+z)=x+(y+z)
   129: (assert-not (forall ((x Nat) (y Nat) (z Nat))
   130:   (= (plus y (plus x z))
   131:      (plus x (plus y z)))))
   132: 
   133: ;; (x+y)*z=(x*z)+(y*z)
   134: (assert-not (forall ((x Nat) (y Nat) (z Nat))
   135:   (= (times (plus x y) z)
   136:      (plus (times x z) (times y z)))))
   137: 
   138: ;; x*(Sz)=x+(x*z)
   139: (assert-not (forall ((x Nat) (z Nat))
   140:   (= (times x (constructorS z))
   141:      (plus x (times x z)))))
   142: 
   143: ;; x*(y+z)=(x*y)+(x*z)
   144: (assert-not (forall ((x Nat) (y Nat) (z Nat))
   145:   (= (times x (plus y z))
   146:      (plus (times x y) (times x z)))))
   147: 
   148: ;; y*x=x*y
   149: (assert-not (forall ((x Nat) (y Nat))
   150:   (= (times y x)
   151:      (times x y))))
   152: 
   153: ;; (x*y)*z=x*(y*z)
   154: (assert-not (forall ((x Nat) (y Nat) (z Nat))
   155:   (= (times (times x y) z)
   156:      (times x (times y z)))))
   157: 
   158: ;; y*(x*z)=x*(y*z)
   159: (assert-not (forall ((x Nat) (y Nat) (z Nat))
   160:   (= (times y (times x z))
   161:      (times x (times y z)))))
   162: 
   163: ;; (x*y)^z=(x^z)*(y^z)
   164: (assert-not (forall ((x Nat) (y Nat) (z Nat))
   165:   (= (exp (times x y) z)
   166:      (times (exp x z) (exp y z)))))
   167: 
   168: ;; x^(y+z)=(x^y)*(x^z)
   169: (assert-not (forall ((x Nat) (y Nat) (z Nat))
   170:   (= (exp x (plus y z))
   171:      (times (exp x y) (exp x z)))))
   172: 
   173: ;; (x^y)^z=x^(y*z)
   174: (assert-not (forall ((x Nat) (y Nat) (z Nat))
   175:   (= (exp (exp x y) z)
   176:      (exp x (times y z)))))

Generated by git2html.