Dave is red. Dave is rough. Fiona is cold. Fiona is red. Fiona is rough. Gary is furry. Gary is quiet. Gary is red. Harry is cold. Harry is kind. Harry is quiet. Harry is red. If something is cold then it is furry. If something is rough and red then it is kind. Quiet things are furry. Big, quiet things are cold. Quiet things are big. Furry, kind things are red.
Dave is red.
("Dave" "is" "red" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is quiet.
("Gary" "is" "quiet" "+")
Gary is red.
("Gary" "is" "red" "+")
Harry is cold.
("Harry" "is" "cold" "+")
Harry is kind.
("Harry" "is" "kind" "+")
Harry is quiet.
("Harry" "is" "quiet" "+")
Harry is red.
("Harry" "is" "red" "+")
If something is cold then it is furry.
((("something" "is" "cold" "+")) -> ("something" "is" "furry" "+"))
If something is rough and red then it is kind.
((("something" "is" "rough" "+") ("something" "is" "red" "+")) -> ("something" "is" "kind" "+"))
Quiet things are furry.
((("something" "is" "quiet" "+")) -> ("something" "is" "furry" "+"))
Big, quiet things are cold.
((("something" "is" "big" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "cold" "+"))
Quiet things are big.
((("something" "is" "quiet" "+")) -> ("something" "is" "big" "+"))
Furry, kind things are red.
((("something" "is" "furry" "+") ("something" "is" "kind" "+")) -> ("something" "is" "red" "+"))
Fiona is rough.
True
1
proof
[(triple5)]
("Fiona" "is" "rough" "+")
triple5
Gary is not furry.
False
1
inv-proof
[(triple6 OR ((triple7) -> rule3) OR ((((((triple7) -> rule5) triple7) -> rule4)) -> rule1))]
("Gary" "is" "furry" "-")
triple6
((triple7) -> (rule3 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
((((((triple7) -> (rule5 % int3)) triple7) -> (rule4 % int2))) -> (rule1 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
int3
Dave is kind.
True
3
proof
[(((triple2 triple1) -> rule2))]
("Dave" "is" "kind" "+")
((triple2 triple1) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Fiona is not kind.
False
3
inv-proof
[(((triple5 triple4) -> rule2))]
("Fiona" "is" "kind" "-")
((triple5 triple4) -> (rule2 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Gary is cold.
True
4
proof
[(((((triple7) -> rule5) triple7) -> rule4))]
("Gary" "is" "cold" "+")
((((triple7) -> (rule5 % int2)) triple7) -> (rule4 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is not cold.
False
4
inv-proof
[(((((triple7) -> rule5) triple7) -> rule4))]
("Gary" "is" "cold" "-")
((((triple7) -> (rule5 % int2)) triple7) -> (rule4 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is not kind.
Unknown
inv-rconc
[@1: Gary is kind.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Gary" "is" "kind" "-")
Dave is cold.
Unknown
rconc
[@1: Dave is cold.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Dave" "is" "cold" "+")
Dave is not big.
Unknown
inv-rconc
[@1: Dave is big.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Dave" "is" "big" "-")
Gary is rough.
Unknown
random
[@0: Gary is rough.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "rough" "+")
Harry is not rough.
Unknown
inv-random
[@0: Harry is rough.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "rough" "-")
Fiona is quiet.
Unknown
random
[@0: Fiona is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "quiet" "+")
@0: Dave is red.[(triple1)] Dave is rough.[(triple2)] Fiona is cold.[(triple3)] Fiona is red.[(triple4)] Fiona is rough.[(triple5)] Gary is furry.[(triple6 OR ((triple7) -> rule3) OR ((((((triple7) -> rule5) triple7) -> rule4)) -> rule1))] Gary is quiet.[(triple7)] Gary is red.[(triple8)] Harry is cold.[(triple9 OR ((((triple11) -> rule5) triple11) -> rule4))] Harry is kind.[(triple10)] Harry is quiet.[(triple11)] Harry is red.[(triple12 OR ((((triple11) -> rule3) triple10) -> rule6) OR ((((triple9) -> rule1) triple10) -> rule6) OR ((((((((triple11) -> rule5) triple11) -> rule4)) -> rule1) triple10) -> rule6))] @1: Dave is kind.[(((triple2 triple1) -> rule2))] Fiona is furry.[(((triple3) -> rule1))] Fiona is kind.[(((triple5 triple4) -> rule2))] Gary is big.[(((triple7) -> rule5))] Harry is big.[(((triple11) -> rule5))] Harry is furry.[(((triple11) -> rule3) OR ((triple9) -> rule1) OR ((((((triple11) -> rule5) triple11) -> rule4)) -> rule1))] @2: Gary is cold.[(((((triple7) -> rule5) triple7) -> rule4))]
Dave is red.
("Dave" "is" "red" "+")
triple1
Dave is rough.
("Dave" "is" "rough" "+")
triple2
Fiona is cold.
("Fiona" "is" "cold" "+")
triple3
Fiona is red.
("Fiona" "is" "red" "+")
triple4
Fiona is rough.
("Fiona" "is" "rough" "+")
triple5
Gary is furry.
("Gary" "is" "furry" "+")
triple6
((triple7) -> (rule3 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
((((((triple7) -> (rule5 % int3)) triple7) -> (rule4 % int2))) -> (rule1 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
int3
Gary is quiet.
("Gary" "is" "quiet" "+")
triple7
Gary is red.
("Gary" "is" "red" "+")
triple8
Harry is cold.
("Harry" "is" "cold" "+")
triple9
((((triple11) -> (rule5 % int2)) triple11) -> (rule4 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
triple10
Harry is quiet.
("Harry" "is" "quiet" "+")
triple11
Harry is red.
("Harry" "is" "red" "+")
triple12
((((triple11) -> (rule3 % int2)) triple10) -> (rule6 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
int2
((((triple9) -> (rule1 % int2)) triple10) -> (rule6 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
int2
((((((((triple11) -> (rule5 % int4)) triple11) -> (rule4 % int3))) -> (rule1 % int2)) triple10) -> (rule6 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
int3
Harry is big.
("Harry" "is" "big" "+")
int4
Dave is kind.
("Dave" "is" "kind" "+")
((triple2 triple1) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
((triple3) -> (rule1 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
((triple5 triple4) -> (rule2 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
((triple7) -> (rule5 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
((triple11) -> (rule5 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
((triple11) -> (rule3 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
((triple9) -> (rule1 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
((((((triple11) -> (rule5 % int3)) triple11) -> (rule4 % int2))) -> (rule1 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
Gary is cold.
("Gary" "is" "cold" "+")
((((triple7) -> (rule5 % int2)) triple7) -> (rule4 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2