Charlie is nice. Charlie is quiet. Charlie is red. Dave is not cold. Dave is furry. Dave is green. Dave is not red. Fiona is cold. Fiona is green. Fiona is kind. Furry things are kind. If something is quiet then it is kind. Quiet, green things are kind. All furry, quiet things are red. If Dave is cold and Dave is red then Dave is furry. If something is quiet and furry then it is not green. If something is kind and red then it is cold. If something is cold and not red then it is nice.
Charlie is nice.
("Charlie" "is" "nice" "+")
Charlie is quiet.
("Charlie" "is" "quiet" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Dave is not cold.
("Dave" "is" "cold" "-")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is green.
("Dave" "is" "green" "+")
Dave is not red.
("Dave" "is" "red" "-")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Furry things are kind.
((("something" "is" "furry" "+")) -> ("something" "is" "kind" "+"))
If something is quiet then it is kind.
((("something" "is" "quiet" "+")) -> ("something" "is" "kind" "+"))
Quiet, green things are kind.
((("something" "is" "quiet" "+") ("something" "is" "green" "+")) -> ("something" "is" "kind" "+"))
All furry, quiet things are red.
((("something" "is" "furry" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "red" "+"))
If Dave is cold and Dave is red then Dave is furry.
((("Dave" "is" "cold" "+") ("Dave" "is" "red" "+")) -> ("Dave" "is" "furry" "+"))
If something is quiet and furry then it is not green.
((("something" "is" "quiet" "+") ("something" "is" "furry" "+")) -> ("something" "is" "green" "-"))
If something is kind and red then it is cold.
((("something" "is" "kind" "+") ("something" "is" "red" "+")) -> ("something" "is" "cold" "+"))
If something is cold and not red then it is nice.
((("something" "is" "cold" "+") ("something" "is" "red" "~")) -> ("something" "is" "nice" "+"))
Dave is furry.
True
1
proof
[(triple5)]
("Dave" "is" "furry" "+")
triple5
Charlie is not red.
False
1
inv-proof
[(triple3)]
("Charlie" "is" "red" "-")
triple3
Charlie is kind.
True
2
proof
[(((triple2) -> rule2))]
("Charlie" "is" "kind" "+")
((triple2) -> (rule2 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Dave is not kind.
False
2
inv-proof
[(((triple5) -> rule1))]
("Dave" "is" "kind" "-")
((triple5) -> (rule1 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Fiona is not nice.
Unknown
inv-rconc
[@1: Fiona is nice.[CWA. Example of deepest failure = (rule8 <- FAIL)]]
("Fiona" "is" "nice" "-")
Fiona is red.
Unknown
rconc
[@1: Fiona is red.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Fiona" "is" "red" "+")
Charlie is not green.
Unknown
inv-random
[@0: Charlie is green.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "green" "-")
Charlie is furry.
Unknown
random
[@0: Charlie is furry.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "furry" "+")
@0: Charlie is nice.[(triple1)] Charlie is quiet.[(triple2)] Charlie is red.[(triple3)] Dave is furry.[(triple5)] Dave is green.[(triple6)] Dave is not cold.[(triple4)] Dave is not red.[(triple7)] Fiona is cold.[(triple8)] Fiona is green.[(triple9)] Fiona is kind.[(triple10)] @1: Charlie is kind.[(((triple2) -> rule2))] Dave is kind.[(((triple5) -> rule1))] @2: Charlie is cold.[(((((triple2) -> rule2) triple3) -> rule7))]
Charlie is nice.
("Charlie" "is" "nice" "+")
triple1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple2
Charlie is red.
("Charlie" "is" "red" "+")
triple3
Dave is furry.
("Dave" "is" "furry" "+")
triple5
Dave is green.
("Dave" "is" "green" "+")
triple6
Dave is not cold.
("Dave" "is" "cold" "-")
triple4
Dave is not red.
("Dave" "is" "red" "-")
triple7
Fiona is cold.
("Fiona" "is" "cold" "+")
triple8
Fiona is green.
("Fiona" "is" "green" "+")
triple9
Fiona is kind.
("Fiona" "is" "kind" "+")
triple10
Charlie is kind.
("Charlie" "is" "kind" "+")
((triple2) -> (rule2 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
((triple5) -> (rule1 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
((((triple2) -> (rule2 % int2)) triple3) -> (rule7 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2