Charlie is big. Erin is blue. Fiona is furry. Big people are blue. If someone is blue then they are furry. All kind, rough people are furry. All big, blue people are kind. If someone is kind then they are young. If Charlie is white and Charlie is rough then Charlie is young. All white, young people are big. All furry, big people are young.
Charlie is big.
("Charlie" "is" "big" "+")
Erin is blue.
("Erin" "is" "blue" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Big people are blue.
((("someone" "is" "big" "+")) -> ("someone" "is" "blue" "+"))
If someone is blue then they are furry.
((("someone" "is" "blue" "+")) -> ("someone" "is" "furry" "+"))
All kind, rough people are furry.
((("someone" "is" "kind" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "furry" "+"))
All big, blue people are kind.
((("someone" "is" "big" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "kind" "+"))
If someone is kind then they are young.
((("someone" "is" "kind" "+")) -> ("someone" "is" "young" "+"))
If Charlie is white and Charlie is rough then Charlie is young.
((("Charlie" "is" "white" "+") ("Charlie" "is" "rough" "+")) -> ("Charlie" "is" "young" "+"))
All white, young people are big.
((("someone" "is" "white" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "big" "+"))
All furry, big people are young.
((("someone" "is" "furry" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "young" "+"))
Erin is blue.
True
1
proof
[(triple2)]
("Erin" "is" "blue" "+")
triple2
Erin is not blue.
False
1
inv-proof
[(triple2)]
("Erin" "is" "blue" "-")
triple2
Erin is not big.
Unknown
inv-rconc
[@1: Erin is big.[CWA. Example of deepest failure = (rule7 <- FAIL)]]
("Erin" "is" "big" "-")
Fiona is white.
Unknown
random
[@0: Fiona is white.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "white" "+")
@0: Charlie is big.[(triple1)] Erin is blue.[(triple2)] Fiona is furry.[(triple3)] @1: Charlie is blue.[(((triple1) -> rule1))] Erin is furry.[(((triple2) -> rule2))] @2: Charlie is furry.[(((((triple1) -> rule1)) -> rule2))] Charlie is kind.[(((triple1 ((triple1) -> rule1)) -> rule4))] @3: Charlie is young.[(((((triple1 ((triple1) -> rule1)) -> rule4)) -> rule5) OR ((((((triple1) -> rule1)) -> rule2) triple1) -> rule8))]
Charlie is big.
("Charlie" "is" "big" "+")
triple1
Erin is blue.
("Erin" "is" "blue" "+")
triple2
Fiona is furry.
("Fiona" "is" "furry" "+")
triple3
Charlie is blue.
("Charlie" "is" "blue" "+")
((triple1) -> (rule1 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
((triple2) -> (rule2 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
((((triple1) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
((triple1 ((triple1) -> (rule1 % int2))) -> (rule4 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
((((triple1 ((triple1) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
int3
((((((triple1) -> (rule1 % int3))) -> (rule2 % int2)) triple1) -> (rule8 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
int3