rembero

added

ns
clojure.core.logic

type
function

(rembero x l o)

A relation between l and o where x is removed from
l exactly one time.

                ;;https://github.com/clojure/core.logic/blob/master/src/main/clojure/clojure/core/logic.clj#L2483
;; (rembero x l o)
;; my simple reminder is: x+o=l (L, not 1)

(run* [q]
  (fresh [a b x y]
    (== q [a b])
    (rembero a [:apple :banana :carrot] x)
    (rembero b x y)))
;; ([:apple :banana] [:apple :carrot] [:banana :apple] [:banana :carrot] [:carrot :apple] [:carrot :banana])