Bob is not cold. Bob is quiet. Bob is red. Charlie is kind. Charlie is nice. Charlie is not quiet. Charlie is rough. Dave is kind. Dave is red. Fiona is rough. All red people are rough. If someone is rough and red then they are nice. If Fiona is big and Fiona is nice then Fiona is rough. All nice, red people are not big. If someone is nice and not big then they are kind. Quiet, big people are kind. If someone is red and not big then they are quiet. All rough, cold people are not quiet. All quiet people are not cold.
Bob is not cold.
("Bob" "is" "cold" "-")
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is red.
("Bob" "is" "red" "+")
Charlie is kind.
("Charlie" "is" "kind" "+")
Charlie is nice.
("Charlie" "is" "nice" "+")
Charlie is not quiet.
("Charlie" "is" "quiet" "-")
Charlie is rough.
("Charlie" "is" "rough" "+")
Dave is kind.
("Dave" "is" "kind" "+")
Dave is red.
("Dave" "is" "red" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
All red people are rough.
((("someone" "is" "red" "+")) -> ("someone" "is" "rough" "+"))
If someone is rough and red then they are nice.
((("someone" "is" "rough" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "nice" "+"))
If Fiona is big and Fiona is nice then Fiona is rough.
((("Fiona" "is" "big" "+") ("Fiona" "is" "nice" "+")) -> ("Fiona" "is" "rough" "+"))
All nice, red people are not big.
((("someone" "is" "nice" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "big" "-"))
If someone is nice and not big then they are kind.
((("someone" "is" "nice" "+") ("someone" "is" "big" "~")) -> ("someone" "is" "kind" "+"))
Quiet, big people are kind.
((("someone" "is" "quiet" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "kind" "+"))
If someone is red and not big then they are quiet.
((("someone" "is" "red" "+") ("someone" "is" "big" "~")) -> ("someone" "is" "quiet" "+"))
All rough, cold people are not quiet.
((("someone" "is" "rough" "+") ("someone" "is" "cold" "+")) -> ("someone" "is" "quiet" "-"))
All quiet people are not cold.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "cold" "-"))
Charlie is nice.
True
1
proof
[(triple5)]
("Charlie" "is" "nice" "+")
triple5
Bob is not red.
False
1
inv-proof
[(triple3)]
("Bob" "is" "red" "-")
triple3
Dave is rough.
True
2
proof
[(((triple9) -> rule1))]
("Dave" "is" "rough" "+")
((triple9) -> (rule1 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is not rough.
False
2
inv-proof
[(((triple9) -> rule1))]
("Dave" "is" "rough" "-")
((triple9) -> (rule1 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is nice.
True
4
proof
[(((((triple9) -> rule1) triple9) -> rule2))]
("Dave" "is" "nice" "+")
((((triple9) -> (rule1 % int2)) triple9) -> (rule2 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is not nice.
False
4
inv-proof
[(((((triple9) -> rule1) triple9) -> rule2))]
("Dave" "is" "nice" "-")
((((triple9) -> (rule1 % int2)) triple9) -> (rule2 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is not big.
True
6
proof
[(((((((triple9) -> rule1) triple9) -> rule2) triple9) -> rule4))]
("Dave" "is" "big" "-")
((((((triple9) -> (rule1 % int3)) triple9) -> (rule2 % int2)) triple9) -> (rule4 % int1))
Dave is not big.
("Dave" "is" "big" "-")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Bob is big.
False
6
inv-proof
[(((((((triple3) -> rule1) triple3) -> rule2) triple3) -> rule4))]
("Bob" "is" "big" "+")
((((((triple3) -> (rule1 % int3)) triple3) -> (rule2 % int2)) triple3) -> (rule4 % int1))
Bob is not big.
("Bob" "is" "big" "-")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
int3
Dave is quiet.
True
8
proof
[(((triple9 ((((((triple9) -> rule1) triple9) -> rule2) triple9) -> rule4)) -> rule7))]
("Dave" "is" "quiet" "+")
((triple9 ((((((triple9) -> (rule1 % int4)) triple9) -> (rule2 % int3)) triple9) -> (rule4 % int2))) -> (rule7 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is not big.
("Dave" "is" "big" "-")
int2
Dave is nice.
("Dave" "is" "nice" "+")
int3
Dave is rough.
("Dave" "is" "rough" "+")
int4
Dave is not quiet.
False
8
inv-proof
[(((triple9 ((((((triple9) -> rule1) triple9) -> rule2) triple9) -> rule4)) -> rule7))]
("Dave" "is" "quiet" "-")
((triple9 ((((((triple9) -> (rule1 % int4)) triple9) -> (rule2 % int3)) triple9) -> (rule4 % int2))) -> (rule7 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is not big.
("Dave" "is" "big" "-")
int2
Dave is nice.
("Dave" "is" "nice" "+")
int3
Dave is rough.
("Dave" "is" "rough" "+")
int4
Dave is not cold.
True
9
proof
[(((((triple9 ((((((triple9) -> rule1) triple9) -> rule2) triple9) -> rule4)) -> rule7)) -> rule9))]
("Dave" "is" "cold" "-")
((((triple9 ((((((triple9) -> (rule1 % int5)) triple9) -> (rule2 % int4)) triple9) -> (rule4 % int3))) -> (rule7 % int2))) -> (rule9 % int1))
Dave is not cold.
("Dave" "is" "cold" "-")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
Dave is not big.
("Dave" "is" "big" "-")
int3
Dave is nice.
("Dave" "is" "nice" "+")
int4
Dave is rough.
("Dave" "is" "rough" "+")
int5
Dave is cold.
False
9
inv-proof
[(((((triple9 ((((((triple9) -> rule1) triple9) -> rule2) triple9) -> rule4)) -> rule7)) -> rule9))]
("Dave" "is" "cold" "+")
((((triple9 ((((((triple9) -> (rule1 % int5)) triple9) -> (rule2 % int4)) triple9) -> (rule4 % int3))) -> (rule7 % int2))) -> (rule9 % int1))
Dave is not cold.
("Dave" "is" "cold" "-")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
Dave is not big.
("Dave" "is" "big" "-")
int3
Dave is nice.
("Dave" "is" "nice" "+")
int4
Dave is rough.
("Dave" "is" "rough" "+")
int5
Fiona is not nice.
Unknown
inv-rconc
[@1: Fiona is nice.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Fiona" "is" "nice" "-")
Fiona is kind.
Unknown
rconc
[@1: Fiona is kind.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Fiona" "is" "kind" "+")
Fiona is not quiet.
Unknown
inv-rconc
[@1: Fiona is quiet.[CWA. Example of deepest failure = (rule7 <- FAIL)]]
("Fiona" "is" "quiet" "-")
Fiona is cold.
Unknown
random
[@0: Fiona is cold.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "cold" "+")
Charlie is not cold.
Unknown
inv-random
[@0: Charlie is cold.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "cold" "-")
Fiona is red.
Unknown
random
[@0: Fiona is red.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "red" "+")
Charlie is not red.
Unknown
inv-random
[@0: Charlie is red.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "red" "-")
Fiona is big.
Unknown
random
[@0: Fiona is big.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "big" "+")
@0: Bob is not cold.[(triple1 OR ((triple2) -> rule9) OR ((((triple3 ((((((triple3) -> rule1) triple3) -> rule2) triple3) -> rule4)) -> rule7)) -> rule9))] Bob is quiet.[(triple2 OR ((triple3 ((((((triple3) -> rule1) triple3) -> rule2) triple3) -> rule4)) -> rule7))] Bob is red.[(triple3)] Charlie is kind.[(triple4)] Charlie is nice.[(triple5)] Charlie is not quiet.[(triple6)] Charlie is rough.[(triple7)] Dave is kind.[(triple8 OR ((((((triple9) -> rule1) triple9) -> rule2) ((((((triple9) -> rule1) triple9) -> rule2) triple9) -> rule4)) -> rule5))] Dave is red.[(triple9)] Fiona is rough.[(triple10)] @1: Bob is rough.[(((triple3) -> rule1))] Dave is rough.[(((triple9) -> rule1))] @2: Bob is nice.[(((((triple3) -> rule1) triple3) -> rule2))] Dave is nice.[(((((triple9) -> rule1) triple9) -> rule2))] @3: Bob is not big.[(((((((triple3) -> rule1) triple3) -> rule2) triple3) -> rule4))] Dave is not big.[(((((((triple9) -> rule1) triple9) -> rule2) triple9) -> rule4))] @4: Bob is kind.[(((((((triple3) -> rule1) triple3) -> rule2) ((((((triple3) -> rule1) triple3) -> rule2) triple3) -> rule4)) -> rule5))] Dave is quiet.[(((triple9 ((((((triple9) -> rule1) triple9) -> rule2) triple9) -> rule4)) -> rule7))] @5: Dave is not cold.[(((((triple9 ((((((triple9) -> rule1) triple9) -> rule2) triple9) -> rule4)) -> rule7)) -> rule9))]
Bob is not cold.
("Bob" "is" "cold" "-")
triple1
((triple2) -> (rule9 % int1))
Bob is not cold.
("Bob" "is" "cold" "-")
int1
((((triple3 ((((((triple3) -> (rule1 % int5)) triple3) -> (rule2 % int4)) triple3) -> (rule4 % int3))) -> (rule7 % int2))) -> (rule9 % int1))
Bob is not cold.
("Bob" "is" "cold" "-")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is not big.
("Bob" "is" "big" "-")
int3
Bob is nice.
("Bob" "is" "nice" "+")
int4
Bob is rough.
("Bob" "is" "rough" "+")
int5
Bob is quiet.
("Bob" "is" "quiet" "+")
triple2
((triple3 ((((((triple3) -> (rule1 % int4)) triple3) -> (rule2 % int3)) triple3) -> (rule4 % int2))) -> (rule7 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is not big.
("Bob" "is" "big" "-")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
Bob is rough.
("Bob" "is" "rough" "+")
int4
Bob is red.
("Bob" "is" "red" "+")
triple3
Charlie is kind.
("Charlie" "is" "kind" "+")
triple4
Charlie is nice.
("Charlie" "is" "nice" "+")
triple5
Charlie is not quiet.
("Charlie" "is" "quiet" "-")
triple6
Charlie is rough.
("Charlie" "is" "rough" "+")
triple7
Dave is kind.
("Dave" "is" "kind" "+")
triple8
((((((triple9) -> (rule1 % int4)) triple9) -> (rule2 % int3)) ((((((triple9) -> (rule1 % int4)) triple9) -> (rule2 % int3)) triple9) -> (rule4 % int2))) -> (rule5 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is not big.
("Dave" "is" "big" "-")
int2
Dave is nice.
("Dave" "is" "nice" "+")
int3
Dave is rough.
("Dave" "is" "rough" "+")
int4
Dave is red.
("Dave" "is" "red" "+")
triple9
Fiona is rough.
("Fiona" "is" "rough" "+")
triple10
Bob is rough.
("Bob" "is" "rough" "+")
((triple3) -> (rule1 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
((triple9) -> (rule1 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
((((triple3) -> (rule1 % int2)) triple3) -> (rule2 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Dave is nice.
("Dave" "is" "nice" "+")
((((triple9) -> (rule1 % int2)) triple9) -> (rule2 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Bob is not big.
("Bob" "is" "big" "-")
((((((triple3) -> (rule1 % int3)) triple3) -> (rule2 % int2)) triple3) -> (rule4 % int1))
Bob is not big.
("Bob" "is" "big" "-")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
int3
Dave is not big.
("Dave" "is" "big" "-")
((((((triple9) -> (rule1 % int3)) triple9) -> (rule2 % int2)) triple9) -> (rule4 % int1))
Dave is not big.
("Dave" "is" "big" "-")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Bob is kind.
("Bob" "is" "kind" "+")
((((((triple3) -> (rule1 % int4)) triple3) -> (rule2 % int3)) ((((((triple3) -> (rule1 % int4)) triple3) -> (rule2 % int3)) triple3) -> (rule4 % int2))) -> (rule5 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is not big.
("Bob" "is" "big" "-")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
Bob is rough.
("Bob" "is" "rough" "+")
int4
Dave is quiet.
("Dave" "is" "quiet" "+")
((triple9 ((((((triple9) -> (rule1 % int4)) triple9) -> (rule2 % int3)) triple9) -> (rule4 % int2))) -> (rule7 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is not big.
("Dave" "is" "big" "-")
int2
Dave is nice.
("Dave" "is" "nice" "+")
int3
Dave is rough.
("Dave" "is" "rough" "+")
int4
Dave is not cold.
("Dave" "is" "cold" "-")
((((triple9 ((((((triple9) -> (rule1 % int5)) triple9) -> (rule2 % int4)) triple9) -> (rule4 % int3))) -> (rule7 % int2))) -> (rule9 % int1))
Dave is not cold.
("Dave" "is" "cold" "-")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
Dave is not big.
("Dave" "is" "big" "-")
int3
Dave is nice.
("Dave" "is" "nice" "+")
int4
Dave is rough.
("Dave" "is" "rough" "+")
int5