Bob is kind. Bob is nice. Bob is red. Bob is smart. Bob is young. Fiona is young. Gary is big. Gary is kind. Gary is nice. Gary is red. Gary is smart. Harry is rough. Rough things are nice. If something is red then it is big. All kind things are big. All nice things are young. Young things are smart. Nice, smart things are red.
Bob is kind.
("Bob" "is" "kind" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Bob is young.
("Bob" "is" "young" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Gary is big.
("Gary" "is" "big" "+")
Gary is kind.
("Gary" "is" "kind" "+")
Gary is nice.
("Gary" "is" "nice" "+")
Gary is red.
("Gary" "is" "red" "+")
Gary is smart.
("Gary" "is" "smart" "+")
Harry is rough.
("Harry" "is" "rough" "+")
Rough things are nice.
((("something" "is" "rough" "+")) -> ("something" "is" "nice" "+"))
If something is red then it is big.
((("something" "is" "red" "+")) -> ("something" "is" "big" "+"))
All kind things are big.
((("something" "is" "kind" "+")) -> ("something" "is" "big" "+"))
All nice things are young.
((("something" "is" "nice" "+")) -> ("something" "is" "young" "+"))
Young things are smart.
((("something" "is" "young" "+")) -> ("something" "is" "smart" "+"))
Nice, smart things are red.
((("something" "is" "nice" "+") ("something" "is" "smart" "+")) -> ("something" "is" "red" "+"))
Bob is red.
True
1
proof
[(triple3 OR ((triple2 triple4) -> rule6) OR ((triple2 ((triple5) -> rule5)) -> rule6) OR ((triple2 ((((triple2) -> rule4)) -> rule5)) -> rule6))]
("Bob" "is" "red" "+")
triple3
((triple2 triple4) -> (rule6 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
((triple2 ((triple5) -> (rule5 % int2))) -> (rule6 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
((triple2 ((((triple2) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
int3
Bob is not nice.
False
1
inv-proof
[(triple2)]
("Bob" "is" "nice" "-")
triple2
Gary is young.
True
2
proof
[(((triple9) -> rule4))]
("Gary" "is" "young" "+")
((triple9) -> (rule4 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is not young.
False
2
inv-proof
[(((triple9) -> rule4))]
("Gary" "is" "young" "-")
((triple9) -> (rule4 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Harry is young.
True
3
proof
[(((((triple12) -> rule1)) -> rule4))]
("Harry" "is" "young" "+")
((((triple12) -> (rule1 % int2))) -> (rule4 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Harry is not young.
False
3
inv-proof
[(((((triple12) -> rule1)) -> rule4))]
("Harry" "is" "young" "-")
((((triple12) -> (rule1 % int2))) -> (rule4 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Harry is smart.
True
4
proof
[(((((((triple12) -> rule1)) -> rule4)) -> rule5))]
("Harry" "is" "smart" "+")
((((((triple12) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
Harry is nice.
("Harry" "is" "nice" "+")
int3
Harry is not smart.
False
4
inv-proof
[(((((((triple12) -> rule1)) -> rule4)) -> rule5))]
("Harry" "is" "smart" "-")
((((((triple12) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
Harry is nice.
("Harry" "is" "nice" "+")
int3
Harry is red.
True
7
proof
[(((((triple12) -> rule1) ((((((triple12) -> rule1)) -> rule4)) -> rule5)) -> rule6))]
("Harry" "is" "red" "+")
((((triple12) -> (rule1 % int4)) ((((((triple12) -> (rule1 % int4))) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
int3
Harry is nice.
("Harry" "is" "nice" "+")
int4
Harry is not red.
False
7
inv-proof
[(((((triple12) -> rule1) ((((((triple12) -> rule1)) -> rule4)) -> rule5)) -> rule6))]
("Harry" "is" "red" "-")
((((triple12) -> (rule1 % int4)) ((((((triple12) -> (rule1 % int4))) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
int3
Harry is nice.
("Harry" "is" "nice" "+")
int4
Harry is big.
True
8
proof
[(((((((triple12) -> rule1) ((((((triple12) -> rule1)) -> rule4)) -> rule5)) -> rule6)) -> rule2))]
("Harry" "is" "big" "+")
((((((triple12) -> (rule1 % int5)) ((((((triple12) -> (rule1 % int5))) -> (rule4 % int4))) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule2 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
int3
Harry is young.
("Harry" "is" "young" "+")
int4
Harry is nice.
("Harry" "is" "nice" "+")
int5
Harry is not big.
False
8
inv-proof
[(((((((triple12) -> rule1) ((((((triple12) -> rule1)) -> rule4)) -> rule5)) -> rule6)) -> rule2))]
("Harry" "is" "big" "-")
((((((triple12) -> (rule1 % int5)) ((((((triple12) -> (rule1 % int5))) -> (rule4 % int4))) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule2 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
int3
Harry is young.
("Harry" "is" "young" "+")
int4
Harry is nice.
("Harry" "is" "nice" "+")
int5
Fiona is not big.
Unknown
inv-rconc
[@3: Fiona is big.[CWA. Example of deepest failure = (rule2 <- rule6 <- rule1 <- FAIL)]]
("Fiona" "is" "big" "-")
Fiona is red.
Unknown
rconc
[@2: Fiona is red.[CWA. Example of deepest failure = (rule6 <- rule1 <- FAIL)]]
("Fiona" "is" "red" "+")
Fiona is not nice.
Unknown
inv-rconc
[@1: Fiona is nice.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Fiona" "is" "nice" "-")
Gary is rough.
Unknown
random
[@0: Gary is rough.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "rough" "+")
Bob is not rough.
Unknown
inv-random
[@0: Bob is rough.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "rough" "-")
Fiona is kind.
Unknown
random
[@0: Fiona is kind.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "kind" "+")
Fiona is not rough.
Unknown
inv-random
[@0: Fiona is rough.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "rough" "-")
Harry is kind.
Unknown
random
[@0: Harry is kind.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "kind" "+")
@0: Bob is kind.[(triple1)] Bob is nice.[(triple2)] Bob is red.[(triple3 OR ((triple2 triple4) -> rule6) OR ((triple2 ((triple5) -> rule5)) -> rule6) OR ((triple2 ((((triple2) -> rule4)) -> rule5)) -> rule6))] Bob is smart.[(triple4 OR ((triple5) -> rule5) OR ((((triple2) -> rule4)) -> rule5))] Bob is young.[(triple5 OR ((triple2) -> rule4))] Fiona is young.[(triple6)] Gary is big.[(triple7 OR ((triple10) -> rule2) OR ((triple8) -> rule3) OR ((((triple9 triple11) -> rule6)) -> rule2) OR ((((triple9 ((((triple9) -> rule4)) -> rule5)) -> rule6)) -> rule2))] Gary is kind.[(triple8)] Gary is nice.[(triple9)] Gary is red.[(triple10 OR ((triple9 triple11) -> rule6) OR ((triple9 ((((triple9) -> rule4)) -> rule5)) -> rule6))] Gary is smart.[(triple11 OR ((((triple9) -> rule4)) -> rule5))] Harry is rough.[(triple12)] @1: Bob is big.[(((triple1) -> rule3) OR ((triple3) -> rule2) OR ((((triple2 triple4) -> rule6)) -> rule2) OR ((((triple2 ((triple5) -> rule5)) -> rule6)) -> rule2) OR ((((triple2 ((((triple2) -> rule4)) -> rule5)) -> rule6)) -> rule2))] Fiona is smart.[(((triple6) -> rule5))] Gary is young.[(((triple9) -> rule4))] Harry is nice.[(((triple12) -> rule1))] @2: Harry is young.[(((((triple12) -> rule1)) -> rule4))] @3: Harry is smart.[(((((((triple12) -> rule1)) -> rule4)) -> rule5))] @4: Harry is red.[(((((triple12) -> rule1) ((((((triple12) -> rule1)) -> rule4)) -> rule5)) -> rule6))] @5: Harry is big.[(((((((triple12) -> rule1) ((((((triple12) -> rule1)) -> rule4)) -> rule5)) -> rule6)) -> rule2))]
Bob is kind.
("Bob" "is" "kind" "+")
triple1
Bob is nice.
("Bob" "is" "nice" "+")
triple2
Bob is red.
("Bob" "is" "red" "+")
triple3
((triple2 triple4) -> (rule6 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
((triple2 ((triple5) -> (rule5 % int2))) -> (rule6 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
((triple2 ((((triple2) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
int3
Bob is smart.
("Bob" "is" "smart" "+")
triple4
((triple5) -> (rule5 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
((((triple2) -> (rule4 % int2))) -> (rule5 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
triple5
((triple2) -> (rule4 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
triple6
Gary is big.
("Gary" "is" "big" "+")
triple7
((triple10) -> (rule2 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
((triple8) -> (rule3 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
((((triple9 triple11) -> (rule6 % int2))) -> (rule2 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
((((triple9 ((((triple9) -> (rule4 % int4))) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule2 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
Gary is kind.
("Gary" "is" "kind" "+")
triple8
Gary is nice.
("Gary" "is" "nice" "+")
triple9
Gary is red.
("Gary" "is" "red" "+")
triple10
((triple9 triple11) -> (rule6 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
((triple9 ((((triple9) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
int3
Gary is smart.
("Gary" "is" "smart" "+")
triple11
((((triple9) -> (rule4 % int2))) -> (rule5 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
triple12
Bob is big.
("Bob" "is" "big" "+")
((triple1) -> (rule3 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
((triple3) -> (rule2 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
((((triple2 triple4) -> (rule6 % int2))) -> (rule2 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
((((triple2 ((triple5) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule2 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
((((triple2 ((((triple2) -> (rule4 % int4))) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule2 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
Bob is young.
("Bob" "is" "young" "+")
int4
Fiona is smart.
("Fiona" "is" "smart" "+")
((triple6) -> (rule5 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
((triple9) -> (rule4 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
((triple12) -> (rule1 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
((((triple12) -> (rule1 % int2))) -> (rule4 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
((((((triple12) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
Harry is nice.
("Harry" "is" "nice" "+")
int3
Harry is red.
("Harry" "is" "red" "+")
((((triple12) -> (rule1 % int4)) ((((((triple12) -> (rule1 % int4))) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
int3
Harry is nice.
("Harry" "is" "nice" "+")
int4
Harry is big.
("Harry" "is" "big" "+")
((((((triple12) -> (rule1 % int5)) ((((((triple12) -> (rule1 % int5))) -> (rule4 % int4))) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule2 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
int3
Harry is young.
("Harry" "is" "young" "+")
int4
Harry is nice.
("Harry" "is" "nice" "+")
int5