Bob is not quiet. Bob is round. Fiona is red. Fiona is round. Gary is cold. Gary is nice. Gary is round. Nice things are round. Round things are kind. If something is quiet and not cold then it is kind. If something is quiet then it is kind. If Bob is kind then Bob is not big. If something is round and cold then it is nice. If something is cold and not nice then it is not red. If something is kind and not quiet then it is not red.
Bob is not quiet.
("Bob" "is" "quiet" "-")
Bob is round.
("Bob" "is" "round" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is nice.
("Gary" "is" "nice" "+")
Gary is round.
("Gary" "is" "round" "+")
Nice things are round.
((("something" "is" "nice" "+")) -> ("something" "is" "round" "+"))
Round things are kind.
((("something" "is" "round" "+")) -> ("something" "is" "kind" "+"))
If something is quiet and not cold then it is kind.
((("something" "is" "quiet" "+") ("something" "is" "cold" "~")) -> ("something" "is" "kind" "+"))
If something is quiet then it is kind.
((("something" "is" "quiet" "+")) -> ("something" "is" "kind" "+"))
If Bob is kind then Bob is not big.
((("Bob" "is" "kind" "+")) -> ("Bob" "is" "big" "-"))
If something is round and cold then it is nice.
((("something" "is" "round" "+") ("something" "is" "cold" "+")) -> ("something" "is" "nice" "+"))
If something is cold and not nice then it is not red.
((("something" "is" "cold" "+") ("something" "is" "nice" "~")) -> ("something" "is" "red" "-"))
If something is kind and not quiet then it is not red.
((("something" "is" "kind" "+") ("something" "is" "quiet" "~")) -> ("something" "is" "red" "-"))
Gary is cold.
True
1
proof
[(triple5)]
("Gary" "is" "cold" "+")
triple5
Bob is not round.
False
1
inv-proof
[(triple2)]
("Bob" "is" "round" "-")
triple2
Gary is kind.
True
2
proof
[(((triple7) -> rule2) OR ((((triple6) -> rule1)) -> rule2))]
("Gary" "is" "kind" "+")
((triple7) -> (rule2 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
((((triple6) -> (rule1 % int2))) -> (rule2 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Gary is not kind.
False
2
inv-proof
[(((triple7) -> rule2) OR ((((triple6) -> rule1)) -> rule2))]
("Gary" "is" "kind" "-")
((triple7) -> (rule2 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
((((triple6) -> (rule1 % int2))) -> (rule2 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Bob is not big.
True
3
proof
[(((((triple2) -> rule2)) -> rule5))]
("Bob" "is" "big" "-")
((((triple2) -> (rule2 % int2))) -> (rule5 % int1))
Bob is not big.
("Bob" "is" "big" "-")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is big.
False
3
inv-proof
[(((((triple2) -> rule2)) -> rule5))]
("Bob" "is" "big" "+")
((((triple2) -> (rule2 % int2))) -> (rule5 % int1))
Bob is not big.
("Bob" "is" "big" "-")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is not nice.
Unknown
inv-rconc
[@1: Bob is nice.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Bob" "is" "nice" "-")
Fiona is nice.
Unknown
rconc
[@1: Fiona is nice.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Fiona" "is" "nice" "+")
Gary is not big.
Unknown
inv-random
[@0: Gary is big.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "big" "-")
Fiona is big.
Unknown
random
[@0: Fiona is big.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "big" "+")
Gary is not quiet.
Unknown
inv-random
[@0: Gary is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "quiet" "-")
Fiona is cold.
Unknown
random
[@0: Fiona is cold.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "cold" "+")
@0: Bob is not quiet.[(triple1)] Bob is round.[(triple2)] Fiona is red.[(triple3)] Fiona is round.[(triple4)] Gary is cold.[(triple5)] Gary is nice.[(triple6 OR ((triple7 triple5) -> rule6))] Gary is round.[(triple7 OR ((triple6) -> rule1))] @1: Bob is kind.[(((triple2) -> rule2))] Fiona is kind.[(((triple4) -> rule2))] Gary is kind.[(((triple7) -> rule2) OR ((((triple6) -> rule1)) -> rule2))] @2: Bob is not big.[(((((triple2) -> rule2)) -> rule5))] Bob is not red.[(((((triple2) -> rule2) triple1) -> rule8))]
Bob is not quiet.
("Bob" "is" "quiet" "-")
triple1
Bob is round.
("Bob" "is" "round" "+")
triple2
Fiona is red.
("Fiona" "is" "red" "+")
triple3
Fiona is round.
("Fiona" "is" "round" "+")
triple4
Gary is cold.
("Gary" "is" "cold" "+")
triple5
Gary is nice.
("Gary" "is" "nice" "+")
triple6
((triple7 triple5) -> (rule6 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
triple7
((triple6) -> (rule1 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
((triple2) -> (rule2 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
((triple4) -> (rule2 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
((triple7) -> (rule2 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
((((triple6) -> (rule1 % int2))) -> (rule2 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Bob is not big.
("Bob" "is" "big" "-")
((((triple2) -> (rule2 % int2))) -> (rule5 % int1))
Bob is not big.
("Bob" "is" "big" "-")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is not red.
("Bob" "is" "red" "-")
((((triple2) -> (rule2 % int2)) triple1) -> (rule8 % int1))
Bob is not red.
("Bob" "is" "red" "-")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2