Bob is round. Bob is white. Fiona is big. Fiona is smart. Fiona is white. Gary is quiet. Gary is red. Gary is round. Gary is white. Gary is young. Harry is red. Harry is round. If something is round then it is big. If something is red then it is white. Quiet things are round. Round, red things are smart. If Gary is white and Gary is round then Gary is young. If something is smart and big then it is young.
Bob is round.
("Bob" "is" "round" "+")
Bob is white.
("Bob" "is" "white" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Fiona is white.
("Fiona" "is" "white" "+")
Gary is quiet.
("Gary" "is" "quiet" "+")
Gary is red.
("Gary" "is" "red" "+")
Gary is round.
("Gary" "is" "round" "+")
Gary is white.
("Gary" "is" "white" "+")
Gary is young.
("Gary" "is" "young" "+")
Harry is red.
("Harry" "is" "red" "+")
Harry is round.
("Harry" "is" "round" "+")
If something is round then it is big.
((("something" "is" "round" "+")) -> ("something" "is" "big" "+"))
If something is red then it is white.
((("something" "is" "red" "+")) -> ("something" "is" "white" "+"))
Quiet things are round.
((("something" "is" "quiet" "+")) -> ("something" "is" "round" "+"))
Round, red things are smart.
((("something" "is" "round" "+") ("something" "is" "red" "+")) -> ("something" "is" "smart" "+"))
If Gary is white and Gary is round then Gary is young.
((("Gary" "is" "white" "+") ("Gary" "is" "round" "+")) -> ("Gary" "is" "young" "+"))
If something is smart and big then it is young.
((("something" "is" "smart" "+") ("something" "is" "big" "+")) -> ("something" "is" "young" "+"))
Harry is red.
True
1
proof
[(triple11)]
("Harry" "is" "red" "+")
triple11
Gary is not red.
False
1
inv-proof
[(triple7)]
("Gary" "is" "red" "-")
triple7
Harry is white.
True
2
proof
[(((triple11) -> rule2))]
("Harry" "is" "white" "+")
((triple11) -> (rule2 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Bob is not big.
False
2
inv-proof
[(((triple1) -> rule1))]
("Bob" "is" "big" "-")
((triple1) -> (rule1 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is not young.
Unknown
inv-rconc
[@2: Bob is young.[CWA. Example of deepest failure = (rule6 <- rule4 <- FAIL)]]
("Bob" "is" "young" "-")
Bob is smart.
Unknown
rconc
[@1: Bob is smart.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Bob" "is" "smart" "+")
Bob is not quiet.
Unknown
inv-random
[@0: Bob is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "quiet" "-")
Fiona is red.
Unknown
random
[@0: Fiona is red.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "red" "+")
@0: Bob is round.[(triple1)] Bob is white.[(triple2)] Fiona is big.[(triple3)] Fiona is smart.[(triple4)] Fiona is white.[(triple5)] Gary is quiet.[(triple6)] Gary is red.[(triple7)] Gary is round.[(triple8 OR ((triple6) -> rule3))] Gary is white.[(triple9 OR ((triple7) -> rule2))] Gary is young.[(triple10 OR ((triple9 triple8) -> rule5) OR ((triple9 ((triple6) -> rule3)) -> rule5) OR ((((triple7) -> rule2) triple8) -> rule5) OR ((((triple7) -> rule2) ((triple6) -> rule3)) -> rule5) OR ((((triple8 triple7) -> rule4) ((triple8) -> rule1)) -> rule6) OR ((((triple8 triple7) -> rule4) ((((triple6) -> rule3)) -> rule1)) -> rule6) OR ((((((triple6) -> rule3) triple7) -> rule4) ((triple8) -> rule1)) -> rule6) OR ((((((triple6) -> rule3) triple7) -> rule4) ((((triple6) -> rule3)) -> rule1)) -> rule6))] Harry is red.[(triple11)] Harry is round.[(triple12)] @1: Bob is big.[(((triple1) -> rule1))] Fiona is young.[(((triple4 triple3) -> rule6))] Gary is big.[(((triple8) -> rule1) OR ((((triple6) -> rule3)) -> rule1))] Gary is smart.[(((triple8 triple7) -> rule4) OR ((((triple6) -> rule3) triple7) -> rule4))] Harry is big.[(((triple12) -> rule1))] Harry is smart.[(((triple12 triple11) -> rule4))] Harry is white.[(((triple11) -> rule2))] @2: Harry is young.[(((((triple12 triple11) -> rule4) ((triple12) -> rule1)) -> rule6))]
Bob is round.
("Bob" "is" "round" "+")
triple1
Bob is white.
("Bob" "is" "white" "+")
triple2
Fiona is big.
("Fiona" "is" "big" "+")
triple3
Fiona is smart.
("Fiona" "is" "smart" "+")
triple4
Fiona is white.
("Fiona" "is" "white" "+")
triple5
Gary is quiet.
("Gary" "is" "quiet" "+")
triple6
Gary is red.
("Gary" "is" "red" "+")
triple7
Gary is round.
("Gary" "is" "round" "+")
triple8
((triple6) -> (rule3 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
triple9
((triple7) -> (rule2 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
triple10
((triple9 triple8) -> (rule5 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
((triple9 ((triple6) -> (rule3 % int2))) -> (rule5 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
((((triple7) -> (rule2 % int2)) triple8) -> (rule5 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
((((triple7) -> (rule2 % int3)) ((triple6) -> (rule3 % int2))) -> (rule5 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
int3
((((triple8 triple7) -> (rule4 % int3)) ((triple8) -> (rule1 % int2))) -> (rule6 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
((((triple8 triple7) -> (rule4 % int4)) ((((triple6) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
int3
Gary is smart.
("Gary" "is" "smart" "+")
int4
((((((triple6) -> (rule3 % int4)) triple7) -> (rule4 % int3)) ((triple8) -> (rule1 % int2))) -> (rule6 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
Gary is round.
("Gary" "is" "round" "+")
int4
((((((triple6) -> (rule3 % int4)) triple7) -> (rule4 % int3)) ((((triple6) -> (rule3 % int4))) -> (rule1 % int2))) -> (rule6 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
Gary is round.
("Gary" "is" "round" "+")
int4
Harry is red.
("Harry" "is" "red" "+")
triple11
Harry is round.
("Harry" "is" "round" "+")
triple12
Bob is big.
("Bob" "is" "big" "+")
((triple1) -> (rule1 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
((triple4 triple3) -> (rule6 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
((triple8) -> (rule1 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
((((triple6) -> (rule3 % int2))) -> (rule1 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
((triple8 triple7) -> (rule4 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
((((triple6) -> (rule3 % int2)) triple7) -> (rule4 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
((triple12) -> (rule1 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
((triple12 triple11) -> (rule4 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
((triple11) -> (rule2 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
((((triple12 triple11) -> (rule4 % int3)) ((triple12) -> (rule1 % int2))) -> (rule6 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
int3