Charlie is young. Fiona is young. Harry is white. Young things are red. Rough, red things are nice. All smart things are not nice. If Harry is not smart then Harry is green. If Charlie is rough then Charlie is not smart. If Fiona is young then Fiona is rough.
Charlie is young.
("Charlie" "is" "young" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Harry is white.
("Harry" "is" "white" "+")
Young things are red.
((("something" "is" "young" "+")) -> ("something" "is" "red" "+"))
Rough, red things are nice.
((("something" "is" "rough" "+") ("something" "is" "red" "+")) -> ("something" "is" "nice" "+"))
All smart things are not nice.
((("something" "is" "smart" "+")) -> ("something" "is" "nice" "-"))
If Harry is not smart then Harry is green.
((("Harry" "is" "smart" "~")) -> ("Harry" "is" "green" "+"))
If Charlie is rough then Charlie is not smart.
((("Charlie" "is" "rough" "+")) -> ("Charlie" "is" "smart" "-"))
If Fiona is young then Fiona is rough.
((("Fiona" "is" "young" "+")) -> ("Fiona" "is" "rough" "+"))
Harry is white.
True
1
proof
[(triple3)]
("Harry" "is" "white" "+")
triple3
Fiona is not young.
False
1
inv-proof
[(triple2)]
("Fiona" "is" "young" "-")
triple2
Harry is not red.
Unknown
inv-rconc
[@1: Harry is red.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Harry" "is" "red" "-")
Harry is young.
Unknown
random
[@0: Harry is young.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "young" "+")
@0: Charlie is young.[(triple1)] Fiona is young.[(triple2)] Harry is white.[(triple3)] @1: Charlie is red.[(((triple1) -> rule1))] Fiona is red.[(((triple2) -> rule1))] Fiona is rough.[(((triple2) -> rule6))] @2: Fiona is nice.[(((((triple2) -> rule6) ((triple2) -> rule1)) -> rule2))]
Charlie is young.
("Charlie" "is" "young" "+")
triple1
Fiona is young.
("Fiona" "is" "young" "+")
triple2
Harry is white.
("Harry" "is" "white" "+")
triple3
Charlie is red.
("Charlie" "is" "red" "+")
((triple1) -> (rule1 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
((triple2) -> (rule1 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
((triple2) -> (rule6 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
((((triple2) -> (rule6 % int3)) ((triple2) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3