-
Notifications
You must be signed in to change notification settings - Fork 0
/
antiunif.tccs
909 lines (798 loc) · 37.1 KB
/
antiunif.tccs
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
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
% Subtype TCC generated (at line 32, column 4) for
% vars(eq`lhs) ∪ vars(eq`rhs)
% expected type finite_set[variable]
% proved - complete
vars_TCC1: OBLIGATION
FORALL (eq: AUEquation):
is_finite[variable](∪[variable](vars(eq`lhs), vars(eq`rhs)));
% Subtype TCC generated (at line 67, column 21) for ∅
% expected type finite_set[variable]
% proved - complete
vars_TCC2: OBLIGATION
FORALL (s: List_eq): null?(s) IMPLIES is_finite[variable](∅[variable]);
% Subtype TCC generated (at line 68, column 18) for s
% expected type (cons?[AUEquation])
% proved - complete
vars_TCC3: OBLIGATION
FORALL (s: List_eq): NOT null?(s) IMPLIES cons?[AUEquation](s);
% Termination TCC generated (at line 68, column 24) for vars(cdr(s))
% proved - complete
vars_TCC4: OBLIGATION
FORALL (s: List_eq):
NOT null?(s) IMPLIES <<[AUEquation](cdr[AUEquation](s), s);
% Subtype TCC generated (at line 68, column 9) for
% vars(car(s)) ∪ vars(cdr(s))
% expected type finite_set[variable]
% proved - complete
vars_TCC5: OBLIGATION
FORALL (s: List_eq,
v: [{z: List_eq | <<[AUEquation](z, s)} -> finite_set[variable]]):
NOT null?(s) IMPLIES
is_finite[variable]
(∪[variable](vars(car[AUEquation](s)), v(cdr[AUEquation](s))));
% The SUBTYPE TCC (at line 68, column 33) for
% term generated from vars s
% expected type (cons?[AUEquation])
% is subsumed by vars_TCC3
% The SUBTYPE TCC (at line 79, column 21) for
% term generated from labels ∅
% expected type finite_set[variable]
% is subsumed by vars_TCC2
% The SUBTYPE TCC (at line 80, column 17) for
% term generated from labels s
% expected type (cons?[AUEquation])
% is subsumed by vars_TCC3
% The SUBTYPE TCC (at line 80, column 38) for
% term generated from labels s
% expected type (cons?[AUEquation])
% is subsumed by vars_TCC3
% The TERMINATION TCC (at line 80, column 27) for
% term generated from labels labels(cdr(s))
% is subsumed by vars_TCC4
% Termination TCC generated (at line 144, column 32) for
% eq_repeated_in?(eq, cdr(s))
% proved - complete
eq_repeated_in?_TCC1: OBLIGATION
FORALL (eq: AUEquation, s: List_eq):
cons?(s) AND NOT repeated_eq?(eq, car(s)) IMPLIES
<<[AUEquation](cdr[AUEquation](s), s);
% Subtype TCC generated (at line 155, column 32) for cdr(s)
% expected type (cons?[AUEquation])
% proved - complete
red_eq_in_TCC1: OBLIGATION
FORALL (s: (first_eq_repeated?)): cons?[AUEquation](cdr[AUEquation](s));
% Subtype TCC generated (at line 157, column 19) for
% cons(car(s), cdr(cdr(s)))
% expected type (first_eq_repeated?)
% proved - complete
red_eq_in_TCC2: OBLIGATION
FORALL (s: (first_eq_repeated?)):
NOT repeated_eq?(car(s), car(cdr(s))) IMPLIES
first_eq_repeated?(cons[AUEquation]
(car[AUEquation](s),
cdr[AUEquation](cdr[AUEquation](s))));
% Termination TCC generated (at line 157, column 9) for
% red_eq_in(cons(car(s), cdr(cdr(s))))
% proved - complete
red_eq_in_TCC3: OBLIGATION
FORALL (s: (first_eq_repeated?)):
NOT repeated_eq?(car(s), car(cdr(s))) IMPLIES
length[AUEquation]
(cons[AUEquation]
(car[AUEquation](s), cdr[AUEquation](cdr[AUEquation](s))))
< length[AUEquation](s);
% The SUBTYPE TCC (at line 156, column 13) for
% term generated from red_eq_in cdr(s)
% expected type (cons?[AUEquation])
% is subsumed by red_eq_in_TCC1
% The SUBTYPE TCC (at line 157, column 36) for
% term generated from red_eq_in cdr(s)
% expected type (cons?[AUEquation])
% is subsumed by red_eq_in_TCC1
% Subtype TCC generated (at line 170, column 51) for s
% expected type (cons?[AUEquation])
% proved - complete
nonrepeated?_TCC1: OBLIGATION
FORALL (s: List_eq):
NOT length(s) <= 1 AND NOT first_eq_repeated?(s) IMPLIES
cons?[AUEquation](s);
% Termination TCC generated (at line 170, column 34) for
% nonrepeated?(cdr(s))
% proved - complete
nonrepeated?_TCC2: OBLIGATION
FORALL (s: List_eq):
NOT length(s) <= 1 AND NOT first_eq_repeated?(s) IMPLIES
<<[AUEquation](cdr[AUEquation](s), s);
% The SUBTYPE TCC (at line 174, column 30) for
% term generated from allSolvedEqs? s
% expected type (cons?[AUEquation])
% is subsumed by vars_TCC3
% The SUBTYPE TCC (at line 174, column 54) for
% term generated from allSolvedEqs? s
% expected type (cons?[AUEquation])
% is subsumed by vars_TCC3
% The TERMINATION TCC (at line 174, column 36) for
% term generated from allSolvedEqs?
% allSolvedEqs?(cdr(s))
% is subsumed by vars_TCC4
% Subtype TCC generated (at line 191, column 77) for c`unsolved
% expected type (cons?[AUEquation])
% proved - complete
validity_car_conf_unsolved_TCC1: OBLIGATION
FORALL (c: (validConfiguration?) | cons?[AUEquation](c`unsolved)):
cons?[AUEquation](c`unsolved);
% The SUBTYPE TCC (at line 194, column 91) for
% term generated from validity_cdr_conf_unsolved c`unsolved
% expected type (cons?[AUEquation])
% is subsumed by validity_car_conf_unsolved_TCC1
% The SUBTYPE TCC (at line 212, column 52) for
% term generated from cdr_is_validConf c`unsolved
% expected type (cons?[AUEquation])
% is subsumed by validity_car_conf_unsolved_TCC1
% Subtype TCC generated (at line 243, column 61) for i
% expected type below[length[AUEquation](append(c`unsolved, c`solved))]
% proved - complete
freshness_nth_label_TCC1: OBLIGATION
FORALL (c: (validConfiguration?),
i:
below[length[AUEquation](c`unsolved) +
length[AUEquation](c`solved)]):
i < length[AUEquation](append[AUEquation](c`unsolved, c`solved));
% The SUBTYPE TCC (at line 246, column 37) for
% term generated from freshness_car_label c`unsolved
% expected type (cons?[AUEquation])
% is subsumed by validity_car_conf_unsolved_TCC1
% The SUBTYPE TCC (at line 261, column 36) for
% term generated from car_lbl_fresh_in_cdr c`unsolved
% expected type (cons?[AUEquation])
% is subsumed by validity_car_conf_unsolved_TCC1
% The SUBTYPE TCC (at line 261, column 68) for
% term generated from car_lbl_fresh_in_cdr c`unsolved
% expected type (cons?[AUEquation])
% is subsumed by validity_car_conf_unsolved_TCC1
% The SUBTYPE TCC (at line 264, column 36) for
% term generated from car_lbl_fresh_dom c`unsolved
% expected type (cons?[AUEquation])
% is subsumed by validity_car_conf_unsolved_TCC1
% The SUBTYPE TCC (at line 269, column 47) for
% term generated from emptyness_conf_vars_with_lbls_and_fresh_variables c`unsolved
% expected type (cons?[AUEquation])
% is subsumed by validity_car_conf_unsolved_TCC1
% The SUBTYPE TCC (at line 274, column 85) for
% term generated from emptyness_conf_supdom_with_lbls_and_fresh_variables c`unsolved
% expected type (cons?[AUEquation])
% is subsumed by validity_car_conf_unsolved_TCC1
% The SUBTYPE TCC (at line 278, column 17) for
% term generated from emptyness_conf_supdom_with_car_lbls_and_fresh_variables c`unsolved
% expected type (cons?[AUEquation])
% is subsumed by validity_car_conf_unsolved_TCC1
% The SUBTYPE TCC (at line 280, column 113) for
% term generated from emptyness_conf_supdom_with_car_lbls_and_fresh_variables c`unsolved
% expected type (cons?[AUEquation])
% is subsumed by validity_car_conf_unsolved_TCC1
% The SUBTYPE TCC (at line 284, column 89) for
% term generated from emptyness_conf_var_with_lbls_decomposeFuns c`unsolved
% expected type (cons?[AUEquation])
% is subsumed by validity_car_conf_unsolved_TCC1
% The SUBTYPE TCC (at line 290, column 41) for
% term generated from emptyness_conf_var_with_lbls_decomposePairs c`unsolved
% expected type (cons?[AUEquation])
% is subsumed by validity_car_conf_unsolved_TCC1
% The SUBTYPE TCC (at line 293, column 81) for
% term generated from emptyness_conf_var c`unsolved
% expected type (cons?[AUEquation])
% is subsumed by validity_car_conf_unsolved_TCC1
% The SUBTYPE TCC (at line 297, column 17) for
% term generated from niceness_preserv_conditions c`unsolved
% expected type (cons?[AUEquation])
% is subsumed by validity_car_conf_unsolved_TCC1
% Subtype TCC generated (at line 310, column 17) for c`unsolved
% expected type (cons?[AUEquation])
% proved - complete
niceness_preserv_conditions_decomposeFuns_TCC1: OBLIGATION
FORALL (c: (matchingFuns_conf?)): cons?[AUEquation](c`unsolved);
% The SUBTYPE TCC (at line 318, column 18) for
% term generated from nice_sub_decomposeFuns c`unsolved
% expected type (cons?[AUEquation])
% is subsumed by niceness_preserv_conditions_decomposeFuns_TCC1
% Subtype TCC generated (at line 327, column 61) for lhs
% expected type (app?)
% proved - complete
uns_solv_vars_matchingFuns_conf_TCC1: OBLIGATION
FORALL (c: (matchingFuns_conf?), eq: AUEquation, lhs: Term, rhs: Term):
eq = car(c`unsolved) AND lhs = eq`lhs AND rhs = eq`rhs IMPLIES
app?[constant, variable, f_symbol](lhs);
% Subtype TCC generated (at line 327, column 83) for rhs
% expected type (app?)
% proved - complete
uns_solv_vars_matchingFuns_conf_TCC2: OBLIGATION
FORALL (c: (matchingFuns_conf?), eq: AUEquation, lhs: Term, rhs: Term):
eq = car(c`unsolved) AND lhs = eq`lhs AND rhs = eq`rhs IMPLIES
app?[constant, variable, f_symbol](rhs);
% The SUBTYPE TCC (at line 324, column 22) for
% term generated from uns_solv_vars_matchingFuns_conf c`unsolved
% expected type (cons?[AUEquation])
% is subsumed by niceness_preserv_conditions_decomposeFuns_TCC1
% The SUBTYPE TCC (at line 328, column 30) for
% term generated from uns_solv_vars_matchingFuns_conf c`unsolved
% expected type (cons?[AUEquation])
% is subsumed by niceness_preserv_conditions_decomposeFuns_TCC1
% Subtype TCC generated (at line 341, column 32) for
% cons((eq`label, app(sym(eq`lhs), variable(lbl))), c`substitution)
% expected type (nice?)
% proved - incomplete
decomposeFuns_TCC1: OBLIGATION
FORALL (c: (matchingFuns_conf?), eq: AUEquation, lhs: Term, rhs: Term,
lbl: variable):
eq = car(c`unsolved) AND
lhs = eq`lhs AND rhs = eq`rhs AND lbl = freshLabel(c)
IMPLIES
nice?(cons[[variable, first_order_term[constant, variable, f_symbol]]]
((eq`label,
app[constant, variable, f_symbol]
(sym(eq`lhs),
variable[constant, variable, f_symbol](lbl))),
c`substitution));
% Subtype TCC generated (at line 340, column 7) for
% c
% WITH [unsolved
% := cons(makeEq(arg(lhs), arg(rhs), lbl), cdr(c`unsolved)),
% substitution
% := cons((eq`label, app(sym(eq`lhs), variable(lbl))),
% c`substitution)]
% expected type {cp: (validConfiguration?) |
% cons?(cp`unsolved) AND
% cdr(c`unsolved) = cdr(cp`unsolved) AND
% subs(cp`substitution)
% (variable(car(c`unsolved)`label))
% =
% app(sym((car(c`unsolved))`lhs),
% variable(car(cp`unsolved)`label))
% AND size(cp`unsolved) < size(c`unsolved)}
% proved - incomplete
decomposeFuns_TCC2: OBLIGATION
FORALL (c: (matchingFuns_conf?), eq: AUEquation, lhs: Term, rhs: Term,
lbl: variable):
eq = car(c`unsolved) AND
lhs = eq`lhs AND rhs = eq`rhs AND lbl = freshLabel(c)
IMPLIES
validConfiguration?((c
WITH [unsolved
:= cons[AUEquation]
(makeEq(arg[constant, variable,
f_symbol]
(lhs),
arg[constant, variable,
f_symbol]
(rhs),
lbl),
cdr[AUEquation](c`unsolved)),
substitution
:= cons[[variable,
first_order_term
[constant, variable,
f_symbol]]]
((eq`label,
app[constant, variable, f_symbol]
(sym(eq`lhs),
variable
[constant, variable,
f_symbol]
(lbl))),
c`substitution)]))
AND
subs(cons[[variable, first_order_term[constant, variable, f_symbol]]]
((eq`label,
app[constant, variable, f_symbol]
(sym(eq`lhs),
variable[constant, variable, f_symbol](lbl))),
c`substitution))
(variable[constant, variable, f_symbol]
(car[AUEquation](c`unsolved)`label))
=
app[constant, variable, f_symbol]
(sym((car[AUEquation](c`unsolved))`lhs),
variable[constant, variable, f_symbol]
(makeEq(arg[constant, variable, f_symbol](lhs),
arg[constant, variable, f_symbol](rhs), lbl)`label))
AND
size(cons[AUEquation]
(makeEq(arg[constant, variable, f_symbol](lhs),
arg[constant, variable, f_symbol](rhs), lbl),
cdr[AUEquation](c`unsolved)))
< size(c`unsolved);
% The SUBTYPE TCC (at line 331, column 48) for
% term generated from decomposeFuns c`unsolved
% expected type (cons?[AUEquation])
% is subsumed by niceness_preserv_conditions_decomposeFuns_TCC1
% The SUBTYPE TCC (at line 332, column 79) for
% term generated from decomposeFuns c`unsolved
% expected type (cons?[AUEquation])
% is subsumed by niceness_preserv_conditions_decomposeFuns_TCC1
% The SUBTYPE TCC (at line 333, column 48) for
% term generated from decomposeFuns c`unsolved
% expected type (cons?[AUEquation])
% is subsumed by niceness_preserv_conditions_decomposeFuns_TCC1
% The SUBTYPE TCC (at line 336, column 18) for
% term generated from decomposeFuns c`unsolved
% expected type (cons?[AUEquation])
% is subsumed by niceness_preserv_conditions_decomposeFuns_TCC1
% The SUBTYPE TCC (at line 340, column 46) for
% term generated from decomposeFuns lhs
% expected type (app?)
% is subsumed by uns_solv_vars_matchingFuns_conf_TCC1
% The SUBTYPE TCC (at line 340, column 55) for
% term generated from decomposeFuns rhs
% expected type (app?)
% is subsumed by uns_solv_vars_matchingFuns_conf_TCC2
% The SUBTYPE TCC (at line 340, column 70) for
% term generated from decomposeFuns c`unsolved
% expected type (cons?[AUEquation])
% is subsumed by niceness_preserv_conditions_decomposeFuns_TCC1
% Subtype TCC generated (at line 351, column 18) for c`unsolved
% expected type (cons?[AUEquation])
% proved - complete
niceness_preserv_conditions_decomposePairs_TCC1: OBLIGATION
FORALL (c: (matchingPairs_conf?)): cons?[AUEquation](c`unsolved);
% The SUBTYPE TCC (at line 361, column 20) for
% term generated from nice_sub_decomposePairs c`unsolved
% expected type (cons?[AUEquation])
% is subsumed by niceness_preserv_conditions_decomposePairs_TCC1
% Subtype TCC generated (at line 372, column 64) for lhs
% expected type (pair?)
% proved - complete
uns_solv_vars_matchingPairs_conf_TCC1: OBLIGATION
FORALL (c: (matchingPairs_conf?), eq: AUEquation, lhs: Term, rhs: Term):
eq = car(c`unsolved) AND lhs = eq`lhs AND rhs = eq`rhs IMPLIES
pair?[constant, variable, f_symbol](lhs);
% Subtype TCC generated (at line 372, column 88) for rhs
% expected type (pair?)
% proved - complete
uns_solv_vars_matchingPairs_conf_TCC2: OBLIGATION
FORALL (c: (matchingPairs_conf?), eq: AUEquation, lhs: Term, rhs: Term):
eq = car(c`unsolved) AND lhs = eq`lhs AND rhs = eq`rhs IMPLIES
pair?[constant, variable, f_symbol](rhs);
% The SUBTYPE TCC (at line 369, column 23) for
% term generated from uns_solv_vars_matchingPairs_conf c`unsolved
% expected type (cons?[AUEquation])
% is subsumed by niceness_preserv_conditions_decomposePairs_TCC1
% The SUBTYPE TCC (at line 373, column 33) for
% term generated from uns_solv_vars_matchingPairs_conf lhs
% expected type (pair?)
% is subsumed by uns_solv_vars_matchingPairs_conf_TCC1
% The SUBTYPE TCC (at line 373, column 57) for
% term generated from uns_solv_vars_matchingPairs_conf rhs
% expected type (pair?)
% is subsumed by uns_solv_vars_matchingPairs_conf_TCC2
% The SUBTYPE TCC (at line 374, column 32) for
% term generated from uns_solv_vars_matchingPairs_conf c`unsolved
% expected type (cons?[AUEquation])
% is subsumed by niceness_preserv_conditions_decomposePairs_TCC1
% Subtype TCC generated (at line 388, column 32) for
% cons((eq`label, pair(variable(lbl1), variable(lbl2))), c`substitution)
% expected type (nice?)
% proved - incomplete
decomposePairs_TCC1: OBLIGATION
FORALL (c: (matchingPairs_conf?), eq: AUEquation, lhs: Term, rhs: Term,
lbl1: variable, lbl2: variable):
(eq = car(c`unsolved)) AND (lhs = eq`lhs) AND (rhs = eq`rhs)
AND (lbl1 = freshLabel(c))
AND (lbl2 = freshLabel(union(vars(c), singleton(lbl1))))
IMPLIES
nice?(cons[[variable, first_order_term[constant, variable, f_symbol]]]
((eq`label,
pair[constant, variable, f_symbol]
(variable[constant, variable, f_symbol](lbl1),
variable[constant, variable, f_symbol](lbl2))),
c`substitution));
% Subtype TCC generated (at line 386, column 7) for
% c
% WITH [unsolved
% := cons(makeEq(term1(lhs), term1(rhs), lbl1),
% cons(makeEq(term2(lhs), term2(rhs), lbl2),
% cdr(c`unsolved))),
% substitution
% := cons((eq`label, pair(variable(lbl1), variable(lbl2))),
% c`substitution)]
% expected type {cp: (validConfiguration?) |
% cons?(cp`unsolved) AND cons?(cdr(cp`unsolved))
% AND (cdr(cdr(cp`unsolved)) = cdr(c`unsolved))
% AND (subs(cp`substitution)
% (variable(car(c`unsolved)`label))
% =
% pair(variable(car(cp`unsolved)`label),
% variable(car(cdr(cp`unsolved))`label)))
% AND (size(cp`unsolved) < size(c`unsolved))}
% proved - incomplete
decomposePairs_TCC2: OBLIGATION
FORALL (c: (matchingPairs_conf?), eq: AUEquation, lhs: Term, rhs: Term,
lbl1: variable, lbl2: variable):
(eq = car(c`unsolved)) AND (lhs = eq`lhs) AND (rhs = eq`rhs)
AND (lbl1 = freshLabel(c))
AND (lbl2 = freshLabel(union(vars(c), singleton(lbl1))))
IMPLIES
validConfiguration?((c
WITH [unsolved
:= cons[AUEquation]
(makeEq(term1[constant, variable,
f_symbol]
(lhs),
term1[constant, variable,
f_symbol]
(rhs),
lbl1),
cons[AUEquation]
(makeEq(term2[constant,
variable,
f_symbol]
(lhs),
term2[constant,
variable,
f_symbol]
(rhs),
lbl2),
cdr[AUEquation](c`unsolved))),
substitution
:= cons[[variable,
first_order_term
[constant, variable,
f_symbol]]]
((eq`label,
pair[constant, variable, f_symbol]
(variable
[constant, variable,
f_symbol]
(lbl1),
variable
[constant, variable,
f_symbol]
(lbl2))),
c`substitution)]))
AND
subs(cons[[variable, first_order_term[constant, variable, f_symbol]]]
((eq`label,
pair[constant, variable, f_symbol]
(variable[constant, variable, f_symbol](lbl1),
variable[constant, variable, f_symbol](lbl2))),
c`substitution))
(variable[constant, variable, f_symbol]
(car[AUEquation](c`unsolved)`label))
=
pair[constant, variable, f_symbol]
(variable[constant, variable, f_symbol]
(makeEq(term1[constant, variable, f_symbol](lhs),
term1[constant, variable, f_symbol](rhs), lbl1)`label),
variable[constant, variable, f_symbol]
(makeEq(term2[constant, variable, f_symbol](lhs),
term2[constant, variable, f_symbol](rhs), lbl2)`label))
AND
size(cons[AUEquation]
(makeEq(term1[constant, variable, f_symbol](lhs),
term1[constant, variable, f_symbol](rhs), lbl1),
cons[AUEquation]
(makeEq(term2[constant, variable, f_symbol](lhs),
term2[constant, variable, f_symbol](rhs), lbl2),
cdr[AUEquation](c`unsolved))))
< size(c`unsolved);
% The SUBTYPE TCC (at line 378, column 100) for
% term generated from decomposePairs c`unsolved
% expected type (cons?[AUEquation])
% is subsumed by niceness_preserv_conditions_decomposePairs_TCC1
% The SUBTYPE TCC (at line 379, column 79) for
% term generated from decomposePairs c`unsolved
% expected type (cons?[AUEquation])
% is subsumed by niceness_preserv_conditions_decomposePairs_TCC1
% The SUBTYPE TCC (at line 383, column 17) for
% term generated from decomposePairs c`unsolved
% expected type (cons?[AUEquation])
% is subsumed by niceness_preserv_conditions_decomposePairs_TCC1
% The SUBTYPE TCC (at line 386, column 47) for
% term generated from decomposePairs lhs
% expected type (pair?)
% is subsumed by uns_solv_vars_matchingPairs_conf_TCC1
% The SUBTYPE TCC (at line 386, column 58) for
% term generated from decomposePairs rhs
% expected type (pair?)
% is subsumed by uns_solv_vars_matchingPairs_conf_TCC2
% The SUBTYPE TCC (at line 387, column 52) for
% term generated from decomposePairs lhs
% expected type (pair?)
% is subsumed by uns_solv_vars_matchingPairs_conf_TCC1
% The SUBTYPE TCC (at line 387, column 63) for
% term generated from decomposePairs rhs
% expected type (pair?)
% is subsumed by uns_solv_vars_matchingPairs_conf_TCC2
% The SUBTYPE TCC (at line 387, column 79) for
% term generated from decomposePairs c`unsolved
% expected type (cons?[AUEquation])
% is subsumed by niceness_preserv_conditions_decomposePairs_TCC1
% Subtype TCC generated (at line 399, column 17) for c`unsolved
% expected type (cons?[AUEquation])
% proved - complete
nice_sub_trivialSyn_Eqs_TCC1: OBLIGATION
FORALL (c: (syntacticallyEq_conf?)): cons?[AUEquation](c`unsolved);
% Subtype TCC generated (at line 408, column 33) for
% cons((eq`label, lhs), c`substitution)
% expected type (nice?)
% proved - complete
trivialSyn_Eqs_TCC1: OBLIGATION
FORALL (c: (syntacticallyEq_conf?), eq: AUEquation, lhs: Term):
eq = car(c`unsolved) AND lhs = eq`lhs IMPLIES
nice?(cons[[variable, Term]]((eq`label, lhs), c`substitution));
% Subtype TCC generated (at line 407, column 10) for
% c
% WITH [unsolved := cdr(c`unsolved),
% substitution := cons((eq`label, lhs), c`substitution)]
% expected type {cp: (validConfiguration?) |
% subs(cp`substitution)
% (variable(car(c`unsolved)`label))
% = car(c`unsolved)`lhs
% AND size(cp`unsolved) < size(c`unsolved)}
% proved - incomplete
trivialSyn_Eqs_TCC2: OBLIGATION
FORALL (c: (syntacticallyEq_conf?), eq: AUEquation, lhs: Term):
eq = car(c`unsolved) AND lhs = eq`lhs IMPLIES
validConfiguration?((c
WITH [unsolved := cdr[AUEquation](c`unsolved),
substitution
:= cons[[variable, Term]]
((eq`label, lhs), c`substitution)]))
AND
subs(cons[[variable, Term]]((eq`label, lhs), c`substitution))
(variable[constant, variable, f_symbol]
(car[AUEquation](c`unsolved)`label))
= car[AUEquation](c`unsolved)`lhs
AND size(cdr[AUEquation](c`unsolved)) < size(c`unsolved);
% The SUBTYPE TCC (at line 403, column 53) for
% term generated from trivialSyn_Eqs c`unsolved
% expected type (cons?[AUEquation])
% is subsumed by nice_sub_trivialSyn_Eqs_TCC1
% The SUBTYPE TCC (at line 404, column 17) for
% term generated from trivialSyn_Eqs c`unsolved
% expected type (cons?[AUEquation])
% is subsumed by nice_sub_trivialSyn_Eqs_TCC1
% The SUBTYPE TCC (at line 406, column 19) for
% term generated from trivialSyn_Eqs c`unsolved
% expected type (cons?[AUEquation])
% is subsumed by nice_sub_trivialSyn_Eqs_TCC1
% The SUBTYPE TCC (at line 407, column 34) for
% term generated from trivialSyn_Eqs c`unsolved
% expected type (cons?[AUEquation])
% is subsumed by nice_sub_trivialSyn_Eqs_TCC1
% The SUBTYPE TCC (at line 412, column 35) for
% term generated from syntEq_inter_vars_unsolv_labels_solv c`unsolved
% expected type (cons?[AUEquation])
% is subsumed by nice_sub_trivialSyn_Eqs_TCC1
% The SUBTYPE TCC (at line 420, column 17) for
% term generated from syntEq_car_lhs_member_img c`unsolved
% expected type (cons?[AUEquation])
% is subsumed by nice_sub_trivialSyn_Eqs_TCC1
% The SUBTYPE TCC (at line 424, column 17) for
% term generated from domain_trivialSyn_Eqs c`unsolved
% expected type (cons?[AUEquation])
% is subsumed by nice_sub_trivialSyn_Eqs_TCC1
% Subtype TCC generated (at line 436, column 25) for c`unsolved
% expected type (cons?[AUEquation])
% proved - complete
nice_sub_Solved_Eq_TCC1: OBLIGATION
FORALL (c: (SolvedEq_conf?)): cons?[AUEquation](c`unsolved);
% Subtype TCC generated (at line 437, column 57) for cons(sol_eq, c`solved)
% expected type (first_eq_repeated?)
% proved - complete
nice_sub_Solved_Eq_TCC2: OBLIGATION
FORALL (c: (SolvedEq_conf?)):
eq_repeated_in?(car(c`unsolved), c`solved) IMPLIES
FORALL (sol_eq: AUEquation):
sol_eq = car(c`unsolved) IMPLIES
first_eq_repeated?(cons[AUEquation](sol_eq, c`solved));
% The SUBTYPE TCC (at line 437, column 24) for
% term generated from nice_sub_Solved_Eq c`unsolved
% expected type (cons?[AUEquation])
% is subsumed by nice_sub_Solved_Eq_TCC1
% Subtype TCC generated (at line 444, column 25) for
% cons((sol_eq`label, variable(red_eq`label)), c`substitution)
% expected type (nice?)
% proved - complete
solve_TCC1: OBLIGATION
FORALL (c: (SolvedEq_conf?)):
eq_repeated_in?(car(c`unsolved), c`solved) IMPLIES
FORALL (sol_eq: AUEquation, red_eq: AUEquation):
sol_eq = car(c`unsolved) AND red_eq = red_eq_in(cons(sol_eq, c`solved))
IMPLIES
nice?(cons[[variable, first_order_term[constant, variable, f_symbol]]]
((sol_eq`label,
variable[constant, variable, f_symbol](red_eq`label)),
c`substitution));
% Subtype TCC generated (at line 443, column 9) for
% c
% WITH [unsolved := cdr(c`unsolved),
% substitution
% := cons((sol_eq`label, variable(red_eq`label)),
% c`substitution)]
% expected type {cp: (validConfiguration?) |
% size(cp`unsolved) < size(c`unsolved)}
% proved - incomplete
solve_TCC2: OBLIGATION
FORALL (c: (SolvedEq_conf?)):
eq_repeated_in?(car(c`unsolved), c`solved) IMPLIES
FORALL (sol_eq: AUEquation, red_eq: AUEquation):
sol_eq = car(c`unsolved) AND red_eq = red_eq_in(cons(sol_eq, c`solved))
IMPLIES
validConfiguration?((c
WITH [unsolved := cdr[AUEquation](c`unsolved),
substitution
:= cons[[variable,
first_order_term
[constant, variable,
f_symbol]]]
((sol_eq`label,
variable
[constant, variable,
f_symbol]
(red_eq`label)),
c`substitution)]))
AND size(cdr[AUEquation](c`unsolved)) < size(c`unsolved);
% Subtype TCC generated (at line 445, column 9) for
% c
% WITH [unsolved := cdr(c`unsolved),
% solved := cons(car(c`unsolved), c`solved)]
% expected type {cp: (validConfiguration?) |
% size(cp`unsolved) < size(c`unsolved)}
% proved - incomplete
solve_TCC3: OBLIGATION
FORALL (c: (SolvedEq_conf?)):
NOT eq_repeated_in?(car(c`unsolved), c`solved) IMPLIES
validConfiguration?((c
WITH [unsolved := cdr[AUEquation](c`unsolved),
solved
:= cons[AUEquation]
(car[AUEquation](c`unsolved),
c`solved)]))
AND size(cdr[AUEquation](c`unsolved)) < size(c`unsolved);
% The SUBTYPE TCC (at line 441, column 27) for
% term generated from solve c`unsolved
% expected type (cons?[AUEquation])
% is subsumed by nice_sub_Solved_Eq_TCC1
% The SUBTYPE TCC (at line 442, column 23) for
% term generated from solve c`unsolved
% expected type (cons?[AUEquation])
% is subsumed by nice_sub_Solved_Eq_TCC1
% The SUBTYPE TCC (at line 442, column 55) for
% term generated from solve cons(sol_eq, c`solved)
% expected type (first_eq_repeated?)
% is subsumed by nice_sub_Solved_Eq_TCC2
% The SUBTYPE TCC (at line 443, column 33) for
% term generated from solve c`unsolved
% expected type (cons?[AUEquation])
% is subsumed by nice_sub_Solved_Eq_TCC1
% The SUBTYPE TCC (at line 446, column 36) for
% term generated from solve c`unsolved
% expected type (cons?[AUEquation])
% is subsumed by nice_sub_Solved_Eq_TCC1
% The SUBTYPE TCC (at line 445, column 33) for
% term generated from solve c`unsolved
% expected type (cons?[AUEquation])
% is subsumed by nice_sub_Solved_Eq_TCC1
% Subtype TCC generated (at line 467, column 28) for c
% expected type (SolvedEq_conf?)
% proved - complete
antiunify_TCC1: OBLIGATION
FORALL (c: (validConfiguration?)):
cons?(c`unsolved) AND
NOT matchingFuns_conf?(c) AND
NOT matchingPairs_conf?(c) AND NOT syntacticallyEq_conf?(c)
IMPLIES SolvedEq_conf?(c);
% The TERMINATION TCC (at line 459, column 12) for
% term generated from antiunify
% antiunify(decomposeFuns(c))
% was not generated because it simplifies to TRUE.
% The TERMINATION TCC (at line 462, column 12) for
% term generated from antiunify
% antiunify(decomposePairs(c))
% was not generated because it simplifies to TRUE.
% The TERMINATION TCC (at line 465, column 12) for
% term generated from antiunify
% antiunify(trivialSyn_Eqs(c))
% was not generated because it simplifies to TRUE.
% The TERMINATION TCC (at line 467, column 12) for
% term generated from antiunify antiunify(solve(c))
% was not generated because it simplifies to TRUE.
% Subtype TCC generated (at line 487, column 54) for eqs
% expected type (cons?[AUEquation])
% proved - complete
build_subs_left_TCC1: OBLIGATION
FORALL (eqs: (validEqs?)):
NOT null?(eqs) IMPLIES
FORALL (feq: AUEquation): feq = car(eqs) IMPLIES cons?[AUEquation](eqs);
% Subtype TCC generated (at line 487, column 50) for cdr(eqs)
% expected type (validEqs?)
% proved - complete
build_subs_left_TCC2: OBLIGATION
FORALL (eqs: (validEqs?)):
NOT null?(eqs) IMPLIES
FORALL (feq: AUEquation):
feq = car(eqs) IMPLIES validEqs?(cdr[AUEquation](eqs));
% Termination TCC generated (at line 487, column 34) for
% build_subs_left(cdr(eqs))
% proved - complete
build_subs_left_TCC3: OBLIGATION
FORALL (eqs: (validEqs?)):
NOT null?(eqs) IMPLIES
FORALL (feq: AUEquation):
feq = car(eqs) IMPLIES
length[AUEquation](cdr[AUEquation](eqs)) < length[AUEquation](eqs);
% Subtype TCC generated (at line 486, column 21) for eqs
% expected type (cons?[AUEquation])
% proved - complete
build_subs_left_TCC4: OBLIGATION
FORALL (eqs: (validEqs?)): NOT null?(eqs) IMPLIES cons?[AUEquation](eqs);
% The SUBTYPE TCC (at line 504, column 55) for
% term generated from build_subs_right eqs
% expected type (cons?[AUEquation])
% is subsumed by build_subs_left_TCC4
% The SUBTYPE TCC (at line 504, column 51) for
% term generated from build_subs_right cdr(eqs)
% expected type (validEqs?)
% is subsumed by build_subs_left_TCC2
% The TERMINATION TCC (at line 504, column 34) for
% term generated from build_subs_right
% build_subs_right(cdr(eqs))
% is subsumed by build_subs_left_TCC3
% The SUBTYPE TCC (at line 503, column 21) for
% term generated from build_subs_right eqs
% expected type (cons?[AUEquation])
% is subsumed by build_subs_left_TCC4
% Subtype TCC generated (at line 590, column 42) for antiunify(c)`solved
% expected type (validEqs?)
% proved - incomplete
antiunify_solved_substitution_TCC1: OBLIGATION
FORALL (c: (validConfiguration?), eq: AUEquation):
member(eq, c`solved) IMPLIES validEqs?(antiunify(c)`solved);
% The SUBTYPE TCC (at line 591, column 36) for
% term generated from antiunify_solved_substitution antiunify(c)`solved
% expected type (validEqs?)
% is subsumed by antiunify_solved_substitution_TCC1
% Subtype TCC generated (at line 603, column 31) for cf`solved
% expected type (validEqs?)
% proved - incomplete
antiunif_is_sound_TCC1: OBLIGATION
FORALL (ci: (validConfiguration?), cf: (validConfiguration?),
sigma: (nice?)):
cf = antiunify(ci) AND sigma = cf`substitution IMPLIES validEqs?(cf`solved);
% Subtype TCC generated (at line 605, column 19) for ci`unsolved
% expected type (validEqs?)
% proved - incomplete
antiunif_is_sound_TCC2: OBLIGATION
FORALL (ci: (validConfiguration?), cf: (validConfiguration?), sigma: (nice?),
rho_l: sub, rho_r: sub):
cf = antiunify(ci) AND
sigma = cf`substitution AND
rho_l = build_subs_left(cf`solved) AND
rho_r = build_subs_right(cf`solved)
IMPLIES validEqs?(ci`unsolved);
% Subtype TCC generated (at line 605, column 39) for rho_l
% expected type (nice?)
% proved - incomplete
antiunif_is_sound_TCC3: OBLIGATION
FORALL (ci: (validConfiguration?), cf: (validConfiguration?), sigma: (nice?),
rho_l: sub, rho_r: sub):
cf = antiunify(ci) AND
sigma = cf`substitution AND
rho_l = build_subs_left(cf`solved) AND
rho_r = build_subs_right(cf`solved)
IMPLIES nice?(rho_l);
% Subtype TCC generated (at line 605, column 46) for rho_r
% expected type (nice?)
% proved - incomplete
antiunif_is_sound_TCC4: OBLIGATION
FORALL (ci: (validConfiguration?), cf: (validConfiguration?), sigma: (nice?),
rho_l: sub, rho_r: sub):
cf = antiunify(ci) AND
sigma = cf`substitution AND
rho_l = build_subs_left(cf`solved) AND
rho_r = build_subs_right(cf`solved)
IMPLIES nice?(rho_r);
% The SUBTYPE TCC (at line 604, column 32) for
% term generated from antiunif_is_sound cf`solved
% expected type (validEqs?)
% is subsumed by antiunif_is_sound_TCC1