Advertisement
Guest User

Untitled

a guest
Apr 11th, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Racket 1.42 KB | None | 0 0
  1. (define (clause-set-map set clause-lit)
  2.   (if (eq? (res-clause-neg clause-lit) '())
  3.       (if (eq? set null) ;;pierwszy przypadek – gdy pojedynczy literał jest pozytywny
  4.           null
  5.           (let ([del-result (filter (lambda(x)
  6.                            (eq? x (car (res-clause-pos clause-lit))))
  7.                          (res-clause-pos (car set)))])
  8.           (append
  9.           (list (list 'res-clause
  10.                  del-result
  11.                  (res-clause-neg (car set))
  12.                  (if (equal? (length del-result) (length (res-clause-pos (car set))))
  13.                      (res-clause-proof (car set))
  14.                      (res 'p (res-clause-proof clause-lit) (res-clause-proof (car set))))))
  15.            (clause-set-map (cdr set) clause-lit))))
  16.      
  17.       (if (eq? set null) ;;gdy pojedynczy literał jest negatywny
  18.           null
  19.           (let ([del-result (filter (lambda(x)
  20.                            (eq? x (car (res-clause-neg clause-lit))))
  21.                          (res-clause-neg (car set)))])
  22.           (append
  23.            (list (list 'res-clause
  24.                  (res-clause-pos (car set))
  25.                  del-result
  26.                  (if (equal? (length del-result) (length (res-clause-neg (car set))))
  27.                      (res-clause-proof (car set))
  28.                      (res 'p (res-clause-proof (car set)) (res-clause-proof clause-lit)))))
  29.            (clause-set-map (cdr set) clause-lit))))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement