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