Erin is rough. Fiona is nice. Harry is furry. All rough, young things are not nice. Quiet things are not red. If Fiona is rough then Fiona is not quiet. Rough things are quiet. All rough things are young. All nice things are not rough. Red, nice things are furry. If something is young and not rough then it is not furry.
Erin is rough.
("Erin" "is" "rough" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Harry is furry.
("Harry" "is" "furry" "+")
All rough, young things are not nice.
((("something" "is" "rough" "+") ("something" "is" "young" "+")) -> ("something" "is" "nice" "-"))
Quiet things are not red.
((("something" "is" "quiet" "+")) -> ("something" "is" "red" "-"))
If Fiona is rough then Fiona is not quiet.
((("Fiona" "is" "rough" "+")) -> ("Fiona" "is" "quiet" "-"))
Rough things are quiet.
((("something" "is" "rough" "+")) -> ("something" "is" "quiet" "+"))
All rough things are young.
((("something" "is" "rough" "+")) -> ("something" "is" "young" "+"))
All nice things are not rough.
((("something" "is" "nice" "+")) -> ("something" "is" "rough" "-"))
Red, nice things are furry.
((("something" "is" "red" "+") ("something" "is" "nice" "+")) -> ("something" "is" "furry" "+"))
If something is young and not rough then it is not furry.
((("something" "is" "young" "+") ("something" "is" "rough" "~")) -> ("something" "is" "furry" "-"))
Harry is furry.
True
1
proof
[(triple3)]
("Harry" "is" "furry" "+")
triple3
Erin is not rough.
False
1
inv-proof
[(triple1)]
("Erin" "is" "rough" "-")
triple1
Erin is quiet.
True
2
proof
[(((triple1) -> rule4))]
("Erin" "is" "quiet" "+")
((triple1) -> (rule4 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is not young.
False
2
inv-proof
[(((triple1) -> rule5))]
("Erin" "is" "young" "-")
((triple1) -> (rule5 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is not red.
True
3
proof
[(((((triple1) -> rule4)) -> rule2))]
("Erin" "is" "red" "-")
((((triple1) -> (rule4 % int2))) -> (rule2 % int1))
Erin is not red.
("Erin" "is" "red" "-")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
Erin is red.
False
3
inv-proof
[(((((triple1) -> rule4)) -> rule2))]
("Erin" "is" "red" "+")
((((triple1) -> (rule4 % int2))) -> (rule2 % int1))
Erin is not red.
("Erin" "is" "red" "-")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
Erin is not furry.
Unknown
inv-rconc
[@1: Erin is furry.[CWA. Example of deepest failure = (rule7 <- FAIL)]]
("Erin" "is" "furry" "-")
Fiona is quiet.
Unknown
rconc
[@1: Fiona is quiet.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Fiona" "is" "quiet" "+")
Harry is not young.
Unknown
inv-rconc
[@1: Harry is young.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Harry" "is" "young" "-")
Harry is rough.
Unknown
random
[@0: Harry is rough.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "rough" "+")
Erin is not kind.
Unknown
inv-random
[@0: Erin is kind.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "kind" "-")
Harry is nice.
Unknown
random
[@0: Harry is nice.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "nice" "+")
@0: Erin is rough.[(triple1)] Fiona is nice.[(triple2)] Harry is furry.[(triple3)] @1: Erin is quiet.[(((triple1) -> rule4))] Erin is young.[(((triple1) -> rule5))] Fiona is not rough.[(((triple2) -> rule6))] @2: Erin is not nice.[(((triple1 ((triple1) -> rule5)) -> rule1))] Erin is not red.[(((((triple1) -> rule4)) -> rule2))]
Erin is rough.
("Erin" "is" "rough" "+")
triple1
Fiona is nice.
("Fiona" "is" "nice" "+")
triple2
Harry is furry.
("Harry" "is" "furry" "+")
triple3
Erin is quiet.
("Erin" "is" "quiet" "+")
((triple1) -> (rule4 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
((triple1) -> (rule5 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Fiona is not rough.
("Fiona" "is" "rough" "-")
((triple2) -> (rule6 % int1))
Fiona is not rough.
("Fiona" "is" "rough" "-")
int1
Erin is not nice.
("Erin" "is" "nice" "-")
((triple1 ((triple1) -> (rule5 % int2))) -> (rule1 % int1))
Erin is not nice.
("Erin" "is" "nice" "-")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is not red.
("Erin" "is" "red" "-")
((((triple1) -> (rule4 % int2))) -> (rule2 % int1))
Erin is not red.
("Erin" "is" "red" "-")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2