Erin is blue. Erin is cold. Erin is rough. Fiona is kind. Fiona is red. Fiona is round. Fiona is young. Gary is blue. Gary is cold. Gary is red. Gary is rough. Gary is round. Harry is blue. Harry is rough. Harry is young. If Harry is kind then Harry is young. If Harry is red and Harry is round then Harry is not young. If something is rough then it is cold. If something is round and red then it is rough. If something is young then it is round. If something is round then it is kind.
Erin is blue.
("Erin" "is" "blue" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Gary is blue.
("Gary" "is" "blue" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is red.
("Gary" "is" "red" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Gary is round.
("Gary" "is" "round" "+")
Harry is blue.
("Harry" "is" "blue" "+")
Harry is rough.
("Harry" "is" "rough" "+")
Harry is young.
("Harry" "is" "young" "+")
If Harry is kind then Harry is young.
((("Harry" "is" "kind" "+")) -> ("Harry" "is" "young" "+"))
If Harry is red and Harry is round then Harry is not young.
((("Harry" "is" "red" "+") ("Harry" "is" "round" "+")) -> ("Harry" "is" "young" "-"))
If something is rough then it is cold.
((("something" "is" "rough" "+")) -> ("something" "is" "cold" "+"))
If something is round and red then it is rough.
((("something" "is" "round" "+") ("something" "is" "red" "+")) -> ("something" "is" "rough" "+"))
If something is young then it is round.
((("something" "is" "young" "+")) -> ("something" "is" "round" "+"))
If something is round then it is kind.
((("something" "is" "round" "+")) -> ("something" "is" "kind" "+"))
Fiona is red.
True
1
proof
[(triple5)]
("Fiona" "is" "red" "+")
triple5
Harry is not rough.
False
1
inv-proof
[(triple14)]
("Harry" "is" "rough" "-")
triple14
Gary is kind.
True
2
proof
[(((triple12) -> rule6))]
("Gary" "is" "kind" "+")
((triple12) -> (rule6 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is not kind.
False
2
inv-proof
[(((triple12) -> rule6))]
("Gary" "is" "kind" "-")
((triple12) -> (rule6 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Erin is not round.
Unknown
inv-rconc
[@1: Erin is round.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Erin" "is" "round" "-")
Erin is kind.
Unknown
rconc
[@2: Erin is kind.[CWA. Example of deepest failure = (rule6 <- rule5 <- FAIL)]]
("Erin" "is" "kind" "+")
Erin is not red.
Unknown
inv-random
[@0: Erin is red.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "red" "-")
Gary is young.
Unknown
random
[@0: Gary is young.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "young" "+")
@0: Erin is blue.[(triple1)] Erin is cold.[(triple2 OR ((triple3) -> rule3))] Erin is rough.[(triple3)] Fiona is kind.[(triple4 OR ((triple6) -> rule6) OR ((((triple7) -> rule5)) -> rule6))] Fiona is red.[(triple5)] Fiona is round.[(triple6 OR ((triple7) -> rule5))] Fiona is young.[(triple7)] Gary is blue.[(triple8)] Gary is cold.[(triple9 OR ((triple11) -> rule3) OR ((((triple12 triple10) -> rule4)) -> rule3))] Gary is red.[(triple10)] Gary is rough.[(triple11 OR ((triple12 triple10) -> rule4))] Gary is round.[(triple12)] Harry is blue.[(triple13)] Harry is rough.[(triple14)] Harry is young.[(triple15)] @1: Fiona is rough.[(((triple6 triple5) -> rule4) OR ((((triple7) -> rule5) triple5) -> rule4))] Gary is kind.[(((triple12) -> rule6))] Harry is cold.[(((triple14) -> rule3))] Harry is round.[(((triple15) -> rule5))] @2: Fiona is cold.[(((((triple6 triple5) -> rule4)) -> rule3) OR ((((((triple7) -> rule5) triple5) -> rule4)) -> rule3))] Harry is kind.[(((((triple15) -> rule5)) -> rule6))]
Erin is blue.
("Erin" "is" "blue" "+")
triple1
Erin is cold.
("Erin" "is" "cold" "+")
triple2
((triple3) -> (rule3 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
triple3
Fiona is kind.
("Fiona" "is" "kind" "+")
triple4
((triple6) -> (rule6 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
((((triple7) -> (rule5 % int2))) -> (rule6 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
triple5
Fiona is round.
("Fiona" "is" "round" "+")
triple6
((triple7) -> (rule5 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
triple7
Gary is blue.
("Gary" "is" "blue" "+")
triple8
Gary is cold.
("Gary" "is" "cold" "+")
triple9
((triple11) -> (rule3 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
((((triple12 triple10) -> (rule4 % int2))) -> (rule3 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
triple10
Gary is rough.
("Gary" "is" "rough" "+")
triple11
((triple12 triple10) -> (rule4 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
triple12
Harry is blue.
("Harry" "is" "blue" "+")
triple13
Harry is rough.
("Harry" "is" "rough" "+")
triple14
Harry is young.
("Harry" "is" "young" "+")
triple15
Fiona is rough.
("Fiona" "is" "rough" "+")
((triple6 triple5) -> (rule4 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
((((triple7) -> (rule5 % int2)) triple5) -> (rule4 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
((triple12) -> (rule6 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
((triple14) -> (rule3 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
((triple15) -> (rule5 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
((((triple6 triple5) -> (rule4 % int2))) -> (rule3 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
((((((triple7) -> (rule5 % int3)) triple5) -> (rule4 % int2))) -> (rule3 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
int3
Harry is kind.
("Harry" "is" "kind" "+")
((((triple15) -> (rule5 % int2))) -> (rule6 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2