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.