More simplifications
rdf/rdf.scm
| 477 | 477 | ('none (simplify-constraints e2 equivalences)) | |
| 478 | 478 | (('equiv a b) | |
| 479 | 479 | (list 'and (list 'equiv a b) (simplify-constraints e2 (cons (cons a b) equivalences)))) | |
| 480 | - | (e1 (list 'and e1 (simplify-constraints e2 equivalences))))) | |
| 480 | + | (e1 | |
| 481 | + | (match (simplify-constraints e2 equivalences) | |
| 482 | + | ('bot 'bot) | |
| 483 | + | ('none e1) | |
| 484 | + | (('equiv a b) | |
| 485 | + | (list 'and (list 'equiv a b) (simplify-constraints e1 (cons (cons a b) equivalences)))) | |
| 486 | + | (e2 | |
| 487 | + | (list 'and e1 e2)))))) | |
| 481 | 488 | (('or e1 e2) | |
| 482 | 489 | (let ((e1 (simplify-constraints e1 equivalences)) | |
| 483 | 490 | (e2 (simplify-constraints e2 equivalences))) |