Bob is not kind. Bob is quiet. Bob is not round. Erin is big. Erin is blue. Erin is quiet. Erin is red. Erin is round. Gary is quiet. Gary is round. All round things are kind. If something is big then it is kind. If something is kind and not quiet then it is round. If something is quiet and not kind then it is blue. Kind things are blue. Round, blue things are not rough.
Bob is not kind.
("Bob" "is" "kind" "-")
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is not round.
("Bob" "is" "round" "-")
Erin is big.
("Erin" "is" "big" "+")
Erin is blue.
("Erin" "is" "blue" "+")
Erin is quiet.
("Erin" "is" "quiet" "+")
Erin is red.
("Erin" "is" "red" "+")
Erin is round.
("Erin" "is" "round" "+")
Gary is quiet.
("Gary" "is" "quiet" "+")
Gary is round.
("Gary" "is" "round" "+")
All round things are kind.
((("something" "is" "round" "+")) -> ("something" "is" "kind" "+"))
If something is big then it is kind.
((("something" "is" "big" "+")) -> ("something" "is" "kind" "+"))
If something is kind and not quiet then it is round.
((("something" "is" "kind" "+") ("something" "is" "quiet" "~")) -> ("something" "is" "round" "+"))
If something is quiet and not kind then it is blue.
((("something" "is" "quiet" "+") ("something" "is" "kind" "~")) -> ("something" "is" "blue" "+"))
Kind things are blue.
((("something" "is" "kind" "+")) -> ("something" "is" "blue" "+"))
Round, blue things are not rough.
((("something" "is" "round" "+") ("something" "is" "blue" "+")) -> ("something" "is" "rough" "-"))
Gary is round.
True
1
proof
[(triple10)]
("Gary" "is" "round" "+")
triple10
Erin is not blue.
False
1
inv-proof
[(triple5 OR ((((triple4) -> rule2)) -> rule5) OR ((((triple8) -> rule1)) -> rule5))]
("Erin" "is" "blue" "-")
triple5
((((triple4) -> (rule2 % int2))) -> (rule5 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
((((triple8) -> (rule1 % int2))) -> (rule5 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
Gary is kind.
True
2
proof
[(((triple10) -> rule1))]
("Gary" "is" "kind" "+")
((triple10) -> (rule1 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Bob is not blue.
False
3
inv-proof
[(((triple2 triple1) -> rule4))]
("Bob" "is" "blue" "-")
((triple2 triple1) -> (rule4 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Gary is blue.
True
3
proof
[(((((triple10) -> rule1)) -> rule5))]
("Gary" "is" "blue" "+")
((((triple10) -> (rule1 % int2))) -> (rule5 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is not blue.
False
3
inv-proof
[(((((triple10) -> rule1)) -> rule5))]
("Gary" "is" "blue" "-")
((((triple10) -> (rule1 % int2))) -> (rule5 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is not rough.
True
5
proof
[(((triple10 ((((triple10) -> rule1)) -> rule5)) -> rule6))]
("Gary" "is" "rough" "-")
((triple10 ((((triple10) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Gary is not rough.
("Gary" "is" "rough" "-")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
Gary is rough.
False
5
inv-proof
[(((triple10 ((((triple10) -> rule1)) -> rule5)) -> rule6))]
("Gary" "is" "rough" "+")
((triple10 ((((triple10) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Gary is not rough.
("Gary" "is" "rough" "-")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
Gary is not big.
Unknown
inv-random
[@0: Gary is big.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "big" "-")
Gary is red.
Unknown
random
[@0: Gary is red.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "red" "+")
Bob is not big.
Unknown
inv-random
[@0: Bob is big.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "big" "-")
Bob is red.
Unknown
random
[@0: Bob is red.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "red" "+")
@0: Bob is not kind.[(triple1)] Bob is not round.[(triple3)] Bob is quiet.[(triple2)] Erin is big.[(triple4)] Erin is blue.[(triple5 OR ((((triple4) -> rule2)) -> rule5) OR ((((triple8) -> rule1)) -> rule5))] Erin is quiet.[(triple6)] Erin is red.[(triple7)] Erin is round.[(triple8)] Gary is quiet.[(triple9)] Gary is round.[(triple10)] @1: Bob is blue.[(((triple2 triple1) -> rule4))] Erin is kind.[(((triple4) -> rule2) OR ((triple8) -> rule1))] Erin is not rough.[(((triple8 triple5) -> rule6) OR ((triple8 ((((triple4) -> rule2)) -> rule5)) -> rule6) OR ((triple8 ((((triple8) -> rule1)) -> rule5)) -> rule6))] Gary is kind.[(((triple10) -> rule1))] @2: Gary is blue.[(((((triple10) -> rule1)) -> rule5))] @3: Gary is not rough.[(((triple10 ((((triple10) -> rule1)) -> rule5)) -> rule6))]
Bob is not kind.
("Bob" "is" "kind" "-")
triple1
Bob is not round.
("Bob" "is" "round" "-")
triple3
Bob is quiet.
("Bob" "is" "quiet" "+")
triple2
Erin is big.
("Erin" "is" "big" "+")
triple4
Erin is blue.
("Erin" "is" "blue" "+")
triple5
((((triple4) -> (rule2 % int2))) -> (rule5 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
((((triple8) -> (rule1 % int2))) -> (rule5 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
Erin is quiet.
("Erin" "is" "quiet" "+")
triple6
Erin is red.
("Erin" "is" "red" "+")
triple7
Erin is round.
("Erin" "is" "round" "+")
triple8
Gary is quiet.
("Gary" "is" "quiet" "+")
triple9
Gary is round.
("Gary" "is" "round" "+")
triple10
Bob is blue.
("Bob" "is" "blue" "+")
((triple2 triple1) -> (rule4 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
((triple4) -> (rule2 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
((triple8) -> (rule1 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is not rough.
("Erin" "is" "rough" "-")
((triple8 triple5) -> (rule6 % int1))
Erin is not rough.
("Erin" "is" "rough" "-")
int1
((triple8 ((((triple4) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Erin is not rough.
("Erin" "is" "rough" "-")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
((triple8 ((((triple8) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Erin is not rough.
("Erin" "is" "rough" "-")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
Gary is kind.
("Gary" "is" "kind" "+")
((triple10) -> (rule1 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
((((triple10) -> (rule1 % int2))) -> (rule5 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is not rough.
("Gary" "is" "rough" "-")
((triple10 ((((triple10) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Gary is not rough.
("Gary" "is" "rough" "-")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3