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