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))) |