Charlie is big. Charlie is blue. Charlie is cold. Charlie is nice. Charlie is round. Dave is big. Dave is blue. Dave is cold. Dave is round. Fiona is not big. Fiona is not blue. Fiona is nice. Gary is big. Gary is green. Gary is not round. If something is cold then it is round. If something is red then it is nice. Red, round things are cold. Big things are green. If Dave is green and Dave is cold then Dave is blue. If something is nice and not round then it is not big.
Charlie is big.
("Charlie" "is" "big" "+")
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is nice.
("Charlie" "is" "nice" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Dave is big.
("Dave" "is" "big" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is round.
("Dave" "is" "round" "+")
Fiona is not big.
("Fiona" "is" "big" "-")
Fiona is not blue.
("Fiona" "is" "blue" "-")
Fiona is nice.
("Fiona" "is" "nice" "+")
Gary is big.
("Gary" "is" "big" "+")
Gary is green.
("Gary" "is" "green" "+")
Gary is not round.
("Gary" "is" "round" "-")
If something is cold then it is round.
((("something" "is" "cold" "+")) -> ("something" "is" "round" "+"))
If something is red then it is nice.
((("something" "is" "red" "+")) -> ("something" "is" "nice" "+"))
Red, round things are cold.
((("something" "is" "red" "+") ("something" "is" "round" "+")) -> ("something" "is" "cold" "+"))
Big things are green.
((("something" "is" "big" "+")) -> ("something" "is" "green" "+"))
If Dave is green and Dave is cold then Dave is blue.
((("Dave" "is" "green" "+") ("Dave" "is" "cold" "+")) -> ("Dave" "is" "blue" "+"))
If something is nice and not round then it is not big.
((("something" "is" "nice" "+") ("something" "is" "round" "~")) -> ("something" "is" "big" "-"))
Dave is blue.
True
1
proof
[(triple7 OR ((((triple6) -> rule4) triple8) -> rule5))]
("Dave" "is" "blue" "+")
triple7
((((triple6) -> (rule4 % int2)) triple8) -> (rule5 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Fiona is not nice.
False
1
inv-proof
[(triple12)]
("Fiona" "is" "nice" "-")
triple12
Fiona is not green.
Unknown
inv-rconc
[@1: Fiona is green.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Fiona" "is" "green" "-")
Charlie is red.
Unknown
random
[@0: Charlie is red.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "red" "+")
@0: Charlie is big.[(triple1)] Charlie is blue.[(triple2)] Charlie is cold.[(triple3)] Charlie is nice.[(triple4)] Charlie is round.[(triple5 OR ((triple3) -> rule1))] Dave is big.[(triple6)] Dave is blue.[(triple7 OR ((((triple6) -> rule4) triple8) -> rule5))] Dave is cold.[(triple8)] Dave is round.[(triple9 OR ((triple8) -> rule1))] Fiona is nice.[(triple12)] Fiona is not big.[(triple10)] Fiona is not blue.[(triple11)] Gary is big.[(triple13)] Gary is green.[(triple14 OR ((triple13) -> rule4))] Gary is not round.[(triple15)] @1: Charlie is green.[(((triple1) -> rule4))] Dave is green.[(((triple6) -> rule4))]
Charlie is big.
("Charlie" "is" "big" "+")
triple1
Charlie is blue.
("Charlie" "is" "blue" "+")
triple2
Charlie is cold.
("Charlie" "is" "cold" "+")
triple3
Charlie is nice.
("Charlie" "is" "nice" "+")
triple4
Charlie is round.
("Charlie" "is" "round" "+")
triple5
((triple3) -> (rule1 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
triple6
Dave is blue.
("Dave" "is" "blue" "+")
triple7
((((triple6) -> (rule4 % int2)) triple8) -> (rule5 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
triple8
Dave is round.
("Dave" "is" "round" "+")
triple9
((triple8) -> (rule1 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
triple12
Fiona is not big.
("Fiona" "is" "big" "-")
triple10
Fiona is not blue.
("Fiona" "is" "blue" "-")
triple11
Gary is big.
("Gary" "is" "big" "+")
triple13
Gary is green.
("Gary" "is" "green" "+")
triple14
((triple13) -> (rule4 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is not round.
("Gary" "is" "round" "-")
triple15
Charlie is green.
("Charlie" "is" "green" "+")
((triple1) -> (rule4 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
((triple6) -> (rule4 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1