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