Bob is red. Charlie is green. Charlie is young. Erin is big. Erin is quiet. Harry is cold. Harry is green. If Bob is cold and Bob is young then Bob is green. Young things are kind. If Harry is green then Harry is big. Big, cold things are young. If Erin is big and Erin is kind then Erin is green. Red things are quiet. Quiet, kind things are cold. If something is green and quiet then it is red. If something is kind and green then it is red.
Bob is red.
("Bob" "is" "red" "+")
Charlie is green.
("Charlie" "is" "green" "+")
Charlie is young.
("Charlie" "is" "young" "+")
Erin is big.
("Erin" "is" "big" "+")
Erin is quiet.
("Erin" "is" "quiet" "+")
Harry is cold.
("Harry" "is" "cold" "+")
Harry is green.
("Harry" "is" "green" "+")
If Bob is cold and Bob is young then Bob is green.
((("Bob" "is" "cold" "+") ("Bob" "is" "young" "+")) -> ("Bob" "is" "green" "+"))
Young things are kind.
((("something" "is" "young" "+")) -> ("something" "is" "kind" "+"))
If Harry is green then Harry is big.
((("Harry" "is" "green" "+")) -> ("Harry" "is" "big" "+"))
Big, cold things are young.
((("something" "is" "big" "+") ("something" "is" "cold" "+")) -> ("something" "is" "young" "+"))
If Erin is big and Erin is kind then Erin is green.
((("Erin" "is" "big" "+") ("Erin" "is" "kind" "+")) -> ("Erin" "is" "green" "+"))
Red things are quiet.
((("something" "is" "red" "+")) -> ("something" "is" "quiet" "+"))
Quiet, kind things are cold.
((("something" "is" "quiet" "+") ("something" "is" "kind" "+")) -> ("something" "is" "cold" "+"))
If something is green and quiet then it is red.
((("something" "is" "green" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "red" "+"))
If something is kind and green then it is red.
((("something" "is" "kind" "+") ("something" "is" "green" "+")) -> ("something" "is" "red" "+"))
Charlie is young.
True
1
proof
[(triple3)]
("Charlie" "is" "young" "+")
triple3
Charlie is not green.
False
1
inv-proof
[(triple2)]
("Charlie" "is" "green" "-")
triple2
Bob is quiet.
True
2
proof
[(((triple1) -> rule6))]
("Bob" "is" "quiet" "+")
((triple1) -> (rule6 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Harry is not big.
False
2
inv-proof
[(((triple7) -> rule3))]
("Harry" "is" "big" "-")
((triple7) -> (rule3 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is young.
True
4
proof
[(((((triple7) -> rule3) triple6) -> rule4))]
("Harry" "is" "young" "+")
((((triple7) -> (rule3 % int2)) triple6) -> (rule4 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Charlie is not red.
False
4
inv-proof
[(((((triple3) -> rule2) triple2) -> rule9))]
("Charlie" "is" "red" "-")
((((triple3) -> (rule2 % int2)) triple2) -> (rule9 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is quiet.
True
5
proof
[(((((((triple3) -> rule2) triple2) -> rule9)) -> rule6))]
("Charlie" "is" "quiet" "+")
((((((triple3) -> (rule2 % int3)) triple2) -> (rule9 % int2))) -> (rule6 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is not quiet.
False
5
inv-proof
[(((((((triple3) -> rule2) triple2) -> rule9)) -> rule6))]
("Charlie" "is" "quiet" "-")
((((((triple3) -> (rule2 % int3)) triple2) -> (rule9 % int2))) -> (rule6 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is cold.
True
8
proof
[(((((((((triple3) -> rule2) triple2) -> rule9)) -> rule6) ((triple3) -> rule2)) -> rule7))]
("Charlie" "is" "cold" "+")
((((((((triple3) -> (rule2 % int4)) triple2) -> (rule9 % int3))) -> (rule6 % int2)) ((triple3) -> (rule2 % int4))) -> (rule7 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Charlie is kind.
("Charlie" "is" "kind" "+")
int4
Charlie is not cold.
False
8
inv-proof
[(((((((((triple3) -> rule2) triple2) -> rule9)) -> rule6) ((triple3) -> rule2)) -> rule7))]
("Charlie" "is" "cold" "-")
((((((((triple3) -> (rule2 % int4)) triple2) -> (rule9 % int3))) -> (rule6 % int2)) ((triple3) -> (rule2 % int4))) -> (rule7 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Charlie is kind.
("Charlie" "is" "kind" "+")
int4
Harry is quiet.
True
8
proof
[(((((((((((triple7) -> rule3) triple6) -> rule4)) -> rule2) triple7) -> rule9)) -> rule6))]
("Harry" "is" "quiet" "+")
((((((((((triple7) -> (rule3 % int5)) triple6) -> (rule4 % int4))) -> (rule2 % int3)) triple7) -> (rule9 % int2))) -> (rule6 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
int3
Harry is young.
("Harry" "is" "young" "+")
int4
Harry is big.
("Harry" "is" "big" "+")
int5
Harry is not quiet.
False
8
inv-proof
[(((((((((((triple7) -> rule3) triple6) -> rule4)) -> rule2) triple7) -> rule9)) -> rule6))]
("Harry" "is" "quiet" "-")
((((((((((triple7) -> (rule3 % int5)) triple6) -> (rule4 % int4))) -> (rule2 % int3)) triple7) -> (rule9 % int2))) -> (rule6 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
int3
Harry is young.
("Harry" "is" "young" "+")
int4
Harry is big.
("Harry" "is" "big" "+")
int5
Bob is not cold.
Unknown
inv-rconc
[@3: Bob is cold.[CWA. Example of deepest failure = (rule7 <- rule2 <- rule4 <- FAIL)]]
("Bob" "is" "cold" "-")
Bob is green.
Unknown
rconc
[@2: Bob is green.[CWA. Example of deepest failure = (rule1 <- rule4 <- FAIL)]]
("Bob" "is" "green" "+")
Erin is not red.
Unknown
inv-rconc
[@5: Erin is red.[CWA. Example of deepest failure = (rule8 <- rule5 <- rule2 <- rule4 <- rule7 <- FAIL)]]
("Erin" "is" "red" "-")
Bob is young.
Unknown
rconc
[@1: Bob is young.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Bob" "is" "young" "+")
Erin is not young.
Unknown
inv-rconc
[@3: Erin is young.[CWA. Example of deepest failure = (rule4 <- rule7 <- rule2 <- FAIL)]]
("Erin" "is" "young" "-")
Erin is cold.
Unknown
rconc
[@3: Erin is cold.[CWA. Example of deepest failure = (rule7 <- rule2 <- rule4 <- FAIL)]]
("Erin" "is" "cold" "+")
Bob is not big.
Unknown
inv-random
[@0: Bob is big.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "big" "-")
Charlie is big.
Unknown
random
[@0: Charlie is big.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "big" "+")
@0: Bob is red.[(triple1)] Charlie is green.[(triple2)] Charlie is young.[(triple3)] Erin is big.[(triple4)] Erin is quiet.[(triple5)] Harry is cold.[(triple6)] Harry is green.[(triple7)] @1: Bob is quiet.[(((triple1) -> rule6))] Charlie is kind.[(((triple3) -> rule2))] Harry is big.[(((triple7) -> rule3))] @2: Charlie is red.[(((((triple3) -> rule2) triple2) -> rule9))] Harry is young.[(((((triple7) -> rule3) triple6) -> rule4))] @3: Charlie is quiet.[(((((((triple3) -> rule2) triple2) -> rule9)) -> rule6))] Harry is kind.[(((((((triple7) -> rule3) triple6) -> rule4)) -> rule2))] @4: Charlie is cold.[(((((((((triple3) -> rule2) triple2) -> rule9)) -> rule6) ((triple3) -> rule2)) -> rule7))] Harry is red.[(((((((((triple7) -> rule3) triple6) -> rule4)) -> rule2) triple7) -> rule9))] @5: Harry is quiet.[(((((((((((triple7) -> rule3) triple6) -> rule4)) -> rule2) triple7) -> rule9)) -> rule6))]
Bob is red.
("Bob" "is" "red" "+")
triple1
Charlie is green.
("Charlie" "is" "green" "+")
triple2
Charlie is young.
("Charlie" "is" "young" "+")
triple3
Erin is big.
("Erin" "is" "big" "+")
triple4
Erin is quiet.
("Erin" "is" "quiet" "+")
triple5
Harry is cold.
("Harry" "is" "cold" "+")
triple6
Harry is green.
("Harry" "is" "green" "+")
triple7
Bob is quiet.
("Bob" "is" "quiet" "+")
((triple1) -> (rule6 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
((triple3) -> (rule2 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
((triple7) -> (rule3 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
((((triple3) -> (rule2 % int2)) triple2) -> (rule9 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
((((triple7) -> (rule3 % int2)) triple6) -> (rule4 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
((((((triple3) -> (rule2 % int3)) triple2) -> (rule9 % int2))) -> (rule6 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Harry is kind.
("Harry" "is" "kind" "+")
((((((triple7) -> (rule3 % int3)) triple6) -> (rule4 % int2))) -> (rule2 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
Charlie is cold.
("Charlie" "is" "cold" "+")
((((((((triple3) -> (rule2 % int4)) triple2) -> (rule9 % int3))) -> (rule6 % int2)) ((triple3) -> (rule2 % int4))) -> (rule7 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Charlie is kind.
("Charlie" "is" "kind" "+")
int4
Harry is red.
("Harry" "is" "red" "+")
((((((((triple7) -> (rule3 % int4)) triple6) -> (rule4 % int3))) -> (rule2 % int2)) triple7) -> (rule9 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
int3
Harry is big.
("Harry" "is" "big" "+")
int4
Harry is quiet.
("Harry" "is" "quiet" "+")
((((((((((triple7) -> (rule3 % int5)) triple6) -> (rule4 % int4))) -> (rule2 % int3)) triple7) -> (rule9 % int2))) -> (rule6 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
int3
Harry is young.
("Harry" "is" "young" "+")
int4
Harry is big.
("Harry" "is" "big" "+")
int5