Bob is blue. Bob is kind. Bob is red. Bob is round. Erin is blue. Erin is furry. Erin is kind. Fiona is blue. Fiona is furry. Fiona is kind. Fiona is quiet. Fiona is red. Fiona is round. Harry is furry. Harry is quiet. Harry is red. All blue people are furry. Kind people are red. All blue people are quiet. Blue, furry people are red. All kind, rough people are quiet. All quiet, kind people are round. If someone is red and kind then they are blue. If someone is rough then they are kind.
Bob is blue.
("Bob" "is" "blue" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is round.
("Bob" "is" "round" "+")
Erin is blue.
("Erin" "is" "blue" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is quiet.
("Harry" "is" "quiet" "+")
Harry is red.
("Harry" "is" "red" "+")
All blue people are furry.
((("someone" "is" "blue" "+")) -> ("someone" "is" "furry" "+"))
Kind people are red.
((("someone" "is" "kind" "+")) -> ("someone" "is" "red" "+"))
All blue people are quiet.
((("someone" "is" "blue" "+")) -> ("someone" "is" "quiet" "+"))
Blue, furry people are red.
((("someone" "is" "blue" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "red" "+"))
All kind, rough people are quiet.
((("someone" "is" "kind" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "quiet" "+"))
All quiet, kind people are round.
((("someone" "is" "quiet" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "round" "+"))
If someone is red and kind then they are blue.
((("someone" "is" "red" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "blue" "+"))
If someone is rough then they are kind.
((("someone" "is" "rough" "+")) -> ("someone" "is" "kind" "+"))
Fiona is kind.
True
1
proof
[(triple10)]
("Fiona" "is" "kind" "+")
triple10
Harry is not furry.
False
1
inv-proof
[(triple14)]
("Harry" "is" "furry" "-")
triple14
Harry is not kind.
Unknown
inv-rconc
[@1: Harry is kind.[CWA. Example of deepest failure = (rule8 <- FAIL)]]
("Harry" "is" "kind" "-")
Harry is rough.
Unknown
random
[@0: Harry is rough.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "rough" "+")
@0: Bob is blue.[(triple1 OR ((triple3 triple2) -> rule7) OR ((((triple2) -> rule2) triple2) -> rule7))] Bob is kind.[(triple2)] Bob is red.[(triple3 OR ((triple2) -> rule2) OR ((triple1 ((triple1) -> rule1)) -> rule4))] Bob is round.[(triple4 OR ((((triple1) -> rule3) triple2) -> rule6) OR ((((((triple3 triple2) -> rule7)) -> rule3) triple2) -> rule6) OR ((((((((triple2) -> rule2) triple2) -> rule7)) -> rule3) triple2) -> rule6))] Erin is blue.[(triple5 OR ((((triple7) -> rule2) triple7) -> rule7))] Erin is furry.[(triple6 OR ((triple5) -> rule1) OR ((((((triple7) -> rule2) triple7) -> rule7)) -> rule1))] Erin is kind.[(triple7)] Fiona is blue.[(triple8 OR ((triple12 triple10) -> rule7) OR ((((triple10) -> rule2) triple10) -> rule7))] Fiona is furry.[(triple9 OR ((triple8) -> rule1) OR ((((triple12 triple10) -> rule7)) -> rule1) OR ((((((triple10) -> rule2) triple10) -> rule7)) -> rule1))] Fiona is kind.[(triple10)] Fiona is quiet.[(triple11 OR ((triple8) -> rule3) OR ((((triple12 triple10) -> rule7)) -> rule3) OR ((((((triple10) -> rule2) triple10) -> rule7)) -> rule3))] Fiona is red.[(triple12 OR ((triple10) -> rule2) OR ((triple8 triple9) -> rule4) OR ((triple8 ((triple8) -> rule1)) -> rule4))] Fiona is round.[(triple13 OR ((triple11 triple10) -> rule6) OR ((((triple8) -> rule3) triple10) -> rule6) OR ((((((triple12 triple10) -> rule7)) -> rule3) triple10) -> rule6) OR ((((((((triple10) -> rule2) triple10) -> rule7)) -> rule3) triple10) -> rule6))] Harry is furry.[(triple14)] Harry is quiet.[(triple15)] Harry is red.[(triple16)] @1: Bob is furry.[(((triple1) -> rule1) OR ((((triple3 triple2) -> rule7)) -> rule1) OR ((((((triple2) -> rule2) triple2) -> rule7)) -> rule1))] Bob is quiet.[(((triple1) -> rule3) OR ((((triple3 triple2) -> rule7)) -> rule3) OR ((((((triple2) -> rule2) triple2) -> rule7)) -> rule3))] Erin is quiet.[(((triple5) -> rule3) OR ((((((triple7) -> rule2) triple7) -> rule7)) -> rule3))] Erin is red.[(((triple7) -> rule2) OR ((triple5 triple6) -> rule4) OR ((triple5 ((triple5) -> rule1)) -> rule4))] @2: Erin is round.[(((((triple5) -> rule3) triple7) -> rule6) OR ((((((((triple7) -> rule2) triple7) -> rule7)) -> rule3) triple7) -> rule6))]
Bob is blue.
("Bob" "is" "blue" "+")
triple1
((triple3 triple2) -> (rule7 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
((((triple2) -> (rule2 % int2)) triple2) -> (rule7 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
triple2
Bob is red.
("Bob" "is" "red" "+")
triple3
((triple2) -> (rule2 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
((triple1 ((triple1) -> (rule1 % int2))) -> (rule4 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
triple4
((((triple1) -> (rule3 % int2)) triple2) -> (rule6 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
((((((triple3 triple2) -> (rule7 % int3))) -> (rule3 % int2)) triple2) -> (rule6 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
((((((((triple2) -> (rule2 % int4)) triple2) -> (rule7 % int3))) -> (rule3 % int2)) triple2) -> (rule6 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
Bob is red.
("Bob" "is" "red" "+")
int4
Erin is blue.
("Erin" "is" "blue" "+")
triple5
((((triple7) -> (rule2 % int2)) triple7) -> (rule7 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
triple6
((triple5) -> (rule1 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
((((((triple7) -> (rule2 % int3)) triple7) -> (rule7 % int2))) -> (rule1 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
int3
Erin is kind.
("Erin" "is" "kind" "+")
triple7
Fiona is blue.
("Fiona" "is" "blue" "+")
triple8
((triple12 triple10) -> (rule7 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
((((triple10) -> (rule2 % int2)) triple10) -> (rule7 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
triple9
((triple8) -> (rule1 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((((triple12 triple10) -> (rule7 % int2))) -> (rule1 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
((((((triple10) -> (rule2 % int3)) triple10) -> (rule7 % int2))) -> (rule1 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
Fiona is kind.
("Fiona" "is" "kind" "+")
triple10
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple11
((triple8) -> (rule3 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
((((triple12 triple10) -> (rule7 % int2))) -> (rule3 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
((((((triple10) -> (rule2 % int3)) triple10) -> (rule7 % int2))) -> (rule3 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
Fiona is red.
("Fiona" "is" "red" "+")
triple12
((triple10) -> (rule2 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
((triple8 triple9) -> (rule4 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
((triple8 ((triple8) -> (rule1 % int2))) -> (rule4 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
triple13
((triple11 triple10) -> (rule6 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
((((triple8) -> (rule3 % int2)) triple10) -> (rule6 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
((((((triple12 triple10) -> (rule7 % int3))) -> (rule3 % int2)) triple10) -> (rule6 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
((((((((triple10) -> (rule2 % int4)) triple10) -> (rule7 % int3))) -> (rule3 % int2)) triple10) -> (rule6 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is red.
("Fiona" "is" "red" "+")
int4
Harry is furry.
("Harry" "is" "furry" "+")
triple14
Harry is quiet.
("Harry" "is" "quiet" "+")
triple15
Harry is red.
("Harry" "is" "red" "+")
triple16
Bob is furry.
("Bob" "is" "furry" "+")
((triple1) -> (rule1 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
((((triple3 triple2) -> (rule7 % int2))) -> (rule1 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
((((((triple2) -> (rule2 % int3)) triple2) -> (rule7 % int2))) -> (rule1 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
int3
Bob is quiet.
("Bob" "is" "quiet" "+")
((triple1) -> (rule3 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
((((triple3 triple2) -> (rule7 % int2))) -> (rule3 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
((((((triple2) -> (rule2 % int3)) triple2) -> (rule7 % int2))) -> (rule3 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
int3
Erin is quiet.
("Erin" "is" "quiet" "+")
((triple5) -> (rule3 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
((((((triple7) -> (rule2 % int3)) triple7) -> (rule7 % int2))) -> (rule3 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
int3
Erin is red.
("Erin" "is" "red" "+")
((triple7) -> (rule2 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
((triple5 triple6) -> (rule4 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
((triple5 ((triple5) -> (rule1 % int2))) -> (rule4 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
((((triple5) -> (rule3 % int2)) triple7) -> (rule6 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
((((((((triple7) -> (rule2 % int4)) triple7) -> (rule7 % int3))) -> (rule3 % int2)) triple7) -> (rule6 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
Erin is red.
("Erin" "is" "red" "+")
int4