Bob is green. Charlie is big. Fiona is big. Fiona is cold. Fiona is furry. Fiona is green. Fiona is rough. Gary is big. Gary is cold. Gary is green. If Gary is quiet then Gary is furry. Cold things are smart. Big, quiet things are green. If something is smart then it is big. Big things are quiet. If Charlie is green and Charlie is big then Charlie is furry.
Bob is green.
("Bob" "is" "green" "+")
Charlie is big.
("Charlie" "is" "big" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Gary is big.
("Gary" "is" "big" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is green.
("Gary" "is" "green" "+")
If Gary is quiet then Gary is furry.
((("Gary" "is" "quiet" "+")) -> ("Gary" "is" "furry" "+"))
Cold things are smart.
((("something" "is" "cold" "+")) -> ("something" "is" "smart" "+"))
Big, quiet things are green.
((("something" "is" "big" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "green" "+"))
If something is smart then it is big.
((("something" "is" "smart" "+")) -> ("something" "is" "big" "+"))
Big things are quiet.
((("something" "is" "big" "+")) -> ("something" "is" "quiet" "+"))
If Charlie is green and Charlie is big then Charlie is furry.
((("Charlie" "is" "green" "+") ("Charlie" "is" "big" "+")) -> ("Charlie" "is" "furry" "+"))
Fiona is cold.
True
1
proof
[(triple4)]
("Fiona" "is" "cold" "+")
triple4
Fiona is not green.
False
1
inv-proof
[(triple6 OR ((triple3 ((triple3) -> rule5)) -> rule3) OR ((((((triple4) -> rule2)) -> rule4) ((triple3) -> rule5)) -> rule3) OR ((triple3 ((((((triple4) -> rule2)) -> rule4)) -> rule5)) -> rule3) OR ((((((triple4) -> rule2)) -> rule4) ((((((triple4) -> rule2)) -> rule4)) -> rule5)) -> rule3))]
("Fiona" "is" "green" "-")
triple6
((triple3 ((triple3) -> (rule5 % int2))) -> (rule3 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
((((((triple4) -> (rule2 % int4))) -> (rule4 % int3)) ((triple3) -> (rule5 % int2))) -> (rule3 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
Fiona is smart.
("Fiona" "is" "smart" "+")
int4
((triple3 ((((((triple4) -> (rule2 % int4))) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
Fiona is smart.
("Fiona" "is" "smart" "+")
int4
((((((triple4) -> (rule2 % int4))) -> (rule4 % int3)) ((((((triple4) -> (rule2 % int4))) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
Fiona is smart.
("Fiona" "is" "smart" "+")
int4
Gary is quiet.
True
2
proof
[(((triple8) -> rule5) OR ((((((triple9) -> rule2)) -> rule4)) -> rule5))]
("Gary" "is" "quiet" "+")
((triple8) -> (rule5 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
((((((triple9) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
Charlie is not quiet.
False
2
inv-proof
[(((triple2) -> rule5))]
("Charlie" "is" "quiet" "-")
((triple2) -> (rule5 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Bob is not quiet.
Unknown
inv-rconc
[@3: Bob is quiet.[CWA. Example of deepest failure = (rule5 <- rule4 <- rule2 <- FAIL)]]
("Bob" "is" "quiet" "-")
Bob is big.
Unknown
rconc
[@2: Bob is big.[CWA. Example of deepest failure = (rule4 <- rule2 <- FAIL)]]
("Bob" "is" "big" "+")
Gary is not rough.
Unknown
inv-random
[@0: Gary is rough.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "rough" "-")
Bob is rough.
Unknown
random
[@0: Bob is rough.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "rough" "+")
@0: Bob is green.[(triple1)] Charlie is big.[(triple2)] Fiona is big.[(triple3 OR ((((triple4) -> rule2)) -> rule4))] Fiona is cold.[(triple4)] Fiona is furry.[(triple5)] Fiona is green.[(triple6 OR ((triple3 ((triple3) -> rule5)) -> rule3) OR ((((((triple4) -> rule2)) -> rule4) ((triple3) -> rule5)) -> rule3) OR ((triple3 ((((((triple4) -> rule2)) -> rule4)) -> rule5)) -> rule3) OR ((((((triple4) -> rule2)) -> rule4) ((((((triple4) -> rule2)) -> rule4)) -> rule5)) -> rule3))] Fiona is rough.[(triple7)] Gary is big.[(triple8 OR ((((triple9) -> rule2)) -> rule4))] Gary is cold.[(triple9)] Gary is green.[(triple10 OR ((triple8 ((triple8) -> rule5)) -> rule3) OR ((((((triple9) -> rule2)) -> rule4) ((triple8) -> rule5)) -> rule3) OR ((triple8 ((((((triple9) -> rule2)) -> rule4)) -> rule5)) -> rule3) OR ((((((triple9) -> rule2)) -> rule4) ((((((triple9) -> rule2)) -> rule4)) -> rule5)) -> rule3))] @1: Charlie is quiet.[(((triple2) -> rule5))] Fiona is quiet.[(((triple3) -> rule5) OR ((((((triple4) -> rule2)) -> rule4)) -> rule5))] Fiona is smart.[(((triple4) -> rule2))] Gary is quiet.[(((triple8) -> rule5) OR ((((((triple9) -> rule2)) -> rule4)) -> rule5))] Gary is smart.[(((triple9) -> rule2))] @2: Charlie is green.[(((triple2 ((triple2) -> rule5)) -> rule3))] Gary is furry.[(((((triple8) -> rule5)) -> rule1) OR ((((((((triple9) -> rule2)) -> rule4)) -> rule5)) -> rule1))] @3: Charlie is furry.[(((((triple2 ((triple2) -> rule5)) -> rule3) triple2) -> rule6))]
Bob is green.
("Bob" "is" "green" "+")
triple1
Charlie is big.
("Charlie" "is" "big" "+")
triple2
Fiona is big.
("Fiona" "is" "big" "+")
triple3
((((triple4) -> (rule2 % int2))) -> (rule4 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
triple4
Fiona is furry.
("Fiona" "is" "furry" "+")
triple5
Fiona is green.
("Fiona" "is" "green" "+")
triple6
((triple3 ((triple3) -> (rule5 % int2))) -> (rule3 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
((((((triple4) -> (rule2 % int4))) -> (rule4 % int3)) ((triple3) -> (rule5 % int2))) -> (rule3 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
Fiona is smart.
("Fiona" "is" "smart" "+")
int4
((triple3 ((((((triple4) -> (rule2 % int4))) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
Fiona is smart.
("Fiona" "is" "smart" "+")
int4
((((((triple4) -> (rule2 % int4))) -> (rule4 % int3)) ((((((triple4) -> (rule2 % int4))) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
Fiona is smart.
("Fiona" "is" "smart" "+")
int4
Fiona is rough.
("Fiona" "is" "rough" "+")
triple7
Gary is big.
("Gary" "is" "big" "+")
triple8
((((triple9) -> (rule2 % int2))) -> (rule4 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
Gary is cold.
("Gary" "is" "cold" "+")
triple9
Gary is green.
("Gary" "is" "green" "+")
triple10
((triple8 ((triple8) -> (rule5 % int2))) -> (rule3 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
((((((triple9) -> (rule2 % int4))) -> (rule4 % int3)) ((triple8) -> (rule5 % int2))) -> (rule3 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
int3
Gary is smart.
("Gary" "is" "smart" "+")
int4
((triple8 ((((((triple9) -> (rule2 % int4))) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
int3
Gary is smart.
("Gary" "is" "smart" "+")
int4
((((((triple9) -> (rule2 % int4))) -> (rule4 % int3)) ((((((triple9) -> (rule2 % int4))) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
int3
Gary is smart.
("Gary" "is" "smart" "+")
int4
Charlie is quiet.
("Charlie" "is" "quiet" "+")
((triple2) -> (rule5 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
((triple3) -> (rule5 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
((((((triple4) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
Fiona is smart.
("Fiona" "is" "smart" "+")
((triple4) -> (rule2 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
((triple8) -> (rule5 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
((((((triple9) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
Gary is smart.
("Gary" "is" "smart" "+")
((triple9) -> (rule2 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
((triple2 ((triple2) -> (rule5 % int2))) -> (rule3 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
((((triple8) -> (rule5 % int2))) -> (rule1 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
((((((((triple9) -> (rule2 % int4))) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule1 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
int3
Gary is smart.
("Gary" "is" "smart" "+")
int4
Charlie is furry.
("Charlie" "is" "furry" "+")
((((triple2 ((triple2) -> (rule5 % int3))) -> (rule3 % int2)) triple2) -> (rule6 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3