Dave is cold. Fiona is rough. Gary is big. Harry is nice. All rough things are cold. All rough things are quiet. If something is big then it is blue. Cold, blue things are white. If Gary is big then Gary is quiet. All blue things are rough.
Dave is cold.
("Dave" "is" "cold" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Gary is big.
("Gary" "is" "big" "+")
Harry is nice.
("Harry" "is" "nice" "+")
All rough things are cold.
((("something" "is" "rough" "+")) -> ("something" "is" "cold" "+"))
All rough things are quiet.
((("something" "is" "rough" "+")) -> ("something" "is" "quiet" "+"))
If something is big then it is blue.
((("something" "is" "big" "+")) -> ("something" "is" "blue" "+"))
Cold, blue things are white.
((("something" "is" "cold" "+") ("something" "is" "blue" "+")) -> ("something" "is" "white" "+"))
If Gary is big then Gary is quiet.
((("Gary" "is" "big" "+")) -> ("Gary" "is" "quiet" "+"))
All blue things are rough.
((("something" "is" "blue" "+")) -> ("something" "is" "rough" "+"))
Gary is big.
True
1
proof
[(triple3)]
("Gary" "is" "big" "+")
triple3
Fiona is not rough.
False
1
inv-proof
[(triple2)]
("Fiona" "is" "rough" "-")
triple2
Gary is quiet.
True
2
proof
[(((triple3) -> rule5) OR ((((((triple3) -> rule3)) -> rule6)) -> rule2))]
("Gary" "is" "quiet" "+")
((triple3) -> (rule5 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
((((((triple3) -> (rule3 % int3))) -> (rule6 % int2))) -> (rule2 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is blue.
("Gary" "is" "blue" "+")
int3
Fiona is not quiet.
False
2
inv-proof
[(((triple2) -> rule2))]
("Fiona" "is" "quiet" "-")
((triple2) -> (rule2 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Gary is rough.
True
3
proof
[(((((triple3) -> rule3)) -> rule6))]
("Gary" "is" "rough" "+")
((((triple3) -> (rule3 % int2))) -> (rule6 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is not rough.
False
3
inv-proof
[(((((triple3) -> rule3)) -> rule6))]
("Gary" "is" "rough" "-")
((((triple3) -> (rule3 % int2))) -> (rule6 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is cold.
True
4
proof
[(((((((triple3) -> rule3)) -> rule6)) -> rule1))]
("Gary" "is" "cold" "+")
((((((triple3) -> (rule3 % int3))) -> (rule6 % int2))) -> (rule1 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is blue.
("Gary" "is" "blue" "+")
int3
Gary is not cold.
False
4
inv-proof
[(((((((triple3) -> rule3)) -> rule6)) -> rule1))]
("Gary" "is" "cold" "-")
((((((triple3) -> (rule3 % int3))) -> (rule6 % int2))) -> (rule1 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is blue.
("Gary" "is" "blue" "+")
int3
Dave is not blue.
Unknown
inv-rconc
[@1: Dave is blue.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Dave" "is" "blue" "-")
Dave is white.
Unknown
rconc
[@2: Dave is white.[CWA. Example of deepest failure = (rule4 <- rule3 <- FAIL)]]
("Dave" "is" "white" "+")
Harry is not cold.
Unknown
inv-rconc
[@3: Harry is cold.[CWA. Example of deepest failure = (rule1 <- rule6 <- rule3 <- FAIL)]]
("Harry" "is" "cold" "-")
Harry is rough.
Unknown
rconc
[@2: Harry is rough.[CWA. Example of deepest failure = (rule6 <- rule3 <- FAIL)]]
("Harry" "is" "rough" "+")
Dave is not big.
Unknown
inv-random
[@0: Dave is big.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "big" "-")
Dave is nice.
Unknown
random
[@0: Dave is nice.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "nice" "+")
Fiona is not nice.
Unknown
inv-random
[@0: Fiona is nice.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "nice" "-")
Fiona is big.
Unknown
random
[@0: Fiona is big.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "big" "+")
@0: Dave is cold.[(triple1)] Fiona is rough.[(triple2)] Gary is big.[(triple3)] Harry is nice.[(triple4)] @1: Fiona is cold.[(((triple2) -> rule1))] Fiona is quiet.[(((triple2) -> rule2))] Gary is blue.[(((triple3) -> rule3))] Gary is quiet.[(((triple3) -> rule5) OR ((((((triple3) -> rule3)) -> rule6)) -> rule2))] @2: Gary is rough.[(((((triple3) -> rule3)) -> rule6))] @3: Gary is cold.[(((((((triple3) -> rule3)) -> rule6)) -> rule1))] @4: Gary is white.[(((((((((triple3) -> rule3)) -> rule6)) -> rule1) ((triple3) -> rule3)) -> rule4))]
Dave is cold.
("Dave" "is" "cold" "+")
triple1
Fiona is rough.
("Fiona" "is" "rough" "+")
triple2
Gary is big.
("Gary" "is" "big" "+")
triple3
Harry is nice.
("Harry" "is" "nice" "+")
triple4
Fiona is cold.
("Fiona" "is" "cold" "+")
((triple2) -> (rule1 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
((triple2) -> (rule2 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
((triple3) -> (rule3 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
((triple3) -> (rule5 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
((((((triple3) -> (rule3 % int3))) -> (rule6 % int2))) -> (rule2 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is blue.
("Gary" "is" "blue" "+")
int3
Gary is rough.
("Gary" "is" "rough" "+")
((((triple3) -> (rule3 % int2))) -> (rule6 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is cold.
("Gary" "is" "cold" "+")
((((((triple3) -> (rule3 % int3))) -> (rule6 % int2))) -> (rule1 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is blue.
("Gary" "is" "blue" "+")
int3
Gary is white.
("Gary" "is" "white" "+")
((((((((triple3) -> (rule3 % int4))) -> (rule6 % int3))) -> (rule1 % int2)) ((triple3) -> (rule3 % int4))) -> (rule4 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
Gary is blue.
("Gary" "is" "blue" "+")
int4