Charlie is blue. Charlie is furry. Charlie is nice. Charlie is rough. Charlie is young. Erin is blue. Erin is not furry. Erin is red. Erin is rough. Erin is smart. Fiona is blue. Fiona is furry. If Fiona is blue then Fiona is nice. If someone is blue and rough then they are young. If someone is smart and not blue then they are red. Furry, smart people are red. Furry people are smart. If someone is nice and not young then they are not smart. If Charlie is not young then Charlie is not nice. Red people are nice.
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is nice.
("Charlie" "is" "nice" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Charlie is young.
("Charlie" "is" "young" "+")
Erin is blue.
("Erin" "is" "blue" "+")
Erin is not furry.
("Erin" "is" "furry" "-")
Erin is red.
("Erin" "is" "red" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Erin is smart.
("Erin" "is" "smart" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
If Fiona is blue then Fiona is nice.
((("Fiona" "is" "blue" "+")) -> ("Fiona" "is" "nice" "+"))
If someone is blue and rough then they are young.
((("someone" "is" "blue" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "young" "+"))
If someone is smart and not blue then they are red.
((("someone" "is" "smart" "+") ("someone" "is" "blue" "~")) -> ("someone" "is" "red" "+"))
Furry, smart people are red.
((("someone" "is" "furry" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "red" "+"))
Furry people are smart.
((("someone" "is" "furry" "+")) -> ("someone" "is" "smart" "+"))
If someone is nice and not young then they are not smart.
((("someone" "is" "nice" "+") ("someone" "is" "young" "~")) -> ("someone" "is" "smart" "-"))
If Charlie is not young then Charlie is not nice.
((("Charlie" "is" "young" "~")) -> ("Charlie" "is" "nice" "-"))
Red people are nice.
((("someone" "is" "red" "+")) -> ("someone" "is" "nice" "+"))
Erin is rough.
True
1
proof
[(triple9)]
("Erin" "is" "rough" "+")
triple9
Charlie is not young.
False
1
inv-proof
[(triple5 OR ((triple1 triple4) -> rule2))]
("Charlie" "is" "young" "-")
triple5
((triple1 triple4) -> (rule2 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Fiona is smart.
True
2
proof
[(((triple12) -> rule5))]
("Fiona" "is" "smart" "+")
((triple12) -> (rule5 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Erin is not young.
False
3
inv-proof
[(((triple6 triple9) -> rule2))]
("Erin" "is" "young" "-")
((triple6 triple9) -> (rule2 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Fiona is not young.
Unknown
inv-rconc
[@1: Fiona is young.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Fiona" "is" "young" "-")
Fiona is rough.
Unknown
random
[@0: Fiona is rough.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "rough" "+")
@0: Charlie is blue.[(triple1)] Charlie is furry.[(triple2)] Charlie is nice.[(triple3 OR ((((triple2 ((triple2) -> rule5)) -> rule4)) -> rule8))] Charlie is rough.[(triple4)] Charlie is young.[(triple5 OR ((triple1 triple4) -> rule2))] Erin is blue.[(triple6)] Erin is not furry.[(triple7)] Erin is red.[(triple8)] Erin is rough.[(triple9)] Erin is smart.[(triple10)] Fiona is blue.[(triple11)] Fiona is furry.[(triple12)] @1: Charlie is smart.[(((triple2) -> rule5))] Erin is nice.[(((triple8) -> rule8))] Erin is young.[(((triple6 triple9) -> rule2))] Fiona is nice.[(((triple11) -> rule1) OR ((((triple12 ((triple12) -> rule5)) -> rule4)) -> rule8))] Fiona is smart.[(((triple12) -> rule5))] @2: Charlie is red.[(((triple2 ((triple2) -> rule5)) -> rule4))] Fiona is red.[(((triple12 ((triple12) -> rule5)) -> rule4))]
Charlie is blue.
("Charlie" "is" "blue" "+")
triple1
Charlie is furry.
("Charlie" "is" "furry" "+")
triple2
Charlie is nice.
("Charlie" "is" "nice" "+")
triple3
((((triple2 ((triple2) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule8 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is smart.
("Charlie" "is" "smart" "+")
int3
Charlie is rough.
("Charlie" "is" "rough" "+")
triple4
Charlie is young.
("Charlie" "is" "young" "+")
triple5
((triple1 triple4) -> (rule2 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
triple6
Erin is not furry.
("Erin" "is" "furry" "-")
triple7
Erin is red.
("Erin" "is" "red" "+")
triple8
Erin is rough.
("Erin" "is" "rough" "+")
triple9
Erin is smart.
("Erin" "is" "smart" "+")
triple10
Fiona is blue.
("Fiona" "is" "blue" "+")
triple11
Fiona is furry.
("Fiona" "is" "furry" "+")
triple12
Charlie is smart.
("Charlie" "is" "smart" "+")
((triple2) -> (rule5 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
((triple8) -> (rule8 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
((triple6 triple9) -> (rule2 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
((triple11) -> (rule1 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
((((triple12 ((triple12) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule8 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
Fiona is smart.
("Fiona" "is" "smart" "+")
((triple12) -> (rule5 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
((triple2 ((triple2) -> (rule5 % int2))) -> (rule4 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
((triple12 ((triple12) -> (rule5 % int2))) -> (rule4 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2