Charlie is kind. Charlie is nice. Charlie is not rough. Fiona is young. Gary is blue. Gary is young. Harry is kind. If someone is big and kind then they are blue. All kind people are young. All rough people are green. Blue people are green. All nice, kind people are big. All green people are kind.
Charlie is kind.
("Charlie" "is" "kind" "+")
Charlie is nice.
("Charlie" "is" "nice" "+")
Charlie is not rough.
("Charlie" "is" "rough" "-")
Fiona is young.
("Fiona" "is" "young" "+")
Gary is blue.
("Gary" "is" "blue" "+")
Gary is young.
("Gary" "is" "young" "+")
Harry is kind.
("Harry" "is" "kind" "+")
If someone is big and kind then they are blue.
((("someone" "is" "big" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "blue" "+"))
All kind people are young.
((("someone" "is" "kind" "+")) -> ("someone" "is" "young" "+"))
All rough people are green.
((("someone" "is" "rough" "+")) -> ("someone" "is" "green" "+"))
Blue people are green.
((("someone" "is" "blue" "+")) -> ("someone" "is" "green" "+"))
All nice, kind people are big.
((("someone" "is" "nice" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "big" "+"))
All green people are kind.
((("someone" "is" "green" "+")) -> ("someone" "is" "kind" "+"))
Gary is blue.
True
1
proof
[(triple5)]
("Gary" "is" "blue" "+")
triple5
Fiona is not young.
False
1
inv-proof
[(triple4)]
("Fiona" "is" "young" "-")
triple4
Gary is green.
True
2
proof
[(((triple5) -> rule4))]
("Gary" "is" "green" "+")
((triple5) -> (rule4 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Charlie is not young.
False
2
inv-proof
[(((triple1) -> rule2))]
("Charlie" "is" "young" "-")
((triple1) -> (rule2 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is blue.
True
5
proof
[(((((triple2 triple1) -> rule5) triple1) -> rule1))]
("Charlie" "is" "blue" "+")
((((triple2 triple1) -> (rule5 % int2)) triple1) -> (rule1 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Gary is not kind.
False
3
inv-proof
[(((((triple5) -> rule4)) -> rule6))]
("Gary" "is" "kind" "-")
((((triple5) -> (rule4 % int2))) -> (rule6 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Charlie is green.
True
6
proof
[(((((((triple2 triple1) -> rule5) triple1) -> rule1)) -> rule4))]
("Charlie" "is" "green" "+")
((((((triple2 triple1) -> (rule5 % int3)) triple1) -> (rule1 % int2))) -> (rule4 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
Charlie is not green.
False
6
inv-proof
[(((((((triple2 triple1) -> rule5) triple1) -> rule1)) -> rule4))]
("Charlie" "is" "green" "-")
((((((triple2 triple1) -> (rule5 % int3)) triple1) -> (rule1 % int2))) -> (rule4 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
Harry is not big.
Unknown
inv-rconc
[@1: Harry is big.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Harry" "is" "big" "-")
Fiona is blue.
Unknown
rconc
[@2: Fiona is blue.[CWA. Example of deepest failure = (rule1 <- rule5 <- FAIL)]]
("Fiona" "is" "blue" "+")
Fiona is not kind.
Unknown
inv-rconc
[@3: Fiona is kind.[CWA. Example of deepest failure = (rule6 <- rule4 <- rule1 <- FAIL)]]
("Fiona" "is" "kind" "-")
Fiona is green.
Unknown
rconc
[@3: Fiona is green.[CWA. Example of deepest failure = (rule4 <- rule1 <- rule5 <- FAIL)]]
("Fiona" "is" "green" "+")
Fiona is not nice.
Unknown
inv-random
[@0: Fiona is nice.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "nice" "-")
Gary is nice.
Unknown
random
[@0: Gary is nice.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "nice" "+")
Fiona is not rough.
Unknown
inv-random
[@0: Fiona is rough.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "rough" "-")
Harry is nice.
Unknown
random
[@0: Harry is nice.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "nice" "+")
@0: Charlie is kind.[(triple1)] Charlie is nice.[(triple2)] Charlie is not rough.[(triple3)] Fiona is young.[(triple4)] Gary is blue.[(triple5)] Gary is young.[(triple6 OR ((((((triple5) -> rule4)) -> rule6)) -> rule2))] Harry is kind.[(triple7)] @1: Charlie is big.[(((triple2 triple1) -> rule5))] Charlie is young.[(((triple1) -> rule2))] Gary is green.[(((triple5) -> rule4))] Harry is young.[(((triple7) -> rule2))] @2: Charlie is blue.[(((((triple2 triple1) -> rule5) triple1) -> rule1))] Gary is kind.[(((((triple5) -> rule4)) -> rule6))] @3: Charlie is green.[(((((((triple2 triple1) -> rule5) triple1) -> rule1)) -> rule4))]
Charlie is kind.
("Charlie" "is" "kind" "+")
triple1
Charlie is nice.
("Charlie" "is" "nice" "+")
triple2
Charlie is not rough.
("Charlie" "is" "rough" "-")
triple3
Fiona is young.
("Fiona" "is" "young" "+")
triple4
Gary is blue.
("Gary" "is" "blue" "+")
triple5
Gary is young.
("Gary" "is" "young" "+")
triple6
((((((triple5) -> (rule4 % int3))) -> (rule6 % int2))) -> (rule2 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
int3
Harry is kind.
("Harry" "is" "kind" "+")
triple7
Charlie is big.
("Charlie" "is" "big" "+")
((triple2 triple1) -> (rule5 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
((triple1) -> (rule2 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
((triple5) -> (rule4 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
((triple7) -> (rule2 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
((((triple2 triple1) -> (rule5 % int2)) triple1) -> (rule1 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
((((triple5) -> (rule4 % int2))) -> (rule6 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
((((((triple2 triple1) -> (rule5 % int3)) triple1) -> (rule1 % int2))) -> (rule4 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3