-
Notifications
You must be signed in to change notification settings - Fork 2
/
match-list.txt
795 lines (793 loc) · 56.1 KB
/
match-list.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
id p = p
p && p = p
p || p = p
p && q = q && p
p || q = q || p
not (not p) = p
p && True = p
True && p = p
p && False = False
False && p = False
p || True = True
True || p = True
p || False = p
False || p = p
p && not p = False
p || not p = True
not p && p = False
not p || p = True
(p && q) && r = p && (q && r)
(p || q) || r = p || (q || r)
not (p && q) = not p || not q
not (p || q) = not p && not q
not False = True
not True = False
not (not p && not q) = p || q
not (not p || not q) = p && q
p && not (p && q) = p && not q
id x = x
abs (abs x) = abs x
x + 0 = x
0 + x = x
x * 1 = x
1 * x = x
x * 0 = 0
0 * x = 0
x + y = y + x
x * y = y * x
(x + y) + z = x + (y + z)
(x * y) * z = x * (y * z)
(x + x) * y = x * (y + y)
x * (y + 1) = x + x * y
(x + 1) * y = x + x * y
x * (y + z) = x * y + x * z
(x + y) * z = x * z + y * z
negate (negate x) = x
x + negate x = 0
negate x + x = 0
abs (negate x) = abs x
2 * x = x + x
x * 2 = x + x
3 * x = x + (x + x)
x * 3 = x + (x + x)
4 * x = x + (x + (x + x))
x * 4 = x + (x + (x + x))
abs (x * x) = x * x
abs x * abs y = abs (x * y)
abs x * abs x = abs (x + x)
abs (abs x + abs y) = abs x + abs y
abs (x + x) * y = abs x * y + abs x * y
abs x * signum x = x
signum x * abs x = x
id xs = xs
head (x:xs) = x
tail (x:xs) = xs
xs ++ [] = xs
[] ++ xs = xs
[x] ++ xs = x:xs
(x:xs) ++ ys = x:(xs ++ ys)
(xs ++ ys) ++ zs = xs ++ (ys ++ zs)
elem x (sort xs) = elem x xs
elem x (insert y xs) = elem x (y:xs)
sort (sort xs) = sort xs
insert x [] = [x]
sort (xs ++ ys) = sort (ys ++ xs)
sort (insert x xs) = insert x (sort xs)
sort (x:xs) = insert x (sort xs)
sort (xs ++ sort ys) = sort (xs ++ ys)
sort (sort xs ++ ys) = sort (xs ++ ys)
insert x (insert y xs) = insert y (insert x xs)
insert x (x:xs) = x:x:xs
insert x [y] = insert y [x]
length (x:xs) = length (y:xs)
length (xs ++ ys) = length (ys ++ xs)
length (x:y:xs) = length (z:x':xs)
length (x:(xs ++ ys)) = length (y:(ys ++ xs))
length (xs ++ (ys ++ zs)) = length (xs ++ (zs ++ ys))
not (odd x) = even x
not (even x) = odd x
x == x = True
x /= x = False
p == p = True
p /= p = False
f (g x) = (f . g) x
map id xs = xs
map (f . g) xs = map f (map g xs)
f . id = f
id . f = f
(f . g) . h = f . (g . h)
not . not = id
(id x :: Int,[(x :: Int,_ :: Int)],x :: Int)
(id x :: Int,[(x :: Int,x :: Int)],x :: Int)
(id x :: Int,[(x :: Int,0 :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id _ :: Int)],x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,_ :: Int)],y + x :: Int)
(id x :: Int,[(x :: Int,y :: Int)],x :: Int)
(id x :: Int,[(x :: Int,1 :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id x :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id 0 :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate _ :: Int)],x :: Int)
(id x :: Int,[(x :: Int,abs _ :: Int)],x :: Int)
(id x :: Int,[(x :: Int,_ + _ :: Int)],x :: Int)
(id x :: Int,[(x :: Int,head _ :: Int)],x :: Int)
(id x :: Int,[(x :: Int,ord _ :: Int)],x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,x :: Int),(x :: Int,_ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,0 :: Int),(x :: Int,_ :: Int)],y + x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,x :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,0 :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,id _ :: Int)],y + x :: Int)
(x * y :: Int,[(y :: Int,_ :: Int),(x :: Int,_ :: Int)],y * x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],_ :: [Int]),(x :: Int,_ :: Int)],x :: Int)
(not False :: Bool,[],True :: Bool)
(not True :: Bool,[],False :: Bool)
(not (not p) :: Bool,[(p :: Bool,_ :: Bool)],p :: Bool)
(p || q :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,_ :: Bool)],q || p :: Bool)
(id x :: Int,[(x :: Int,z :: Int)],x :: Int)
(id x :: Int,[(x :: Int,-1 :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id y :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id 1 :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id x) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id 0) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id (id _)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (negate _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (abs _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (_ + _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (head _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (ord _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate x :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate 0 :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate (id _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,abs x :: Int)],x :: Int)
(id x :: Int,[(x :: Int,abs 0 :: Int)],x :: Int)
(id x :: Int,[(x :: Int,abs (id _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,_ + x :: Int)],x :: Int)
(id x :: Int,[(x :: Int,_ + 0 :: Int)],x :: Int)
(id x :: Int,[(x :: Int,_ + id _ :: Int)],x :: Int)
(id x :: Int,[(x :: Int,x + _ :: Int)],x :: Int)
(id x :: Int,[(x :: Int,0 + _ :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id _ + _ :: Int)],x :: Int)
(id x :: Int,[(x :: Int,_ * _ :: Int)],x :: Int)
(id x :: Int,[(x :: Int,f _ :: Int)],x :: Int)
(id x :: Int,[(x :: Int,head xs :: Int)],x :: Int)
(id x :: Int,[(x :: Int,head [] :: Int)],x :: Int)
(id x :: Int,[(x :: Int,head (_:_) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,ord c :: Int)],x :: Int)
(id x :: Int,[(x :: Int,ord 'a' :: Int)],x :: Int)
(f (g x) :: Int,[(x :: Int,x :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,x :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,y :: Int),(x :: Int,_ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,1 :: Int),(x :: Int,_ :: Int)],y + x :: Int)
(f (g x) :: Int,[(x :: Int,x :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,head _ :: Int),(x :: Int,_ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,ord _ :: Int),(x :: Int,_ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,x :: Int),(x :: Int,x :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,0 :: Int),(x :: Int,x :: Int)],y + x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(x +) :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,x :: Int),(x :: Int,0 :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,0 :: Int),(x :: Int,0 :: Int)],y + x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(0 +) :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,x :: Int),(x :: Int,id _ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,0 :: Int),(x :: Int,id _ :: Int)],y + x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(id _ +) :: Int -> Int)],(f . g) x :: Int)
(x * y :: Int,[(y :: Int,x :: Int),(x :: Int,_ :: Int)],y * x :: Int)
(x * y :: Int,[(y :: Int,0 :: Int),(x :: Int,_ :: Int)],y * x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(_ *) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,f :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,y :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,1 :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,id x :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,id 0 :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,id (id _) :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,negate _ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,abs _ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,_ + _ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,head _ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,ord _ :: Int)],y + x :: Int)
(x * y :: Int,[(y :: Int,_ :: Int),(x :: Int,x :: Int)],y * x :: Int)
(x * y :: Int,[(y :: Int,_ :: Int),(x :: Int,0 :: Int)],y * x :: Int)
(x * y :: Int,[(y :: Int,_ :: Int),(x :: Int,id _ :: Int)],y * x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],xs :: [Int]),(x :: Int,_ :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],[] :: [Int]),(x :: Int,_ :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],_:_ :: [Int]),(x :: Int,_ :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],_ :: [Int]),(x :: Int,x :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],_ :: [Int]),(x :: Int,0 :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],_ :: [Int]),(x :: Int,id _ :: Int)],x :: Int)
(not (not p) :: Bool,[(p :: Bool,p :: Bool)],p :: Bool)
(not (not p) :: Bool,[(p :: Bool,False :: Bool)],p :: Bool)
(not (not p) :: Bool,[(p :: Bool,True :: Bool)],p :: Bool)
(not (not p) :: Bool,[(p :: Bool,not _ :: Bool)],p :: Bool)
(not (p || q) :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,_ :: Bool)],not p && not q :: Bool)
(p || q :: Bool,[(q :: Bool,p :: Bool),(p :: Bool,_ :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,False :: Bool),(p :: Bool,_ :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,True :: Bool),(p :: Bool,_ :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,not _ :: Bool),(p :: Bool,_ :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,p :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,False :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,True :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,not _ :: Bool)],q || p :: Bool)
(p && q :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,_ :: Bool)],q && p :: Bool)
(x == x :: Bool,[(x :: Int,_ :: Int)],True :: Bool)
(p == p :: Bool,[(p :: Bool,_ :: Bool)],True :: Bool)
(tail (x:xs) :: [Int],[(xs :: [Int],_ :: [Int]),(x :: Int,_ :: Int)],xs :: [Int])
(xs ++ [] :: [Int],[(xs :: [Int],_ :: [Int])],xs :: [Int])
([] ++ xs :: [Int],[(xs :: [Int],_ :: [Int])],xs :: [Int])
((x:xs) ++ ys :: [Int],[(ys :: [Int],_ :: [Int]),(xs :: [Int],_ :: [Int]),(x :: Int,_ :: Int)],x:(xs ++ ys) :: [Int])
(id x :: Int,[(x :: Int,x' :: Int)],x :: Int)
(id x :: Int,[(x :: Int,2 :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id z :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (-1) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id y) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id 1) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id (id x)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id (id 0)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id (id (id _))) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id (negate _)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id (abs _)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id (_ + _)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id (head _)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id (ord _)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (negate x) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (negate 0) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (negate (id _)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (abs x) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (abs 0) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (abs (id _)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (_ + x) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (_ + 0) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (_ + id _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (x + _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (0 + _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id _ + _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (_ * _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (f _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (head xs) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (head []) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (head (_:_)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (ord c) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (ord 'a') :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate y :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate 1 :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate (id x) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate (id 0) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate (id (id _)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate (negate _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate (abs _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate (_ + _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate (head _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate (ord _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,abs y :: Int)],x :: Int)
(id x :: Int,[(x :: Int,abs 1 :: Int)],x :: Int)
(id x :: Int,[(x :: Int,abs (id x) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,abs (id 0) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,abs (id (id _)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,abs (negate _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,abs (abs _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,abs (_ + _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,abs (head _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,abs (ord _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,_ + y :: Int)],x :: Int)
(id x :: Int,[(x :: Int,_ + 1 :: Int)],x :: Int)
(id x :: Int,[(x :: Int,_ + id x :: Int)],x :: Int)
(id x :: Int,[(x :: Int,_ + id 0 :: Int)],x :: Int)
(id x :: Int,[(x :: Int,_ + id (id _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,_ + negate _ :: Int)],x :: Int)
(id x :: Int,[(x :: Int,_ + abs _ :: Int)],x :: Int)
(id x :: Int,[(x :: Int,_ + (_ + _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,_ + head _ :: Int)],x :: Int)
(id x :: Int,[(x :: Int,_ + ord _ :: Int)],x :: Int)
(id x :: Int,[(x :: Int,x + x :: Int)],x :: Int)
(id x :: Int,[(x :: Int,x + 0 :: Int)],x :: Int)
(id x :: Int,[(x :: Int,x + id _ :: Int)],x :: Int)
(id x :: Int,[(x :: Int,0 + x :: Int)],x :: Int)
(id x :: Int,[(x :: Int,0 + 0 :: Int)],x :: Int)
(id x :: Int,[(x :: Int,0 + id _ :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id _ + x :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id _ + 0 :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id _ + id _ :: Int)],x :: Int)
(id x :: Int,[(x :: Int,_ * x :: Int)],x :: Int)
(id x :: Int,[(x :: Int,_ * 0 :: Int)],x :: Int)
(id x :: Int,[(x :: Int,_ * id _ :: Int)],x :: Int)
(id x :: Int,[(x :: Int,f x :: Int)],x :: Int)
(id x :: Int,[(x :: Int,f 0 :: Int)],x :: Int)
(id x :: Int,[(x :: Int,f (id _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,y + _ :: Int)],x :: Int)
(id x :: Int,[(x :: Int,1 + _ :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id x + _ :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id 0 + _ :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id _) + _ :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate _ + _ :: Int)],x :: Int)
(id x :: Int,[(x :: Int,abs _ + _ :: Int)],x :: Int)
(id x :: Int,[(x :: Int,(_ + _) + _ :: Int)],x :: Int)
(id x :: Int,[(x :: Int,head _ + _ :: Int)],x :: Int)
(id x :: Int,[(x :: Int,ord _ + _ :: Int)],x :: Int)
(id x :: Int,[(x :: Int,x * _ :: Int)],x :: Int)
(id x :: Int,[(x :: Int,0 * _ :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id _ * _ :: Int)],x :: Int)
(id x :: Int,[(x :: Int,g _ :: Int)],x :: Int)
(id x :: Int,[(x :: Int,head ys :: Int)],x :: Int)
(id x :: Int,[(x :: Int,head [0] :: Int)],x :: Int)
(id x :: Int,[(x :: Int,head (_:xs) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,head [_] :: Int)],x :: Int)
(id x :: Int,[(x :: Int,head (_:_:_) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,head (x:_) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,head (0:_) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,head (id _:_) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,head (tail _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,head (_ ++ _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,ord d :: Int)],x :: Int)
(id x :: Int,[(x :: Int,ord ' ' :: Int)],x :: Int)
(f (g x) :: Int,[(x :: Int,y :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,1 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id x :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id 0 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (id _) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,negate _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,abs _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ + _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,head _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,ord _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,x :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,x :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,x :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(x +) :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(0 +) :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(id _ +) :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(_ *) :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,f :: Int -> Int),(f :: Int -> Int,negate :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,y :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,1 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id x :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id 0 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (id _) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,negate _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,abs _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ + _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,head _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,ord _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,x :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,x :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,x :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(x +) :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(0 +) :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(id _ +) :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(_ *) :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,f :: Int -> Int),(f :: Int -> Int,abs :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,z :: Int),(x :: Int,_ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,-1 :: Int),(x :: Int,_ :: Int)],y + x :: Int)
(f (g x) :: Int,[(x :: Int,y :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,1 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id x :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id 0 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id (id _) :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,negate _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,abs _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ + _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,head _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,ord _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,x :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,x :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,x :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(x +) :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(0 +) :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(id _ +) :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(_ *) :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,f :: Int -> Int),(f :: Int -> Int,(_ +) :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,head xs :: Int),(x :: Int,_ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,head [] :: Int),(x :: Int,_ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,head (_:_) :: Int),(x :: Int,_ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,ord c :: Int),(x :: Int,_ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,ord 'a' :: Int),(x :: Int,_ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,y :: Int),(x :: Int,x :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,1 :: Int),(x :: Int,x :: Int)],y + x :: Int)
(f (g x) :: Int,[(x :: Int,x :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(x +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(x +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(x +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,(x +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,(x +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,(x +) :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,head _ :: Int),(x :: Int,x :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,ord _ :: Int),(x :: Int,x :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,y :: Int),(x :: Int,0 :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,1 :: Int),(x :: Int,0 :: Int)],y + x :: Int)
(f (g x) :: Int,[(x :: Int,x :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(0 +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(0 +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(0 +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,(0 +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,(0 +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,(0 +) :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,head _ :: Int),(x :: Int,0 :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,ord _ :: Int),(x :: Int,0 :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,y :: Int),(x :: Int,id _ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,1 :: Int),(x :: Int,id _ :: Int)],y + x :: Int)
(f (g x) :: Int,[(x :: Int,x :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(id _ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(id _ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(id _ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,(id _ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,(id _ +) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,(id _ +) :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,head _ :: Int),(x :: Int,id _ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,ord _ :: Int),(x :: Int,id _ :: Int)],y + x :: Int)
(x * y :: Int,[(y :: Int,y :: Int),(x :: Int,_ :: Int)],y * x :: Int)
(x * y :: Int,[(y :: Int,1 :: Int),(x :: Int,_ :: Int)],y * x :: Int)
(f (g x) :: Int,[(x :: Int,x :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(_ *) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(_ *) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(_ *) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,(_ *) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,(_ *) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,(_ *) :: Int -> Int)],(f . g) x :: Int)
(x * y :: Int,[(y :: Int,head _ :: Int),(x :: Int,_ :: Int)],y * x :: Int)
(x * y :: Int,[(y :: Int,ord _ :: Int),(x :: Int,_ :: Int)],y * x :: Int)
(f (g x) :: Int,[(x :: Int,x :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,f :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,0 :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,f :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,id _ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,f :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,negate :: Int -> Int),(f :: Int -> Int,f :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,abs :: Int -> Int),(f :: Int -> Int,f :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,(_ +) :: Int -> Int),(f :: Int -> Int,f :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,x :: Int),(x :: Int,y :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,0 :: Int),(x :: Int,y :: Int)],y + x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(y +) :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,x :: Int),(x :: Int,1 :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,0 :: Int),(x :: Int,1 :: Int)],y + x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(1 +) :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,x :: Int),(x :: Int,id x :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,0 :: Int),(x :: Int,id x :: Int)],y + x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(id x +) :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,x :: Int),(x :: Int,id 0 :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,0 :: Int),(x :: Int,id 0 :: Int)],y + x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(id 0 +) :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,x :: Int),(x :: Int,id (id _) :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,0 :: Int),(x :: Int,id (id _) :: Int)],y + x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(id (id _) +) :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,x :: Int),(x :: Int,negate _ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,0 :: Int),(x :: Int,negate _ :: Int)],y + x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(negate _ +) :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,x :: Int),(x :: Int,abs _ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,0 :: Int),(x :: Int,abs _ :: Int)],y + x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(abs _ +) :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,x :: Int),(x :: Int,_ + _ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,0 :: Int),(x :: Int,_ + _ :: Int)],y + x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,((_ + _) +) :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,x :: Int),(x :: Int,head _ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,0 :: Int),(x :: Int,head _ :: Int)],y + x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(head _ +) :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,x :: Int),(x :: Int,ord _ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,0 :: Int),(x :: Int,ord _ :: Int)],y + x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(ord _ +) :: Int -> Int)],(f . g) x :: Int)
(x * y :: Int,[(y :: Int,x :: Int),(x :: Int,x :: Int)],y * x :: Int)
(x * y :: Int,[(y :: Int,0 :: Int),(x :: Int,x :: Int)],y * x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(x *) :: Int -> Int)],(f . g) x :: Int)
(x * y :: Int,[(y :: Int,x :: Int),(x :: Int,0 :: Int)],y * x :: Int)
(x * y :: Int,[(y :: Int,0 :: Int),(x :: Int,0 :: Int)],y * x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(0 *) :: Int -> Int)],(f . g) x :: Int)
(x * y :: Int,[(y :: Int,x :: Int),(x :: Int,id _ :: Int)],y * x :: Int)
(x * y :: Int,[(y :: Int,0 :: Int),(x :: Int,id _ :: Int)],y * x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,(id _ *) :: Int -> Int)],(f . g) x :: Int)
(f (g x) :: Int,[(x :: Int,_ :: Int),(g :: Int -> Int,id :: Int -> Int),(f :: Int -> Int,g :: Int -> Int)],(f . g) x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,z :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,-1 :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,id y :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,id 1 :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,id (id x) :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,id (id 0) :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,id (id (id _)) :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,id (negate _) :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,id (abs _) :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,id (_ + _) :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,id (head _) :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,id (ord _) :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,negate x :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,negate 0 :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,negate (id _) :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,abs x :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,abs 0 :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,abs (id _) :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,_ + x :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,_ + 0 :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,_ + id _ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,x + _ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,0 + _ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,id _ + _ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,_ * _ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,f _ :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,head xs :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,head [] :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,head (_:_) :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,ord c :: Int)],y + x :: Int)
(x + y :: Int,[(y :: Int,_ :: Int),(x :: Int,ord 'a' :: Int)],y + x :: Int)
(x * y :: Int,[(y :: Int,_ :: Int),(x :: Int,y :: Int)],y * x :: Int)
(x * y :: Int,[(y :: Int,_ :: Int),(x :: Int,1 :: Int)],y * x :: Int)
(x * y :: Int,[(y :: Int,_ :: Int),(x :: Int,id x :: Int)],y * x :: Int)
(x * y :: Int,[(y :: Int,_ :: Int),(x :: Int,id 0 :: Int)],y * x :: Int)
(x * y :: Int,[(y :: Int,_ :: Int),(x :: Int,id (id _) :: Int)],y * x :: Int)
(x * y :: Int,[(y :: Int,_ :: Int),(x :: Int,negate _ :: Int)],y * x :: Int)
(x * y :: Int,[(y :: Int,_ :: Int),(x :: Int,abs _ :: Int)],y * x :: Int)
(x * y :: Int,[(y :: Int,_ :: Int),(x :: Int,_ + _ :: Int)],y * x :: Int)
(x * y :: Int,[(y :: Int,_ :: Int),(x :: Int,head _ :: Int)],y * x :: Int)
(x * y :: Int,[(y :: Int,_ :: Int),(x :: Int,ord _ :: Int)],y * x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],ys :: [Int]),(x :: Int,_ :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],[0] :: [Int]),(x :: Int,_ :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],_:xs :: [Int]),(x :: Int,_ :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],[_] :: [Int]),(x :: Int,_ :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],_:_:_ :: [Int]),(x :: Int,_ :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],x:_ :: [Int]),(x :: Int,_ :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],0:_ :: [Int]),(x :: Int,_ :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],id _:_ :: [Int]),(x :: Int,_ :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],tail _ :: [Int]),(x :: Int,_ :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],_ ++ _ :: [Int]),(x :: Int,_ :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],xs :: [Int]),(x :: Int,x :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],[] :: [Int]),(x :: Int,x :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],_:_ :: [Int]),(x :: Int,x :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],xs :: [Int]),(x :: Int,0 :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],[] :: [Int]),(x :: Int,0 :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],_:_ :: [Int]),(x :: Int,0 :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],xs :: [Int]),(x :: Int,id _ :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],[] :: [Int]),(x :: Int,id _ :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],_:_ :: [Int]),(x :: Int,id _ :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],_ :: [Int]),(x :: Int,y :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],_ :: [Int]),(x :: Int,1 :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],_ :: [Int]),(x :: Int,id x :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],_ :: [Int]),(x :: Int,id 0 :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],_ :: [Int]),(x :: Int,id (id _) :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],_ :: [Int]),(x :: Int,negate _ :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],_ :: [Int]),(x :: Int,abs _ :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],_ :: [Int]),(x :: Int,_ + _ :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],_ :: [Int]),(x :: Int,head _ :: Int)],x :: Int)
(head (x:xs) :: Int,[(xs :: [Int],_ :: [Int]),(x :: Int,ord _ :: Int)],x :: Int)
(not (not p) :: Bool,[(p :: Bool,q :: Bool)],p :: Bool)
(not (not p) :: Bool,[(p :: Bool,not p :: Bool)],p :: Bool)
(not (not p) :: Bool,[(p :: Bool,not False :: Bool)],p :: Bool)
(not (not p) :: Bool,[(p :: Bool,not True :: Bool)],p :: Bool)
(not (not p) :: Bool,[(p :: Bool,not (not _) :: Bool)],p :: Bool)
(not (not p) :: Bool,[(p :: Bool,_ || _ :: Bool)],p :: Bool)
(not (p || q) :: Bool,[(q :: Bool,p :: Bool),(p :: Bool,_ :: Bool)],not p && not q :: Bool)
(not (p || q) :: Bool,[(q :: Bool,False :: Bool),(p :: Bool,_ :: Bool)],not p && not q :: Bool)
(not (p || q) :: Bool,[(q :: Bool,True :: Bool),(p :: Bool,_ :: Bool)],not p && not q :: Bool)
(not (p || q) :: Bool,[(q :: Bool,not _ :: Bool),(p :: Bool,_ :: Bool)],not p && not q :: Bool)
(not (p || q) :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,p :: Bool)],not p && not q :: Bool)
(not (p || q) :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,False :: Bool)],not p && not q :: Bool)
(not (p || q) :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,True :: Bool)],not p && not q :: Bool)
(not (p || q) :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,not _ :: Bool)],not p && not q :: Bool)
(not (p && q) :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,_ :: Bool)],not p || not q :: Bool)
(not (odd x) :: Bool,[(x :: Int,_ :: Int)],even x :: Bool)
(not (even x) :: Bool,[(x :: Int,_ :: Int)],odd x :: Bool)
(p || q :: Bool,[(q :: Bool,q :: Bool),(p :: Bool,_ :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,not p :: Bool),(p :: Bool,_ :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,not False :: Bool),(p :: Bool,_ :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,not True :: Bool),(p :: Bool,_ :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,not (not _) :: Bool),(p :: Bool,_ :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,_ || _ :: Bool),(p :: Bool,_ :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,p :: Bool),(p :: Bool,p :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,False :: Bool),(p :: Bool,p :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,True :: Bool),(p :: Bool,p :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,not _ :: Bool),(p :: Bool,p :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,p :: Bool),(p :: Bool,False :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,False :: Bool),(p :: Bool,False :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,True :: Bool),(p :: Bool,False :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,not _ :: Bool),(p :: Bool,False :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,p :: Bool),(p :: Bool,True :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,False :: Bool),(p :: Bool,True :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,True :: Bool),(p :: Bool,True :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,not _ :: Bool),(p :: Bool,True :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,p :: Bool),(p :: Bool,not _ :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,False :: Bool),(p :: Bool,not _ :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,True :: Bool),(p :: Bool,not _ :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,not _ :: Bool),(p :: Bool,not _ :: Bool)],q || p :: Bool)
(p && q :: Bool,[(q :: Bool,p :: Bool),(p :: Bool,_ :: Bool)],q && p :: Bool)
(p && q :: Bool,[(q :: Bool,False :: Bool),(p :: Bool,_ :: Bool)],q && p :: Bool)
(p && q :: Bool,[(q :: Bool,True :: Bool),(p :: Bool,_ :: Bool)],q && p :: Bool)
(p && q :: Bool,[(q :: Bool,not _ :: Bool),(p :: Bool,_ :: Bool)],q && p :: Bool)
(p || q :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,q :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,not p :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,not False :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,not True :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,not (not _) :: Bool)],q || p :: Bool)
(p || q :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,_ || _ :: Bool)],q || p :: Bool)
(p && q :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,p :: Bool)],q && p :: Bool)
(p && q :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,False :: Bool)],q && p :: Bool)
(p && q :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,True :: Bool)],q && p :: Bool)
(p && q :: Bool,[(q :: Bool,_ :: Bool),(p :: Bool,not _ :: Bool)],q && p :: Bool)
(tail (x:xs) :: [Int],[(xs :: [Int],xs :: [Int]),(x :: Int,_ :: Int)],xs :: [Int])
(tail (x:xs) :: [Int],[(xs :: [Int],[] :: [Int]),(x :: Int,_ :: Int)],xs :: [Int])
(tail (x:xs) :: [Int],[(xs :: [Int],_:_ :: [Int]),(x :: Int,_ :: Int)],xs :: [Int])
(tail (x:xs) :: [Int],[(xs :: [Int],_ :: [Int]),(x :: Int,x :: Int)],xs :: [Int])
(tail (x:xs) :: [Int],[(xs :: [Int],_ :: [Int]),(x :: Int,0 :: Int)],xs :: [Int])
(tail (x:xs) :: [Int],[(xs :: [Int],_ :: [Int]),(x :: Int,id _ :: Int)],xs :: [Int])
(xs ++ [] :: [Int],[(xs :: [Int],xs :: [Int])],xs :: [Int])
([] ++ xs :: [Int],[(xs :: [Int],xs :: [Int])],xs :: [Int])
(xs ++ [] :: [Int],[(xs :: [Int],[] :: [Int])],xs :: [Int])
([] ++ xs :: [Int],[(xs :: [Int],_:_ :: [Int])],xs :: [Int])
((x:xs) ++ ys :: [Int],[(ys :: [Int],xs :: [Int]),(xs :: [Int],_ :: [Int]),(x :: Int,_ :: Int)],x:(xs ++ ys) :: [Int])
(xs ++ [] :: [Int],[(xs :: [Int],_:_ :: [Int])],xs :: [Int])
((x:xs) ++ ys :: [Int],[(ys :: [Int],_:_ :: [Int]),(xs :: [Int],_ :: [Int]),(x :: Int,_ :: Int)],x:(xs ++ ys) :: [Int])
((x:xs) ++ ys :: [Int],[(ys :: [Int],_ :: [Int]),(xs :: [Int],xs :: [Int]),(x :: Int,_ :: Int)],x:(xs ++ ys) :: [Int])
((x:xs) ++ ys :: [Int],[(ys :: [Int],_ :: [Int]),(xs :: [Int],[] :: [Int]),(x :: Int,_ :: Int)],x:(xs ++ ys) :: [Int])
((x:xs) ++ ys :: [Int],[(ys :: [Int],_ :: [Int]),(xs :: [Int],_:_ :: [Int]),(x :: Int,_ :: Int)],x:(xs ++ ys) :: [Int])
((x:xs) ++ ys :: [Int],[(ys :: [Int],_ :: [Int]),(xs :: [Int],_ :: [Int]),(x :: Int,x :: Int)],x:(xs ++ ys) :: [Int])
((x:xs) ++ ys :: [Int],[(ys :: [Int],_ :: [Int]),(xs :: [Int],_ :: [Int]),(x :: Int,0 :: Int)],x:(xs ++ ys) :: [Int])
((x:xs) ++ ys :: [Int],[(ys :: [Int],_ :: [Int]),(xs :: [Int],_ :: [Int]),(x :: Int,id _ :: Int)],x:(xs ++ ys) :: [Int])
((xs ++ ys) ++ zs :: [Int],[(zs :: [Int],_ :: [Int]),(ys :: [Int],_ :: [Int]),(xs :: [Int],_ :: [Int])],xs ++ (ys ++ zs) :: [Int])
(sort (x:xs) :: [Int],[(xs :: [Int],_ :: [Int]),(x :: Int,_ :: Int)],insert x (sort xs) :: [Int])
(insert x [] :: [Int],[(x :: Int,_ :: Int)],[x] :: [Int])
(insert x (x:xs) :: [Int],[(xs :: [Int],_ :: [Int]),(x :: Int,_ :: Int)],x:x:xs :: [Int])
(id x :: Int,[(x :: Int,y' :: Int)],x :: Int)
(id x :: Int,[(x :: Int,-2 :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id x' :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id 2 :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id z) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id (-1)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id (id y)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id (id 1)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id (id (id x))) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id (id (id 0))) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id (id (id (id _)))) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id (id (negate _))) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id (id (abs _))) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id (id (_ + _))) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id (id (head _))) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id (id (ord _))) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id (negate x)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id (negate 0)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id (negate (id _))) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id (abs x)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id (abs 0)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id (abs (id _))) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id (_ + x)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id (_ + 0)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id (_ + id _)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id (x + _)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id (0 + _)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id (id _ + _)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id (_ * _)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id (f _)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id (head xs)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id (head [])) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id (head (_:_))) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id (ord c)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id (ord 'a')) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (negate y) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (negate 1) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (negate (id x)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (negate (id 0)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (negate (id (id _))) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (negate (negate _)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (negate (abs _)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (negate (_ + _)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (negate (head _)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (negate (ord _)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (abs y) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (abs 1) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (abs (id x)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (abs (id 0)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (abs (id (id _))) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (abs (negate _)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (abs (abs _)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (abs (_ + _)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (abs (head _)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (abs (ord _)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (_ + y) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (_ + 1) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (_ + id x) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (_ + id 0) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (_ + id (id _)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (_ + negate _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (_ + abs _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (_ + (_ + _)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (_ + head _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (_ + ord _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (x + x) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (x + 0) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (x + id _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (0 + x) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (0 + 0) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (0 + id _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id _ + x) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id _ + 0) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id _ + id _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (_ * x) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (_ * 0) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (_ * id _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (f x) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (f 0) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (f (id _)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (y + _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (1 + _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id x + _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id 0 + _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id (id _) + _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (negate _ + _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (abs _ + _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id ((_ + _) + _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (head _ + _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (ord _ + _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (x * _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (0 * _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (id _ * _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (g _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (head ys) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (head [0]) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (head (_:xs)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (head [_]) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (head (_:_:_)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (head (x:_)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (head (0:_)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (head (id _:_)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (head (tail _)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (head (_ ++ _)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (ord d) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,id (ord ' ') :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate z :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate (-1) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate (id y) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate (id 1) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate (id (id x)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate (id (id 0)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate (id (id (id _))) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate (id (negate _)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate (id (abs _)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate (id (_ + _)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate (id (head _)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate (id (ord _)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate (negate x) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate (negate 0) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate (negate (id _)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate (abs x) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate (abs 0) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate (abs (id _)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate (_ + x) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate (_ + 0) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate (_ + id _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate (x + _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate (0 + _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate (id _ + _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate (_ * _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate (f _) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate (head xs) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate (head []) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate (head (_:_)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate (ord c) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,negate (ord 'a') :: Int)],x :: Int)
(id x :: Int,[(x :: Int,abs z :: Int)],x :: Int)
(id x :: Int,[(x :: Int,abs (-1) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,abs (id y) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,abs (id 1) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,abs (id (id x)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,abs (id (id 0)) :: Int)],x :: Int)
(id x :: Int,[(x :: Int,abs (id (id (id _))) :: Int)],x :: Int)
True