Charlie is quiet. Charlie is round. Charlie is smart. Erin is green. Erin is kind. Erin is quiet. Erin is red. Erin is round. Erin is smart. Gary is red. Gary is round. Gary is smart. Harry is blue. Harry is quiet. Harry is red. Harry is round. Quiet, kind people are blue. All green people are kind. Quiet, round people are kind. If Erin is round then Erin is blue. Red people are kind. All green, blue people are kind. Blue people are red. If someone is blue then they are kind.
Charlie is quiet.
("Charlie" "is" "quiet" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
Erin is green.
("Erin" "is" "green" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Erin is quiet.
("Erin" "is" "quiet" "+")
Erin is red.
("Erin" "is" "red" "+")
Erin is round.
("Erin" "is" "round" "+")
Erin is smart.
("Erin" "is" "smart" "+")
Gary is red.
("Gary" "is" "red" "+")
Gary is round.
("Gary" "is" "round" "+")
Gary is smart.
("Gary" "is" "smart" "+")
Harry is blue.
("Harry" "is" "blue" "+")
Harry is quiet.
("Harry" "is" "quiet" "+")
Harry is red.
("Harry" "is" "red" "+")
Harry is round.
("Harry" "is" "round" "+")
Quiet, kind people are blue.
((("someone" "is" "quiet" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "blue" "+"))
All green people are kind.
((("someone" "is" "green" "+")) -> ("someone" "is" "kind" "+"))
Quiet, round people are kind.
((("someone" "is" "quiet" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "kind" "+"))
If Erin is round then Erin is blue.
((("Erin" "is" "round" "+")) -> ("Erin" "is" "blue" "+"))
Red people are kind.
((("someone" "is" "red" "+")) -> ("someone" "is" "kind" "+"))
All green, blue people are kind.
((("someone" "is" "green" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "kind" "+"))
Blue people are red.
((("someone" "is" "blue" "+")) -> ("someone" "is" "red" "+"))
If someone is blue then they are kind.
((("someone" "is" "blue" "+")) -> ("someone" "is" "kind" "+"))
Harry is blue.
True
1
proof
[(triple13 OR ((triple14 ((triple15) -> rule5)) -> rule1) OR ((triple14 ((triple14 triple16) -> rule3)) -> rule1))]
("Harry" "is" "blue" "+")
triple13
((triple14 ((triple15) -> (rule5 % int2))) -> (rule1 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
((triple14 ((triple14 triple16) -> (rule3 % int2))) -> (rule1 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is not red.
False
1
inv-proof
[(triple15 OR ((triple13) -> rule7) OR ((((triple14 ((triple14 triple16) -> rule3)) -> rule1)) -> rule7))]
("Harry" "is" "red" "-")
triple15
((triple13) -> (rule7 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
((((triple14 ((triple14 triple16) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule7 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
int3
Gary is kind.
True
2
proof
[(((triple10) -> rule5))]
("Gary" "is" "kind" "+")
((triple10) -> (rule5 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Charlie is not kind.
False
3
inv-proof
[(((triple1 triple2) -> rule3))]
("Charlie" "is" "kind" "-")
((triple1 triple2) -> (rule3 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is blue.
True
5
proof
[(((triple1 ((triple1 triple2) -> rule3)) -> rule1))]
("Charlie" "is" "blue" "+")
((triple1 ((triple1 triple2) -> (rule3 % int2))) -> (rule1 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is not blue.
False
5
inv-proof
[(((triple1 ((triple1 triple2) -> rule3)) -> rule1))]
("Charlie" "is" "blue" "-")
((triple1 ((triple1 triple2) -> (rule3 % int2))) -> (rule1 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is red.
True
6
proof
[(((((triple1 ((triple1 triple2) -> rule3)) -> rule1)) -> rule7))]
("Charlie" "is" "red" "+")
((((triple1 ((triple1 triple2) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule7 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is not red.
False
6
inv-proof
[(((((triple1 ((triple1 triple2) -> rule3)) -> rule1)) -> rule7))]
("Charlie" "is" "red" "-")
((((triple1 ((triple1 triple2) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule7 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Gary is not blue.
Unknown
inv-rconc
[@1: Gary is blue.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Gary" "is" "blue" "-")
Harry is smart.
Unknown
random
[@0: Harry is smart.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "smart" "+")
Charlie is not green.
Unknown
inv-random
[@0: Charlie is green.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "green" "-")
Gary is green.
Unknown
random
[@0: Gary is green.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "green" "+")
Gary is not quiet.
Unknown
inv-random
[@0: Gary is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "quiet" "-")
Harry is green.
Unknown
random
[@0: Harry is green.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "green" "+")
@0: Charlie is quiet.[(triple1)] Charlie is round.[(triple2)] Charlie is smart.[(triple3)] Erin is green.[(triple4)] Erin is kind.[(triple5 OR ((triple4) -> rule2) OR ((triple7) -> rule5) OR ((triple6 triple8) -> rule3) OR ((((triple8) -> rule4)) -> rule8) OR ((triple4 ((triple8) -> rule4)) -> rule6) OR ((((((triple8) -> rule4)) -> rule7)) -> rule5))] Erin is quiet.[(triple6)] Erin is red.[(triple7 OR ((((triple8) -> rule4)) -> rule7) OR ((((triple6 triple5) -> rule1)) -> rule7) OR ((((triple6 ((triple4) -> rule2)) -> rule1)) -> rule7) OR ((((triple6 ((triple6 triple8) -> rule3)) -> rule1)) -> rule7))] Erin is round.[(triple8)] Erin is smart.[(triple9)] Gary is red.[(triple10)] Gary is round.[(triple11)] Gary is smart.[(triple12)] Harry is blue.[(triple13 OR ((triple14 ((triple15) -> rule5)) -> rule1) OR ((triple14 ((triple14 triple16) -> rule3)) -> rule1))] Harry is quiet.[(triple14)] Harry is red.[(triple15 OR ((triple13) -> rule7) OR ((((triple14 ((triple14 triple16) -> rule3)) -> rule1)) -> rule7))] Harry is round.[(triple16)] @1: Charlie is kind.[(((triple1 triple2) -> rule3))] Erin is blue.[(((triple8) -> rule4) OR ((triple6 triple5) -> rule1) OR ((triple6 ((triple4) -> rule2)) -> rule1) OR ((triple6 ((triple7) -> rule5)) -> rule1) OR ((triple6 ((triple6 triple8) -> rule3)) -> rule1))] Gary is kind.[(((triple10) -> rule5))] Harry is kind.[(((triple13) -> rule8) OR ((triple15) -> rule5) OR ((triple14 triple16) -> rule3) OR ((((triple13) -> rule7)) -> rule5))] @2: Charlie is blue.[(((triple1 ((triple1 triple2) -> rule3)) -> rule1))] @3: Charlie is red.[(((((triple1 ((triple1 triple2) -> rule3)) -> rule1)) -> rule7))]
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple1
Charlie is round.
("Charlie" "is" "round" "+")
triple2
Charlie is smart.
("Charlie" "is" "smart" "+")
triple3
Erin is green.
("Erin" "is" "green" "+")
triple4
Erin is kind.
("Erin" "is" "kind" "+")
triple5
((triple4) -> (rule2 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
((triple7) -> (rule5 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
((triple6 triple8) -> (rule3 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
((((triple8) -> (rule4 % int2))) -> (rule8 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
((triple4 ((triple8) -> (rule4 % int2))) -> (rule6 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
((((((triple8) -> (rule4 % int3))) -> (rule7 % int2))) -> (rule5 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
Erin is quiet.
("Erin" "is" "quiet" "+")
triple6
Erin is red.
("Erin" "is" "red" "+")
triple7
((((triple8) -> (rule4 % int2))) -> (rule7 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
((((triple6 triple5) -> (rule1 % int2))) -> (rule7 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
((((triple6 ((triple4) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule7 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
((((triple6 ((triple6 triple8) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule7 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
Erin is round.
("Erin" "is" "round" "+")
triple8
Erin is smart.
("Erin" "is" "smart" "+")
triple9
Gary is red.
("Gary" "is" "red" "+")
triple10
Gary is round.
("Gary" "is" "round" "+")
triple11
Gary is smart.
("Gary" "is" "smart" "+")
triple12
Harry is blue.
("Harry" "is" "blue" "+")
triple13
((triple14 ((triple15) -> (rule5 % int2))) -> (rule1 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
((triple14 ((triple14 triple16) -> (rule3 % int2))) -> (rule1 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
triple14
Harry is red.
("Harry" "is" "red" "+")
triple15
((triple13) -> (rule7 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
((((triple14 ((triple14 triple16) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule7 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
int3
Harry is round.
("Harry" "is" "round" "+")
triple16
Charlie is kind.
("Charlie" "is" "kind" "+")
((triple1 triple2) -> (rule3 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
((triple8) -> (rule4 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
((triple6 triple5) -> (rule1 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
((triple6 ((triple4) -> (rule2 % int2))) -> (rule1 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
((triple6 ((triple7) -> (rule5 % int2))) -> (rule1 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
((triple6 ((triple6 triple8) -> (rule3 % int2))) -> (rule1 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
((triple10) -> (rule5 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
((triple13) -> (rule8 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
((triple15) -> (rule5 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
((triple14 triple16) -> (rule3 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
((((triple13) -> (rule7 % int2))) -> (rule5 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
((triple1 ((triple1 triple2) -> (rule3 % int2))) -> (rule1 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
((((triple1 ((triple1 triple2) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule7 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3