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