Anne is young. Bob is kind. Charlie is blue. Charlie is quiet. Charlie is rough. Charlie is young. Fiona is kind. If something is kind then it is young. Blue things are young. If something is rough then it is nice. Rough, smart things are nice. All blue things are kind. All rough things are young. If Bob is blue and Bob is quiet then Bob is nice. All nice, kind things are smart.
Anne is young.
("Anne" "is" "young" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is quiet.
("Charlie" "is" "quiet" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Charlie is young.
("Charlie" "is" "young" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
If something is kind then it is young.
((("something" "is" "kind" "+")) -> ("something" "is" "young" "+"))
Blue things are young.
((("something" "is" "blue" "+")) -> ("something" "is" "young" "+"))
If something is rough then it is nice.
((("something" "is" "rough" "+")) -> ("something" "is" "nice" "+"))
Rough, smart things are nice.
((("something" "is" "rough" "+") ("something" "is" "smart" "+")) -> ("something" "is" "nice" "+"))
All blue things are kind.
((("something" "is" "blue" "+")) -> ("something" "is" "kind" "+"))
All rough things are young.
((("something" "is" "rough" "+")) -> ("something" "is" "young" "+"))
If Bob is blue and Bob is quiet then Bob is nice.
((("Bob" "is" "blue" "+") ("Bob" "is" "quiet" "+")) -> ("Bob" "is" "nice" "+"))
All nice, kind things are smart.
((("something" "is" "nice" "+") ("something" "is" "kind" "+")) -> ("something" "is" "smart" "+"))
Charlie is young.
True
1
proof
[(triple6 OR ((triple3) -> rule2) OR ((triple5) -> rule6) OR ((((triple3) -> rule5)) -> rule1))]
("Charlie" "is" "young" "+")
triple6
((triple3) -> (rule2 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
((triple5) -> (rule6 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
((((triple3) -> (rule5 % int2))) -> (rule1 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is not young.
False
1
inv-proof
[(triple6 OR ((triple3) -> rule2) OR ((triple5) -> rule6) OR ((((triple3) -> rule5)) -> rule1))]
("Charlie" "is" "young" "-")
triple6
((triple3) -> (rule2 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
((triple5) -> (rule6 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
((((triple3) -> (rule5 % int2))) -> (rule1 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Bob is young.
True
2
proof
[(((triple2) -> rule1))]
("Bob" "is" "young" "+")
((triple2) -> (rule1 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Charlie is not kind.
False
2
inv-proof
[(((triple3) -> rule5))]
("Charlie" "is" "kind" "-")
((triple3) -> (rule5 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Fiona is not smart.
Unknown
inv-rconc
[@2: Fiona is smart.[CWA. Example of deepest failure = (rule8 <- rule3 <- FAIL)]]
("Fiona" "is" "smart" "-")
Anne is smart.
Unknown
rconc
[@2: Anne is smart.[CWA. Example of deepest failure = (rule8 <- rule3 <- FAIL)]]
("Anne" "is" "smart" "+")
Fiona is not rough.
Unknown
inv-random
[@0: Fiona is rough.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "rough" "-")
Anne is blue.
Unknown
random
[@0: Anne is blue.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "blue" "+")
@0: Anne is young.[(triple1)] Bob is kind.[(triple2)] Charlie is blue.[(triple3)] Charlie is quiet.[(triple4)] Charlie is rough.[(triple5)] Charlie is young.[(triple6 OR ((triple3) -> rule2) OR ((triple5) -> rule6) OR ((((triple3) -> rule5)) -> rule1))] Fiona is kind.[(triple7)] @1: Bob is young.[(((triple2) -> rule1))] Charlie is kind.[(((triple3) -> rule5))] Charlie is nice.[(((triple5) -> rule3))] Fiona is young.[(((triple7) -> rule1))] @2: Charlie is smart.[(((((triple5) -> rule3) ((triple3) -> rule5)) -> rule8))]
Anne is young.
("Anne" "is" "young" "+")
triple1
Bob is kind.
("Bob" "is" "kind" "+")
triple2
Charlie is blue.
("Charlie" "is" "blue" "+")
triple3
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple4
Charlie is rough.
("Charlie" "is" "rough" "+")
triple5
Charlie is young.
("Charlie" "is" "young" "+")
triple6
((triple3) -> (rule2 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
((triple5) -> (rule6 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
((((triple3) -> (rule5 % int2))) -> (rule1 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
triple7
Bob is young.
("Bob" "is" "young" "+")
((triple2) -> (rule1 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
((triple3) -> (rule5 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
((triple5) -> (rule3 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
((triple7) -> (rule1 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
((((triple5) -> (rule3 % int3)) ((triple3) -> (rule5 % int2))) -> (rule8 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3