Anne is green. Anne is rough. Anne is round. Bob is kind. Bob is nice. Bob is not rough. Bob is round. Erin is furry. Erin is nice. Erin is round. Fiona is kind. Fiona is not nice. If Anne is nice then Anne is young. If someone is young and not furry then they are green. Kind people are green. If someone is kind and rough then they are young. Rough people are nice. If Fiona is furry and Fiona is round then Fiona is green. All green people are round. Green people are kind.
Anne is green.
("Anne" "is" "green" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Anne is round.
("Anne" "is" "round" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Bob is not rough.
("Bob" "is" "rough" "-")
Bob is round.
("Bob" "is" "round" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is round.
("Erin" "is" "round" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is not nice.
("Fiona" "is" "nice" "-")
If Anne is nice then Anne is young.
((("Anne" "is" "nice" "+")) -> ("Anne" "is" "young" "+"))
If someone is young and not furry then they are green.
((("someone" "is" "young" "+") ("someone" "is" "furry" "~")) -> ("someone" "is" "green" "+"))
Kind people are green.
((("someone" "is" "kind" "+")) -> ("someone" "is" "green" "+"))
If someone is kind and rough then they are young.
((("someone" "is" "kind" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "young" "+"))
Rough people are nice.
((("someone" "is" "rough" "+")) -> ("someone" "is" "nice" "+"))
If Fiona is furry and Fiona is round then Fiona is green.
((("Fiona" "is" "furry" "+") ("Fiona" "is" "round" "+")) -> ("Fiona" "is" "green" "+"))
All green people are round.
((("someone" "is" "green" "+")) -> ("someone" "is" "round" "+"))
Green people are kind.
((("someone" "is" "green" "+")) -> ("someone" "is" "kind" "+"))
Fiona is not nice.
True
1
proof
[(triple12)]
("Fiona" "is" "nice" "-")
triple12
Anne is not round.
False
1
inv-proof
[(triple3 OR ((triple1) -> rule7))]
("Anne" "is" "round" "-")
triple3
((triple1) -> (rule7 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Bob is green.
True
2
proof
[(((triple4) -> rule3))]
("Bob" "is" "green" "+")
((triple4) -> (rule3 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is not green.
False
2
inv-proof
[(((triple4) -> rule3))]
("Bob" "is" "green" "-")
((triple4) -> (rule3 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Fiona is round.
True
3
proof
[(((((triple11) -> rule3)) -> rule7))]
("Fiona" "is" "round" "+")
((((triple11) -> (rule3 % int2))) -> (rule7 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Anne is not young.
False
3
inv-proof
[(((((triple2) -> rule5)) -> rule1) OR ((((triple1) -> rule8) triple2) -> rule4))]
("Anne" "is" "young" "-")
((((triple2) -> (rule5 % int2))) -> (rule1 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
((((triple1) -> (rule8 % int2)) triple2) -> (rule4 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Erin is not young.
Unknown
inv-rconc
[@1: Erin is young.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Erin" "is" "young" "-")
Fiona is young.
Unknown
rconc
[@1: Fiona is young.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Fiona" "is" "young" "+")
Erin is not kind.
Unknown
inv-rconc
[@2: Erin is kind.[CWA. Example of deepest failure = (rule8 <- rule2 <- FAIL)]]
("Erin" "is" "kind" "-")
Erin is rough.
Unknown
random
[@0: Erin is rough.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "rough" "+")
Anne is not furry.
Unknown
inv-random
[@0: Anne is furry.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "furry" "-")
Fiona is furry.
Unknown
random
[@0: Fiona is furry.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "furry" "+")
@0: Anne is green.[(triple1)] Anne is rough.[(triple2)] Anne is round.[(triple3 OR ((triple1) -> rule7))] Bob is kind.[(triple4)] Bob is nice.[(triple5)] Bob is not rough.[(triple6)] Bob is round.[(triple7 OR ((((triple4) -> rule3)) -> rule7))] Erin is furry.[(triple8)] Erin is nice.[(triple9)] Erin is round.[(triple10)] Fiona is kind.[(triple11)] Fiona is not nice.[(triple12)] @1: Anne is kind.[(((triple1) -> rule8))] Anne is nice.[(((triple2) -> rule5))] Bob is green.[(((triple4) -> rule3))] Fiona is green.[(((triple11) -> rule3))] @2: Anne is young.[(((((triple2) -> rule5)) -> rule1) OR ((((triple1) -> rule8) triple2) -> rule4))] Fiona is round.[(((((triple11) -> rule3)) -> rule7))]
Anne is green.
("Anne" "is" "green" "+")
triple1
Anne is rough.
("Anne" "is" "rough" "+")
triple2
Anne is round.
("Anne" "is" "round" "+")
triple3
((triple1) -> (rule7 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
triple4
Bob is nice.
("Bob" "is" "nice" "+")
triple5
Bob is not rough.
("Bob" "is" "rough" "-")
triple6
Bob is round.
("Bob" "is" "round" "+")
triple7
((((triple4) -> (rule3 % int2))) -> (rule7 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
triple8
Erin is nice.
("Erin" "is" "nice" "+")
triple9
Erin is round.
("Erin" "is" "round" "+")
triple10
Fiona is kind.
("Fiona" "is" "kind" "+")
triple11
Fiona is not nice.
("Fiona" "is" "nice" "-")
triple12
Anne is kind.
("Anne" "is" "kind" "+")
((triple1) -> (rule8 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
((triple2) -> (rule5 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
((triple4) -> (rule3 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
((triple11) -> (rule3 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
((((triple2) -> (rule5 % int2))) -> (rule1 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
((((triple1) -> (rule8 % int2)) triple2) -> (rule4 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
((((triple11) -> (rule3 % int2))) -> (rule7 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2