Dave is big. Dave is blue. Dave is green. Dave is quiet. Dave is red. Erin is big. Erin is quiet. Gary is blue. Gary is kind. Gary is red. Harry is cold. Harry is red. All green people are cold. All big, red people are blue. If someone is green and not big then they are red. Kind people are red. All quiet people are red. If Harry is cold then Harry is kind. All cold people are green. If Dave is blue then Dave is cold.
Dave is big.
("Dave" "is" "big" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is green.
("Dave" "is" "green" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Dave is red.
("Dave" "is" "red" "+")
Erin is big.
("Erin" "is" "big" "+")
Erin is quiet.
("Erin" "is" "quiet" "+")
Gary is blue.
("Gary" "is" "blue" "+")
Gary is kind.
("Gary" "is" "kind" "+")
Gary is red.
("Gary" "is" "red" "+")
Harry is cold.
("Harry" "is" "cold" "+")
Harry is red.
("Harry" "is" "red" "+")
All green people are cold.
((("someone" "is" "green" "+")) -> ("someone" "is" "cold" "+"))
All big, red people are blue.
((("someone" "is" "big" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "blue" "+"))
If someone is green and not big then they are red.
((("someone" "is" "green" "+") ("someone" "is" "big" "~")) -> ("someone" "is" "red" "+"))
Kind people are red.
((("someone" "is" "kind" "+")) -> ("someone" "is" "red" "+"))
All quiet people are red.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "red" "+"))
If Harry is cold then Harry is kind.
((("Harry" "is" "cold" "+")) -> ("Harry" "is" "kind" "+"))
All cold people are green.
((("someone" "is" "cold" "+")) -> ("someone" "is" "green" "+"))
If Dave is blue then Dave is cold.
((("Dave" "is" "blue" "+")) -> ("Dave" "is" "cold" "+"))
Gary is blue.
True
1
proof
[(triple8)]
("Gary" "is" "blue" "+")
triple8
Dave is not red.
False
1
inv-proof
[(triple5 OR ((triple4) -> rule5))]
("Dave" "is" "red" "-")
triple5
((triple4) -> (rule5 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Harry is not blue.
Unknown
inv-rconc
[@1: Harry is blue.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Harry" "is" "blue" "-")
Harry is big.
Unknown
random
[@0: Harry is big.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "big" "+")
@0: Dave is big.[(triple1)] Dave is blue.[(triple2 OR ((triple1 triple5) -> rule2) OR ((triple1 ((triple4) -> rule5)) -> rule2))] Dave is green.[(triple3 OR ((((triple2) -> rule8)) -> rule7) OR ((((((triple1 triple5) -> rule2)) -> rule8)) -> rule7) OR ((((((triple1 ((triple4) -> rule5)) -> rule2)) -> rule8)) -> rule7))] Dave is quiet.[(triple4)] Dave is red.[(triple5 OR ((triple4) -> rule5))] Erin is big.[(triple6)] Erin is quiet.[(triple7)] Gary is blue.[(triple8)] Gary is kind.[(triple9)] Gary is red.[(triple10 OR ((triple9) -> rule4))] Harry is cold.[(triple11)] Harry is red.[(triple12 OR ((((triple11) -> rule6)) -> rule4))] @1: Dave is cold.[(((triple2) -> rule8) OR ((triple3) -> rule1) OR ((((triple1 triple5) -> rule2)) -> rule8) OR ((((triple1 ((triple4) -> rule5)) -> rule2)) -> rule8))] Erin is red.[(((triple7) -> rule5))] Harry is green.[(((triple11) -> rule7))] Harry is kind.[(((triple11) -> rule6))] @2: Erin is blue.[(((triple6 ((triple7) -> rule5)) -> rule2))]
Dave is big.
("Dave" "is" "big" "+")
triple1
Dave is blue.
("Dave" "is" "blue" "+")
triple2
((triple1 triple5) -> (rule2 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
((triple1 ((triple4) -> (rule5 % int2))) -> (rule2 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
triple3
((((triple2) -> (rule8 % int2))) -> (rule7 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
((((((triple1 triple5) -> (rule2 % int3))) -> (rule8 % int2))) -> (rule7 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
((((((triple1 ((triple4) -> (rule5 % int4))) -> (rule2 % int3))) -> (rule8 % int2))) -> (rule7 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
Dave is red.
("Dave" "is" "red" "+")
int4
Dave is quiet.
("Dave" "is" "quiet" "+")
triple4
Dave is red.
("Dave" "is" "red" "+")
triple5
((triple4) -> (rule5 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
triple6
Erin is quiet.
("Erin" "is" "quiet" "+")
triple7
Gary is blue.
("Gary" "is" "blue" "+")
triple8
Gary is kind.
("Gary" "is" "kind" "+")
triple9
Gary is red.
("Gary" "is" "red" "+")
triple10
((triple9) -> (rule4 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
triple11
Harry is red.
("Harry" "is" "red" "+")
triple12
((((triple11) -> (rule6 % int2))) -> (rule4 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
((triple2) -> (rule8 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
((triple3) -> (rule1 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
((((triple1 triple5) -> (rule2 % int2))) -> (rule8 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
((((triple1 ((triple4) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is red.
("Dave" "is" "red" "+")
int3
Erin is red.
("Erin" "is" "red" "+")
((triple7) -> (rule5 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
((triple11) -> (rule7 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
((triple11) -> (rule6 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
((triple6 ((triple7) -> (rule5 % int2))) -> (rule2 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2