1 (**************************************************************************)
4 (* ||A|| A project by Andrea Asperti *)
6 (* ||I|| Developers: *)
7 (* ||T|| The HELM team. *)
8 (* ||A|| http://helm.cs.unibo.it *)
10 (* \ / This file is distributed under the terms of the *)
11 (* v GNU General Public License Version 2 *)
13 (**************************************************************************)
19 alias id "nat" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1)".
20 alias id "eq" = "cic:/Coq/Init/Logic/eq.ind#xpointer(1/1)".
21 alias id "eq_ind" = "cic:/Coq/Init/Logic/eq_ind.con".
22 alias id "eq_ind_r" = "cic:/Coq/Init/Logic/eq_ind_r.con".
23 alias id "sym_eq" = "cic:/Coq/Init/Logic/sym_eq.con".
29 \forall app: A \to A \to A.
32 \forall H1: (\forall x,y:A.(app (app K x) y) = x).
33 \forall H2: (\forall x,y,z:A.
34 (app (app (app S x) y) z) = (app (app x z) (app y z))).
36 (app (app (app S K) K) x) = x.
37 intros.autobatch paramodulation.
44 \forall add: A \to A \to A.
45 \forall mult: A \to A \to A.
47 \forall c1:(\forall x,y:A.(add x y) = (add y x)).
48 \forall c2:(\forall x,y:A.(mult x y) = (mult y x)).
49 \forall d1: (\forall x,y,z:A.
50 (add x (mult y z)) = (mult (add x y) (add x z))).
51 \forall d2: (\forall x,y,z:A.
52 (mult x (add y z)) = (add (mult x y) (mult x z))).
53 \forall i1: (\forall x:A. (add x zero) = x).
54 \forall i2: (\forall x:A. (mult x one) = x).
55 \forall inv1: (\forall x:A. (add x (inv x)) = one).
56 \forall inv2: (\forall x:A. (mult x (inv x)) = zero).
58 intros.autobatch paramodulation.
65 \forall add: A \to A \to A.
66 \forall mult: A \to A \to A.
68 \forall c1:(\forall x,y:A.(add x y) = (add y x)).
69 \forall c2:(\forall x,y:A.(mult x y) = (mult y x)).
70 \forall d1: (\forall x,y,z:A.
71 (add x (mult y z)) = (mult (add x y) (add x z))).
72 \forall d2: (\forall x,y,z:A.
73 (mult x (add y z)) = (add (mult x y) (mult x z))).
74 \forall i1: (\forall x:A. (add x zero) = x).
75 \forall i2: (\forall x:A. (mult x one) = x).
76 \forall inv1: (\forall x:A. (add x (inv x)) = one).
77 \forall inv2: (\forall x:A. (mult x (inv x)) = zero).
78 \forall x:A. (mult x zero) = zero.
79 intros.autobatch paramodulation.
86 \forall add: A \to A \to A.
87 \forall mult: A \to A \to A.
89 \forall c1:(\forall x,y:A.(add x y) = (add y x)).
90 \forall c2:(\forall x,y:A.(mult x y) = (mult y x)).
91 \forall d1: (\forall x,y,z:A.
92 (add x (mult y z)) = (mult (add x y) (add x z))).
93 \forall d2: (\forall x,y,z:A.
94 (mult x (add y z)) = (add (mult x y) (mult x z))).
95 \forall i1: (\forall x:A. (add x zero) = x).
96 \forall i2: (\forall x:A. (mult x one) = x).
97 \forall inv1: (\forall x:A. (add x (inv x)) = one).
98 \forall inv2: (\forall x:A. (mult x (inv x)) = zero).
99 \forall x:A. (inv (inv x)) = x.
100 intros.autobatch paramodulation.
107 \forall add: A \to A \to A.
108 \forall mult: A \to A \to A.
109 \forall inv: A \to A.
110 \forall c1:(\forall x,y:A.(add x y) = (add y x)).
111 \forall c2:(\forall x,y:A.(mult x y) = (mult y x)).
112 \forall d1: (\forall x,y,z:A.
113 (add x (mult y z)) = (mult (add x y) (add x z))).
114 \forall d2: (\forall x,y,z:A.
115 (mult x (add y z)) = (add (mult x y) (mult x z))).
116 \forall i1: (\forall x:A. (add x zero) = x).
117 \forall i2: (\forall x:A. (mult x one) = x).
118 \forall inv1: (\forall x:A. (add x (inv x)) = one).
119 \forall inv2: (\forall x:A. (mult x (inv x)) = zero).
120 \forall x,y:A. (mult x (add (inv x) y)) = (mult x y).
121 intros.autobatch paramodulation.
128 \forall add: A \to A \to A.
129 \forall mult: A \to A \to A.
130 \forall inv: A \to A.
131 \forall c1:(\forall x,y:A.(add x y) = (add y x)).
132 \forall c2:(\forall x,y:A.(mult x y) = (mult y x)).
133 \forall d1: (\forall x,y,z:A.
134 (add x (mult y z)) = (mult (add x y) (add x z))).
135 \forall d2: (\forall x,y,z:A.
136 (mult x (add y z)) = (add (mult x y) (mult x z))).
137 \forall i1: (\forall x:A. (add x zero) = x).
138 \forall i2: (\forall x:A. (mult x one) = x).
139 \forall inv1: (\forall x:A. (add x (inv x)) = one).
140 \forall inv2: (\forall x:A. (mult x (inv x)) = zero).
141 \forall x,y:A. zero = (mult x (mult (inv x) y)).
142 intros.autobatch paramodulation.
149 \forall add: A \to A \to A.
150 \forall mult: A \to A \to A.
151 \forall inv: A \to A.
152 \forall c1:(\forall x,y:A.(add x y) = (add y x)).
153 \forall c2:(\forall x,y:A.(mult x y) = (mult y x)).
154 \forall d1: (\forall x,y,z:A.
155 (add x (mult y z)) = (mult (add x y) (add x z))).
156 \forall d2: (\forall x,y,z:A.
157 (mult x (add y z)) = (add (mult x y) (mult x z))).
158 \forall i1: (\forall x:A. (add x zero) = x).
159 \forall i2: (\forall x:A. (mult x one) = x).
160 \forall inv1: (\forall x:A. (add x (inv x)) = one).
161 \forall inv2: (\forall x:A. (mult x (inv x)) = zero).
162 \forall x,y:A. zero = mult (inv x) (mult x y).
163 intros.autobatch paramodulation.
170 \forall add: A \to A \to A.
171 \forall mult: A \to A \to A.
172 \forall inv: A \to A.
173 \forall c1:(\forall x,y:A.(add x y) = (add y x)).
174 \forall c2:(\forall x,y:A.(mult x y) = (mult y x)).
175 \forall d1: (\forall x,y,z:A.
176 (add x (mult y z)) = (mult (add x y) (add x z))).
177 \forall d2: (\forall x,y,z:A.
178 (mult x (add y z)) = (add (mult x y) (mult x z))).
179 \forall i1: (\forall x:A. (add x zero) = x).
180 \forall i2: (\forall x:A. (mult x one) = x).
181 \forall inv1: (\forall x:A. (add x (inv x)) = one).
182 \forall inv2: (\forall x:A. (mult x (inv x)) = zero).
183 \forall x,y:A. x = (mult (add y x) x).
184 intros.autobatch paramodulation.
191 \forall add: A \to A \to A.
192 \forall mult: A \to A \to A.
193 \forall inv: A \to A.
194 \forall c1:(\forall x,y:A.(add x y) = (add y x)).
195 \forall c2:(\forall x,y:A.(mult x y) = (mult y x)).
196 \forall d1: (\forall x,y,z:A.
197 (add x (mult y z)) = (mult (add x y) (add x z))).
198 \forall d2: (\forall x,y,z:A.
199 (mult x (add y z)) = (add (mult x y) (mult x z))).
200 \forall i1: (\forall x:A. (add x zero) = x).
201 \forall i2: (\forall x:A. (mult x one) = x).
202 \forall inv1: (\forall x:A. (add x (inv x)) = one).
203 \forall inv2: (\forall x:A. (mult x (inv x)) = zero).
204 \forall x,y:A. zero = (mult (inv (add x y)) y).
205 intros.autobatch paramodulation.
212 \forall add: A \to A \to A.
213 \forall mult: A \to A \to A.
214 \forall inv: A \to A.
215 \forall c1:(\forall x,y:A.(add x y) = (add y x)).
216 \forall c2:(\forall x,y:A.(mult x y) = (mult y x)).
217 \forall d1: (\forall x,y,z:A.
218 (add x (mult y z)) = (mult (add x y) (add x z))).
219 \forall d2: (\forall x,y,z:A.
220 (mult x (add y z)) = (add (mult x y) (mult x z))).
221 \forall i1: (\forall x:A. (add x zero) = x).
222 \forall i2: (\forall x:A. (mult x one) = x).
223 \forall inv1: (\forall x:A. (add x (inv x)) = one).
224 \forall inv2: (\forall x:A. (mult x (inv x)) = zero).
225 \forall x,y:A. (add (inv x) (mult y x)) = (add (inv x) y).
226 intros.autobatch paramodulation.
233 \forall add: A \to A \to A.
234 \forall mult: A \to A \to A.
235 \forall inv: A \to A.
236 \forall c1:(\forall x,y:A.(add x y) = (add y x)).
237 \forall c2:(\forall x,y:A.(mult x y) = (mult y x)).
238 \forall d1: (\forall x,y,z:A.
239 (add x (mult y z)) = (mult (add x y) (add x z))).
240 \forall d2: (\forall x,y,z:A.
241 (mult x (add y z)) = (add (mult x y) (mult x z))).
242 \forall i1: (\forall x:A. (add x zero) = x).
243 \forall i2: (\forall x:A. (mult x one) = x).
244 \forall inv1: (\forall x:A. (add x (inv x)) = one).
245 \forall inv2: (\forall x:A. (mult x (inv x)) = zero).
247 inv x = (add (inv x) (inv (add y x))).
248 intros.autobatch paramodulation.
255 \forall add: A \to A \to A.
256 \forall mult: A \to A \to A.
257 \forall inv: A \to A.
258 \forall c1:(\forall x,y:A.(add x y) = (add y x)).
259 \forall c2:(\forall x,y:A.(mult x y) = (mult y x)).
260 \forall d1: (\forall x,y,z:A.
261 (add x (mult y z)) = (mult (add x y) (add x z))).
262 \forall d2: (\forall x,y,z:A.
263 (mult x (add y z)) = (add (mult x y) (mult x z))).
264 \forall i1: (\forall x:A. (add x zero) = x).
265 \forall i2: (\forall x:A. (mult x one) = x).
266 \forall inv1: (\forall x:A. (add x (inv x)) = one).
267 \forall inv2: (\forall x:A. (mult x (inv x)) = zero).
269 inv x = (add (inv (add y x)) (inv x)).
270 intros.autobatch paramodulation.
277 \forall add: A \to A \to A.
278 \forall mult: A \to A \to A.
279 \forall inv: A \to A.
280 \forall c1:(\forall x,y:A.(add x y) = (add y x)).
281 \forall c2:(\forall x,y:A.(mult x y) = (mult y x)).
282 \forall d1: (\forall x,y,z:A.
283 (add x (mult y z)) = (mult (add x y) (add x z))).
284 \forall d2: (\forall x,y,z:A.
285 (mult x (add y z)) = (add (mult x y) (mult x z))).
286 \forall i1: (\forall x:A. (add x zero) = x).
287 \forall i2: (\forall x:A. (mult x one) = x).
288 \forall inv1: (\forall x:A. (add x (inv x)) = one).
289 \forall inv2: (\forall x:A. (mult x (inv x)) = zero).
291 add x (mult x y) = mult x (add x y).
292 intros.autobatch paramodulation.
299 \forall add: A \to A \to A.
300 \forall mult: A \to A \to A.
301 \forall inv: A \to A.
302 \forall c1:(\forall x,y:A.(add x y) = (add y x)).
303 \forall c2:(\forall x,y:A.(mult x y) = (mult y x)).
304 \forall d1: (\forall x,y,z:A.
305 (add x (mult y z)) = (mult (add x y) (add x z))).
306 \forall d2: (\forall x,y,z:A.
307 (mult x (add y z)) = (add (mult x y) (mult x z))).
308 \forall i1: (\forall x:A. (add x zero) = x).
309 \forall i2: (\forall x:A. (mult x one) = x).
310 \forall inv1: (\forall x:A. (add x (inv x)) = one).
311 \forall inv2: (\forall x:A. (mult x (inv x)) = zero).
313 (mult (add x y) (add z (add x u))) = (add (mult (add x y) z) (add x (mult y u))).
314 intros.autobatch paramodulation.
321 \forall add: A \to A \to A.
322 \forall mult: A \to A \to A.
323 \forall inv: A \to A.
324 \forall c1:(\forall x,y:A.(add x y) = (add y x)).
325 \forall c2:(\forall x,y:A.(mult x y) = (mult y x)).
326 \forall d1: (\forall x,y,z:A.
327 (add x (mult y z)) = (mult (add x y) (add x z))).
328 \forall d2: (\forall x,y,z:A.
329 (mult x (add y z)) = (add (mult x y) (mult x z))).
330 \forall i1: (\forall x:A. (add x zero) = x).
331 \forall i2: (\forall x:A. (mult x one) = x).
332 \forall inv1: (\forall x:A. (add x (inv x)) = one).
333 \forall inv2: (\forall x:A. (mult x (inv x)) = zero).
335 add x (mult y z) = mult (add y x) (add x z).
336 intros.autobatch paramodulation.
339 theorem bool756minimal:
341 \forall add: A \to A \to A.
342 \forall mult: A \to A \to A.
343 \forall c1:(\forall x,y:A.(add x y) = (add y x)).
344 \forall hint1: (\forall x,y,z,u:A.
345 add y (add x (mult x u)) = (add (mult (add x y) z) (add x (mult y u)))).
346 \forall hint2: (\forall x,y:A. x = (mult (add y x) x)).
348 add x (add y (mult y z)) = add x (add y (mult x z)).
350 autobatch paramodulation.
353 theorem bool756simplified:
355 \forall add: A \to A \to A.
356 \forall mult: A \to A \to A.
357 \forall c1:(\forall x,y:A.(add x y) = (add y x)).
358 \forall c2:(\forall x,y:A.(mult x y) = (mult y x)).
359 \forall hint1: (\forall x,y,z,u:A.
360 (mult (add x y) (add z (add x u))) = (add (mult (add x y) z) (add x (mult y u)))).
361 \forall hint2: (\forall x,y:A. x = (mult (add y x) x)).
362 \forall hint3: (\forall x,y,z:A.
363 add x (mult y z) = mult (add y x) (add x z)).
364 \forall hint4: (\forall x,y:A.
365 add x (mult x y) = mult x (add x y)).
367 add x (add y (mult y z)) = add x (add y (mult x z)).
369 autobatch paramodulation.
376 \forall add: A \to A \to A.
377 \forall mult: A \to A \to A.
378 \forall inv: A \to A.
379 \forall c1:(\forall x,y:A.(add x y) = (add y x)).
380 \forall c2:(\forall x,y:A.(mult x y) = (mult y x)).
381 \forall d1: (\forall x,y,z:A.
382 (add x (mult y z)) = (mult (add x y) (add x z))).
383 \forall d2: (\forall x,y,z:A.
384 (mult x (add y z)) = (add (mult x y) (mult x z))).
385 \forall i1: (\forall x:A. (add x zero) = x).
386 \forall i2: (\forall x:A. (mult x one) = x).
387 \forall inv1: (\forall x:A. (add x (inv x)) = one).
388 \forall inv2: (\forall x:A. (mult x (inv x)) = zero).
389 \forall hint1: (\forall x,y,z,u:A.
390 (mult (add x y) (add z (add x u))) = (add (mult (add x y) z) (add x (mult y u)))).
391 \forall hint2: (\forall x,y:A. x = (mult (add y x) x)).
392 \forall hint3: (\forall x,y,z:A.
393 add x (mult y z) = mult (add y x) (add x z)).
394 \forall hint4: (\forall x,y:A.
395 add x (mult x y) = mult x (add x y)).
397 add x y = add x (add y (mult x z)).
399 cut (mult (add y x) (add x (add y z)) = add x (add y (mult x z)));
400 [autobatch paramodulation
401 |autobatch paramodulation]
408 \forall add: A \to A \to A.
409 \forall mult: A \to A \to A.
410 \forall inv: A \to A.
411 \forall c1:(\forall x,y:A.(add x y) = (add y x)).
412 \forall c2:(\forall x,y:A.(mult x y) = (mult y x)).
413 \forall d1: (\forall x,y,z:A.
414 (add x (mult y z)) = (mult (add x y) (add x z))).
415 \forall d2: (\forall x,y,z:A.
416 (mult x (add y z)) = (add (mult x y) (mult x z))).
417 \forall i1: (\forall x:A. (add x zero) = x).
418 \forall i2: (\forall x:A. (mult x one) = x).
419 \forall inv1: (\forall x:A. (add x (inv x)) = one).
420 \forall inv2: (\forall x:A. (mult x (inv x)) = zero).
422 add x y = add x (add y (mult x z)).
423 intros;autobatch paramodulation.
430 \forall add: A \to A \to A.
431 \forall mult: A \to A \to A.
432 \forall inv: A \to A.
433 \forall c1:(\forall x,y:A.(add x y) = (add y x)).
434 \forall c2:(\forall x,y:A.(mult x y) = (mult y x)).
435 \forall d1: (\forall x,y,z:A.
436 (add x (mult y z)) = (mult (add x y) (add x z))).
437 \forall d2: (\forall x,y,z:A.
438 (mult x (add y z)) = (add (mult x y) (mult x z))).
439 \forall i1: (\forall x:A. (add x zero) = x).
440 \forall i2: (\forall x:A. (mult x one) = x).
441 \forall inv1: (\forall x:A. (add x (inv x)) = one).
442 \forall inv2: (\forall x:A. (mult x (inv x)) = zero).
444 (add x y) = (add (add x (mult y z)) y).
445 intros.autobatch paramodulation.
452 \forall add: A \to A \to A.
453 \forall mult: A \to A \to A.
454 \forall inv: A \to A.
455 \forall c1:(\forall x,y:A.(add x y) = (add y x)).
456 \forall c2:(\forall x,y:A.(mult x y) = (mult y x)).
457 \forall d1: (\forall x,y,z:A.
458 (add x (mult y z)) = (mult (add x y) (add x z))).
459 \forall d2: (\forall x,y,z:A.
460 (mult x (add y z)) = (add (mult x y) (mult x z))).
461 \forall i1: (\forall x:A. (add x zero) = x).
462 \forall i2: (\forall x:A. (mult x one) = x).
463 \forall inv1: (\forall x:A. (add x (inv x)) = one).
464 \forall inv2: (\forall x:A. (mult x (inv x)) = zero).
466 \forall c1z: (\forall x:A.(add x z) = (add z x)).
467 add (add x y) z = add (add x y) (add z y).
468 intros.autobatch paramodulation.
475 \forall add: A \to A \to A.
476 \forall mult: A \to A \to A.
477 \forall inv: A \to A.
478 \forall c1:(\forall x,y:A.(add x y) = (add y x)).
479 \forall c2:(\forall x,y:A.(mult x y) = (mult y x)).
480 \forall d1: (\forall x,y,z:A.
481 (add x (mult y z)) = (mult (add x y) (add x z))).
482 \forall d2: (\forall x,y,z:A.
483 (mult x (add y z)) = (add (mult x y) (mult x z))).
484 \forall i1: (\forall x:A. (add x zero) = x).
485 \forall i2: (\forall x:A. (mult x one) = x).
486 \forall inv1: (\forall x:A. (add x (inv x)) = one).
487 \forall inv2: (\forall x:A. (mult x (inv x)) = zero).
489 add (add x y) z = add (add x y) (add z y).
490 intros.autobatch paramodulation.
497 \forall add: A \to A \to A.
498 \forall mult: A \to A \to A.
499 \forall inv: A \to A.
500 \forall c1:(\forall x,y:A.(add x y) = (add y x)).
501 \forall c2:(\forall x,y:A.(mult x y) = (mult y x)).
502 \forall d1: (\forall x,y,z:A.
503 (add x (mult y z)) = (mult (add x y) (add x z))).
504 \forall d2: (\forall x,y,z:A.
505 (mult x (add y z)) = (add (mult x y) (mult x z))).
506 \forall i1: (\forall x:A. (add x zero) = x).
507 \forall i2: (\forall x:A. (mult x one) = x).
508 \forall inv1: (\forall x:A. (add x (inv x)) = one).
509 \forall inv2: (\forall x:A. (mult x (inv x)) = zero).
511 add x (add y z) = add (add x z) y.
512 intros.autobatch paramodulation.
519 \forall add: A \to A \to A.
520 \forall mult: A \to A \to A.
521 \forall inv: A \to A.
522 \forall c1:(\forall x,y:A.(add x y) = (add y x)).
523 \forall c2:(\forall x,y:A.(mult x y) = (mult y x)).
524 \forall d1: (\forall x,y,z:A.
525 (add x (mult y z)) = (mult (add x y) (add x z))).
526 \forall d2: (\forall x,y,z:A.
527 (mult x (add y z)) = (add (mult x y) (mult x z))).
528 \forall i1: (\forall x:A. (add x zero) = x).
529 \forall i2: (\forall x:A. (mult x one) = x).
530 \forall inv1: (\forall x:A. (add x (inv x)) = one).
531 \forall inv2: (\forall x:A. (mult x (inv x)) = zero).
533 add (inv x) y = add (mult x y) (inv x).
534 intros.autobatch paramodulation.
541 \forall add: A \to A \to A.
542 \forall mult: A \to A \to A.
543 \forall inv: A \to A.
544 \forall c1:(\forall x,y:A.(add x y) = (add y x)).
545 \forall c2:(\forall x,y:A.(mult x y) = (mult y x)).
546 \forall d1: (\forall x,y,z:A.
547 (add x (mult y z)) = (mult (add x y) (add x z))).
548 \forall d2: (\forall x,y,z:A.
549 (mult x (add y z)) = (add (mult x y) (mult x z))).
550 \forall i1: (\forall x:A. (add x zero) = x).
551 \forall i2: (\forall x:A. (mult x one) = x).
552 \forall inv1: (\forall x:A. (add x (inv x)) = one).
553 \forall inv2: (\forall x:A. (mult x (inv x)) = zero).
554 \forall hint1731:(\forall x,y:A. add (inv (add x y)) y = add y (inv x)).
555 \forall hint1735:(\forall x,y:A. add (inv (add x y)) x = add x (inv y)).
556 \forall hint623:(\forall x,y:A. inv (mult x y) = add (inv x) (inv (mult x y))).
558 (inv (mult x y)) = (add (inv x) (inv y)).
559 intros.autobatch paramodulation.
566 \forall add: A \to A \to A.
567 \forall mult: A \to A \to A.
568 \forall inv: A \to A.
569 \forall c1:(\forall x,y:A.(add x y) = (add y x)).
570 \forall c2:(\forall x,y:A.(mult x y) = (mult y x)).
571 \forall d1: (\forall x,y,z:A.
572 (add x (mult y z)) = (mult (add x y) (add x z))).
573 \forall d2: (\forall x,y,z:A.
574 (mult x (add y z)) = (add (mult x y) (mult x z))).
575 \forall i1: (\forall x:A. (add x zero) = x).
576 \forall i2: (\forall x:A. (mult x one) = x).
577 \forall inv1: (\forall x:A. (add x (inv x)) = one).
578 \forall inv2: (\forall x:A. (mult x (inv x)) = zero).
579 \forall hint1731:(\forall x,y:A. add (inv (add x y)) y = add y (inv x)).
580 \forall hint623:(\forall x,y:A. inv (mult x y) = add (inv x) (inv (mult x y))).
582 (inv (mult x y)) = (add (inv x) (inv y)).
583 intros.autobatch paramodulation.
590 \forall add: A \to A \to A.
591 \forall mult: A \to A \to A.
592 \forall inv: A \to A.
593 \forall c1:(\forall x,y:A.(add x y) = (add y x)).
594 \forall c2:(\forall x,y:A.(mult x y) = (mult y x)).
595 \forall d1: (\forall x,y,z:A.
596 (add x (mult y z)) = (mult (add x y) (add x z))).
597 \forall d2: (\forall x,y,z:A.
598 (mult x (add y z)) = (add (mult x y) (mult x z))).
599 \forall i1: (\forall x:A. (add x zero) = x).
600 \forall i2: (\forall x:A. (mult x one) = x).
601 \forall inv1: (\forall x:A. (add x (inv x)) = one).
602 \forall inv2: (\forall x:A. (mult x (inv x)) = zero).
603 \forall hint1731:(\forall x,y:A. add (inv (add x y)) y = add y (inv x)).
604 \forall hint609:(\forall x,y:A. inv x = add (inv (add y x)) (inv x)).
606 (inv (mult x y)) = (add (inv x) (inv y)).
607 intros.autobatch paramodulation.
614 \forall add: A \to A \to A.
615 \forall mult: A \to A \to A.
616 \forall inv: A \to A.
617 \forall c1:(\forall x,y:A.(add x y) = (add y x)).
618 \forall c2:(\forall x,y:A.(mult x y) = (mult y x)).
619 \forall d1: (\forall x,y,z:A.
620 (add x (mult y z)) = (mult (add x y) (add x z))).
621 \forall d2: (\forall x,y,z:A.
622 (mult x (add y z)) = (add (mult x y) (mult x z))).
623 \forall i1: (\forall x:A. (add x zero) = x).
624 \forall i2: (\forall x:A. (mult x one) = x).
625 \forall inv1: (\forall x:A. (add x (inv x)) = one).
626 \forall inv2: (\forall x:A. (mult x (inv x)) = zero).
628 (inv (mult x y)) = (add (inv x) (inv y)).
629 intros.autobatch paramodulation.