Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (deffacts init
- (h 0 0 0 0 0 x 0 0 0 0 0 x 0 0 0 0 0 x 0 0 0 0 0)
- (vezeteknev egressy)
- (vezeteknev fenyvesi)
- (vezeteknev gallyas)
- (vezeteknev jeney)
- (vezeteknev vadkerti)
- (keresztnev edina)
- (keresztnev frida)
- (keresztnev gabriella)
- (keresztnev jozsef)
- (keresztnev vince)
- (egyetem budapest)
- (egyetem debrecen)
- (egyetem miskolc)
- (egyetem pecs)
- (egyetem szeged)
- (szak biologia)
- (szak informatika)
- (szak jog)
- (szak kemia)
- (szak magyar)
- )
- (defrule remove-duplicated-vezeteknev (declare (salience 20)) (vezeteknev ?v) ?f <- (h $? ?v $? ?v $?) => (retract ?f))
- (defrule remove-duplicated-keresztnev (declare (salience 20)) (keresztnev ?v) ?f <- (h $? ?v $? ?v $?) => (retract ?f))
- (defrule remove-duplicated-egyetem (declare (salience 20)) (egyetem ?v) ?f <- (h $? ?v $? ?v $?) => (retract ?f))
- (defrule remove-duplicated-szak (declare (salience 20)) (szak ?v) ?f <- (h $? ?v $? ?v $?) => (retract ?f))
- (defrule removezeroes (declare (salience -100))
- ?f <- (h $?a ?v $?b)
- (and (test (eq ?v 0)) (test (>= (length $?b) 0)))
- =>
- (retract ?f)
- )
- (defrule sorrend1 (declare (salience -200))
- ?f <- (h $?a gallyas $?b)
- (test (neq (length $?a) 0))
- =>
- (retract ?f)
- )
- (defrule sorrend2 (declare (salience -200))
- ?f <- (h $?a jeney $?b)
- (test (neq (length $?a) 1))
- =>
- (retract ?f)
- )
- (defrule sorrend3 (declare (salience -200))
- ?f <- (h $?a egressy $?b)
- (test (neq (length $?a) 2))
- =>
- (retract ?f)
- )
- (defrule sorrend4 (declare (salience -200))
- ?f <- (h $?a fenyvesi $?b)
- (test (neq (length $?a) 3))
- =>
- (retract ?f)
- )
- (defrule add-vezeteknev0
- (vezeteknev ?v)
- (h 0 $?r x $?a1 x $?a2 x $?a3) =>
- (assert (h $?v $?r x $?a1 x $?a2 x $?a3))
- )
- (defrule add-vezeteknev
- (vezeteknev ?v)
- (h $?l ?ll 0 $?r x $?a1 x $?a2 x $?a3)
- (test (neq ?ll 0))
- =>
- (assert (h $?l ?ll $?v $?r x $?a1 x $?a2 x $?a3))
- )
- (defrule add-keresztnev0
- (keresztnev ?v)
- (h $?c ?cc x 0 $?r x $?a1 x $?a2)
- (test (neq ?cc 0)) =>
- (assert (h $?c ?cc x ?v $?r x $?a1 x $?a2))
- )
- (defrule add-keresztnev
- (keresztnev ?v)
- (h $?c x $?l ?ll 0 $?r x $?a1 x $?a2)
- (test (neq ?ll 0))
- =>
- (assert (h $?c x $?l ?ll ?v $?r x $?a1 x $?a2))
- )
- (defrule add-egyetem0
- (egyetem ?v)
- (h $?a0 x $?a1 ?k x 0 $?r x $?a2)
- (test (neq ?k 0)) =>
- (assert (h $?a0 x $?a1 ?k x ?v $?r x $?a2))
- )
- (defrule add-egyetem
- (egyetem ?v)
- (h $?a0 x $?a1 x $?l ?ll 0 $?r x $?a2)
- (test (neq ?ll 0))
- =>
- (assert (h $?a0 x $?a1 x $?l ?ll ?v $?r x $?a2))
- )
- (defrule add-szak0
- (szak ?v)
- (h $?a0 x $?a1 x $?a2 ?k x 0 $?r)
- (test (neq ?k 0)) =>
- (assert (h $?a0 x $?a1 x $?a2 ?k x ?v $?r))
- )
- (defrule add-szak
- (szak ?v)
- (h $?a0 x $?a1 x $?a2 x $?l ?ll 0 $?r)
- (test (neq ?ll 0))
- =>
- (assert (h $?a0 x $?a1 x $?a2 x $?l ?ll ?v $?r))
- )
- ; 1. a fenyvesi vezeteknevu lany jogot tanul, de nem debrecenben
- (defrule remove-1a (declare (salience 20))
- ?f <- (h $?a fenyvesi $?b x $?c x $?d x $?e jog $?)
- (test (neq (length$ $?a) (length $?e)))
- =>
- (retract ?f)
- )
- (defrule remove-1b (declare (salience 20))
- ?f <- (h $?a fenyvesi $?b x $?c x $?d debrecen $? x $?)
- (test (eq (length$ $?a) (length $?d)))
- =>
- (retract ?f)
- )
- (defrule remove-1c (declare (salience 20))
- ?f <- (h $?a fenyvesi $?b x $?c vince $? x $? x $?)
- (test (eq (length$ $?a) (length $?c)))
- =>
- (retract ?f)
- )
- (defrule remove-1d (declare (salience 20))
- ?f <- (h $?a fenyvesi $?b x $?c jozsef $? x $? x $?)
- (test (eq (length$ $?a) (length $?c)))
- =>
- (retract ?f)
- )
- ; 2. jozsef (nem o gallyas) az egyik fővárosi egyetemen tanul, de nem biologiat
- (defrule remove-2a (declare (salience 20))
- ?f <- (h $?a gallyas $?b x $?c jozsef $?d x $? x $?)
- (test (eq (length$ $?a) (length $?c)))
- =>
- (retract ?f)
- )
- (defrule remove-2b (declare (salience 20))
- ?f <- (h $?a x $?b jozsef $?c x $?d budapest $? x $?)
- (test (neq (length$ $?b) (length $?d)))
- =>
- (retract ?f)
- )
- (defrule remove-2c (declare (salience 20))
- ?f <- (h $?a x $?b jozsef $?c x $?d x $?e biologia $?)
- (test (eq (length$ $?b) (length $?e)))
- =>
- (retract ?f)
- )
- ; 3. vadkerti gabriella nem a szegedi kemiaszakos hallgato
- (defrule remove-3a (declare (salience 20))
- ?f <- (h $?a vadkerti $?b x $?c gabriella $?d x $? x $?)
- (test (neq (length$ $?a) (length $?c)))
- =>
- (retract ?f)
- )
- (defrule remove-3b (declare (salience 20))
- ?f <- (h $?a x $?b gabriella $?c x $?d szeged $? x $?)
- (test (eq (length$ $?b) (length $?d)))
- =>
- (retract ?f)
- )
- (defrule remove-3c (declare (salience 20))
- ?f <- (h $?a x $?b gabriella $?c x $?d x $?e kemia $?)
- (test (eq (length$ $?b) (length $?e)))
- =>
- (retract ?f)
- )
- (defrule remove-3d (declare (salience 20))
- ?f <- (h $?a x $?b x $?c szeged $?d x $?e kemia $?)
- (test (neq (length$ $?c) (length $?e)))
- =>
- (retract ?f)
- )
- ; 4. jeney (o pecsett tanul) keresztneve nem vince
- (defrule remove-4a (declare (salience 20))
- ?f <- (h $?a jeney $?b x $?c vince $?d x $? x $?)
- (test (eq (length$ $?a) (length $?c)))
- =>
- (retract ?f)
- )
- (defrule remove-4b (declare (salience 20))
- ?f <- (h $?a jeney $?b x $?c x $?d pecs $? x $?)
- (test (neq (length$ $?a) (length $?d)))
- =>
- (retract ?f)
- )
- ; 5. frida magyartanár szeretne lenni
- (defrule remove-5a (declare (salience 20))
- ?f <- (h $?a x $?b frida $?c x $?d x $?e magyar $?)
- (test (neq (length$ $?b) (length $?e)))
- =>
- (retract ?f)
- )
- ; 6. edina vezetekneve vagy egressy vagy miskolcon tanul
- (defrule remove-6a (declare (salience 20))
- ?f <- (h $?a egressy $?b x $?c edina $?d x $?e miskolc $? x $?)
- (and (test (eq (length $?a) (length $?c))) (test (eq (length $?c) (length $?e))))
- =>
- (retract ?f)
- )
- (defrule remove-6b (declare (salience 20))
- ?f <- (h $?a egressy $?b x $?c edina $?d x $?e miskolc $? x $?)
- (test (eq (length $?a)(length $?e)))
- =>
- (retract ?f)
- )
- ; 7. az informatikusnak keszulo egyetemista nemreg nosult
- (defrule remove-7a (declare (salience 20))
- ?f <- (h $?a x $?b edina $?c x $?e x $?g informatika $?)
- (test (eq (length$ $?b) (length $?g)))
- =>
- (retract ?f)
- )
- (defrule remove-7b (declare (salience 20))
- ?f <- (h $?a x $?b frida $?c x $?e x $?g informatika $?)
- (test (eq (length$ $?b) (length $?g)))
- =>
- (retract ?f)
- )
- (defrule remove-7c (declare (salience 20))
- ?f <- (h $?a x $?b gabriella $?c x $?e x $?g informatika $?)
- (test (eq (length$ $?b) (length $?g)))
- =>
- (retract ?f)
- )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement