Charlie is red. Charlie is smart. Dave is nice. Dave is quiet. Dave is red. Dave is round. Dave is smart. Erin is nice. Erin is smart. Gary is kind. Gary is nice. Gary is red. If Charlie is smart and Charlie is round then Charlie is blue. If Charlie is red then Charlie is round. If someone is quiet then they are nice. Round, blue people are kind. If someone is round and blue then they are kind. If someone is blue and quiet then they are round. If someone is kind and round then they are quiet. If someone is quiet then they are kind.
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Dave is red.
("Dave" "is" "red" "+")
Dave is round.
("Dave" "is" "round" "+")
Dave is smart.
("Dave" "is" "smart" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is smart.
("Erin" "is" "smart" "+")
Gary is kind.
("Gary" "is" "kind" "+")
Gary is nice.
("Gary" "is" "nice" "+")
Gary is red.
("Gary" "is" "red" "+")
If Charlie is smart and Charlie is round then Charlie is blue.
((("Charlie" "is" "smart" "+") ("Charlie" "is" "round" "+")) -> ("Charlie" "is" "blue" "+"))
If Charlie is red then Charlie is round.
((("Charlie" "is" "red" "+")) -> ("Charlie" "is" "round" "+"))
If someone is quiet then they are nice.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "nice" "+"))
Round, blue people are kind.
((("someone" "is" "round" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "kind" "+"))
If someone is round and blue then they are kind.
((("someone" "is" "round" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "kind" "+"))
If someone is blue and quiet then they are round.
((("someone" "is" "blue" "+") ("someone" "is" "quiet" "+")) -> ("someone" "is" "round" "+"))
If someone is kind and round then they are quiet.
((("someone" "is" "kind" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "quiet" "+"))
If someone is quiet then they are kind.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "kind" "+"))
Dave is smart.
True
1
proof
[(triple7)]
("Dave" "is" "smart" "+")
triple7
Charlie is not smart.
False
1
inv-proof
[(triple2)]
("Charlie" "is" "smart" "-")
triple2
Dave is kind.
True
2
proof
[(((triple4) -> rule8))]
("Dave" "is" "kind" "+")
((triple4) -> (rule8 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is not kind.
False
2
inv-proof
[(((triple4) -> rule8))]
("Dave" "is" "kind" "-")
((triple4) -> (rule8 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Charlie is blue.
True
4
proof
[(((triple2 ((triple1) -> rule2)) -> rule1))]
("Charlie" "is" "blue" "+")
((triple2 ((triple1) -> (rule2 % int2))) -> (rule1 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is not blue.
False
4
inv-proof
[(((triple2 ((triple1) -> rule2)) -> rule1))]
("Charlie" "is" "blue" "-")
((triple2 ((triple1) -> (rule2 % int2))) -> (rule1 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is kind.
True
7
proof
[(((((triple1) -> rule2) ((triple2 ((triple1) -> rule2)) -> rule1)) -> rule4) OR ((((triple1) -> rule2) ((triple2 ((triple1) -> rule2)) -> rule1)) -> rule5))]
("Charlie" "is" "kind" "+")
((((triple1) -> (rule2 % int3)) ((triple2 ((triple1) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
int3
((((triple1) -> (rule2 % int3)) ((triple2 ((triple1) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
int3
Charlie is not kind.
False
7
inv-proof
[(((((triple1) -> rule2) ((triple2 ((triple1) -> rule2)) -> rule1)) -> rule4) OR ((((triple1) -> rule2) ((triple2 ((triple1) -> rule2)) -> rule1)) -> rule5))]
("Charlie" "is" "kind" "-")
((((triple1) -> (rule2 % int3)) ((triple2 ((triple1) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
int3
((((triple1) -> (rule2 % int3)) ((triple2 ((triple1) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
int3
Charlie is quiet.
True
10
proof
[(((((((triple1) -> rule2) ((triple2 ((triple1) -> rule2)) -> rule1)) -> rule4) ((triple1) -> rule2)) -> rule7) OR ((((((triple1) -> rule2) ((triple2 ((triple1) -> rule2)) -> rule1)) -> rule5) ((triple1) -> rule2)) -> rule7))]
("Charlie" "is" "quiet" "+")
((((((triple1) -> (rule2 % int4)) ((triple2 ((triple1) -> (rule2 % int4))) -> (rule1 % int3))) -> (rule4 % int2)) ((triple1) -> (rule2 % int4))) -> (rule7 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
int3
Charlie is round.
("Charlie" "is" "round" "+")
int4
((((((triple1) -> (rule2 % int4)) ((triple2 ((triple1) -> (rule2 % int4))) -> (rule1 % int3))) -> (rule5 % int2)) ((triple1) -> (rule2 % int4))) -> (rule7 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
int3
Charlie is round.
("Charlie" "is" "round" "+")
int4
Charlie is not quiet.
False
10
inv-proof
[(((((((triple1) -> rule2) ((triple2 ((triple1) -> rule2)) -> rule1)) -> rule4) ((triple1) -> rule2)) -> rule7) OR ((((((triple1) -> rule2) ((triple2 ((triple1) -> rule2)) -> rule1)) -> rule5) ((triple1) -> rule2)) -> rule7))]
("Charlie" "is" "quiet" "-")
((((((triple1) -> (rule2 % int4)) ((triple2 ((triple1) -> (rule2 % int4))) -> (rule1 % int3))) -> (rule4 % int2)) ((triple1) -> (rule2 % int4))) -> (rule7 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
int3
Charlie is round.
("Charlie" "is" "round" "+")
int4
((((((triple1) -> (rule2 % int4)) ((triple2 ((triple1) -> (rule2 % int4))) -> (rule1 % int3))) -> (rule5 % int2)) ((triple1) -> (rule2 % int4))) -> (rule7 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
int3
Charlie is round.
("Charlie" "is" "round" "+")
int4
Charlie is nice.
True
11
proof
[(((((((((triple1) -> rule2) ((triple2 ((triple1) -> rule2)) -> rule1)) -> rule4) ((triple1) -> rule2)) -> rule7)) -> rule3) OR ((((((((triple1) -> rule2) ((triple2 ((triple1) -> rule2)) -> rule1)) -> rule5) ((triple1) -> rule2)) -> rule7)) -> rule3))]
("Charlie" "is" "nice" "+")
((((((((triple1) -> (rule2 % int5)) ((triple2 ((triple1) -> (rule2 % int5))) -> (rule1 % int4))) -> (rule4 % int3)) ((triple1) -> (rule2 % int5))) -> (rule7 % int2))) -> (rule3 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is blue.
("Charlie" "is" "blue" "+")
int4
Charlie is round.
("Charlie" "is" "round" "+")
int5
((((((((triple1) -> (rule2 % int5)) ((triple2 ((triple1) -> (rule2 % int5))) -> (rule1 % int4))) -> (rule5 % int3)) ((triple1) -> (rule2 % int5))) -> (rule7 % int2))) -> (rule3 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is blue.
("Charlie" "is" "blue" "+")
int4
Charlie is round.
("Charlie" "is" "round" "+")
int5
Charlie is not nice.
False
11
inv-proof
[(((((((((triple1) -> rule2) ((triple2 ((triple1) -> rule2)) -> rule1)) -> rule4) ((triple1) -> rule2)) -> rule7)) -> rule3) OR ((((((((triple1) -> rule2) ((triple2 ((triple1) -> rule2)) -> rule1)) -> rule5) ((triple1) -> rule2)) -> rule7)) -> rule3))]
("Charlie" "is" "nice" "-")
((((((((triple1) -> (rule2 % int5)) ((triple2 ((triple1) -> (rule2 % int5))) -> (rule1 % int4))) -> (rule4 % int3)) ((triple1) -> (rule2 % int5))) -> (rule7 % int2))) -> (rule3 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is blue.
("Charlie" "is" "blue" "+")
int4
Charlie is round.
("Charlie" "is" "round" "+")
int5
((((((((triple1) -> (rule2 % int5)) ((triple2 ((triple1) -> (rule2 % int5))) -> (rule1 % int4))) -> (rule5 % int3)) ((triple1) -> (rule2 % int5))) -> (rule7 % int2))) -> (rule3 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is blue.
("Charlie" "is" "blue" "+")
int4
Charlie is round.
("Charlie" "is" "round" "+")
int5
Erin is not kind.
Unknown
inv-rconc
[@3: Erin is kind.[CWA. Example of deepest failure = (rule8 <- rule7 <- rule4 <- FAIL)]]
("Erin" "is" "kind" "-")
Gary is quiet.
Unknown
rconc
[@2: Gary is quiet.[CWA. Example of deepest failure = (rule7 <- rule6 <- FAIL)]]
("Gary" "is" "quiet" "+")
Erin is not round.
Unknown
inv-rconc
[@1: Erin is round.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Erin" "is" "round" "-")
Erin is quiet.
Unknown
rconc
[@2: Erin is quiet.[CWA. Example of deepest failure = (rule7 <- rule4 <- FAIL)]]
("Erin" "is" "quiet" "+")
Gary is not round.
Unknown
inv-rconc
[@1: Gary is round.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Gary" "is" "round" "-")
Erin is red.
Unknown
random
[@0: Erin is red.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "red" "+")
Dave is not blue.
Unknown
inv-random
[@0: Dave is blue.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "blue" "-")
Gary is blue.
Unknown
random
[@0: Gary is blue.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "blue" "+")
Erin is not blue.
Unknown
inv-random
[@0: Erin is blue.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "blue" "-")
Gary is smart.
Unknown
random
[@0: Gary is smart.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "smart" "+")
@0: Charlie is red.[(triple1)] Charlie is smart.[(triple2)] Dave is nice.[(triple3 OR ((triple4) -> rule3))] Dave is quiet.[(triple4)] Dave is red.[(triple5)] Dave is round.[(triple6)] Dave is smart.[(triple7)] Erin is nice.[(triple8)] Erin is smart.[(triple9)] Gary is kind.[(triple10)] Gary is nice.[(triple11)] Gary is red.[(triple12)] @1: Charlie is round.[(((triple1) -> rule2))] Dave is kind.[(((triple4) -> rule8))] @2: Charlie is blue.[(((triple2 ((triple1) -> rule2)) -> rule1))] @3: Charlie is kind.[(((((triple1) -> rule2) ((triple2 ((triple1) -> rule2)) -> rule1)) -> rule4) OR ((((triple1) -> rule2) ((triple2 ((triple1) -> rule2)) -> rule1)) -> rule5))] @4: Charlie is quiet.[(((((((triple1) -> rule2) ((triple2 ((triple1) -> rule2)) -> rule1)) -> rule4) ((triple1) -> rule2)) -> rule7) OR ((((((triple1) -> rule2) ((triple2 ((triple1) -> rule2)) -> rule1)) -> rule5) ((triple1) -> rule2)) -> rule7))] @5: Charlie is nice.[(((((((((triple1) -> rule2) ((triple2 ((triple1) -> rule2)) -> rule1)) -> rule4) ((triple1) -> rule2)) -> rule7)) -> rule3) OR ((((((((triple1) -> rule2) ((triple2 ((triple1) -> rule2)) -> rule1)) -> rule5) ((triple1) -> rule2)) -> rule7)) -> rule3))]
Charlie is red.
("Charlie" "is" "red" "+")
triple1
Charlie is smart.
("Charlie" "is" "smart" "+")
triple2
Dave is nice.
("Dave" "is" "nice" "+")
triple3
((triple4) -> (rule3 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
triple4
Dave is red.
("Dave" "is" "red" "+")
triple5
Dave is round.
("Dave" "is" "round" "+")
triple6
Dave is smart.
("Dave" "is" "smart" "+")
triple7
Erin is nice.
("Erin" "is" "nice" "+")
triple8
Erin is smart.
("Erin" "is" "smart" "+")
triple9
Gary is kind.
("Gary" "is" "kind" "+")
triple10
Gary is nice.
("Gary" "is" "nice" "+")
triple11
Gary is red.
("Gary" "is" "red" "+")
triple12
Charlie is round.
("Charlie" "is" "round" "+")
((triple1) -> (rule2 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
((triple4) -> (rule8 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
((triple2 ((triple1) -> (rule2 % int2))) -> (rule1 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
((((triple1) -> (rule2 % int3)) ((triple2 ((triple1) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
int3
((((triple1) -> (rule2 % int3)) ((triple2 ((triple1) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
int3
Charlie is quiet.
("Charlie" "is" "quiet" "+")
((((((triple1) -> (rule2 % int4)) ((triple2 ((triple1) -> (rule2 % int4))) -> (rule1 % int3))) -> (rule4 % int2)) ((triple1) -> (rule2 % int4))) -> (rule7 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
int3
Charlie is round.
("Charlie" "is" "round" "+")
int4
((((((triple1) -> (rule2 % int4)) ((triple2 ((triple1) -> (rule2 % int4))) -> (rule1 % int3))) -> (rule5 % int2)) ((triple1) -> (rule2 % int4))) -> (rule7 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
int3
Charlie is round.
("Charlie" "is" "round" "+")
int4
Charlie is nice.
("Charlie" "is" "nice" "+")
((((((((triple1) -> (rule2 % int5)) ((triple2 ((triple1) -> (rule2 % int5))) -> (rule1 % int4))) -> (rule4 % int3)) ((triple1) -> (rule2 % int5))) -> (rule7 % int2))) -> (rule3 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is blue.
("Charlie" "is" "blue" "+")
int4
Charlie is round.
("Charlie" "is" "round" "+")
int5
((((((((triple1) -> (rule2 % int5)) ((triple2 ((triple1) -> (rule2 % int5))) -> (rule1 % int4))) -> (rule5 % int3)) ((triple1) -> (rule2 % int5))) -> (rule7 % int2))) -> (rule3 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is blue.
("Charlie" "is" "blue" "+")
int4
Charlie is round.
("Charlie" "is" "round" "+")
int5