Anne is green. Anne is white. Bob is big. Bob is not white. Fiona is green. Fiona is young. Gary is white. All green things are nice. All big things are nice. All red things are young. If something is red and not white then it is young. All big, young things are red. Green things are red. Nice, big things are green. If something is red and big then it is green. If something is green and young then it is kind.
Anne is green.
("Anne" "is" "green" "+")
Anne is white.
("Anne" "is" "white" "+")
Bob is big.
("Bob" "is" "big" "+")
Bob is not white.
("Bob" "is" "white" "-")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Gary is white.
("Gary" "is" "white" "+")
All green things are nice.
((("something" "is" "green" "+")) -> ("something" "is" "nice" "+"))
All big things are nice.
((("something" "is" "big" "+")) -> ("something" "is" "nice" "+"))
All red things are young.
((("something" "is" "red" "+")) -> ("something" "is" "young" "+"))
If something is red and not white then it is young.
((("something" "is" "red" "+") ("something" "is" "white" "~")) -> ("something" "is" "young" "+"))
All big, young things are red.
((("something" "is" "big" "+") ("something" "is" "young" "+")) -> ("something" "is" "red" "+"))
Green things are red.
((("something" "is" "green" "+")) -> ("something" "is" "red" "+"))
Nice, big things are green.
((("something" "is" "nice" "+") ("something" "is" "big" "+")) -> ("something" "is" "green" "+"))
If something is red and big then it is green.
((("something" "is" "red" "+") ("something" "is" "big" "+")) -> ("something" "is" "green" "+"))
If something is green and young then it is kind.
((("something" "is" "green" "+") ("something" "is" "young" "+")) -> ("something" "is" "kind" "+"))
Bob is not white.
True
1
proof
[(triple4)]
("Bob" "is" "white" "-")
triple4
Bob is white.
False
1
inv-proof
[(triple4)]
("Bob" "is" "white" "+")
triple4
Anne is nice.
True
2
proof
[(((triple1) -> rule1))]
("Anne" "is" "nice" "+")
((triple1) -> (rule1 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is not red.
False
2
inv-proof
[(((triple1) -> rule6))]
("Anne" "is" "red" "-")
((triple1) -> (rule6 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Bob is green.
True
4
proof
[(((((triple3) -> rule2) triple3) -> rule7))]
("Bob" "is" "green" "+")
((((triple3) -> (rule2 % int2)) triple3) -> (rule7 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Anne is not young.
False
3
inv-proof
[(((((triple1) -> rule6)) -> rule3))]
("Anne" "is" "young" "-")
((((triple1) -> (rule6 % int2))) -> (rule3 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is kind.
True
5
proof
[(((triple1 ((((triple1) -> rule6)) -> rule3)) -> rule9))]
("Anne" "is" "kind" "+")
((triple1 ((((triple1) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule9 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Bob is not red.
False
5
inv-proof
[(((((((triple3) -> rule2) triple3) -> rule7)) -> rule6))]
("Bob" "is" "red" "-")
((((((triple3) -> (rule2 % int3)) triple3) -> (rule7 % int2))) -> (rule6 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
Bob is young.
True
6
proof
[(((((((((triple3) -> rule2) triple3) -> rule7)) -> rule6)) -> rule3) OR ((((((((triple3) -> rule2) triple3) -> rule7)) -> rule6) triple4) -> rule4))]
("Bob" "is" "young" "+")
((((((((triple3) -> (rule2 % int4)) triple3) -> (rule7 % int3))) -> (rule6 % int2))) -> (rule3 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Bob is nice.
("Bob" "is" "nice" "+")
int4
((((((((triple3) -> (rule2 % int4)) triple3) -> (rule7 % int3))) -> (rule6 % int2)) triple4) -> (rule4 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Bob is nice.
("Bob" "is" "nice" "+")
int4
Bob is not young.
False
6
inv-proof
[(((((((((triple3) -> rule2) triple3) -> rule7)) -> rule6)) -> rule3) OR ((((((((triple3) -> rule2) triple3) -> rule7)) -> rule6) triple4) -> rule4))]
("Bob" "is" "young" "-")
((((((((triple3) -> (rule2 % int4)) triple3) -> (rule7 % int3))) -> (rule6 % int2))) -> (rule3 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Bob is nice.
("Bob" "is" "nice" "+")
int4
((((((((triple3) -> (rule2 % int4)) triple3) -> (rule7 % int3))) -> (rule6 % int2)) triple4) -> (rule4 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Bob is nice.
("Bob" "is" "nice" "+")
int4
Bob is kind.
True
11
proof
[(((((((triple3) -> rule2) triple3) -> rule7) ((((((((triple3) -> rule2) triple3) -> rule7)) -> rule6)) -> rule3)) -> rule9) OR ((((((triple3) -> rule2) triple3) -> rule7) ((((((((triple3) -> rule2) triple3) -> rule7)) -> rule6) triple4) -> rule4)) -> rule9))]
("Bob" "is" "kind" "+")
((((((triple3) -> (rule2 % int5)) triple3) -> (rule7 % int4)) ((((((((triple3) -> (rule2 % int5)) triple3) -> (rule7 % int4))) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule9 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
int4
Bob is nice.
("Bob" "is" "nice" "+")
int5
((((((triple3) -> (rule2 % int5)) triple3) -> (rule7 % int4)) ((((((((triple3) -> (rule2 % int5)) triple3) -> (rule7 % int4))) -> (rule6 % int3)) triple4) -> (rule4 % int2))) -> (rule9 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
int4
Bob is nice.
("Bob" "is" "nice" "+")
int5
Bob is not kind.
False
11
inv-proof
[(((((((triple3) -> rule2) triple3) -> rule7) ((((((((triple3) -> rule2) triple3) -> rule7)) -> rule6)) -> rule3)) -> rule9) OR ((((((triple3) -> rule2) triple3) -> rule7) ((((((((triple3) -> rule2) triple3) -> rule7)) -> rule6) triple4) -> rule4)) -> rule9))]
("Bob" "is" "kind" "-")
((((((triple3) -> (rule2 % int5)) triple3) -> (rule7 % int4)) ((((((((triple3) -> (rule2 % int5)) triple3) -> (rule7 % int4))) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule9 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
int4
Bob is nice.
("Bob" "is" "nice" "+")
int5
((((((triple3) -> (rule2 % int5)) triple3) -> (rule7 % int4)) ((((((((triple3) -> (rule2 % int5)) triple3) -> (rule7 % int4))) -> (rule6 % int3)) triple4) -> (rule4 % int2))) -> (rule9 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
int4
Bob is nice.
("Bob" "is" "nice" "+")
int5
Gary is not young.
Unknown
inv-rconc
[@3: Gary is young.[CWA. Example of deepest failure = (rule3 <- rule6 <- rule7 <- FAIL)]]
("Gary" "is" "young" "-")
Gary is kind.
Unknown
rconc
[@2: Gary is kind.[CWA. Example of deepest failure = (rule9 <- rule7 <- FAIL)]]
("Gary" "is" "kind" "+")
Gary is not green.
Unknown
inv-rconc
[@1: Gary is green.[CWA. Example of deepest failure = (rule7 <- FAIL)]]
("Gary" "is" "green" "-")
Gary is red.
Unknown
rconc
[@2: Gary is red.[CWA. Example of deepest failure = (rule6 <- rule7 <- FAIL)]]
("Gary" "is" "red" "+")
Gary is not nice.
Unknown
inv-rconc
[@2: Gary is nice.[CWA. Example of deepest failure = (rule1 <- rule7 <- FAIL)]]
("Gary" "is" "nice" "-")
Gary is big.
Unknown
random
[@0: Gary is big.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "big" "+")
Fiona is not big.
Unknown
inv-random
[@0: Fiona is big.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "big" "-")
Fiona is white.
Unknown
random
[@0: Fiona is white.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "white" "+")
@0: Anne is green.[(triple1)] Anne is white.[(triple2)] Bob is big.[(triple3)] Bob is not white.[(triple4)] Fiona is green.[(triple5)] Fiona is young.[(triple6 OR ((((triple5) -> rule6)) -> rule3))] Gary is white.[(triple7)] @1: Anne is nice.[(((triple1) -> rule1))] Anne is red.[(((triple1) -> rule6))] Bob is nice.[(((triple3) -> rule2))] Fiona is kind.[(((triple5 triple6) -> rule9) OR ((triple5 ((((triple5) -> rule6)) -> rule3)) -> rule9))] Fiona is nice.[(((triple5) -> rule1))] Fiona is red.[(((triple5) -> rule6))] @2: Anne is young.[(((((triple1) -> rule6)) -> rule3))] Bob is green.[(((((triple3) -> rule2) triple3) -> rule7))] @3: Anne is kind.[(((triple1 ((((triple1) -> rule6)) -> rule3)) -> rule9))] Bob is red.[(((((((triple3) -> rule2) triple3) -> rule7)) -> rule6))] @4: Bob is young.[(((((((((triple3) -> rule2) triple3) -> rule7)) -> rule6)) -> rule3) OR ((((((((triple3) -> rule2) triple3) -> rule7)) -> rule6) triple4) -> rule4))] @5: Bob is kind.[(((((((triple3) -> rule2) triple3) -> rule7) ((((((((triple3) -> rule2) triple3) -> rule7)) -> rule6)) -> rule3)) -> rule9) OR ((((((triple3) -> rule2) triple3) -> rule7) ((((((((triple3) -> rule2) triple3) -> rule7)) -> rule6) triple4) -> rule4)) -> rule9))]
Anne is green.
("Anne" "is" "green" "+")
triple1
Anne is white.
("Anne" "is" "white" "+")
triple2
Bob is big.
("Bob" "is" "big" "+")
triple3
Bob is not white.
("Bob" "is" "white" "-")
triple4
Fiona is green.
("Fiona" "is" "green" "+")
triple5
Fiona is young.
("Fiona" "is" "young" "+")
triple6
((((triple5) -> (rule6 % int2))) -> (rule3 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
triple7
Anne is nice.
("Anne" "is" "nice" "+")
((triple1) -> (rule1 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
((triple1) -> (rule6 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
((triple3) -> (rule2 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
((triple5 triple6) -> (rule9 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
((triple5 ((((triple5) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule9 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
Fiona is nice.
("Fiona" "is" "nice" "+")
((triple5) -> (rule1 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
((triple5) -> (rule6 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
((((triple1) -> (rule6 % int2))) -> (rule3 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
((((triple3) -> (rule2 % int2)) triple3) -> (rule7 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Anne is kind.
("Anne" "is" "kind" "+")
((triple1 ((((triple1) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule9 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Bob is red.
("Bob" "is" "red" "+")
((((((triple3) -> (rule2 % int3)) triple3) -> (rule7 % int2))) -> (rule6 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
Bob is young.
("Bob" "is" "young" "+")
((((((((triple3) -> (rule2 % int4)) triple3) -> (rule7 % int3))) -> (rule6 % int2))) -> (rule3 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Bob is nice.
("Bob" "is" "nice" "+")
int4
((((((((triple3) -> (rule2 % int4)) triple3) -> (rule7 % int3))) -> (rule6 % int2)) triple4) -> (rule4 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Bob is nice.
("Bob" "is" "nice" "+")
int4
Bob is kind.
("Bob" "is" "kind" "+")
((((((triple3) -> (rule2 % int5)) triple3) -> (rule7 % int4)) ((((((((triple3) -> (rule2 % int5)) triple3) -> (rule7 % int4))) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule9 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
int4
Bob is nice.
("Bob" "is" "nice" "+")
int5
((((((triple3) -> (rule2 % int5)) triple3) -> (rule7 % int4)) ((((((((triple3) -> (rule2 % int5)) triple3) -> (rule7 % int4))) -> (rule6 % int3)) triple4) -> (rule4 % int2))) -> (rule9 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
int4
Bob is nice.
("Bob" "is" "nice" "+")
int5