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