Bob is blue. Erin is cold. Erin is rough. Fiona is furry. Fiona is rough. Fiona is round. Fiona is white. Harry is blue. Harry is furry. Harry is rough. All cold, white things are round. If something is cold and round then it is kind. If Fiona is blue then Fiona is kind. Furry, white things are rough. If something is white and kind then it is cold. If Fiona is white and Fiona is kind then Fiona is furry. All white, kind things are rough. If something is furry then it is cold.
Bob is blue.
("Bob" "is" "blue" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Fiona is white.
("Fiona" "is" "white" "+")
Harry is blue.
("Harry" "is" "blue" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is rough.
("Harry" "is" "rough" "+")
All cold, white things are round.
((("something" "is" "cold" "+") ("something" "is" "white" "+")) -> ("something" "is" "round" "+"))
If something is cold and round then it is kind.
((("something" "is" "cold" "+") ("something" "is" "round" "+")) -> ("something" "is" "kind" "+"))
If Fiona is blue then Fiona is kind.
((("Fiona" "is" "blue" "+")) -> ("Fiona" "is" "kind" "+"))
Furry, white things are rough.
((("something" "is" "furry" "+") ("something" "is" "white" "+")) -> ("something" "is" "rough" "+"))
If something is white and kind then it is cold.
((("something" "is" "white" "+") ("something" "is" "kind" "+")) -> ("something" "is" "cold" "+"))
If Fiona is white and Fiona is kind then Fiona is furry.
((("Fiona" "is" "white" "+") ("Fiona" "is" "kind" "+")) -> ("Fiona" "is" "furry" "+"))
All white, kind things are rough.
((("something" "is" "white" "+") ("something" "is" "kind" "+")) -> ("something" "is" "rough" "+"))
If something is furry then it is cold.
((("something" "is" "furry" "+")) -> ("something" "is" "cold" "+"))
Harry is blue.
True
1
proof
[(triple8)]
("Harry" "is" "blue" "+")
triple8
Fiona is not round.
False
1
inv-proof
[(triple6 OR ((((triple4) -> rule8) triple7) -> rule1))]
("Fiona" "is" "round" "-")
triple6
((((triple4) -> (rule8 % int2)) triple7) -> (rule1 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Erin is not kind.
Unknown
inv-rconc
[@2: Erin is kind.[CWA. Example of deepest failure = (rule2 <- rule1 <- FAIL)]]
("Erin" "is" "kind" "-")
Erin is furry.
Unknown
random
[@0: Erin is furry.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "furry" "+")
@0: Bob is blue.[(triple1)] Erin is cold.[(triple2)] Erin is rough.[(triple3)] Fiona is furry.[(triple4)] Fiona is rough.[(triple5 OR ((triple4 triple7) -> rule4) OR ((triple7 ((((triple4) -> rule8) triple6) -> rule2)) -> rule7) OR ((triple7 ((((triple4) -> rule8) ((((triple4) -> rule8) triple7) -> rule1)) -> rule2)) -> rule7))] Fiona is round.[(triple6 OR ((((triple4) -> rule8) triple7) -> rule1))] Fiona is white.[(triple7)] Harry is blue.[(triple8)] Harry is furry.[(triple9)] Harry is rough.[(triple10)] @1: Fiona is cold.[(((triple4) -> rule8))] Harry is cold.[(((triple9) -> rule8))] @2: Fiona is kind.[(((((triple4) -> rule8) triple6) -> rule2) OR ((((triple4) -> rule8) ((((triple4) -> rule8) triple7) -> rule1)) -> rule2))]
Bob is blue.
("Bob" "is" "blue" "+")
triple1
Erin is cold.
("Erin" "is" "cold" "+")
triple2
Erin is rough.
("Erin" "is" "rough" "+")
triple3
Fiona is furry.
("Fiona" "is" "furry" "+")
triple4
Fiona is rough.
("Fiona" "is" "rough" "+")
triple5
((triple4 triple7) -> (rule4 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
((triple7 ((((triple4) -> (rule8 % int3)) triple6) -> (rule2 % int2))) -> (rule7 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
((triple7 ((((triple4) -> (rule8 % int4)) ((((triple4) -> (rule8 % int4)) triple7) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
int3
Fiona is cold.
("Fiona" "is" "cold" "+")
int4
Fiona is round.
("Fiona" "is" "round" "+")
triple6
((((triple4) -> (rule8 % int2)) triple7) -> (rule1 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
triple7
Harry is blue.
("Harry" "is" "blue" "+")
triple8
Harry is furry.
("Harry" "is" "furry" "+")
triple9
Harry is rough.
("Harry" "is" "rough" "+")
triple10
Fiona is cold.
("Fiona" "is" "cold" "+")
((triple4) -> (rule8 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
((triple9) -> (rule8 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
((((triple4) -> (rule8 % int2)) triple6) -> (rule2 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
((((triple4) -> (rule8 % int3)) ((((triple4) -> (rule8 % int3)) triple7) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3